Namespace Concordium.Sdk.Transactions
Classes
- AccountSignatureMap
Represents a map from AccountKeyIndex values to signatures.
An AccountSignatureMap corresponds to a mapping from key indices to signatures produced by signing a transaction hash with the account keys corresponding to the indices. A key index is always relative to an AccountCredentialIndex. Each signature is currently produced by signing with an Ed25519SignKey and therefore 64 bytes long.
- AccountTransactionHeader
Represents the header of an account transaction.
Transactions sent to the node include an account transaction header with the following information that is used when processing the transaction:
The AccountAddress of the sender, the AccountSequenceNumber to use, the Expiry time of the transaction, the maximum EnergyAmount to spend on the transaction as well as the PayloadSize.
- AccountTransactionPayload
Represents the payload of account transaction.
Inheriting records should implement data specific to the transaction they model as well as helpers for constructing serialized transaction payloads to be sent to the Concordium node.
- AccountTransactionSignature
Represents the signature of a signed account transaction.
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.
An AccountTransactionSignature corresponds to a mapping from credential and key indices to signatures produced by signing the transaction hash with the account keys corresponding to the indices.
Producers of AccountTransactionSignatures should implement ITransactionSigner.
- BlockItem
A block item.
- BlockItemType
Either a SignedAccountTransaction, CredentialDeployment or UpdateInstruction.
- CredentialDeployment
Credential deployments create new accounts. They are not paid for directly by the sender. Instead, bakers are rewarded by the protocol for including them.
- CredentialPayloadRaw
A raw payload, which is just the encoded payload. A typed variant might be added in the future.
- DeployModule
A deployment of a Wasm smart contract module.
- InitContract
Represents an "init_contract" transaction.
Used for initializing deployed smart contracts.
- PreparedAccountTransaction
Represents an account transaction which is prepared for signing.
The transaction is prepared in the sense that it is augmented with the AccountAddress of the sender, the AccountSequenceNumber to use when submitting the transaction as well as its Expiry. These are also used when signing the transaction.
- RawPayload
Represents the raw payload of an account transaction.
Used mostly for debugging, the only place where this will be encountered is when querying transactions from chain that have not been implemented for this SDK yet, and thus can not be deserialized.
- RegisterData
Represents a "register data" account transaction.
Used for registering data on-chain.
- SignedAccountTransaction
Represents a signed account transaction which is ready to be sent to the node.
A signed account transaction constitutes an AccountTransactionHeader, an AccountTransactionPayload as well as an AccountTransactionSignature.
A SignedAccountTransaction can be created with the Sign(ITransactionSigner) method with an implementer of ITransactionSigner.
- TransactionSigner
Dictionary based implementation of ITransactionSigner.
Maintains a dictionary mapping pairs of AccountCredentialIndex and AccountKeyIndex to ISigners corresponding to the sign keys of an account.
- Transfer
Represents a "transfer" account transaction.
Used for transferring CCD from one account to another.
- TransferWithMemo
Represents a "transfer with memo" account transaction.
Used for transferring CCD from one account to another. Like Transfer, but additionally stores a memo associated with the transfer on-chain.
- UpdateContract
A deployment of a Wasm smart contract module.
- UpdateInstruction
Update instructions are messages which can update the chain parameters. Including which keys are allowed to make future update instructions.
- UpdateInstructionHeader
The header of an UpdateInstruction.
- UpdateInstructionPayloadRaw
A raw payload encoded according to the format defined by the protocol.
- UpdateInstructionSignatureMap
A map from UpdateKeysIndex to signatures.
- UpdateKeysIndex
Index of a key in an authorizations update payload.
- UpdateSequenceNumber
A sequence number that determines the ordering of update transactions. Equivalent to
SequenceNumber
for account transactions. Update sequence numbers are per update type and the minimum value is 1.
Interfaces
- ICredentialPayload
The payload of a Credential Deployment.
- ITransactionSigner
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.
- IUpdateInstructionPayload
The payload for an UpdateInstruction.