com.r3corda.contracts.asset

## Package com.r3corda.contracts.asset

### Types

AssetIssuanceDefinition | `interface AssetIssuanceDefinition<T> : IssuanceDefinition` Subset of cash-like contract state, containing the issuance definition. If these definitions match for two contracts states, those states can be aggregated.
Cash | `class Cash : FungibleAsset<Currency>` A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in the same transaction.
FungibleAsset | `abstract class FungibleAsset<T> : Contract` Superclass for contracts representing assets which are fungible, countable and issued by a specific party. States contain assets which are equivalent (such as cash of the same currency), so records of their existence can be merged or split as needed where the issuer is the same. For instance, dollars issued by the Fed are fungible and countable (in cents), barrels of West Texas crude are fungible and countable (oil from two small containers can be poured into one large container), shares of the same class in a specific company are fungible and countable, and so on.
FungibleAssetState | `interface FungibleAssetState<T, I : AssetIssuanceDefinition<T>> : OwnableState` Common elements of cash contract states.

### Exceptions

InsufficientBalanceException | `class InsufficientBalanceException : Exception`

### Extensions for External Classes

kotlin.collections.Iterable |

### Properties

CASH_PROGRAM_ID | `val CASH_PROGRAM_ID: Cash`