NotarisationRequest

class NotarisationRequest(statesToConsume: List<StateRef>, val transactionId: SecureHash)

A notarisation request specifies a list of states to consume and the id of the consuming transaction. Its primary purpose is for notarisation traceability – a signature over the notarisation request, NotarisationRequestSignature, allows a notary to prove that a certain party requested the consumption of a particular state.

While the signature must be retained, the notarisation request does not need to be transferred or stored anywhere - it can be built from a SignedTransaction or a CoreTransaction. The notary can recompute it from the committed states index.

Reference inputs states are not included as a separate property in the NotarisationRequest as they are not consumed.

In case there is a need to prove that a party spent a particular state, the notary will:

  1. Locate the consuming transaction id in the index, along with all other states consumed in the same transaction.

  2. Build a NotarisationRequest.

  3. Locate the NotarisationRequestSignature for the transaction id. The signature will contain the signing public key.

  4. Demonstrate the signature verifies against the serialized request. The provided states are always sorted internally, to ensure the serialization does not get affected by the order.

Constructors

Link copied to clipboard
constructor(statesToConsume: List<StateRef>, transactionId: SecureHash)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

States this request specifies to be consumed. Sorted to ensure the serialized form does not get affected by the state order.

Link copied to clipboard

Functions

Link copied to clipboard

Creates a signature over the notarisation request using the legal identity key.

Link copied to clipboard

Verifies the signature against this notarisation request. Checks that the signature is issued by the right party.