-
Notifications
You must be signed in to change notification settings - Fork 7
feat: app method call support in ffi composer #271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Adds FFI support for application (app) create / call / method-call transactions and ABI type/value encoding/decoding, plus corresponding Python tests.
- Introduces new ABI FFI layer (types and values) and app call transaction parameter structs.
- Extends Composer with add_app_create, add_app_call, and add_app_call_method_call methods.
- Adds tests for ABI encoding/decoding and end-to-end app create / call / method call flows.
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/python/algokit_utils/tests/test_utils.py | Adds ABI encoding tests and app create/call/method call test cases. |
| crates/algokit_utils_ffi/src/transactions/mod.rs | Registers new app_call module. |
| crates/algokit_utils_ffi/src/transactions/composer.rs | Adds composer methods for app create, call, and method call. |
| crates/algokit_utils_ffi/src/transactions/app_call.rs | Implements FFI structs/enums and conversions for app call, create, and method call (including ABI method definitions). |
| crates/algokit_utils_ffi/src/lib.rs | Exposes new abi module. |
| crates/algokit_utils_ffi/src/abi/mod.rs | Adds ABI module exports. |
| crates/algokit_utils_ffi/src/abi/abi_value.rs | Adds ABIValue FFI object and accessors. |
| crates/algokit_utils_ffi/src/abi/abi_type.rs | Adds ABIType, struct field abstractions, and encoding/decoding helpers. |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| @@ -0,0 +1,624 @@ | |||
| use crate::abi::{abi_type::ABIType, abi_value::ABIValue}; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not seeing ABIReturn
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we don't have algod client we don't have the full response modeled. We can add ABI return now though if you want
e4442b0 to
8012658
Compare
|
🎉 This PR is included in version 1.0.0-alpha.72 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Adds support for app method calls to the composer