diff --git a/package-lock.json b/package-lock.json index b9451a0..019f506 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,8 @@ "name": "@gala-chain/dex", "version": "1.1.3", "dependencies": { - "@gala-chain/api": "3.1.3", - "@gala-chain/chaincode": "3.1.3", + "@gala-chain/api": "3.2.0", + "@gala-chain/chaincode": "3.2.0", "@grpc/grpc-js": "1.10.10", "@noble/hashes": "^1.8.0", "decimal.js": "^10.6.0", @@ -18,9 +18,9 @@ "fabric-shim": "2.5.6" }, "devDependencies": { - "@gala-chain/cli": "3.1.3", - "@gala-chain/client": "3.1.3", - "@gala-chain/test": "3.1.3", + "@gala-chain/cli": "3.2.0", + "@gala-chain/client": "3.2.0", + "@gala-chain/test": "3.2.0", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/jest": "^29.5.12", "@types/node": "18.11.9", @@ -71,6 +71,7 @@ "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.7", @@ -1144,10 +1145,11 @@ } }, "node_modules/@gala-chain/api": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@gala-chain/api/-/api-3.1.3.tgz", - "integrity": "sha512-2wQNPSVW1UqDcyWDuR2Y7SUa41kLgc+OG6fT16G0S+0sd23i10BGinYfEk87mxLPDxu+KCL5b3sJGpqqqiN77Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@gala-chain/api/-/api-3.2.0.tgz", + "integrity": "sha512-zbwcIl6ETtjoP+o6OG4/CcG9uJ2LZbDP8rmoAIa6bjtziWmplq9BtXzCj26qJmtiYmCKEHMfi0D5IZ3GtkNS3Q==", "license": "Apache-2.0", + "peer": true, "dependencies": { "bignumber.js": "^9.0.2", "bn.js": "5.2.1", @@ -1165,13 +1167,18 @@ } }, "node_modules/@gala-chain/chaincode": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@gala-chain/chaincode/-/chaincode-3.1.3.tgz", - "integrity": "sha512-smh7vrfQ3A9piQNXwLtnlCMU+WL+3WQ9Y6Qx+Ht0lp8gKqSQtPkmmVpluZybGwSyYtd4V/uqpEambNc+5g1fIA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@gala-chain/chaincode/-/chaincode-3.2.0.tgz", + "integrity": "sha512-/PfghBA75OZLfGmGHKBHW7YCwQn34hxUp1Q61cf4eMfB29BngMPXyY51uAqE/hletLwVUNe7Ptyr43CNi+rK5A==", "license": "Apache-2.0", "dependencies": { - "@gala-chain/api": "3.1.3", + "@gala-chain/api": "3.2.0", "@grpc/grpc-js": "1.10.10", + "@opentelemetry/api": "^1.9.1", + "@opentelemetry/exporter-trace-otlp-proto": "^0.205.0", + "@opentelemetry/resources": "^2.10.0", + "@opentelemetry/sdk-trace-node": "^2.10.0", + "@opentelemetry/semantic-conventions": "^1.43.0", "fabric-contract-api": "2.5.6", "fabric-protos": "2.2.20", "fabric-shim": "2.5.6", @@ -1187,13 +1194,13 @@ } }, "node_modules/@gala-chain/cli": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@gala-chain/cli/-/cli-3.1.3.tgz", - "integrity": "sha512-zOQflDoo/OkC3WLQhZ0558DjLMkEhcMfNpsSAAphSrmMsiq9hb09tH9c673b49MPBiUhguS1uzU6aYFOVOAaVg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@gala-chain/cli/-/cli-3.2.0.tgz", + "integrity": "sha512-iS0L8c1DgEzrd5A5Vulzj+S7eQudIntJaB/feh0hLQf5WXZA22tKZ/EZzatRAIL6JCxpufxF/t1+jTGDx91XAg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gala-chain/api": "3.1.3", + "@gala-chain/api": "3.2.0", "@noble/secp256k1": "^1.7.1", "@oclif/core": "^3", "@oclif/plugin-help": "^3", @@ -1221,13 +1228,13 @@ } }, "node_modules/@gala-chain/client": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@gala-chain/client/-/client-3.1.3.tgz", - "integrity": "sha512-fn3HKTZJO0kZV28QnV05iBh2kKaaMyuu/Dvu7SrLN/ClKFa3BJc4Z+qHPY2GSUDjvuj5JRx3wZifRrTJu0bMGw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@gala-chain/client/-/client-3.2.0.tgz", + "integrity": "sha512-vOD4oOe9HL+pn9wvP5QVW8H3mwLJewOg84/cUi+inpn7RgXedg3dZJmljmPcSqpGYgT8QuDvY4TtLH5jFx08aQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gala-chain/api": "3.1.3", + "@gala-chain/api": "3.2.0", "axios": "^1.6.0", "jsonschema": "^1.4.1", "tslib": "^2.6.2" @@ -1247,19 +1254,19 @@ } }, "node_modules/@gala-chain/test": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@gala-chain/test/-/test-3.1.3.tgz", - "integrity": "sha512-g/E5pkF+rg8VMACkiEMZUosdmFBG7TFVd34ry/RfsEvpXHadnrl0FEs33mh0FJpGBOOBrGmWqcnxWnOUsZB95A==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@gala-chain/test/-/test-3.2.0.tgz", + "integrity": "sha512-C39pyGvU3PFH6jBv8cdE4zFSy2d+NwS0vRSkhns2+ioDfW5cw/x1SJQOAZVTcp7/VmVoOnFNJVkNFdtgAINfGA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gala-chain/client": "3.1.3", + "@gala-chain/client": "3.2.0", "@jest/globals": "29.7.0", "nanoid": "^3.3.6", "tslib": "^2.6.2" }, "peerDependencies": { - "@gala-chain/api": "3.1.3", + "@gala-chain/api": "3.2.0", "bignumber.js": "*", "class-transformer": "0.5.1", "fabric-contract-api": "*", @@ -2201,6 +2208,363 @@ "node": ">=8" } }, + "node_modules/@opentelemetry/api": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz", + "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-logs": { + "version": "0.205.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.205.0.tgz", + "integrity": "sha512-wBlPk1nFB37Hsm+3Qy73yQSobVn28F4isnWIBvKpd5IUH/eat8bwcL02H9yzmHyyPmukeccSl2mbN5sDQZYnPg==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.3.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/context-async-hooks": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.10.0.tgz", + "integrity": "sha512-bvyMcgLEkozzSzpEEEo1OMoeQ97bxj6Qs2uN3mPrSdDvObMI1myffD/BPqcLlzZO9//d1SqQA/WPw7Cz2AiqhA==", + "license": "Apache-2.0", + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.1.0.tgz", + "integrity": "sha512-RMEtHsxJs/GiHHxYT58IY57UXAQTuUnZVco6ymDEqTNlJKTimM4qPUPVe8InNFyBjhHBEAx4k3Q8LtNayBsbUQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-proto": { + "version": "0.205.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.205.0.tgz", + "integrity": "sha512-bGtFzqiENO2GpJk988mOBMe0MfeNpTQjbLm/LBijas6VRyEDQarUzdBHpFlu89A25k1+BCntdWGsWTa9Ai4FyA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/otlp-exporter-base": "0.205.0", + "@opentelemetry/otlp-transformer": "0.205.0", + "@opentelemetry/resources": "2.1.0", + "@opentelemetry/sdk-trace-base": "2.1.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.1.0.tgz", + "integrity": "sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/otlp-exporter-base": { + "version": "0.205.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.205.0.tgz", + "integrity": "sha512-2MN0C1IiKyo34M6NZzD6P9Nv9Dfuz3OJ3rkZwzFmF6xzjDfqqCTatc9v1EpNfaP55iDOCLHFyYNCgs61FFgtUQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/otlp-transformer": "0.205.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/otlp-transformer": { + "version": "0.205.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.205.0.tgz", + "integrity": "sha512-KmObgqPtk9k/XTlWPJHdMbGCylRAmMJNXIRh6VYJmvlRDMfe+DonH41G7eenG8t4FXn3fxOGh14o/WiMRR6vPg==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.205.0", + "@opentelemetry/core": "2.1.0", + "@opentelemetry/resources": "2.1.0", + "@opentelemetry/sdk-logs": "0.205.0", + "@opentelemetry/sdk-metrics": "2.1.0", + "@opentelemetry/sdk-trace-base": "2.1.0", + "protobufjs": "^7.3.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.1.0.tgz", + "integrity": "sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/resources": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.10.0.tgz", + "integrity": "sha512-q6MMm2zhggzsHVNbabYwut+a6nbuQQe3URUoxaojM/8K1IBfwwPzvxIjNi2/lI1TFe+fMHMW9MWhrtDLEXEnkA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.10.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.10.0.tgz", + "integrity": "sha512-/wNZ8twnEQQA4HoHu22+vcsdru6pWPWxW+7w+FlxT6Id7PE/WIbZmVKkte+PF72e0F2dnImFeHD2syyE1Mw6MQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-logs": { + "version": "0.205.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.205.0.tgz", + "integrity": "sha512-nyqhNQ6eEzPWQU60Nc7+A5LIq8fz3UeIzdEVBQYefB4+msJZ2vuVtRuk9KxPMw1uHoHDtYEwkr2Ct0iG29jU8w==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.205.0", + "@opentelemetry/core": "2.1.0", + "@opentelemetry/resources": "2.1.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.4.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.1.0.tgz", + "integrity": "sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.1.0.tgz", + "integrity": "sha512-J9QX459mzqHLL9Y6FZ4wQPRZG4TOpMCyPOh6mkr/humxE1W2S3Bvf4i75yiMW9uyed2Kf5rxmLhTm/UK8vNkAw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/resources": "2.1.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.9.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/resources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.1.0.tgz", + "integrity": "sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace/-/sdk-trace-2.10.0.tgz", + "integrity": "sha512-MfQGq3GRmTh5fM/y+OjaO0vj6+luCB1XO2gfXCalKCfgKw0eHL++sm75DNweC6ohlp+aFvACqeE0fYayqdRaoQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.10.0", + "@opentelemetry/resources": "2.10.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.1.0.tgz", + "integrity": "sha512-uTX9FBlVQm4S2gVQO1sb5qyBLq/FPjbp+tmGoxu4tIgtYGmBYB44+KX/725RFDe30yBSaA9Ml9fqphe1hbUyLQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/resources": "2.1.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/resources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.1.0.tgz", + "integrity": "sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.1.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.10.0.tgz", + "integrity": "sha512-GZK/G6oZyBLGlH1pUgeDch7D91KoHd2uotUGIkWCPi9GI5T9X0p4L7nNAMDR1BQjkRYoDqo+ddfVx9t5Uhys+Q==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/context-async-hooks": "2.10.0", + "@opentelemetry/core": "2.10.0", + "@opentelemetry/sdk-trace-base": "2.10.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.10.0.tgz", + "integrity": "sha512-/wNZ8twnEQQA4HoHu22+vcsdru6pWPWxW+7w+FlxT6Id7PE/WIbZmVKkte+PF72e0F2dnImFeHD2syyE1Mw6MQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/sdk-trace-base": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.10.0.tgz", + "integrity": "sha512-GuYQQT7QD2EeO8lcZLRQzcbOyhqAzL+6WWTKTU9mSUBYBazkEDl+VrQcXQhbB08OWM9anD1aHleVadzulpOaUQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.10.0", + "@opentelemetry/resources": "2.10.0", + "@opentelemetry/sdk-trace": "2.10.0", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace/node_modules/@opentelemetry/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.10.0.tgz", + "integrity": "sha512-/wNZ8twnEQQA4HoHu22+vcsdru6pWPWxW+7w+FlxT6Id7PE/WIbZmVKkte+PF72e0F2dnImFeHD2syyE1Mw6MQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.43.0.tgz", + "integrity": "sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, "node_modules/@pkgr/core": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", @@ -2554,7 +2918,8 @@ "version": "18.11.9", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/semver": { "version": "7.7.1", @@ -2640,6 +3005,7 @@ "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "license": "BSD-2-Clause", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -2808,6 +3174,7 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3148,6 +3515,7 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", "license": "MIT", + "peer": true, "engines": { "node": "*" } @@ -3207,6 +3575,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", @@ -3429,13 +3798,15 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/class-validator": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.2.tgz", "integrity": "sha512-3kMVRF2io8N8pY1IFIXlho9r8IPUUIfHe2hYVtiebvAzU2XeQFXTv+XI4WX+TnXmtwXMDcjngcpkiPM0O9PvLw==", "license": "MIT", + "peer": true, "dependencies": { "@types/validator": "^13.11.8", "libphonenumber-js": "^1.11.1", @@ -3447,6 +3818,7 @@ "resolved": "https://registry.npmjs.org/class-validator-jsonschema/-/class-validator-jsonschema-5.0.2.tgz", "integrity": "sha512-b+oHktogJLWf/IRWEoVizrT/0TkYBHKxSLHbE4lq5DEJAEhq6z6nBJbw4hwh9akEeX3v08Hw8d5TBEv7VcZ8TQ==", "license": "MIT", + "peer": true, "dependencies": { "lodash.groupby": "^4.6.0", "lodash.merge": "^4.6.2", @@ -4034,6 +4406,7 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -4090,6 +4463,7 @@ "integrity": "sha512-/IGJ6+Dka158JnP5n5YFMOszjDWrXggGz1LaK/guZq9vZTmniaKlHcsscvkAhn9y4U+BU3JuUdYvtAMcv30y4A==", "dev": true, "license": "MIT", + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -4989,6 +5363,7 @@ "integrity": "sha512-uaVpjPU+Yar2n4sNPJZpRC/jPgeLhw7nbzGl+aInkleg8Zkor4eBfQKpNQQxEORqgqWS5hAHNYu2x0iPEHBmLw==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "fabric-common": "2.2.20", "jsrsasign": "^10.5.25", @@ -5110,6 +5485,7 @@ "integrity": "sha512-Hdecb9UBuY/M2FZI4I7mYNRejYrULqA/VBiFIX3zLaQ7z7HVSfZOjFb9o+YepygBES1NSn/e+hSDfAFcziPSQQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "fabric-common": "2.2.20", "fabric-protos": "2.2.20", @@ -6255,6 +6631,7 @@ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -6888,6 +7265,7 @@ "resolved": "https://registry.npmjs.org/json-stringify-deterministic/-/json-stringify-deterministic-1.0.12.tgz", "integrity": "sha512-q3PN0lbUdv0pmurkBNdJH3pfFvOTL/Zp0lquqpvcjfKzt6Y0j49EPHAmVHCAS4Ceq/Y+PejWTzyiVpoY71+D6g==", "license": "MIT", + "peer": true, "engines": { "node": ">= 4" } @@ -7158,7 +7536,8 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/lru-cache": { "version": "5.1.1", @@ -7960,6 +8339,7 @@ "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -9141,6 +9521,7 @@ "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -9266,6 +9647,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index f682ba5..7da4336 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ "benchmark": "jest --config=benchmarks/jest.config.js --runInBand" }, "dependencies": { - "@gala-chain/api": "3.1.3", - "@gala-chain/chaincode": "3.1.3", + "@gala-chain/api": "3.2.0", + "@gala-chain/chaincode": "3.2.0", "@grpc/grpc-js": "1.10.10", "@noble/hashes": "^1.8.0", "decimal.js": "^10.6.0", @@ -34,9 +34,9 @@ "fabric-shim": "2.5.6" }, "devDependencies": { - "@gala-chain/cli": "3.1.3", - "@gala-chain/client": "3.1.3", - "@gala-chain/test": "3.1.3", + "@gala-chain/cli": "3.2.0", + "@gala-chain/client": "3.2.0", + "@gala-chain/test": "3.2.0", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/jest": "^29.5.12", "@types/node": "18.11.9", diff --git a/src/api/types/DexDtos.ts b/src/api/types/DexDtos.ts index 412ace6..f260d66 100644 --- a/src/api/types/DexDtos.ts +++ b/src/api/types/DexDtos.ts @@ -305,6 +305,10 @@ export class BurnDto extends SubmitCallDTO { @IsString() public positionId?: string; + @IsOptional() + @IsString() + public recipient?: string; + constructor( token0: TokenClassKey, token1: TokenClassKey, @@ -570,6 +574,10 @@ export class CollectDto extends SubmitCallDTO { @IsString() public positionId?: string; + @IsOptional() + @IsString() + public recipient?: string; + constructor( token0: TokenClassKey, token1: TokenClassKey, @@ -637,6 +645,14 @@ export class AddLiquidityDTO extends SubmitCallDTO { @IsString() public positionId?: string; + @IsOptional() + @IsString() + public owner?: string; + + @IsOptional() + @IsString() + public liquidityProvider?: string; + constructor( token0: TokenClassKey, token1: TokenClassKey, diff --git a/src/chaincode/dex/collectProtocolFees.spec.ts b/src/chaincode/dex/collectProtocolFees.spec.ts index 7303e47..e7ea8e4 100644 --- a/src/chaincode/dex/collectProtocolFees.spec.ts +++ b/src/chaincode/dex/collectProtocolFees.spec.ts @@ -109,8 +109,18 @@ describe("GetPosition", () => { pool.protocolFeesToken0 = new BigNumber(0); pool.protocolFeesToken1 = new BigNumber(0); - dexBal.subtractQuantity(new BigNumber(10), ctx.txUnixTime); - currBal.subtractQuantity(new BigNumber(10), ctx.txUnixTime); + dexBal.subtractQuantity( + new BigNumber(10), + ctx.txUnixTime, + undefined, + asValidUserAlias(users.admin.identityKey) + ); + currBal.subtractQuantity( + new BigNumber(10), + ctx.txUnixTime, + undefined, + asValidUserAlias(users.admin.identityKey) + ); userDexBal.addQuantity(new BigNumber(10)); userCurrBal.addQuantity(new BigNumber(10)); @@ -208,8 +218,18 @@ describe("GetPosition", () => { pool.protocolFeesToken0 = new BigNumber(9000); pool.protocolFeesToken1 = new BigNumber(0); - dexBal.subtractQuantity(new BigNumber(1000), ctx.txUnixTime); - currBal.subtractQuantity(new BigNumber(10), ctx.txUnixTime); + dexBal.subtractQuantity( + new BigNumber(1000), + ctx.txUnixTime, + undefined, + asValidUserAlias(users.admin.identityKey) + ); + currBal.subtractQuantity( + new BigNumber(10), + ctx.txUnixTime, + undefined, + asValidUserAlias(users.admin.identityKey) + ); userDexBal.addQuantity(new BigNumber(1000)); userCurrBal.addQuantity(new BigNumber(10));