v0.3.0
v0.3.0 (2024-08-22)
Introducing initial stable release of algorand-python-testing
π
- The context manager now interface exposes three main properties:
ledger
: An instance of LedgerContext for interacting with and querying the emulated Algorand ledger state.txn
: An instance of TransactionContext for creating and managing transaction groups, submitting transactions, and accessing transaction results.any
: An instance of AlgopyValueGenerator for generating randomized test data.
- Introducing a mechanism for deferred execution of an application call to control transaction ordering for any abi/baremethod prefixed methods in contract instances.
- Adding explicit context for setting the scope for execution of a specific transaction group and active transaction within it.
- Revamped and detailed documentation, refer here to catch up with latest capabilities of
algorand-python-testing
package.
Release notes
New Features
- Introduced ARC4 results in logs, with support for more than 15 ARC4 arguments (#18)
- Added ARC4 factory for easier creation of ARC4 types
- Implemented deferred app calls and modular test context
- Refined access to value generators
- Added support for ARC4 structs
Improvements
- Renamed
txn_op_fields
toactive_txn_overrides
for clarity - Enhanced handling of mutable types (ARC4 tuple, array, and structs)
- Improved equality implementation for Account
- Refined handling of application and asset-related state operations
- Simplified transaction and inner transaction implementations
Bug Fixes
- Fixed propagation of changes in mutable types back to container-like types
- Ensured new Account instances have field defaults populated
- Corrected behavior of Global.current_application* properties to match AVM
- Fixed generation of app/asset IDs to avoid conflicts
Documentation
- Added comprehensive documentation for the initial stable release
- Integrated pydoclint and improved overall documentation formatting