.. _module-splice-api-token-allocationrequestv1-2106: Splice.Api.Token.AllocationRequestV1 ==================================== This module defines the interface for an ``AllocationRequest``, which is an interface that can be implemented by an app to request specific allocations from their users for the purpose of settling a DvP or a payment as part of an app's workflow\. Interfaces ---------- .. _type-splice-api-token-allocationrequestv1-allocationrequest-90278: **interface** `AllocationRequest `_ A request by an app for allocations to be created to enable the execution of a settlement\. Apps are free to use a single request spanning all senders or one request per sender\. **viewtype** `AllocationRequestView `_ + .. _type-splice-api-token-allocationrequestv1-allocationrequestreject-89381: **Choice** `AllocationRequest_Reject `_ Reject an allocation request\. Implementations SHOULD allow any sender of a transfer leg to reject the allocation request, and thereby signal that they are definitely not going to create a matching allocation for the settlement\. Controller\: actor Returns\: ChoiceExecutionMetadata .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - actor - `Party `_ - The party rejecting the allocation request\. * - extraArgs - ExtraArgs - Additional context required in order to exercise the choice\. + .. _type-splice-api-token-allocationrequestv1-allocationrequestwithdraw-15628: **Choice** `AllocationRequest_Withdraw `_ Withdraw an allocation request as the executor\. Used by executors to withdraw the allocation request if they are unable to execute it; e\.g\., because a trade has been cancelled\. Controller\: (DA\.Internal\.Record\.getField @\"executor\" (DA\.Internal\.Record\.getField @\"settlement\" (view this))) Returns\: ChoiceExecutionMetadata .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - extraArgs - ExtraArgs - Additional context required in order to exercise the choice\. + **Choice** Archive Controller\: Signatories of implementing template Returns\: () (no fields) + **Method allocationRequest\_RejectImpl \:** `ContractId `_ `AllocationRequest `_ \-\> `AllocationRequest_Reject `_ \-\> `Update `_ ChoiceExecutionMetadata + **Method allocationRequest\_WithdrawImpl \:** `ContractId `_ `AllocationRequest `_ \-\> `AllocationRequest_Withdraw `_ \-\> `Update `_ ChoiceExecutionMetadata Data Types ---------- .. _type-splice-api-token-allocationrequestv1-allocationrequestview-51417: **data** `AllocationRequestView `_ View of ``AllocationRequest``\. Implementations SHOULD make sure that at least all senders of the transfer legs are observers of the implementing contract, so that their wallet can show the request to them\. .. _constr-splice-api-token-allocationrequestv1-allocationrequestview-59188: `AllocationRequestView `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - settlement - SettlementInfo - Settlement for which the assets are requested to be allocated\. * - transferLegs - `TextMap `_ TransferLeg - Transfer legs that are requested to be allocated for the execution of the settlement keyed by their identifier\. This may or may not be a complete list of transfer legs that are part of the settlement, depending on the confidentiality requirements of the app\. * - meta - Metadata - Additional metadata specific to the allocation request, used for extensibility\. **instance** `Eq `_ `AllocationRequestView `_ **instance** `Show `_ `AllocationRequestView `_ **instance** `HasFromAnyView `_ `AllocationRequest `_ `AllocationRequestView `_ **instance** `HasInterfaceView `_ `AllocationRequest `_ `AllocationRequestView `_ **instance** `GetField `_ \"meta\" `AllocationRequestView `_ Metadata **instance** `GetField `_ \"settlement\" `AllocationRequestView `_ SettlementInfo **instance** `GetField `_ \"transferLegs\" `AllocationRequestView `_ (`TextMap `_ TransferLeg) **instance** `SetField `_ \"meta\" `AllocationRequestView `_ Metadata **instance** `SetField `_ \"settlement\" `AllocationRequestView `_ SettlementInfo **instance** `SetField `_ \"transferLegs\" `AllocationRequestView `_ (`TextMap `_ TransferLeg) Functions --------- .. _function-splice-api-token-allocationrequestv1-allocationrequestrejectimpl-48931: `allocationRequest_RejectImpl `_ \: `AllocationRequest `_ \-\> `ContractId `_ `AllocationRequest `_ \-\> `AllocationRequest_Reject `_ \-\> `Update `_ ChoiceExecutionMetadata .. _function-splice-api-token-allocationrequestv1-allocationrequestwithdrawimpl-31866: `allocationRequest_WithdrawImpl `_ \: `AllocationRequest `_ \-\> `ContractId `_ `AllocationRequest `_ \-\> `AllocationRequest_Withdraw `_ \-\> `Update `_ ChoiceExecutionMetadata