Settlement¶
This section explains how the settlement processes of Daml Finance work in detail. It combines a step by step description of different workflows with supporting code.
The following tutorials are available:
- The Enhanced Transfers tutorial builds upon the basic Transfer tutorial from the Getting Started section. Specifically, we explore how to configure the controllers that need to authorize incoming transfers (credits) and outgoing transfers (debits) to and from an account, respectively.
- The Internal Settlement tutorial, an extension of the
basic Settlement Getting Started tutorial, illustrates how
holdings can be transferred within a single custodian through a settlement workflow involving
batches and related instructions. The allocation process of such instructions involves methods for
committing a pre-existing holding (
Pledge
), a newly created holding (CreditReceiver
), and a holding received simultaneously (PassThroughFrom
). The approval methods include taking delivery of a holding to an account (TakeDelivery
), immediately nullifying the holding (DebitSender
), and passing the holding through (as allocation) to another instruction (PassThroughTo
). - The Intermediated Settlement tutorial builds upon the
Internal Settlement tutorial and shows how to make use of a
RouteProvider
to settle instructions across account hierarchies involving more than one custodian.
Download the Code for the Tutorials¶
As a prerequisite, make sure that the Daml SDK is installed on your machine.
Open a terminal and run:
daml new finance-settlement --template=finance-settlement
This creates a new folder with contents from our template. Navigate to the finance-settlement
folder and then run the following to download the required Daml Finance packages:
./get-dependencies.sh
or, if you are using Windows
./get-dependencies.bat
Finally, you can start Daml Studio to inspect the code and run the project’s scripts:
daml studio