From b4819500347bab831a7be86bf9d3b929bac49982 Mon Sep 17 00:00:00 2001 From: Vusal Gakhramanov Date: Sun, 7 Dec 2025 23:58:43 +0300 Subject: [PATCH] added sign order --- package-lock.json | 718 +++++++++++++++---------------------------- package.json | 2 +- src/Signer.ts | 13 + src/types/index.ts | 133 +++++--- test/TestProvider.ts | 45 ++- 5 files changed, 386 insertions(+), 525 deletions(-) diff --git a/package-lock.json b/package-lock.json index e0dd68d..50ce18d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "@typescript-eslint/parser": "^2.22.0", "@waves/js-test-env": "^0.7.4", "@waves/node-state": "0.0.5", - "@waves/waves-transactions": "^4.1.3", + "@waves/waves-transactions": "^4.3.11", "cross-env": "^7.0.0", "dotenv": "^8.2.0", "eslint": "^6.8.0", @@ -483,7 +483,7 @@ "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", "dev": true }, "node_modules/@protobufjs/base64": { @@ -501,13 +501,13 @@ "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", "dev": true }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dev": true, "dependencies": { "@protobufjs/aspromise": "^1.1.1", @@ -517,31 +517,31 @@ "node_modules/@protobufjs/float": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", "dev": true }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", "dev": true }, "node_modules/@protobufjs/path": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", "dev": true }, "node_modules/@protobufjs/pool": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", "dev": true }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "dev": true }, "node_modules/@types/babel__core": { @@ -591,15 +591,6 @@ "integrity": "sha512-ZmI0sZGAUNXUfMWboWwi4LcfpoVUYldyN6Oe0oJ5cCsHDU/LlRq8nQKPXhYLOx36QYSW9bNIb1vvRrD6K7Llgw==", "dev": true }, - "node_modules/@types/bignumber.js": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-5.0.0.tgz", - "integrity": "sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA==", - "dev": true, - "dependencies": { - "bignumber.js": "*" - } - }, "node_modules/@types/cli-color": { "version": "0.3.30", "resolved": "https://registry.npmjs.org/@types/cli-color/-/cli-color-0.3.30.tgz", @@ -689,9 +680,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "13.1.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.5.tgz", - "integrity": "sha512-wupvfmtbqRJzjCm1H2diy7wo31Gn1OzvqoxCfQuKM9eSecogzP0WTlrjdq7cf7jgSO2ZX6hxwgRPR8Wt7FA22g==" + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "dependencies": { + "undici-types": "~7.16.0" + } }, "node_modules/@types/node-fetch": { "version": "2.5.4", @@ -977,16 +971,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@waves/bignumber": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@waves/bignumber/-/bignumber-0.0.1.tgz", - "integrity": "sha512-+bQCa8fPCYdkLtwKsKtgbvDD7MzZTv6bc2ZpGMqn9uq+RjO8Qf4XSrs0DVhtWWhCHplkVIqOeS4bzgW1i3P7rw==", - "dev": true, - "dependencies": { - "@types/bignumber.js": "^5.0.0", - "bignumber.js": "^8.1.1" - } - }, "node_modules/@waves/client-logs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@waves/client-logs/-/client-logs-1.0.0.tgz", @@ -1030,9 +1014,9 @@ } }, "node_modules/@waves/marshall": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@waves/marshall/-/marshall-0.14.0.tgz", - "integrity": "sha512-zcmDEwlD3dgzaTX6d2UM57KaGO6DK759b9EfdGa48UzwsjLdqX+v/6hrcqZEPUYMeymD6fO8O4/S+0RDxue8Wg==", + "version": "0.15.0-beta.1", + "resolved": "https://registry.npmjs.org/@waves/marshall/-/marshall-0.15.0-beta.1.tgz", + "integrity": "sha512-3OoyDJ6tSAkEwSVIIO4wjtGUDMz0Jfs+PpSX41Gzp5+9PL5Q5xCR06idBDMhTBdqgm/xzndY++l4d8SMSFjGKw==", "dev": true, "dependencies": { "@types/base64-js": "^1.2.5", @@ -1043,13 +1027,13 @@ } }, "node_modules/@waves/node-api-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@waves/node-api-js/-/node-api-js-1.3.0.tgz", - "integrity": "sha512-FEI42KM1C6hE541kexV/eqWDeBrVxeMswZbHQ9kRlFdso/kKmouhhjV73NI/zFCSwMzbFI4YDe2ElOSim0DyEA==", + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@waves/node-api-js/-/node-api-js-1.3.10.tgz", + "integrity": "sha512-P3hQiw8K27tVt6S1MEnKejcPEaHbpPjW6NAn6wrT+9anuh1BTmjJPnuqwaU8WrLEC4faYBgssnhF8JsX5MrkvA==", "dependencies": { "@types/node-fetch": "^2.5.4", "@waves/bignumber": "^1.1.1", - "@waves/ts-types": "^1.0.12", + "@waves/ts-types": "1.2.0", "node-fetch": "^2.6.7", "typed-ts-events": "^1.1.1" } @@ -1128,9 +1112,9 @@ "dev": true }, "node_modules/@waves/protobuf-serialization": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@waves/protobuf-serialization/-/protobuf-serialization-1.2.4.tgz", - "integrity": "sha512-Qrq1Yle0oa4WC+R7KolK4LqdIKZXVlpDvJoT3Q+Sav8Q0oZ84W7zXPNRl99aqQtZ40YTN6JPmpHndDA28pQrlw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@waves/protobuf-serialization/-/protobuf-serialization-1.5.2.tgz", + "integrity": "sha512-oqgjP9P8AWhj8vDQW7aXYSYP+67g311vFDsY0oddMJvTJ+hvSM6rRG2y7H8KE1dekTUwp6cyRCNlsw2KueEk7g==", "dev": true, "dependencies": { "@types/long": "^4.0.0", @@ -1157,44 +1141,25 @@ } }, "node_modules/@waves/ts-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@waves/ts-types/-/ts-types-1.1.0.tgz", - "integrity": "sha512-SGHj4cIIvMAhDPiDhbpEzP2UqNF3VgTssGf6UaJ7vwzxq0W1pqz2lKMDe9pZup9p9rEETGW4Yy3+K1G7OGOLxA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@waves/ts-types/-/ts-types-1.2.0.tgz", + "integrity": "sha512-ddb0wTZj1Onh5CaQNTg0d7ivjKSaTymcJ0fwuEzLoEypuS9g5soJpbWIF+GApduxWt4lksXqaZjEJIU2EFTdeQ==" }, "node_modules/@waves/waves-transactions": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@waves/waves-transactions/-/waves-transactions-4.1.3.tgz", - "integrity": "sha512-WUOkyOvqmlRw+V4A/l67DgyoqRdwRAbWZ+XS0W3fvuPuaf3rg8WkJAFBoMaE52ifYrazZwPqsTppHaOToE6fcw==", + "version": "4.3.11", + "resolved": "https://registry.npmjs.org/@waves/waves-transactions/-/waves-transactions-4.3.11.tgz", + "integrity": "sha512-2WEy2V8QGy8f314WMISBIPk+IAyv9gpYRFBcGLGsECjvPCUOQpJGd5oJ34kAFGlDO8kIV9XYEyISjPiMmPRNLQ==", "dev": true, "dependencies": { - "@waves/marshall": "^0.14.0", - "@waves/node-api-js": "1.1.1", - "@waves/protobuf-serialization": "^1.2.4", + "@waves/marshall": "^0.15.0-beta.1", + "@waves/node-api-js": "^1.3.10", + "@waves/protobuf-serialization": "1.5.2", "@waves/ts-lib-crypto": "1.4.3", - "@waves/ts-types": "^0.3.2", + "@waves/ts-types": "1.2.0", "axios": "^0.19.0", "long": "^4.0.0" } }, - "node_modules/@waves/waves-transactions/node_modules/@waves/node-api-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@waves/node-api-js/-/node-api-js-1.1.1.tgz", - "integrity": "sha512-mlDtV5xlbYTvZ6sdBk7yf4ZrXgkc5vqV/BEPLtc5RW7boWx0b4E8/of2SIf+G9VY2NvDTOtuu7jGsK3IEys8NQ==", - "dev": true, - "dependencies": { - "@types/node-fetch": "^2.5.4", - "@waves/bignumber": "0.0.1", - "@waves/ts-types": "^0.3.2", - "node-fetch": "^2.6.0", - "typed-ts-events": "^1.1.1" - } - }, - "node_modules/@waves/waves-transactions/node_modules/@waves/ts-types": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@waves/ts-types/-/ts-types-0.3.3.tgz", - "integrity": "sha512-b4vDP9WCxYm8pfsUkW4aVYkVrihzYvAx08PwZ9twaUd67LJWzcdX1lJeIEGLi9SJ5PefLCPXEwVooWqBrSbd6g==", - "dev": true - }, "node_modules/@webassemblyjs/ast": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", @@ -1998,15 +1963,6 @@ "node": "*" } }, - "node_modules/bignumber.js": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", - "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -4832,34 +4788,30 @@ }, "node_modules/fsevents/node_modules/abbrev": { "version": "1.1.1", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/ansi-regex": { "version": "2.1.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/aproba": { "version": "1.2.0", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/are-we-there-yet": { "version": "1.1.5", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -4867,17 +4819,15 @@ }, "node_modules/fsevents/node_modules/balanced-match": { "version": "1.0.0", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4885,75 +4835,66 @@ }, "node_modules/fsevents/node_modules/chownr": { "version": "1.1.3", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/code-point-at": { "version": "1.1.0", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/concat-map": { "version": "0.0.1", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/console-control-strings": { "version": "1.1.0", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/core-util-is": { "version": "1.0.2", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/debug": { "version": "3.2.6", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/fsevents/node_modules/deep-extend": { "version": "0.6.0", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=4.0.0" } }, "node_modules/fsevents/node_modules/delegates": { "version": "1.0.0", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/detect-libc": { "version": "1.0.3", - "dev": true, + "extraneous": true, "inBundle": true, "license": "Apache-2.0", - "optional": true, "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -4963,27 +4904,24 @@ }, "node_modules/fsevents/node_modules/fs-minipass": { "version": "1.2.7", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "minipass": "^2.6.0" } }, "node_modules/fsevents/node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/gauge": { "version": "2.7.4", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -4997,10 +4935,9 @@ }, "node_modules/fsevents/node_modules/glob": { "version": "7.1.6", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5018,17 +4955,15 @@ }, "node_modules/fsevents/node_modules/has-unicode": { "version": "2.0.1", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/iconv-lite": { "version": "0.4.24", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -5038,20 +4973,18 @@ }, "node_modules/fsevents/node_modules/ignore-walk": { "version": "3.0.3", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "minimatch": "^3.0.4" } }, "node_modules/fsevents/node_modules/inflight": { "version": "1.0.6", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -5059,27 +4992,24 @@ }, "node_modules/fsevents/node_modules/inherits": { "version": "2.0.4", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/ini": { "version": "1.3.5", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "engines": { "node": "*" } }, "node_modules/fsevents/node_modules/is-fullwidth-code-point": { "version": "1.0.0", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "number-is-nan": "^1.0.0" }, @@ -5089,17 +5019,15 @@ }, "node_modules/fsevents/node_modules/isarray": { "version": "1.0.0", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/minimatch": { "version": "3.0.4", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -5109,17 +5037,15 @@ }, "node_modules/fsevents/node_modules/minimist": { "version": "0.0.8", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/minipass": { "version": "2.9.0", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -5127,20 +5053,18 @@ }, "node_modules/fsevents/node_modules/minizlib": { "version": "1.3.3", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "minipass": "^2.9.0" } }, "node_modules/fsevents/node_modules/mkdirp": { "version": "0.5.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "minimist": "0.0.8" }, @@ -5150,17 +5074,15 @@ }, "node_modules/fsevents/node_modules/ms": { "version": "2.1.2", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/needle": { "version": "2.4.0", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "debug": "^3.2.6", "iconv-lite": "^0.4.4", @@ -5175,10 +5097,9 @@ }, "node_modules/fsevents/node_modules/node-pre-gyp": { "version": "0.14.0", - "dev": true, + "extraneous": true, "inBundle": true, "license": "BSD-3-Clause", - "optional": true, "dependencies": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -5197,10 +5118,9 @@ }, "node_modules/fsevents/node_modules/nopt": { "version": "4.0.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "abbrev": "1", "osenv": "^0.1.4" @@ -5211,27 +5131,24 @@ }, "node_modules/fsevents/node_modules/npm-bundled": { "version": "1.1.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "npm-normalize-package-bin": "^1.0.1" } }, "node_modules/fsevents/node_modules/npm-normalize-package-bin": { "version": "1.0.1", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/npm-packlist": { "version": "1.4.7", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -5239,10 +5156,9 @@ }, "node_modules/fsevents/node_modules/npmlog": { "version": "4.1.2", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -5252,60 +5168,54 @@ }, "node_modules/fsevents/node_modules/number-is-nan": { "version": "1.0.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/object-assign": { "version": "4.1.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/once": { "version": "1.4.0", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "wrappy": "1" } }, "node_modules/fsevents/node_modules/os-homedir": { "version": "1.0.2", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/os-tmpdir": { "version": "1.0.2", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/osenv": { "version": "0.1.5", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -5313,27 +5223,24 @@ }, "node_modules/fsevents/node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/process-nextick-args": { "version": "2.0.1", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/rc": { "version": "1.2.8", - "dev": true, + "extraneous": true, "inBundle": true, "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -5346,17 +5253,15 @@ }, "node_modules/fsevents/node_modules/rc/node_modules/minimist": { "version": "1.2.0", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/readable-stream": { "version": "2.3.6", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -5369,10 +5274,9 @@ }, "node_modules/fsevents/node_modules/rimraf": { "version": "2.7.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "glob": "^7.1.3" }, @@ -5382,65 +5286,57 @@ }, "node_modules/fsevents/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/sax": { "version": "1.2.4", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/semver": { "version": "5.7.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "bin": { "semver": "bin/semver" } }, "node_modules/fsevents/node_modules/set-blocking": { "version": "2.0.0", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/signal-exit": { "version": "3.0.2", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/string_decoder": { "version": "1.1.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/fsevents/node_modules/string-width": { "version": "1.0.2", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -5452,10 +5348,9 @@ }, "node_modules/fsevents/node_modules/strip-ansi": { "version": "3.0.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -5465,20 +5360,18 @@ }, "node_modules/fsevents/node_modules/strip-json-comments": { "version": "2.0.1", - "dev": true, + "extraneous": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/tar": { "version": "4.4.13", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -5494,34 +5387,30 @@ }, "node_modules/fsevents/node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/fsevents/node_modules/wide-align": { "version": "1.1.3", - "dev": true, + "extraneous": true, "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { "string-width": "^1.0.2 || 2" } }, "node_modules/fsevents/node_modules/wrappy": { "version": "1.0.2", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/fsevents/node_modules/yallist": { "version": "3.1.1", - "dev": true, + "extraneous": true, "inBundle": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/function-bind": { "version": "1.1.1", @@ -9023,10 +8912,11 @@ } }, "node_modules/protobufjs": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", - "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", "dev": true, + "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -9039,7 +8929,7 @@ "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/long": "^4.0.1", - "@types/node": "^13.7.0", + "@types/node": ">=13.7.0", "long": "^4.0.0" }, "bin": { @@ -9047,12 +8937,6 @@ "pbts": "bin/pbts" } }, - "node_modules/protobufjs/node_modules/@types/node": { - "version": "13.13.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.34.tgz", - "integrity": "sha512-g8D1HF2dMDKYSDl5+79izRwRgNPsSynmWMbj50mj7GZ0b7Lv4p8EmZjbo3h0h+6iLr6YmVz9VnF6XVZ3O6V1Ug==", - "dev": true - }, "node_modules/proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -11327,6 +11211,11 @@ "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==", "dev": true }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" + }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -12403,7 +12292,7 @@ "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", "dev": true }, "@protobufjs/base64": { @@ -12421,13 +12310,13 @@ "@protobufjs/eventemitter": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", "dev": true }, "@protobufjs/fetch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dev": true, "requires": { "@protobufjs/aspromise": "^1.1.1", @@ -12437,31 +12326,31 @@ "@protobufjs/float": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", "dev": true }, "@protobufjs/inquire": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", "dev": true }, "@protobufjs/path": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", "dev": true }, "@protobufjs/pool": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", "dev": true }, "@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "dev": true }, "@types/babel__core": { @@ -12511,15 +12400,6 @@ "integrity": "sha512-ZmI0sZGAUNXUfMWboWwi4LcfpoVUYldyN6Oe0oJ5cCsHDU/LlRq8nQKPXhYLOx36QYSW9bNIb1vvRrD6K7Llgw==", "dev": true }, - "@types/bignumber.js": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-5.0.0.tgz", - "integrity": "sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA==", - "dev": true, - "requires": { - "bignumber.js": "*" - } - }, "@types/cli-color": { "version": "0.3.30", "resolved": "https://registry.npmjs.org/@types/cli-color/-/cli-color-0.3.30.tgz", @@ -12609,9 +12489,12 @@ "dev": true }, "@types/node": { - "version": "13.1.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.5.tgz", - "integrity": "sha512-wupvfmtbqRJzjCm1H2diy7wo31Gn1OzvqoxCfQuKM9eSecogzP0WTlrjdq7cf7jgSO2ZX6hxwgRPR8Wt7FA22g==" + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "requires": { + "undici-types": "~7.16.0" + } }, "@types/node-fetch": { "version": "2.5.4", @@ -12860,16 +12743,6 @@ } } }, - "@waves/bignumber": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@waves/bignumber/-/bignumber-0.0.1.tgz", - "integrity": "sha512-+bQCa8fPCYdkLtwKsKtgbvDD7MzZTv6bc2ZpGMqn9uq+RjO8Qf4XSrs0DVhtWWhCHplkVIqOeS4bzgW1i3P7rw==", - "dev": true, - "requires": { - "@types/bignumber.js": "^5.0.0", - "bignumber.js": "^8.1.1" - } - }, "@waves/client-logs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@waves/client-logs/-/client-logs-1.0.0.tgz", @@ -12915,9 +12788,9 @@ } }, "@waves/marshall": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@waves/marshall/-/marshall-0.14.0.tgz", - "integrity": "sha512-zcmDEwlD3dgzaTX6d2UM57KaGO6DK759b9EfdGa48UzwsjLdqX+v/6hrcqZEPUYMeymD6fO8O4/S+0RDxue8Wg==", + "version": "0.15.0-beta.1", + "resolved": "https://registry.npmjs.org/@waves/marshall/-/marshall-0.15.0-beta.1.tgz", + "integrity": "sha512-3OoyDJ6tSAkEwSVIIO4wjtGUDMz0Jfs+PpSX41Gzp5+9PL5Q5xCR06idBDMhTBdqgm/xzndY++l4d8SMSFjGKw==", "dev": true, "requires": { "@types/base64-js": "^1.2.5", @@ -12928,13 +12801,13 @@ } }, "@waves/node-api-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@waves/node-api-js/-/node-api-js-1.3.0.tgz", - "integrity": "sha512-FEI42KM1C6hE541kexV/eqWDeBrVxeMswZbHQ9kRlFdso/kKmouhhjV73NI/zFCSwMzbFI4YDe2ElOSim0DyEA==", + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@waves/node-api-js/-/node-api-js-1.3.10.tgz", + "integrity": "sha512-P3hQiw8K27tVt6S1MEnKejcPEaHbpPjW6NAn6wrT+9anuh1BTmjJPnuqwaU8WrLEC4faYBgssnhF8JsX5MrkvA==", "requires": { "@types/node-fetch": "^2.5.4", "@waves/bignumber": "^1.1.1", - "@waves/ts-types": "^1.0.12", + "@waves/ts-types": "1.2.0", "node-fetch": "^2.6.7", "typed-ts-events": "^1.1.1" }, @@ -13011,9 +12884,9 @@ "dev": true }, "@waves/protobuf-serialization": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@waves/protobuf-serialization/-/protobuf-serialization-1.2.4.tgz", - "integrity": "sha512-Qrq1Yle0oa4WC+R7KolK4LqdIKZXVlpDvJoT3Q+Sav8Q0oZ84W7zXPNRl99aqQtZ40YTN6JPmpHndDA28pQrlw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@waves/protobuf-serialization/-/protobuf-serialization-1.5.2.tgz", + "integrity": "sha512-oqgjP9P8AWhj8vDQW7aXYSYP+67g311vFDsY0oddMJvTJ+hvSM6rRG2y7H8KE1dekTUwp6cyRCNlsw2KueEk7g==", "dev": true, "requires": { "@types/long": "^4.0.0", @@ -13040,44 +12913,23 @@ } }, "@waves/ts-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@waves/ts-types/-/ts-types-1.1.0.tgz", - "integrity": "sha512-SGHj4cIIvMAhDPiDhbpEzP2UqNF3VgTssGf6UaJ7vwzxq0W1pqz2lKMDe9pZup9p9rEETGW4Yy3+K1G7OGOLxA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@waves/ts-types/-/ts-types-1.2.0.tgz", + "integrity": "sha512-ddb0wTZj1Onh5CaQNTg0d7ivjKSaTymcJ0fwuEzLoEypuS9g5soJpbWIF+GApduxWt4lksXqaZjEJIU2EFTdeQ==" }, "@waves/waves-transactions": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@waves/waves-transactions/-/waves-transactions-4.1.3.tgz", - "integrity": "sha512-WUOkyOvqmlRw+V4A/l67DgyoqRdwRAbWZ+XS0W3fvuPuaf3rg8WkJAFBoMaE52ifYrazZwPqsTppHaOToE6fcw==", + "version": "4.3.11", + "resolved": "https://registry.npmjs.org/@waves/waves-transactions/-/waves-transactions-4.3.11.tgz", + "integrity": "sha512-2WEy2V8QGy8f314WMISBIPk+IAyv9gpYRFBcGLGsECjvPCUOQpJGd5oJ34kAFGlDO8kIV9XYEyISjPiMmPRNLQ==", "dev": true, "requires": { - "@waves/marshall": "^0.14.0", - "@waves/node-api-js": "1.1.1", - "@waves/protobuf-serialization": "^1.2.4", + "@waves/marshall": "^0.15.0-beta.1", + "@waves/node-api-js": "^1.3.10", + "@waves/protobuf-serialization": "1.5.2", "@waves/ts-lib-crypto": "1.4.3", - "@waves/ts-types": "^0.3.2", + "@waves/ts-types": "1.2.0", "axios": "^0.19.0", "long": "^4.0.0" - }, - "dependencies": { - "@waves/node-api-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@waves/node-api-js/-/node-api-js-1.1.1.tgz", - "integrity": "sha512-mlDtV5xlbYTvZ6sdBk7yf4ZrXgkc5vqV/BEPLtc5RW7boWx0b4E8/of2SIf+G9VY2NvDTOtuu7jGsK3IEys8NQ==", - "dev": true, - "requires": { - "@types/node-fetch": "^2.5.4", - "@waves/bignumber": "0.0.1", - "@waves/ts-types": "^0.3.2", - "node-fetch": "^2.6.0", - "typed-ts-events": "^1.1.1" - } - }, - "@waves/ts-types": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@waves/ts-types/-/ts-types-0.3.3.tgz", - "integrity": "sha512-b4vDP9WCxYm8pfsUkW4aVYkVrihzYvAx08PwZ9twaUd67LJWzcdX1lJeIEGLi9SJ5PefLCPXEwVooWqBrSbd6g==", - "dev": true - } } }, "@webassemblyjs/ast": { @@ -13777,12 +13629,6 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, - "bignumber.js": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", - "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==", - "dev": true - }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -16114,26 +15960,22 @@ "abbrev": { "version": "1.1.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "aproba": { "version": "1.2.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -16142,14 +15984,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -16158,38 +15998,32 @@ "chownr": { "version": "1.1.3", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "debug": { "version": "3.2.6", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "ms": "^2.1.1" } @@ -16197,26 +16031,22 @@ "deep-extend": { "version": "0.6.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "delegates": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "detect-libc": { "version": "1.0.3", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "fs-minipass": { "version": "1.2.7", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "minipass": "^2.6.0" } @@ -16224,14 +16054,12 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "gauge": { "version": "2.7.4", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -16246,8 +16074,7 @@ "glob": { "version": "7.1.6", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -16260,14 +16087,12 @@ "has-unicode": { "version": "2.0.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -16275,8 +16100,7 @@ "ignore-walk": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "minimatch": "^3.0.4" } @@ -16284,8 +16108,7 @@ "inflight": { "version": "1.0.6", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -16294,20 +16117,17 @@ "inherits": { "version": "2.0.4", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "ini": { "version": "1.3.5", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "number-is-nan": "^1.0.0" } @@ -16315,14 +16135,12 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "minimatch": { "version": "3.0.4", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "brace-expansion": "^1.1.7" } @@ -16330,14 +16148,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "minipass": { "version": "2.9.0", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -16346,8 +16162,7 @@ "minizlib": { "version": "1.3.3", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "minipass": "^2.9.0" } @@ -16355,8 +16170,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "minimist": "0.0.8" } @@ -16364,14 +16178,12 @@ "ms": { "version": "2.1.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "needle": { "version": "2.4.0", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "debug": "^3.2.6", "iconv-lite": "^0.4.4", @@ -16381,8 +16193,7 @@ "node-pre-gyp": { "version": "0.14.0", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -16399,8 +16210,7 @@ "nopt": { "version": "4.0.1", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -16409,8 +16219,7 @@ "npm-bundled": { "version": "1.1.1", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "npm-normalize-package-bin": "^1.0.1" } @@ -16418,14 +16227,12 @@ "npm-normalize-package-bin": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "npm-packlist": { "version": "1.4.7", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -16434,8 +16241,7 @@ "npmlog": { "version": "4.1.2", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -16446,20 +16252,17 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "object-assign": { "version": "4.1.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "once": { "version": "1.4.0", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "wrappy": "1" } @@ -16467,20 +16270,17 @@ "os-homedir": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "osenv": { "version": "0.1.5", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -16489,20 +16289,17 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "process-nextick-args": { "version": "2.0.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "rc": { "version": "1.2.8", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -16513,16 +16310,14 @@ "minimist": { "version": "1.2.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true } } }, "readable-stream": { "version": "2.3.6", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -16536,8 +16331,7 @@ "rimraf": { "version": "2.7.1", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "glob": "^7.1.3" } @@ -16545,44 +16339,37 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "sax": { "version": "1.2.4", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "semver": { "version": "5.7.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "set-blocking": { "version": "2.0.0", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "signal-exit": { "version": "3.0.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "string_decoder": { "version": "1.1.1", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "safe-buffer": "~5.1.0" } @@ -16590,8 +16377,7 @@ "string-width": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -16601,8 +16387,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "ansi-regex": "^2.0.0" } @@ -16610,14 +16395,12 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "tar": { "version": "4.4.13", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -16631,14 +16414,12 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "wide-align": { "version": "1.1.3", "bundled": true, - "dev": true, - "optional": true, + "extraneous": true, "requires": { "string-width": "^1.0.2 || 2" } @@ -16646,14 +16427,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "extraneous": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true, - "optional": true + "extraneous": true } } }, @@ -19518,9 +19297,9 @@ } }, "protobufjs": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", - "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", "dev": true, "requires": { "@protobufjs/aspromise": "^1.1.2", @@ -19534,16 +19313,8 @@ "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/long": "^4.0.1", - "@types/node": "^13.7.0", + "@types/node": ">=13.7.0", "long": "^4.0.0" - }, - "dependencies": { - "@types/node": { - "version": "13.13.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.34.tgz", - "integrity": "sha512-g8D1HF2dMDKYSDl5+79izRwRgNPsSynmWMbj50mj7GZ0b7Lv4p8EmZjbo3h0h+6iLr6YmVz9VnF6XVZ3O6V1Ug==", - "dev": true - } } }, "proxy-addr": { @@ -21407,6 +21178,11 @@ "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==", "dev": true }, + "undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", diff --git a/package.json b/package.json index 0afd5c8..aada54b 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "@typescript-eslint/parser": "^2.22.0", "@waves/js-test-env": "^0.7.4", "@waves/node-state": "0.0.5", - "@waves/waves-transactions": "^4.1.3", + "@waves/waves-transactions": "^4.3.11", "cross-env": "^7.0.0", "dotenv": "^8.2.0", "eslint": "^6.8.0", diff --git a/src/Signer.ts b/src/Signer.ts index acd0d72..f8bfa3d 100644 --- a/src/Signer.ts +++ b/src/Signer.ts @@ -14,10 +14,12 @@ import { IssueArgs, LeaseArgs, MassTransferArgs, + TOrderArgs, Provider, ReissueArgs, SetAssetScriptArgs, SetScriptArgs, + TSignedOrder, SignedTx, SignerAliasTx, SignerBurnTx, @@ -351,6 +353,17 @@ export class Signer { ); } + /** + * Подписываем order пользователя + * @param order + */ + @ensureProvider + public signOrder(order: TOrderArgs): Promise { + return this._connectPromise.then((provider) => + provider.signOrder(order) + ); + } + /** * Подписываем типизированные данные * @param data diff --git a/src/types/index.ts b/src/types/index.ts index 548d2f5..e6706a7 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -24,6 +24,7 @@ import { WithId, BaseTransaction, } from '@waves/ts-types'; +import { order } from '@waves/waves-transactions'; export interface TypedData { /** @@ -47,17 +48,17 @@ export interface Provider { on( event: EVENT, - handler: Handler, + handler: Handler ): Provider; once( event: EVENT, - handler: Handler, + handler: Handler ): Provider; off( event: EVENT, - handler: Handler, + handler: Handler ): Provider; /** @@ -82,6 +83,12 @@ export interface Provider { */ signMessage(data: string | number): Promise; + /** + * Sign order + * @param data + */ + signOrder(data: TOrderArgs): Promise; + /** * Sign typed data * @param data @@ -118,6 +125,8 @@ export interface ConnectOptions { NETWORK_BYTE: number; } +export type TOrderArgs = Parameters[0]; + type CommonArgs = Partial< Pick > & { @@ -125,10 +134,16 @@ type CommonArgs = Partial< } & { version?: number }; export type IssueArgs = CommonArgs & - MakeOptional; + MakeOptional< + IssueTransactionFields, + 'script' | 'description' | 'reissuable' + >; export type TransferArgs = CommonArgs & - MakeOptional; + MakeOptional< + TransferTransactionFields, + 'assetId' | 'feeAssetId' | 'attachment' + >; export type ReissueArgs = CommonArgs & ReissueTransactionFields; @@ -154,7 +169,10 @@ export type ExchangeArgs = CommonArgs & ExchangeTransactionFields; export type SetAssetScriptArgs = CommonArgs & SetAssetScriptTransactionFields; export type InvokeArgs = CommonArgs & - MakeOptional; + MakeOptional< + InvokeScriptTransactionFields, + 'payment' | 'call' | 'feeAssetId' + >; export type UpdateAssetIngoArgs = CommonArgs & MakeOptional; @@ -163,36 +181,66 @@ type SignerTxFactory = TxArgs & { type: TxType; }; -export type SignerIssueTx = SignerTxFactory; -export type SignerTransferTx = SignerTxFactory; -export type SignerReissueTx = SignerTxFactory; -export type SignerBurnTx = SignerTxFactory; -export type SignerLeaseTx = SignerTxFactory; -export type SignerCancelLeaseTx = SignerTxFactory; -export type SignerAliasTx = SignerTxFactory; -export type SignerMassTransferTx = SignerTxFactory; -export type SignerDataTx = SignerTxFactory; -export type SignerSetScriptTx = SignerTxFactory; -export type SignerSponsorshipTx = SignerTxFactory; -export type SignerExchangeTx = SignerTxFactory; -export type SignerSetAssetScriptTx = SignerTxFactory; -export type SignerInvokeTx = SignerTxFactory; -export type SignerUpdateAssetInfoTx = SignerTxFactory +export type SignerIssueTx = SignerTxFactory< + IssueArgs, + typeof TRANSACTION_TYPE.ISSUE +>; +export type SignerTransferTx = SignerTxFactory< + TransferArgs, + typeof TRANSACTION_TYPE.TRANSFER +>; +export type SignerReissueTx = SignerTxFactory< + ReissueArgs, + typeof TRANSACTION_TYPE.REISSUE +>; +export type SignerBurnTx = SignerTxFactory< + BurnArgs, + typeof TRANSACTION_TYPE.BURN +>; +export type SignerLeaseTx = SignerTxFactory< + LeaseArgs, + typeof TRANSACTION_TYPE.LEASE +>; +export type SignerCancelLeaseTx = SignerTxFactory< + CancelLeaseArgs, + typeof TRANSACTION_TYPE.CANCEL_LEASE +>; +export type SignerAliasTx = SignerTxFactory< + AliasArgs, + typeof TRANSACTION_TYPE.ALIAS +>; +export type SignerMassTransferTx = SignerTxFactory< + MassTransferArgs, + typeof TRANSACTION_TYPE.MASS_TRANSFER +>; +export type SignerDataTx = SignerTxFactory< + DataArgs, + typeof TRANSACTION_TYPE.DATA +>; +export type SignerSetScriptTx = SignerTxFactory< + SetScriptArgs, + typeof TRANSACTION_TYPE.SET_SCRIPT +>; +export type SignerSponsorshipTx = SignerTxFactory< + SponsorshipArgs, + typeof TRANSACTION_TYPE.SPONSORSHIP +>; +export type SignerExchangeTx = SignerTxFactory< + ExchangeArgs, + typeof TRANSACTION_TYPE.EXCHANGE +>; +export type SignerSetAssetScriptTx = SignerTxFactory< + SetAssetScriptArgs, + typeof TRANSACTION_TYPE.SET_ASSET_SCRIPT +>; +export type SignerInvokeTx = SignerTxFactory< + InvokeArgs, + typeof TRANSACTION_TYPE.INVOKE_SCRIPT +>; +export type SignerUpdateAssetInfoTx = SignerTxFactory< + UpdateAssetIngoArgs, + typeof TRANSACTION_TYPE.UPDATE_ASSET_INFO +>; export type MakeOptional = Omit & Partial>; @@ -265,12 +313,11 @@ export interface BroadcastOptions { } // Мапит транзакцию сайнера в транзакцию из @waves/ts-types -export type SignerTxToSignedTx = - T extends SignerTx - ? T['type'] extends keyof TransactionMap +export type SignerTxToSignedTx = T extends SignerTx + ? T['type'] extends keyof TransactionMap ? SignedTransaction & WithId : never - : never; + : never; export type SignedTx = T extends SignerTx[] ? { [P in keyof T]: SignerTxToSignedTx } @@ -279,8 +326,10 @@ export type SignedTx = T extends SignerTx[] export type BroadcastedTx = T extends SignedTx[] ? { [P in keyof T]: T[P] & WithApiMixin } : T extends SignedTx - ? T & WithApiMixin - : never; + ? T & WithApiMixin + : never; + +export type TSignedOrder = ReturnType; export type Handler = (data: T) => any; diff --git a/test/TestProvider.ts b/test/TestProvider.ts index dd4d164..a7567ad 100644 --- a/test/TestProvider.ts +++ b/test/TestProvider.ts @@ -1,11 +1,13 @@ import { EventEmitter } from 'typed-ts-events'; -import { libs, signTx } from '@waves/waves-transactions'; +import { libs, signTx, order } from '@waves/waves-transactions'; import { NETWORK_BYTE } from './test-env'; import { AuthEvents, ConnectOptions, Handler, + TOrderArgs, Provider, + TSignedOrder, SignerTx, TypedData, UserData, @@ -20,7 +22,9 @@ export class TestProvider implements Provider { private readonly seed: string; public readonly user: UserData; public debugEmitter: EventEmitter = new EventEmitter(); - private emitter: EventEmitter = new EventEmitter(); + private readonly emitter: EventEmitter = new EventEmitter< + AuthEvents + >(); constructor(seed?: string) { this.seed = seed || libs.crypto.randomSeed(); @@ -33,31 +37,35 @@ export class TestProvider implements Provider { public on( event: EVENT, - handler: Handler, + handler: Handler ): Provider { this.emitter.on(event, handler); + return this; } public once( event: EVENT, - handler: Handler, + handler: Handler ): Provider { this.emitter.once(event, handler); + return this; } public off( event: EVENT, - handler: Handler, + handler: Handler ): Provider { this.emitter.off(event, handler); + return this; } public connect(options: ConnectOptions): Promise { this.options = options; this.debugEmitter.trigger('connect', [options]); + return Promise.resolve(); } @@ -66,12 +74,15 @@ export class TestProvider implements Provider { address: libs.crypto.address(this.seed, this.options.NETWORK_BYTE), publicKey: libs.crypto.publicKey(this.seed), }); + this.debugEmitter.trigger('login', [] as any); + return promise; } public logout(): Promise { this.debugEmitter.trigger('logout', [] as any); + return Promise.resolve(); } @@ -79,26 +90,38 @@ export class TestProvider implements Provider { this.debugEmitter.trigger('sign', [list]); const fixAlias = (tx: any) => tx.type === TRANSACTION_TYPE.ALIAS - ? {...tx, alias: tx.alias.replace(/alias:.:/, '') } - : tx + ? { ...tx, alias: tx.alias.replace(/alias:.:/, '') } + : tx; + return Promise.resolve( list.map((item) => signTx( - fixAlias({ chainId: this.options.NETWORK_BYTE, ...item }) as any, - this.seed, - ), - ), + fixAlias({ + chainId: this.options.NETWORK_BYTE, + ...item, + }) as any, + this.seed + ) + ) ) as any; } public signMessage(data: string | number): Promise { this.debugEmitter.trigger('signMessage', [data]); + // TODO return Promise.resolve('TODO'); } + public signOrder(data: TOrderArgs): Promise { + this.debugEmitter.trigger('signOrder', [data]); + + return Promise.resolve(order(data)); + } + public signTypedData(data: Array): Promise { this.debugEmitter.trigger('signTypedData', [data]); + // TODO return Promise.resolve('TODO'); }