Skip to content

Conversation

@DaughterOfMars
Copy link
Contributor

@DaughterOfMars DaughterOfMars commented Dec 2, 2025

Description

Adds support for authenticating using an Abstract Account via a move authorization function. This PR adds basic support for constructing a Move Authenticator variant of the UserSignature and also convenience function to execute a transaction builder with the appropriate data.

Closes iotaledger/iota#9407

@DaughterOfMars DaughterOfMars requested a review from a team as a code owner December 2, 2025 07:54
@DaughterOfMars DaughterOfMars marked this pull request as draft December 2, 2025 07:54
@coveralls
Copy link

coveralls commented Dec 2, 2025

Pull Request Test Coverage Report for Build 19898946836

Details

  • 100 of 279 (35.84%) changed or added relevant lines in 10 files are covered.
  • 1111 unchanged lines in 29 files lost coverage.
  • Overall coverage decreased (-4.7%) to 80.324%

Changes Missing Coverage Covered Lines Changed/Added Lines %
crates/iota-sdk-crypto/src/multisig.rs 0 6 0.0%
crates/iota-sdk-types/src/crypto/signature.rs 23 40 57.5%
crates/iota-sdk-transaction-builder/src/builder/move_authenticator.rs 0 18 0.0%
crates/iota-sdk-transaction-builder/src/builder/mod.rs 0 65 0.0%
crates/iota-sdk-types/src/crypto/move_authenticator.rs 69 142 48.59%
Files with Coverage Reduction New Missed Lines %
crates/iota-sdk-types/src/crypto/multisig.rs 2 73.71%
crates/iota-sdk-graphql-client/src/query_types/mod.rs 3 0.0%
crates/iota-sdk-types/src/gas.rs 3 27.5%
crates/iota-sdk-types/src/object_id.rs 3 28.57%
crates/iota-sdk-types/src/object.rs 3 76.12%
crates/iota-sdk-types/src/crypto/zklogin.rs 5 85.08%
crates/iota-sdk-transaction-builder/src/types/mod.rs 6 0.0%
crates/iota-sdk-types/src/effects/v1.rs 6 79.1%
crates/iota-sdk-crypto/src/simple.rs 7 75.0%
crates/iota-sdk-graphql-client/src/output_types/mod.rs 7 56.76%
Totals Coverage Status
Change from base Build 19898628045: -4.7%
Covered Lines: 19991
Relevant Lines: 24888

💛 - Coveralls

@DaughterOfMars DaughterOfMars marked this pull request as ready for review December 2, 2025 15:03
@DaughterOfMars DaughterOfMars assigned Alex6323 and unassigned Alex6323 Dec 2, 2025
/// and optionally wait for finalization.
pub async fn execute_with_move_authenticator<I: PTBArgumentList>(
mut self,
fn_call: MoveAuthenticatorFnCall<I>,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think this can be a Signer from #445?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did think about that. The problem is that the inputs need to be resolved from the transaction but we can only do that before the transaction is finished since we need information from the builder.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the inputs need to be resolved from the transaction

Can you elaborate on that? What data is only available from the builder but not from the built tx?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically the inputs to the auth fn must end up being inputs in the transaction, and we can't do that if we build the transaction first. Or at least it would not be as simple. We would have to have a whole separate process to amend the transaction with these inputs and again ensure that everythin is valid. So, probably possible but also probably quite complex. Still, I can give it a try later if you want.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inputs to the auth fn must end up being inputs in the transaction

This is not the case, so we can simplify

}
}

impl PartialEq<&IdentifierRef> for Identifier {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm actually not sure why this is needed, to investigate

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.

AA External SDK support

6 participants