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_PublicFetchFetch the view of the factory contract. Controller: actor Returns: TransferFactoryView Choice TransferFactory_TransferInstruct the registry to execute a transfer. Implementations MUST ensure that this choice fails iftransfer.executeBeforeis 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_AcceptAccept the transfer as the receiver. This choice is only available if the instruction is inTransferPendingReceiverAcceptancestate. Note that while implementations will typically returnTransferInstructionResult_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_RejectReject the transfer as the receiver. This choice is only available if the instruction is inTransferPendingReceiverAcceptancestate. Controller: (DA.Internal.Record.getField @“receiver” (DA.Internal.Record.getField @“transfer” (view this))) Returns: TransferInstructionResult Choice TransferInstruction_UpdateUpdate 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_WithdrawWithdraw 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.Transferinstance 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 forTransferFactory.TransferFactoryViewinstance 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.TransferInstructionResultinstance 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_PendingUse this result to communicate that the transfer is pending further steps.TransferInstructionResult_CompletedUse this result to communicate that the transfer succeeded and the receiver has received their holdings.TransferInstructionResult_FailedUse 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.TransferPendingReceiverAcceptanceThe transfer is pending acceptance by the receiver.TransferPendingInternalWorkflowThe 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 forTransferInstruction.TransferInstructionViewinstance 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