Type Alias TransactionPartialSigner<TAddress>

TransactionPartialSigner<TAddress>: Readonly<{
    address: Address<TAddress>;
    signTransactions(transactions: readonly (Readonly<{
        messageBytes: TransactionMessageBytes;
        signatures: SignaturesMap;
    }> & TransactionWithinSizeLimit & TransactionWithLifetime)[], config?: BaseTransactionSignerConfig): Promise<readonly Readonly<Record<Address, SignatureBytes>>[]>;
}>

A signer interface that signs an array of Transaction | Transactions without modifying their content. It defines a TransactionPartialSigner#signTransactions | signTransactions function that returns a SignatureDictionary for each provided transaction.

Such signature dictionaries are expected to be merged with the existing ones if any.

Type Parameters

  • TAddress extends string = string

    Supply a string literal to define a signer having a particular address.

const signer: TransactionPartialSigner<'1234..5678'> = {
address: address('1234..5678'),
signTransactions: async (
transactions: Transaction[]
): Promise<SignatureDictionary[]> => {
// My custom signing logic.
},
};

Here are the main characteristics of this signer interface:

  • Parallel. It returns a signature dictionary for each provided transaction without modifying them, making it possible for multiple partial signers to sign the same transaction in parallel.
  • Flexible order. The order in which we use these signers for a given transaction doesn’t matter.
  • isTransactionPartialSigner
  • assertIsTransactionPartialSigner