ConsensualLedgerTransaction

@DoNotImplement
interface ConsensualLedgerTransaction

Defines a Consensual ledger transaction.

Comparing with ConsensualSignedTransaction:

  • It has access to the deserialized details.

  • It does not have direct access to the signatures.

  • It requires a serializer.

ConsensualLedgerTransaction is an abstraction that is meant to be used during the transaction verification stage. It needs full access to its states that might be in transactions that are encrypted and unavailable for code running outside the secure enclave. Also, it might need to deserialize states with code that might not be available on the classpath.

Because of this, trying to create or use a ConsensualLedgerTransaction for any other purpose then transaction verification can result in unexpected exceptions, which need de be handled.

ConsensualLedgerTransactions should never be instantiated directly from client code, but rather via net.corda.v5.ledger.consensual.transaction.ConsensualSignedTransaction.toLedgerTransaction

Properties

Link copied to clipboard
abstract val id: SecureHash
Link copied to clipboard
abstract val requiredSigningKeys: Set<PublicKey>
Link copied to clipboard
abstract val states: List<ConsensualState>
Link copied to clipboard
abstract val timestamp: Instant