Skip to main content
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

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
  • 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
  • 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
  • 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

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.
AllocationRequestView
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

allocationRequest_RejectImpl : AllocationRequest -> ContractId AllocationRequest -> AllocationRequest_Reject -> Update ChoiceExecutionMetadata
allocationRequest_WithdrawImpl : AllocationRequest -> ContractId AllocationRequest -> AllocationRequest_Withdraw -> Update ChoiceExecutionMetadata