Deprecated

This Splice documentation site is deprecated. Use the current Canton Network docs.

Open current docs

Splice.Api.Token.HoldingV2

Types and interfaces for retrieving an investor’s holdings.

Interfaces

interface Holding

Holding interface.

viewtype HoldingView

  • Choice Archive

    Controller: Signatories of implementing template

    Returns: ()

    (no fields)

Data Types

data Account

A data type to represent an on-chain managed account,

For example a traditional accounting structure, or simply a delegation to a provider to perform some services.

Account

Field

Type

Description

owner

Optional Party

The party that owns the account, which MUST be set for regular accounts. None is reserved for special accounts managed by the instrument admin. Special accounts are for example used to represent the source account for mints and the target account for burns.

provider

Optional Party

The provider of the account. Account providers MUST have visibility on all asset movements and holdings. Asset implementations are free to determine how authorization for asset movements is split between providers and owners. For example, providers MAY have to authorize all movements requested by the owner.

id

Text

Account number or similar. Use the empty string ("") as the default account identifier.

instance Eq Account

instance Ord Account

instance Show Account

instance GetField "account" HoldingView Account

instance GetField "id" Account Text

instance GetField "owner" Account (Optional Party)

instance GetField "provider" Account (Optional Party)

instance SetField "account" HoldingView Account

instance SetField "id" Account Text

instance SetField "owner" Account (Optional Party)

instance SetField "provider" Account (Optional Party)

data HoldingView

View for Holding.

HoldingView

Field

Type

Description

account

Account

Account in which the holding is held.

instrumentId

InstrumentId

Instrument being held.

amount

Decimal

Size of the holding.

lock

Optional Lock

Lock on the holding. Registries SHOULD allow holdings with expired locks as inputs to transfers to enable a combined unlocking + use choice.

meta

Metadata

Metadata.

instance Eq HoldingView

instance Show HoldingView

instance HasFromAnyView Holding HoldingView

instance HasInterfaceView Holding HoldingView

instance GetField "account" HoldingView Account

instance GetField "amount" HoldingView Decimal

instance GetField "instrumentId" HoldingView InstrumentId

instance GetField "lock" HoldingView (Optional Lock)

instance GetField "meta" HoldingView Metadata

instance SetField "account" HoldingView Account

instance SetField "amount" HoldingView Decimal

instance SetField "instrumentId" HoldingView InstrumentId

instance SetField "lock" HoldingView (Optional Lock)

instance SetField "meta" HoldingView Metadata

data InstrumentId

A globally unique identifier for instruments.

InstrumentId

Field

Type

Description

admin

Party

The party representing the registry app that administers the instrument.

id

Text

The identifier used for the instrument by the instrument admin. This identifier MUST be unique and unambiguous per instrument admin.

instance Eq InstrumentId

instance Ord InstrumentId

instance Show InstrumentId

instance GetField "admin" InstrumentId Party

instance GetField "id" InstrumentId Text

instance GetField "instrumentId" HoldingView InstrumentId

instance SetField "admin" InstrumentId Party

instance SetField "id" InstrumentId Text

instance SetField "instrumentId" HoldingView InstrumentId

data Lock

Details of a lock.

Lock

Field

Type

Description

holders

[Party]

Unique list of parties which are locking the contract. (Represented as a list, as that has the better JSON encoding.)

expiresAt

Optional Time

Absolute, inclusive deadline as of which the lock expires.

expiresAfter

Optional RelTime

Duration after which the created lock expires. Measured relative to the ledger time that the locked holding contract was created. If both expiresAt and expiresAfter are set, the lock expires at the earlier of the two times.

context

Optional Text

Short, human-readable description of the context of the lock. Used by wallets to enable users to understand the reason for the lock. Note that the visibility of the content in this field might be wider than the visibility of the contracts in the context. You should thus carefully decide what information is safe to put in the lock context.

instance Eq Lock

instance Ord Lock

instance Show Lock

instance GetField "context" Lock (Optional Text)

instance GetField "expiresAfter" Lock (Optional RelTime)

instance GetField "expiresAt" Lock (Optional Time)

instance GetField "holders" Lock [Party]

instance GetField "lock" HoldingView (Optional Lock)

instance SetField "context" Lock (Optional Text)

instance SetField "expiresAfter" Lock (Optional RelTime)

instance SetField "expiresAt" Lock (Optional Time)

instance SetField "holders" Lock [Party]

instance SetField "lock" HoldingView (Optional Lock)

Comments