interface GroupClause<in S : ContractState, in T : Any> : Clause, GroupVerify<S, T>
ifMatched |
abstract val ifMatched: MatchBehaviour Behaviour if this clause is not matches |
ifNotMatched |
abstract val ifNotMatched: MatchBehaviour Behaviour if this clause is matched |
requiredCommands |
abstract val requiredCommands: Set<Class<out CommandData>> Classes for commands which must ALL be present in transaction for this clause to be triggered |
AbstractConserveAmount |
abstract class AbstractConserveAmount<S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>> Standardised clause for checking input/output balances of fungible assets. Requires that a Move command is provided, and errors if absent. Must be the last clause under a grouping clause; errors on no-match, ends on match. |
AbstractGroupClause |
abstract class AbstractGroupClause : GroupClause<State, Issued<Terms>> |
AbstractIRSClause |
abstract class AbstractIRSClause : GroupClause<State, UniqueIdentifier> Common superclass for IRS contract clauses, which defines behaviour on match/no-match, and provides helper functions for the clauses. |
AbstractIssue |
abstract class AbstractIssue<in S : ContractState, T : Any> : GroupClause<S, Issued<T>> Standard issue clause for contracts that issue fungible assets. |
NoZeroSizedOutputs |
open class NoZeroSizedOutputs<in S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>> Clause for fungible asset contracts, which enforces that no output state should have a balance of zero. |
SetLifecycle |
class SetLifecycle<P> : GroupClause<State<P>, Issued<Terms<P>>> Obligation-specific clause for changing the lifecycle of one or more states. |
Settle |
class Settle<P> : GroupClause<State<P>, Issued<Terms<P>>> Obligation-specific clause for settling an outstanding obligation by witnessing change of ownership of other states to fulfil |
VerifyLifecycle |
class VerifyLifecycle<P> : SingleClause, GroupClause<State<P>, Issued<Terms<P>>> Obligation-specific clause for verifying that all states are in normal lifecycle. In a group clause set, this must be run after any lifecycle change clause, which is the only clause that involve non-standard lifecycle states on input/output. |