net.corda.protocols / NotaryProtocol / Service / <init>

# <init>

`Service(otherSide: Party, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider)`

Checks that the timestamp command is valid (if present) and commits the input state, or returns a conflict if any of the input states have been previously committed.

Extend this class, overriding beforeCommit to add custom transaction processing/validation logic.

TODO: the notary service should only be able to see timestamp commands and inputs