This annotation is required by any
interface ContractState which needs to ensure that it is only ever processed as part of a
class TransactionState referencing the specified
interface Contract. It may be omitted in the case that the
interface ContractState class
is defined as an inner class of its owning
interface Contract class, in which case the "X belongs to Y" relationship is taken
to be implicitly declared.
During verification of transactions, prior to their being written into the ledger, all input and output states are
checked to ensure that their
interface ContractStates match with their
interface Contracts as specified either by this annotation, or
by their inner/outer class relationship.
The transaction will write a warning to the log (for corDapps with a target version less than 4) or
fail with a
exception TransactionVerificationException.TransactionContractConflictException if any mismatch is detected.