com.r3corda.contracts.asset / OnLedgerAsset / generateExit

# generateExit

`fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<T>>, assetStates: List<StateAndRef<S>>): PublicKey`

Generate an transaction exiting assets from the ledger.

### Parameters

`tx` - transaction builder to add states and commands to.
`amountIssued` - the amount to be exited, represented as a quantity of issued currency.
`changeKey` - the key to send any change to. This needs to be explicitly stated as the input states are not necessarily owned by us.
`assetStates` - the asset states to take funds from. No checks are done about ownership of these states, it is the responsibility of the caller to check that they do not exit funds held by others.

Return
the public key of the assets issuer, who must sign the transaction for it to be valid.