Splice.ExternalPartyAmuletRules
Templates
template ExternalPartyAmuletRules
Rules contract that can be used in transactions that require signatures from an external party. This is intended to get archived and recreated as rarely as possible to support long delays between preparing and signing a transaction.
Signatory: dso
Field
Type
Description
dso
Choice Archive
Controller: dso
Returns: ()
(no fields)
Choice ExternalPartyAmuletRules_CreateTransferCommand
Controller: sender
Returns: ExternalPartyAmuletRules_CreateTransferCommandResult
Field
Type
Description
sender
receiver
delegate
amount
expiresAt
nonce
template TransferCommand
One-time delegation to execute a transfer to the given receiver for the given amount.
We externally sign this instead of the transfer itself to support a longer delay between prepare/execute which would be prevented by signing the transfer directly as that one pins down the mining rounds that are relatively short lived and relies on
getTime
which means it would fail due to the max allowed skew between ledger effective time and record time.Signatory: sender, dso
Field
Type
Description
dso
sender
receiver
delegate
The delegate that actually executes the transfer
amount
expiresAt
Expiry of the command until when TransferCommand_Send must be called
nonce
Expected nonce value to order and deduplicate concurrent transfers. Starts at 0 and the next value to use can then be read from TransferCommandCounter and the in-flight TransferCommand contracts.
Choice Archive
Controller: sender, dso
Returns: ()
(no fields)
Choice TransferCommand_Expire
Controller: p
Returns: TransferCommand_ExpireResult
Field
Type
Description
p
Choice TransferCommand_Send
Controller: delegate
Returns: TransferCommand_SendResult
Field
Type
Description
context
inputs
transferPreapprovalCidO
transferCounterCid
Choice TransferCommand_Withdraw
Controller: sender
Returns: TransferCommand_WithdrawResult
(no fields)
template TransferCommandCounter
Data Types
data ExternalPartyAmuletRules_CreateTransferCommandResult
ExternalPartyAmuletRules_CreateTransferCommandResult
Field
Type
Description
transferCommandCid
instance Eq ExternalPartyAmuletRules_CreateTransferCommandResult
instance Show ExternalPartyAmuletRules_CreateTransferCommandResult
instance GetField "transferCommandCid" ExternalPartyAmuletRules_CreateTransferCommandResult (ContractId TransferCommand)
instance SetField "transferCommandCid" ExternalPartyAmuletRules_CreateTransferCommandResult (ContractId TransferCommand)
instance HasExercise ExternalPartyAmuletRules ExternalPartyAmuletRules_CreateTransferCommand ExternalPartyAmuletRules_CreateTransferCommandResult
instance HasFromAnyChoice ExternalPartyAmuletRules ExternalPartyAmuletRules_CreateTransferCommand ExternalPartyAmuletRules_CreateTransferCommandResult
instance HasToAnyChoice ExternalPartyAmuletRules ExternalPartyAmuletRules_CreateTransferCommand ExternalPartyAmuletRules_CreateTransferCommandResult
Field
Type
Description
reason
Field
Type
Description
result
instance Eq TransferCommandResult
instance Show TransferCommandResult
instance GetField "reason" TransferCommandResult InvalidTransferReason
instance GetField "result" TransferCommandResult TransferResult
instance GetField "result" TransferCommand_SendResult TransferCommandResult
instance SetField "reason" TransferCommandResult InvalidTransferReason
instance SetField "result" TransferCommandResult TransferResult
instance SetField "result" TransferCommand_SendResult TransferCommandResult
data TransferCommand_ExpireResult
instance Eq TransferCommand_ExpireResult
instance Show TransferCommand_ExpireResult
instance GetField "nonce" TransferCommand_ExpireResult Int
instance GetField "sender" TransferCommand_ExpireResult Party
instance SetField "nonce" TransferCommand_ExpireResult Int
instance SetField "sender" TransferCommand_ExpireResult Party
instance HasExercise TransferCommand TransferCommand_Expire TransferCommand_ExpireResult
instance HasFromAnyChoice TransferCommand TransferCommand_Expire TransferCommand_ExpireResult
instance HasToAnyChoice TransferCommand TransferCommand_Expire TransferCommand_ExpireResult
data TransferCommand_SendResult
Field
Type
Description
result
sender
nonce
instance Eq TransferCommand_SendResult
instance Show TransferCommand_SendResult
instance GetField "nonce" TransferCommand_SendResult Int
instance GetField "result" TransferCommand_SendResult TransferCommandResult
instance GetField "sender" TransferCommand_SendResult Party
instance SetField "nonce" TransferCommand_SendResult Int
instance SetField "result" TransferCommand_SendResult TransferCommandResult
instance SetField "sender" TransferCommand_SendResult Party
instance HasExercise TransferCommand TransferCommand_Send TransferCommand_SendResult
instance HasFromAnyChoice TransferCommand TransferCommand_Send TransferCommand_SendResult
instance HasToAnyChoice TransferCommand TransferCommand_Send TransferCommand_SendResult
data TransferCommand_WithdrawResult
TransferCommand_WithdrawResult
instance Eq TransferCommand_WithdrawResult
instance Show TransferCommand_WithdrawResult
instance GetField "nonce" TransferCommand_WithdrawResult Int
instance GetField "sender" TransferCommand_WithdrawResult Party
instance SetField "nonce" TransferCommand_WithdrawResult Int
instance SetField "sender" TransferCommand_WithdrawResult Party
instance HasExercise TransferCommand TransferCommand_Withdraw TransferCommand_WithdrawResult
instance HasFromAnyChoice TransferCommand TransferCommand_Withdraw TransferCommand_WithdrawResult
instance HasToAnyChoice TransferCommand TransferCommand_Withdraw TransferCommand_WithdrawResult