Skip to content

Conversation

@lempira
Copy link
Collaborator

@lempira lempira commented Sep 4, 2025

Add Non-App Call Transactions to AlgoKit Utils FFI

Commit: feat: added asset freeze to ak-utils ffi

Added AssetFreezeParams for freezing/unfreezing asset holdings with asset_id and target_address fields. Includes FFI-compatible struct with String address type and TryFrom implementation with address parsing validation.

Commit: feat: add asset freeze and key registration to utils FFI

Added three key registration transaction types: OnlineKeyRegistrationParams for consensus participation, OfflineKeyRegistrationParams for going offline, and NonParticipationKeyRegistrationParams for non-reward earning accounts. Includes complex byte array conversions from Vec to fixed-size arrays with validation.

Commit: feat: add asset transfer transactions to utils FFI

Added four asset transfer operations: AssetTransferParams for standard transfers, AssetOptInParams for account opt-in, AssetOptOutParams for opt-out with remainder handling, and AssetClawbackParams for manager clawback functionality.

Commit: feat: add asset config transactions to utils FFI

Added complete asset configuration support with AssetCreateParams for full asset creation, AssetReconfigureParams for modifying management addresses, and AssetDestroyParams for destruction. Includes metadata hash validation and extracted helper function for address parsing.

Each commit includes Python binding regeneration and corresponding Composer methods.

Added asset freeze test to the current compose tests
Add AssetFreezeParams and key registration parameter structs (Online, Offline, NonParticipation) with corresponding Composer methods. Includes TryFrom implementations, Python bindings, and tests.
Add AssetTransferParams, AssetOptInParams, AssetOptOutParams, and AssetClawbackParams
with corresponding Composer methods. Includes Python bindings and integration test TODOs.
Add AssetCreateParams, AssetReconfigureParams, and AssetDestroyParams with
corresponding Composer methods. Includes metadata hash validation, optional
address parsing helper, and comprehensive test TODOs for asset lifecycle.
@lempira lempira force-pushed the feat/add-non-app-call-txns-to-ak-utils-ffi branch from dd48358 to 213aa9e Compare September 4, 2025 02:47
  - Added pytest fixtures
  - Create TestTransactionSigner and MultiAccountSignerGetter classes
  - Add helper functions leveraging existing AssetManager utilities
  - Include test_environment and test_asset fixtures
  Merged helper functions from test_ffi_utils.py into test_utils.py to avoid duplication.
  Renamed functions to remove "ffi" prefix while maintaining FFI-related comments.
  Functions support testing FFI transaction workflows using existing AlgorandClient patterns.
@joe-p joe-p force-pushed the feat/utils_ffi branch 3 times, most recently from b30eb6e to d4ef04b Compare September 12, 2025 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant