Daml.Finance.Interface.Types.Common.Types

Data Types

data AccountKey

A unique key for Accounts.

AccountKey

Field Type Description
custodian Party Account provider.
owner Party Account owner.
id Id Unique identifier for an account.

instance HasInterfaceKey Account View AccountKey Reference GetCid SetCid SetObservers GetView

instance Eq AccountKey

instance Ord AccountKey

instance Show AccountKey

instance HasMethod Account "getKey" AccountKey

instance HasExerciseByKey Reference AccountKey GetCid (ContractId Account)

instance HasExerciseByKey Reference AccountKey SetCid (ContractId Reference)

instance HasExerciseByKey Reference AccountKey SetObservers (ContractId Reference)

instance HasExerciseByKey Reference AccountKey Archive ()

instance HasFetchByKey Reference AccountKey

instance HasFromAnyContractKey Reference AccountKey

instance HasKey Reference AccountKey

instance HasLookupByKey Reference AccountKey

instance HasMaintainer Reference AccountKey

instance HasToAnyContractKey Reference AccountKey

data HoldingFactoryKey

A unique key for a holding factory.

HoldingFactoryKey

Field Type Description
provider Party Holding factory provider.
id Id Unique identifier for a holding factory.

instance HasInterfaceKey Factory View HoldingFactoryKey Reference GetCid SetCid SetObservers GetView

instance Eq HoldingFactoryKey

instance Ord HoldingFactoryKey

instance Show HoldingFactoryKey

instance HasMethod Factory "getKey" HoldingFactoryKey

instance HasExerciseByKey Reference HoldingFactoryKey GetCid (ContractId Factory)

instance HasExerciseByKey Reference HoldingFactoryKey SetCid (ContractId Reference)

instance HasExerciseByKey Reference HoldingFactoryKey SetObservers (ContractId Reference)

instance HasExerciseByKey Reference HoldingFactoryKey Archive ()

instance HasFetchByKey Reference HoldingFactoryKey

instance HasFromAnyContractKey Reference HoldingFactoryKey

instance HasKey Reference HoldingFactoryKey

instance HasLookupByKey Reference HoldingFactoryKey

instance HasMaintainer Reference HoldingFactoryKey

instance HasToAnyContractKey Reference HoldingFactoryKey

data HoldingStandard

The HoldingStandard data type categorizes holdings into four distinct classes, each defined by the combination of holding interfaces they implemnt: Transferable.I, Fungible.I, and Holding.I. Notably, Transferable.I and Fungible.I both require the implementation of the Holding.I interface. Please also note that, in this context, "Transferable.I" refers to the capability of a holding to be transferred between parties (e.g., from Alice to Bob) through a single custodian. Additionally, it is important to highlight that all classes of holdings can be credited and debited, and thereby effectively settled.

TransferableFungible

Represents the class of holdings which implement Fungible.I and Transferable.I, and by extension Holding.I. Holdings in this class are both interchangeable (fungible) and can be transferred between parties (such as Alice to Bob) via a custodian.

Transferable

Represents the class of holdings which implement Transferable.I and, by extension, Holding.I, but not Fungible.I. This class pertains to assets that can be transferred between parties through a custodian, but are not interchangeable.

Fungible

Represents the class of holdings which implement Fungible.I and, by extension, Holding.I, but not Transferable.I. These holdings are interchangeable, suitable for scenarios where asset fungibility is crucial, but do not have the transfer capability between parties via a custodian.

BaseHolding

Represents the class of holdings which implement only Holding.I and neither Transferable.I nor Fungible.I. This class encompasses basic holdings without the functionalities of custodian-based transferability or fungibility.

instance Eq HoldingStandard

instance Ord HoldingStandard

instance Show HoldingStandard

data Id

Id Text

instance Eq Id

instance Ord Id

instance Show Id

data InstrumentKey

A unique key for Instruments.

InstrumentKey

Field Type Description
depository Party Party providing depository services.
issuer Party Issuer of instrument.
id Id A unique identifier for an instrument.
version Text A textual instrument version.
holdingStandard HoldingStandard The used holding standard for the instrument.

instance HasInterfaceKey Instrument View InstrumentKey Reference GetCid SetCid SetObservers GetView

instance Eq InstrumentKey

instance Ord InstrumentKey

instance Show InstrumentKey

instance HasMethod Instrument "getKey" InstrumentKey

instance HasMethod Election "apply" (ContractId Election -> Apply -> Update (Optional InstrumentKey, [ContractId I]))

instance HasMethod Exercisable "applyElection" (ApplyElection -> Update (Optional InstrumentKey, [ContractId I]))

instance HasMethod Lifecycle "evolve" (Evolve -> Update (Optional InstrumentKey, [ContractId I]))

instance HasExerciseByKey Reference InstrumentKey GetCid (ContractId Instrument)

instance HasExerciseByKey Reference InstrumentKey SetCid (ContractId Reference)

instance HasExerciseByKey Reference InstrumentKey SetObservers (ContractId Reference)

instance HasExerciseByKey Reference InstrumentKey Archive ()

instance HasFetchByKey Reference InstrumentKey

instance HasFromAnyContractKey Reference InstrumentKey

instance HasKey Reference InstrumentKey

instance HasLookupByKey Reference InstrumentKey

instance HasMaintainer Reference InstrumentKey

instance HasToAnyContractKey Reference InstrumentKey

type InstrumentQuantity
= Quantity InstrumentKey Decimal
type Parties

= Set Party

A set of parties.

type PartiesMap

= Map Text Parties

Parties mapped by a specific key (or context). The textual key is the "context" which describes the value set of parties. This allows processes to add/remove parties for their specific purpose, without affecting others.

data Quantity u a

A dimensioned quantity.

Quantity

Field Type Description
unit u The quantity’s unit.
amount a A numerical amount.

instance (Eq u, Eq a) => Eq (Quantity u a)

instance (Ord u, Ord a) => Ord (Quantity u a)

instance (Show u, Show a) => Show (Quantity u a)