Skip to content

Conversation

@joe-p
Copy link
Collaborator

@joe-p joe-p commented Oct 1, 2025

Adds support for app method calls to the composer

@joe-p joe-p marked this pull request as ready for review October 1, 2025 19:10
@joe-p joe-p requested a review from a team as a code owner October 1, 2025 19:10
@joe-p joe-p requested review from PatrickDinh and Copilot and removed request for a team October 1, 2025 19:10
Copy link
Contributor

Copilot AI left a 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};
Copy link
Collaborator

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

Copy link
Collaborator Author

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

@joe-p joe-p force-pushed the feat/ffi_composer_appl branch from e4442b0 to 8012658 Compare October 2, 2025 11:15
@lempira lempira mentioned this pull request Oct 2, 2025
2 tasks
@joe-p joe-p merged commit 181c1dd into main Oct 2, 2025
14 checks passed
@joe-p joe-p deleted the feat/ffi_composer_appl branch October 2, 2025 23:36
@engineering-ci
Copy link
Contributor

engineering-ci bot commented Oct 2, 2025

🎉 This PR is included in version 1.0.0-alpha.72 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants