Interface ITransactionSigner
- Namespace
- Concordium.Sdk.Transactions
- Assembly
- Concordium.Sdk.dll
Implementers of ITransactionSigner provide functionality for signing data using account keys.
An account has one or more credentials with each such credential having up to 256 sign keys (and accompanying verification keys). Each credential is identified by its unique AccountCredentialIndex and each key by a unique pair of a AccountCredentialIndex corresponding to the credential to which it belongs, and a unique AccountKeyIndex relative to that credential index of the account. For each key, it is thus represented by some pair of a credential index and a key index.
The resulting AccountTransactionSignature from calling Sign(byte[]) should reflect this structure and correspond to a mapping from credential and key indices to the signatures produced by signing a transaction hash with the corresponding keys.
public interface ITransactionSigner
Methods
GetSignatureCount()
Gets the number of signatures that will be produced when signing a transaction using this signer. This number is based on the signer count.
byte GetSignatureCount()
Returns
GetSignerEntries()
Gets a dictionary mapping pairs of credential and key indices to their corresponding sign key implementations.
ImmutableDictionary<AccountCredentialIndex, ImmutableDictionary<AccountKeyIndex, ISigner>> GetSignerEntries()
Returns
- ImmutableDictionary<AccountCredentialIndex, ImmutableDictionary<AccountKeyIndex, ISigner>>
A dictionary mapping pairs of credential and key indices to the sign key implementation.
Sign(byte[])
Sign a transaction hash.
AccountTransactionSignature Sign(byte[] data)
Parameters
data
byte[]A byte array representing the transaction hash to sign.
Returns
- AccountTransactionSignature
A AccountTransactionSignature representing the transaction signature.
Exceptions
- ArgumentException
Unexpected length of a signature returned by the signing.