> ## Documentation Index
> Fetch the complete documentation index at: https://docs.canton.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Splice.Wallet.TransferPreapproval

> Documentation for Splice.Wallet.TransferPreapproval

## Templates

<div id="type-splice-wallet-transferpreapproval-transferpreapprovalproposal-39002">
  **template** TransferPreapprovalProposal
</div>

> Signatory: receiver
>
> | Field       | Type                                                                                                                                                                                         | Description                                                                                                                                                                   |
> | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
> | receiver    | [Party](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-party-57932)                                                                                                     |                                                                                                                                                                               |
> | provider    | [Party](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-party-57932)                                                                                                     |                                                                                                                                                                               |
> | expectedDso | [Optional](/appdev/reference/daml-standard-library/prelude#type-da-internal-prelude-optional-37153) [Party](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-party-57932) | The DSO party that the receiver expects to bet set on the transfer preapproval. Must be set. It is only optional due to being introduced as part of a smart-contract upgrade. |
>
> * **Choice** Archive
>
>   Controller: receiver
>
>   Returns: ()
>
>   (no fields)
>
> * <div id="type-splice-wallet-transferpreapproval-transferpreapprovalproposalaccept-6548">
>     **Choice** TransferPreapprovalProposal\_Accept
>   </div>
>
>   Controller: provider
>
>   Returns: TransferPreapprovalProposal\_AcceptResult
>
>   | Field     | Type                                                                                   | Description |
>   | --------- | -------------------------------------------------------------------------------------- | ----------- |
>   | context   | PaymentTransferContext                                                                 |             |
>   | inputs    | \[TransferInput]                                                                       |             |
>   | expiresAt | [Time](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-time-63886) |             |

## Data Types

<div id="type-splice-wallet-transferpreapproval-transferpreapprovalproposalacceptresult-56845">
  **data** TransferPreapprovalProposal\_AcceptResult
</div>

> <div id="constr-splice-wallet-transferpreapproval-transferpreapprovalproposalacceptresult-12116">
>   TransferPreapprovalProposal\_AcceptResult
> </div>
>
> > | Field                  | Type                                                                                                                   | Description |
> > | ---------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |
> > | transferPreapprovalCid | [ContractId](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-contractid-95282) TransferPreapproval |             |
> > | transferResult         | TransferResult                                                                                                         |             |
> > | amuletPaid             | [Decimal](/appdev/reference/daml-standard-library/prelude#type-ghc-types-decimal-18135)                                |             |
>
> **instance** GetField "amuletPaid" TransferPreapprovalProposal\_AcceptResult [Decimal](/appdev/reference/daml-standard-library/prelude#type-ghc-types-decimal-18135)
>
> **instance** GetField "transferPreapprovalCid" TransferPreapprovalProposal\_AcceptResult ([ContractId](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-contractid-95282) TransferPreapproval)
>
> **instance** GetField "transferResult" TransferPreapprovalProposal\_AcceptResult TransferResult
>
> **instance** SetField "amuletPaid" TransferPreapprovalProposal\_AcceptResult [Decimal](/appdev/reference/daml-standard-library/prelude#type-ghc-types-decimal-18135)
>
> **instance** SetField "transferPreapprovalCid" TransferPreapprovalProposal\_AcceptResult ([ContractId](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-contractid-95282) TransferPreapproval)
>
> **instance** SetField "transferResult" TransferPreapprovalProposal\_AcceptResult TransferResult
>
> **instance** [HasExercise](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hasexercise-70422) TransferPreapprovalProposal TransferPreapprovalProposal\_Accept TransferPreapprovalProposal\_AcceptResult
>
> **instance** [HasFromAnyChoice](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hasfromanychoice-81184) TransferPreapprovalProposal TransferPreapprovalProposal\_Accept TransferPreapprovalProposal\_AcceptResult
>
> **instance** [HasToAnyChoice](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hastoanychoice-82571) TransferPreapprovalProposal TransferPreapprovalProposal\_Accept TransferPreapprovalProposal\_AcceptResult
