abstract class GroupClauseVerifier<S : ContractState, T : Any> : SingleClause
<init> |
GroupClauseVerifier() |
clauses |
abstract val clauses: List<GroupClause<S, T>> |
requiredCommands |
open val requiredCommands: Set<Class<CommandData>> Classes for commands which must ALL be present in transaction for this clause to be triggered |
extractGroups |
abstract fun extractGroups(tx: TransactionForContract): List<InOutGroup<out S, T>> |
verify |
open fun verify(tx: TransactionForContract, commands: Collection<AuthenticatedObject<CommandData>>): Set<CommandData> Verify the transaction matches the conditions from this clause. For example, a "no zero amount output" clause would check each of the output states that it applies to, looking for a zero amount, and throw IllegalStateException if any matched. |