Signer implementation for the MultiKey authentication scheme.

This account utilizes an M of N signing scheme, where M and N are specified in the MultiKey. It signs messages using an array of M accounts, each corresponding to a public key in the MultiKey.

Note: Generating a signer instance does not create the account on-chain.

Implements

Implementation - Account (On-Chain Model)

accountAddress: AccountAddress

Account address associated with the account

publicKey: MultiKey

Public key associated with the account

signerIndicies: number[]

An array of indices where for signer[i], signerIndicies[i] is the index of the corresponding public key in publicKey.publicKeys. Used to derive the right public key to use for verification.

signers: Account[]

The signers used to sign messages. These signers should correspond to public keys in the MultiKeyAccount's public key. The number of signers should be equal to this.publicKey.signaturesRequired.

signingScheme: SigningScheme = SigningScheme.MultiKey

Signing scheme used to sign transactions

  • Verify the given message and signature with the public keys.

    This function checks if the provided signatures are valid for the given message using the corresponding public keys.

    Parameters

    Returns boolean

    A boolean indicating whether the signatures are valid for the message.

  • Waits for any proofs on KeylessAccount signers to be fetched. This ensures that signing with the KeylessAccount does not fail due to missing proofs.

    Returns Promise<void>

    A promise that resolves when all proofs have been fetched.

Properties

signaturesBitmap: Uint8Array
MMNEPVFCICPMFPCPTTAAATR