com.r3corda.contracts.asset / Obligation / Clauses / Settle

# Settle

`class Settle<P> : Clause<State<P>, Commands, Issued<Terms<P>>>`

Obligation-specific clause for settling an outstanding obligation by witnessing change of ownership of other states to fulfil

### Constructors

<init> | `Settle()` Obligation-specific clause for settling an outstanding obligation by witnessing change of ownership of other states to fulfil

### Properties

requiredCommands | `val requiredCommands: Set<Class<out CommandData>>` Determine whether this clause runs or not

### Functions

verify | `fun verify(tx: TransactionForContract, inputs: List<State<P>>, outputs: List<State<P>>, commands: List<AuthenticatedObject<Commands>>, groupingKey: Issued<Terms<P>>?): Set<Commands>` 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.