com.r3corda.core.contracts.clauses / GroupClause

GroupClause

interface GroupClause<in S : ContractState, in T : Any> : Clause, GroupVerify<S, T>


Inherited Properties

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

Inheritors

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, String>

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.