.. _module-splice-api-token-metadatav1-34807: Splice.Api.Token.MetadataV1 =========================== Types and interfaces for retrieving metadata about tokens\. Interfaces ---------- .. _type-splice-api-token-metadatav1-anycontract-39598: **interface** `AnyContract `_ Interface used to represent arbitrary contracts\. Note that this is not expected to be implemented by any template, so it should only be used in the form ``ContractId AnyContract`` and through ``coerceContractId`` but not through any of the interface functions like ``fetchFromInterface`` that check whether the template actually implements the interface\. **viewtype** `AnyContractView `_ + **Choice** Archive Controller\: Signatories of implementing template Returns\: () (no fields) Data Types ---------- .. _type-splice-api-token-metadatav1-anycontractid-4875: **type** `AnyContractId `_ \= `ContractId `_ `AnyContract `_ A reference to some contract id\. Use ``coerceContractId`` to convert from and to this type\. .. _type-splice-api-token-metadatav1-anycontractview-55353: **data** `AnyContractView `_ Not used\. See the ``AnyContract`` interface for more information\. .. _constr-splice-api-token-metadatav1-anycontractview-50558: `AnyContractView `_ (no fields) **instance** `HasFromAnyView `_ `AnyContract `_ `AnyContractView `_ **instance** `HasInterfaceView `_ `AnyContract `_ `AnyContractView `_ .. _type-splice-api-token-metadatav1-anyvalue-34700: **data** `AnyValue `_ A generic representation of serializable Daml values\. Used to pass arbitrary data across interface boundaries\. For example to pass data from an an app backend to an interface choice implementation\. .. _constr-splice-api-token-metadatav1-avtext-20580: `AV_Text `_ `Text `_ .. _constr-splice-api-token-metadatav1-avint-52425: `AV_Int `_ `Int `_ .. _constr-splice-api-token-metadatav1-avdecimal-71267: `AV_Decimal `_ `Decimal `_ .. _constr-splice-api-token-metadatav1-avbool-76457: `AV_Bool `_ `Bool `_ .. _constr-splice-api-token-metadatav1-avdate-46205: `AV_Date `_ `Date `_ .. _constr-splice-api-token-metadatav1-avtime-30398: `AV_Time `_ `Time `_ .. _constr-splice-api-token-metadatav1-avreltime-31008: `AV_RelTime `_ `RelTime `_ .. _constr-splice-api-token-metadatav1-avparty-78344: `AV_Party `_ `Party `_ .. _constr-splice-api-token-metadatav1-avcontractid-3242: `AV_ContractId `_ `AnyContractId `_ .. _constr-splice-api-token-metadatav1-avlist-50505: `AV_List `_ \[`AnyValue `_\] .. _constr-splice-api-token-metadatav1-avmap-39932: `AV_Map `_ (`TextMap `_ `AnyValue `_) **instance** `Eq `_ `AnyValue `_ **instance** `Show `_ `AnyValue `_ **instance** `GetField `_ \"values\" `ChoiceContext `_ (`TextMap `_ `AnyValue `_) **instance** `SetField `_ \"values\" `ChoiceContext `_ (`TextMap `_ `AnyValue `_) .. _type-splice-api-token-metadatav1-choicecontext-5566: **data** `ChoiceContext `_ A type for passing extra data from an app's backends to the choices of that app exercised in commands submitted by app users\. .. _constr-splice-api-token-metadatav1-choicecontext-36049: `ChoiceContext `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - values - `TextMap `_ `AnyValue `_ - The values passed in by the app backend to the choice\. The keys are considered internal to the app and should not be read by third\-party code\. **instance** `Eq `_ `ChoiceContext `_ **instance** `Show `_ `ChoiceContext `_ **instance** `GetField `_ \"context\" `ExtraArgs `_ `ChoiceContext `_ **instance** `GetField `_ \"values\" `ChoiceContext `_ (`TextMap `_ `AnyValue `_) **instance** `SetField `_ \"context\" `ExtraArgs `_ `ChoiceContext `_ **instance** `SetField `_ \"values\" `ChoiceContext `_ (`TextMap `_ `AnyValue `_) .. _type-splice-api-token-metadatav1-choiceexecutionmetadata-98464: **data** `ChoiceExecutionMetadata `_ A generic result for choices that do not need to return specific data\. .. _constr-splice-api-token-metadatav1-choiceexecutionmetadata-73543: `ChoiceExecutionMetadata `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - meta - `Metadata `_ - Additional metadata specific to the result of exercising the choice, used for extensibility\. **instance** `Eq `_ `ChoiceExecutionMetadata `_ **instance** `Show `_ `ChoiceExecutionMetadata `_ **instance** `GetField `_ \"meta\" `ChoiceExecutionMetadata `_ `Metadata `_ **instance** `SetField `_ \"meta\" `ChoiceExecutionMetadata `_ `Metadata `_ .. _type-splice-api-token-metadatav1-extraargs-90869: **data** `ExtraArgs `_ A common type for passing both the choice context and the metadata to a choice\. .. _constr-splice-api-token-metadatav1-extraargs-16750: `ExtraArgs `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - context - `ChoiceContext `_ - Extra arguments to be passed to the implementation of an interface choice\. These are provided via an off\-ledger API by the app implementing the interface\. * - meta - `Metadata `_ - Additional metadata to pass in\. In contrast to the ``extraArgs``, these are provided by the caller of the choice\. The expectation is that the meaning of metadata fields will be agreed on in later standards, or on a case\-by\-case basis between the caller and the implementer of the interface\. **instance** `Eq `_ `ExtraArgs `_ **instance** `Show `_ `ExtraArgs `_ **instance** `GetField `_ \"context\" `ExtraArgs `_ `ChoiceContext `_ **instance** `GetField `_ \"meta\" `ExtraArgs `_ `Metadata `_ **instance** `SetField `_ \"context\" `ExtraArgs `_ `ChoiceContext `_ **instance** `SetField `_ \"meta\" `ExtraArgs `_ `Metadata `_ .. _type-splice-api-token-metadatav1-metadata-21206: **data** `Metadata `_ Machine\-readable metadata intended for communicating additional information using well\-known keys between systems\. This is mainly used to allow for the post\-hoc expansion of the information associated with contracts and choice arguments and results\. Modeled after by k8s support for annotations\: https\://kubernetes\.io/docs/concepts/overview/working\-with\-objects/annotations/(https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/)\. Implementors SHOULD follow the same conventions for allocating keys as used by k8s; i\.e\., they SHOULD be prefixed using the DNS name of the app defining the key\. Implementors SHOULD keep metadata small, as on\-ledger data is costly\. .. _constr-splice-api-token-metadatav1-metadata-84299: `Metadata `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - values - `TextMap `_ `Text `_ - Key\-value pairs of metadata entries\. **instance** `Eq `_ `Metadata `_ **instance** `Ord `_ `Metadata `_ **instance** `Show `_ `Metadata `_ **instance** `GetField `_ \"meta\" `ChoiceExecutionMetadata `_ `Metadata `_ **instance** `GetField `_ \"meta\" `ExtraArgs `_ `Metadata `_ **instance** `GetField `_ \"values\" `Metadata `_ (`TextMap `_ `Text `_) **instance** `SetField `_ \"meta\" `ChoiceExecutionMetadata `_ `Metadata `_ **instance** `SetField `_ \"meta\" `ExtraArgs `_ `Metadata `_ **instance** `SetField `_ \"values\" `Metadata `_ (`TextMap `_ `Text `_) Functions --------- .. _function-splice-api-token-metadatav1-emptychoicecontext-1208: `emptyChoiceContext `_ \: `ChoiceContext `_ Empty choice context\. .. _function-splice-api-token-metadatav1-emptymetadata-88176: `emptyMetadata `_ \: `Metadata `_ Empty metadata\.