corda / net.corda.flows / ValidatingNotaryFlow

# ValidatingNotaryFlow

`class ValidatingNotaryFlow : Service`

A notary commit flow that makes sure a given transaction is valid before committing it. This does mean that the calling party has to reveal the whole transaction history; however, we avoid complex conflict resolution logic where a party has its input states "blocked" by a transaction from another party, and needs to establish whether that transaction was indeed valid.

### Constructors

<init> | `ValidatingNotaryFlow(otherSide: Party, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider)` A notary commit flow that makes sure a given transaction is valid before committing it. This does mean that the calling party has to reveal the whole transaction history; however, we avoid complex conflict resolution logic where a party has its input states "blocked" by a transaction from another party, and needs to establish whether that transaction was indeed valid.

### Inherited Properties

otherSide | `val otherSide: Party`
timestampChecker | `val timestampChecker: TimestampChecker`
uniquenessProvider | `val uniquenessProvider: UniquenessProvider`

### Functions

receiveAndVerifyTx | `fun receiveAndVerifyTx(): TransactionParts` The received transaction is checked for contract-validity, which requires fully resolving it into a TransactionForVerification, for which the caller also has to to reveal the whole transaction dependency chain.
validateTransaction | `fun validateTransaction(wtx: WireTransaction): Unit`

### Inherited Functions

call | `open fun call(): Void?` This is where you fill out your business logic. The returned object will usually be ignored, but can be helpful if this flow is meant to be used as a subflow.