Skip to main content
Instruct transfers of holdings between parties.

Interfaces

interface TransferFactory
A factory contract to instruct transfers of holdings between parties. viewtype TransferFactoryView
  • Choice Archive Controller: Signatories of implementing template Returns: () (no fields)
  • Choice TransferFactory_PublicFetch
    Fetch the view of the factory contract. Controller: actor Returns: TransferFactoryView
  • Choice TransferFactory_Transfer
    Instruct the registry to execute a transfer. Implementations MUST ensure that this choice fails if transfer.executeBefore is in the past. Controller: (DA.Internal.Record.getField @“sender” transfer) Returns: TransferInstructionResult
  • Method transferFactory_publicFetchImpl : ContractId TransferFactory -> TransferFactory_PublicFetch -> Update TransferFactoryView
  • Method transferFactory_transferImpl : ContractId TransferFactory -> TransferFactory_Transfer -> Update TransferInstructionResult
interface TransferInstruction
An interface for tracking the status of a transfer instruction, i.e., a request to a registry app to execute a transfer. Registries MAY evolve the transfer instruction in multiple steps. They SHOULD do so using only the choices on this interface, so that wallets can reliably parse the transaction history and determine whether the instruction ultimately succeeded or failed. viewtype TransferInstructionView
  • Choice Archive Controller: Signatories of implementing template Returns: () (no fields)
  • Choice TransferInstruction_Accept
    Accept the transfer as the receiver. This choice is only available if the instruction is in TransferPendingReceiverAcceptance state. Note that while implementations will typically return TransferInstructionResult_Completed, this is not guaranteed. The result of the choice is implementation-specific and MAY be any of the three possible results. Controller: (DA.Internal.Record.getField @“receiver” (DA.Internal.Record.getField @“transfer” (view this))) Returns: TransferInstructionResult
  • Choice TransferInstruction_Reject
    Reject the transfer as the receiver. This choice is only available if the instruction is in TransferPendingReceiverAcceptance state. Controller: (DA.Internal.Record.getField @“receiver” (DA.Internal.Record.getField @“transfer” (view this))) Returns: TransferInstructionResult
  • Choice TransferInstruction_Update
    Update the state of the transfer instruction. Used by the registry to execute registry internal workflow steps that advance the state of the transfer instruction. A reason may be communicated via the metadata. Controller: (DA.Internal.Record.getField @“admin” (DA.Internal.Record.getField @“instrumentId” (DA.Internal.Record.getField @“transfer” (view this)))), extraActors Returns: TransferInstructionResult
  • Choice TransferInstruction_Withdraw
    Withdraw the transfer instruction as the sender. Controller: (DA.Internal.Record.getField @“sender” (DA.Internal.Record.getField @“transfer” (view this))) Returns: TransferInstructionResult
  • Method transferInstruction_acceptImpl : ContractId TransferInstruction -> TransferInstruction_Accept -> Update TransferInstructionResult
  • Method transferInstruction_rejectImpl : ContractId TransferInstruction -> TransferInstruction_Reject -> Update TransferInstructionResult
  • Method transferInstruction_updateImpl : ContractId TransferInstruction -> TransferInstruction_Update -> Update TransferInstructionResult
  • Method transferInstruction_withdrawImpl : ContractId TransferInstruction -> TransferInstruction_Withdraw -> Update TransferInstructionResult

Data Types

data Transfer
A specification of a transfer of holdings between two parties.
Transfer
instance Eq Transfer instance Show Transfer instance GetField “amount” Transfer Decimal instance GetField “executeBefore” Transfer Time instance GetField “inputHoldingCids” Transfer [ContractId Holding] instance GetField “instrumentId” Transfer InstrumentId instance GetField “meta” Transfer Metadata instance GetField “receiver” Transfer Party instance GetField “requestedAt” Transfer Time instance GetField “sender” Transfer Party instance GetField “transfer” TransferFactory_Transfer Transfer instance GetField “transfer” TransferInstructionView Transfer instance SetField “amount” Transfer Decimal instance SetField “executeBefore” Transfer Time instance SetField “inputHoldingCids” Transfer [ContractId Holding] instance SetField “instrumentId” Transfer InstrumentId instance SetField “meta” Transfer Metadata instance SetField “receiver” Transfer Party instance SetField “requestedAt” Transfer Time instance SetField “sender” Transfer Party instance SetField “transfer” TransferFactory_Transfer Transfer instance SetField “transfer” TransferInstructionView Transfer
data TransferFactoryView
View for TransferFactory.
TransferFactoryView
instance Eq TransferFactoryView instance Show TransferFactoryView instance HasMethod TransferFactory “transferFactory_publicFetchImpl” (ContractId TransferFactory -> TransferFactory_PublicFetch -> Update TransferFactoryView) instance HasFromAnyView TransferFactory TransferFactoryView instance HasInterfaceView TransferFactory TransferFactoryView instance GetField “admin” TransferFactoryView Party instance GetField “meta” TransferFactoryView Metadata instance SetField “admin” TransferFactoryView Party instance SetField “meta” TransferFactoryView Metadata instance HasExercise TransferFactory TransferFactory_PublicFetch TransferFactoryView instance HasExerciseGuarded TransferFactory TransferFactory_PublicFetch TransferFactoryView instance HasFromAnyChoice TransferFactory TransferFactory_PublicFetch TransferFactoryView instance HasToAnyChoice TransferFactory TransferFactory_PublicFetch TransferFactoryView
data TransferInstructionResult
The result of instructing a transfer or advancing the state of a transfer instruction.
TransferInstructionResult
instance Eq TransferInstructionResult instance Show TransferInstructionResult instance HasMethod TransferFactory “transferFactory_transferImpl” (ContractId TransferFactory -> TransferFactory_Transfer -> Update TransferInstructionResult) instance HasMethod TransferInstruction “transferInstruction_acceptImpl” (ContractId TransferInstruction -> TransferInstruction_Accept -> Update TransferInstructionResult) instance HasMethod TransferInstruction “transferInstruction_rejectImpl” (ContractId TransferInstruction -> TransferInstruction_Reject -> Update TransferInstructionResult) instance HasMethod TransferInstruction “transferInstruction_updateImpl” (ContractId TransferInstruction -> TransferInstruction_Update -> Update TransferInstructionResult) instance HasMethod TransferInstruction “transferInstruction_withdrawImpl” (ContractId TransferInstruction -> TransferInstruction_Withdraw -> Update TransferInstructionResult) instance GetField “meta” TransferInstructionResult Metadata instance GetField “output” TransferInstructionResult TransferInstructionResult_Output instance GetField “senderChangeCids” TransferInstructionResult [ContractId Holding] instance SetField “meta” TransferInstructionResult Metadata instance SetField “output” TransferInstructionResult TransferInstructionResult_Output instance SetField “senderChangeCids” TransferInstructionResult [ContractId Holding] instance HasExercise TransferFactory TransferFactory_Transfer TransferInstructionResult instance HasExercise TransferInstruction TransferInstruction_Accept TransferInstructionResult instance HasExercise TransferInstruction TransferInstruction_Reject TransferInstructionResult instance HasExercise TransferInstruction TransferInstruction_Update TransferInstructionResult instance HasExercise TransferInstruction TransferInstruction_Withdraw TransferInstructionResult instance HasExerciseGuarded TransferFactory TransferFactory_Transfer TransferInstructionResult instance HasExerciseGuarded TransferInstruction TransferInstruction_Accept TransferInstructionResult instance HasExerciseGuarded TransferInstruction TransferInstruction_Reject TransferInstructionResult instance HasExerciseGuarded TransferInstruction TransferInstruction_Update TransferInstructionResult instance HasExerciseGuarded TransferInstruction TransferInstruction_Withdraw TransferInstructionResult instance HasFromAnyChoice TransferFactory TransferFactory_Transfer TransferInstructionResult instance HasFromAnyChoice TransferInstruction TransferInstruction_Accept TransferInstructionResult instance HasFromAnyChoice TransferInstruction TransferInstruction_Reject TransferInstructionResult instance HasFromAnyChoice TransferInstruction TransferInstruction_Update TransferInstructionResult instance HasFromAnyChoice TransferInstruction TransferInstruction_Withdraw TransferInstructionResult instance HasToAnyChoice TransferFactory TransferFactory_Transfer TransferInstructionResult instance HasToAnyChoice TransferInstruction TransferInstruction_Accept TransferInstructionResult instance HasToAnyChoice TransferInstruction TransferInstruction_Reject TransferInstructionResult instance HasToAnyChoice TransferInstruction TransferInstruction_Update TransferInstructionResult instance HasToAnyChoice TransferInstruction TransferInstruction_Withdraw TransferInstructionResult
data TransferInstructionResult_Output
The output of instructing a transfer or advancing the state of a transfer instruction.
TransferInstructionResult_Pending
Use this result to communicate that the transfer is pending further steps.
TransferInstructionResult_Completed
Use this result to communicate that the transfer succeeded and the receiver has received their holdings.
TransferInstructionResult_Failed
Use this result to communicate that the transfer did not succeed and all holdings (minus fees) have been returned to the sender.
instance Eq TransferInstructionResult_Output instance Show TransferInstructionResult_Output instance GetField “output” TransferInstructionResult TransferInstructionResult_Output instance GetField “receiverHoldingCids” TransferInstructionResult_Output [ContractId Holding] instance GetField “transferInstructionCid” TransferInstructionResult_Output (ContractId TransferInstruction) instance SetField “output” TransferInstructionResult TransferInstructionResult_Output instance SetField “receiverHoldingCids” TransferInstructionResult_Output [ContractId Holding] instance SetField “transferInstructionCid” TransferInstructionResult_Output (ContractId TransferInstruction)
data TransferInstructionStatus
Status of a transfer instruction.
TransferPendingReceiverAcceptance
The transfer is pending acceptance by the receiver.
TransferPendingInternalWorkflow
The transfer is pending actions to be taken as part of registry internal workflows.
instance Eq TransferInstructionStatus instance Show TransferInstructionStatus instance GetField “pendingActions” TransferInstructionStatus (Map Party Text) instance GetField “status” TransferInstructionView TransferInstructionStatus instance SetField “pendingActions” TransferInstructionStatus (Map Party Text) instance SetField “status” TransferInstructionView TransferInstructionStatus
data TransferInstructionView
View for TransferInstruction.
TransferInstructionView
instance Eq TransferInstructionView instance Show TransferInstructionView instance HasFromAnyView TransferInstruction TransferInstructionView instance HasInterfaceView TransferInstruction TransferInstructionView instance GetField “meta” TransferInstructionView Metadata instance GetField “originalInstructionCid” TransferInstructionView (Optional (ContractId TransferInstruction)) instance GetField “status” TransferInstructionView TransferInstructionStatus instance GetField “transfer” TransferInstructionView Transfer instance SetField “meta” TransferInstructionView Metadata instance SetField “originalInstructionCid” TransferInstructionView (Optional (ContractId TransferInstruction)) instance SetField “status” TransferInstructionView TransferInstructionStatus instance SetField “transfer” TransferInstructionView Transfer

Functions

transferInstruction_acceptImpl : TransferInstruction -> ContractId TransferInstruction -> TransferInstruction_Accept -> Update TransferInstructionResult
transferInstruction_rejectImpl : TransferInstruction -> ContractId TransferInstruction -> TransferInstruction_Reject -> Update TransferInstructionResult
transferInstruction_withdrawImpl : TransferInstruction -> ContractId TransferInstruction -> TransferInstruction_Withdraw -> Update TransferInstructionResult
transferInstruction_updateImpl : TransferInstruction -> ContractId TransferInstruction -> TransferInstruction_Update -> Update TransferInstructionResult
transferFactory_transferImpl : TransferFactory -> ContractId TransferFactory -> TransferFactory_Transfer -> Update TransferInstructionResult
transferFactory_publicFetchImpl : TransferFactory -> ContractId TransferFactory -> TransferFactory_PublicFetch -> Update TransferFactoryView