create-canton-app 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/package.json +1 -1
- package/src/commands/create.js +3 -3
- package/src/templates/AssetOwner/daml/AssetHolding.daml +276 -0
- package/src/templates/AssetOwner/daml.yaml +18 -0
- package/src/templates/Multiparty/daml/MultiPartyAgreement.daml +256 -0
- package/src/templates/Multiparty/daml.yaml +15 -0
- package/src/templates/TokenTransfer/daml/Token.daml +222 -0
- package/src/templates/TokenTransfer/daml.yaml +15 -0
- package/src/templates/bondtrading/daml/Bond.daml +0 -131
- package/src/templates/bondtrading/daml/BondTradingMain.daml +0 -14
- package/src/templates/bondtrading/daml/Cash.daml +0 -156
- package/src/templates/bondtrading/daml/Dvp.daml +0 -178
- package/src/templates/bondtrading/daml/DvpNotification.daml +0 -22
- package/src/templates/bondtrading/daml/DvpTerms.daml +0 -22
- package/src/templates/bondtrading/daml/Settlement.daml +0 -205
- package/src/templates/bondtrading/daml/Setup.daml +0 -106
- package/src/templates/bondtrading/daml/Test.daml +0 -18
- package/src/templates/bondtrading/daml.yaml +0 -15
- package/src/templates/collateral/.gitattributes +0 -1
- package/src/templates/collateral/daml/Account.daml +0 -19
- package/src/templates/collateral/daml/Asset.daml +0 -139
- package/src/templates/collateral/daml/AssetHolding.daml +0 -65
- package/src/templates/collateral/daml/Call.daml +0 -234
- package/src/templates/collateral/daml/CollateralAgreement.daml +0 -191
- package/src/templates/collateral/daml/CollateralAgreementState.daml +0 -69
- package/src/templates/collateral/daml/Eligibility.daml +0 -109
- package/src/templates/collateral/daml/Facts.daml +0 -134
- package/src/templates/collateral/daml/RefData.daml +0 -59
- package/src/templates/collateral/daml/Rules.daml +0 -250
- package/src/templates/collateral/daml/Test.daml +0 -281
- package/src/templates/collateral/daml.yaml +0 -16
- package/src/templates/empty/daml/.daml/dependencies/2.2/0e4a572ab1fb94744abb02243a6bbed6c78fc6e3c8d3f60c655f057692a62816/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/0e4a572ab1fb94744abb02243a6bbed6c78fc6e3c8d3f60c655f057692a62816/daml-prim-DA-Internal-Erased-0e4a572ab1fb94744abb02243a6bbed6c78fc6e3c8d3f60c655f057692a62816.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/19f0df5fdaf5a96e137b6ea885fdb378f37bd3166bd9a47ee11518e33fa09a20/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/19f0df5fdaf5a96e137b6ea885fdb378f37bd3166bd9a47ee11518e33fa09a20/daml-prim-GHC-Tuple-19f0df5fdaf5a96e137b6ea885fdb378f37bd3166bd9a47ee11518e33fa09a20.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/3cde94fe9be5c700fc1d9a8ad2277e2c1214609f8c52a5b4db77e466875b8cb7/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/3cde94fe9be5c700fc1d9a8ad2277e2c1214609f8c52a5b4db77e466875b8cb7/daml-stdlib-DA-Validation-Types-3cde94fe9be5c700fc1d9a8ad2277e2c1214609f8c52a5b4db77e466875b8cb7.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/4d728ddeaa8c7c40f92b1226a7df1d371d898ffaba3cb8f3e0890fb9bde2531d/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/4d728ddeaa8c7c40f92b1226a7df1d371d898ffaba3cb8f3e0890fb9bde2531d/daml-stdlib-3.4.9-4d728ddeaa8c7c40f92b1226a7df1d371d898ffaba3cb8f3e0890fb9bde2531d.dalf +0 -62287
- package/src/templates/empty/daml/.daml/dependencies/2.2/52854220dc199884704958df38befd5492d78384a032fd7558c38f00e3d778a2/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/52854220dc199884704958df38befd5492d78384a032fd7558c38f00e3d778a2/daml-stdlib-DA-Monoid-Types-52854220dc199884704958df38befd5492d78384a032fd7558c38f00e3d778a2.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/590736e6f7bc01492007ecb27f3fe75995c19fbd3d41b384aada69619fd4f76c/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/590736e6f7bc01492007ecb27f3fe75995c19fbd3d41b384aada69619fd4f76c/daml-prim-590736e6f7bc01492007ecb27f3fe75995c19fbd3d41b384aada69619fd4f76c.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/5aee9b21b8e9a4c4975b5f4c4198e6e6e8469df49e2010820e792f393db870f4/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/5aee9b21b8e9a4c4975b5f4c4198e6e6e8469df49e2010820e792f393db870f4/daml-prim-DA-Types-5aee9b21b8e9a4c4975b5f4c4198e6e6e8469df49e2010820e792f393db870f4.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/60c61c542207080e97e378ab447cc355ecc47534b3a3ebbff307c4fb8339bc4d/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/60c61c542207080e97e378ab447cc355ecc47534b3a3ebbff307c4fb8339bc4d/daml-stdlib-DA-Stack-Types-60c61c542207080e97e378ab447cc355ecc47534b3a3ebbff307c4fb8339bc4d.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/6da1f43a10a179524e840e7288b47bda213339b0552d92e87ae811e52f59fc0e/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/6da1f43a10a179524e840e7288b47bda213339b0552d92e87ae811e52f59fc0e/daml-prim-DA-Exception-AssertionFailed-6da1f43a10a179524e840e7288b47bda213339b0552d92e87ae811e52f59fc0e.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/6f8e6085f5769861ae7a40dccd618d6f747297d59b37cab89b93e2fa80b0c024/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/6f8e6085f5769861ae7a40dccd618d6f747297d59b37cab89b93e2fa80b0c024/daml-stdlib-DA-Internal-Any-6f8e6085f5769861ae7a40dccd618d6f747297d59b37cab89b93e2fa80b0c024.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/7adc4c2d07fa3a51173c843cba36e610c1168b2dbbf53076e20c0092eae8763d/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/7adc4c2d07fa3a51173c843cba36e610c1168b2dbbf53076e20c0092eae8763d/daml-stdlib-DA-Internal-Fail-Types-7adc4c2d07fa3a51173c843cba36e610c1168b2dbbf53076e20c0092eae8763d.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/86d888f34152dae8729900966b44abcb466b9c111699678de58032de601d2b04/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/86d888f34152dae8729900966b44abcb466b9c111699678de58032de601d2b04/daml-stdlib-DA-Internal-Down-86d888f34152dae8729900966b44abcb466b9c111699678de58032de601d2b04.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/91e167fa7a256f21f990c526a0a0df840e99aeef0e67dc1f5415b0309486de74/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/91e167fa7a256f21f990c526a0a0df840e99aeef0e67dc1f5415b0309486de74/daml-prim-DA-Exception-PreconditionFailed-91e167fa7a256f21f990c526a0a0df840e99aeef0e67dc1f5415b0309486de74.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69/daml-stdlib-DA-Internal-Template-9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/a1fa18133ae48cbb616c4c148e78e661666778c3087d099067c7fe1868cbb3a1/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/a1fa18133ae48cbb616c4c148e78e661666778c3087d099067c7fe1868cbb3a1/daml-stdlib-DA-Action-State-Type-a1fa18133ae48cbb616c4c148e78e661666778c3087d099067c7fe1868cbb3a1.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/ab068e2f920d0e06347975c2a342b71f8b8e3b4be0f02ead9442caac51aa8877/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/ab068e2f920d0e06347975c2a342b71f8b8e3b4be0f02ead9442caac51aa8877/daml-prim-DA-Internal-PromotedText-ab068e2f920d0e06347975c2a342b71f8b8e3b4be0f02ead9442caac51aa8877.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/b70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/b70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946/daml-stdlib-DA-Time-Types-b70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/bde4bd30749e99603e5afa354706608601029e225d4983324d617825b634253a/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/bde4bd30749e99603e5afa354706608601029e225d4983324d617825b634253a/daml-stdlib-DA-NonEmpty-Types-bde4bd30749e99603e5afa354706608601029e225d4983324d617825b634253a.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/bfda48f9aa2c89c895cde538ec4b4946c7085959e031ad61bde616b9849155d7/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/bfda48f9aa2c89c895cde538ec4b4946c7085959e031ad61bde616b9849155d7/daml-stdlib-DA-Random-Types-bfda48f9aa2c89c895cde538ec4b4946c7085959e031ad61bde616b9849155d7.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/c280cc3ef501d237efa7b1120ca3ad2d196e089ad596b666bed59a85f3c9a074/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/c280cc3ef501d237efa7b1120ca3ad2d196e089ad596b666bed59a85f3c9a074/daml-stdlib-DA-Internal-Interface-AnyView-Types-c280cc3ef501d237efa7b1120ca3ad2d196e089ad596b666bed59a85f3c9a074.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/c3bb0c5d04799b3f11bad7c3c102963e115cf53da3e4afcbcfd9f06ebd82b4ff/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/c3bb0c5d04799b3f11bad7c3c102963e115cf53da3e4afcbcfd9f06ebd82b4ff/daml-stdlib-DA-Set-Types-c3bb0c5d04799b3f11bad7c3c102963e115cf53da3e4afcbcfd9f06ebd82b4ff.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/cae345b5500ef6f84645c816f88b9f7a85a9f3c71697984abdf6849f81e80324/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/cae345b5500ef6f84645c816f88b9f7a85a9f3c71697984abdf6849f81e80324/daml-stdlib-DA-Logic-Types-cae345b5500ef6f84645c816f88b9f7a85a9f3c71697984abdf6849f81e80324.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/d095a2ccf6dd36b2415adc4fa676f9191ba63cd39828dc5207b36892ec350cbc/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/d095a2ccf6dd36b2415adc4fa676f9191ba63cd39828dc5207b36892ec350cbc/daml-stdlib-DA-Semigroup-Types-d095a2ccf6dd36b2415adc4fa676f9191ba63cd39828dc5207b36892ec350cbc.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/_main_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Free.daml +0 -35
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Free.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Free.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/LowLevel.daml +0 -201
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/LowLevel.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/LowLevel.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Commands.daml +0 -202
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Commands.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Commands.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto/Text.daml +0 -64
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto/Text.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto/Text.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto.daml +0 -11
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Exceptions.daml +0 -86
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Exceptions.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Exceptions.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Packages.daml +0 -96
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Packages.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Packages.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/PartyManagement.daml +0 -121
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/PartyManagement.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/PartyManagement.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Query.daml +0 -148
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Query.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Query.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit/Error.daml +0 -278
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit/Error.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit/Error.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit.daml +0 -369
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Testing.daml +0 -71
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Testing.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Testing.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Time.daml +0 -74
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Time.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Time.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/TransactionTree.daml +0 -154
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/TransactionTree.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/TransactionTree.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/UserManagement.daml +0 -356
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/UserManagement.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/UserManagement.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Util.daml +0 -22
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Util.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Util.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions.daml +0 -32
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal.daml +0 -40
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script.daml +0 -131
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script.hi +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script.hie +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9.conf +0 -9
- package/src/templates/empty/daml/.daml/dependencies/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/sdk-version +0 -1
- package/src/templates/empty/daml/.daml/dependencies/2.2/e5411f3d75f072b944bd88e652112a14a3d409c491fd9a51f5f6eede6d3a3348/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/e5411f3d75f072b944bd88e652112a14a3d409c491fd9a51f5f6eede6d3a3348/daml-prim-DA-Internal-NatSyn-e5411f3d75f072b944bd88e652112a14a3d409c491fd9a51f5f6eede6d3a3348.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/e7e0adfa881e7dbbb07da065ae54444da7c4bccebcb8872ab0cb5dcf9f3761ce/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/e7e0adfa881e7dbbb07da065ae54444da7c4bccebcb8872ab0cb5dcf9f3761ce/daml-prim-GHC-Types-e7e0adfa881e7dbbb07da065ae54444da7c4bccebcb8872ab0cb5dcf9f3761ce.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/ee33fb70918e7aaa3d3fc44d64a399fb2bf5bcefc54201b1690ecd448551ba88/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/ee33fb70918e7aaa3d3fc44d64a399fb2bf5bcefc54201b1690ecd448551ba88/daml-prim-DA-Exception-ArithmeticError-ee33fb70918e7aaa3d3fc44d64a399fb2bf5bcefc54201b1690ecd448551ba88.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/f181cd661f7af3a60bdaae4b0285a2a67beb55d6910fc8431dbae21a5825ec0f/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/f181cd661f7af3a60bdaae4b0285a2a67beb55d6910fc8431dbae21a5825ec0f/daml-prim-DA-Exception-GeneralError-f181cd661f7af3a60bdaae4b0285a2a67beb55d6910fc8431dbae21a5825ec0f.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/fa79192fe1cce03d7d8db36471dde4cf6c96e6d0f07e1c391dd49e355af9b38c/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/fa79192fe1cce03d7d8db36471dde4cf6c96e6d0f07e1c391dd49e355af9b38c/daml-stdlib-DA-Date-Types-fa79192fe1cce03d7d8db36471dde4cf6c96e6d0f07e1c391dd49e355af9b38c.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/fcee8dfc1b81c449b421410edd5041c16ab59c45bbea85bcb094d1b17c3e9df7/_pkg_ +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/fcee8dfc1b81c449b421410edd5041c16ab59c45bbea85bcb094d1b17c3e9df7/daml-prim-GHC-Prim-fcee8dfc1b81c449b421410edd5041c16ab59c45bbea85bcb094d1b17c3e9df7.dalf +0 -0
- package/src/templates/empty/daml/.daml/dependencies/2.2/fingerprint.json +0 -1
- package/src/templates/empty/daml/.daml/package-database/2.2/da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e.dalf +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Free.daml +0 -35
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Free.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Free.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/LowLevel.daml +0 -201
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/LowLevel.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/LowLevel.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Commands.daml +0 -202
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Commands.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Commands.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto/Text.daml +0 -64
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto/Text.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto/Text.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto.daml +0 -11
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Crypto.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Exceptions.daml +0 -86
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Exceptions.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Exceptions.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Packages.daml +0 -96
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Packages.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Packages.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/PartyManagement.daml +0 -121
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/PartyManagement.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/PartyManagement.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Query.daml +0 -148
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Query.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Query.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit/Error.daml +0 -278
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit/Error.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit/Error.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit.daml +0 -369
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Submit.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Testing.daml +0 -71
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Testing.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Testing.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Time.daml +0 -74
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Time.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Time.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/TransactionTree.daml +0 -154
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/TransactionTree.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/TransactionTree.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/UserManagement.daml +0 -356
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/UserManagement.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/UserManagement.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Util.daml +0 -22
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Util.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions/Util.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions.daml +0 -32
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal/Questions.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal.daml +0 -40
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script/Internal.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script.daml +0 -131
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script.hi +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/daml-script-3.4.9-da421aab547de6c2d2d89535a99c81e70499c1a7619ef8af875b121269f4d11e/Daml/Script.hie +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/package.conf.d/daml-script-3.4.9.conf +0 -9
- package/src/templates/empty/daml/.daml/package-database/2.2/package.conf.d/package.cache +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/package.conf.d/package.cache.lock +0 -0
- package/src/templates/empty/daml/.daml/package-database/2.2/settings +0 -1
- package/src/templates/empty/daml/.daml/package-database/metadata.json +0 -1
- package/src/templates/empty/daml/.daml/setup-package-db.lock +0 -0
- package/src/templates/empty/daml/Main.daml +0 -21
- package/src/templates/empty/daml/daml.yaml +0 -13
package/README.md
CHANGED
|
@@ -60,13 +60,13 @@ Edit `src/commands/create.js` line 43:
|
|
|
60
60
|
|
|
61
61
|
```javascript
|
|
62
62
|
choices: [
|
|
63
|
-
{ name: '
|
|
63
|
+
{ name: 'Token Transfer System Template', value: 'TokenTransfer' },
|
|
64
64
|
|
|
65
|
-
{ name: '
|
|
65
|
+
{ name: 'Multi-Party Agreement System Template', value: 'Multiparty' },
|
|
66
66
|
|
|
67
|
-
{ name: '
|
|
67
|
+
{ name: 'Asset Holding System Template', value: 'AssetOwner' }
|
|
68
68
|
|
|
69
|
-
{ name: '
|
|
69
|
+
{ name: 'My Template', value: 'my-template' }, // ADD THIS
|
|
70
70
|
]
|
|
71
71
|
```
|
|
72
72
|
|
package/package.json
CHANGED
package/src/commands/create.js
CHANGED
|
@@ -139,9 +139,9 @@ async function create(projectName, options) {
|
|
|
139
139
|
name: 'template',
|
|
140
140
|
message: 'Which template would you like to use?',
|
|
141
141
|
choices: [
|
|
142
|
-
{ name: '
|
|
143
|
-
{ name: '
|
|
144
|
-
{ name: '
|
|
142
|
+
{ name: 'Token Transfer System Template', value: 'TokenTransfer' },
|
|
143
|
+
{ name: 'Multi-Party Agreement System Template', value: 'Multiparty' },
|
|
144
|
+
{ name: 'Asset Holding System Template', value: 'AssetOwner' }
|
|
145
145
|
]
|
|
146
146
|
}
|
|
147
147
|
]);
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
-- | Asset Holding System for Canton Network
|
|
2
|
+
-- CIP-0056 Token Standard Compatible
|
|
3
|
+
-- UTXO-style holdings with memo support for exchange deposits
|
|
4
|
+
module AssetHolding where
|
|
5
|
+
|
|
6
|
+
import DA.TextMap (TextMap)
|
|
7
|
+
import qualified DA.TextMap as TM
|
|
8
|
+
import Daml.Script
|
|
9
|
+
|
|
10
|
+
-------------------------------------------------------------------------------
|
|
11
|
+
-- DATA TYPES
|
|
12
|
+
-------------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
data InstrumentId = InstrumentId
|
|
15
|
+
with
|
|
16
|
+
admin : Party
|
|
17
|
+
id : Text
|
|
18
|
+
deriving (Eq, Show)
|
|
19
|
+
|
|
20
|
+
data AssetLock = AssetLock
|
|
21
|
+
with
|
|
22
|
+
lockHolder : Party
|
|
23
|
+
lockReason : Text
|
|
24
|
+
lockedUntil : Optional Time
|
|
25
|
+
deriving (Eq, Show)
|
|
26
|
+
|
|
27
|
+
data Metadata = Metadata
|
|
28
|
+
with
|
|
29
|
+
values : TextMap Text
|
|
30
|
+
deriving (Eq, Show)
|
|
31
|
+
|
|
32
|
+
-------------------------------------------------------------------------------
|
|
33
|
+
-- METADATA HELPERS
|
|
34
|
+
-------------------------------------------------------------------------------
|
|
35
|
+
|
|
36
|
+
createMemo : Text -> Metadata
|
|
37
|
+
createMemo memo = Metadata with
|
|
38
|
+
values = TM.fromList [("splice.lfdecentralizedtrust.org/reason", memo)]
|
|
39
|
+
|
|
40
|
+
getMemo : Metadata -> Optional Text
|
|
41
|
+
getMemo (Metadata values) = TM.lookup "splice.lfdecentralizedtrust.org/reason" values
|
|
42
|
+
|
|
43
|
+
emptyMetadata : Metadata
|
|
44
|
+
emptyMetadata = Metadata with values = TM.empty
|
|
45
|
+
|
|
46
|
+
-------------------------------------------------------------------------------
|
|
47
|
+
-- MAIN ASSET CONTRACT
|
|
48
|
+
-------------------------------------------------------------------------------
|
|
49
|
+
|
|
50
|
+
template Asset
|
|
51
|
+
with
|
|
52
|
+
issuer : Party
|
|
53
|
+
owner : Party
|
|
54
|
+
amount : Decimal
|
|
55
|
+
symbol : Text
|
|
56
|
+
instrumentId : InstrumentId
|
|
57
|
+
lock : Optional AssetLock
|
|
58
|
+
meta : Metadata
|
|
59
|
+
where
|
|
60
|
+
signatory issuer, owner
|
|
61
|
+
observer (case lock of
|
|
62
|
+
Some l -> [l.lockHolder]
|
|
63
|
+
None -> [])
|
|
64
|
+
|
|
65
|
+
ensure
|
|
66
|
+
amount > 0.0 &&
|
|
67
|
+
instrumentId.admin == issuer
|
|
68
|
+
|
|
69
|
+
choice Transfer : ContractId Asset
|
|
70
|
+
with
|
|
71
|
+
newOwner : Party
|
|
72
|
+
transferMeta : Metadata
|
|
73
|
+
controller owner
|
|
74
|
+
do
|
|
75
|
+
assertMsg "Cannot transfer locked asset" (isNone lock)
|
|
76
|
+
assertMsg "Cannot transfer to self" (newOwner /= owner)
|
|
77
|
+
create this with
|
|
78
|
+
owner = newOwner
|
|
79
|
+
meta = transferMeta
|
|
80
|
+
|
|
81
|
+
choice ProposeTransfer : ContractId TransferOffer
|
|
82
|
+
with
|
|
83
|
+
newOwner : Party
|
|
84
|
+
offerMeta : Metadata
|
|
85
|
+
expiresAt : Time
|
|
86
|
+
controller owner
|
|
87
|
+
do
|
|
88
|
+
assertMsg "Cannot propose transfer of locked asset" (isNone lock)
|
|
89
|
+
now <- getTime
|
|
90
|
+
assertMsg "Expiry must be in future" (expiresAt > now)
|
|
91
|
+
|
|
92
|
+
create TransferOffer with
|
|
93
|
+
assetCid = self
|
|
94
|
+
asset = this
|
|
95
|
+
sender = owner
|
|
96
|
+
receiver = newOwner
|
|
97
|
+
offerMetadata = offerMeta
|
|
98
|
+
createdAt = now
|
|
99
|
+
expiresAt = expiresAt
|
|
100
|
+
|
|
101
|
+
choice Split : (ContractId Asset, ContractId Asset)
|
|
102
|
+
with
|
|
103
|
+
splitAmount : Decimal
|
|
104
|
+
controller owner
|
|
105
|
+
do
|
|
106
|
+
assertMsg "Split amount must be positive" (splitAmount > 0.0)
|
|
107
|
+
assertMsg "Insufficient amount for split" (amount > splitAmount)
|
|
108
|
+
assertMsg "Cannot split locked asset" (isNone lock)
|
|
109
|
+
|
|
110
|
+
asset1 <- create this with
|
|
111
|
+
amount = splitAmount
|
|
112
|
+
meta = createMemo "Split from parent holding"
|
|
113
|
+
|
|
114
|
+
asset2 <- create this with
|
|
115
|
+
amount = amount - splitAmount
|
|
116
|
+
meta = createMemo "Split from parent holding"
|
|
117
|
+
|
|
118
|
+
return (asset1, asset2)
|
|
119
|
+
|
|
120
|
+
choice Merge : ContractId Asset
|
|
121
|
+
with
|
|
122
|
+
otherAssetCid : ContractId Asset
|
|
123
|
+
controller owner
|
|
124
|
+
do
|
|
125
|
+
other <- fetch otherAssetCid
|
|
126
|
+
|
|
127
|
+
assertMsg "Issuers must match" (other.issuer == issuer)
|
|
128
|
+
assertMsg "Symbols must match" (other.symbol == symbol)
|
|
129
|
+
assertMsg "Owners must match" (other.owner == owner)
|
|
130
|
+
assertMsg "InstrumentIds must match" (other.instrumentId == instrumentId)
|
|
131
|
+
assertMsg "Cannot merge locked assets" (isNone lock && isNone other.lock)
|
|
132
|
+
|
|
133
|
+
exercise otherAssetCid Archive
|
|
134
|
+
|
|
135
|
+
create this with
|
|
136
|
+
amount = amount + other.amount
|
|
137
|
+
meta = createMemo "Merged from multiple holdings"
|
|
138
|
+
|
|
139
|
+
choice LockAsset : ContractId Asset
|
|
140
|
+
with
|
|
141
|
+
lockData : AssetLock
|
|
142
|
+
controller owner
|
|
143
|
+
do
|
|
144
|
+
assertMsg "Asset is already locked" (isNone lock)
|
|
145
|
+
create this with lock = Some lockData
|
|
146
|
+
|
|
147
|
+
choice UnlockAsset : ContractId Asset
|
|
148
|
+
with
|
|
149
|
+
unlockTime : Time
|
|
150
|
+
lockHolder : Party
|
|
151
|
+
controller lockHolder
|
|
152
|
+
do
|
|
153
|
+
assertMsg "Asset is not locked" (isSome lock)
|
|
154
|
+
|
|
155
|
+
case lock of
|
|
156
|
+
Some l -> do
|
|
157
|
+
assertMsg "Not the lock holder" (l.lockHolder == lockHolder)
|
|
158
|
+
case l.lockedUntil of
|
|
159
|
+
Some until -> assertMsg "Lock period not expired" (unlockTime >= until)
|
|
160
|
+
None -> return ()
|
|
161
|
+
None -> abort "Asset is not locked"
|
|
162
|
+
|
|
163
|
+
create this with lock = None
|
|
164
|
+
|
|
165
|
+
choice Burn : ()
|
|
166
|
+
controller owner
|
|
167
|
+
do
|
|
168
|
+
assertMsg "Cannot burn locked asset" (isNone lock)
|
|
169
|
+
return ()
|
|
170
|
+
|
|
171
|
+
template TransferOffer
|
|
172
|
+
with
|
|
173
|
+
assetCid : ContractId Asset
|
|
174
|
+
asset : Asset
|
|
175
|
+
sender : Party
|
|
176
|
+
receiver : Party
|
|
177
|
+
offerMetadata : Metadata
|
|
178
|
+
createdAt : Time
|
|
179
|
+
expiresAt : Time
|
|
180
|
+
where
|
|
181
|
+
signatory sender
|
|
182
|
+
observer receiver
|
|
183
|
+
|
|
184
|
+
choice AcceptTransfer : ContractId Asset
|
|
185
|
+
controller receiver
|
|
186
|
+
do
|
|
187
|
+
now <- getTime
|
|
188
|
+
assertMsg "Transfer offer has expired" (now <= expiresAt)
|
|
189
|
+
|
|
190
|
+
exercise assetCid Archive
|
|
191
|
+
|
|
192
|
+
create asset with
|
|
193
|
+
owner = receiver
|
|
194
|
+
meta = offerMetadata
|
|
195
|
+
|
|
196
|
+
choice RejectTransfer : ContractId Asset
|
|
197
|
+
with
|
|
198
|
+
rejectionReason : Text
|
|
199
|
+
controller receiver
|
|
200
|
+
do
|
|
201
|
+
return assetCid
|
|
202
|
+
|
|
203
|
+
choice WithdrawOffer : ContractId Asset
|
|
204
|
+
controller sender
|
|
205
|
+
do
|
|
206
|
+
return assetCid
|
|
207
|
+
|
|
208
|
+
-------------------------------------------------------------------------------
|
|
209
|
+
-- EXCHANGE DEPOSIT TEMPLATE
|
|
210
|
+
-------------------------------------------------------------------------------
|
|
211
|
+
|
|
212
|
+
template ExchangeDepositAddress
|
|
213
|
+
with
|
|
214
|
+
exchange : Party
|
|
215
|
+
exchangeVault : Party
|
|
216
|
+
depositMemo : Text
|
|
217
|
+
supportedInstruments : [InstrumentId]
|
|
218
|
+
where
|
|
219
|
+
signatory exchange
|
|
220
|
+
observer exchangeVault
|
|
221
|
+
|
|
222
|
+
nonconsuming choice DepositToExchange : ContractId Asset
|
|
223
|
+
with
|
|
224
|
+
userAssetCid : ContractId Asset
|
|
225
|
+
user : Party
|
|
226
|
+
controller user, exchange
|
|
227
|
+
do
|
|
228
|
+
asset <- fetch userAssetCid
|
|
229
|
+
|
|
230
|
+
assertMsg "Instrument not supported"
|
|
231
|
+
(asset.instrumentId `elem` supportedInstruments)
|
|
232
|
+
|
|
233
|
+
exercise userAssetCid Transfer with
|
|
234
|
+
newOwner = exchangeVault
|
|
235
|
+
transferMeta = createMemo depositMemo
|
|
236
|
+
|
|
237
|
+
-------------------------------------------------------------------------------
|
|
238
|
+
-- HELPER FUNCTIONS
|
|
239
|
+
-------------------------------------------------------------------------------
|
|
240
|
+
|
|
241
|
+
isNone : Optional a -> Bool
|
|
242
|
+
isNone opt = case opt of
|
|
243
|
+
None -> True
|
|
244
|
+
Some _ -> False
|
|
245
|
+
|
|
246
|
+
isSome : Optional a -> Bool
|
|
247
|
+
isSome opt = not (isNone opt)
|
|
248
|
+
|
|
249
|
+
-------------------------------------------------------------------------------
|
|
250
|
+
-- TEST SCRIPTS
|
|
251
|
+
-------------------------------------------------------------------------------
|
|
252
|
+
|
|
253
|
+
setup : Script ()
|
|
254
|
+
setup = do
|
|
255
|
+
issuer <- allocateParty "AssetIssuer"
|
|
256
|
+
alice <- allocateParty "Alice"
|
|
257
|
+
bob <- allocateParty "Bob"
|
|
258
|
+
|
|
259
|
+
let instrumentId = InstrumentId with
|
|
260
|
+
admin = issuer
|
|
261
|
+
id = "GOLD-TOKEN"
|
|
262
|
+
|
|
263
|
+
assetCid <- submitMulti [issuer, alice] [] $ createCmd Asset with
|
|
264
|
+
issuer = issuer
|
|
265
|
+
owner = alice
|
|
266
|
+
amount = 1000.0
|
|
267
|
+
symbol = "GOLD"
|
|
268
|
+
instrumentId = instrumentId
|
|
269
|
+
lock = None
|
|
270
|
+
meta = createMemo "Initial issuance"
|
|
271
|
+
|
|
272
|
+
submitMulti [alice, issuer] [] $ exerciseCmd assetCid Transfer with
|
|
273
|
+
newOwner = bob
|
|
274
|
+
transferMeta = createMemo "Payment to Bob"
|
|
275
|
+
|
|
276
|
+
return ()
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Asset Ownership System for Canton Network
|
|
2
|
+
# CIP-0056 Token Standard Compatible
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
sdk-version: 3.4.9
|
|
6
|
+
name: AssetOwnership
|
|
7
|
+
source: daml/AssetHolding.daml
|
|
8
|
+
parties:
|
|
9
|
+
- AssetIssuer
|
|
10
|
+
- Alice
|
|
11
|
+
- Bob
|
|
12
|
+
- Exchange
|
|
13
|
+
- ExchangeVault
|
|
14
|
+
version: 1.0.0
|
|
15
|
+
dependencies:
|
|
16
|
+
- daml-prim
|
|
17
|
+
- daml-stdlib
|
|
18
|
+
- daml-script
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
-- | Multi-Party Agreement System for Canton Network
|
|
2
|
+
-- Supports incremental signing, governance, multi-sig workflows
|
|
3
|
+
module MultiPartyAgreement where
|
|
4
|
+
|
|
5
|
+
import DA.List (delete, sort)
|
|
6
|
+
import Daml.Script
|
|
7
|
+
|
|
8
|
+
-------------------------------------------------------------------------------
|
|
9
|
+
-- DATA TYPES
|
|
10
|
+
-------------------------------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
data AgreementType
|
|
13
|
+
= Governance
|
|
14
|
+
| Transaction
|
|
15
|
+
| Legal
|
|
16
|
+
| Policy
|
|
17
|
+
| Custom Text
|
|
18
|
+
deriving (Eq, Show)
|
|
19
|
+
|
|
20
|
+
data AgreementMetadata = AgreementMetadata
|
|
21
|
+
with
|
|
22
|
+
agreementType : AgreementType
|
|
23
|
+
createdAt : Time
|
|
24
|
+
description : Text
|
|
25
|
+
attachmentHashes : [Text]
|
|
26
|
+
deriving (Eq, Show)
|
|
27
|
+
|
|
28
|
+
data Signature = Signature
|
|
29
|
+
with
|
|
30
|
+
signer : Party
|
|
31
|
+
signedAt : Time
|
|
32
|
+
comments : Optional Text
|
|
33
|
+
deriving (Eq, Show)
|
|
34
|
+
|
|
35
|
+
-------------------------------------------------------------------------------
|
|
36
|
+
-- FINALIZED AGREEMENT
|
|
37
|
+
-------------------------------------------------------------------------------
|
|
38
|
+
|
|
39
|
+
template Agreement
|
|
40
|
+
with
|
|
41
|
+
signatories : [Party]
|
|
42
|
+
terms : Text
|
|
43
|
+
agreementId : Text
|
|
44
|
+
metadata : AgreementMetadata
|
|
45
|
+
signatures : [Signature]
|
|
46
|
+
finalizedAt : Time
|
|
47
|
+
where
|
|
48
|
+
signatory signatories
|
|
49
|
+
|
|
50
|
+
ensure uniqueParties signatories
|
|
51
|
+
|
|
52
|
+
choice ArchiveAgreement : ()
|
|
53
|
+
controller signatories
|
|
54
|
+
do
|
|
55
|
+
return ()
|
|
56
|
+
|
|
57
|
+
choice ProposeAmendment : ContractId AgreementProposal
|
|
58
|
+
with
|
|
59
|
+
proposer : Party
|
|
60
|
+
newTerms : Text
|
|
61
|
+
amendmentReason : Text
|
|
62
|
+
controller proposer
|
|
63
|
+
do
|
|
64
|
+
assertMsg "Proposer must be a signatory" (proposer `elem` signatories)
|
|
65
|
+
now <- getTime
|
|
66
|
+
create AgreementProposal with
|
|
67
|
+
proposer = proposer
|
|
68
|
+
allParties = signatories
|
|
69
|
+
alreadySigned = [proposer]
|
|
70
|
+
pendingParties = delete proposer signatories
|
|
71
|
+
terms = newTerms
|
|
72
|
+
agreementId = agreementId <> "-amendment"
|
|
73
|
+
metadata = metadata with
|
|
74
|
+
description = amendmentReason
|
|
75
|
+
createdAt = now
|
|
76
|
+
signatures = [Signature with
|
|
77
|
+
signer = proposer
|
|
78
|
+
signedAt = now
|
|
79
|
+
comments = Some amendmentReason]
|
|
80
|
+
requiredSignatures = length signatories
|
|
81
|
+
expiresAt = None
|
|
82
|
+
|
|
83
|
+
-------------------------------------------------------------------------------
|
|
84
|
+
-- AGREEMENT PROPOSAL
|
|
85
|
+
-------------------------------------------------------------------------------
|
|
86
|
+
|
|
87
|
+
template AgreementProposal
|
|
88
|
+
with
|
|
89
|
+
proposer : Party
|
|
90
|
+
allParties : [Party]
|
|
91
|
+
alreadySigned : [Party]
|
|
92
|
+
pendingParties : [Party]
|
|
93
|
+
terms : Text
|
|
94
|
+
agreementId : Text
|
|
95
|
+
metadata : AgreementMetadata
|
|
96
|
+
signatures : [Signature]
|
|
97
|
+
requiredSignatures : Int
|
|
98
|
+
expiresAt : Optional Time
|
|
99
|
+
where
|
|
100
|
+
signatory alreadySigned
|
|
101
|
+
observer allParties
|
|
102
|
+
|
|
103
|
+
ensure
|
|
104
|
+
uniqueParties allParties &&
|
|
105
|
+
uniqueParties alreadySigned &&
|
|
106
|
+
requiredSignatures > 0 &&
|
|
107
|
+
requiredSignatures <= length allParties &&
|
|
108
|
+
length alreadySigned <= requiredSignatures
|
|
109
|
+
|
|
110
|
+
choice Sign : ContractId AgreementProposal
|
|
111
|
+
with
|
|
112
|
+
signer : Party
|
|
113
|
+
signatureComments : Optional Text
|
|
114
|
+
controller signer
|
|
115
|
+
do
|
|
116
|
+
now <- getTime
|
|
117
|
+
|
|
118
|
+
assertMsg "Party is not in required signatories" (signer `elem` allParties)
|
|
119
|
+
assertMsg "Party has already signed" (signer `notElem` alreadySigned)
|
|
120
|
+
assertMsg "Party is not in pending list" (signer `elem` pendingParties)
|
|
121
|
+
|
|
122
|
+
case expiresAt of
|
|
123
|
+
Some expiry -> assertMsg "Proposal has expired" (now <= expiry)
|
|
124
|
+
None -> return ()
|
|
125
|
+
|
|
126
|
+
let newSignature = Signature with
|
|
127
|
+
signer = signer
|
|
128
|
+
signedAt = now
|
|
129
|
+
comments = signatureComments
|
|
130
|
+
|
|
131
|
+
create this with
|
|
132
|
+
alreadySigned = signer :: alreadySigned
|
|
133
|
+
pendingParties = delete signer pendingParties
|
|
134
|
+
signatures = newSignature :: signatures
|
|
135
|
+
|
|
136
|
+
choice Finalize : ContractId Agreement
|
|
137
|
+
controller proposer
|
|
138
|
+
do
|
|
139
|
+
now <- getTime
|
|
140
|
+
assertMsg "Not enough signatures"
|
|
141
|
+
(length alreadySigned >= requiredSignatures)
|
|
142
|
+
|
|
143
|
+
case expiresAt of
|
|
144
|
+
Some expiry -> assertMsg "Cannot finalize expired proposal" (now <= expiry)
|
|
145
|
+
None -> return ()
|
|
146
|
+
|
|
147
|
+
create Agreement with
|
|
148
|
+
signatories = sort alreadySigned
|
|
149
|
+
terms = terms
|
|
150
|
+
agreementId = agreementId
|
|
151
|
+
metadata = metadata
|
|
152
|
+
signatures = reverse signatures
|
|
153
|
+
finalizedAt = now
|
|
154
|
+
|
|
155
|
+
choice Reject : ()
|
|
156
|
+
with
|
|
157
|
+
rejector : Party
|
|
158
|
+
reason : Text
|
|
159
|
+
controller rejector
|
|
160
|
+
do
|
|
161
|
+
assertMsg "Only proposer or signatories can reject"
|
|
162
|
+
(rejector == proposer || rejector `elem` allParties)
|
|
163
|
+
return ()
|
|
164
|
+
|
|
165
|
+
choice UpdateExpiration : ContractId AgreementProposal
|
|
166
|
+
with
|
|
167
|
+
newExpiry : Optional Time
|
|
168
|
+
controller proposer
|
|
169
|
+
do
|
|
170
|
+
now <- getTime
|
|
171
|
+
case newExpiry of
|
|
172
|
+
Some expiry -> assertMsg "New expiry must be in future" (expiry > now)
|
|
173
|
+
None -> return ()
|
|
174
|
+
create this with expiresAt = newExpiry
|
|
175
|
+
|
|
176
|
+
choice AddRequiredParty : ContractId AgreementProposal
|
|
177
|
+
with
|
|
178
|
+
newParty : Party
|
|
179
|
+
controller proposer
|
|
180
|
+
do
|
|
181
|
+
assertMsg "Party is already required" (newParty `notElem` allParties)
|
|
182
|
+
create this with
|
|
183
|
+
allParties = newParty :: allParties
|
|
184
|
+
pendingParties = newParty :: pendingParties
|
|
185
|
+
requiredSignatures = requiredSignatures + 1
|
|
186
|
+
|
|
187
|
+
choice RemoveRequiredParty : ContractId AgreementProposal
|
|
188
|
+
with
|
|
189
|
+
partyToRemove : Party
|
|
190
|
+
controller proposer
|
|
191
|
+
do
|
|
192
|
+
assertMsg "Cannot remove party who has signed"
|
|
193
|
+
(partyToRemove `notElem` alreadySigned)
|
|
194
|
+
assertMsg "Party is not in required list"
|
|
195
|
+
(partyToRemove `elem` allParties)
|
|
196
|
+
|
|
197
|
+
create this with
|
|
198
|
+
allParties = delete partyToRemove allParties
|
|
199
|
+
pendingParties = delete partyToRemove pendingParties
|
|
200
|
+
requiredSignatures = requiredSignatures - 1
|
|
201
|
+
|
|
202
|
+
-------------------------------------------------------------------------------
|
|
203
|
+
-- HELPER FUNCTIONS
|
|
204
|
+
-------------------------------------------------------------------------------
|
|
205
|
+
|
|
206
|
+
uniqueParties : [Party] -> Bool
|
|
207
|
+
uniqueParties parties = length parties == length (dedup parties)
|
|
208
|
+
|
|
209
|
+
dedup : Eq a => [a] -> [a]
|
|
210
|
+
dedup [] = []
|
|
211
|
+
dedup (x::xs) = x :: dedup (filter (/= x) xs)
|
|
212
|
+
|
|
213
|
+
-------------------------------------------------------------------------------
|
|
214
|
+
-- TEST SCRIPTS
|
|
215
|
+
-------------------------------------------------------------------------------
|
|
216
|
+
|
|
217
|
+
setup : Script ()
|
|
218
|
+
setup = do
|
|
219
|
+
alice <- allocateParty "Alice"
|
|
220
|
+
bob <- allocateParty "Bob"
|
|
221
|
+
charlie <- allocateParty "Charlie"
|
|
222
|
+
|
|
223
|
+
now <- getTime
|
|
224
|
+
|
|
225
|
+
let meta = AgreementMetadata with
|
|
226
|
+
agreementType = Governance
|
|
227
|
+
createdAt = now
|
|
228
|
+
description = "Partnership agreement"
|
|
229
|
+
attachmentHashes = []
|
|
230
|
+
|
|
231
|
+
proposalCid <- submit alice $ createCmd AgreementProposal with
|
|
232
|
+
proposer = alice
|
|
233
|
+
allParties = [alice, bob, charlie]
|
|
234
|
+
alreadySigned = [alice]
|
|
235
|
+
pendingParties = [bob, charlie]
|
|
236
|
+
terms = "All parties agree to cooperate on the project"
|
|
237
|
+
agreementId = "AGREEMENT-001"
|
|
238
|
+
metadata = meta
|
|
239
|
+
signatures = [Signature with
|
|
240
|
+
signer = alice
|
|
241
|
+
signedAt = now
|
|
242
|
+
comments = Some "Initiated by Alice"]
|
|
243
|
+
requiredSignatures = 3
|
|
244
|
+
expiresAt = None
|
|
245
|
+
|
|
246
|
+
proposalCid2 <- submit bob $ exerciseCmd proposalCid Sign with
|
|
247
|
+
signer = bob
|
|
248
|
+
signatureComments = Some "Approved by Bob"
|
|
249
|
+
|
|
250
|
+
proposalCid3 <- submit charlie $ exerciseCmd proposalCid2 Sign with
|
|
251
|
+
signer = charlie
|
|
252
|
+
signatureComments = Some "Approved by Charlie"
|
|
253
|
+
|
|
254
|
+
submit alice $ exerciseCmd proposalCid3 Finalize
|
|
255
|
+
|
|
256
|
+
return ()
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Multi-Party Agreement System for Canton Network
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
sdk-version: 3.4.9
|
|
5
|
+
name: MultiPartyAgreement
|
|
6
|
+
source: daml/MultiPartyAgreement.daml
|
|
7
|
+
parties:
|
|
8
|
+
- Alice
|
|
9
|
+
- Bob
|
|
10
|
+
- Charlie
|
|
11
|
+
version: 1.0.0
|
|
12
|
+
dependencies:
|
|
13
|
+
- daml-prim
|
|
14
|
+
- daml-stdlib
|
|
15
|
+
- daml-script
|