com.r3corda.contracts.clause

Package com.r3corda.contracts.clause

Types

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.

AbstractIssue abstract class AbstractIssue<in S : ContractState, T : Any> : GroupClause<S, Issued<T>>

Standard issue clause for contracts that issue fungible assets.

BilateralNetState data class BilateralNetState<P> : NetState<P>

Subset of state, containing the elements which must match for two obligation transactions to be nettable. If two obligation state objects produce equal bilateral net states, they are considered safe to net directly. Bilateral states are used in close-out netting.

MultilateralNetState data class MultilateralNetState<P> : NetState<P>

Subset of state, containing the elements which must match for two or more obligation transactions to be candidates for netting (this does not include the checks to enforce that everyones amounts received are the same at the end, which is handled under the verify() function). In comparison to BilateralNetState, this doesnt include the parties keys, as ensuring balances match on input and output is handled elsewhere. Used in cases where all parties (or their proxies) are signing, such as central clearing.

NetClause open class NetClause<P> : SingleClause

Clause for netting contract states. Currently only supports obligation contract.

NetState interface NetState<P>

Common interface for the state subsets used when determining nettability of two or more states. Exposes the underlying issued thing.

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.