Skip to content

v0.3.0

Compare
Choose a tag to compare
@aorumbayev aorumbayev released this 22 Aug 15:24
· 25 commits to main since this release

v0.3.0 (2024-08-22)

Introducing initial stable release of algorand-python-testing πŸŽ‰

  1. 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.
  1. Introducing a mechanism for deferred execution of an application call to control transaction ordering for any abi/baremethod prefixed methods in contract instances.
  2. Adding explicit context for setting the scope for execution of a specific transaction group and active transaction within it.
  3. 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 to active_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