Skip to content

Conversation

@Dkwcs
Copy link
Contributor

@Dkwcs Dkwcs commented Nov 26, 2025

[run-ci]

Description of change

This change introduces a new transactional test subcommand, init-abstract-acc, that encapsulates the boilerplate required to initialize an Abstract Account in Move-based tests.

The new subcommand allows - to construct the appropriate create_auth_info_v1 call for a given AbstractAccount type and authenticate function. Invokes the module-specific create(...) function with user-provided inputs (e.g., Ed25519 public key) and the generated AuthenticatorInfoV1.
This allows test files to replace repetitive programmable blocks with a single line.

In addition the abstract account initialization flow accepts an explicit account type (e.g. aa::abstract_account::AbstractAccount).
It helps to parse all necessary data as package_id, module_name and account type itself.

Instead of this:

//# programmable --sender A --inputs x"cc6233..." @test "abstract_account" "authenticate_ed25519"
//> 0: iota::account::create_auth_info_v1<test::abstract_account::AbstractAccount>(Input(1), Input(2), Input(3));
//> 1: test::abstract_account::create(Input(0), Result(0));

we have:
//# init-abstract-acc --sender A test abstract_account authenticate_ed25519 test::abstract_account::AbstractAccount --inputs x"cc6233...."

The second added subcommand is publish-deps.

A new publish-deps subcommand that compiles and publishes support Move modules from a given path.
Path can be relative to iota root directory or absolute.

It looks like:

//# init --addresses test=0x0 --accounts A

//# publish-deps --paths crates/iota-adapter-transactional-tests/data/account_abstraction/abstract_account.move

//# publish --sender A --dependencies aa

TODO

1 .When design is approved - update documentation in the syntax.md.

Links to any relevant issues

Fixes #9277 .

How the change has been tested

Run iota-adapter-transactional-tests tests
With cargo simtest

…n added. It allows to reduce amount of ptb calls for creating abstract account
@Dkwcs Dkwcs requested review from miker83z and valeriyr November 26, 2025 18:52
@Dkwcs Dkwcs self-assigned this Nov 26, 2025
@Dkwcs Dkwcs added the vm-language Issues related to the VM & Language Team label Nov 26, 2025
@vercel
Copy link

vercel bot commented Nov 26, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

6 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
apps-backend Ignored Ignored Preview Dec 5, 2025 9:34am
apps-ui-kit Ignored Ignored Preview Dec 5, 2025 9:34am
iota-evm-bridge Ignored Ignored Preview Dec 5, 2025 9:34am
iota-multisig-toolkit Ignored Ignored Preview Dec 5, 2025 9:34am
rebased-explorer Ignored Ignored Preview Dec 5, 2025 9:34am
wallet-dashboard Ignored Ignored Preview Dec 5, 2025 9:34am

@iota-ci iota-ci added the sc-platform Issues related to the Smart Contract Platform group. label Nov 26, 2025
Dkwcs added 9 commits December 2, 2025 16:48
…m and default, with default mode test-runner uses precompiled abstract account package. Custom mode allows to set your own absract account module in-place
…dependent publishing of dependencies for Move code used in tests. This helps avoid duplication and improves overall flexibility.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sc-platform Issues related to the Smart Contract Platform group. vm-language Issues related to the VM & Language Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants