abstract class GroupClauseVerifier<S : ContractState, T : Any> : SingleClause
<init> |
GroupClauseVerifier() |
clauses |
abstract val clauses: List<GroupClause<S, T>> |
requiredCommands |
open val requiredCommands: Set<Class<out 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<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. |
Group |
class Group : GroupClauseVerifier<State, Issued<Currency>> |
Group |
class Group : GroupClauseVerifier<State, Issued<Commodity>> Grouping clause to extract input and output states into matched groups and then run a set of clauses over each group. |
Group |
class Group<P> : GroupClauseVerifier<State<P>, Issued<Terms<P>>> Parent clause for clauses that operate on grouped states (those which are fungible). |
Group |
class Group : GroupClauseVerifier<State, Issued<Terms>> |
Group |
class Group : GroupClauseVerifier<State, String> |