diff --git a/bindings/generated/latest/ccip/factory/factory.go b/bindings/generated/latest/ccip/factory/factory.go index 850c213ca..cb15f5554 100644 --- a/bindings/generated/latest/ccip/factory/factory.go +++ b/bindings/generated/latest/ccip/factory/factory.go @@ -36,7 +36,7 @@ var ( const ( PackageName = "ccip-factory-v2" - PackageID = "5cff0009063a47b7c9c8fd8951b93ca1e89544724e3fd6f22c37349ee7a9389a" + PackageID = "3a262bd6f3ad98e715057434c052d56cea01494ea290776c2c6ebdf3c7c67a28" SDKVersion = "3.4.11" ) diff --git a/bindings/generated/latest/link/link.go b/bindings/generated/latest/link/link.go index 03c5a65ac..0774ecce4 100644 --- a/bindings/generated/latest/link/link.go +++ b/bindings/generated/latest/link/link.go @@ -27,7 +27,7 @@ var ( const ( PackageName = "link" - PackageID = "f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2" + PackageID = "fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60" SDKVersion = "3.4.11" ) diff --git a/contracts/ccip/factory/daml.yaml b/contracts/ccip/factory/daml.yaml index 72a9e2f4a..738f2d42a 100644 --- a/contracts/ccip/factory/daml.yaml +++ b/contracts/ccip/factory/daml.yaml @@ -1,7 +1,7 @@ sdk-version: 3.4.11 name: ccip-factory-v2 source: daml -version: 2.1.0 +version: 2.1.1 upgrades: ../../dars/released/ccip-factory-v2-2.0.0.dar build-options: - "-Wno-crypto-text-is-alpha" @@ -14,7 +14,7 @@ data-dependencies: - ../../mcms/api/.daml/dist/mcms-api-1.0.0.dar - ../../chainlink/api/.daml/dist/chainlink-api-2.0.0.dar - - ../../link/.daml/dist/link-2.0.0.dar + - ../../link/.daml/dist/link-2.1.0.dar - ../codec/.daml/dist/ccip-codec-v2-2.0.0.dar - ../api/.daml/dist/ccip-api-v2-2.0.0.dar diff --git a/contracts/ccip/test/daml.yaml b/contracts/ccip/test/daml.yaml index 0036c44cc..a350a674c 100644 --- a/contracts/ccip/test/daml.yaml +++ b/contracts/ccip/test/daml.yaml @@ -14,7 +14,7 @@ data-dependencies: - ../../mcms/api/.daml/dist/mcms-api-1.0.0.dar - ../../chainlink/api/.daml/dist/chainlink-api-2.0.0.dar - - ../../link/.daml/dist/link-2.0.0.dar + - ../../link/.daml/dist/link-2.1.0.dar - ../codec/.daml/dist/ccip-codec-v2-2.0.0.dar - ../api/.daml/dist/ccip-api-v2-2.0.0.dar @@ -34,7 +34,7 @@ data-dependencies: - ../sender/.daml/dist/ccip-sender-v2-2.1.0.dar - ../receiver/.daml/dist/ccip-receiver-v2-2.1.0.dar - - ../factory/.daml/dist/ccip-factory-v2-2.1.0.dar + - ../factory/.daml/dist/ccip-factory-v2-2.1.1.dar dependencies: - daml-prim - daml-stdlib diff --git a/contracts/dars/dev/PACKAGE_INFO.md b/contracts/dars/dev/PACKAGE_INFO.md index 7a4a8142c..60302695d 100644 --- a/contracts/dars/dev/PACKAGE_INFO.md +++ b/contracts/dars/dev/PACKAGE_INFO.md @@ -162,10 +162,10 @@ | `splice-api-token-metadata-v1` | `1.0.0` | [`4ded6b668cb3b64f7a88a30874cd41c75829f5e064b3fbbadf41ec7e8363354f`](#4ded6b668cb3b64f7a88a30874cd41c75829f5e064b3fbbadf41ec7e8363354f) | | `splice-api-token-transfer-instruction-v1` | `1.0.0` | [`55ba4deb0ad4662c4168b39859738a0e91388d252286480c7331b3f71a517281`](#55ba4deb0ad4662c4168b39859738a0e91388d252286480c7331b3f71a517281) | -## ccip-factory-v2-dev.dar +## ccip-factory-v2-dev.dar - Name: `ccip-factory-v2` -- Version: `2.1.0` -- Package ID: `5cff0009063a47b7c9c8fd8951b93ca1e89544724e3fd6f22c37349ee7a9389a` +- Version: `2.1.1` +- Package ID: `3a262bd6f3ad98e715057434c052d56cea01494ea290776c2c6ebdf3c7c67a28` ### Dependencies: | PACKAGE NAME | VERSION | PACKAGE ID | |--------------------------------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------| @@ -178,14 +178,14 @@ | `ccip-events-v2` | `2.0.0` | [`bfe1045f369796e1f8320e3c3d3b43142009ce1e8a6773b57b12f49c357c2f3f`](#bfe1045f369796e1f8320e3c3d3b43142009ce1e8a6773b57b12f49c357c2f3f) | | `ccip-executor-v2` | `2.0.0` | [`f0fa05643b29b791f7928bcfb91f7bbf6c33622e91859fc3ef69c85482b4a688`](#f0fa05643b29b791f7928bcfb91f7bbf6c33622e91859fc3ef69c85482b4a688) | | `ccip-extension-api-v2` | `2.0.0` | [`289011bdbefe42c7dbea0a4f101127095e8b5f5281d45c84f6eca06de11689a4`](#289011bdbefe42c7dbea0a4f101127095e8b5f5281d45c84f6eca06de11689a4) | -| `ccip-factory-v2` | `2.1.0` | [`5cff0009063a47b7c9c8fd8951b93ca1e89544724e3fd6f22c37349ee7a9389a`](#5cff0009063a47b7c9c8fd8951b93ca1e89544724e3fd6f22c37349ee7a9389a) | +| `ccip-factory-v2` | `2.1.1` | [`3a262bd6f3ad98e715057434c052d56cea01494ea290776c2c6ebdf3c7c67a28`](#3a262bd6f3ad98e715057434c052d56cea01494ea290776c2c6ebdf3c7c67a28) | | `ccip-lock-release-token-pool-v2` | `2.1.0` | [`7a9aef5d7e6c613c2c57365e732554f049e66f96a6f1d29ca190f5d767580a5a`](#7a9aef5d7e6c613c2c57365e732554f049e66f96a6f1d29ca190f5d767580a5a) | | `ccip-rate-limiter-v2` | `2.0.0` | [`62e9c12c62db5de2138722340d7ff597f9a07678aeba1e1fbf9ad121a9e89d40`](#62e9c12c62db5de2138722340d7ff597f9a07678aeba1e1fbf9ad121a9e89d40) | | `ccip-runtime-v2` | `2.1.0` | [`b43a9896a3d6753fa23d25f42b6021a20984d807ca73f0dc08be71b582451e1c`](#b43a9896a3d6753fa23d25f42b6021a20984d807ca73f0dc08be71b582451e1c) | | `ccip-tickets-v2` | `2.0.0` | [`506234a38fffe1945e3b5ff3a5e444a237fa9592b249b0f7444c194207df2c2d`](#506234a38fffe1945e3b5ff3a5e444a237fa9592b249b0f7444c194207df2c2d) | | `ccip-utils-v2` | `2.1.0` | [`e135acbb9955708adb809001c5c7de738b486cc0c54769719c2849f3e081238e`](#e135acbb9955708adb809001c5c7de738b486cc0c54769719c2849f3e081238e) | | `chainlink-api` | `2.0.0` | [`b9f630bb75179b06f350030282a2276259016da59ba60677b3a8280d854dc2d8`](#b9f630bb75179b06f350030282a2276259016da59ba60677b3a8280d854dc2d8) | -| `link` | `2.0.0` | [`f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2`](#f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2) | +| `link` | `2.1.0` | [`fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60`](#fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60) | | `mcms-api` | `1.0.0` | [`674d8f60de56afd32698ae19516260217c73dd9ed082680fa840ede4b7665240`](#674d8f60de56afd32698ae19516260217c73dd9ed082680fa840ede4b7665240) | | `splice-api-token-burn-mint-v1` | `1.0.0` | [`9cc2cbc838ef38dc2c7f34014c9c452bcf71b8e2a4f939235fc0b5d0924b185e`](#9cc2cbc838ef38dc2c7f34014c9c452bcf71b8e2a4f939235fc0b5d0924b185e) | | `splice-api-token-holding-v1` | `1.0.0` | [`718a0f77e505a8de22f188bd4c87fe74101274e9d4cb1bfac7d09aec7158d35b`](#718a0f77e505a8de22f188bd4c87fe74101274e9d4cb1bfac7d09aec7158d35b) | @@ -289,10 +289,10 @@ | `splice-api-token-metadata-v1` | `1.0.0` | [`4ded6b668cb3b64f7a88a30874cd41c75829f5e064b3fbbadf41ec7e8363354f`](#4ded6b668cb3b64f7a88a30874cd41c75829f5e064b3fbbadf41ec7e8363354f) | | `splice-api-token-transfer-instruction-v1` | `1.0.0` | [`55ba4deb0ad4662c4168b39859738a0e91388d252286480c7331b3f71a517281`](#55ba4deb0ad4662c4168b39859738a0e91388d252286480c7331b3f71a517281) | -## ccip-test-v2-dev.dar +## ccip-test-v2-dev.dar - Name: `ccip-test-v2` - Version: `2.1.0` -- Package ID: `503c4faa48e3140a19b85e8be4bcc4b9f595a9a796ea245130ea4e87ccaee16e` +- Package ID: `2ccb639c3422d8c07ec610e324bf249272cc220740bab546475c9dcfe230c1de` ### Dependencies: | PACKAGE NAME | VERSION | PACKAGE ID | |--------------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------| @@ -305,18 +305,18 @@ | `ccip-events-v2` | `2.0.0` | [`bfe1045f369796e1f8320e3c3d3b43142009ce1e8a6773b57b12f49c357c2f3f`](#bfe1045f369796e1f8320e3c3d3b43142009ce1e8a6773b57b12f49c357c2f3f) | | `ccip-executor-v2` | `2.0.0` | [`f0fa05643b29b791f7928bcfb91f7bbf6c33622e91859fc3ef69c85482b4a688`](#f0fa05643b29b791f7928bcfb91f7bbf6c33622e91859fc3ef69c85482b4a688) | | `ccip-extension-api-v2` | `2.0.0` | [`289011bdbefe42c7dbea0a4f101127095e8b5f5281d45c84f6eca06de11689a4`](#289011bdbefe42c7dbea0a4f101127095e8b5f5281d45c84f6eca06de11689a4) | -| `ccip-factory-v2` | `2.1.0` | [`5cff0009063a47b7c9c8fd8951b93ca1e89544724e3fd6f22c37349ee7a9389a`](#5cff0009063a47b7c9c8fd8951b93ca1e89544724e3fd6f22c37349ee7a9389a) | +| `ccip-factory-v2` | `2.1.1` | [`3a262bd6f3ad98e715057434c052d56cea01494ea290776c2c6ebdf3c7c67a28`](#3a262bd6f3ad98e715057434c052d56cea01494ea290776c2c6ebdf3c7c67a28) | | `ccip-lock-release-token-pool-v2` | `2.1.0` | [`7a9aef5d7e6c613c2c57365e732554f049e66f96a6f1d29ca190f5d767580a5a`](#7a9aef5d7e6c613c2c57365e732554f049e66f96a6f1d29ca190f5d767580a5a) | | `ccip-rate-limiter-v2` | `2.0.0` | [`62e9c12c62db5de2138722340d7ff597f9a07678aeba1e1fbf9ad121a9e89d40`](#62e9c12c62db5de2138722340d7ff597f9a07678aeba1e1fbf9ad121a9e89d40) | | `ccip-receiver-v2` | `2.1.0` | [`95c3cdc53c172c7202f5b2711ad01d591c84e0aa00cbce4fd0d9ad8f75c11552`](#95c3cdc53c172c7202f5b2711ad01d591c84e0aa00cbce4fd0d9ad8f75c11552) | | `ccip-runtime-v2` | `2.1.0` | [`b43a9896a3d6753fa23d25f42b6021a20984d807ca73f0dc08be71b582451e1c`](#b43a9896a3d6753fa23d25f42b6021a20984d807ca73f0dc08be71b582451e1c) | | `ccip-sender-v2` | `2.1.0` | [`7ffa2b979e063523780a09ae70c71166410b177abb98094e448c658869335af3`](#7ffa2b979e063523780a09ae70c71166410b177abb98094e448c658869335af3) | -| `ccip-test-v2` | `2.1.0` | [`503c4faa48e3140a19b85e8be4bcc4b9f595a9a796ea245130ea4e87ccaee16e`](#503c4faa48e3140a19b85e8be4bcc4b9f595a9a796ea245130ea4e87ccaee16e) | +| `ccip-test-v2` | `2.1.0` | [`2ccb639c3422d8c07ec610e324bf249272cc220740bab546475c9dcfe230c1de`](#2ccb639c3422d8c07ec610e324bf249272cc220740bab546475c9dcfe230c1de) | | `ccip-tickets-v2` | `2.0.0` | [`506234a38fffe1945e3b5ff3a5e444a237fa9592b249b0f7444c194207df2c2d`](#506234a38fffe1945e3b5ff3a5e444a237fa9592b249b0f7444c194207df2c2d) | | `ccip-utils-v2` | `2.1.0` | [`e135acbb9955708adb809001c5c7de738b486cc0c54769719c2849f3e081238e`](#e135acbb9955708adb809001c5c7de738b486cc0c54769719c2849f3e081238e) | | `chainlink-api` | `2.0.0` | [`b9f630bb75179b06f350030282a2276259016da59ba60677b3a8280d854dc2d8`](#b9f630bb75179b06f350030282a2276259016da59ba60677b3a8280d854dc2d8) | | `daml-script` | `3.4.11` | [`fe2e0175af21ba46d48cda3614edb9e30f2bc6972c20eb1d09666fa81703aa2e`](#fe2e0175af21ba46d48cda3614edb9e30f2bc6972c20eb1d09666fa81703aa2e) | -| `link` | `2.0.0` | [`f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2`](#f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2) | +| `link` | `2.1.0` | [`fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60`](#fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60) | | `mcms-api` | `1.0.0` | [`674d8f60de56afd32698ae19516260217c73dd9ed082680fa840ede4b7665240`](#674d8f60de56afd32698ae19516260217c73dd9ed082680fa840ede4b7665240) | | `splice-api-token-burn-mint-v1` | `1.0.0` | [`9cc2cbc838ef38dc2c7f34014c9c452bcf71b8e2a4f939235fc0b5d0924b185e`](#9cc2cbc838ef38dc2c7f34014c9c452bcf71b8e2a4f939235fc0b5d0924b185e) | | `splice-api-token-holding-v1` | `1.0.0` | [`718a0f77e505a8de22f188bd4c87fe74101274e9d4cb1bfac7d09aec7158d35b`](#718a0f77e505a8de22f188bd4c87fe74101274e9d4cb1bfac7d09aec7158d35b) | @@ -386,29 +386,29 @@ | `globalconfig` | `2.0.0` | [`3c1ea44ffb0da044c9c3c1c1f00210c5bf02514d5265a1b91d26c4139688f5d4`](#3c1ea44ffb0da044c9c3c1c1f00210c5bf02514d5265a1b91d26c4139688f5d4) | | `mcms-api` | `1.0.0` | [`674d8f60de56afd32698ae19516260217c73dd9ed082680fa840ede4b7665240`](#674d8f60de56afd32698ae19516260217c73dd9ed082680fa840ede4b7665240) | -## link-dev.dar +## link-dev.dar - Name: `link` -- Version: `2.0.0` -- Package ID: `f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2` +- Version: `2.1.0` +- Package ID: `fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60` ### Dependencies: | PACKAGE NAME | VERSION | PACKAGE ID | |--------------------------------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------| -| `link` | `2.0.0` | [`f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2`](#f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2) | +| `link` | `2.1.0` | [`fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60`](#fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60) | | `splice-api-token-burn-mint-v1` | `1.0.0` | [`9cc2cbc838ef38dc2c7f34014c9c452bcf71b8e2a4f939235fc0b5d0924b185e`](#9cc2cbc838ef38dc2c7f34014c9c452bcf71b8e2a4f939235fc0b5d0924b185e) | | `splice-api-token-holding-v1` | `1.0.0` | [`718a0f77e505a8de22f188bd4c87fe74101274e9d4cb1bfac7d09aec7158d35b`](#718a0f77e505a8de22f188bd4c87fe74101274e9d4cb1bfac7d09aec7158d35b) | | `splice-api-token-metadata-v1` | `1.0.0` | [`4ded6b668cb3b64f7a88a30874cd41c75829f5e064b3fbbadf41ec7e8363354f`](#4ded6b668cb3b64f7a88a30874cd41c75829f5e064b3fbbadf41ec7e8363354f) | | `splice-api-token-transfer-instruction-v1` | `1.0.0` | [`55ba4deb0ad4662c4168b39859738a0e91388d252286480c7331b3f71a517281`](#55ba4deb0ad4662c4168b39859738a0e91388d252286480c7331b3f71a517281) | -## link-test-dev.dar +## link-test-dev.dar - Name: `link-test` - Version: `0.0.1` -- Package ID: `144bcaba6bd110fe15ab37ba43d33125fe6c1c777f14fe825368e5b44e4241a1` +- Package ID: `e9689cf061700e272e666b154522d7b4b51b760bfe975d01a66190df7b86210b` ### Dependencies: | PACKAGE NAME | VERSION | PACKAGE ID | |--------------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------| | `daml-script` | `3.4.11` | [`fe2e0175af21ba46d48cda3614edb9e30f2bc6972c20eb1d09666fa81703aa2e`](#fe2e0175af21ba46d48cda3614edb9e30f2bc6972c20eb1d09666fa81703aa2e) | -| `link` | `2.0.0` | [`f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2`](#f83b5db150d68564a63d9a5760a8a49323424f58ebbea0e089fe79643a8f29c2) | -| `link-test` | `0.0.1` | [`144bcaba6bd110fe15ab37ba43d33125fe6c1c777f14fe825368e5b44e4241a1`](#144bcaba6bd110fe15ab37ba43d33125fe6c1c777f14fe825368e5b44e4241a1) | +| `link` | `2.1.0` | [`fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60`](#fc1fcb7dbfd1959cafbd54bfa6f6cc88c1678607b0f95ee3f6ee8e9ee8eb2b60) | +| `link-test` | `0.0.1` | [`e9689cf061700e272e666b154522d7b4b51b760bfe975d01a66190df7b86210b`](#e9689cf061700e272e666b154522d7b4b51b760bfe975d01a66190df7b86210b) | | `splice-api-token-burn-mint-v1` | `1.0.0` | [`9cc2cbc838ef38dc2c7f34014c9c452bcf71b8e2a4f939235fc0b5d0924b185e`](#9cc2cbc838ef38dc2c7f34014c9c452bcf71b8e2a4f939235fc0b5d0924b185e) | | `splice-api-token-holding-v1` | `1.0.0` | [`718a0f77e505a8de22f188bd4c87fe74101274e9d4cb1bfac7d09aec7158d35b`](#718a0f77e505a8de22f188bd4c87fe74101274e9d4cb1bfac7d09aec7158d35b) | | `splice-api-token-metadata-v1` | `1.0.0` | [`4ded6b668cb3b64f7a88a30874cd41c75829f5e064b3fbbadf41ec7e8363354f`](#4ded6b668cb3b64f7a88a30874cd41c75829f5e064b3fbbadf41ec7e8363354f) | diff --git a/contracts/dars/dev/ccip-factory-v2-dev.dar b/contracts/dars/dev/ccip-factory-v2-dev.dar index f4e75f205..2066e22d2 100644 Binary files a/contracts/dars/dev/ccip-factory-v2-dev.dar and b/contracts/dars/dev/ccip-factory-v2-dev.dar differ diff --git a/contracts/dars/dev/ccip-test-v2-dev.dar b/contracts/dars/dev/ccip-test-v2-dev.dar index 4096cfd80..4f54d4268 100644 Binary files a/contracts/dars/dev/ccip-test-v2-dev.dar and b/contracts/dars/dev/ccip-test-v2-dev.dar differ diff --git a/contracts/dars/dev/link-dev.dar b/contracts/dars/dev/link-dev.dar index e353eade9..e1fdd906e 100644 Binary files a/contracts/dars/dev/link-dev.dar and b/contracts/dars/dev/link-dev.dar differ diff --git a/contracts/dars/dev/link-test-dev.dar b/contracts/dars/dev/link-test-dev.dar index 5e338008e..3c65e1ff1 100644 Binary files a/contracts/dars/dev/link-test-dev.dar and b/contracts/dars/dev/link-test-dev.dar differ diff --git a/contracts/link/daml.yaml b/contracts/link/daml.yaml index 550525eae..1bda90a10 100644 --- a/contracts/link/daml.yaml +++ b/contracts/link/daml.yaml @@ -2,10 +2,12 @@ sdk-version: 3.4.11 name: link source: daml init-script: Main:runAll -version: 2.0.0 +version: 2.1.0 +upgrades: ../dars/released/link-2.0.0.dar build-options: - "-Wno-crypto-text-is-alpha" - "-Werror=unused-dependency" + - "-Wno-upgraded-template-expression-changed" data-dependencies: - ../dependencies/splice/splice-api-token-metadata-v1-1.0.0.dar - ../dependencies/splice/splice-api-token-holding-v1-1.0.0.dar diff --git a/contracts/link/daml/Link/Token.daml b/contracts/link/daml/Link/Token.daml index 74ba159a3..b39a4ca80 100644 --- a/contracts/link/daml/Link/Token.daml +++ b/contracts/link/daml/Link/Token.daml @@ -23,6 +23,7 @@ template LinkHolding meta : MetadataV1.Metadata where signatory holdingOwner, holdingAdmin + ensure holdingInstrumentId.admin == holdingAdmin interface instance HoldingV1.Holding for LinkHolding where view = HoldingV1.HoldingView with @@ -83,6 +84,7 @@ template LinkTransferInstruction where signatory instructionAdmin, instructionTransfer.sender observer instructionTransfer.receiver + ensure instructionTransfer.instrumentId.admin == instructionAdmin interface instance TransferV1.TransferInstruction for LinkTransferInstruction where view = TransferV1.TransferInstructionView with @@ -96,6 +98,8 @@ template LinkTransferInstruction assertMsg "LinkTransferInstruction.TransferInstruction_Accept: transfer instruction expired" (instructionTransfer.executeBefore > now) lockedHolding <- fetch instructionLockedHoldingCid + assertMsg "LinkTransferInstruction.TransferInstruction_Accept: locked holding admin mismatch" + (lockedHolding.lockedAdmin == instructionAdmin) archive instructionLockedHoldingCid let mergedMeta = mergeAcceptMeta arg.extraArgs.meta lockedHolding.meta @@ -132,6 +136,7 @@ template LockedLinkHolding where signatory lockedAdmin, lockedSender observer lockedReceiver + ensure lockedInstrumentId.admin == lockedAdmin template LinkRegistry with @@ -192,6 +197,8 @@ template LinkRegistry holding <- fetch linkHoldingCid assertMsg "LinkRegistry.BurnMintFactory_BurnMint: input instrumentId mismatch" (holding.holdingInstrumentId == registryInstrumentId) + assertMsg "LinkRegistry.BurnMintFactory_BurnMint: input holding admin mismatch" + (holding.holdingAdmin == registryAdmin) assertAuthorizedOwner registryAdmin arg.extraActors holding.holdingOwner archive linkHoldingCid @@ -245,6 +252,7 @@ sumAndArchiveInputs sender instrumentId cids = let linkHoldingCid = coerceContractId cid : ContractId LinkHolding holding <- fetch linkHoldingCid assertMsg "Link: input instrumentId mismatch" (holding.holdingInstrumentId == instrumentId) + assertMsg "Link: input instrumentId admin mismatch" (holding.holdingInstrumentId.admin == holding.holdingAdmin) assertMsg "Link: input owner mismatch" (holding.holdingOwner == sender) archive linkHoldingCid pure (acc + holding.holdingAmount)) @@ -349,6 +357,8 @@ validateTransferFactoryCall admin instrumentId arg = do (arg.expectedAdmin == admin) assertMsg "LinkRegistry.TransferFactory_Transfer: instrumentId mismatch" (transfer.instrumentId == instrumentId) + assertMsg "LinkRegistry.TransferFactory_Transfer: instrumentId admin mismatch" + (transfer.instrumentId.admin == admin) assertMsg "LinkRegistry.TransferFactory_Transfer: amount must be positive" (transfer.amount > 0.0) assertMsg "LinkRegistry.TransferFactory_Transfer: requestedAt must not be in the future" diff --git a/contracts/link/test/daml.yaml b/contracts/link/test/daml.yaml index c5fc56592..82c8b287b 100644 --- a/contracts/link/test/daml.yaml +++ b/contracts/link/test/daml.yaml @@ -16,4 +16,4 @@ dependencies: - daml-prim - daml-stdlib - daml-script - - ../.daml/dist/link-2.0.0.dar + - ../.daml/dist/link-2.1.0.dar