.. _module-splice-externalpartyamuletrules-66966: Splice.ExternalPartyAmuletRules =============================== Templates --------- .. _type-splice-externalpartyamuletrules-externalpartyamuletrules-29682: **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 .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - dso - `Party `_ - + **Choice** Archive Controller\: dso Returns\: () (no fields) + .. _type-splice-externalpartyamuletrules-externalpartyamuletrulescreatetransfercommand-90877: **Choice** `ExternalPartyAmuletRules_CreateTransferCommand `_ Controller\: sender Returns\: `ExternalPartyAmuletRules_CreateTransferCommandResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - sender - `Party `_ - * - receiver - `Party `_ - * - delegate - `Party `_ - * - amount - `Decimal `_ - * - expiresAt - `Time `_ - * - nonce - `Int `_ - .. _type-splice-externalpartyamuletrules-transfercommand-52429: **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 .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - dso - `Party `_ - * - sender - `Party `_ - * - receiver - `Party `_ - * - delegate - `Party `_ - The delegate that actually executes the transfer * - amount - `Decimal `_ - * - expiresAt - `Time `_ - Expiry of the command until when TransferCommand\_Send must be called * - nonce - `Int `_ - 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) + .. _type-splice-externalpartyamuletrules-transfercommandexpire-28516: **Choice** `TransferCommand_Expire `_ Controller\: p Returns\: `TransferCommand_ExpireResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - p - `Party `_ - + .. _type-splice-externalpartyamuletrules-transfercommandsend-32409: **Choice** `TransferCommand_Send `_ Controller\: delegate Returns\: `TransferCommand_SendResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - context - :ref:`PaymentTransferContext ` - * - inputs - \[:ref:`TransferInput `\] - * - transferPreapprovalCidO - `Optional `_ (`ContractId `_ :ref:`TransferPreapproval `) - * - transferCounterCid - `ContractId `_ `TransferCommandCounter `_ - + .. _type-splice-externalpartyamuletrules-transfercommandwithdraw-90837: **Choice** `TransferCommand_Withdraw `_ Controller\: sender Returns\: `TransferCommand_WithdrawResult `_ (no fields) .. _type-splice-externalpartyamuletrules-transfercommandcounter-30214: **template** `TransferCommandCounter `_ A contract tracking the number of completed TransferCommands per sender, which is used to determine the nonces used in TransferCommands for deduplication\. Signatory\: dso .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - dso - `Party `_ - * - sender - `Party `_ - * - nextNonce - `Int `_ - + **Choice** Archive Controller\: dso Returns\: () (no fields) Data Types ---------- .. _type-splice-externalpartyamuletrules-externalpartyamuletrulescreatetransfercommandresult-84908: **data** `ExternalPartyAmuletRules_CreateTransferCommandResult `_ .. _constr-splice-externalpartyamuletrules-externalpartyamuletrulescreatetransfercommandresult-32161: `ExternalPartyAmuletRules_CreateTransferCommandResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - transferCommandCid - `ContractId `_ `TransferCommand `_ - **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 `_ .. _type-splice-externalpartyamuletrules-transfercommandresult-23924: **data** `TransferCommandResult `_ .. _constr-splice-externalpartyamuletrules-transfercommandresultfailure-75214: `TransferCommandResultFailure `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - reason - :ref:`InvalidTransferReason ` - .. _constr-splice-externalpartyamuletrules-transfercommandresultsuccess-68641: `TransferCommandResultSuccess `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - result - :ref:`TransferResult ` - **instance** `Eq `_ `TransferCommandResult `_ **instance** `Show `_ `TransferCommandResult `_ **instance** `GetField `_ \"reason\" `TransferCommandResult `_ :ref:`InvalidTransferReason ` **instance** `GetField `_ \"result\" `TransferCommandResult `_ :ref:`TransferResult ` **instance** `GetField `_ \"result\" `TransferCommand_SendResult `_ `TransferCommandResult `_ **instance** `SetField `_ \"reason\" `TransferCommandResult `_ :ref:`InvalidTransferReason ` **instance** `SetField `_ \"result\" `TransferCommandResult `_ :ref:`TransferResult ` **instance** `SetField `_ \"result\" `TransferCommand_SendResult `_ `TransferCommandResult `_ .. _type-splice-externalpartyamuletrules-transfercommandexpireresult-5229: **data** `TransferCommand_ExpireResult `_ .. _constr-splice-externalpartyamuletrules-transfercommandexpireresult-27948: `TransferCommand_ExpireResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - sender - `Party `_ - * - nonce - `Int `_ - **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 `_ .. _type-splice-externalpartyamuletrules-transfercommandsendresult-21916: **data** `TransferCommand_SendResult `_ .. _constr-splice-externalpartyamuletrules-transfercommandsendresult-15277: `TransferCommand_SendResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - result - `TransferCommandResult `_ - * - sender - `Party `_ - * - nonce - `Int `_ - **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 `_ .. _type-splice-externalpartyamuletrules-transfercommandwithdrawresult-60664: **data** `TransferCommand_WithdrawResult `_ .. _constr-splice-externalpartyamuletrules-transfercommandwithdrawresult-93393: `TransferCommand_WithdrawResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - sender - `Party `_ - * - nonce - `Int `_ - **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 `_