diff --git a/.pnp.cjs b/.pnp.cjs index b2a860bb23..ad4e9515b1 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -2566,54 +2566,26 @@ const RAW_RUNTIME_STATE = ["workspace:packages/js-dapi-client", {\ "packageLocation": "./packages/js-dapi-client/",\ "packageDependencies": [\ - ["@babel/core", "npm:7.26.10"],\ ["@dashevo/dapi-client", "workspace:packages/js-dapi-client"],\ ["@dashevo/dapi-grpc", "workspace:packages/dapi-grpc"],\ ["@dashevo/dash-spv", "workspace:packages/dash-spv"],\ ["@dashevo/dashcore-lib", "npm:0.22.0"],\ ["@dashevo/grpc-common", "workspace:packages/js-grpc-common"],\ ["@dashevo/wasm-dpp", "workspace:packages/wasm-dpp"],\ - ["assert-browserify", "npm:2.0.0"],\ - ["babel-loader", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:9.1.3"],\ - ["browserify-zlib", "npm:0.2.0"],\ - ["bs58", "npm:4.0.1"],\ - ["buffer", "npm:6.0.3"],\ ["cbor", "npm:8.1.0"],\ ["chai", "npm:4.3.10"],\ ["chai-as-promised", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:7.1.1"],\ ["comment-parser", "npm:0.7.6"],\ - ["core-js", "npm:3.33.2"],\ - ["crypto-browserify", "npm:3.12.1"],\ ["dirty-chai", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:2.0.1"],\ ["eslint", "virtual:de32c10d523830f1843784ae863166d6ef2e074b6da9615f2b3296a1f90385ed3f59e274e3957326ba7cf3442d82470d9e1ec01e6720989a570c075c95d90dbc#npm:9.39.2"],\ ["events", "npm:3.3.0"],\ ["google-protobuf", "npm:3.19.1"],\ - ["karma", "npm:6.4.3"],\ - ["karma-chai", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:0.1.0"],\ - ["karma-chrome-launcher", "npm:3.1.0"],\ - ["karma-firefox-launcher", "npm:2.1.2"],\ - ["karma-mocha", "npm:2.0.1"],\ - ["karma-mocha-reporter", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:2.2.5"],\ - ["karma-webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.0.0"],\ - ["lodash", "npm:4.17.23"],\ ["mocha", "npm:11.1.0"],\ - ["node-fetch", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:2.6.7"],\ - ["node-inspect-extracted", "npm:1.0.8"],\ ["nyc", "npm:15.1.0"],\ - ["os-browserify", "npm:0.3.0"],\ - ["path-browserify", "npm:1.0.1"],\ - ["process", "npm:0.11.10"],\ - ["setimmediate", "npm:1.0.5"],\ ["sinon", "npm:18.0.1"],\ ["sinon-chai", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:3.7.0"],\ - ["stream-browserify", "npm:3.0.0"],\ - ["string_decoder", "npm:1.3.0"],\ - ["url", "npm:0.11.3"],\ - ["util", "npm:0.12.4"],\ - ["wasm-x11-hash", "npm:0.0.2"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.105.0"],\ - ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"],\ - ["winston", "npm:3.3.3"]\ + ["undici", "npm:6.25.0"],\ + ["wasm-x11-hash", "npm:0.0.2"]\ ],\ "linkType": "SOFT"\ }]\ @@ -4422,7 +4394,7 @@ const RAW_RUNTIME_STATE = ["@octokit/request-error", "npm:2.1.0"],\ ["@octokit/types", "npm:6.34.0"],\ ["is-plain-object", "npm:5.0.0"],\ - ["node-fetch", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:2.6.7"],\ + ["node-fetch", "virtual:25a5f5382d53dbf298bf7a1191760bc2e0a523a619eeb0e667b99a8649e8ad183f9e2e0b45f6fb831b92f4078b61622aa567cf79565f6aa5af9597e3c84864f6#npm:2.6.7"],\ ["universal-user-agent", "npm:6.0.0"]\ ],\ "linkType": "HARD"\ @@ -6141,23 +6113,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.1.0", {\ - "packageLocation": "./.yarn/__virtual__/@webpack-cli-configtest-virtual-34b876bdf7/0/cache/@webpack-cli-configtest-npm-1.1.0-2b6b2ef3d7-69e7816b5b.zip/node_modules/@webpack-cli/configtest/",\ - "packageDependencies": [\ - ["@types/webpack", null],\ - ["@types/webpack-cli", null],\ - ["@webpack-cli/configtest", "virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.1.0"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.105.0"],\ - ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"]\ - ],\ - "packagePeers": [\ - "@types/webpack-cli",\ - "@types/webpack",\ - "webpack-cli",\ - "webpack"\ - ],\ - "linkType": "HARD"\ - }],\ ["virtual:b65947dc409e3c56a3ffe1d9845d7e7551f7c6a754af3941e9848fc9815659e0053c64fd038dddc29d956633aad694f761d0d61fe40b22419d9d10b8b52633c6#npm:1.1.0", {\ "packageLocation": "./.yarn/__virtual__/@webpack-cli-configtest-virtual-1656ebbd4e/0/cache/@webpack-cli-configtest-npm-1.1.0-2b6b2ef3d7-69e7816b5b.zip/node_modules/@webpack-cli/configtest/",\ "packageDependencies": [\ @@ -6257,20 +6212,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@webpack-cli-info-virtual-5b3c564e68/0/cache/@webpack-cli-info-npm-1.4.0-4a26ccee64-6385b1e2c5.zip/node_modules/@webpack-cli/info/",\ - "packageDependencies": [\ - ["@types/webpack-cli", null],\ - ["@webpack-cli/info", "virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.4.0"],\ - ["envinfo", "npm:7.8.1"],\ - ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"]\ - ],\ - "packagePeers": [\ - "@types/webpack-cli",\ - "webpack-cli"\ - ],\ - "linkType": "HARD"\ - }],\ ["virtual:b65947dc409e3c56a3ffe1d9845d7e7551f7c6a754af3941e9848fc9815659e0053c64fd038dddc29d956633aad694f761d0d61fe40b22419d9d10b8b52633c6#npm:1.4.0", {\ "packageLocation": "./.yarn/__virtual__/@webpack-cli-info-virtual-f31931ce84/0/cache/@webpack-cli-info-npm-1.4.0-4a26ccee64-6385b1e2c5.zip/node_modules/@webpack-cli/info/",\ "packageDependencies": [\ @@ -6376,23 +6317,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.6.0", {\ - "packageLocation": "./.yarn/__virtual__/@webpack-cli-serve-virtual-bcf913d932/0/cache/@webpack-cli-serve-npm-1.6.0-c7b35aa4ef-3fd2e5f365.zip/node_modules/@webpack-cli/serve/",\ - "packageDependencies": [\ - ["@types/webpack-cli", null],\ - ["@types/webpack-dev-server", null],\ - ["@webpack-cli/serve", "virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.6.0"],\ - ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"],\ - ["webpack-dev-server", null]\ - ],\ - "packagePeers": [\ - "@types/webpack-cli",\ - "@types/webpack-dev-server",\ - "webpack-cli",\ - "webpack-dev-server"\ - ],\ - "linkType": "HARD"\ - }],\ ["virtual:b65947dc409e3c56a3ffe1d9845d7e7551f7c6a754af3941e9848fc9815659e0053c64fd038dddc29d956633aad694f761d0d61fe40b22419d9d10b8b52633c6#npm:1.6.0", {\ "packageLocation": "./.yarn/__virtual__/@webpack-cli-serve-virtual-4711a17f04/0/cache/@webpack-cli-serve-npm-1.6.0-c7b35aa4ef-3fd2e5f365.zip/node_modules/@webpack-cli/serve/",\ "packageDependencies": [\ @@ -7449,34 +7373,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["babel-loader", [\ - ["npm:9.1.3", {\ - "packageLocation": "./.yarn/cache/babel-loader-npm-9.1.3-cbf4da21df-7086e67827.zip/node_modules/babel-loader/",\ - "packageDependencies": [\ - ["babel-loader", "npm:9.1.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:9.1.3", {\ - "packageLocation": "./.yarn/__virtual__/babel-loader-virtual-814c93af3e/0/cache/babel-loader-npm-9.1.3-cbf4da21df-7086e67827.zip/node_modules/babel-loader/",\ - "packageDependencies": [\ - ["@babel/core", "npm:7.26.10"],\ - ["@types/babel__core", null],\ - ["@types/webpack", null],\ - ["babel-loader", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:9.1.3"],\ - ["find-cache-dir", "npm:4.0.0"],\ - ["schema-utils", "npm:4.2.0"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.105.0"]\ - ],\ - "packagePeers": [\ - "@babel/core",\ - "@types/babel__core",\ - "@types/webpack",\ - "webpack"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["babel-plugin-polyfill-corejs2", [\ ["npm:0.4.12", {\ "packageLocation": "./.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.4.12-d572de89f3-38b8cd69f0.zip/node_modules/babel-plugin-polyfill-corejs2/",\ @@ -9028,15 +8924,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["common-path-prefix", [\ - ["npm:3.0.0", {\ - "packageLocation": "./.yarn/cache/common-path-prefix-npm-3.0.0-68b78785c1-09c180e8d8.zip/node_modules/common-path-prefix/",\ - "packageDependencies": [\ - ["common-path-prefix", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["commondir", [\ ["npm:1.0.1", {\ "packageLocation": "./.yarn/cache/commondir-npm-1.0.1-291b790340-4620bc4936.zip/node_modules/commondir/",\ @@ -9363,15 +9250,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["core-js", [\ - ["npm:3.33.2", {\ - "packageLocation": "./.yarn/unplugged/core-js-npm-3.33.2-08a6fba407/node_modules/core-js/",\ - "packageDependencies": [\ - ["core-js", "npm:3.33.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["core-js-compat", [\ ["npm:3.41.0", {\ "packageLocation": "./.yarn/cache/core-js-compat-npm-3.41.0-3a60c76839-a59da111fc.zip/node_modules/core-js-compat/",\ @@ -12058,15 +11936,6 @@ const RAW_RUNTIME_STATE = ["pkg-dir", "npm:4.2.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "./.yarn/cache/find-cache-dir-npm-4.0.0-ad2504e37e-52a456a80d.zip/node_modules/find-cache-dir/",\ - "packageDependencies": [\ - ["common-path-prefix", "npm:3.0.0"],\ - ["find-cache-dir", "npm:4.0.0"],\ - ["pkg-dir", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["find-up", [\ @@ -12095,15 +11964,6 @@ const RAW_RUNTIME_STATE = ["path-exists", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:6.3.0", {\ - "packageLocation": "./.yarn/cache/find-up-npm-6.3.0-e5056fc655-4f3bdc30d4.zip/node_modules/find-up/",\ - "packageDependencies": [\ - ["find-up", "npm:6.3.0"],\ - ["locate-path", "npm:7.2.0"],\ - ["path-exists", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["find-yarn-workspace-root", [\ @@ -15019,22 +14879,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.0.0", {\ - "packageLocation": "./.yarn/__virtual__/karma-webpack-virtual-bbb0fdb943/0/cache/karma-webpack-npm-5.0.0-d7c66b2a8a-9bd565adbc.zip/node_modules/karma-webpack/",\ - "packageDependencies": [\ - ["@types/webpack", null],\ - ["glob", "npm:7.2.3"],\ - ["karma-webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.0.0"],\ - ["minimatch", "npm:3.1.2"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.105.0"],\ - ["webpack-merge", "npm:4.2.2"]\ - ],\ - "packagePeers": [\ - "@types/webpack",\ - "webpack"\ - ],\ - "linkType": "HARD"\ - }],\ ["virtual:98d1afeac78a19485e4cb7428abff692e58b6fc468d8040035b560ed49383fc95857be6b5014af27e53063e6f08b654690c2b945f3443c22dd60c6b083684b3c#npm:5.0.0", {\ "packageLocation": "./.yarn/__virtual__/karma-webpack-virtual-3f3d78beea/0/cache/karma-webpack-npm-5.0.0-d7c66b2a8a-9bd565adbc.zip/node_modules/karma-webpack/",\ "packageDependencies": [\ @@ -15351,14 +15195,6 @@ const RAW_RUNTIME_STATE = ["p-locate", "npm:5.0.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:7.2.0", {\ - "packageLocation": "./.yarn/cache/locate-path-npm-7.2.0-0e1169e19b-1c6d269d4e.zip/node_modules/locate-path/",\ - "packageDependencies": [\ - ["locate-path", "npm:7.2.0"],\ - ["p-locate", "npm:6.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["lodash", [\ @@ -16640,12 +16476,12 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:2.6.7", {\ - "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-a3f0ba2944/0/cache/node-fetch-npm-2.6.7-777aa2a6df-4bc9245383.zip/node_modules/node-fetch/",\ + ["virtual:25a5f5382d53dbf298bf7a1191760bc2e0a523a619eeb0e667b99a8649e8ad183f9e2e0b45f6fb831b92f4078b61622aa567cf79565f6aa5af9597e3c84864f6#npm:2.6.7", {\ + "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-d3846f8e12/0/cache/node-fetch-npm-2.6.7-777aa2a6df-4bc9245383.zip/node_modules/node-fetch/",\ "packageDependencies": [\ ["@types/encoding", null],\ ["encoding", null],\ - ["node-fetch", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:2.6.7"],\ + ["node-fetch", "virtual:25a5f5382d53dbf298bf7a1191760bc2e0a523a619eeb0e667b99a8649e8ad183f9e2e0b45f6fb831b92f4078b61622aa567cf79565f6aa5af9597e3c84864f6#npm:2.6.7"],\ ["whatwg-url", "npm:5.0.0"]\ ],\ "packagePeers": [\ @@ -17439,14 +17275,6 @@ const RAW_RUNTIME_STATE = ["yocto-queue", "npm:0.1.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "./.yarn/cache/p-limit-npm-4.0.0-5dccf29b67-01d9d70695.zip/node_modules/p-limit/",\ - "packageDependencies": [\ - ["p-limit", "npm:4.0.0"],\ - ["yocto-queue", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["p-locate", [\ @@ -17473,14 +17301,6 @@ const RAW_RUNTIME_STATE = ["p-locate", "npm:5.0.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:6.0.0", {\ - "packageLocation": "./.yarn/cache/p-locate-npm-6.0.0-b6cfb720dc-2bfe5234ef.zip/node_modules/p-locate/",\ - "packageDependencies": [\ - ["p-limit", "npm:4.0.0"],\ - ["p-locate", "npm:6.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["p-map", [\ @@ -17813,13 +17633,6 @@ const RAW_RUNTIME_STATE = ["path-exists", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "./.yarn/cache/path-exists-npm-5.0.0-0bf403c56c-8ca842868c.zip/node_modules/path-exists/",\ - "packageDependencies": [\ - ["path-exists", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["path-is-absolute", [\ @@ -18061,14 +17874,6 @@ const RAW_RUNTIME_STATE = ["pkg-dir", "npm:4.2.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:7.0.0", {\ - "packageLocation": "./.yarn/cache/pkg-dir-npm-7.0.0-02ff099b31-94298b20a4.zip/node_modules/pkg-dir/",\ - "packageDependencies": [\ - ["find-up", "npm:6.3.0"],\ - ["pkg-dir", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["plur", [\ @@ -19289,17 +19094,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["schema-utils", [\ - ["npm:4.2.0", {\ - "packageLocation": "./.yarn/cache/schema-utils-npm-4.2.0-e822c5b02e-808784735e.zip/node_modules/schema-utils/",\ - "packageDependencies": [\ - ["@types/json-schema", "npm:7.0.15"],\ - ["ajv", "npm:8.18.0"],\ - ["ajv-formats", "virtual:4954c4a72ee1ac7afec22da3b17d9a937f807567fbfd843f7fb4d48a0c27456b3fd63f5453a6ffa910bcac753ec013f5554ffe0d1c324703fa4d0658622f21bd#npm:2.1.1"],\ - ["ajv-keywords", "virtual:4954c4a72ee1ac7afec22da3b17d9a937f807567fbfd843f7fb4d48a0c27456b3fd63f5453a6ffa910bcac753ec013f5554ffe0d1c324703fa4d0658622f21bd#npm:5.1.0"],\ - ["schema-utils", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:4.3.0", {\ "packageLocation": "./.yarn/cache/schema-utils-npm-4.3.0-6f0a75e2e2-86c5a7c72a.zip/node_modules/schema-utils/",\ "packageDependencies": [\ @@ -20835,36 +20629,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:62941717b655ac142dd4cd1370e0c48afd49b5b0e864a88fae8030cff430b00a6538f10d6ec6916a973bebc3c0274b8dad2e2dfd6263382ab5c42f6550c4185a#npm:5.3.16", {\ - "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-50314d7465/0/cache/terser-webpack-plugin-npm-5.3.16-7d59a4385c-09dfbff602.zip/node_modules/terser-webpack-plugin/",\ - "packageDependencies": [\ - ["@jridgewell/trace-mapping", "npm:0.3.25"],\ - ["@swc/core", null],\ - ["@types/esbuild", null],\ - ["@types/swc__core", null],\ - ["@types/uglify-js", null],\ - ["@types/webpack", null],\ - ["esbuild", null],\ - ["jest-worker", "npm:27.5.1"],\ - ["schema-utils", "npm:4.3.0"],\ - ["serialize-javascript", "npm:7.0.4"],\ - ["terser", "npm:5.39.0"],\ - ["terser-webpack-plugin", "virtual:62941717b655ac142dd4cd1370e0c48afd49b5b0e864a88fae8030cff430b00a6538f10d6ec6916a973bebc3c0274b8dad2e2dfd6263382ab5c42f6550c4185a#npm:5.3.16"],\ - ["uglify-js", null],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.105.0"]\ - ],\ - "packagePeers": [\ - "@swc/core",\ - "@types/esbuild",\ - "@types/swc__core",\ - "@types/uglify-js",\ - "@types/webpack",\ - "esbuild",\ - "uglify-js",\ - "webpack"\ - ],\ - "linkType": "HARD"\ - }],\ ["virtual:ac08d1802148a23c9b3f7a8749cbaaded258daba072aa6e761629ffa5f56f8f3e419894607861c1572ce1b35ea47b30ac3d38935ced0e4c1e2540eff8deb5e8f#npm:5.3.16", {\ "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-dbe00d6a37/0/cache/terser-webpack-plugin-npm-5.3.16-7d59a4385c-09dfbff602.zip/node_modules/terser-webpack-plugin/",\ "packageDependencies": [\ @@ -22063,6 +21827,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["undici", [\ + ["npm:6.25.0", {\ + "packageLocation": "./.yarn/cache/undici-npm-6.25.0-6002e70879-a475e45da3.zip/node_modules/undici/",\ + "packageDependencies": [\ + ["undici", "npm:6.25.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["undici-types", [\ ["npm:6.21.0", {\ "packageLocation": "./.yarn/cache/undici-types-npm-6.21.0-eb2b0ed56a-ec8f41aa43.zip/node_modules/undici-types/",\ @@ -22678,44 +22451,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.105.0", {\ - "packageLocation": "./.yarn/__virtual__/webpack-virtual-62941717b6/0/cache/webpack-npm-5.105.0-ff5d0a44ab-95e0a0f04f.zip/node_modules/webpack/",\ - "packageDependencies": [\ - ["@types/eslint-scope", "npm:3.7.7"],\ - ["@types/estree", "npm:1.0.8"],\ - ["@types/json-schema", "npm:7.0.15"],\ - ["@types/webpack-cli", null],\ - ["@webassemblyjs/ast", "npm:1.14.1"],\ - ["@webassemblyjs/wasm-edit", "npm:1.14.1"],\ - ["@webassemblyjs/wasm-parser", "npm:1.14.1"],\ - ["acorn", "npm:8.15.0"],\ - ["acorn-import-phases", "virtual:4007bcbf54b6a1fc892cfdfa87d57c16a3d9d04f40d8627892c15aab1e876c161341a8d50416117b4d1b25d4709d289b42728585c69b09237cab14322e1446c6#npm:1.0.4"],\ - ["browserslist", "npm:4.28.1"],\ - ["chrome-trace-event", "npm:1.0.3"],\ - ["enhanced-resolve", "npm:5.19.0"],\ - ["es-module-lexer", "npm:2.0.0"],\ - ["eslint-scope", "npm:5.1.1"],\ - ["events", "npm:3.3.0"],\ - ["glob-to-regexp", "npm:0.4.1"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["json-parse-even-better-errors", "npm:2.3.1"],\ - ["loader-runner", "npm:4.3.1"],\ - ["mime-types", "npm:2.1.34"],\ - ["neo-async", "npm:2.6.2"],\ - ["schema-utils", "npm:4.3.3"],\ - ["tapable", "npm:2.3.0"],\ - ["terser-webpack-plugin", "virtual:62941717b655ac142dd4cd1370e0c48afd49b5b0e864a88fae8030cff430b00a6538f10d6ec6916a973bebc3c0274b8dad2e2dfd6263382ab5c42f6550c4185a#npm:5.3.16"],\ - ["watchpack", "npm:2.5.1"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.105.0"],\ - ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"],\ - ["webpack-sources", "npm:3.3.4"]\ - ],\ - "packagePeers": [\ - "@types/webpack-cli",\ - "webpack-cli"\ - ],\ - "linkType": "HARD"\ - }],\ ["virtual:98d1afeac78a19485e4cb7428abff692e58b6fc468d8040035b560ed49383fc95857be6b5014af27e53063e6f08b654690c2b945f3443c22dd60c6b083684b3c#npm:5.105.0", {\ "packageLocation": "./.yarn/__virtual__/webpack-virtual-4f0f9b68e7/0/cache/webpack-npm-5.105.0-ff5d0a44ab-95e0a0f04f.zip/node_modules/webpack/",\ "packageDependencies": [\ @@ -22959,47 +22694,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1", {\ - "packageLocation": "./.yarn/__virtual__/webpack-cli-virtual-b37ef7cf98/0/cache/webpack-cli-npm-4.9.1-1b8a5f360f-14eb69cec6.zip/node_modules/webpack-cli/",\ - "packageDependencies": [\ - ["@discoveryjs/json-ext", "npm:0.5.5"],\ - ["@types/webpack", null],\ - ["@types/webpack-bundle-analyzer", null],\ - ["@types/webpack-cli__generators", null],\ - ["@types/webpack-cli__migrate", null],\ - ["@types/webpack-dev-server", null],\ - ["@webpack-cli/configtest", "virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.1.0"],\ - ["@webpack-cli/generators", null],\ - ["@webpack-cli/info", "virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.4.0"],\ - ["@webpack-cli/migrate", null],\ - ["@webpack-cli/serve", "virtual:b37ef7cf98ceabe8c7b789a7db3f0a5f3444d083afa5f0e3ab570292e74eff241f890fadbf245a134b2ebfcba326b1782124a4dd4f16ca7cdb6091dd9a987c04#npm:1.6.0"],\ - ["colorette", "npm:2.0.20"],\ - ["commander", "npm:7.2.0"],\ - ["execa", "npm:5.1.1"],\ - ["fastest-levenshtein", "npm:1.0.12"],\ - ["import-local", "npm:3.0.3"],\ - ["interpret", "npm:2.2.0"],\ - ["rechoir", "npm:0.7.1"],\ - ["webpack", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:5.105.0"],\ - ["webpack-bundle-analyzer", null],\ - ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"],\ - ["webpack-dev-server", null],\ - ["webpack-merge", "npm:5.8.0"]\ - ],\ - "packagePeers": [\ - "@types/webpack-bundle-analyzer",\ - "@types/webpack-cli__generators",\ - "@types/webpack-cli__migrate",\ - "@types/webpack-dev-server",\ - "@types/webpack",\ - "@webpack-cli/generators",\ - "@webpack-cli/migrate",\ - "webpack-bundle-analyzer",\ - "webpack-dev-server",\ - "webpack"\ - ],\ - "linkType": "HARD"\ - }],\ ["virtual:98d1afeac78a19485e4cb7428abff692e58b6fc468d8040035b560ed49383fc95857be6b5014af27e53063e6f08b654690c2b945f3443c22dd60c6b083684b3c#npm:4.9.1", {\ "packageLocation": "./.yarn/__virtual__/webpack-cli-virtual-b65947dc40/0/cache/webpack-cli-npm-4.9.1-1b8a5f360f-14eb69cec6.zip/node_modules/webpack-cli/",\ "packageDependencies": [\ @@ -23833,13 +23527,6 @@ const RAW_RUNTIME_STATE = ["yocto-queue", "npm:0.1.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:1.0.0", {\ - "packageLocation": "./.yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip/node_modules/yocto-queue/",\ - "packageDependencies": [\ - ["yocto-queue", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["z-schema", [\ diff --git a/.yarn/cache/babel-loader-npm-9.1.3-cbf4da21df-7086e67827.zip b/.yarn/cache/babel-loader-npm-9.1.3-cbf4da21df-7086e67827.zip deleted file mode 100644 index 6acd5dfdcb..0000000000 Binary files a/.yarn/cache/babel-loader-npm-9.1.3-cbf4da21df-7086e67827.zip and /dev/null differ diff --git a/.yarn/cache/common-path-prefix-npm-3.0.0-68b78785c1-09c180e8d8.zip b/.yarn/cache/common-path-prefix-npm-3.0.0-68b78785c1-09c180e8d8.zip deleted file mode 100644 index 0ba9492af1..0000000000 Binary files a/.yarn/cache/common-path-prefix-npm-3.0.0-68b78785c1-09c180e8d8.zip and /dev/null differ diff --git a/.yarn/cache/core-js-npm-3.33.2-08a6fba407-d62554d51c.zip b/.yarn/cache/core-js-npm-3.33.2-08a6fba407-d62554d51c.zip deleted file mode 100644 index d4e3e88ae7..0000000000 Binary files a/.yarn/cache/core-js-npm-3.33.2-08a6fba407-d62554d51c.zip and /dev/null differ diff --git a/.yarn/cache/find-cache-dir-npm-4.0.0-ad2504e37e-52a456a80d.zip b/.yarn/cache/find-cache-dir-npm-4.0.0-ad2504e37e-52a456a80d.zip deleted file mode 100644 index 52c003246f..0000000000 Binary files a/.yarn/cache/find-cache-dir-npm-4.0.0-ad2504e37e-52a456a80d.zip and /dev/null differ diff --git a/.yarn/cache/find-up-npm-6.3.0-e5056fc655-4f3bdc30d4.zip b/.yarn/cache/find-up-npm-6.3.0-e5056fc655-4f3bdc30d4.zip deleted file mode 100644 index 230e977a2f..0000000000 Binary files a/.yarn/cache/find-up-npm-6.3.0-e5056fc655-4f3bdc30d4.zip and /dev/null differ diff --git a/.yarn/cache/locate-path-npm-7.2.0-0e1169e19b-1c6d269d4e.zip b/.yarn/cache/locate-path-npm-7.2.0-0e1169e19b-1c6d269d4e.zip deleted file mode 100644 index 746a29a206..0000000000 Binary files a/.yarn/cache/locate-path-npm-7.2.0-0e1169e19b-1c6d269d4e.zip and /dev/null differ diff --git a/.yarn/cache/p-limit-npm-4.0.0-5dccf29b67-01d9d70695.zip b/.yarn/cache/p-limit-npm-4.0.0-5dccf29b67-01d9d70695.zip deleted file mode 100644 index f717a5b84a..0000000000 Binary files a/.yarn/cache/p-limit-npm-4.0.0-5dccf29b67-01d9d70695.zip and /dev/null differ diff --git a/.yarn/cache/p-locate-npm-6.0.0-b6cfb720dc-2bfe5234ef.zip b/.yarn/cache/p-locate-npm-6.0.0-b6cfb720dc-2bfe5234ef.zip deleted file mode 100644 index 645dd51cd9..0000000000 Binary files a/.yarn/cache/p-locate-npm-6.0.0-b6cfb720dc-2bfe5234ef.zip and /dev/null differ diff --git a/.yarn/cache/path-exists-npm-5.0.0-0bf403c56c-8ca842868c.zip b/.yarn/cache/path-exists-npm-5.0.0-0bf403c56c-8ca842868c.zip deleted file mode 100644 index 9a134355e6..0000000000 Binary files a/.yarn/cache/path-exists-npm-5.0.0-0bf403c56c-8ca842868c.zip and /dev/null differ diff --git a/.yarn/cache/pkg-dir-npm-7.0.0-02ff099b31-94298b20a4.zip b/.yarn/cache/pkg-dir-npm-7.0.0-02ff099b31-94298b20a4.zip deleted file mode 100644 index 6eb489a658..0000000000 Binary files a/.yarn/cache/pkg-dir-npm-7.0.0-02ff099b31-94298b20a4.zip and /dev/null differ diff --git a/.yarn/cache/schema-utils-npm-4.2.0-e822c5b02e-808784735e.zip b/.yarn/cache/schema-utils-npm-4.2.0-e822c5b02e-808784735e.zip deleted file mode 100644 index 6f296a3da9..0000000000 Binary files a/.yarn/cache/schema-utils-npm-4.2.0-e822c5b02e-808784735e.zip and /dev/null differ diff --git a/.yarn/cache/undici-npm-6.25.0-6002e70879-a475e45da3.zip b/.yarn/cache/undici-npm-6.25.0-6002e70879-a475e45da3.zip new file mode 100644 index 0000000000..c2c62d4636 Binary files /dev/null and b/.yarn/cache/undici-npm-6.25.0-6002e70879-a475e45da3.zip differ diff --git a/.yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip b/.yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip deleted file mode 100644 index c08ff193b8..0000000000 Binary files a/.yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip and /dev/null differ diff --git a/packages/dapi-grpc/clients/core/v0/web/CorePromiseClient.js b/packages/dapi-grpc/clients/core/v0/web/CorePromiseClient.js index 3f1549d805..818ef24e84 100644 --- a/packages/dapi-grpc/clients/core/v0/web/CorePromiseClient.js +++ b/packages/dapi-grpc/clients/core/v0/web/CorePromiseClient.js @@ -1,4 +1,11 @@ -const { promisify } = require('util'); +// Inline promisify shim — avoids requiring Node's `util` module so this file +// can be bundled for browsers without a polyfill. If the codegen template +// is regenerated, restore this shim. +function promisify(fn) { + return (...args) => new Promise((resolve, reject) => { + fn(...args, (err, result) => (err ? reject(err) : resolve(result))); + }); +} const GrpcError = require('@dashevo/grpc-common/lib/server/error/GrpcError'); const { CoreClient } = require('./core_pb_service'); diff --git a/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js b/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js index 13be28a2d5..fbf39888b2 100644 --- a/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js +++ b/packages/dapi-grpc/clients/platform/v0/web/PlatformPromiseClient.js @@ -1,5 +1,13 @@ const { PlatformClient } = require('./platform_pb_service'); -const { promisify } = require('util'); + +// Inline promisify shim — avoids requiring Node's `util` module so this file +// can be bundled for browsers without a polyfill. If the codegen template +// is regenerated, restore this shim. +function promisify(fn) { + return (...args) => new Promise((resolve, reject) => { + fn(...args, (err, result) => (err ? reject(err) : resolve(result))); + }); +} class PlatformPromiseClient { /** diff --git a/packages/js-dapi-client/.mocharc.yml b/packages/js-dapi-client/.mocharc.yml index bbd673997d..5ae84e7ee0 100644 --- a/packages/js-dapi-client/.mocharc.yml +++ b/packages/js-dapi-client/.mocharc.yml @@ -1,3 +1,3 @@ -require: lib/test/bootstrap.js +require: ./lib/test/bootstrap.js recursive: true timeout: 3000 diff --git a/packages/js-dapi-client/karma.conf.js b/packages/js-dapi-client/karma.conf.js deleted file mode 100644 index 12430bc899..0000000000 --- a/packages/js-dapi-client/karma.conf.js +++ /dev/null @@ -1,45 +0,0 @@ -const karmaMocha = require('karma-mocha'); -const karmaMochaReporter = require('karma-mocha-reporter'); -const karmaChai = require('karma-chai'); -const karmaChromeLauncher = require('karma-chrome-launcher'); -const karmaFirefoxLauncher = require('karma-firefox-launcher'); -const karmaWebpack = require('karma-webpack'); -const webpackConfig = require('./webpack.config'); - -module.exports = (config) => { - config.set({ - frameworks: ['mocha', 'chai', 'webpack'], - files: [ - 'lib/test/karma/loader.js', - ], - preprocessors: { - 'lib/test/karma/loader.js': ['webpack'], - }, - webpack: { - mode: 'development', - resolve: webpackConfig[0].resolve, - plugins: webpackConfig[0].plugins, - }, - client: { - mocha: { - timeout: 5000, - }, - }, - reporters: ['mocha'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: false, - browsers: ['ChromeHeadless', 'FirefoxHeadless'], - singleRun: false, - concurrency: Infinity, - plugins: [ - karmaMocha, - karmaMochaReporter, - karmaChai, - karmaChromeLauncher, - karmaFirefoxLauncher, - karmaWebpack, - ], - }); -}; diff --git a/packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js b/packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js index d9ca211bce..751b0c2212 100644 --- a/packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js +++ b/packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersProvider.js @@ -1,7 +1,9 @@ -const EventEmitter = require('events'); -const { SpvChain, SPVError } = require('@dashevo/dash-spv'); +import EventEmitter from 'events'; +import dashSpv from '@dashevo/dash-spv'; -const BlockHeadersReader = require('./BlockHeadersReader'); +import BlockHeadersReader from './BlockHeadersReader.js'; + +const { SpvChain, SPVError } = dashSpv; /** * @typedef {BlockHeadersProviderOptions} BlockHeadersProviderOptions @@ -253,4 +255,4 @@ BlockHeadersProvider.EVENTS = EVENTS; BlockHeadersProvider.STATES = STATES; BlockHeadersProvider.defaultOptions = { ...defaultOptions }; -module.exports = BlockHeadersProvider; +export default BlockHeadersProvider; diff --git a/packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersReader.js b/packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersReader.js index f8d8fe4fc1..06876fd7a6 100644 --- a/packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersReader.js +++ b/packages/js-dapi-client/lib/BlockHeadersProvider/BlockHeadersReader.js @@ -1,6 +1,8 @@ -const { EventEmitter } = require('events'); -const { BlockHeader } = require('@dashevo/dashcore-lib'); -const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); +import EventEmitter from 'events'; +import dashcoreLib from '@dashevo/dashcore-lib'; +import GrpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; + +const { BlockHeader } = dashcoreLib; const EVENTS = { BLOCK_HEADERS: 'BLOCK_HEADERS', @@ -302,4 +304,4 @@ class BlockHeadersReader extends EventEmitter { BlockHeadersReader.EVENTS = EVENTS; -module.exports = BlockHeadersReader; +export default BlockHeadersReader; diff --git a/packages/js-dapi-client/lib/BlockHeadersProvider/createBlockHeadersProviderFromOptions.js b/packages/js-dapi-client/lib/BlockHeadersProvider/createBlockHeadersProviderFromOptions.js index 642da97dc7..06bcd509e4 100644 --- a/packages/js-dapi-client/lib/BlockHeadersProvider/createBlockHeadersProviderFromOptions.js +++ b/packages/js-dapi-client/lib/BlockHeadersProvider/createBlockHeadersProviderFromOptions.js @@ -1,6 +1,6 @@ -const DAPIClientError = require('../errors/DAPIClientError'); -const BlockHeadersProvider = require('./BlockHeadersProvider'); -const ReconnectableStream = require('../transport/ReconnectableStream'); +import DAPIClientError from '../errors/DAPIClientError.js'; +import BlockHeadersProvider from './BlockHeadersProvider.js'; +import ReconnectableStream from '../transport/ReconnectableStream.js'; const validateNumber = (value, name, min = NaN, max = NaN) => { if (typeof value !== 'number') { @@ -91,4 +91,4 @@ function createBlockHeadersProviderFromOptions(options, coreMethods, logger) { return blockHeadersProvider; } -module.exports = createBlockHeadersProviderFromOptions; +export default createBlockHeadersProviderFromOptions; diff --git a/packages/js-dapi-client/lib/DAPIClient.js b/packages/js-dapi-client/lib/DAPIClient.js index 4731c54a2d..68467ff637 100644 --- a/packages/js-dapi-client/lib/DAPIClient.js +++ b/packages/js-dapi-client/lib/DAPIClient.js @@ -1,20 +1,20 @@ -const EventEmitter = require('events'); +import EventEmitter from 'events'; -const GrpcTransport = require('./transport/GrpcTransport/GrpcTransport'); -const JsonRpcTransport = require('./transport/JsonRpcTransport/JsonRpcTransport'); +import GrpcTransport from './transport/GrpcTransport/GrpcTransport.js'; +import JsonRpcTransport from './transport/JsonRpcTransport/JsonRpcTransport.js'; -const CoreMethodsFacade = require('./methods/core/CoreMethodsFacade'); -const PlatformMethodsFacade = require('./methods/platform/PlatformMethodsFacade'); +import CoreMethodsFacade from './methods/core/CoreMethodsFacade.js'; +import PlatformMethodsFacade from './methods/platform/PlatformMethodsFacade.js'; -const createDAPIAddressProviderFromOptions = require('./dapiAddressProvider/createDAPIAddressProviderFromOptions'); -const requestJsonRpc = require('./transport/JsonRpcTransport/requestJsonRpc'); -const createGrpcTransportError = require('./transport/GrpcTransport/createGrpcTransportError'); -const createJsonTransportError = require('./transport/JsonRpcTransport/createJsonTransportError'); +import createDAPIAddressProviderFromOptions from './dapiAddressProvider/createDAPIAddressProviderFromOptions.js'; +import requestJsonRpc from './transport/JsonRpcTransport/requestJsonRpc.js'; +import createGrpcTransportError from './transport/GrpcTransport/createGrpcTransportError.js'; +import createJsonTransportError from './transport/JsonRpcTransport/createJsonTransportError.js'; -const BlockHeadersProvider = require('./BlockHeadersProvider/BlockHeadersProvider'); -const createBlockHeadersProviderFromOptions = require('./BlockHeadersProvider/createBlockHeadersProviderFromOptions'); +import BlockHeadersProvider from './BlockHeadersProvider/BlockHeadersProvider.js'; +import createBlockHeadersProviderFromOptions from './BlockHeadersProvider/createBlockHeadersProviderFromOptions.js'; -const logger = require('./logger'); +import logger from './logger/index.js'; const EVENTS = { ERROR: 'error', @@ -120,4 +120,4 @@ DAPIClient.EVENTS = EVENTS; * @property {BlockHeadersProviderOptions} [blockHeadersProviderOptions] */ -module.exports = DAPIClient; +export default DAPIClient; diff --git a/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js b/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js index 3c1c6e20c6..628952f97b 100644 --- a/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js +++ b/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js @@ -1,8 +1,9 @@ -const SimplifiedMNList = require('@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNList'); -const SimplifiedMNListDiff = require('@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNListDiff'); -const cbor = require('cbor'); +import SimplifiedMNList from '@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNList.js'; +import SimplifiedMNListDiff from '@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNListDiff.js'; +import cbor from 'cbor'; -const logger = require('../logger'); +import logger from '../logger/index.js'; +import { bytesToHex } from '../utils/bytes.js'; class SimplifiedMasternodeListProvider { /** @@ -100,11 +101,11 @@ class SimplifiedMasternodeListProvider { let simplifiedMNListDiff; let simplifiedMNListDiffObject; - let simplifiedMNListDiffBuffer; + let simplifiedMNListDiffBytes; try { - simplifiedMNListDiffBuffer = Buffer.from(response.getMasternodeListDiff_asU8()); + simplifiedMNListDiffBytes = new Uint8Array(response.getMasternodeListDiff_asU8()); - simplifiedMNListDiffObject = cbor.decodeFirstSync(simplifiedMNListDiffBuffer); + simplifiedMNListDiffObject = cbor.decodeFirstSync(simplifiedMNListDiffBytes); simplifiedMNListDiff = new SimplifiedMNListDiff( simplifiedMNListDiffObject, @@ -118,7 +119,7 @@ class SimplifiedMasternodeListProvider { network: this.options.network, error: e, simplifiedMNListDiffObject, - simplifiedMNListDiffBytes: simplifiedMNListDiffBuffer.toString('hex'), + simplifiedMNListDiffBytes: bytesToHex(simplifiedMNListDiffBytes), }, ); @@ -218,4 +219,4 @@ class SimplifiedMasternodeListProvider { SimplifiedMasternodeListProvider.NULL_HASH = '0000000000000000000000000000000000000000000000000000000000000000'; -module.exports = SimplifiedMasternodeListProvider; +export default SimplifiedMasternodeListProvider; diff --git a/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/createMasternodeListStreamFactory.js b/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/createMasternodeListStreamFactory.js index 67511925dc..37ebc34def 100644 --- a/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/createMasternodeListStreamFactory.js +++ b/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/createMasternodeListStreamFactory.js @@ -1,13 +1,15 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import GrpcTransport from '../transport/GrpcTransport/GrpcTransport.js'; +import createGrpcTransportError from '../transport/GrpcTransport/createGrpcTransportError.js'; +import ReconnectableStream from '../transport/ReconnectableStream.js'; + const { v0: { MasternodeListRequest, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const GrpcTransport = require('../transport/GrpcTransport/GrpcTransport'); -const createGrpcTransportError = require('../transport/GrpcTransport/createGrpcTransportError'); -const ReconnectableStream = require('../transport/ReconnectableStream'); +} = dapiGrpc; /** * Creates continues masternode list stream @@ -46,4 +48,4 @@ function createMasternodeListStreamFactory( ); } -module.exports = createMasternodeListStreamFactory; +export default createMasternodeListStreamFactory; diff --git a/packages/js-dapi-client/lib/dapiAddressProvider/DAPIAddress.js b/packages/js-dapi-client/lib/dapiAddressProvider/DAPIAddress.js index edcebf42b7..076d9cfe13 100644 --- a/packages/js-dapi-client/lib/dapiAddressProvider/DAPIAddress.js +++ b/packages/js-dapi-client/lib/dapiAddressProvider/DAPIAddress.js @@ -1,4 +1,4 @@ -const DAPIAddressHostMissingError = require('./errors/DAPIAddressHostMissingError'); +import DAPIAddressHostMissingError from './errors/DAPIAddressHostMissingError.js'; class DAPIAddress { /** @@ -171,4 +171,4 @@ DAPIAddress.DEFAULT_PROTOCOL = 'https'; * @property {bool} [selfSigned] */ -module.exports = DAPIAddress; +export default DAPIAddress; diff --git a/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js b/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js index d9133a1ad4..f78969b203 100644 --- a/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js +++ b/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js @@ -1,5 +1,6 @@ -const sample = require('lodash/sample'); -const networks = require('@dashevo/dashcore-lib/lib/networks'); +import networks from '@dashevo/dashcore-lib/lib/networks.js'; + +const sample = (arr) => arr[Math.floor(Math.random() * arr.length)]; class ListDAPIAddressProvider { /** @@ -94,4 +95,4 @@ class ListDAPIAddressProvider { } } -module.exports = ListDAPIAddressProvider; +export default ListDAPIAddressProvider; diff --git a/packages/js-dapi-client/lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.js b/packages/js-dapi-client/lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.js index c6607e843e..a8fb4a8263 100644 --- a/packages/js-dapi-client/lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.js +++ b/packages/js-dapi-client/lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.js @@ -1,4 +1,4 @@ -const DAPIAddress = require('./DAPIAddress'); +import DAPIAddress from './DAPIAddress.js'; class SimplifiedMasternodeListDAPIAddressProvider { /** @@ -72,4 +72,4 @@ class SimplifiedMasternodeListDAPIAddressProvider { } } -module.exports = SimplifiedMasternodeListDAPIAddressProvider; +export default SimplifiedMasternodeListDAPIAddressProvider; diff --git a/packages/js-dapi-client/lib/dapiAddressProvider/createDAPIAddressProviderFromOptions.js b/packages/js-dapi-client/lib/dapiAddressProvider/createDAPIAddressProviderFromOptions.js index 5a02a00b58..61e8d2f295 100644 --- a/packages/js-dapi-client/lib/dapiAddressProvider/createDAPIAddressProviderFromOptions.js +++ b/packages/js-dapi-client/lib/dapiAddressProvider/createDAPIAddressProviderFromOptions.js @@ -1,16 +1,16 @@ -const networks = require('@dashevo/dashcore-lib/lib/networks'); +import networks from '@dashevo/dashcore-lib/lib/networks.js'; -const DAPIAddress = require('./DAPIAddress'); +import DAPIAddress from './DAPIAddress.js'; -const ListDAPIAddressProvider = require('./ListDAPIAddressProvider'); +import ListDAPIAddressProvider from './ListDAPIAddressProvider.js'; -const SimplifiedMasternodeListProvider = require('../SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider'); -const SimplifiedMasternodeListDAPIAddressProvider = require('./SimplifiedMasternodeListDAPIAddressProvider'); -const createMasternodeListStreamFactory = require('../SimplifiedMasternodeListProvider/createMasternodeListStreamFactory'); +import SimplifiedMasternodeListProvider from '../SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js'; +import SimplifiedMasternodeListDAPIAddressProvider from './SimplifiedMasternodeListDAPIAddressProvider.js'; +import createMasternodeListStreamFactory from '../SimplifiedMasternodeListProvider/createMasternodeListStreamFactory.js'; -const DAPIClientError = require('../errors/DAPIClientError'); +import DAPIClientError from '../errors/DAPIClientError.js'; -const networkConfigs = require('../networkConfigs'); +import networkConfigs from '../networkConfigs.js'; /** * @typedef {createDAPIAddressProviderFromOptions} @@ -110,4 +110,4 @@ function createDAPIAddressProviderFromOptions(options) { return null; } -module.exports = createDAPIAddressProviderFromOptions; +export default createDAPIAddressProviderFromOptions; diff --git a/packages/js-dapi-client/lib/dapiAddressProvider/errors/DAPIAddressHostMissingError.js b/packages/js-dapi-client/lib/dapiAddressProvider/errors/DAPIAddressHostMissingError.js index a8feb72082..a269dbc02a 100644 --- a/packages/js-dapi-client/lib/dapiAddressProvider/errors/DAPIAddressHostMissingError.js +++ b/packages/js-dapi-client/lib/dapiAddressProvider/errors/DAPIAddressHostMissingError.js @@ -1,4 +1,4 @@ -const DAPIClientError = require('../../errors/DAPIClientError'); +import DAPIClientError from '../../errors/DAPIClientError.js'; class DAPIAddressHostMissingError extends DAPIClientError { constructor() { @@ -6,4 +6,4 @@ class DAPIAddressHostMissingError extends DAPIClientError { } } -module.exports = DAPIAddressHostMissingError; +export default DAPIAddressHostMissingError; diff --git a/packages/js-dapi-client/lib/errors/DAPIClientError.js b/packages/js-dapi-client/lib/errors/DAPIClientError.js index 0d55cc2b21..82904d82ea 100644 --- a/packages/js-dapi-client/lib/errors/DAPIClientError.js +++ b/packages/js-dapi-client/lib/errors/DAPIClientError.js @@ -14,4 +14,4 @@ class DAPIClientError extends Error { } } -module.exports = DAPIClientError; +export default DAPIClientError; diff --git a/packages/js-dapi-client/lib/index.js b/packages/js-dapi-client/lib/index.js index f10beb4769..af12683b9b 100644 --- a/packages/js-dapi-client/lib/index.js +++ b/packages/js-dapi-client/lib/index.js @@ -1,9 +1,6 @@ -require('../polyfills/fetch-polyfill'); - -const DAPIClient = require('./DAPIClient'); - -const NotFoundError = require('./transport/GrpcTransport/errors/NotFoundError'); -const BlockHeadersProvider = require('./BlockHeadersProvider/BlockHeadersProvider'); +import DAPIClient from './DAPIClient.js'; +import NotFoundError from './transport/GrpcTransport/errors/NotFoundError.js'; +import BlockHeadersProvider from './BlockHeadersProvider/BlockHeadersProvider.js'; DAPIClient.Errors = { NotFoundError, @@ -11,4 +8,5 @@ DAPIClient.Errors = { DAPIClient.BlockHeadersProvider = BlockHeadersProvider; -module.exports = DAPIClient; +export default DAPIClient; +export { NotFoundError, BlockHeadersProvider }; diff --git a/packages/js-dapi-client/lib/logger/index.js b/packages/js-dapi-client/lib/logger/index.js index a06b34c145..2e03362b5f 100644 --- a/packages/js-dapi-client/lib/logger/index.js +++ b/packages/js-dapi-client/lib/logger/index.js @@ -1,80 +1,33 @@ -const util = require('util'); -const winston = require('winston'); +const LOG_LEVEL = (typeof process !== 'undefined' && process.env && process.env.LOG_LEVEL) || 'silent'; -// TODO: Refactor to use params instead on envs - -const LOG_LEVEL = process.env.LOG_LEVEL || 'silent'; -const LOG_TO_FILE = process.env.LOG_WALLET_TO_FILE || 'false'; - -// Log levels: -// error 0 -// warn 1 -// info 2 (default) -// verbose 3 -// debug 4 -// silly 5 - -const loggers = {}; - -const createLogger = (formats = [], id = '') => { - const format = winston.format.combine( - { - transform: (info) => { - const args = info[Symbol.for('splat')]; - const result = { ...info }; - if (args) { - result.message = util.format(info.message, ...args); - } - return result; - }, - }, - ...formats, - winston.format.colorize(), - winston.format.printf(({ - level, message, - }) => `${level}: ${message}`), - ); - - const transports = [ - new winston.transports.Console({ - format, - silent: LOG_LEVEL === 'silent', - }), - ]; - - if (LOG_TO_FILE === 'true' && typeof window === 'undefined') { - transports.push( - new winston.transports.File({ - filename: `wallet${id !== '' ? `_${id}` : ''}`, - format, - silent: LOG_LEVEL === 'silent', - }), - ); - } - - return winston.createLogger({ - level: LOG_LEVEL, - transports, - }); +const LEVELS = { + silent: -1, error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5, }; -const logger = createLogger(); - -logger.getForId = (id) => { - if (!loggers[id]) { - const format = { - transform: (info) => { - const message = `[DAPIClient: ${id}] ${info.message}`; - return { ...info, message }; - }, - }; - - loggers[id] = createLogger([format], id); - } - - return loggers[id]; -}; - -logger.verbose(`Logger uses "${LOG_LEVEL}" level`, { level: LOG_LEVEL }); +const cache = {}; + +function build(level = LOG_LEVEL, prefix = '') { + const threshold = LEVELS[level] != null ? LEVELS[level] : LEVELS.silent; + const noop = () => {}; + const fmt = prefix ? (...a) => [prefix, ...a] : (...a) => a; + + const logger = { + error: threshold >= 0 ? (...a) => console.error(...fmt(...a)) : noop, + warn: threshold >= 1 ? (...a) => console.warn(...fmt(...a)) : noop, + info: threshold >= 2 ? (...a) => console.info(...fmt(...a)) : noop, + verbose: threshold >= 3 ? (...a) => console.debug(...fmt(...a)) : noop, + debug: threshold >= 4 ? (...a) => console.debug(...fmt(...a)) : noop, + silly: threshold >= 5 ? (...a) => console.debug(...fmt(...a)) : noop, + getForId(id, overrideLevel) { + const effective = overrideLevel || level; + const key = `${id}\0${effective}`; + if (!cache[key]) { + cache[key] = build(effective, `[DAPIClient: ${id}]`); + } + return cache[key]; + }, + }; + return logger; +} -module.exports = logger; +export default build(); diff --git a/packages/js-dapi-client/lib/methods/core/CoreMethodsFacade.js b/packages/js-dapi-client/lib/methods/core/CoreMethodsFacade.js index 4aa080cb27..d081b2e1bc 100644 --- a/packages/js-dapi-client/lib/methods/core/CoreMethodsFacade.js +++ b/packages/js-dapi-client/lib/methods/core/CoreMethodsFacade.js @@ -1,15 +1,15 @@ -const broadcastTransactionFactory = require('./broadcastTransactionFactory'); -const getBestBlockHashFactory = require('./getBestBlockHashFactory'); -const getBestBlockHeightFactory = require('./getBestBlockHeightFactory'); -const getBlockByHashFactory = require('./getBlockByHashFactory'); -const getBlockByHeightFactory = require('./getBlockByHeightFactory'); -const getBlockHashFactory = require('./getBlockHashFactory'); -const getBlockchainStatusFactory = require('./getBlockchainStatusFactory'); -const getMasternodeStatusFactory = require('./getMasternodeStatusFactory'); -const getTransactionFactory = require('./getTransaction/getTransactionFactory'); -const subscribeToTransactionsWithProofsFactory = require('./subscribeToTransactionsWithProofsFactory'); -const subscribeToBlockHeadersWithChainLocksFactory = require('./subscribeToBlockHeadersWithChainLocksFactory'); -const subscribeToToMasternodeListFactory = require('./subscribeToMasternodeListFactory'); +import broadcastTransactionFactory from './broadcastTransactionFactory.js'; +import getBestBlockHashFactory from './getBestBlockHashFactory.js'; +import getBestBlockHeightFactory from './getBestBlockHeightFactory.js'; +import getBlockByHashFactory from './getBlockByHashFactory.js'; +import getBlockByHeightFactory from './getBlockByHeightFactory.js'; +import getBlockHashFactory from './getBlockHashFactory.js'; +import getBlockchainStatusFactory from './getBlockchainStatusFactory.js'; +import getMasternodeStatusFactory from './getMasternodeStatusFactory.js'; +import getTransactionFactory from './getTransaction/getTransactionFactory.js'; +import subscribeToTransactionsWithProofsFactory from './subscribeToTransactionsWithProofsFactory.js'; +import subscribeToBlockHeadersWithChainLocksFactory from './subscribeToBlockHeadersWithChainLocksFactory.js'; +import subscribeToToMasternodeListFactory from './subscribeToMasternodeListFactory.js'; class CoreMethodsFacade { /** @@ -38,4 +38,4 @@ class CoreMethodsFacade { } } -module.exports = CoreMethodsFacade; +export default CoreMethodsFacade; diff --git a/packages/js-dapi-client/lib/methods/core/broadcastTransactionFactory.js b/packages/js-dapi-client/lib/methods/core/broadcastTransactionFactory.js index e4998994e9..d98e66f82a 100644 --- a/packages/js-dapi-client/lib/methods/core/broadcastTransactionFactory.js +++ b/packages/js-dapi-client/lib/methods/core/broadcastTransactionFactory.js @@ -1,9 +1,11 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + const { v0: { CorePromiseClient, BroadcastTransactionRequest, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -13,7 +15,7 @@ function broadcastTransactionFactory(grpcTransport) { /** * Broadcast Transaction * @typedef {broadcastTransaction} - * @param {Buffer} transaction + * @param {Uint8Array} transaction * @param {DAPIClientOptions & BroadcastTransactionOptions} [options] * @returns {string} */ @@ -42,4 +44,4 @@ function broadcastTransactionFactory(grpcTransport) { * @property {boolean} [bypassLimits=false] */ -module.exports = broadcastTransactionFactory; +export default broadcastTransactionFactory; diff --git a/packages/js-dapi-client/lib/methods/core/getBestBlockHashFactory.js b/packages/js-dapi-client/lib/methods/core/getBestBlockHashFactory.js index ee3f82aa22..1f6d641283 100644 --- a/packages/js-dapi-client/lib/methods/core/getBestBlockHashFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBestBlockHashFactory.js @@ -17,4 +17,4 @@ function getBestBlockHashFactory(jsonRpcTransport) { return getBestBlockHash; } -module.exports = getBestBlockHashFactory; +export default getBestBlockHashFactory; diff --git a/packages/js-dapi-client/lib/methods/core/getBestBlockHeightFactory.js b/packages/js-dapi-client/lib/methods/core/getBestBlockHeightFactory.js index 485010fd33..15bd0a8660 100644 --- a/packages/js-dapi-client/lib/methods/core/getBestBlockHeightFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBestBlockHeightFactory.js @@ -1,9 +1,11 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + const { v0: { GetBestBlockHeightRequest, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; /** * @@ -31,4 +33,4 @@ function getBestBlockHeightFactory(grpcTransport) { return getBestBlockHeight; } -module.exports = getBestBlockHeightFactory; +export default getBestBlockHeightFactory; diff --git a/packages/js-dapi-client/lib/methods/core/getBlockByHashFactory.js b/packages/js-dapi-client/lib/methods/core/getBlockByHashFactory.js index 72de31354b..8a56f41f40 100644 --- a/packages/js-dapi-client/lib/methods/core/getBlockByHashFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBlockByHashFactory.js @@ -1,9 +1,11 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + const { v0: { GetBlockRequest, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -15,7 +17,7 @@ function getBlockByHashFactory(grpcTransport) { * @typedef {getBlockByHash} * @param {string} hash * @param {DAPIClientOptions} [options] - * @returns {Promise} + * @returns {Promise} */ async function getBlockByHash(hash, options = {}) { const getBlockRequest = new GetBlockRequest(); @@ -29,10 +31,10 @@ function getBlockByHashFactory(grpcTransport) { ); const blockBinaryArray = response.getBlock(); - return Buffer.from(blockBinaryArray); + return new Uint8Array(blockBinaryArray); } return getBlockByHash; } -module.exports = getBlockByHashFactory; +export default getBlockByHashFactory; diff --git a/packages/js-dapi-client/lib/methods/core/getBlockByHeightFactory.js b/packages/js-dapi-client/lib/methods/core/getBlockByHeightFactory.js index e95a58aecc..32779a0462 100644 --- a/packages/js-dapi-client/lib/methods/core/getBlockByHeightFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBlockByHeightFactory.js @@ -1,9 +1,11 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + const { v0: { GetBlockRequest, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -15,7 +17,7 @@ function getBlockByHeightFactory(grpcTransport) { * @typedef {getBlockByHeight} * @param {number} height * @param {DAPIClientOptions} [options] - * @returns {Promise} + * @returns {Promise} */ async function getBlockByHeight(height, options = {}) { const getBlockRequest = new GetBlockRequest(); @@ -30,10 +32,10 @@ function getBlockByHeightFactory(grpcTransport) { const blockBinaryArray = response.getBlock(); - return Buffer.from(blockBinaryArray); + return new Uint8Array(blockBinaryArray); } return getBlockByHeight; } -module.exports = getBlockByHeightFactory; +export default getBlockByHeightFactory; diff --git a/packages/js-dapi-client/lib/methods/core/getBlockHashFactory.js b/packages/js-dapi-client/lib/methods/core/getBlockHashFactory.js index 51a6c93ab9..187967cf25 100644 --- a/packages/js-dapi-client/lib/methods/core/getBlockHashFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBlockHashFactory.js @@ -17,4 +17,4 @@ function getBlockHashFactory(jsonRpcTransport) { return getBlockHash; } -module.exports = getBlockHashFactory; +export default getBlockHashFactory; diff --git a/packages/js-dapi-client/lib/methods/core/getBlockchainStatusFactory.js b/packages/js-dapi-client/lib/methods/core/getBlockchainStatusFactory.js index 22b1f88e57..cf99fbd306 100644 --- a/packages/js-dapi-client/lib/methods/core/getBlockchainStatusFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBlockchainStatusFactory.js @@ -1,10 +1,12 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + const { v0: { GetBlockchainStatusRequest, GetBlockchainStatusResponse, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -29,18 +31,18 @@ function getBlockchainStatusFactory(grpcTransport) { const responseObject = response.toObject(); - // Respond with Buffers instead of base64 for binary fields + // Respond with Uint8Arrays instead of base64 for binary fields if (response.getChain()) { if (response.getChain() .getBestBlockHash()) { - responseObject.chain.bestBlockHash = Buffer.from(response.getChain() + responseObject.chain.bestBlockHash = new Uint8Array(response.getChain() .getBestBlockHash()); } if (response.getChain() .getChainWork()) { - responseObject.chain.chainWork = Buffer.from(response.getChain() + responseObject.chain.chainWork = new Uint8Array(response.getChain() .getChainWork()); } } @@ -56,4 +58,4 @@ function getBlockchainStatusFactory(grpcTransport) { return getBlockchainStatus; } -module.exports = getBlockchainStatusFactory; +export default getBlockchainStatusFactory; diff --git a/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js b/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js index c0da5feef9..3a178213a5 100644 --- a/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js @@ -1,10 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import { base64ToBytes } from '../../utils/bytes.js'; + const { v0: { GetMasternodeStatusRequest, GetMasternodeStatusResponse, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -34,7 +37,7 @@ function getMasternodeStatusFactory(grpcTransport) { responseObject.status = Object.keys(GetMasternodeStatusResponse.Status) .find((key) => GetMasternodeStatusResponse.Status[key] === responseObject.status); - responseObject.proTxHash = Buffer.from(responseObject.proTxHash, 'base64'); + responseObject.proTxHash = base64ToBytes(responseObject.proTxHash); return responseObject; } @@ -42,4 +45,4 @@ function getMasternodeStatusFactory(grpcTransport) { return getMasternodeStatus; } -module.exports = getMasternodeStatusFactory; +export default getMasternodeStatusFactory; diff --git a/packages/js-dapi-client/lib/methods/core/getTransaction/GetTransactionResponse.js b/packages/js-dapi-client/lib/methods/core/getTransaction/GetTransactionResponse.js index 9f65b503c3..44e3cdeb7a 100644 --- a/packages/js-dapi-client/lib/methods/core/getTransaction/GetTransactionResponse.js +++ b/packages/js-dapi-client/lib/methods/core/getTransaction/GetTransactionResponse.js @@ -1,11 +1,11 @@ -const InvalidResponseError = require('../../platform/response/errors/InvalidResponseError'); +import InvalidResponseError from '../../platform/response/errors/InvalidResponseError.js'; class GetTransactionResponse { /** * * @param {object} properties - * @param {Buffer} properties.transaction - * @param {Buffer} properties.blockHash + * @param {Uint8Array} properties.transaction + * @param {Uint8Array} properties.blockHash * @param {number} properties.height * @param {number} properties.confirmations * @param {boolean} properties.isInstantLocked @@ -22,7 +22,7 @@ class GetTransactionResponse { /** * Get transaction - * @returns {Buffer} + * @returns {Uint8Array} */ getTransaction() { return this.transaction; @@ -30,7 +30,7 @@ class GetTransactionResponse { /** * Get block hash - * @returns {Buffer} + * @returns {Uint8Array} */ getBlockHash() { return this.blockHash; @@ -75,8 +75,8 @@ class GetTransactionResponse { } return new GetTransactionResponse({ - transaction: Buffer.from(transactionBinaryArray), - blockHash: Buffer.from(proto.getBlockHash()), + transaction: new Uint8Array(transactionBinaryArray), + blockHash: new Uint8Array(proto.getBlockHash()), height: proto.getHeight(), confirmations: proto.getConfirmations(), isInstantLocked: proto.getIsInstantLocked(), @@ -85,4 +85,4 @@ class GetTransactionResponse { } } -module.exports = GetTransactionResponse; +export default GetTransactionResponse; diff --git a/packages/js-dapi-client/lib/methods/core/getTransaction/getTransactionFactory.js b/packages/js-dapi-client/lib/methods/core/getTransaction/getTransactionFactory.js index a64fc26aa1..fe0cb9785f 100644 --- a/packages/js-dapi-client/lib/methods/core/getTransaction/getTransactionFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getTransaction/getTransactionFactory.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetTransactionResponse from './GetTransactionResponse.js'; +import InvalidResponseError from '../../platform/response/errors/InvalidResponseError.js'; + const { v0: { GetTransactionRequest, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const GetTransactionResponse = require('./GetTransactionResponse'); -const InvalidResponseError = require('../../platform/response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -18,7 +19,7 @@ function getTransactionFactory(grpcTransport) { * @typedef {getTransaction} * @param {string} id * @param {DAPIClientOptions} [options] - * @returns {Promise} + * @returns {Promise} */ async function getTransaction(id, options = {}) { const getTransactionRequest = new GetTransactionRequest(); @@ -55,4 +56,4 @@ function getTransactionFactory(grpcTransport) { return getTransaction; } -module.exports = getTransactionFactory; +export default getTransactionFactory; diff --git a/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js b/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js index 397b3ffd93..4e4e034331 100644 --- a/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js +++ b/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js @@ -1,11 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import DAPIClientError from '../../errors/DAPIClientError.js'; +import { hexToBytes } from '../../utils/bytes.js'; + const { v0: { BlockHeadersWithChainLocksRequest, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const DAPIClientError = require('../../errors/DAPIClientError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -41,7 +43,7 @@ function subscribeToBlockHeadersWithChainLocksFactory(grpcTransport) { if (options.fromBlockHash) { request.setFromBlockHash( - Buffer.from(options.fromBlockHash, 'hex'), + hexToBytes(options.fromBlockHash), ); } @@ -66,4 +68,4 @@ function subscribeToBlockHeadersWithChainLocksFactory(grpcTransport) { * if set to 0 syncing is continuously sends new data as well */ -module.exports = subscribeToBlockHeadersWithChainLocksFactory; +export default subscribeToBlockHeadersWithChainLocksFactory; diff --git a/packages/js-dapi-client/lib/methods/core/subscribeToMasternodeListFactory.js b/packages/js-dapi-client/lib/methods/core/subscribeToMasternodeListFactory.js index 1d7ba8228a..b31e7d9896 100644 --- a/packages/js-dapi-client/lib/methods/core/subscribeToMasternodeListFactory.js +++ b/packages/js-dapi-client/lib/methods/core/subscribeToMasternodeListFactory.js @@ -1,9 +1,11 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + const { v0: { MasternodeListRequest, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -43,4 +45,4 @@ function subscribeToMasternodeListFactory(grpcTransport) { * @typedef {object} subscribeToMasternodeListOptions */ -module.exports = subscribeToMasternodeListFactory; +export default subscribeToMasternodeListFactory; diff --git a/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js b/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js index bf1784291e..c8aa6f187c 100644 --- a/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js +++ b/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js @@ -1,12 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import DAPIClientError from '../../errors/DAPIClientError.js'; +import { hexToBytes } from '../../utils/bytes.js'; + const { v0: { TransactionsWithProofsRequest, CorePromiseClient, BloomFilter: BloomFilterMessage, }, -} = require('@dashevo/dapi-grpc'); - -const DAPIClientError = require('../../errors/DAPIClientError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -65,7 +67,7 @@ function subscribeToTransactionsWithProofsFactory(grpcTransport) { if (options.fromBlockHash) { request.setFromBlockHash( - Buffer.from(options.fromBlockHash, 'hex'), + hexToBytes(options.fromBlockHash), ); } @@ -90,4 +92,4 @@ function subscribeToTransactionsWithProofsFactory(grpcTransport) { * if set to 0 syncing is continuously sends new data as well */ -module.exports = subscribeToTransactionsWithProofsFactory; +export default subscribeToTransactionsWithProofsFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js b/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js index 8de255abde..e57ea4494a 100644 --- a/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js +++ b/packages/js-dapi-client/lib/methods/platform/PlatformMethodsFacade.js @@ -1,21 +1,21 @@ -const broadcastStateTransitionFactory = require('./broadcastStateTransition/broadcastStateTransitionFactory'); -const getDataContractFactory = require('./getDataContract/getDataContractFactory'); -const getDataContractHistoryFactory = require('./getDataContractHistory/getDataContractHistoryFactory'); -const getDocumentsFactory = require('./getDocuments/getDocumentsFactory'); -const getIdentityFactory = require('./getIdentity/getIdentityFactory'); -const getIdentityByPublicKeyHashFactory = require('./getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory'); -const getIdentitiesContractKeysFactory = require('./getIdentitiesContractKeys/getIdentitiesContractKeysFactory'); -const waitForStateTransitionResultFactory = require('./waitForStateTransitionResult/waitForStateTransitionResultFactory'); -const getConsensusParamsFactory = require('./getConsensusParams/getConsensusParamsFactory'); -const getEpochsInfoFactory = require('./getEpochsInfo/getEpochsInfoFactory'); -const getProtocolVersionUpgradeVoteStatusFactory = require('./getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory'); -const getProtocolVersionUpgradeStateFactory = require('./getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory'); -const getIdentityContractNonceFactory = require('./getIdentityContractNonce/getIdentityContractNonceFactory'); -const getIdentityNonceFactory = require('./getIdentityNonce/getIdentityNonceFactory'); -const getIdentityKeysFactory = require('./getIdentityKeys/getIdentityKeysFactory'); -const getTotalCreditsInPlatformFactory = require('./getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory'); -const getStatusFactory = require('./getStatus/getStatusFactory'); -const getIdentityBalanceFactory = require('./getIdentityBalance/getIdentityBalanceFactory'); +import broadcastStateTransitionFactory from './broadcastStateTransition/broadcastStateTransitionFactory.js'; +import getDataContractFactory from './getDataContract/getDataContractFactory.js'; +import getDataContractHistoryFactory from './getDataContractHistory/getDataContractHistoryFactory.js'; +import getDocumentsFactory from './getDocuments/getDocumentsFactory.js'; +import getIdentityFactory from './getIdentity/getIdentityFactory.js'; +import getIdentityByPublicKeyHashFactory from './getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.js'; +import getIdentitiesContractKeysFactory from './getIdentitiesContractKeys/getIdentitiesContractKeysFactory.js'; +import waitForStateTransitionResultFactory from './waitForStateTransitionResult/waitForStateTransitionResultFactory.js'; +import getConsensusParamsFactory from './getConsensusParams/getConsensusParamsFactory.js'; +import getEpochsInfoFactory from './getEpochsInfo/getEpochsInfoFactory.js'; +import getProtocolVersionUpgradeVoteStatusFactory from './getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.js'; +import getProtocolVersionUpgradeStateFactory from './getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.js'; +import getIdentityContractNonceFactory from './getIdentityContractNonce/getIdentityContractNonceFactory.js'; +import getIdentityNonceFactory from './getIdentityNonce/getIdentityNonceFactory.js'; +import getIdentityKeysFactory from './getIdentityKeys/getIdentityKeysFactory.js'; +import getTotalCreditsInPlatformFactory from './getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory.js'; +import getStatusFactory from './getStatus/getStatusFactory.js'; +import getIdentityBalanceFactory from './getIdentityBalance/getIdentityBalanceFactory.js'; class PlatformMethodsFacade { /** @@ -45,4 +45,4 @@ class PlatformMethodsFacade { } } -module.exports = PlatformMethodsFacade; +export default PlatformMethodsFacade; diff --git a/packages/js-dapi-client/lib/methods/platform/broadcastStateTransition/BroadcastStateTransitionResponse.js b/packages/js-dapi-client/lib/methods/platform/broadcastStateTransition/BroadcastStateTransitionResponse.js index 3567f2a742..b4ec0322ee 100644 --- a/packages/js-dapi-client/lib/methods/platform/broadcastStateTransition/BroadcastStateTransitionResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/broadcastStateTransition/BroadcastStateTransitionResponse.js @@ -7,4 +7,4 @@ class BroadcastStateTransitionResponse { } } -module.exports = BroadcastStateTransitionResponse; +export default BroadcastStateTransitionResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/broadcastStateTransition/broadcastStateTransitionFactory.js b/packages/js-dapi-client/lib/methods/platform/broadcastStateTransition/broadcastStateTransitionFactory.js index f6a715f33b..c4349023ba 100644 --- a/packages/js-dapi-client/lib/methods/platform/broadcastStateTransition/broadcastStateTransitionFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/broadcastStateTransition/broadcastStateTransitionFactory.js @@ -1,11 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import BroadcastStateTransitionResponse from './BroadcastStateTransitionResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { BroadcastStateTransitionRequest, PlatformPromiseClient, }, -} = require('@dashevo/dapi-grpc'); -const BroadcastStateTransitionResponse = require('./BroadcastStateTransitionResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -15,7 +17,7 @@ function broadcastStateTransitionFactory(grpcTransport) { /** * Broadcast State Transaction * @typedef {broadcastStateTransition} - * @param {Buffer} stateTransition + * @param {Uint8Array} stateTransition * @param {DAPIClientOptions} [options] * @returns {Promise} */ @@ -53,4 +55,4 @@ function broadcastStateTransitionFactory(grpcTransport) { return broadcastStateTransition; } -module.exports = broadcastStateTransitionFactory; +export default broadcastStateTransitionFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/ConsensusParamsBlock.js b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/ConsensusParamsBlock.js index 31e05d884f..02bd512958 100644 --- a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/ConsensusParamsBlock.js +++ b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/ConsensusParamsBlock.js @@ -33,4 +33,4 @@ class ConsensusParamsBlock { } } -module.exports = ConsensusParamsBlock; +export default ConsensusParamsBlock; diff --git a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/ConsensusParamsEvidence.js b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/ConsensusParamsEvidence.js index dd5bd03a6e..ddb19b6ac1 100644 --- a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/ConsensusParamsEvidence.js +++ b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/ConsensusParamsEvidence.js @@ -33,4 +33,4 @@ class ConsensusParamsEvidence { } } -module.exports = ConsensusParamsEvidence; +export default ConsensusParamsEvidence; diff --git a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js index c66ed9874c..787b515536 100644 --- a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js @@ -1,11 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; +import GetConsensusParamsResponse from './getConsensusParamsResponse.js'; + const { v0: { PlatformPromiseClient, GetConsensusParamsRequest, }, -} = require('@dashevo/dapi-grpc'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); -const GetConsensusParamsResponse = require('./getConsensusParamsResponse'); +} = dapiGrpc; const { GetConsensusParamsRequestV0, @@ -66,4 +68,4 @@ function getConsensusParamsFactory(grpcTransport) { return getConsensusParams; } -module.exports = getConsensusParamsFactory; +export default getConsensusParamsFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js index 0e0dbe25f9..105eb24a5b 100644 --- a/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js @@ -1,6 +1,6 @@ -const InvalidResponseError = require('../response/errors/InvalidResponseError'); -const ConsensusParamsBlock = require('./ConsensusParamsBlock'); -const ConsensusParamsEvidence = require('./ConsensusParamsEvidence'); +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; +import ConsensusParamsBlock from './ConsensusParamsBlock.js'; +import ConsensusParamsEvidence from './ConsensusParamsEvidence.js'; class GetConsensusParamsResponse { /** @@ -58,4 +58,4 @@ class GetConsensusParamsResponse { } } -module.exports = GetConsensusParamsResponse; +export default GetConsensusParamsResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js b/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js index e1be4b3506..9ffce5f703 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js @@ -1,9 +1,9 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; class GetDataContractResponse extends AbstractResponse { /** - * @param {Buffer} dataContract + * @param {Uint8Array} dataContract * @param {Metadata} metadata * @param {Proof} [proof] */ @@ -14,7 +14,7 @@ class GetDataContractResponse extends AbstractResponse { } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getDataContract() { return this.dataContract; @@ -33,11 +33,11 @@ class GetDataContractResponse extends AbstractResponse { } return new GetDataContractResponse( - Buffer.from(dataContract), + new Uint8Array(dataContract), metadata, proof, ); } } -module.exports = GetDataContractResponse; +export default GetDataContractResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js b/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js index 0966fd0592..7dceeda717 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetDataContractResponse from './GetDataContractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetDataContractRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetDataContractResponse = require('./GetDataContractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -16,7 +17,7 @@ function getDataContractFactory(grpcTransport) { /** * Fetch Data Contract by id * @typedef {getDataContract} - * @param {Buffer} contractId + * @param {Uint8Array} contractId * @param {DAPIClientOptions & {prove: boolean}} [options] * @returns {Promise} */ @@ -24,12 +25,12 @@ function getDataContractFactory(grpcTransport) { const { GetDataContractRequestV0 } = GetDataContractRequest; const getDataContractRequest = new GetDataContractRequest(); - // need to convert objects inherited from Buffer to pure buffer as google protobuf + // need to convert objects inherited from Uint8Array to pure Uint8Array as google protobuf // doesn't support extended buffers // https://github.com/protocolbuffers/protobuf/blob/master/js/binary/utils.js#L1049 - if (Buffer.isBuffer(contractId)) { + if (contractId instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - contractId = Buffer.from(contractId); + contractId = new Uint8Array(contractId); } getDataContractRequest.setV0( @@ -69,4 +70,4 @@ function getDataContractFactory(grpcTransport) { return getDataContract; } -module.exports = getDataContractFactory; +export default getDataContractFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/DataContractHistoryEntry.js b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/DataContractHistoryEntry.js index b34a49fc98..a3d6851f2b 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/DataContractHistoryEntry.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/DataContractHistoryEntry.js @@ -1,7 +1,7 @@ class DataContractHistoryEntry { /** * @param {bigint} date - timestamp - * @param {Buffer} value - buffer value of the data contract + * @param {Uint8Array} value - byte value of the data contract */ constructor(date, value) { this.date = date; @@ -16,11 +16,11 @@ class DataContractHistoryEntry { } /** - * @returns {Buffer} - raw binary value of the data contract + * @returns {Uint8Array} - raw binary value of the data contract */ getValue() { return this.value; } } -module.exports = DataContractHistoryEntry; +export default DataContractHistoryEntry; diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js index 1dfbb0747c..b25e61c21b 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js @@ -1,6 +1,6 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); -const DataContractHistoryEntry = require('./DataContractHistoryEntry'); +import AbstractResponse from '../response/AbstractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; +import DataContractHistoryEntry from './DataContractHistoryEntry.js'; class GetDataContractHistoryResponse extends AbstractResponse { /** @@ -46,4 +46,4 @@ class GetDataContractHistoryResponse extends AbstractResponse { } } -module.exports = GetDataContractHistoryResponse; +export default GetDataContractHistoryResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js index 1059c74bd5..926838de53 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js @@ -1,14 +1,17 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import wrappersPb from 'google-protobuf/google/protobuf/wrappers_pb.js'; +import GetDataContractHistoryResponse from './GetDataContractHistoryResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetDataContractHistoryRequest, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; -const { UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); +const { UInt32Value } = wrappersPb; -const GetDataContractHistoryResponse = require('./GetDataContractHistoryResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); /** * @param {GrpcTransport} grpcTransport * @returns {getDataContractHistory} @@ -17,7 +20,7 @@ function getDataContractHistoryFactory(grpcTransport) { /** * Fetch Data Contract by id * @typedef {getDataContractHistory} - * @param {Buffer} contractId + * @param {Uint8Array} contractId * @param {bigint} [startAtMs] * @param {number} [limit] * @param {number} [offset] @@ -34,12 +37,12 @@ function getDataContractHistoryFactory(grpcTransport) { const { GetDataContractHistoryRequestV0 } = GetDataContractHistoryRequest; const getDataContractHistoryRequest = new GetDataContractHistoryRequest(); - // need to convert objects inherited from Buffer to pure buffer as google protobuf + // need to convert objects inherited from Uint8Array to pure Uint8Array as google protobuf // doesn't support extended buffers // https://github.com/protocolbuffers/protobuf/blob/master/js/binary/utils.js#L1049 - if (Buffer.isBuffer(contractId)) { + if (contractId instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - contractId = Buffer.from(contractId); + contractId = new Uint8Array(contractId); } getDataContractHistoryRequest.setV0( @@ -82,4 +85,4 @@ function getDataContractHistoryFactory(grpcTransport) { return getDataContractHistory; } -module.exports = getDataContractHistoryFactory; +export default getDataContractHistoryFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js b/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js index 5340a5d3b0..5b45ee80a4 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js @@ -1,8 +1,8 @@ -const AbstractResponse = require('../response/AbstractResponse'); +import AbstractResponse from '../response/AbstractResponse.js'; class GetDocumentsResponse extends AbstractResponse { /** - * @param {Buffer[]} documents + * @param {Uint8Array[]} documents * @param {Metadata} metadata * @param {Proof} [proof] */ @@ -13,7 +13,7 @@ class GetDocumentsResponse extends AbstractResponse { } /** - * @returns {Buffer[]} + * @returns {Uint8Array[]} */ getDocuments() { return this.documents; @@ -30,11 +30,11 @@ class GetDocumentsResponse extends AbstractResponse { return new GetDocumentsResponse( documents !== undefined - ? documents.getDocumentsList().map((document) => Buffer.from(document)) : [], + ? documents.getDocumentsList().map((document) => new Uint8Array(document)) : [], metadata, proof, ); } } -module.exports = GetDocumentsResponse; +export default GetDocumentsResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js b/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js index 4c086b21f7..48a8d09a74 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js @@ -1,14 +1,14 @@ -const cbor = require('cbor'); +import cbor from 'cbor'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetDocumentsResponse from './GetDocumentsResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; const { v0: { PlatformPromiseClient, GetDocumentsRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetDocumentsResponse = require('./GetDocumentsResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -18,7 +18,7 @@ function getDocumentsFactory(grpcTransport) { /** * Fetch Documents from Drive * @typedef {getDocuments} - * @param {Buffer} contractId - Data Contract ID + * @param {Uint8Array} contractId - Data Contract ID * @param {string} type - Document type * @param {DAPIClientOptions & getDocumentsOptions & {prove: boolean}} [options] * @returns {Promise} @@ -44,15 +44,16 @@ function getDocumentsFactory(grpcTransport) { const { GetDocumentsRequestV0 } = GetDocumentsRequest; const getDocumentsRequest = new GetDocumentsRequest(); - // need to convert Identifier to pure buffer as google protobuf doesn't support extended buffers + // need to convert Identifier to pure Uint8Array as google protobuf doesn't support + // extended buffers // https://github.com/protocolbuffers/protobuf/blob/master/js/binary/utils.js#L1049 - // need to convert objects inherited from Buffer to pure buffer as google protobuf + // need to convert objects inherited from Uint8Array to pure Uint8Array as google protobuf // doesn't support extended buffers // https://github.com/protocolbuffers/protobuf/blob/master/js/binary/utils.js#L1049 - if (Buffer.isBuffer(contractId)) { + if (contractId instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - contractId = Buffer.from(contractId); + contractId = new Uint8Array(contractId); } getDocumentsRequest.setV0( @@ -107,4 +108,4 @@ function getDocumentsFactory(grpcTransport) { * @property {object} [startAfter] */ -module.exports = getDocumentsFactory; +export default getDocumentsFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/EpochInfo.js b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/EpochInfo.js index 61bd651c75..4dc2a6d788 100644 --- a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/EpochInfo.js +++ b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/EpochInfo.js @@ -51,4 +51,4 @@ class EpochInfo { } } -module.exports = EpochInfo; +export default EpochInfo; diff --git a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js index 3db067e1a7..a39765ae22 100644 --- a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js @@ -1,6 +1,6 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const EpochInfo = require('./EpochInfo'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import EpochInfo from './EpochInfo.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; class GetEpochsInfoResponse extends AbstractResponse { /** @@ -56,4 +56,4 @@ class GetEpochsInfoResponse extends AbstractResponse { } } -module.exports = GetEpochsInfoResponse; +export default GetEpochsInfoResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js index 9982c6f9e6..bb837b06f7 100644 --- a/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js @@ -1,14 +1,16 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import wrappersPb from 'google-protobuf/google/protobuf/wrappers_pb.js'; +import GetEpochsInfoResponse from './GetEpochsInfoResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetEpochsInfoRequest, }, -} = require('@dashevo/dapi-grpc'); - -const { UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); +} = dapiGrpc; -const GetEpochsInfoResponse = require('./GetEpochsInfoResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +const { UInt32Value } = wrappersPb; /** * @param {GrpcTransport} grpcTransport @@ -65,4 +67,4 @@ function getEpochsInfoFactory(grpcTransport) { return getEpochsInfo; } -module.exports = getEpochsInfoFactory; +export default getEpochsInfoFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.js index 4fd843f6f9..c5c104524d 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.js @@ -1,5 +1,7 @@ -const { Identifier } = require('@dashevo/wasm-dpp'); -const AbstractResponse = require('../response/AbstractResponse'); +import wasmDpp from '@dashevo/wasm-dpp'; +import AbstractResponse from '../response/AbstractResponse.js'; + +const { Identifier } = wasmDpp; class GetIdentitiesContractKeysResponse extends AbstractResponse { /** @@ -34,6 +36,7 @@ class GetIdentitiesContractKeysResponse extends AbstractResponse { const keysEntries = identitiesKeys.getEntriesList(); identitiesKeysMap = keysEntries.reduce((acc, entry) => { + // wasm-dpp Identifier.from requires Node Buffer (not plain Uint8Array) const identityId = Identifier.from(Buffer.from(entry.getIdentityId())).toString(); if (!acc[identityId]) { acc[identityId] = {}; @@ -62,4 +65,4 @@ class GetIdentitiesContractKeysResponse extends AbstractResponse { } } -module.exports = GetIdentitiesContractKeysResponse; +export default GetIdentitiesContractKeysResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.js index 47140bfe0c..ed5e3c2b07 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.js @@ -1,13 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentitiesContractKeysResponse from './GetIdentitiesContractKeysResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetIdentitiesContractKeysRequest, }, -} = require('@dashevo/dapi-grpc'); -const { IdentityPublicKey } = require('@dashevo/wasm-dpp'); - -const GetIdentitiesContractKeysResponse = require('./GetIdentitiesContractKeysResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -17,8 +17,8 @@ function getIdentitiesContractKeysFactory(grpcTransport) { /** * Fetch the identities by public key hashes * @typedef {getIdentitiesContractKeys} - * @param {Buffer[]} identitiesIds - * @param {Buffer} contractId + * @param {Uint8Array[]} identitiesIds + * @param {Uint8Array} contractId * @param {IdentityPublicKey.PURPOSES[]} keyPurposes * @param {string | null} documentTypeName * @param {DAPIClientOptions & {prove: boolean}} [options] @@ -36,17 +36,16 @@ function getIdentitiesContractKeysFactory(grpcTransport) { // eslint-disable-next-line no-param-reassign identitiesIds = identitiesIds.map((id) => { - if (Buffer.isBuffer(id)) { - // eslint-disable-next-line no-param-reassign - id = Buffer.from(id); + if (id instanceof Uint8Array) { + return new Uint8Array(id); } return id; }); - if (Buffer.isBuffer(contractId)) { + if (contractId instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - contractId = Buffer.from(contractId); + contractId = new Uint8Array(contractId); } getIdentitiesContractKeysRequest.setV0( @@ -90,4 +89,4 @@ function getIdentitiesContractKeysFactory(grpcTransport) { return getIdentitiesContractKeys; } -module.exports = getIdentitiesContractKeysFactory; +export default getIdentitiesContractKeysFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js index 718633fb56..bc170f9ae2 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js @@ -1,9 +1,9 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; class GetIdentityResponse extends AbstractResponse { /** - * @param {Buffer} identity + * @param {Uint8Array} identity * @param {Metadata} metadata * @param {Proof} [proof] */ @@ -14,7 +14,7 @@ class GetIdentityResponse extends AbstractResponse { } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getIdentity() { return this.identity; @@ -33,11 +33,11 @@ class GetIdentityResponse extends AbstractResponse { } return new GetIdentityResponse( - Buffer.from(proto.getV0().getIdentity()), + new Uint8Array(proto.getV0().getIdentity()), metadata, proof, ); } } -module.exports = GetIdentityResponse; +export default GetIdentityResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js index 6179fe0233..1f0d99a31c 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityResponse from './GetIdentityResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetIdentityRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityResponse = require('./GetIdentityResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -16,19 +17,19 @@ function getIdentityFactory(grpcTransport) { /** * Fetch the identity by id * @typedef {getIdentity} - * @param {Buffer} id + * @param {Uint8Array} id * @param {DAPIClientOptions & {prove: boolean}} [options] * @returns {Promise} */ async function getIdentity(id, options = {}) { const { GetIdentityRequestV0 } = GetIdentityRequest; const getIdentityRequest = new GetIdentityRequest(); - // need to convert objects inherited from Buffer to pure buffer as google protobuf + // need to convert objects inherited from Uint8Array to pure Uint8Array as google protobuf // doesn't support extended buffers // https://github.com/protocolbuffers/protobuf/blob/master/js/binary/utils.js#L1049 - if (Buffer.isBuffer(id)) { + if (id instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - id = Buffer.from(id); + id = new Uint8Array(id); } getIdentityRequest.setV0( @@ -68,4 +69,4 @@ function getIdentityFactory(grpcTransport) { return getIdentity; } -module.exports = getIdentityFactory; +export default getIdentityFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.js index 76c0f4e4a5..afcb1b390c 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.js @@ -1,5 +1,5 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; class GetIdentityBalanceResponse extends AbstractResponse { /** @@ -40,4 +40,4 @@ class GetIdentityBalanceResponse extends AbstractResponse { } } -module.exports = GetIdentityBalanceResponse; +export default GetIdentityBalanceResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js index 93862ccff9..e8c62749fc 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityBalanceResponse from './GetIdentityBalanceResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetIdentityBalanceRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityBalanceResponse = require('./GetIdentityBalanceResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -16,19 +17,19 @@ function getIdentityBalanceFactory(grpcTransport) { /** * Fetch the identity balance by id * @typedef {getIdentityBalance} - * @param {Buffer} id + * @param {Uint8Array} id * @param {DAPIClientOptions & {prove: boolean}} [options] * @returns {Promise} */ async function getIdentityBalance(id, options = {}) { const { GetIdentityBalanceRequestV0 } = GetIdentityBalanceRequest; const getIdentityBalanceRequest = new GetIdentityBalanceRequest(); - // need to convert objects inherited from Buffer to pure buffer as google protobuf + // need to convert objects inherited from Uint8Array to pure Uint8Array as google protobuf // doesn't support extended buffers // https://github.com/protocolbuffers/protobuf/blob/master/js/binary/utils.js#L1049 - if (Buffer.isBuffer(id)) { + if (id instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - id = Buffer.from(id); + id = new Uint8Array(id); } getIdentityBalanceRequest.setV0( @@ -68,4 +69,4 @@ function getIdentityBalanceFactory(grpcTransport) { return getIdentityBalance; } -module.exports = getIdentityBalanceFactory; +export default getIdentityBalanceFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.js index 86f97aecfe..174175931e 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.js @@ -1,8 +1,8 @@ -const AbstractResponse = require('../response/AbstractResponse'); +import AbstractResponse from '../response/AbstractResponse.js'; class GetIdentityByPublicKeyHashResponse extends AbstractResponse { /** - * @param {Buffer} identities + * @param {Uint8Array} identities * @param identity * @param {Metadata} metadata * @param {Proof} [proof] @@ -14,7 +14,7 @@ class GetIdentityByPublicKeyHashResponse extends AbstractResponse { } /** - * @returns {Buffer[]} + * @returns {Uint8Array[]} */ getIdentity() { return this.identity; @@ -30,11 +30,11 @@ class GetIdentityByPublicKeyHashResponse extends AbstractResponse { const identity = proto.getV0().getIdentity(); return new GetIdentityByPublicKeyHashResponse( - Buffer.from(identity), + new Uint8Array(identity), metadata, proof, ); } } -module.exports = GetIdentityByPublicKeyHashResponse; +export default GetIdentityByPublicKeyHashResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.js index ed3ca1fca7..dfbcf1ede3 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityByPublicKeyHashResponse from './GetIdentityByPublicKeyHashResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetIdentityByPublicKeyHashRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityByPublicKeyHashResponse = require('./GetIdentityByPublicKeyHashResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -16,7 +17,7 @@ function getIdentityByPublicKeyHashFactory(grpcTransport) { /** * Fetch the identity by public key hash * @typedef {getIdentityByPublicKeyHash} - * @param {Buffer} publicKeyHash + * @param {Uint8Array} publicKeyHash * @param {DAPIClientOptions & {prove: boolean}} [options] * @returns {Promise} */ @@ -61,4 +62,4 @@ function getIdentityByPublicKeyHashFactory(grpcTransport) { return getIdentityByPublicKeyHash; } -module.exports = getIdentityByPublicKeyHashFactory; +export default getIdentityByPublicKeyHashFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/GetIdentityContractNonceResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/GetIdentityContractNonceResponse.js index 0cca1d9708..e65233f929 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/GetIdentityContractNonceResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/GetIdentityContractNonceResponse.js @@ -1,5 +1,5 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; const IDENTITY_CONTRACT_NONCE_VALUE_FILTER = BigInt(0xFFFFFFFFFF); @@ -46,4 +46,4 @@ class GetIdentityContractNonceResponse extends AbstractResponse { } } -module.exports = GetIdentityContractNonceResponse; +export default GetIdentityContractNonceResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.js index 59aec51dc8..337a727f2c 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityContractNonceResponse from './GetIdentityContractNonceResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetIdentityContractNonceRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityContractNonceResponse = require('./GetIdentityContractNonceResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -16,8 +17,8 @@ function getIdentityContractNonceFactory(grpcTransport) { /** * Fetch the version upgrade votes status * @typedef {getIdentityContractNonce} - * @param {Buffer} identityId - * @param {Buffer} contractId + * @param {Uint8Array} identityId + * @param {Uint8Array} contractId * @param {DAPIClientOptions & {prove: boolean}} [options] * @returns {Promise} */ @@ -29,14 +30,14 @@ function getIdentityContractNonceFactory(grpcTransport) { // eslint-disable-next-line max-len const getIdentityContractNonceRequest = new GetIdentityContractNonceRequest(); - if (Buffer.isBuffer(identityId)) { + if (identityId instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - identityId = Buffer.from(identityId); + identityId = new Uint8Array(identityId); } - if (Buffer.isBuffer(contractId)) { + if (contractId instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - contractId = Buffer.from(contractId); + contractId = new Uint8Array(contractId); } getIdentityContractNonceRequest.setV0( @@ -78,4 +79,4 @@ function getIdentityContractNonceFactory(grpcTransport) { return getIdentityContractNonce; } -module.exports = getIdentityContractNonceFactory; +export default getIdentityContractNonceFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/GetIdentityKeysResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/GetIdentityKeysResponse.js index de377cfdfb..ca59c52ede 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/GetIdentityKeysResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/GetIdentityKeysResponse.js @@ -1,5 +1,5 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; class GetIdentityKeysResponse extends AbstractResponse { /** @@ -49,4 +49,4 @@ class GetIdentityKeysResponse extends AbstractResponse { } } -module.exports = GetIdentityKeysResponse; +export default GetIdentityKeysResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/getIdentityKeysFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/getIdentityKeysFactory.js index 4bc32a03a6..e31f95e78d 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/getIdentityKeysFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/getIdentityKeysFactory.js @@ -1,3 +1,8 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import wrappersPb from 'google-protobuf/google/protobuf/wrappers_pb.js'; +import GetIdentityKeysResponse from './GetIdentityKeysResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, @@ -6,15 +11,12 @@ const { SpecificKeys, AllKeys, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; -const { UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); +const { UInt32Value } = wrappersPb; const { GetIdentityKeysRequestV0 } = GetIdentityKeysRequest; -const GetIdentityKeysResponse = require('./GetIdentityKeysResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); - /** * @param {GrpcTransport} grpcTransport * @returns {getIdentityKeys} @@ -23,16 +25,16 @@ function getIdentityKeysFactory(grpcTransport) { /** * Fetch the version upgrade votes status * @typedef {getIdentityKeys} - * @param {Buffer} identityId + * @param {Uint8Array} identityId * @param {number[]=} keyIds * @param {number} limit * @param {DAPIClientOptions & {prove: boolean}} [options] * @returns {Promise} */ async function getIdentityKeys(identityId, keyIds, limit = 100, options = {}) { - if (Buffer.isBuffer(identityId)) { + if (identityId instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - identityId = Buffer.from(identityId); + identityId = new Uint8Array(identityId); } const getIdentityKeysRequest = new GetIdentityKeysRequest(); @@ -84,4 +86,4 @@ function getIdentityKeysFactory(grpcTransport) { return getIdentityKeys; } -module.exports = getIdentityKeysFactory; +export default getIdentityKeysFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/GetIdentityNonceResponse.js b/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/GetIdentityNonceResponse.js index daead898b3..fbc4057c0d 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/GetIdentityNonceResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/GetIdentityNonceResponse.js @@ -1,5 +1,5 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; const IDENTITY_NONCE_VALUE_FILTER = BigInt(0xFFFFFFFFFF); @@ -46,4 +46,4 @@ class GetIdentityNonceResponse extends AbstractResponse { } } -module.exports = GetIdentityNonceResponse; +export default GetIdentityNonceResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/getIdentityNonceFactory.js b/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/getIdentityNonceFactory.js index 217cfe48c3..a2fd8f419f 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/getIdentityNonceFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/getIdentityNonceFactory.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityNonceResponse from './GetIdentityNonceResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetIdentityNonceRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityNonceResponse = require('./GetIdentityNonceResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -16,7 +17,7 @@ function getIdentityNonceFactory(grpcTransport) { /** * Fetch the version upgrade votes status * @typedef {getIdentityNonce} - * @param {Buffer} identityId + * @param {Uint8Array} identityId * @param {DAPIClientOptions & {prove: boolean}} [options] * @returns {Promise} */ @@ -28,9 +29,9 @@ function getIdentityNonceFactory(grpcTransport) { // eslint-disable-next-line max-len const getIdentityNonceRequest = new GetIdentityNonceRequest(); - if (Buffer.isBuffer(identityId)) { + if (identityId instanceof Uint8Array) { // eslint-disable-next-line no-param-reassign - identityId = Buffer.from(identityId); + identityId = new Uint8Array(identityId); } getIdentityNonceRequest.setV0( @@ -71,4 +72,4 @@ function getIdentityNonceFactory(grpcTransport) { return getIdentityNonce; } -module.exports = getIdentityNonceFactory; +export default getIdentityNonceFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.js b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.js index 0d01b9fa2d..02024eb510 100644 --- a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.js @@ -1,6 +1,6 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const VersionEntry = require('./VersionEntry'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import VersionEntry from './VersionEntry.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; class GetProtocolVersionUpgradeStateResponse extends AbstractResponse { /** @@ -53,4 +53,4 @@ class GetProtocolVersionUpgradeStateResponse extends AbstractResponse { } } -module.exports = GetProtocolVersionUpgradeStateResponse; +export default GetProtocolVersionUpgradeStateResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/VersionEntry.js b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/VersionEntry.js index 7ddfe52c45..e4aedcec10 100644 --- a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/VersionEntry.js +++ b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/VersionEntry.js @@ -23,4 +23,4 @@ class VersionEntry { } } -module.exports = VersionEntry; +export default VersionEntry; diff --git a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.js b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.js index 235c8ced93..f5a41cbc93 100644 --- a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.js @@ -1,12 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import GetProtocolVersionUpgradeStateResponse from './GetProtocolVersionUpgradeStateResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetProtocolVersionUpgradeStateRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetProtocolVersionUpgradeStateResponse = require('./GetProtocolVersionUpgradeStateResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -59,4 +61,4 @@ function getProtocolVersionUpgradeStateFactory(grpcTransport) { return getProtocolVersionUpgradeState; } -module.exports = getProtocolVersionUpgradeStateFactory; +export default getProtocolVersionUpgradeStateFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.js b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.js index a28ec23e6c..a8bf59ae9a 100644 --- a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.js @@ -1,6 +1,7 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const VersionSignal = require('./VersionSignal'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import VersionSignal from './VersionSignal.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; +import { bytesToHex } from '../../../utils/bytes.js'; class GetProtocolVersionUpgradeVoteStatusResponse extends AbstractResponse { /** @@ -40,7 +41,7 @@ class GetProtocolVersionUpgradeVoteStatusResponse extends AbstractResponse { const versionSignalsList = versions && versions.getVersionSignalsList(); if (versionSignalsList) { versionSignals = versionSignalsList.map((versionSignal) => new VersionSignal( - Buffer.from(versionSignal.getProTxHash()).toString('hex'), + bytesToHex(new Uint8Array(versionSignal.getProTxHash())), versionSignal.getVersion(), )); } @@ -53,4 +54,4 @@ class GetProtocolVersionUpgradeVoteStatusResponse extends AbstractResponse { } } -module.exports = GetProtocolVersionUpgradeVoteStatusResponse; +export default GetProtocolVersionUpgradeVoteStatusResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/VersionSignal.js b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/VersionSignal.js index 7bd4a234f3..799a025f1f 100644 --- a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/VersionSignal.js +++ b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/VersionSignal.js @@ -23,4 +23,4 @@ class VersionSignal { } } -module.exports = VersionSignal; +export default VersionSignal; diff --git a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.js b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.js index bc79c54315..bf15d822c1 100644 --- a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.js @@ -1,12 +1,15 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import GetProtocolVersionUpgradeVoteStatusResponse from './GetProtocolVersionUpgradeVoteStatusResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; +import { hexToBytes } from '../../../utils/bytes.js'; + const { v0: { PlatformPromiseClient, GetProtocolVersionUpgradeVoteStatusRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetProtocolVersionUpgradeVoteStatusResponse = require('./GetProtocolVersionUpgradeVoteStatusResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -31,7 +34,7 @@ function getProtocolVersionUpgradeVoteStatusFactory(grpcTransport) { getProtocolVersionUpgradeVoteStatusRequest.setV0( new GetProtocolVersionUpgradeVoteStatusRequestV0() - .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setStartProTxHash(hexToBytes(startProTxHash)) .setCount(count) .setProve(!!options.prove), ); @@ -68,4 +71,4 @@ function getProtocolVersionUpgradeVoteStatusFactory(grpcTransport) { return getProtocolVersionUpgradeVoteStatus; } -module.exports = getProtocolVersionUpgradeVoteStatusFactory; +export default getProtocolVersionUpgradeVoteStatusFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/ChainStatus.js b/packages/js-dapi-client/lib/methods/platform/getStatus/ChainStatus.js index caa2ca991e..692a1762b7 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/ChainStatus.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/ChainStatus.js @@ -96,4 +96,4 @@ class ChainStatus { } } -module.exports = ChainStatus; +export default ChainStatus; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/GetStatusResponse.js b/packages/js-dapi-client/lib/methods/platform/getStatus/GetStatusResponse.js index 1509b69b64..cbc3f02738 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/GetStatusResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/GetStatusResponse.js @@ -1,9 +1,10 @@ -const VersionStatus = require('./VersionStatus'); -const NodeStatus = require('./NodeStatus'); -const ChainStatus = require('./ChainStatus'); -const TimeStatus = require('./TimeStatus'); -const StateSyncStatus = require('./StateSyncStatus'); -const NetworkStatus = require('./NetworkStatus'); +import VersionStatus from './VersionStatus.js'; +import NodeStatus from './NodeStatus.js'; +import ChainStatus from './ChainStatus.js'; +import TimeStatus from './TimeStatus.js'; +import StateSyncStatus from './StateSyncStatus.js'; +import NetworkStatus from './NetworkStatus.js'; +import { bytesToHex } from '../../../utils/bytes.js'; class GetStatusResponse { /** @@ -92,17 +93,17 @@ class GetStatusResponse { driveNextEpochProtocol, ); - const nodeId = Buffer.from(v0.getNode().getId()).toString('hex'); - const proTxHash = Buffer.from(v0.getNode().getProTxHash()).toString('hex'); + const nodeId = bytesToHex(new Uint8Array(v0.getNode().getId())); + const proTxHash = bytesToHex(new Uint8Array(v0.getNode().getProTxHash())); const node = new NodeStatus(nodeId, proTxHash); const catchingUp = v0.getChain().getCatchingUp(); - const latestBlockHash = Buffer.from(v0.getChain().getLatestBlockHash()).toString('hex'); - const latestAppHash = Buffer.from(v0.getChain().getLatestAppHash()).toString('hex'); + const latestBlockHash = bytesToHex(new Uint8Array(v0.getChain().getLatestBlockHash())); + const latestAppHash = bytesToHex(new Uint8Array(v0.getChain().getLatestAppHash())); const latestBlockHeight = BigInt(v0.getChain().getLatestBlockHeight()); - const earliestBlockHash = Buffer.from(v0.getChain().getEarliestBlockHash()).toString('hex'); - const earliestAppHash = Buffer.from(v0.getChain().getEarliestAppHash()).toString('hex'); + const earliestBlockHash = bytesToHex(new Uint8Array(v0.getChain().getEarliestBlockHash())); + const earliestAppHash = bytesToHex(new Uint8Array(v0.getChain().getEarliestAppHash())); const earliestBlockHeight = BigInt(v0.getChain().getEarliestBlockHeight()); const maxPeerBlockHeight = BigInt(v0.getChain().getMaxPeerBlockHeight()); const coreChainLockedHeight = v0.getChain().getCoreChainLockedHeight(); @@ -163,4 +164,4 @@ class GetStatusResponse { } } -module.exports = GetStatusResponse; +export default GetStatusResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/NetworkStatus.js b/packages/js-dapi-client/lib/methods/platform/getStatus/NetworkStatus.js index 0b2f66693a..3a8d6df540 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/NetworkStatus.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/NetworkStatus.js @@ -32,4 +32,4 @@ class NetworkStatus { } } -module.exports = NetworkStatus; +export default NetworkStatus; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/NodeStatus.js b/packages/js-dapi-client/lib/methods/platform/getStatus/NodeStatus.js index 5a73a568a2..0cea898759 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/NodeStatus.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/NodeStatus.js @@ -23,4 +23,4 @@ class NodeStatus { } } -module.exports = NodeStatus; +export default NodeStatus; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/StateSyncStatus.js b/packages/js-dapi-client/lib/methods/platform/getStatus/StateSyncStatus.js index 1927d214ad..935630aa6b 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/StateSyncStatus.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/StateSyncStatus.js @@ -86,4 +86,4 @@ class StateSyncStatus { } } -module.exports = StateSyncStatus; +export default StateSyncStatus; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/TimeStatus.js b/packages/js-dapi-client/lib/methods/platform/getStatus/TimeStatus.js index 1c26509354..8658ac828c 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/TimeStatus.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/TimeStatus.js @@ -46,4 +46,4 @@ class TimeStatus { } } -module.exports = TimeStatus; +export default TimeStatus; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/VersionStatus.js b/packages/js-dapi-client/lib/methods/platform/getStatus/VersionStatus.js index 8ce56a81f7..2477666beb 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/VersionStatus.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/VersionStatus.js @@ -86,4 +86,4 @@ class VersionStatus { } } -module.exports = VersionStatus; +export default VersionStatus; diff --git a/packages/js-dapi-client/lib/methods/platform/getStatus/getStatusFactory.js b/packages/js-dapi-client/lib/methods/platform/getStatus/getStatusFactory.js index 0c2bd5fec2..c474c8dcd0 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/getStatusFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/getStatusFactory.js @@ -1,12 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; +import GetStatusResponse from './GetStatusResponse.js'; + const { v0: { PlatformPromiseClient, GetStatusRequest, }, -} = require('@dashevo/dapi-grpc'); - -const InvalidResponseError = require('../response/errors/InvalidResponseError'); -const GetStatusResponse = require('./GetStatusResponse'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -63,4 +65,4 @@ function getStatusFactory(grpcTransport) { return getStatus; } -module.exports = getStatusFactory; +export default getStatusFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/GetTotalCreditsInPlatformResponse.js b/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/GetTotalCreditsInPlatformResponse.js index 5dc64e1bd9..a0879c4ceb 100644 --- a/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/GetTotalCreditsInPlatformResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/GetTotalCreditsInPlatformResponse.js @@ -1,5 +1,5 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +import AbstractResponse from '../response/AbstractResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; class GetTotalCreditsInPlatformResponse extends AbstractResponse { /** @@ -43,4 +43,4 @@ class GetTotalCreditsInPlatformResponse extends AbstractResponse { } } -module.exports = GetTotalCreditsInPlatformResponse; +export default GetTotalCreditsInPlatformResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory.js b/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory.js index 1bbbd3f022..f12c22ada1 100644 --- a/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getTotalCreditsInPlatform/getTotalCreditsInPlatformFactory.js @@ -1,12 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import GetTotalCreditsInPlatformResponse from './GetTotalCreditsInPlatformResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetTotalCreditsInPlatformRequest, }, -} = require('@dashevo/dapi-grpc'); - -const GetTotalCreditsInPlatformResponse = require('./GetTotalCreditsInPlatformResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -64,4 +66,4 @@ function getTotalCreditsInPlatformFactory(grpcTransport) { return getTotalCreditsInPlatform; } -module.exports = getTotalCreditsInPlatformFactory; +export default getTotalCreditsInPlatformFactory; diff --git a/packages/js-dapi-client/lib/methods/platform/response/AbstractResponse.js b/packages/js-dapi-client/lib/methods/platform/response/AbstractResponse.js index 50a3508bd0..2cffe2d1f7 100644 --- a/packages/js-dapi-client/lib/methods/platform/response/AbstractResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/response/AbstractResponse.js @@ -1,6 +1,6 @@ -const InvalidResponseError = require('./errors/InvalidResponseError'); -const Metadata = require('./Metadata'); -const Proof = require('./Proof'); +import InvalidResponseError from './errors/InvalidResponseError.js'; +import Metadata from './Metadata.js'; +import Proof from './Proof.js'; /** * @abstract @@ -61,4 +61,4 @@ class AbstractResponse { } } -module.exports = AbstractResponse; +export default AbstractResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/response/Metadata.js b/packages/js-dapi-client/lib/methods/platform/response/Metadata.js index 070134e393..03e8c89a80 100644 --- a/packages/js-dapi-client/lib/methods/platform/response/Metadata.js +++ b/packages/js-dapi-client/lib/methods/platform/response/Metadata.js @@ -46,4 +46,4 @@ class Metadata { } } -module.exports = Metadata; +export default Metadata; diff --git a/packages/js-dapi-client/lib/methods/platform/response/Proof.js b/packages/js-dapi-client/lib/methods/platform/response/Proof.js index 56111ac545..f93b1d5e3d 100644 --- a/packages/js-dapi-client/lib/methods/platform/response/Proof.js +++ b/packages/js-dapi-client/lib/methods/platform/response/Proof.js @@ -1,9 +1,9 @@ class Proof { /** * @param {object} properties - * @param {Buffer} properties.merkleProof - * @param {Buffer} properties.quorumHash - * @param {Buffer} properties.signature + * @param {Uint8Array} properties.merkleProof + * @param {Uint8Array} properties.quorumHash + * @param {Uint8Array} properties.signature * @param {number} properties.round */ constructor(properties) { @@ -14,21 +14,21 @@ class Proof { } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getGrovedbProof() { return this.merkleProof; } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getQuorumHash() { return this.quorumHash; } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getSignature() { return this.signature; @@ -48,12 +48,12 @@ class Proof { */ static createFromProto(proofProto) { return new Proof({ - merkleProof: Buffer.from(proofProto.getGrovedbProof()), - quorumHash: Buffer.from(proofProto.getQuorumHash()), - signature: Buffer.from(proofProto.getSignature()), + merkleProof: new Uint8Array(proofProto.getGrovedbProof()), + quorumHash: new Uint8Array(proofProto.getQuorumHash()), + signature: new Uint8Array(proofProto.getSignature()), round: proofProto.getRound(), }); } } -module.exports = Proof; +export default Proof; diff --git a/packages/js-dapi-client/lib/methods/platform/response/StoreTreeProofs.js b/packages/js-dapi-client/lib/methods/platform/response/StoreTreeProofs.js index 5a3ad02828..60b69a7a71 100644 --- a/packages/js-dapi-client/lib/methods/platform/response/StoreTreeProofs.js +++ b/packages/js-dapi-client/lib/methods/platform/response/StoreTreeProofs.js @@ -1,10 +1,10 @@ class StoreTreeProofs { /** * @param {object} properties - * @param {Buffer} properties.publicKeyHashesToIdentityIdsProof - * @param {Buffer} properties.identitiesProof - * @param {Buffer} properties.documentsProof - * @param {Buffer} properties.dataContractsProof + * @param {Uint8Array} properties.publicKeyHashesToIdentityIdsProof + * @param {Uint8Array} properties.identitiesProof + * @param {Uint8Array} properties.documentsProof + * @param {Uint8Array} properties.dataContractsProof */ constructor(properties) { this.publicKeyHashesToIdentityIdsProof = properties.publicKeyHashesToIdentityIdsProof; @@ -14,32 +14,32 @@ class StoreTreeProofs { } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getPublicKeyHashesToIdentityIdsProof() { return this.publicKeyHashesToIdentityIdsProof; } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getIdentitiesProof() { return this.identitiesProof; } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getDocumentsProof() { return this.documentsProof; } /** - * @returns {Buffer} + * @returns {Uint8Array} */ getDataContractsProof() { return this.dataContractsProof; } } -module.exports = StoreTreeProofs; +export default StoreTreeProofs; diff --git a/packages/js-dapi-client/lib/methods/platform/response/errors/InvalidResponseError.js b/packages/js-dapi-client/lib/methods/platform/response/errors/InvalidResponseError.js index d547af0d86..d85e77b1b5 100644 --- a/packages/js-dapi-client/lib/methods/platform/response/errors/InvalidResponseError.js +++ b/packages/js-dapi-client/lib/methods/platform/response/errors/InvalidResponseError.js @@ -1,4 +1,4 @@ -const DAPIClientError = require('../../../../errors/DAPIClientError'); +import DAPIClientError from '../../../../errors/DAPIClientError.js'; class InvalidResponseError extends DAPIClientError { constructor(message) { @@ -6,4 +6,4 @@ class InvalidResponseError extends DAPIClientError { } } -module.exports = InvalidResponseError; +export default InvalidResponseError; diff --git a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/ErrorResult.js b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/ErrorResult.js index 55072f849b..c454460889 100644 --- a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/ErrorResult.js +++ b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/ErrorResult.js @@ -2,7 +2,7 @@ class ErrorResult { /** * @param {number} code * @param {string} message - * @param {Buffer|undefined} data + * @param {Uint8Array|undefined} data */ constructor(code, message, data) { this.code = code; @@ -25,11 +25,11 @@ class ErrorResult { } /** - * @returns {Buffer|undefined} + * @returns {Uint8Array|undefined} */ getData() { return this.data; } } -module.exports = ErrorResult; +export default ErrorResult; diff --git a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js index 836987a237..4d6e8ea140 100644 --- a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js @@ -1,7 +1,7 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const Metadata = require('../response/Metadata'); -const Proof = require('../response/Proof'); -const ErrorResult = require('./ErrorResult'); +import AbstractResponse from '../response/AbstractResponse.js'; +import Metadata from '../response/Metadata.js'; +import Proof from '../response/Proof.js'; +import ErrorResult from './ErrorResult.js'; class WaitForStateTransitionResultResponse extends AbstractResponse { /** @@ -38,7 +38,7 @@ class WaitForStateTransitionResultResponse extends AbstractResponse { let data; if (proto.getV0().getError().getData()) { - data = Buffer.from(proto.getV0().getError().getData()); + data = new Uint8Array(proto.getV0().getError().getData()); } error = new ErrorResult( @@ -59,4 +59,4 @@ class WaitForStateTransitionResultResponse extends AbstractResponse { } } -module.exports = WaitForStateTransitionResultResponse; +export default WaitForStateTransitionResultResponse; diff --git a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js index 62d7466fba..d185abcf09 100644 --- a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js @@ -1,12 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import WaitForStateTransitionResultResponse from './WaitForStateTransitionResultResponse.js'; +import InvalidResponseError from '../response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, WaitForStateTransitionResultRequest, }, -} = require('@dashevo/dapi-grpc'); - -const WaitForStateTransitionResultResponse = require('./WaitForStateTransitionResultResponse'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); +} = dapiGrpc; /** * @@ -16,7 +18,7 @@ const InvalidResponseError = require('../response/errors/InvalidResponseError'); function waitForStateTransitionResultFactory(grpcTransport) { /** * @typedef waitForStateTransitionResult - * @param {Buffer} stateTransitionHash + * @param {Uint8Array} stateTransitionHash * @param {DAPIClientOptions & getDocumentsOptions & {prove: boolean}} [options] * @returns {Promise} */ @@ -72,4 +74,4 @@ function waitForStateTransitionResultFactory(grpcTransport) { return waitForStateTransitionResult; } -module.exports = waitForStateTransitionResultFactory; +export default waitForStateTransitionResultFactory; diff --git a/packages/js-dapi-client/lib/networkConfigs.js b/packages/js-dapi-client/lib/networkConfigs.js index e45953ac3a..518736b06d 100644 --- a/packages/js-dapi-client/lib/networkConfigs.js +++ b/packages/js-dapi-client/lib/networkConfigs.js @@ -1,4 +1,4 @@ -module.exports = { +export default { testnet: { seeds: [ 'seed-1.testnet.networks.dash.org:1443', diff --git a/packages/js-dapi-client/lib/test/bootstrap.js b/packages/js-dapi-client/lib/test/bootstrap.js index 473d16fb1d..bd148b7d79 100644 --- a/packages/js-dapi-client/lib/test/bootstrap.js +++ b/packages/js-dapi-client/lib/test/bootstrap.js @@ -1,19 +1,21 @@ -require('../../polyfills/fetch-polyfill'); -require('setimmediate'); +import chai from 'chai'; +import sinon from 'sinon'; +import sinonChai from 'sinon-chai'; +import dirtyChai from 'dirty-chai'; +import chaiAsPromised from 'chai-as-promised'; +import loadDpp from '@dashevo/wasm-dpp'; -const { expect, use } = require('chai'); -const sinon = require('sinon'); -const sinonChai = require('sinon-chai'); -const dirtyChai = require('dirty-chai'); -const chaiAsPromised = require('chai-as-promised'); -const { default: loadDpp } = require('@dashevo/wasm-dpp'); +chai.use(sinonChai); +chai.use(chaiAsPromised); +chai.use(dirtyChai); -use(sinonChai); -use(chaiAsPromised); -use(dirtyChai); - -exports.mochaHooks = { - beforeAll: loadDpp, +export const mochaHooks = { + // wasm-dpp is CJS; under NodeNext the default may resolve to the namespace + // object instead of the callable. Unwrap defensively. + beforeAll: async () => { + const load = loadDpp.default ?? loadDpp; + return load(); + }, beforeEach() { if (!this.sinon) { @@ -28,4 +30,4 @@ exports.mochaHooks = { }, }; -global.expect = expect; +global.expect = chai.expect; diff --git a/packages/js-dapi-client/lib/test/fixtures/getHeadersFixture.js b/packages/js-dapi-client/lib/test/fixtures/getHeadersFixture.js index 8c0fc19ce2..bfbed1c6ad 100644 --- a/packages/js-dapi-client/lib/test/fixtures/getHeadersFixture.js +++ b/packages/js-dapi-client/lib/test/fixtures/getHeadersFixture.js @@ -1,4 +1,5 @@ -const { BlockHeader } = require('@dashevo/dashcore-lib'); +import dashcore from '@dashevo/dashcore-lib'; +const { BlockHeader } = dashcore; const headers = [ { @@ -212,4 +213,4 @@ function getHeadersFixture() { .map((header) => new BlockHeader({ ...header, bits: parseInt(header.bits, 16) })); } -module.exports = getHeadersFixture; +export default getHeadersFixture; diff --git a/packages/js-dapi-client/lib/test/fixtures/getMNListDiffsFixture.js b/packages/js-dapi-client/lib/test/fixtures/getMNListDiffsFixture.js index 771d0f8174..f363bf1eb3 100644 --- a/packages/js-dapi-client/lib/test/fixtures/getMNListDiffsFixture.js +++ b/packages/js-dapi-client/lib/test/fixtures/getMNListDiffsFixture.js @@ -90,4 +90,4 @@ function getMNListDiffsFixture() { ]; } -module.exports = getMNListDiffsFixture; +export default getMNListDiffsFixture; diff --git a/packages/js-dapi-client/lib/test/fixtures/getMetadataFixture.js b/packages/js-dapi-client/lib/test/fixtures/getMetadataFixture.js index 6ce49e9985..c67b7eb2dd 100644 --- a/packages/js-dapi-client/lib/test/fixtures/getMetadataFixture.js +++ b/packages/js-dapi-client/lib/test/fixtures/getMetadataFixture.js @@ -15,4 +15,4 @@ function getMetadataFixture() { }; } -module.exports = getMetadataFixture; +export default getMetadataFixture; diff --git a/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js b/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js index 274b9f8a70..2bf7e9eec6 100644 --- a/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js +++ b/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js @@ -1,17 +1,19 @@ +import { hexToBytes, base64ToBytes } from '../../utils/bytes.js'; + /** * @returns {{ - * merkleProof: Buffer, - * signature: Buffer, - * quorumHash: Buffer + * merkleProof: Uint8Array, + * signature: Uint8Array, + * quorumHash: Uint8Array * }} */ function getProofFixture() { return { - quorumHash: Buffer.from('AQEBAQEBAQEBAQEB', 'base64'), - signature: Buffer.from('AgICAgICAgICAgIC', 'base64'), - merkleProof: Buffer.from('0100000001f0faf5f55674905a68eba1be2f946e667c1cb5010101', 'hex'), + quorumHash: base64ToBytes('AQEBAQEBAQEBAQEB'), + signature: base64ToBytes('AgICAgICAgICAgIC'), + merkleProof: hexToBytes('0100000001f0faf5f55674905a68eba1be2f946e667c1cb5010101'), round: 42, }; } -module.exports = getProofFixture; +export default getProofFixture; diff --git a/packages/js-dapi-client/lib/test/fixtures/getStatusFixture.js b/packages/js-dapi-client/lib/test/fixtures/getStatusFixture.js index 1336e11737..e4bdc5be9e 100644 --- a/packages/js-dapi-client/lib/test/fixtures/getStatusFixture.js +++ b/packages/js-dapi-client/lib/test/fixtures/getStatusFixture.js @@ -1,3 +1,5 @@ +import { base64ToBytes } from '../../utils/bytes.js'; + /** * */ @@ -22,16 +24,16 @@ function getStatusFixture() { }, }, node: { - id: new Uint8Array(Buffer.from('QbMI9zfKnjn2e1UxWJAxmKiMUW4=', 'base64')), - proTxHash: new Uint8Array(Buffer.from('s7V0hXG2D+mtEScV1qUXJdblpSqcOvX9NqFyTPUNhi8=', 'base64')), + id: base64ToBytes('QbMI9zfKnjn2e1UxWJAxmKiMUW4='), + proTxHash: base64ToBytes('s7V0hXG2D+mtEScV1qUXJdblpSqcOvX9NqFyTPUNhi8='), }, chain: { catchingUp: false, - latestBlockHash: new Uint8Array(Buffer.from('mVDwGtY2oJSaLLgv3WpLp2dFDyFEtqhD4z1gl2OJceY=', 'base64')), - latestAppHash: new Uint8Array(Buffer.from('jHgEBK8aZ74TUKcUGN58EFzUNvNsLboOgYe6eH/JetU=', 'base64')), + latestBlockHash: base64ToBytes('mVDwGtY2oJSaLLgv3WpLp2dFDyFEtqhD4z1gl2OJceY='), + latestAppHash: base64ToBytes('jHgEBK8aZ74TUKcUGN58EFzUNvNsLboOgYe6eH/JetU='), latestBlockHeight: '94461', - earliestBlockHash: new Uint8Array(Buffer.from('CPoCwn7AOQujAeT8fj1+rbNQyBk+PmKgk2iXBuOiC/o=', 'base64')), - earliestAppHash: new Uint8Array(Buffer.from('vwzLnKBxugGubmegwJD5eAPSbVbWddzVExeBy8rI7I8=', 'base64')), + earliestBlockHash: base64ToBytes('CPoCwn7AOQujAeT8fj1+rbNQyBk+PmKgk2iXBuOiC/o='), + earliestAppHash: base64ToBytes('vwzLnKBxugGubmegwJD5eAPSbVbWddzVExeBy8rI7I8='), earliestBlockHeight: '1', maxPeerBlockHeight: '94461', coreChainLockedHeight: 1187358, @@ -60,4 +62,4 @@ function getStatusFixture() { }; } -module.exports = getStatusFixture; +export default getStatusFixture; diff --git a/packages/js-dapi-client/lib/test/karma/bootstrap.js b/packages/js-dapi-client/lib/test/karma/bootstrap.js deleted file mode 100644 index 3a2cda9bdb..0000000000 --- a/packages/js-dapi-client/lib/test/karma/bootstrap.js +++ /dev/null @@ -1,37 +0,0 @@ -require('../../../polyfills/fetch-polyfill'); -require('setimmediate'); - -const { expect, use } = require('chai'); -const sinon = require('sinon'); -const sinonChai = require('sinon-chai'); -const dirtyChai = require('dirty-chai'); -const chaiAsPromised = require('chai-as-promised'); -const { default: loadDpp } = require('@dashevo/wasm-dpp'); - -use(sinonChai); -use(chaiAsPromised); -use(dirtyChai); - -before(async () => { - await loadDpp(); -}); - -beforeEach(function beforeEach() { - if (!this.sinon) { - this.sinon = sinon.createSandbox(); - } else { - this.sinon.restore(); - } -}); - -afterEach(function afterEach() { - this.sinon.restore(); -}); - -before(function before() { - if (!this.sinon) { - this.sinon = sinon.createSandbox(); - } -}); - -global.expect = expect; diff --git a/packages/js-dapi-client/lib/test/karma/loader.js b/packages/js-dapi-client/lib/test/karma/loader.js deleted file mode 100644 index f4731dcbe3..0000000000 --- a/packages/js-dapi-client/lib/test/karma/loader.js +++ /dev/null @@ -1,7 +0,0 @@ -// This file is used for compiling tests with webpack into one file for using with karma -require('./bootstrap'); - -// noinspection JSUnresolvedFunction -const testsContext = require.context('../../../test', true, /^(?!.*functional).*\.js$/); - -testsContext.keys().forEach(testsContext); diff --git a/packages/js-dapi-client/lib/test/mocks/BlockHeadersWithChainLocksStreamMock.js b/packages/js-dapi-client/lib/test/mocks/BlockHeadersWithChainLocksStreamMock.js index af84616396..fd39cb08f6 100644 --- a/packages/js-dapi-client/lib/test/mocks/BlockHeadersWithChainLocksStreamMock.js +++ b/packages/js-dapi-client/lib/test/mocks/BlockHeadersWithChainLocksStreamMock.js @@ -1,4 +1,4 @@ -const EventEmitter = require('events'); +import EventEmitter from 'events'; class BlockHeadersWithChainLocksStreamMock extends EventEmitter { constructor(sinon) { @@ -51,4 +51,4 @@ class BlockHeadersWithChainLocksStreamMock extends EventEmitter { } } -module.exports = BlockHeadersWithChainLocksStreamMock; +export default BlockHeadersWithChainLocksStreamMock; diff --git a/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js b/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js index 2ae0a911a2..b03891937e 100644 --- a/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js +++ b/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js @@ -1,6 +1,8 @@ -const X11 = require('wasm-x11-hash'); -const { BlockHeader, configure } = require('@dashevo/dashcore-lib'); -const { genesis } = require('@dashevo/dash-spv'); +import X11 from 'wasm-x11-hash'; +import dashcore from '@dashevo/dashcore-lib'; +const { BlockHeader, configure } = dashcore; +import { genesis } from '@dashevo/dash-spv'; +import { hexToBytes } from '../../utils/bytes.js'; const getRoot = (network) => { switch (network) { @@ -38,8 +40,8 @@ const mockHeadersChain = async (network, length, root) => { for (let i = 0; i < length - 1; i += 1) { const header = new BlockHeader({ version: prevHeader.version, - prevHash: Buffer.from(prevHeader.hash, 'hex').reverse(), - merkleRoot: Buffer.alloc(32), + prevHash: hexToBytes(prevHeader.hash).reverse(), + merkleRoot: new Uint8Array(32), time: prevHeader.time + BLOCK_TIME, bits: prevHeader.bits, nonce: 3861367235, @@ -52,4 +54,4 @@ const mockHeadersChain = async (network, length, root) => { return chain; }; -module.exports = mockHeadersChain; +export default mockHeadersChain; diff --git a/packages/js-dapi-client/lib/transport/GrpcTransport/GrpcTransport.js b/packages/js-dapi-client/lib/transport/GrpcTransport/GrpcTransport.js index 5a25bf5e2e..172bd25802 100644 --- a/packages/js-dapi-client/lib/transport/GrpcTransport/GrpcTransport.js +++ b/packages/js-dapi-client/lib/transport/GrpcTransport/GrpcTransport.js @@ -1,11 +1,11 @@ -const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); -const logger = require('../../logger'); +import GrpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; +import logger from '../../logger/index.js'; -const MaxRetriesReachedError = require('../errors/response/MaxRetriesReachedError'); -const NoAvailableAddressesForRetryError = require('../errors/response/NoAvailableAddressesForRetryError'); -const NoAvailableAddressesError = require('../errors/NoAvailableAddressesError'); -const TimeoutError = require('./errors/TimeoutError'); -const RetriableResponseError = require('../errors/response/RetriableResponseError'); +import MaxRetriesReachedError from '../errors/response/MaxRetriesReachedError.js'; +import NoAvailableAddressesForRetryError from '../errors/response/NoAvailableAddressesForRetryError.js'; +import NoAvailableAddressesError from '../errors/NoAvailableAddressesError.js'; +import TimeoutError from './errors/TimeoutError.js'; +import RetriableResponseError from '../errors/response/RetriableResponseError.js'; class GrpcTransport { /** @@ -156,4 +156,4 @@ class GrpcTransport { } } -module.exports = GrpcTransport; +export default GrpcTransport; diff --git a/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js b/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js index e5cae56b75..217809761b 100644 --- a/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js +++ b/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js @@ -1,19 +1,20 @@ -const cbor = require('cbor'); - -const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); -const { parseMetadata } = require('@dashevo/dapi-grpc'); - -const { - deserializeConsensusError, -} = require('@dashevo/wasm-dpp'); -const { default: loadWasmDpp } = require('@dashevo/wasm-dpp'); -const NotFoundError = require('./errors/NotFoundError'); -const TimeoutError = require('./errors/TimeoutError'); -const ResponseError = require('../errors/response/ResponseError'); -const ServerError = require('../errors/response/ServerError'); -const InvalidRequestError = require('../errors/response/InvalidRequestError'); -const InvalidRequestDPPError = require('../errors/response/InvalidRequestDPPError'); -const InternalServerError = require('./errors/InternalServerError'); +import cbor from 'cbor'; + +import GrpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; + +import wasmDpp from '@dashevo/wasm-dpp'; +import NotFoundError from './errors/NotFoundError.js'; +import TimeoutError from './errors/TimeoutError.js'; +import ResponseError from '../errors/response/ResponseError.js'; +import ServerError from '../errors/response/ServerError.js'; +import InvalidRequestError from '../errors/response/InvalidRequestError.js'; +import InvalidRequestDPPError from '../errors/response/InvalidRequestDPPError.js'; +import InternalServerError from './errors/InternalServerError.js'; +import { base64ToBytes } from '../../utils/bytes.js'; + +const { parseMetadata } = dapiGrpc; +const { deserializeConsensusError, default: loadWasmDpp } = wasmDpp; const INVALID_REQUEST_CODES = [ GrpcErrorCodes.INVALID_ARGUMENT, @@ -57,10 +58,13 @@ async function createGrpcTransportError(grpcError, dapiAddress) { const metadata = parseMetadata(grpcError.metadata) || {}; - // Error data + // Error data — grpc-js passes raw bytes; grpc-web passes a base64 string. + // Original Buffer.from(x, 'base64') silently passed through bytes; reproduce that. const driveErrorData = metadata['drive-error-data-bin']; if (driveErrorData) { - const encodedData = Buffer.from(driveErrorData, 'base64'); + const encodedData = typeof driveErrorData === 'string' + ? base64ToBytes(driveErrorData) + : new Uint8Array(driveErrorData); data = cbor.decode(encodedData); } @@ -70,10 +74,12 @@ async function createGrpcTransportError(grpcError, dapiAddress) { code = Number(driveErrorCode); } - // Error stack + // Error stack — same dual-format handling as driveErrorData above. const driveErrorStack = metadata['stack-bin']; if (driveErrorStack) { - const encodedStack = Buffer.from(driveErrorStack, 'base64'); + const encodedStack = typeof driveErrorStack === 'string' + ? base64ToBytes(driveErrorStack) + : new Uint8Array(driveErrorStack); data.stack = cbor.decode(encodedStack); } @@ -124,7 +130,10 @@ async function createGrpcTransportError(grpcError, dapiAddress) { throw new Error(`Can't deserialize consensus error ${code}: serialized data is missing`); } - const consensusErrorBytes = Buffer.from(consensusErrorString, 'base64'); + // grpc-js passes raw bytes; grpc-web passes a base64 string. Handle both. + const consensusErrorBytes = typeof consensusErrorString === 'string' + ? base64ToBytes(consensusErrorString) + : new Uint8Array(consensusErrorString); const consensusError = deserializeConsensusError(consensusErrorBytes); delete data.serializedError; @@ -140,4 +149,4 @@ async function createGrpcTransportError(grpcError, dapiAddress) { ); } -module.exports = createGrpcTransportError; +export default createGrpcTransportError; diff --git a/packages/js-dapi-client/lib/transport/GrpcTransport/errors/InternalServerError.js b/packages/js-dapi-client/lib/transport/GrpcTransport/errors/InternalServerError.js index 74ec705851..bec33c8b90 100644 --- a/packages/js-dapi-client/lib/transport/GrpcTransport/errors/InternalServerError.js +++ b/packages/js-dapi-client/lib/transport/GrpcTransport/errors/InternalServerError.js @@ -1,4 +1,4 @@ -const RetriableResponseError = require('../../errors/response/RetriableResponseError'); +import RetriableResponseError from '../../errors/response/RetriableResponseError.js'; class InternalServerError extends RetriableResponseError { /** @@ -17,4 +17,4 @@ class InternalServerError extends RetriableResponseError { } } -module.exports = InternalServerError; +export default InternalServerError; diff --git a/packages/js-dapi-client/lib/transport/GrpcTransport/errors/NotFoundError.js b/packages/js-dapi-client/lib/transport/GrpcTransport/errors/NotFoundError.js index 12a93f4384..59f8ad9c46 100644 --- a/packages/js-dapi-client/lib/transport/GrpcTransport/errors/NotFoundError.js +++ b/packages/js-dapi-client/lib/transport/GrpcTransport/errors/NotFoundError.js @@ -1,6 +1,6 @@ -const grpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); +import grpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; -const ResponseError = require('../../errors/response/ResponseError'); +import ResponseError from '../../errors/response/ResponseError.js'; class NotFoundError extends ResponseError { /** @@ -14,4 +14,4 @@ class NotFoundError extends ResponseError { } } -module.exports = NotFoundError; +export default NotFoundError; diff --git a/packages/js-dapi-client/lib/transport/GrpcTransport/errors/TimeoutError.js b/packages/js-dapi-client/lib/transport/GrpcTransport/errors/TimeoutError.js index 57d4d57277..1c0aee1a49 100644 --- a/packages/js-dapi-client/lib/transport/GrpcTransport/errors/TimeoutError.js +++ b/packages/js-dapi-client/lib/transport/GrpcTransport/errors/TimeoutError.js @@ -1,6 +1,6 @@ -const grpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); +import grpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; -const RetriableResponseError = require('../../errors/response/RetriableResponseError'); +import RetriableResponseError from '../../errors/response/RetriableResponseError.js'; class TimeoutError extends RetriableResponseError { /** @@ -13,4 +13,4 @@ class TimeoutError extends RetriableResponseError { } } -module.exports = TimeoutError; +export default TimeoutError; diff --git a/packages/js-dapi-client/lib/transport/JsonRpcTransport/JsonRpcTransport.js b/packages/js-dapi-client/lib/transport/JsonRpcTransport/JsonRpcTransport.js index a76afe2aeb..eb54f19f95 100644 --- a/packages/js-dapi-client/lib/transport/JsonRpcTransport/JsonRpcTransport.js +++ b/packages/js-dapi-client/lib/transport/JsonRpcTransport/JsonRpcTransport.js @@ -1,9 +1,9 @@ -const logger = require('../../logger'); +import logger from '../../logger/index.js'; -const MaxRetriesReachedError = require('../errors/response/MaxRetriesReachedError'); -const NoAvailableAddressesForRetryError = require('../errors/response/NoAvailableAddressesForRetryError'); -const NoAvailableAddressesError = require('../errors/NoAvailableAddressesError'); -const RetriableResponseError = require('../errors/response/RetriableResponseError'); +import MaxRetriesReachedError from '../errors/response/MaxRetriesReachedError.js'; +import NoAvailableAddressesForRetryError from '../errors/response/NoAvailableAddressesForRetryError.js'; +import NoAvailableAddressesError from '../errors/NoAvailableAddressesError.js'; +import RetriableResponseError from '../errors/response/RetriableResponseError.js'; class JsonRpcTransport { /** @@ -127,4 +127,4 @@ class JsonRpcTransport { } } -module.exports = JsonRpcTransport; +export default JsonRpcTransport; diff --git a/packages/js-dapi-client/lib/transport/JsonRpcTransport/createJsonTransportError.js b/packages/js-dapi-client/lib/transport/JsonRpcTransport/createJsonTransportError.js index e037f8e042..9d9f3a0277 100644 --- a/packages/js-dapi-client/lib/transport/JsonRpcTransport/createJsonTransportError.js +++ b/packages/js-dapi-client/lib/transport/JsonRpcTransport/createJsonTransportError.js @@ -1,8 +1,8 @@ -const WrongHttpCodeError = require('./errors/WrongHttpCodeError'); -const JsonRpcError = require('./errors/JsonRpcError'); -const ServerError = require('../errors/response/ServerError'); -const ResponseError = require('../errors/response/ResponseError'); -const RetriableResponseError = require('../errors/response/RetriableResponseError'); +import WrongHttpCodeError from './errors/WrongHttpCodeError.js'; +import JsonRpcError from './errors/JsonRpcError.js'; +import ServerError from '../errors/response/ServerError.js'; +import ResponseError from '../errors/response/ResponseError.js'; +import RetriableResponseError from '../errors/response/RetriableResponseError.js'; /** * @typedef {createJsonTransportError} @@ -63,4 +63,4 @@ function createJsonTransportError(error, dapiAddress) { ); } -module.exports = createJsonTransportError; +export default createJsonTransportError; diff --git a/packages/js-dapi-client/lib/transport/JsonRpcTransport/errors/JsonRpcError.js b/packages/js-dapi-client/lib/transport/JsonRpcTransport/errors/JsonRpcError.js index 747a472c8a..c6ac7dff61 100644 --- a/packages/js-dapi-client/lib/transport/JsonRpcTransport/errors/JsonRpcError.js +++ b/packages/js-dapi-client/lib/transport/JsonRpcTransport/errors/JsonRpcError.js @@ -1,4 +1,4 @@ -const DAPIClientError = require('../../../errors/DAPIClientError'); +import DAPIClientError from '../../../errors/DAPIClientError.js'; class JsonRpcError extends DAPIClientError { /** @@ -53,4 +53,4 @@ class JsonRpcError extends DAPIClientError { } } -module.exports = JsonRpcError; +export default JsonRpcError; diff --git a/packages/js-dapi-client/lib/transport/JsonRpcTransport/errors/WrongHttpCodeError.js b/packages/js-dapi-client/lib/transport/JsonRpcTransport/errors/WrongHttpCodeError.js index 041d74869d..e4fc778860 100644 --- a/packages/js-dapi-client/lib/transport/JsonRpcTransport/errors/WrongHttpCodeError.js +++ b/packages/js-dapi-client/lib/transport/JsonRpcTransport/errors/WrongHttpCodeError.js @@ -1,4 +1,4 @@ -const DAPIClientError = require('../../../errors/DAPIClientError'); +import DAPIClientError from '../../../errors/DAPIClientError.js'; class WrongHttpCodeError extends DAPIClientError { /** @@ -35,4 +35,4 @@ class WrongHttpCodeError extends DAPIClientError { } } -module.exports = WrongHttpCodeError; +export default WrongHttpCodeError; diff --git a/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js b/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js index ddbdf79708..91879d6b08 100644 --- a/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js +++ b/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js @@ -1,6 +1,5 @@ -const https = require('https'); -const JsonRpcError = require('./errors/JsonRpcError'); -const WrongHttpCodeError = require('./errors/WrongHttpCodeError'); +import JsonRpcError from './errors/JsonRpcError.js'; +import WrongHttpCodeError from './errors/WrongHttpCodeError.js'; /** * @typedef {requestJsonRpc} * @param {string} protocol @@ -47,17 +46,21 @@ async function requestJsonRpc(protocol, host, port, selfSigned, method, params, Object.assign(requestOptions, { signal: controller.signal }); } - // For NodeJS Client + // Self-signed HTTPS: Node 18+ built-in fetch is backed by undici, which + // accepts a `dispatcher` for per-request TLS settings. Browsers can't + // bypass TLS verification, so the flag is a no-op there. eval('require') + // hides undici from bundler static analysis so it isn't pulled into + // browser bundles. if (typeof process !== 'undefined' && process.versions != null && process.versions.node != null && protocol === 'https' && selfSigned) { - requestOptions.agent = new https.Agent({ - rejectUnauthorized: false, - }); + // eslint-disable-next-line no-eval, global-require + const { Agent } = eval('require')('undici'); + requestOptions.dispatcher = new Agent({ connect: { rejectUnauthorized: false } }); } - // eslint-disable-next-line + const response = await fetch(url, requestOptions); if (typeof requestTimeoutId !== 'undefined') { @@ -77,4 +80,4 @@ async function requestJsonRpc(protocol, host, port, selfSigned, method, params, return data.result; } -module.exports = requestJsonRpc; +export default requestJsonRpc; diff --git a/packages/js-dapi-client/lib/transport/ReconnectableStream.js b/packages/js-dapi-client/lib/transport/ReconnectableStream.js index 460bdd4da4..0d93a89baf 100644 --- a/packages/js-dapi-client/lib/transport/ReconnectableStream.js +++ b/packages/js-dapi-client/lib/transport/ReconnectableStream.js @@ -1,6 +1,6 @@ -const EventEmitter = require('events'); -const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); -const wait = require('../utils/wait'); +import EventEmitter from 'events'; +import GrpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; +import wait from '../utils/wait.js'; /** * @typedef ReconnectableStreamOptions @@ -315,4 +315,4 @@ class ReconnectableStream extends EventEmitter { ReconnectableStream.EVENTS = EVENTS; -module.exports = ReconnectableStream; +export default ReconnectableStream; diff --git a/packages/js-dapi-client/lib/transport/errors/NoAvailableAddressesError.js b/packages/js-dapi-client/lib/transport/errors/NoAvailableAddressesError.js index d6356322f5..999b98c901 100644 --- a/packages/js-dapi-client/lib/transport/errors/NoAvailableAddressesError.js +++ b/packages/js-dapi-client/lib/transport/errors/NoAvailableAddressesError.js @@ -1,4 +1,4 @@ -const DAPIClientError = require('../../errors/DAPIClientError'); +import DAPIClientError from '../../errors/DAPIClientError.js'; class NoAvailableAddressesError extends DAPIClientError { constructor() { @@ -6,4 +6,4 @@ class NoAvailableAddressesError extends DAPIClientError { } } -module.exports = NoAvailableAddressesError; +export default NoAvailableAddressesError; diff --git a/packages/js-dapi-client/lib/transport/errors/response/InvalidRequestDPPError.js b/packages/js-dapi-client/lib/transport/errors/response/InvalidRequestDPPError.js index e0cc9162c2..c64557032a 100644 --- a/packages/js-dapi-client/lib/transport/errors/response/InvalidRequestDPPError.js +++ b/packages/js-dapi-client/lib/transport/errors/response/InvalidRequestDPPError.js @@ -1,4 +1,4 @@ -const ResponseError = require('./ResponseError'); +import ResponseError from './ResponseError.js'; class InvalidRequestDPPError extends ResponseError { /** @@ -21,4 +21,4 @@ class InvalidRequestDPPError extends ResponseError { } } -module.exports = InvalidRequestDPPError; +export default InvalidRequestDPPError; diff --git a/packages/js-dapi-client/lib/transport/errors/response/InvalidRequestError.js b/packages/js-dapi-client/lib/transport/errors/response/InvalidRequestError.js index a93c98c307..7be0eaf1f5 100644 --- a/packages/js-dapi-client/lib/transport/errors/response/InvalidRequestError.js +++ b/packages/js-dapi-client/lib/transport/errors/response/InvalidRequestError.js @@ -1,7 +1,7 @@ -const ResponseError = require('./ResponseError'); +import ResponseError from './ResponseError.js'; class InvalidRequestError extends ResponseError { } -module.exports = InvalidRequestError; +export default InvalidRequestError; diff --git a/packages/js-dapi-client/lib/transport/errors/response/MaxRetriesReachedError.js b/packages/js-dapi-client/lib/transport/errors/response/MaxRetriesReachedError.js index 5b26aee31f..e20e1c5465 100644 --- a/packages/js-dapi-client/lib/transport/errors/response/MaxRetriesReachedError.js +++ b/packages/js-dapi-client/lib/transport/errors/response/MaxRetriesReachedError.js @@ -1,4 +1,4 @@ -const ResponseError = require('./ResponseError'); +import ResponseError from './ResponseError.js'; class MaxRetriesReachedError extends ResponseError { /** @@ -23,4 +23,4 @@ class MaxRetriesReachedError extends ResponseError { } } -module.exports = MaxRetriesReachedError; +export default MaxRetriesReachedError; diff --git a/packages/js-dapi-client/lib/transport/errors/response/NoAvailableAddressesForRetryError.js b/packages/js-dapi-client/lib/transport/errors/response/NoAvailableAddressesForRetryError.js index ac9455faea..8d3d536bea 100644 --- a/packages/js-dapi-client/lib/transport/errors/response/NoAvailableAddressesForRetryError.js +++ b/packages/js-dapi-client/lib/transport/errors/response/NoAvailableAddressesForRetryError.js @@ -1,4 +1,4 @@ -const ResponseError = require('./ResponseError'); +import ResponseError from './ResponseError.js'; class NoAvailableAddressesForRetryError extends ResponseError { /** @@ -23,4 +23,4 @@ class NoAvailableAddressesForRetryError extends ResponseError { } } -module.exports = NoAvailableAddressesForRetryError; +export default NoAvailableAddressesForRetryError; diff --git a/packages/js-dapi-client/lib/transport/errors/response/ResponseError.js b/packages/js-dapi-client/lib/transport/errors/response/ResponseError.js index b45256bc06..61dd677701 100644 --- a/packages/js-dapi-client/lib/transport/errors/response/ResponseError.js +++ b/packages/js-dapi-client/lib/transport/errors/response/ResponseError.js @@ -1,4 +1,4 @@ -const DAPIClientError = require('../../../errors/DAPIClientError'); +import DAPIClientError from '../../../errors/DAPIClientError.js'; class ResponseError extends DAPIClientError { /** @@ -37,4 +37,4 @@ class ResponseError extends DAPIClientError { } } -module.exports = ResponseError; +export default ResponseError; diff --git a/packages/js-dapi-client/lib/transport/errors/response/RetriableResponseError.js b/packages/js-dapi-client/lib/transport/errors/response/RetriableResponseError.js index d15537763a..71c2d63a4d 100644 --- a/packages/js-dapi-client/lib/transport/errors/response/RetriableResponseError.js +++ b/packages/js-dapi-client/lib/transport/errors/response/RetriableResponseError.js @@ -1,7 +1,7 @@ -const ResponseError = require('./ResponseError'); +import ResponseError from './ResponseError.js'; class RetriableResponseError extends ResponseError { } -module.exports = RetriableResponseError; +export default RetriableResponseError; diff --git a/packages/js-dapi-client/lib/transport/errors/response/ServerError.js b/packages/js-dapi-client/lib/transport/errors/response/ServerError.js index 0af6ec6c03..d8d8eadce6 100644 --- a/packages/js-dapi-client/lib/transport/errors/response/ServerError.js +++ b/packages/js-dapi-client/lib/transport/errors/response/ServerError.js @@ -1,7 +1,7 @@ -const RetriableResponseError = require('./RetriableResponseError'); +import RetriableResponseError from './RetriableResponseError.js'; class ServerError extends RetriableResponseError { } -module.exports = ServerError; +export default ServerError; diff --git a/packages/js-dapi-client/lib/utils/bytes.js b/packages/js-dapi-client/lib/utils/bytes.js new file mode 100644 index 0000000000..a50dd70389 --- /dev/null +++ b/packages/js-dapi-client/lib/utils/bytes.js @@ -0,0 +1,54 @@ +export function hexToBytes(hex) { + if (typeof hex !== 'string') { + throw new TypeError('hex must be a string'); + } + if (hex.length % 2 !== 0) { + throw new Error('hex must have even length'); + } + const out = new Uint8Array(hex.length / 2); + for (let i = 0; i < out.length; i += 1) { + out[i] = parseInt(hex.substr(i * 2, 2), 16); + } + return out; +} + +export function bytesToHex(bytes) { + return Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join(''); +} + +export function base64ToBytes(b64) { + const bin = atob(b64); + const out = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; i += 1) { + out[i] = bin.charCodeAt(i); + } + return out; +} + +export function bytesToBase64(bytes) { + let bin = ''; + for (let i = 0; i < bytes.length; i += 1) { + bin += String.fromCharCode(bytes[i]); + } + return btoa(bin); +} + +export function concatBytes(arrays) { + let total = 0; + for (const a of arrays) total += a.length; + const out = new Uint8Array(total); + let offset = 0; + for (const a of arrays) { + out.set(a, offset); + offset += a.length; + } + return out; +} + +export function bytesEqual(a, b) { + if (a.length !== b.length) return false; + for (let i = 0; i < a.length; i += 1) { + if (a[i] !== b[i]) return false; + } + return true; +} diff --git a/packages/js-dapi-client/lib/utils/wait.js b/packages/js-dapi-client/lib/utils/wait.js index 3494def469..4ad8718c94 100644 --- a/packages/js-dapi-client/lib/utils/wait.js +++ b/packages/js-dapi-client/lib/utils/wait.js @@ -7,4 +7,4 @@ async function wait(ms) { return new Promise((resolve) => { setTimeout(resolve, ms); }); } -module.exports = wait; +export default wait; diff --git a/packages/js-dapi-client/package.json b/packages/js-dapi-client/package.json index 2bccc23c23..7fef7031c3 100644 --- a/packages/js-dapi-client/package.json +++ b/packages/js-dapi-client/package.json @@ -2,7 +2,14 @@ "name": "@dashevo/dapi-client", "version": "3.1.0-dev.1", "description": "Client library used to access Dash DAPI endpoints", - "main": "lib/index.js", + "type": "module", + "exports": { + ".": "./lib/index.js", + "./lib/*": "./lib/*" + }, + "engines": { + "node": ">=18.18" + }, "contributors": [ { "name": "Ivan Shumkov", @@ -31,67 +38,33 @@ "@dashevo/dashcore-lib": "~0.22.0", "@dashevo/grpc-common": "workspace:*", "@dashevo/wasm-dpp": "workspace:*", - "bs58": "^4.0.1", "cbor": "^8.0.0", + "events": "^3.3.0", "google-protobuf": "^3.12.2", - "lodash": "^4.17.23", - "node-fetch": "^2.6.7", - "node-inspect-extracted": "^1.0.8", - "wasm-x11-hash": "~0.0.2", - "winston": "^3.2.1" + "undici": "^6.0.0", + "wasm-x11-hash": "~0.0.2" }, "devDependencies": { - "@babel/core": "^7.26.10", - "assert-browserify": "^2.0.0", - "babel-loader": "^9.1.3", - "browserify-zlib": "^0.2.0", - "buffer": "^6.0.3", "chai": "^4.3.10", "chai-as-promised": "^7.1.1", "comment-parser": "^0.7.6", - "core-js": "^3.33.1", - "crypto-browserify": "^3.12.1", "dirty-chai": "^2.0.1", "eslint": "^9.18.0", - "events": "^3.3.0", - "karma": "^6.4.3", - "karma-chai": "^0.1.0", - "karma-chrome-launcher": "^3.1.0", - "karma-firefox-launcher": "^2.1.2", - "karma-mocha": "^2.0.1", - "karma-mocha-reporter": "^2.2.5", - "karma-webpack": "^5.0.0", "mocha": "^11.1.0", "nyc": "^15.1.0", - "os-browserify": "^0.3.0", - "path-browserify": "^1.0.1", - "process": "^0.11.10", - "setimmediate": "^1.0.5", "sinon": "^18.0.1", - "sinon-chai": "^3.7.0", - "stream-browserify": "^3.0.0", - "string_decoder": "^1.3.0", - "url": "^0.11.3", - "util": "^0.12.4", - "webpack": "^5.104.0", - "webpack-cli": "^4.9.1" + "sinon-chai": "^3.7.0" }, "files": [ "docs", - "lib", - "polyfills", - "dist" + "lib" ], "scripts": { - "build:web": "webpack", "lint": "eslint .", - "test": "yarn run test:coverage && yarn run test:browsers", + "test": "yarn run test:coverage", "test:unit": "mocha './test/unit/**/*.spec.js'", "test:integration": "mocha './test/integration/**/*.spec.js'", - "test:node": "NODE_ENV=test mocha", - "test:browsers": "karma start ./karma.conf.js --single-run", - "test:coverage": "NODE_ENV=test nyc --check-coverage --stmts=98 --branch=98 --funcs=98 --lines=89 yarn run mocha 'test/unit/**/*.spec.js' 'test/integration/**/*.spec.js'", - "prepublishOnly": "yarn run build:web" + "test:coverage": "NODE_ENV=test nyc --check-coverage --stmts=98 --branch=98 --funcs=98 --lines=89 yarn run mocha 'test/unit/**/*.spec.js' 'test/integration/**/*.spec.js'" }, "ultra": { "concurrent": [ diff --git a/packages/js-dapi-client/polyfills/fetch-polyfill.js b/packages/js-dapi-client/polyfills/fetch-polyfill.js deleted file mode 100644 index 8fa8ac2ffc..0000000000 --- a/packages/js-dapi-client/polyfills/fetch-polyfill.js +++ /dev/null @@ -1,10 +0,0 @@ -/* eslint-disable */ - -const { default: fetch, Headers, Request, Response } = require('node-fetch'); - -if (typeof window === 'undefined') { - globalThis.fetch = fetch; - globalThis.Headers = Headers; - globalThis.Request = Request; - globalThis.Response = Response; -} diff --git a/packages/js-dapi-client/test/integration/BlockHeadersProvider/BlockHeadersProvider.spec.js b/packages/js-dapi-client/test/integration/BlockHeadersProvider/BlockHeadersProvider.spec.js index cc731c751a..616862c3d1 100644 --- a/packages/js-dapi-client/test/integration/BlockHeadersProvider/BlockHeadersProvider.spec.js +++ b/packages/js-dapi-client/test/integration/BlockHeadersProvider/BlockHeadersProvider.spec.js @@ -1,8 +1,8 @@ -const { expect } = require('chai'); +import { expect } from 'chai'; -const BlockHeadersProvider = require('../../../lib/BlockHeadersProvider/BlockHeadersProvider'); -const BlockHeadersWithChainLocksStreamMock = require('../../../lib/test/mocks/BlockHeadersWithChainLocksStreamMock'); -const mockHeadersChain = require('../../../lib/test/mocks/mockHeadersChain'); +import BlockHeadersProvider from '../../../lib/BlockHeadersProvider/BlockHeadersProvider.js'; +import BlockHeadersWithChainLocksStreamMock from '../../../lib/test/mocks/BlockHeadersWithChainLocksStreamMock.js'; +import mockHeadersChain from '../../../lib/test/mocks/mockHeadersChain.js'; describe('BlockHeadersProvider - integration', function describe() { this.timeout(6000); diff --git a/packages/js-dapi-client/test/integration/DAPIClient.spec.js b/packages/js-dapi-client/test/integration/DAPIClient.spec.js index be852d3dbe..e0f7f653c8 100644 --- a/packages/js-dapi-client/test/integration/DAPIClient.spec.js +++ b/packages/js-dapi-client/test/integration/DAPIClient.spec.js @@ -1,6 +1,6 @@ -const DAPIClient = require('../../lib/DAPIClient'); +import DAPIClient from '../../lib/DAPIClient.js'; -const BlockHeadersProvider = require('../../lib/BlockHeadersProvider/BlockHeadersProvider'); +import BlockHeadersProvider from '../../lib/BlockHeadersProvider/BlockHeadersProvider.js'; describe('DAPIClient - integration', () => { let dapiClient; diff --git a/packages/js-dapi-client/test/integration/SMLProvider/SimplifiedMasternodeListProvider.spec.js b/packages/js-dapi-client/test/integration/SMLProvider/SimplifiedMasternodeListProvider.spec.js index aeb50c773b..12c29fe00a 100644 --- a/packages/js-dapi-client/test/integration/SMLProvider/SimplifiedMasternodeListProvider.spec.js +++ b/packages/js-dapi-client/test/integration/SMLProvider/SimplifiedMasternodeListProvider.spec.js @@ -1,11 +1,11 @@ -const SimplifiedMNList = require('@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNList'); +import SimplifiedMNList from '@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNList.js'; -const SimplifiedMasternodeListProvider = require('../../../lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider'); -const DAPIAddress = require('../../../lib/dapiAddressProvider/DAPIAddress'); +import SimplifiedMasternodeListProvider from '../../../lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js'; +import DAPIAddress from '../../../lib/dapiAddressProvider/DAPIAddress.js'; -const getMNListDiffsFixture = require('../../../lib/test/fixtures/getMNListDiffsFixture'); +import getMNListDiffsFixture from '../../../lib/test/fixtures/getMNListDiffsFixture.js'; -const wait = require('../../../lib/utils/wait'); +import wait from '../../../lib/utils/wait.js'; // TODO: Update test to new implementation describe.skip('SimplifiedMasternodeListProvider', () => { diff --git a/packages/js-dapi-client/test/integration/methods/core/CoreMethodsFacade.spec.js b/packages/js-dapi-client/test/integration/methods/core/CoreMethodsFacade.spec.js index d7eeecc687..ee8723ec44 100644 --- a/packages/js-dapi-client/test/integration/methods/core/CoreMethodsFacade.spec.js +++ b/packages/js-dapi-client/test/integration/methods/core/CoreMethodsFacade.spec.js @@ -1,4 +1,7 @@ -const { EventEmitter } = require('events'); +import EventEmitter from 'events'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import BloomFilter from '@dashevo/dashcore-lib/lib/bloomfilter.js'; +import CoreMethodsFacade from '../../../../lib/methods/core/CoreMethodsFacade.js'; const { v0: { @@ -8,11 +11,7 @@ const { GetBlockchainStatusResponse, GetMasternodeStatusResponse, }, -} = require('@dashevo/dapi-grpc'); - -const BloomFilter = require('@dashevo/dashcore-lib/lib/bloomfilter'); - -const CoreMethodsFacade = require('../../../../lib/methods/core/CoreMethodsFacade'); +} = dapiGrpc; describe('CoreMethodsFacade', () => { let jsonRpcTransportMock; @@ -36,7 +35,7 @@ describe('CoreMethodsFacade', () => { response.setTransactionId('4f46066bd50cc2684484407696b7949e82bd906ea92c040f59a97cba47ed8176'); grpcTransportMock.request.resolves(response); - const transaction = Buffer.from('transaction'); + const transaction = new TextEncoder().encode('transaction'); await coreMethods.broadcastTransaction(transaction); expect(grpcTransportMock.request).to.be.calledOnce(); @@ -57,7 +56,7 @@ describe('CoreMethodsFacade', () => { describe('#getBlockByHash', () => { it('should get block by hash', async () => { - const block = Buffer.from('block'); + const block = new TextEncoder().encode('block'); const response = new GetBlockResponse(); response.setBlock(block); grpcTransportMock.request.resolves(response); @@ -70,7 +69,7 @@ describe('CoreMethodsFacade', () => { describe('#getBlockByHeight', () => { it('should get block by height', async () => { - const block = Buffer.from('block'); + const block = new TextEncoder().encode('block'); const response = new GetBlockResponse(); response.setBlock(block); grpcTransportMock.request.resolves(response); @@ -124,10 +123,10 @@ describe('CoreMethodsFacade', () => { describe('#getTransaction', () => { it('should get transaction', async () => { - const transaction = Buffer.from('transaction'); + const transaction = new TextEncoder().encode('transaction'); const response = new GetTransactionResponse(); response.setTransaction(transaction); - response.setBlockHash(Buffer.from('blockHash')); + response.setBlockHash(new TextEncoder().encode('blockHash')); response.setHeight(1); response.setConfirmations(2); diff --git a/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js b/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js index fbb1f32ed5..473b89d03c 100644 --- a/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js +++ b/packages/js-dapi-client/test/integration/methods/platform/PlatformMethodsFacade.spec.js @@ -1,3 +1,12 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import wasmDpp from '@dashevo/wasm-dpp'; + +import getDataContractFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture.js'; +import getIdentityFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture.js'; + +import PlatformMethodsFacade from '../../../../lib/methods/platform/PlatformMethodsFacade.js'; +import { hexToBytes, bytesToHex } from '../../../../lib/utils/bytes.js'; + const { v0: { ResponseMetadata, @@ -17,14 +26,9 @@ const { WaitForStateTransitionResultResponse, KeyPurpose, }, -} = require('@dashevo/dapi-grpc'); - -const { DashPlatformProtocol } = require('@dashevo/wasm-dpp'); - -const getDataContractFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture'); -const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); +} = dapiGrpc; -const PlatformMethodsFacade = require('../../../../lib/methods/platform/PlatformMethodsFacade'); +const { DashPlatformProtocol } = wasmDpp; const { WaitForStateTransitionResultResponseV0 } = WaitForStateTransitionResultResponse; const { GetIdentityResponseV0 } = GetIdentityResponse; @@ -164,8 +168,8 @@ describe('PlatformMethodsFacade', () => { grpcTransportMock.request.resolves(response); await platformMethods.getIdentitiesContractKeys([ - Buffer.alloc(32).fill(1), - ], Buffer.alloc(32).fill(2), [KeyPurpose.ENCRYPTION]); + new Uint8Array(32).fill(1), + ], new Uint8Array(32).fill(2), [KeyPurpose.ENCRYPTION]); expect(grpcTransportMock.request).to.be.calledOnce(); }); @@ -182,7 +186,7 @@ describe('PlatformMethodsFacade', () => { grpcTransportMock.request.resolves(response); await platformMethods.waitForStateTransitionResult( - Buffer.from('6f49655a2906852a38e473dd47574fb70b8b7c4e5cee9ea8e7da3f07b970c421', 'hex'), + hexToBytes('6f49655a2906852a38e473dd47574fb70b8b7c4e5cee9ea8e7da3f07b970c421'), false, ); @@ -218,8 +222,8 @@ describe('PlatformMethodsFacade', () => { describe('#getProtocolVersionUpgradeVoteStatus', () => { it('should get version upgrade votes status', async () => { - const startProTxHash = Buffer.alloc(32).fill('a').toString('hex'); - const proTxHash = Buffer.alloc(32).fill('b').toString('hex'); + const startProTxHash = bytesToHex(new Uint8Array(32).fill(0x61)); + const proTxHash = bytesToHex(new Uint8Array(32).fill(0x62)); const { VersionSignal, VersionSignals } = GetProtocolVersionUpgradeVoteStatusResponseV0; @@ -277,7 +281,7 @@ describe('PlatformMethodsFacade', () => { grpcTransportMock.request.resolves(response); - await platformMethods.getIdentityContractNonce(Buffer.alloc(32), Buffer.alloc(32)); + await platformMethods.getIdentityContractNonce(new Uint8Array(32), new Uint8Array(32)); expect(grpcTransportMock.request).to.be.calledOnce(); }); @@ -295,7 +299,7 @@ describe('PlatformMethodsFacade', () => { grpcTransportMock.request.resolves(response); - await platformMethods.getIdentityNonce(Buffer.alloc(32), Buffer.alloc(32)); + await platformMethods.getIdentityNonce(new Uint8Array(32), new Uint8Array(32)); expect(grpcTransportMock.request).to.be.calledOnce(); }); @@ -309,13 +313,13 @@ describe('PlatformMethodsFacade', () => { response.setV0( new GetIdentityKeysResponseV0() - .setKeys(new Keys().setKeysBytesList([Buffer.alloc(41), Buffer.alloc(46)])) + .setKeys(new Keys().setKeysBytesList([new Uint8Array(41), new Uint8Array(46)])) .setMetadata(new ResponseMetadata()), ); grpcTransportMock.request.resolves(response); - await platformMethods.getIdentityKeys(Buffer.alloc(32), [0, 1], 100, {}); + await platformMethods.getIdentityKeys(new Uint8Array(32), [0, 1], 100, {}); expect(grpcTransportMock.request).to.be.calledOnce(); }); diff --git a/packages/js-dapi-client/test/unit/BlockHeadersProvider/BlockHeadersProvider.spec.js b/packages/js-dapi-client/test/unit/BlockHeadersProvider/BlockHeadersProvider.spec.js index 533653210d..93547c7bc0 100644 --- a/packages/js-dapi-client/test/unit/BlockHeadersProvider/BlockHeadersProvider.spec.js +++ b/packages/js-dapi-client/test/unit/BlockHeadersProvider/BlockHeadersProvider.spec.js @@ -1,11 +1,13 @@ -const EventEmitter = require('events'); -const { expect } = require('chai'); +import EventEmitter from 'events'; +import { expect } from 'chai'; -const { SPVError } = require('@dashevo/dash-spv'); +import dashSpv from '@dashevo/dash-spv'; -const BlockHeadersProvider = require('../../../lib/BlockHeadersProvider/BlockHeadersProvider'); -const BlockHeadersReader = require('../../../lib/BlockHeadersProvider/BlockHeadersReader'); -const getHeadersFixture = require('../../../lib/test/fixtures/getHeadersFixture'); +import BlockHeadersProvider from '../../../lib/BlockHeadersProvider/BlockHeadersProvider.js'; +import BlockHeadersReader from '../../../lib/BlockHeadersProvider/BlockHeadersReader.js'; +import getHeadersFixture from '../../../lib/test/fixtures/getHeadersFixture.js'; + +const { SPVError } = dashSpv; describe('BlockHeadersProvider - unit', () => { let blockHeadersProvider; diff --git a/packages/js-dapi-client/test/unit/BlockHeadersProvider/BlockHeadersReader.spec.js b/packages/js-dapi-client/test/unit/BlockHeadersProvider/BlockHeadersReader.spec.js index dca2784a9c..bf9d0a594e 100644 --- a/packages/js-dapi-client/test/unit/BlockHeadersProvider/BlockHeadersReader.spec.js +++ b/packages/js-dapi-client/test/unit/BlockHeadersProvider/BlockHeadersReader.spec.js @@ -1,8 +1,8 @@ -const { expect } = require('chai'); -const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); -const BlockHeadersReader = require('../../../lib/BlockHeadersProvider/BlockHeadersReader'); -const getHeadersFixture = require('../../../lib/test/fixtures/getHeadersFixture'); -const BlockHeadersWithChainLocksStreamMock = require('../../../lib/test/mocks/BlockHeadersWithChainLocksStreamMock'); +import { expect } from 'chai'; +import GrpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; +import BlockHeadersReader from '../../../lib/BlockHeadersProvider/BlockHeadersReader.js'; +import getHeadersFixture from '../../../lib/test/fixtures/getHeadersFixture.js'; +import BlockHeadersWithChainLocksStreamMock from '../../../lib/test/mocks/BlockHeadersWithChainLocksStreamMock.js'; const sleepOneTick = () => new Promise((resolve) => { if (typeof setImmediate === 'undefined') { diff --git a/packages/js-dapi-client/test/unit/BlockHeadersProvider/createBlockHeadersProviderFromOptions.spec.js b/packages/js-dapi-client/test/unit/BlockHeadersProvider/createBlockHeadersProviderFromOptions.spec.js index 995a965e83..4baa5db142 100644 --- a/packages/js-dapi-client/test/unit/BlockHeadersProvider/createBlockHeadersProviderFromOptions.spec.js +++ b/packages/js-dapi-client/test/unit/BlockHeadersProvider/createBlockHeadersProviderFromOptions.spec.js @@ -1,5 +1,5 @@ -const BlockHeadersProvider = require('../../../lib/BlockHeadersProvider/BlockHeadersProvider'); -const createBlockHeadersProviderFromOptions = require('../../../lib/BlockHeadersProvider/createBlockHeadersProviderFromOptions'); +import BlockHeadersProvider from '../../../lib/BlockHeadersProvider/BlockHeadersProvider.js'; +import createBlockHeadersProviderFromOptions from '../../../lib/BlockHeadersProvider/createBlockHeadersProviderFromOptions.js'; describe('#createBlockHeadersProviderFromOptions', () => { const coreMethodsMock = {}; diff --git a/packages/js-dapi-client/test/unit/DAPIClient.spec.js b/packages/js-dapi-client/test/unit/DAPIClient.spec.js index cee8f160f5..ce1a5f34ce 100644 --- a/packages/js-dapi-client/test/unit/DAPIClient.spec.js +++ b/packages/js-dapi-client/test/unit/DAPIClient.spec.js @@ -1,9 +1,9 @@ -const DAPIClient = require('../../lib/DAPIClient'); -const CoreMethodsFacade = require('../../lib/methods/core/CoreMethodsFacade'); -const PlatformMethodsFacade = require('../../lib/methods/platform/PlatformMethodsFacade'); -const SimplifiedMasternodeListDAPIAddressProvider = require('../../lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider'); -const ListDAPIAddressProvider = require('../../lib/dapiAddressProvider/ListDAPIAddressProvider'); -const BlockHeadersProvider = require('../../lib/BlockHeadersProvider/BlockHeadersProvider'); +import DAPIClient from '../../lib/DAPIClient.js'; +import CoreMethodsFacade from '../../lib/methods/core/CoreMethodsFacade.js'; +import PlatformMethodsFacade from '../../lib/methods/platform/PlatformMethodsFacade.js'; +import SimplifiedMasternodeListDAPIAddressProvider from '../../lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.js'; +import ListDAPIAddressProvider from '../../lib/dapiAddressProvider/ListDAPIAddressProvider.js'; +import BlockHeadersProvider from '../../lib/BlockHeadersProvider/BlockHeadersProvider.js'; describe('DAPIClient', () => { let options; diff --git a/packages/js-dapi-client/test/unit/dapiAddressProvider/DAPIAddress.spec.js b/packages/js-dapi-client/test/unit/dapiAddressProvider/DAPIAddress.spec.js index 2cc07090a2..314fc57c99 100644 --- a/packages/js-dapi-client/test/unit/dapiAddressProvider/DAPIAddress.spec.js +++ b/packages/js-dapi-client/test/unit/dapiAddressProvider/DAPIAddress.spec.js @@ -1,7 +1,5 @@ -const DAPIAddress = require('../../../lib/dapiAddressProvider/DAPIAddress'); -const DAPIAddressHostMissingError = require( - '../../../lib/dapiAddressProvider/errors/DAPIAddressHostMissingError', -); +import DAPIAddress from '../../../lib/dapiAddressProvider/DAPIAddress.js'; +import DAPIAddressHostMissingError from '../../../lib/dapiAddressProvider/errors/DAPIAddressHostMissingError.js'; describe('DAPIAddress', () => { let host; diff --git a/packages/js-dapi-client/test/unit/dapiAddressProvider/ListDAPIAddressProvider.spec.js b/packages/js-dapi-client/test/unit/dapiAddressProvider/ListDAPIAddressProvider.spec.js index 8b887a4ad7..6d9ca20b88 100644 --- a/packages/js-dapi-client/test/unit/dapiAddressProvider/ListDAPIAddressProvider.spec.js +++ b/packages/js-dapi-client/test/unit/dapiAddressProvider/ListDAPIAddressProvider.spec.js @@ -1,5 +1,5 @@ -const ListDAPIAddressProvider = require('../../../lib/dapiAddressProvider/ListDAPIAddressProvider'); -const DAPIAddress = require('../../../lib/dapiAddressProvider/DAPIAddress'); +import ListDAPIAddressProvider from '../../../lib/dapiAddressProvider/ListDAPIAddressProvider.js'; +import DAPIAddress from '../../../lib/dapiAddressProvider/DAPIAddress.js'; describe('ListDAPIAddressProvider', () => { let listDAPIAddressProvider; diff --git a/packages/js-dapi-client/test/unit/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.spec.js b/packages/js-dapi-client/test/unit/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.spec.js index f130795e44..06a72885e4 100644 --- a/packages/js-dapi-client/test/unit/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.spec.js +++ b/packages/js-dapi-client/test/unit/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.spec.js @@ -1,8 +1,8 @@ -const SimplifiedMNListEntry = require('@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNListEntry'); +import SimplifiedMNListEntry from '@dashevo/dashcore-lib/lib/deterministicmnlist/SimplifiedMNListEntry.js'; -const DAPIAddress = require('../../../lib/dapiAddressProvider/DAPIAddress'); +import DAPIAddress from '../../../lib/dapiAddressProvider/DAPIAddress.js'; -const SimplifiedMasternodeListDAPIAddressProvider = require('../../../lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider'); +import SimplifiedMasternodeListDAPIAddressProvider from '../../../lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.js'; describe('SimplifiedMasternodeListDAPIAddressProvider', () => { let smlDAPIAddressProvider; diff --git a/packages/js-dapi-client/test/unit/dapiAddressProvider/createDAPIAddressProviderFromOptions.spec.js b/packages/js-dapi-client/test/unit/dapiAddressProvider/createDAPIAddressProviderFromOptions.spec.js index 52710eec1b..b0ed314225 100644 --- a/packages/js-dapi-client/test/unit/dapiAddressProvider/createDAPIAddressProviderFromOptions.spec.js +++ b/packages/js-dapi-client/test/unit/dapiAddressProvider/createDAPIAddressProviderFromOptions.spec.js @@ -1,12 +1,10 @@ -const createDAPIAddressProviderFromOptions = require( - '../../../lib/dapiAddressProvider/createDAPIAddressProviderFromOptions', -); -const ListDAPIAddressProvider = require('../../../lib/dapiAddressProvider/ListDAPIAddressProvider'); -const SimplifiedMasternodeListDAPIAddressProvider = require('../../../lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider'); +import createDAPIAddressProviderFromOptions from '../../../lib/dapiAddressProvider/createDAPIAddressProviderFromOptions.js'; +import ListDAPIAddressProvider from '../../../lib/dapiAddressProvider/ListDAPIAddressProvider.js'; +import SimplifiedMasternodeListDAPIAddressProvider from '../../../lib/dapiAddressProvider/SimplifiedMasternodeListDAPIAddressProvider.js'; -const networkConfigs = require('../../../lib/networkConfigs'); +import networkConfigs from '../../../lib/networkConfigs.js'; -const DAPIClientError = require('../../../lib/errors/DAPIClientError'); +import DAPIClientError from '../../../lib/errors/DAPIClientError.js'; describe('createDAPIAddressProviderFromOptions', () => { describe('dapiAddressProvider', () => { diff --git a/packages/js-dapi-client/test/unit/methods/core/broadcastTransactionFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/broadcastTransactionFactory.spec.js index 1b7ef03818..7bd0bb1a32 100644 --- a/packages/js-dapi-client/test/unit/methods/core/broadcastTransactionFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/broadcastTransactionFactory.spec.js @@ -1,14 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import broadcastTransactionFactory from '../../../../lib/methods/core/broadcastTransactionFactory.js'; + const { v0: { CorePromiseClient, BroadcastTransactionRequest, BroadcastTransactionResponse, }, -} = require('@dashevo/dapi-grpc'); - -const broadcastTransactionFactory = require( - '../../../../lib/methods/core/broadcastTransactionFactory', -); +} = dapiGrpc; describe('broadcastTransactionFactory', () => { let broadcastTransaction; @@ -25,7 +24,7 @@ describe('broadcastTransactionFactory', () => { grpcTransportMock, ); - transaction = Buffer.from('transaction'); + transaction = new TextEncoder().encode('transaction'); id = '4f46066bd50cc2684484407696b7949e82bd906ea92c040f59a97cba47ed8176'; }); diff --git a/packages/js-dapi-client/test/unit/methods/core/getBestBlockHashFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getBestBlockHashFactory.spec.js index 28a2a20281..7e416ec836 100644 --- a/packages/js-dapi-client/test/unit/methods/core/getBestBlockHashFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/getBestBlockHashFactory.spec.js @@ -1,4 +1,4 @@ -const getBestBlockHashFactory = require('../../../../lib/methods/core/getBestBlockHashFactory'); +import getBestBlockHashFactory from '../../../../lib/methods/core/getBestBlockHashFactory.js'; describe('getBestBlockHashFactory', () => { let getBestBlockHash; diff --git a/packages/js-dapi-client/test/unit/methods/core/getBlockByHashFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getBlockByHashFactory.spec.js index d9548cf6b6..35fe2e9e57 100644 --- a/packages/js-dapi-client/test/unit/methods/core/getBlockByHashFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/getBlockByHashFactory.spec.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getBlockByHashFactory from '../../../../lib/methods/core/getBlockByHashFactory.js'; + const { v0: { GetBlockRequest, GetBlockResponse, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const getBlockByHashFactory = require('../../../../lib/methods/core/getBlockByHashFactory'); +} = dapiGrpc; describe('getBlockByHashFactory', () => { let getBlockByHash; @@ -14,7 +15,7 @@ describe('getBlockByHashFactory', () => { let block; beforeEach(function beforeEach() { - block = Buffer.from('block'); + block = new TextEncoder().encode('block'); const response = new GetBlockResponse(); response.setBlock(block); @@ -36,7 +37,7 @@ describe('getBlockByHashFactory', () => { const request = new GetBlockRequest(); request.setHash(hash); - expect(result).to.be.instanceof(Buffer); + expect(result).to.be.instanceof(Uint8Array); expect(result).to.deep.equal(block); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( CorePromiseClient, diff --git a/packages/js-dapi-client/test/unit/methods/core/getBlockByHeightFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getBlockByHeightFactory.spec.js index 5a6ad89664..4546d60953 100644 --- a/packages/js-dapi-client/test/unit/methods/core/getBlockByHeightFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/getBlockByHeightFactory.spec.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getBlockByHeightFactory from '../../../../lib/methods/core/getBlockByHeightFactory.js'; + const { v0: { GetBlockRequest, GetBlockResponse, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const getBlockByHeightFactory = require('../../../../lib/methods/core/getBlockByHeightFactory'); +} = dapiGrpc; describe('getBlockByHeightFactory', () => { let getBlockByHeight; @@ -14,7 +15,7 @@ describe('getBlockByHeightFactory', () => { let block; beforeEach(function beforeEach() { - block = Buffer.from('block'); + block = new TextEncoder().encode('block'); const response = new GetBlockResponse(); response.setBlock(block); @@ -36,7 +37,7 @@ describe('getBlockByHeightFactory', () => { const request = new GetBlockRequest(); request.setHeight(height); - expect(result).to.be.instanceof(Buffer); + expect(result).to.be.instanceof(Uint8Array); expect(result).to.deep.equal(block); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( CorePromiseClient, diff --git a/packages/js-dapi-client/test/unit/methods/core/getBlockHashFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getBlockHashFactory.spec.js index 9d14ff6de7..74011973a0 100644 --- a/packages/js-dapi-client/test/unit/methods/core/getBlockHashFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/getBlockHashFactory.spec.js @@ -1,4 +1,4 @@ -const getBlockHashFactory = require('../../../../lib/methods/core/getBlockHashFactory'); +import getBlockHashFactory from '../../../../lib/methods/core/getBlockHashFactory.js'; describe('getBlockHashFactory', () => { let getBlockHash; diff --git a/packages/js-dapi-client/test/unit/methods/core/getBlockchainStatusFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getBlockchainStatusFactory.spec.js index bceb20a0ec..52bed5f7af 100644 --- a/packages/js-dapi-client/test/unit/methods/core/getBlockchainStatusFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/getBlockchainStatusFactory.spec.js @@ -1,12 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getBlockchainStatusFactory from '../../../../lib/methods/core/getBlockchainStatusFactory.js'; +import { base64ToBytes } from '../../../../lib/utils/bytes.js'; + const { v0: { GetBlockchainStatusRequest, GetBlockchainStatusResponse, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const getBlockchainStatusFactory = require('../../../../lib/methods/core/getBlockchainStatusFactory'); +} = dapiGrpc; describe('getBlockchainStatusFactory', () => { let getBlockchainStatus; @@ -25,7 +27,7 @@ describe('getBlockchainStatusFactory', () => { response.setStatus(GetBlockchainStatusResponse.Status.READY); const chain = new GetBlockchainStatusResponse.Chain(); - chain.setBestBlockHash(Buffer.from('bestBlockHash')); + chain.setBestBlockHash(new TextEncoder().encode('bestBlockHash')); response.setChain(chain); @@ -53,7 +55,8 @@ describe('getBlockchainStatusFactory', () => { status: 'READY', }; - expectedResult.chain.bestBlockHash = Buffer.from(expectedResult.chain.bestBlockHash, 'base64'); + // toObject returns bestBlockHash as base64 string; production code converts to Uint8Array + expectedResult.chain.bestBlockHash = base64ToBytes(expectedResult.chain.bestBlockHash); expect(result).to.deep.equal(expectedResult); }); diff --git a/packages/js-dapi-client/test/unit/methods/core/getMasternodeStatusFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getMasternodeStatusFactory.spec.js index fdd1b569e5..594e9aff50 100644 --- a/packages/js-dapi-client/test/unit/methods/core/getMasternodeStatusFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/getMasternodeStatusFactory.spec.js @@ -1,12 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getMasternodeStatusFactory from '../../../../lib/methods/core/getMasternodeStatusFactory.js'; + const { v0: { GetMasternodeStatusRequest, GetMasternodeStatusResponse, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const getMasternodeStatusFactory = require('../../../../lib/methods/core/getMasternodeStatusFactory'); +} = dapiGrpc; describe('getMasternodeStatusFactory', () => { let getMasternodeStatus; @@ -45,7 +46,7 @@ describe('getMasternodeStatusFactory', () => { const expectedResult = { ...response.toObject(), - proTxHash: Buffer.alloc(0), + proTxHash: new Uint8Array(0), status: 'READY', }; diff --git a/packages/js-dapi-client/test/unit/methods/core/getTransaction/GetTransactionResponse.spec.js b/packages/js-dapi-client/test/unit/methods/core/getTransaction/GetTransactionResponse.spec.js index 294e9a6d25..8ddab2c867 100644 --- a/packages/js-dapi-client/test/unit/methods/core/getTransaction/GetTransactionResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/getTransaction/GetTransactionResponse.spec.js @@ -1,10 +1,12 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetTransactionResponse from '../../../../../lib/methods/core/getTransaction/GetTransactionResponse.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; + const { v0: { GetTransactionResponse: ProtoGetTransactionResponse, }, -} = require('@dashevo/dapi-grpc'); -const GetTransactionResponse = require('../../../../../lib/methods/core/getTransaction/GetTransactionResponse'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); +} = dapiGrpc; describe('GetTransactionResponse', () => { let getTransactionResponse; @@ -13,8 +15,8 @@ describe('GetTransactionResponse', () => { beforeEach(() => { response = { - transaction: Buffer.from('transaction'), - blockHash: Buffer.from('blockHash'), + transaction: new TextEncoder().encode('transaction'), + blockHash: new TextEncoder().encode('blockHash'), height: 10, confirmations: 42, instantLocked: true, @@ -72,8 +74,8 @@ describe('GetTransactionResponse', () => { const instance = GetTransactionResponse.createFromProto(proto); expect(instance).to.be.an.instanceOf(GetTransactionResponse); - expect(instance.transaction).to.deep.equal(Buffer.from(proto.getTransaction())); - expect(instance.blockHash).to.deep.equal(Buffer.from(proto.getBlockHash())); + expect(instance.transaction).to.deep.equal(new Uint8Array(proto.getTransaction())); + expect(instance.blockHash).to.deep.equal(new Uint8Array(proto.getBlockHash())); expect(instance.height).to.deep.equal(proto.getHeight()); expect(instance.confirmations).to.deep.equal(proto.getConfirmations()); expect(instance.instantLocked).to.deep.equal(proto.getIsInstantLocked()); diff --git a/packages/js-dapi-client/test/unit/methods/core/getTransaction/getTransactionFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getTransaction/getTransactionFactory.spec.js index cbbe931218..7d4b399dec 100644 --- a/packages/js-dapi-client/test/unit/methods/core/getTransaction/getTransactionFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/getTransaction/getTransactionFactory.spec.js @@ -1,13 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getTransactionFactory from '../../../../../lib/methods/core/getTransaction/getTransactionFactory.js'; +import GetTransactionResponse from '../../../../../lib/methods/core/getTransaction/GetTransactionResponse.js'; + const { v0: { GetTransactionRequest, GetTransactionResponse: ProtoGetTransactionResponse, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const getTransactionFactory = require('../../../../../lib/methods/core/getTransaction/getTransactionFactory'); -const GetTransactionResponse = require('../../../../../lib/methods/core/getTransaction/GetTransactionResponse'); +} = dapiGrpc; describe('getTransactionFactory', () => { let getTransaction; @@ -20,8 +21,8 @@ describe('getTransactionFactory', () => { let isInstantLocked; beforeEach(function beforeEach() { - transaction = Buffer.from('transaction'); - blockHash = Buffer.from('blockHash'); + transaction = new TextEncoder().encode('transaction'); + blockHash = new TextEncoder().encode('blockHash'); height = 42; confirmations = 3; isChainLocked = true; diff --git a/packages/js-dapi-client/test/unit/methods/core/subscribeToBlockHeadersWithChainLocksFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/subscribeToBlockHeadersWithChainLocksFactory.spec.js index 32ce15e4a4..59f4164f19 100644 --- a/packages/js-dapi-client/test/unit/methods/core/subscribeToBlockHeadersWithChainLocksFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/subscribeToBlockHeadersWithChainLocksFactory.spec.js @@ -1,14 +1,15 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import EventEmitter from 'events'; +import subscribeToBlockHeadersWithChainLocksFactory from '../../../../lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js'; +import DAPIClientError from '../../../../lib/errors/DAPIClientError.js'; +import { hexToBytes } from '../../../../lib/utils/bytes.js'; + const { v0: { CorePromiseClient, BlockHeadersWithChainLocksRequest, }, -} = require('@dashevo/dapi-grpc'); -const { EventEmitter } = require('events'); - -const subscribeToBlockHeadersWithChainLocksFactory = require('../../../../lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory'); - -const DAPIClientError = require('../../../../lib/errors/DAPIClientError'); +} = dapiGrpc; describe('subscribeToBlockHeadersWithChainLocks', () => { let subscribeToBlockHeadersWithChainLocks; @@ -50,7 +51,7 @@ describe('subscribeToBlockHeadersWithChainLocks', () => { const request = new BlockHeadersWithChainLocksRequest(); request.setFromBlockHeight(1); - request.setFromBlockHash(Buffer.from(options.fromBlockHash, 'hex')); + request.setFromBlockHash(hexToBytes(options.fromBlockHash)); request.setCount(options.count); expect(grpcTransportMock.request).to.be.calledWith( diff --git a/packages/js-dapi-client/test/unit/methods/core/subscribeToTransactionsWithProofsFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/subscribeToTransactionsWithProofsFactory.spec.js index 7fb33af14a..18ba865c88 100644 --- a/packages/js-dapi-client/test/unit/methods/core/subscribeToTransactionsWithProofsFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/core/subscribeToTransactionsWithProofsFactory.spec.js @@ -1,4 +1,9 @@ -const BloomFilter = require('@dashevo/dashcore-lib/lib/bloomfilter'); +import BloomFilter from '@dashevo/dashcore-lib/lib/bloomfilter.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import EventEmitter from 'events'; +import subscribeToTransactionsWithProofsFactory from '../../../../lib/methods/core/subscribeToTransactionsWithProofsFactory.js'; +import DAPIClientError from '../../../../lib/errors/DAPIClientError.js'; +import { hexToBytes } from '../../../../lib/utils/bytes.js'; const { v0: { @@ -6,13 +11,7 @@ const { CorePromiseClient, TransactionsWithProofsRequest, }, -} = require('@dashevo/dapi-grpc'); - -const { EventEmitter } = require('events'); - -const subscribeToTransactionsWithProofsFactory = require('../../../../lib/methods/core/subscribeToTransactionsWithProofsFactory'); - -const DAPIClientError = require('../../../../lib/errors/DAPIClientError'); +} = dapiGrpc; describe('subscribeToTransactionsWithProofsFactory', () => { let subscribeToTransactionsWithProofs; @@ -54,7 +53,7 @@ describe('subscribeToTransactionsWithProofsFactory', () => { request.setBloomFilter(bloomFilterMessage); request.setFromBlockHeight(options.fromBlockHeight); request.setCount(options.count); - request.setFromBlockHash(Buffer.from(options.fromBlockHash, 'hex')); + request.setFromBlockHash(hexToBytes(options.fromBlockHash)); expect(grpcTransportMock.request).to.be.calledOnceWithExactly( CorePromiseClient, diff --git a/packages/js-dapi-client/test/unit/methods/platform/broadcaseStateTransition/broadcastStateTransitionFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/broadcaseStateTransition/broadcastStateTransitionFactory.spec.js index f95878fb66..2f5ce704ef 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/broadcaseStateTransition/broadcastStateTransitionFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/broadcaseStateTransition/broadcastStateTransitionFactory.spec.js @@ -1,16 +1,17 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import wasmDpp from '@dashevo/wasm-dpp'; +import getDataContractFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture.js'; +import broadcastStateTransitionFactory from '../../../../../lib/methods/platform/broadcastStateTransition/broadcastStateTransitionFactory.js'; +import BroadcastStateTransitionResponse from '../../../../../lib/methods/platform/broadcastStateTransition/BroadcastStateTransitionResponse.js'; + const { v0: { BroadcastStateTransitionRequest, PlatformPromiseClient, }, -} = require('@dashevo/dapi-grpc'); - -const { DashPlatformProtocol } = require('@dashevo/wasm-dpp'); - -const getDataContractFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture'); +} = dapiGrpc; -const broadcastStateTransitionFactory = require('../../../../../lib/methods/platform/broadcastStateTransition/broadcastStateTransitionFactory'); -const BroadcastStateTransitionResponse = require('../../../../../lib/methods/platform/broadcastStateTransition/BroadcastStateTransitionResponse'); +const { DashPlatformProtocol } = wasmDpp; describe('broadcastStateTransitionFactory', () => { let grpcTransportMock; diff --git a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/ConsensusParamsBlock.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/ConsensusParamsBlock.spec.js index 245c0bceaa..ce73bb5f12 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/ConsensusParamsBlock.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/ConsensusParamsBlock.spec.js @@ -1,4 +1,4 @@ -const ConsensusParamsBlock = require('../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsBlock'); +import ConsensusParamsBlock from '../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsBlock.js'; describe('ConsensusParamsBlock', () => { let consensusParamsBlock; diff --git a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/ConsensusParamsEvidence.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/ConsensusParamsEvidence.spec.js index 70c6074dc4..d2411b1845 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/ConsensusParamsEvidence.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/ConsensusParamsEvidence.spec.js @@ -1,4 +1,4 @@ -const ConsensusParamsEvidence = require('../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsEvidence'); +import ConsensusParamsEvidence from '../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsEvidence.js'; describe('ConsensusParamsEvidence', () => { let consensusParamsEvidence; diff --git a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsFactory.spec.js index 77ab7d32b4..7ac775eb8e 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsFactory.spec.js @@ -1,12 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getConsensusParamsFactory from '../../../../../lib/methods/platform/getConsensusParams/getConsensusParamsFactory.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; + const { v0: { PlatformPromiseClient, GetConsensusParamsResponse, GetConsensusParamsRequest, }, -} = require('@dashevo/dapi-grpc'); -const getConsensusParamsFactory = require('../../../../../lib/methods/platform/getConsensusParams/getConsensusParamsFactory'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); +} = dapiGrpc; const { GetConsensusParamsRequestV0, diff --git a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsResponse.spec.js index 4a0a808311..abe00f808f 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getConsensusParams/getConsensusParamsResponse.spec.js @@ -1,12 +1,14 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetConsensusParamsResponse from '../../../../../lib/methods/platform/getConsensusParams/getConsensusParamsResponse.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import ConsensusParamsBlock from '../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsBlock.js'; +import ConsensusParamsEvidence from '../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsEvidence.js'; + const { v0: { GetConsensusParamsResponse: GetConsensusParamsResponseProto, }, -} = require('@dashevo/dapi-grpc'); -const GetConsensusParamsResponse = require('../../../../../lib/methods/platform/getConsensusParams/getConsensusParamsResponse'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const ConsensusParamsBlock = require('../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsBlock'); -const ConsensusParamsEvidence = require('../../../../../lib/methods/platform/getConsensusParams/ConsensusParamsEvidence'); +} = dapiGrpc; const { ConsensusParamsBlock: ConsensusParamsBlockProto, diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js index 7ac3925048..8c4fdbe0c3 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js @@ -1,18 +1,19 @@ -const getDataContractFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture'); +import getDataContractFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetDataContractResponseClass from '../../../../../lib/methods/platform/getDataContract/GetDataContractResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetDataContractResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetDataContractResponseClass = require('../../../../../lib/methods/platform/getDataContract/GetDataContractResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetDataContractResponse', () => { let getDataContractResponse; @@ -41,7 +42,7 @@ describe('GetDataContractResponse', () => { it('should return proof', () => { getDataContractResponse = new GetDataContractResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -49,7 +50,7 @@ describe('GetDataContractResponse', () => { const dataContract = getDataContractResponse.getDataContract(); const proof = getDataContractResponse.getProof(); - expect(dataContract).to.deep.equal(Buffer.alloc(0)); + expect(dataContract).to.deep.equal(new Uint8Array(0)); expect(proof).to.be.an.instanceOf(Proof); expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); @@ -113,7 +114,7 @@ describe('GetDataContractResponse', () => { getDataContractResponse = GetDataContractResponseClass.createFromProto(proto); expect(getDataContractResponse).to.be.an.instanceOf(GetDataContractResponseClass); - expect(getDataContractResponse.getDataContract()).to.deep.equal(Buffer.alloc(0)); + expect(getDataContractResponse.getDataContract()).to.deep.equal(new Uint8Array(0)); expect(getDataContractResponse.getMetadata().getHeight()) .to.deep.equal(BigInt(metadataFixture.height)); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDataContract/getDataContractFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/getDataContractFactory.spec.js index 4d725d0256..77d8cee747 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDataContract/getDataContractFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/getDataContractFactory.spec.js @@ -1,3 +1,10 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getDataContractFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture.js'; +import getDataContractFactory from '../../../../../lib/methods/platform/getDataContract/getDataContractFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import ProofClass from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -6,14 +13,7 @@ const { ResponseMetadata, Proof, }, -} = require('@dashevo/dapi-grpc'); - -const getDataContractFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture'); - -const getDataContractFactory = require('../../../../../lib/methods/platform/getDataContract/getDataContractFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const ProofClass = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getDataContractFactory', () => { let grpcTransportMock; @@ -118,7 +118,7 @@ describe('getDataContractFactory', () => { options, ]); - expect(result.getDataContract()).to.deep.equal(Buffer.alloc(0)); + expect(result.getDataContract()).to.deep.equal(new Uint8Array(0)); expect(result.getProof()).to.be.an.instanceOf(ProofClass); expect(result.getProof().getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); @@ -146,7 +146,7 @@ describe('getDataContractFactory', () => { const request = new GetDataContractRequest(); request.setV0( new GetDataContractRequestV0() - .setId(contractId.toBuffer()) + .setId(new Uint8Array(contractId.toBuffer())) .setProve(false), ); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.spec.js index 90da73d373..406eb2a367 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.spec.js @@ -1,18 +1,19 @@ -const getDataContractFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture'); +import getDataContractFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetDataContractHistoryResponseClass from '../../../../../lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetDataContractHistoryResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetDataContractHistoryResponseClass = require('../../../../../lib/methods/platform/getDataContractHistory/GetDataContractHistoryResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetDataContractHistoryResponse', () => { let getDataContractHistoryResponse; diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js index b8597e45c2..4177906906 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js @@ -1,4 +1,12 @@ -const { UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); +import wrappersPb from 'google-protobuf/google/protobuf/wrappers_pb.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import getDataContractFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture.js'; +import getDataContractHistoryFactory from '../../../../../lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import ProofClass from '../../../../../lib/methods/platform/response/Proof.js'; + +const { UInt32Value } = wrappersPb; const { v0: { @@ -8,25 +16,16 @@ const { ResponseMetadata, Proof, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; const { - v0: { - GetDataContractHistoryResponse: { - GetDataContractHistoryResponseV0: { - DataContractHistory, - DataContractHistoryEntry, - }, + GetDataContractHistoryResponse: { + GetDataContractHistoryResponseV0: { + DataContractHistory, + DataContractHistoryEntry, }, }, -} = require('@dashevo/dapi-grpc'); - -const getDataContractFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getDataContractFixture'); - -const getDataContractHistoryFactory = require('../../../../../lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const ProofClass = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc.v0; describe('getDataContractHistoryFactory', () => { let grpcTransportMock; @@ -190,7 +189,7 @@ describe('getDataContractHistoryFactory', () => { const request = new GetDataContractHistoryRequest(); request.setV0( new GetDataContractHistoryRequestV0() - .setId(contractId.toBuffer()) + .setId(new Uint8Array(contractId.toBuffer())) .setLimit(new UInt32Value([10])) .setOffset(new UInt32Value([0])) .setStartAtMs('0') diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDocuments/GetDocumentsResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDocuments/GetDocumentsResponse.spec.js index 777ceb112f..7ab0a121f6 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDocuments/GetDocumentsResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDocuments/GetDocumentsResponse.spec.js @@ -1,18 +1,19 @@ -const getDocumentsFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getDocumentsFixture'); +import getDocumentsFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getDocumentsFixture.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetDocumentsResponseClass from '../../../../../lib/methods/platform/getDocuments/GetDocumentsResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetDocumentsResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetDocumentsResponseClass = require('../../../../../lib/methods/platform/getDocuments/GetDocumentsResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetDocumentsResponse', () => { let getDocumentsResponse; @@ -28,7 +29,7 @@ describe('GetDocumentsResponse', () => { proofFixture = getProofFixture(); serializedDocuments = documentsFixture - .map((document) => Buffer.from(JSON.stringify(document))); + .map((document) => new TextEncoder().encode(JSON.stringify(document))); const { GetDocumentsResponseV0 } = GetDocumentsResponse; proto = new GetDocumentsResponse(); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getDocuments/getDocumentsFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDocuments/getDocumentsFactory.spec.js index 02f99ae7fc..f2e2a87afd 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getDocuments/getDocumentsFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getDocuments/getDocumentsFactory.spec.js @@ -1,5 +1,15 @@ -const cbor = require('cbor'); -const { Identifier } = require('@dashevo/wasm-dpp'); +import cbor from 'cbor'; +import wasmDpp from '@dashevo/wasm-dpp'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import getDocumentsFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getDocumentsFixture.js'; +import generateRandomIdentifier from '@dashevo/wasm-dpp/lib/test/utils/generateRandomIdentifierAsync.js'; +import getDocumentsFactory from '../../../../../lib/methods/platform/getDocuments/getDocumentsFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import { hexToBytes } from '../../../../../lib/utils/bytes.js'; + +const { Identifier } = wasmDpp; const { v0: { @@ -9,15 +19,7 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const getDocumentsFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getDocumentsFixture'); - -const generateRandomIdentifier = require('@dashevo/wasm-dpp/lib/test/utils/generateRandomIdentifierAsync'); -const getDocumentsFactory = require('../../../../../lib/methods/platform/getDocuments/getDocumentsFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getDocumentsFactory', () => { let grpcTransportMock; @@ -53,7 +55,7 @@ describe('getDocumentsFactory', () => { documentsFixture = await getDocumentsFixture(); serializedDocuments = documentsFixture - .map((document) => Buffer.from(JSON.stringify(document))); + .map((document) => new TextEncoder().encode(JSON.stringify(document))); const metadata = new ResponseMetadata(); metadata.setHeight(metadataFixture.height); @@ -91,7 +93,7 @@ describe('getDocumentsFactory', () => { const request = new GetDocumentsRequest(); request.setV0( new GetDocumentsRequestV0() - .setDataContractId(contractIdBuffer) + .setDataContractId(new Uint8Array(contractIdBuffer)) .setDocumentType(type) .setLimit(options.limit) .setWhere(cbor.encode(options.where)) @@ -132,7 +134,7 @@ describe('getDocumentsFactory', () => { const request = new GetDocumentsRequest(); request.setV0( new GetDocumentsRequestV0() - .setDataContractId(contractIdBuffer) + .setDataContractId(new Uint8Array(contractIdBuffer)) .setDocumentType(type) .setLimit(options.limit) .setWhere(cbor.encode(options.where)) @@ -174,7 +176,7 @@ describe('getDocumentsFactory', () => { const request = new GetDocumentsRequest(); request.setV0( new GetDocumentsRequestV0() - .setDataContractId(contractIdBuffer) + .setDataContractId(new Uint8Array(contractIdBuffer)) .setDocumentType(type) .setLimit(options.limit) .setWhere(cbor.encode(options.where)) diff --git a/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/GetEpochsInfoResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/GetEpochsInfoResponse.spec.js index bb0c1e44b1..cfd7d10745 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/GetEpochsInfoResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/GetEpochsInfoResponse.spec.js @@ -1,18 +1,19 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetEpochsInfoResponseClass from '../../../../../lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse.js'; +import EpochInfoClass from '../../../../../lib/methods/platform/getEpochsInfo/EpochInfo.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetEpochsInfoResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetEpochsInfoResponseClass = require('../../../../../lib/methods/platform/getEpochsInfo/GetEpochsInfoResponse'); -const EpochInfoClass = require('../../../../../lib/methods/platform/getEpochsInfo/EpochInfo'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetEpochsInfoResponse', () => { let getEpochsInfoResponse; diff --git a/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/getEpochsInfoFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/getEpochsInfoFactory.spec.js index 6e099599fa..bbfaa0517d 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/getEpochsInfoFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getEpochsInfo/getEpochsInfoFactory.spec.js @@ -1,3 +1,11 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import wrappersPb from 'google-protobuf/google/protobuf/wrappers_pb.js'; +import getEpochsInfoFactory from '../../../../../lib/methods/platform/getEpochsInfo/getEpochsInfoFactory.js'; +import EpochInfo from '../../../../../lib/methods/platform/getEpochsInfo/EpochInfo.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -6,15 +14,9 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const { UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); +} = dapiGrpc; -const getEpochsInfoFactory = require('../../../../../lib/methods/platform/getEpochsInfo/getEpochsInfoFactory'); -const EpochInfo = require('../../../../../lib/methods/platform/getEpochsInfo/EpochInfo'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +const { UInt32Value } = wrappersPb; describe('getEpochsInfoFactory', () => { let grpcTransportMock; diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.spec.js index 920ba2c8bf..ce42976420 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.spec.js @@ -1,5 +1,13 @@ -const generateRandomIdentifier = require('@dashevo/wasm-dpp/lib/test/utils/generateRandomIdentifierAsync'); -const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); +import generateRandomIdentifier from '@dashevo/wasm-dpp/lib/test/utils/generateRandomIdentifierAsync.js'; +import getIdentityFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentitiesContractKeysResponseClass from '../../../../../lib/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetIdentitiesContractKeysResponse, @@ -7,14 +15,7 @@ const { KeyPurpose, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentitiesContractKeysResponseClass = require('../../../../../lib/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetIdentitiesContractKeysResponse', () => { let getIdentitiesContractKeysResponse; diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.spec.js index 1dbb6f6be1..4c3d76e7b0 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.spec.js @@ -1,3 +1,11 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import generateRandomIdentifier from '@dashevo/wasm-dpp/lib/test/utils/generateRandomIdentifierAsync.js'; +import getIdentityFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import getIdentitiesContractKeysFactory from '../../../../../lib/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -7,17 +15,7 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); -const generateRandomIdentifier = require('@dashevo/wasm-dpp/lib/test/utils/generateRandomIdentifierAsync'); - -const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); - -const getIdentitiesContractKeysFactory = require( - '../../../../../lib/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory', -); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getIdentitiesContractKeysFactory', () => { let grpcTransportMock; @@ -113,9 +111,9 @@ describe('getIdentitiesContractKeysFactory', () => { new GetIdentitiesContractKeysRequestV0() .setProve(!!options.prove) .setIdentitiesIdsList( - [Buffer.from(identityFixtureA.getId()), Buffer.from(identityFixtureB.getId())], + [new Uint8Array(identityFixtureA.getId()), new Uint8Array(identityFixtureB.getId())], ) - .setContractId(Buffer.from(contractId)) + .setContractId(new Uint8Array(contractId)) .setPurposesList([KeyPurpose.ENCRYPTION, KeyPurpose.DECRYPTION]) .setDocumentTypeName('contactRequest'), ); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentity/GetIdentityResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentity/GetIdentityResponse.spec.js index 788184965f..a340631d8f 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentity/GetIdentityResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentity/GetIdentityResponse.spec.js @@ -1,18 +1,19 @@ -const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); +import getIdentityFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityResponseClass from '../../../../../lib/methods/platform/getIdentity/GetIdentityResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetIdentityResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityResponseClass = require('../../../../../lib/methods/platform/getIdentity/GetIdentityResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetIdentityResponse', () => { let getIdentityResponse; @@ -58,7 +59,7 @@ describe('GetIdentityResponse', () => { it('should return proof', () => { getIdentityResponse = new GetIdentityResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -66,7 +67,7 @@ describe('GetIdentityResponse', () => { const identity = getIdentityResponse.getIdentity(); const proof = getIdentityResponse.getProof(); - expect(identity).to.deep.equal(Buffer.alloc(0)); + expect(identity).to.deep.equal(new Uint8Array(0)); expect(proof).to.be.an.instanceOf(Proof); expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); @@ -104,7 +105,7 @@ describe('GetIdentityResponse', () => { getIdentityResponse = GetIdentityResponseClass.createFromProto(proto); - expect(getIdentityResponse.getIdentity()).to.deep.equal(Buffer.alloc(0)); + expect(getIdentityResponse.getIdentity()).to.deep.equal(new Uint8Array(0)); expect(getIdentityResponse.getMetadata().getHeight()) .to.deep.equal(BigInt(metadataFixture.height)); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentity/getIdentityFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentity/getIdentityFactory.spec.js index 711ff8b16c..4ed6448a48 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentity/getIdentityFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentity/getIdentityFactory.spec.js @@ -1,3 +1,10 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getIdentityFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture.js'; +import getIdentityFactory from '../../../../../lib/methods/platform/getIdentity/getIdentityFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -6,14 +13,7 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); - -const getIdentityFactory = require('../../../../../lib/methods/platform/getIdentity/getIdentityFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getIdentityFactory', () => { let grpcTransportMock; @@ -72,7 +72,7 @@ describe('getIdentityFactory', () => { const request = new GetIdentityRequest(); request.setV0( new GetIdentityRequestV0() - .setId(identityId.toBuffer()) + .setId(new Uint8Array(identityId.toBuffer())) .setProve(false), ); @@ -107,7 +107,7 @@ describe('getIdentityFactory', () => { const request = new GetIdentityRequest(); request.setV0( new GetIdentityRequestV0() - .setId(identityId.toBuffer()) + .setId(new Uint8Array(identityId.toBuffer())) .setProve(true), ); @@ -118,7 +118,7 @@ describe('getIdentityFactory', () => { options, ); - expect(result.getIdentity()).to.deep.equal(Buffer.alloc(0)); + expect(result.getIdentity()).to.deep.equal(new Uint8Array(0)); expect(result.getMetadata().getHeight()) .to.deep.equal(BigInt(metadataFixture.height)); @@ -145,7 +145,7 @@ describe('getIdentityFactory', () => { const request = new GetIdentityRequest(); request.setV0( new GetIdentityRequestV0() - .setId(identityId.toBuffer()) + .setId(new Uint8Array(identityId.toBuffer())) .setProve(false), ); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.spec.js index 51d5d1ccce..acff90b713 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.spec.js @@ -1,17 +1,18 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityBalanceResponseClass from '../../../../../lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetIdentityBalanceResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityBalanceResponseClass = require('../../../../../lib/methods/platform/getIdentityBalance/GetIdentityBalanceResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetIdentityBalanceResponse', () => { let getIdentityBalanceResponse; diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/getIdentityBalanceFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/getIdentityBalanceFactory.spec.js index daffa9f3cb..ef6b724c52 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/getIdentityBalanceFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/getIdentityBalanceFactory.spec.js @@ -1,3 +1,9 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getIdentityBalanceFactory from '../../../../../lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -6,15 +12,10 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); +} = dapiGrpc; const { GetIdentityBalanceResponseV0 } = GetIdentityBalanceResponse; -const getIdentityBalanceFactory = require('../../../../../lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); - describe('getIdentityBalanceFactory', () => { let grpcTransportMock; let getIdentityBalance; @@ -29,7 +30,7 @@ describe('getIdentityBalanceFactory', () => { beforeEach(async function beforeEach() { balance = BigInt(1337); - identityId = Buffer.alloc(32).fill(0); + identityId = new Uint8Array(32); metadataFixture = getMetadataFixture(); proofFixture = getProofFixture(); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.spec.js index 18545b0f54..63aee92fc8 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.spec.js @@ -1,18 +1,19 @@ -const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); +import getIdentityFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture.js'; +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityByPublicKeyHashResponseClass from '../../../../../lib/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetIdentityByPublicKeyHashResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityByPublicKeyHashResponseClass = require('../../../../../lib/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetIdentityByPublicKeyHashResponse', () => { let getIdentityResponse; @@ -118,7 +119,7 @@ describe('GetIdentityByPublicKeyHashResponse', () => { expect(getIdentityResponse).to.be.an.instanceOf( GetIdentityByPublicKeyHashResponseClass, ); - expect(getIdentityResponse.getIdentity()).to.deep.equal(Buffer.alloc(0)); + expect(getIdentityResponse.getIdentity()).to.deep.equal(new Uint8Array(0)); expect(getIdentityResponse.getMetadata().getHeight()) .to.deep.equal(BigInt(metadataFixture.height)); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.spec.js index 1a8514b375..08c80e8049 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.spec.js @@ -1,3 +1,10 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getIdentityFixture from '@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import getIdentityByPublicKeyHashFactory from '../../../../../lib/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -6,16 +13,7 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); - -const getIdentityByPublicKeyHashFactory = require( - '../../../../../lib/methods/platform/getIdentityByPublicKeyHash/getIdentityByPublicKeyHashFactory', -); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getIdentityByPublicKeyHashFactory', () => { let grpcTransportMock; @@ -121,7 +119,7 @@ describe('getIdentityByPublicKeyHashFactory', () => { request, options, ); - expect(result.getIdentity()).to.deep.equal(Buffer.alloc(0)); + expect(result.getIdentity()).to.deep.equal(new Uint8Array(0)); expect(result.getMetadata().getHeight()) .to.deep.equal(BigInt(metadataFixture.height)); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityContractNonce/GetIdentityContractNonce.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityContractNonce/GetIdentityContractNonce.spec.js index 1d8065f287..2a7a8ae0be 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityContractNonce/GetIdentityContractNonce.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityContractNonce/GetIdentityContractNonce.spec.js @@ -1,17 +1,18 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityContractNonceResponseClass from '../../../../../lib/methods/platform/getIdentityContractNonce/GetIdentityContractNonceResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetIdentityContractNonceResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityContractNonceResponseClass = require('../../../../../lib/methods/platform/getIdentityContractNonce/GetIdentityContractNonceResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetIdentityContractNonceResponse', () => { let getIdentityContractNonceResponse; @@ -56,7 +57,7 @@ describe('GetIdentityContractNonceResponse', () => { it('should return proof', () => { getIdentityContractNonceResponse = new GetIdentityContractNonceResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -64,7 +65,7 @@ describe('GetIdentityContractNonceResponse', () => { const identityContractNonce = getIdentityContractNonceResponse.getIdentityContractNonce(); const proof = getIdentityContractNonceResponse.getProof(); - expect(identityContractNonce).to.deep.equal(Buffer.alloc(0)); + expect(identityContractNonce).to.deep.equal(new Uint8Array(0)); expect(proof).to.be.an.instanceOf(Proof); expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.spec.js index 966820157a..743b6b1221 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.spec.js @@ -1,3 +1,9 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getIdentityContractNonceFactory from '../../../../../lib/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -6,12 +12,7 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const getIdentityContractNonceFactory = require('../../../../../lib/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getIdentityContractNonceFactory', () => { let grpcTransportMock; @@ -27,8 +28,8 @@ describe('getIdentityContractNonceFactory', () => { beforeEach(async function beforeEach() { nonce = BigInt(1); - identityId = Buffer.alloc(32).fill(0); - contractId = Buffer.alloc(32).fill(1); + identityId = new Uint8Array(32); + contractId = new Uint8Array(32).fill(1); metadataFixture = getMetadataFixture(); proofFixture = getProofFixture(); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityKeys/GetIdentityKeys.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityKeys/GetIdentityKeys.spec.js index 84e88aee24..dc3b187288 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityKeys/GetIdentityKeys.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityKeys/GetIdentityKeys.spec.js @@ -1,17 +1,18 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityKeysResponseClass from '../../../../../lib/methods/platform/getIdentityKeys/GetIdentityKeysResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetIdentityKeysResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityKeysResponseClass = require('../../../../../lib/methods/platform/getIdentityKeys/GetIdentityKeysResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetIdentityKeysResponse', () => { let getIdentityKeysResponse; @@ -22,7 +23,7 @@ describe('GetIdentityKeysResponse', () => { beforeEach(async () => { metadataFixture = getMetadataFixture(); - keys = [Buffer.alloc(41).fill(1), Buffer.alloc(48).fill(2), Buffer.alloc(55).fill(3)]; + keys = [new Uint8Array(41).fill(1), new Uint8Array(48).fill(2), new Uint8Array(55).fill(3)]; proofFixture = getProofFixture(); const { GetIdentityKeysResponseV0 } = GetIdentityKeysResponse; @@ -58,7 +59,7 @@ describe('GetIdentityKeysResponse', () => { it('should return proof', () => { getIdentityKeysResponse = new GetIdentityKeysResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -66,7 +67,7 @@ describe('GetIdentityKeysResponse', () => { const identityKeys = getIdentityKeysResponse.getIdentityKeys(); const proof = getIdentityKeysResponse.getProof(); - expect(identityKeys).to.deep.equal(Buffer.alloc(0)); + expect(identityKeys).to.deep.equal(new Uint8Array(0)); expect(proof).to.be.an.instanceOf(Proof); expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityKeys/getIdentityKeysFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityKeys/getIdentityKeysFactory.spec.js index f9873c97a6..38899e1499 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityKeys/getIdentityKeysFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityKeys/getIdentityKeysFactory.spec.js @@ -1,3 +1,10 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import wrappersPb from 'google-protobuf/google/protobuf/wrappers_pb.js'; +import getIdentityKeysFactory from '../../../../../lib/methods/platform/getIdentityKeys/getIdentityKeysFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -9,17 +16,13 @@ const { SpecificKeys, AllKeys, }, -} = require('@dashevo/dapi-grpc'); -const { UInt32Value } = require('google-protobuf/google/protobuf/wrappers_pb'); +} = dapiGrpc; + +const { UInt32Value } = wrappersPb; const { GetIdentityKeysResponseV0 } = GetIdentityKeysResponse; const { Keys } = GetIdentityKeysResponseV0; -const getIdentityKeysFactory = require('../../../../../lib/methods/platform/getIdentityKeys/getIdentityKeysFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); - describe('getIdentityKeysFactory', () => { let grpcTransportMock; let getIdentityKeys; @@ -35,11 +38,11 @@ describe('getIdentityKeysFactory', () => { let proofResponse; beforeEach(async function beforeEach() { - keys = [Buffer.alloc(41), Buffer.alloc(46)]; + keys = [new Uint8Array(41), new Uint8Array(46)]; keyIds = [0, 1]; limit = 100; - identityId = Buffer.alloc(32).fill(0); + identityId = new Uint8Array(32); metadataFixture = getMetadataFixture(); proofFixture = getProofFixture(); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityNonce/GetIdentityNonce.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityNonce/GetIdentityNonce.spec.js index b79e8a2701..56ed74b7ed 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityNonce/GetIdentityNonce.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityNonce/GetIdentityNonce.spec.js @@ -1,17 +1,18 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import GetIdentityNonceResponseClass from '../../../../../lib/methods/platform/getIdentityNonce/GetIdentityNonceResponse.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetIdentityNonceResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetIdentityNonceResponseClass = require('../../../../../lib/methods/platform/getIdentityNonce/GetIdentityNonceResponse'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetIdentityNonceResponse', () => { let getIdentityNonceResponse; @@ -56,7 +57,7 @@ describe('GetIdentityNonceResponse', () => { it('should return proof', () => { getIdentityNonceResponse = new GetIdentityNonceResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -64,7 +65,7 @@ describe('GetIdentityNonceResponse', () => { const IdentityNonce = getIdentityNonceResponse.getIdentityNonce(); const proof = getIdentityNonceResponse.getProof(); - expect(IdentityNonce).to.deep.equal(Buffer.alloc(0)); + expect(IdentityNonce).to.deep.equal(new Uint8Array(0)); expect(proof).to.be.an.instanceOf(Proof); expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getIdentityNonce/getIdentityNonceFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityNonce/getIdentityNonceFactory.spec.js index 564b7326da..aeb7535e5b 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getIdentityNonce/getIdentityNonceFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getIdentityNonce/getIdentityNonceFactory.spec.js @@ -1,3 +1,9 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import getIdentityNonceFactory from '../../../../../lib/methods/platform/getIdentityNonce/getIdentityNonceFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -6,12 +12,7 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const getIdentityNonceFactory = require('../../../../../lib/methods/platform/getIdentityNonce/getIdentityNonceFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getIdentityNonceFactory', () => { let grpcTransportMock; @@ -26,7 +27,7 @@ describe('getIdentityNonceFactory', () => { beforeEach(async function beforeEach() { nonce = BigInt(1); - identityId = Buffer.alloc(32).fill(0); + identityId = new Uint8Array(32); metadataFixture = getMetadataFixture(); proofFixture = getProofFixture(); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.spec.js index e837ff1d0b..369973f335 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.spec.js @@ -1,18 +1,20 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import GetProtocolVersionUpgradeStateResponseClass from '../../../../../lib/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse.js'; +import VersionEntryClass from '../../../../../lib/methods/platform/getProtocolVersionUpgradeState/VersionEntry.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; + const { v0: { GetProtocolVersionUpgradeStateResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetProtocolVersionUpgradeStateResponseClass = require('../../../../../lib/methods/platform/getProtocolVersionUpgradeState/GetProtocolVersionUpgradeStateResponse'); -const VersionEntryClass = require('../../../../../lib/methods/platform/getProtocolVersionUpgradeState/VersionEntry'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetProtocolVersionUpgradeStateResponse', () => { let getProtocolVersionUpgradeState; @@ -122,9 +124,9 @@ describe('GetProtocolVersionUpgradeStateResponse', () => { const proof = getProtocolVersionUpgradeState.getProof(); expect(proof).to.be.an.instanceOf(Proof); - expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); - expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); - expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getGrovedbProof()).to.deep.equal(new Uint8Array(proofFixture.merkleProof)); + expect(proof.getQuorumHash()).to.deep.equal(new Uint8Array(proofFixture.quorumHash)); + expect(proof.getSignature()).to.deep.equal(new Uint8Array(proofFixture.signature)); expect(proof.getRound()).to.deep.equal(proofFixture.round); }); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.spec.js index 06760cff86..4d1c1471cc 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.spec.js @@ -1,3 +1,11 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import getProtocolVersionUpgradeStateFactory from '../../../../../lib/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory.js'; +import VersionEntry from '../../../../../lib/methods/platform/getProtocolVersionUpgradeState/VersionEntry.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; + const { v0: { PlatformPromiseClient, @@ -6,13 +14,7 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const getProtocolVersionUpgradeStateFactory = require('../../../../../lib/methods/platform/getProtocolVersionUpgradeState/getProtocolVersionUpgradeStateFactory'); -const VersionEntry = require('../../../../../lib/methods/platform/getProtocolVersionUpgradeState/VersionEntry'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getProtocolVersionUpgradeStateFactory', () => { let grpcTransportMock; @@ -134,9 +136,9 @@ describe('getProtocolVersionUpgradeStateFactory', () => { .to.deep.equal(metadataFixture.protocolVersion); expect(result.getProof()).to.be.an.instanceOf(Proof); - expect(result.getProof().getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); - expect(result.getProof().getQuorumHash()).to.deep.equal(proofFixture.quorumHash); - expect(result.getProof().getSignature()).to.deep.equal(proofFixture.signature); + expect(result.getProof().getGrovedbProof()).to.deep.equal(new Uint8Array(proofFixture.merkleProof)); + expect(result.getProof().getQuorumHash()).to.deep.equal(new Uint8Array(proofFixture.quorumHash)); + expect(result.getProof().getSignature()).to.deep.equal(new Uint8Array(proofFixture.signature)); expect(result.getProof().getRound()).to.deep.equal(proofFixture.round); }); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.spec.js index b6e6f887bd..cdb3e38c81 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.spec.js @@ -1,18 +1,21 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import GetProtocolVersionUpgradeVoteStatusResponseClass from '../../../../../lib/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.js'; +import VersionSignalClass from '../../../../../lib/methods/platform/getProtocolVersionUpgradeVoteStatus/VersionSignal.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import InvalidResponseError from '../../../../../lib/methods/platform/response/errors/InvalidResponseError.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import Metadata from '../../../../../lib/methods/platform/response/Metadata.js'; +import { bytesToHex, hexToBytes } from '../../../../../lib/utils/bytes.js'; + const { v0: { GetProtocolVersionUpgradeVoteStatusResponse, ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetProtocolVersionUpgradeVoteStatusResponseClass = require('../../../../../lib/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse'); -const VersionSignalClass = require('../../../../../lib/methods/platform/getProtocolVersionUpgradeVoteStatus/VersionSignal'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const InvalidResponseError = require('../../../../../lib/methods/platform/response/errors/InvalidResponseError'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); -const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +} = dapiGrpc; describe('GetProtocolVersionUpgradeVoteStatusResponse', () => { let getProtocolVersionUpgradeVoteStatus; @@ -23,7 +26,7 @@ describe('GetProtocolVersionUpgradeVoteStatusResponse', () => { beforeEach(async () => { metadataFixture = getMetadataFixture(); - versionSignalFixture = new VersionSignalClass(Buffer.alloc(32).toString('hex'), 1); + versionSignalFixture = new VersionSignalClass(bytesToHex(new Uint8Array(32)), 1); proofFixture = getProofFixture(); const { @@ -42,7 +45,7 @@ describe('GetProtocolVersionUpgradeVoteStatusResponse', () => { new GetProtocolVersionUpgradeVoteStatusResponseV0() .setVersions(new VersionSignals() .setVersionSignalsList([new VersionSignal() - .setProTxHash(Buffer.from(versionSignalFixture.getProTxHash(), 'hex')) + .setProTxHash(hexToBytes(versionSignalFixture.getProTxHash())) .setVersion(versionSignalFixture.getVersion()), ])) .setMetadata(metadata), @@ -125,9 +128,9 @@ describe('GetProtocolVersionUpgradeVoteStatusResponse', () => { const proof = getProtocolVersionUpgradeVoteStatus.getProof(); expect(proof).to.be.an.instanceOf(Proof); - expect(proof.getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); - expect(proof.getQuorumHash()).to.deep.equal(proofFixture.quorumHash); - expect(proof.getSignature()).to.deep.equal(proofFixture.signature); + expect(proof.getGrovedbProof()).to.deep.equal(new Uint8Array(proofFixture.merkleProof)); + expect(proof.getQuorumHash()).to.deep.equal(new Uint8Array(proofFixture.quorumHash)); + expect(proof.getSignature()).to.deep.equal(new Uint8Array(proofFixture.signature)); expect(proof.getRound()).to.deep.equal(proofFixture.round); }); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.spec.js index ff36627aa0..779cab9b3a 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.spec.js @@ -1,3 +1,12 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import getProtocolVersionUpgradeVoteStatusFactory from '../../../../../lib/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.js'; +import VersionSignal from '../../../../../lib/methods/platform/getProtocolVersionUpgradeVoteStatus/VersionSignal.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; +import getProofFixture from '../../../../../lib/test/fixtures/getProofFixture.js'; +import Proof from '../../../../../lib/methods/platform/response/Proof.js'; +import { bytesToHex, hexToBytes } from '../../../../../lib/utils/bytes.js'; + const { v0: { PlatformPromiseClient, @@ -6,13 +15,7 @@ const { ResponseMetadata, Proof: ProofResponse, }, -} = require('@dashevo/dapi-grpc'); - -const getProtocolVersionUpgradeVoteStatusFactory = require('../../../../../lib/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory'); -const VersionSignal = require('../../../../../lib/methods/platform/getProtocolVersionUpgradeVoteStatus/VersionSignal'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); -const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); -const Proof = require('../../../../../lib/methods/platform/response/Proof'); +} = dapiGrpc; describe('getProtocolVersionUpgradeVoteStatusFactory', () => { let grpcTransportMock; @@ -26,8 +29,8 @@ describe('getProtocolVersionUpgradeVoteStatusFactory', () => { let startProTxHash; beforeEach(async function beforeEach() { - startProTxHash = Buffer.alloc(32).fill('a').toString('hex'); - versionSignalFixture = new VersionSignal(Buffer.alloc(32).toString('hex'), 1); + startProTxHash = bytesToHex(new Uint8Array(32).fill(0x61)); + versionSignalFixture = new VersionSignal(bytesToHex(new Uint8Array(32)), 1); metadataFixture = getMetadataFixture(); proofFixture = getProofFixture(); @@ -50,7 +53,7 @@ describe('getProtocolVersionUpgradeVoteStatusFactory', () => { new GetProtocolVersionUpgradeVoteStatusResponseV0() .setVersions(new VersionSignals() .setVersionSignalsList([new VersionSignalProto() - .setProTxHash(Buffer.from(versionSignalFixture.getProTxHash(), 'hex')) + .setProTxHash(hexToBytes(versionSignalFixture.getProTxHash())) .setVersion(versionSignalFixture.getVersion())])) .setMetadata(metadata), ); @@ -84,7 +87,7 @@ describe('getProtocolVersionUpgradeVoteStatusFactory', () => { const request = new GetProtocolVersionUpgradeVoteStatusRequest(); request.setV0( new GetProtocolVersionUpgradeVoteStatusRequestV0() - .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setStartProTxHash(hexToBytes(startProTxHash)) .setCount(1) .setProve(!!options.prove), ); @@ -124,7 +127,7 @@ describe('getProtocolVersionUpgradeVoteStatusFactory', () => { const request = new GetProtocolVersionUpgradeVoteStatusRequest(); request.setV0( new GetProtocolVersionUpgradeVoteStatusRequestV0() - .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setStartProTxHash(hexToBytes(startProTxHash)) .setCount(1) .setProve(!!options.ascending), ); @@ -148,9 +151,9 @@ describe('getProtocolVersionUpgradeVoteStatusFactory', () => { .to.deep.equal(metadataFixture.protocolVersion); expect(result.getProof()).to.be.an.instanceOf(Proof); - expect(result.getProof().getGrovedbProof()).to.deep.equal(proofFixture.merkleProof); - expect(result.getProof().getQuorumHash()).to.deep.equal(proofFixture.quorumHash); - expect(result.getProof().getSignature()).to.deep.equal(proofFixture.signature); + expect(result.getProof().getGrovedbProof()).to.deep.equal(new Uint8Array(proofFixture.merkleProof)); + expect(result.getProof().getQuorumHash()).to.deep.equal(new Uint8Array(proofFixture.quorumHash)); + expect(result.getProof().getSignature()).to.deep.equal(new Uint8Array(proofFixture.signature)); expect(result.getProof().getRound()).to.deep.equal(proofFixture.round); }); @@ -165,7 +168,7 @@ describe('getProtocolVersionUpgradeVoteStatusFactory', () => { const request = new GetProtocolVersionUpgradeVoteStatusRequest(); request.setV0( new GetProtocolVersionUpgradeVoteStatusRequestV0() - .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setStartProTxHash(hexToBytes(startProTxHash)) .setCount(1) .setProve(!!options.ascending), ); diff --git a/packages/js-dapi-client/test/unit/methods/platform/getStatus/GetStatusResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getStatus/GetStatusResponse.spec.js index 0639f6a383..9b576c9d89 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getStatus/GetStatusResponse.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getStatus/GetStatusResponse.spec.js @@ -1,17 +1,20 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import GetStatusResponseClass from '../../../../../lib/methods/platform/getStatus/GetStatusResponse.js'; +import getStatusFixture from '../../../../../lib/test/fixtures/getStatusFixture.js'; +import VersionStatus from '../../../../../lib/methods/platform/getStatus/VersionStatus.js'; +import NodeStatus from '../../../../../lib/methods/platform/getStatus/NodeStatus.js'; +import ChainStatus from '../../../../../lib/methods/platform/getStatus/ChainStatus.js'; +import NetworkStatus from '../../../../../lib/methods/platform/getStatus/NetworkStatus.js'; +import StateSyncStatus from '../../../../../lib/methods/platform/getStatus/StateSyncStatus.js'; +import TimeStatus from '../../../../../lib/methods/platform/getStatus/TimeStatus.js'; +import { bytesToHex } from '../../../../../lib/utils/bytes.js'; + const { v0: { GetStatusResponse, }, -} = require('@dashevo/dapi-grpc'); - -const GetStatusResponseClass = require('../../../../../lib/methods/platform/getStatus/GetStatusResponse'); -const getStatusFixture = require('../../../../../lib/test/fixtures/getStatusFixture'); -const VersionStatus = require('../../../../../lib/methods/platform/getStatus/VersionStatus'); -const NodeStatus = require('../../../../../lib/methods/platform/getStatus/NodeStatus'); -const ChainStatus = require('../../../../../lib/methods/platform/getStatus/ChainStatus'); -const NetworkStatus = require('../../../../../lib/methods/platform/getStatus/NetworkStatus'); -const StateSyncStatus = require('../../../../../lib/methods/platform/getStatus/StateSyncStatus'); -const TimeStatus = require('../../../../../lib/methods/platform/getStatus/TimeStatus'); +} = dapiGrpc; describe('GetStatusResponse', () => { let getStatusResponse; @@ -90,17 +93,17 @@ describe('GetStatusResponse', () => { ); const node = new NodeStatus( - Buffer.from(statusFixture.node.id).toString('hex'), - Buffer.from(statusFixture.node.proTxHash).toString('hex'), + bytesToHex(statusFixture.node.id), + bytesToHex(statusFixture.node.proTxHash), ); const chain = new ChainStatus( statusFixture.chain.catchingUp, - Buffer.from(statusFixture.chain.latestBlockHash).toString('hex'), - Buffer.from(statusFixture.chain.latestAppHash).toString('hex'), + bytesToHex(statusFixture.chain.latestBlockHash), + bytesToHex(statusFixture.chain.latestAppHash), BigInt(statusFixture.chain.latestBlockHeight), - Buffer.from(statusFixture.chain.earliestBlockHash).toString('hex'), - Buffer.from(statusFixture.chain.earliestAppHash).toString('hex'), + bytesToHex(statusFixture.chain.earliestBlockHash), + bytesToHex(statusFixture.chain.earliestAppHash), BigInt(statusFixture.chain.earliestBlockHeight), BigInt(statusFixture.chain.maxPeerBlockHeight), statusFixture.chain.coreChainLockedHeight, @@ -219,22 +222,22 @@ describe('GetStatusResponse', () => { .to.equal(statusFixture.version.protocol.drive.nextEpoch); expect(nodeStatus).to.be.an.instanceOf(NodeStatus); - expect(nodeStatus.getNodeId()).to.equal(Buffer.from(statusFixture.node.id).toString('hex')); - expect(nodeStatus.getProTxHash()).to.equal(Buffer.from(statusFixture.node.proTxHash).toString('hex')); + expect(nodeStatus.getNodeId()).to.equal(bytesToHex(statusFixture.node.id)); + expect(nodeStatus.getProTxHash()).to.equal(bytesToHex(statusFixture.node.proTxHash)); expect(chainStatus).to.be.an.instanceOf(ChainStatus); expect(chainStatus.isCatchingUp()) .to.equal(statusFixture.chain.catchingUp); expect(chainStatus.getLatestBlockHash()) - .to.equal(Buffer.from(statusFixture.chain.latestBlockHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.latestBlockHash)); expect(chainStatus.getLatestAppHash()) - .to.equal(Buffer.from(statusFixture.chain.latestAppHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.latestAppHash)); expect(chainStatus.getLatestBlockHeight()) .to.equal(BigInt(statusFixture.chain.latestBlockHeight)); expect(chainStatus.getEarliestBlockHash()) - .to.equal(Buffer.from(statusFixture.chain.earliestBlockHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.earliestBlockHash)); expect(chainStatus.getEarliestAppHash()) - .to.equal(Buffer.from(statusFixture.chain.earliestAppHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.earliestAppHash)); expect(chainStatus.getEarliestBlockHeight()) .to.equal(BigInt(statusFixture.chain.earliestBlockHeight)); expect(chainStatus.getMaxPeerBlockHeight()) @@ -297,22 +300,22 @@ describe('GetStatusResponse', () => { .to.equal(statusFixture.version.protocol.drive.latest); expect(nodeStatus).to.be.an.instanceOf(NodeStatus); - expect(nodeStatus.getNodeId()).to.equal(Buffer.from(statusFixture.node.id).toString('hex')); - expect(nodeStatus.getProTxHash()).to.equal(Buffer.from(statusFixture.node.proTxHash).toString('hex')); + expect(nodeStatus.getNodeId()).to.equal(bytesToHex(statusFixture.node.id)); + expect(nodeStatus.getProTxHash()).to.equal(bytesToHex(statusFixture.node.proTxHash)); expect(chainStatus).to.be.an.instanceOf(ChainStatus); expect(chainStatus.isCatchingUp()) .to.equal(statusFixture.chain.catchingUp); expect(chainStatus.getLatestBlockHash()) - .to.equal(Buffer.from(statusFixture.chain.latestBlockHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.latestBlockHash)); expect(chainStatus.getLatestAppHash()) - .to.equal(Buffer.from(statusFixture.chain.latestAppHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.latestAppHash)); expect(chainStatus.getLatestBlockHeight()) .to.equal(BigInt(statusFixture.chain.latestBlockHeight)); expect(chainStatus.getEarliestBlockHash()) - .to.equal(Buffer.from(statusFixture.chain.earliestBlockHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.earliestBlockHash)); expect(chainStatus.getEarliestAppHash()) - .to.equal(Buffer.from(statusFixture.chain.earliestAppHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.earliestAppHash)); expect(chainStatus.getEarliestBlockHeight()) .to.equal(BigInt(statusFixture.chain.earliestBlockHeight)); expect(chainStatus.getMaxPeerBlockHeight()) diff --git a/packages/js-dapi-client/test/unit/methods/platform/getStatus/getStatusFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getStatus/getStatusFactory.spec.js index 40c91a9e4f..20d718fb2d 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/getStatus/getStatusFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/getStatus/getStatusFactory.spec.js @@ -1,19 +1,22 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; + +import getStatusFixture from '../../../../../lib/test/fixtures/getStatusFixture.js'; +import getStatusFactory from '../../../../../lib/methods/platform/getStatus/getStatusFactory.js'; +import VersionStatus from '../../../../../lib/methods/platform/getStatus/VersionStatus.js'; +import NodeStatus from '../../../../../lib/methods/platform/getStatus/NodeStatus.js'; +import ChainStatus from '../../../../../lib/methods/platform/getStatus/ChainStatus.js'; +import NetworkStatus from '../../../../../lib/methods/platform/getStatus/NetworkStatus.js'; +import StateSyncStatus from '../../../../../lib/methods/platform/getStatus/StateSyncStatus.js'; +import TimeStatus from '../../../../../lib/methods/platform/getStatus/TimeStatus.js'; +import { bytesToHex } from '../../../../../lib/utils/bytes.js'; + const { v0: { PlatformPromiseClient, GetStatusRequest, GetStatusResponse, }, -} = require('@dashevo/dapi-grpc'); - -const getStatusFixture = require('../../../../../lib/test/fixtures/getStatusFixture'); -const getStatusFactory = require('../../../../../lib/methods/platform/getStatus/getStatusFactory'); -const VersionStatus = require('../../../../../lib/methods/platform/getStatus/VersionStatus'); -const NodeStatus = require('../../../../../lib/methods/platform/getStatus/NodeStatus'); -const ChainStatus = require('../../../../../lib/methods/platform/getStatus/ChainStatus'); -const NetworkStatus = require('../../../../../lib/methods/platform/getStatus/NetworkStatus'); -const StateSyncStatus = require('../../../../../lib/methods/platform/getStatus/StateSyncStatus'); -const TimeStatus = require('../../../../../lib/methods/platform/getStatus/TimeStatus'); +} = dapiGrpc; describe('getStatusFactory', () => { let grpcTransportMock; @@ -131,22 +134,22 @@ describe('getStatusFactory', () => { .to.equal(statusFixture.version.protocol.drive.nextEpoch); expect(nodeStatus).to.be.an.instanceOf(NodeStatus); - expect(nodeStatus.getNodeId()).to.equal(Buffer.from(statusFixture.node.id).toString('hex')); - expect(nodeStatus.getProTxHash()).to.equal(Buffer.from(statusFixture.node.proTxHash).toString('hex')); + expect(nodeStatus.getNodeId()).to.equal(bytesToHex(statusFixture.node.id)); + expect(nodeStatus.getProTxHash()).to.equal(bytesToHex(statusFixture.node.proTxHash)); expect(chainStatus).to.be.an.instanceOf(ChainStatus); expect(chainStatus.isCatchingUp()) .to.equal(statusFixture.chain.catchingUp); expect(chainStatus.getLatestBlockHash()) - .to.equal(Buffer.from(statusFixture.chain.latestBlockHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.latestBlockHash)); expect(chainStatus.getLatestAppHash()) - .to.equal(Buffer.from(statusFixture.chain.latestAppHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.latestAppHash)); expect(chainStatus.getLatestBlockHeight()) .to.equal(BigInt(statusFixture.chain.latestBlockHeight)); expect(chainStatus.getEarliestBlockHash()) - .to.equal(Buffer.from(statusFixture.chain.earliestBlockHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.earliestBlockHash)); expect(chainStatus.getEarliestAppHash()) - .to.equal(Buffer.from(statusFixture.chain.earliestAppHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.earliestAppHash)); expect(chainStatus.getEarliestBlockHeight()) .to.equal(BigInt(statusFixture.chain.earliestBlockHeight)); expect(chainStatus.getMaxPeerBlockHeight()) @@ -227,22 +230,22 @@ describe('getStatusFactory', () => { .to.equal(statusFixture.version.protocol.drive.latest); expect(nodeStatus).to.be.an.instanceOf(NodeStatus); - expect(nodeStatus.getNodeId()).to.equal(Buffer.from(statusFixture.node.id).toString('hex')); + expect(nodeStatus.getNodeId()).to.equal(bytesToHex(statusFixture.node.id)); expect(nodeStatus.getProTxHash()).to.be.null(); expect(chainStatus).to.be.an.instanceOf(ChainStatus); expect(chainStatus.isCatchingUp()) .to.equal(statusFixture.chain.catchingUp); expect(chainStatus.getLatestBlockHash()) - .to.equal(Buffer.from(statusFixture.chain.latestBlockHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.latestBlockHash)); expect(chainStatus.getLatestAppHash()) - .to.equal(Buffer.from(statusFixture.chain.latestAppHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.latestAppHash)); expect(chainStatus.getLatestBlockHeight()) .to.equal(BigInt(statusFixture.chain.latestBlockHeight)); expect(chainStatus.getEarliestBlockHash()) - .to.equal(Buffer.from(statusFixture.chain.earliestBlockHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.earliestBlockHash)); expect(chainStatus.getEarliestAppHash()) - .to.equal(Buffer.from(statusFixture.chain.earliestAppHash).toString('hex')); + .to.equal(bytesToHex(statusFixture.chain.earliestAppHash)); expect(chainStatus.getEarliestBlockHeight()) .to.equal(BigInt(statusFixture.chain.earliestBlockHeight)); expect(chainStatus.getMaxPeerBlockHeight()) diff --git a/packages/js-dapi-client/test/unit/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.spec.js index 3f7d22932f..7d0efa2bb3 100644 --- a/packages/js-dapi-client/test/unit/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.spec.js +++ b/packages/js-dapi-client/test/unit/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.spec.js @@ -1,3 +1,9 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import cbor from 'cbor'; + +import waitForStateTransitionResultFactory from '../../../../../lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory.js'; +import getMetadataFixture from '../../../../../lib/test/fixtures/getMetadataFixture.js'; + const { v0: { PlatformPromiseClient, @@ -7,11 +13,9 @@ const { Proof, ResponseMetadata, }, -} = require('@dashevo/dapi-grpc'); -const cbor = require('cbor'); +} = dapiGrpc; -const waitForStateTransitionResultFactory = require('../../../../../lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const encoder = new TextEncoder(); describe('waitForStateTransitionResultFactory', () => { let grpcTransportMock; @@ -22,7 +26,7 @@ describe('waitForStateTransitionResultFactory', () => { let metadataFixture; beforeEach(function beforeEach() { - hash = Buffer.from('hash'); + hash = encoder.encode('hash'); metadataFixture = getMetadataFixture(); const metadata = new ResponseMetadata(); @@ -86,9 +90,9 @@ describe('waitForStateTransitionResultFactory', () => { it('should return response with proof', async () => { const proof = new Proof(); - proof.setGrovedbProof(Buffer.from('merkleProof')); - proof.setQuorumHash(Buffer.from('quorumHash')); - proof.setSignature(Buffer.from('signature')); + proof.setGrovedbProof(encoder.encode('merkleProof')); + proof.setQuorumHash(encoder.encode('quorumHash')); + proof.setSignature(encoder.encode('signature')); proof.setRound(42); response.getV0().setProof(proof); @@ -108,14 +112,14 @@ describe('waitForStateTransitionResultFactory', () => { expect(result.getError()).to.equal(undefined); expect(result.getProof()).to.be.deep.equal({ - merkleProof: Buffer.from('merkleProof'), - quorumHash: Buffer.from('quorumHash'), - signature: Buffer.from('signature'), + merkleProof: encoder.encode('merkleProof'), + quorumHash: encoder.encode('quorumHash'), + signature: encoder.encode('signature'), round: 42, }); - expect(result.getProof().getSignature()).to.deep.equal(Buffer.from('signature')); - expect(result.getProof().getGrovedbProof()).to.deep.equal(Buffer.from('merkleProof')); - expect(result.getProof().getQuorumHash()).to.deep.equal(Buffer.from('quorumHash')); + expect(result.getProof().getSignature()).to.deep.equal(encoder.encode('signature')); + expect(result.getProof().getGrovedbProof()).to.deep.equal(encoder.encode('merkleProof')); + expect(result.getProof().getQuorumHash()).to.deep.equal(encoder.encode('quorumHash')); expect(result.getProof().getRound()).to.deep.equal(42); const { WaitForStateTransitionResultRequestV0 } = WaitForStateTransitionResultRequest; @@ -161,7 +165,7 @@ describe('waitForStateTransitionResultFactory', () => { expect(result.getError()).to.be.deep.equal({ code: 2, message: 'Some error', - data: Buffer.from(data), + data: new Uint8Array(data), }); const { WaitForStateTransitionResultRequestV0 } = WaitForStateTransitionResultRequest; diff --git a/packages/js-dapi-client/test/unit/transport/GrpcTransport/GrpcTransport.spec.js b/packages/js-dapi-client/test/unit/transport/GrpcTransport/GrpcTransport.spec.js index 53e55f4911..bc69e36af4 100644 --- a/packages/js-dapi-client/test/unit/transport/GrpcTransport/GrpcTransport.spec.js +++ b/packages/js-dapi-client/test/unit/transport/GrpcTransport/GrpcTransport.spec.js @@ -1,15 +1,15 @@ -const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); - -const GrpcError = require('@dashevo/grpc-common/lib/server/error/GrpcError'); -const GrpcTransport = require('../../../../lib/transport/GrpcTransport/GrpcTransport'); -const DAPIAddress = require('../../../../lib/dapiAddressProvider/DAPIAddress'); - -const MaxRetriesReachedError = require('../../../../lib/transport/errors/response/MaxRetriesReachedError'); -const NoAvailableAddressesForRetryError = require('../../../../lib/transport/errors/response/NoAvailableAddressesForRetryError'); -const NoAvailableAddressesError = require('../../../../lib/transport/errors/NoAvailableAddressesError'); -const ResponseError = require('../../../../lib/transport/errors/response/ResponseError'); -const TimeoutError = require('../../../../lib/transport/GrpcTransport/errors/TimeoutError'); -const RetriableResponseError = require('../../../../lib/transport/errors/response/RetriableResponseError'); +import GrpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; + +import GrpcError from '@dashevo/grpc-common/lib/server/error/GrpcError.js'; +import GrpcTransport from '../../../../lib/transport/GrpcTransport/GrpcTransport.js'; +import DAPIAddress from '../../../../lib/dapiAddressProvider/DAPIAddress.js'; + +import MaxRetriesReachedError from '../../../../lib/transport/errors/response/MaxRetriesReachedError.js'; +import NoAvailableAddressesForRetryError from '../../../../lib/transport/errors/response/NoAvailableAddressesForRetryError.js'; +import NoAvailableAddressesError from '../../../../lib/transport/errors/NoAvailableAddressesError.js'; +import ResponseError from '../../../../lib/transport/errors/response/ResponseError.js'; +import TimeoutError from '../../../../lib/transport/GrpcTransport/errors/TimeoutError.js'; +import RetriableResponseError from '../../../../lib/transport/errors/response/RetriableResponseError.js'; describe('GrpcTransport', () => { let grpcTransport; diff --git a/packages/js-dapi-client/test/unit/transport/GrpcTransport/createGrpcTransportError.spec.js b/packages/js-dapi-client/test/unit/transport/GrpcTransport/createGrpcTransportError.spec.js index b3731276d1..7a7ff091ec 100644 --- a/packages/js-dapi-client/test/unit/transport/GrpcTransport/createGrpcTransportError.spec.js +++ b/packages/js-dapi-client/test/unit/transport/GrpcTransport/createGrpcTransportError.spec.js @@ -1,20 +1,22 @@ -const { Metadata, parseMetadata } = require('@dashevo/dapi-grpc'); -const GrpcError = require('@dashevo/grpc-common/lib/server/error/GrpcError'); -const GrpcErrorCodes = require('@dashevo/grpc-common/lib/server/error/GrpcErrorCodes'); - -const { - ProtocolVersionParsingError, -} = require('@dashevo/wasm-dpp'); - -const cbor = require('cbor'); -const createGrpcTransportError = require('../../../../lib/transport/GrpcTransport/createGrpcTransportError'); -const DAPIAddress = require('../../../../lib/dapiAddressProvider/DAPIAddress'); -const NotFoundError = require('../../../../lib/transport/GrpcTransport/errors/NotFoundError'); -const InvalidRequestError = require('../../../../lib/transport/errors/response/InvalidRequestError'); -const InternalServerError = require('../../../../lib/transport/GrpcTransport/errors/InternalServerError'); -const ServerError = require('../../../../lib/transport/errors/response/ServerError'); -const InvalidRequestDPPError = require('../../../../lib/transport/errors/response/InvalidRequestDPPError'); -const ResponseError = require('../../../../lib/transport/errors/response/ResponseError'); +import dapiGrpc from '@dashevo/dapi-grpc'; +import GrpcError from '@dashevo/grpc-common/lib/server/error/GrpcError.js'; +import GrpcErrorCodes from '@dashevo/grpc-common/lib/server/error/GrpcErrorCodes.js'; + +import wasmDpp from '@dashevo/wasm-dpp'; + +import cbor from 'cbor'; +import createGrpcTransportError from '../../../../lib/transport/GrpcTransport/createGrpcTransportError.js'; +import DAPIAddress from '../../../../lib/dapiAddressProvider/DAPIAddress.js'; +import NotFoundError from '../../../../lib/transport/GrpcTransport/errors/NotFoundError.js'; +import InvalidRequestError from '../../../../lib/transport/errors/response/InvalidRequestError.js'; +import InternalServerError from '../../../../lib/transport/GrpcTransport/errors/InternalServerError.js'; +import ServerError from '../../../../lib/transport/errors/response/ServerError.js'; +import InvalidRequestDPPError from '../../../../lib/transport/errors/response/InvalidRequestDPPError.js'; +import ResponseError from '../../../../lib/transport/errors/response/ResponseError.js'; +import { bytesToBase64 } from '../../../../lib/utils/bytes.js'; + +const { Metadata, parseMetadata } = dapiGrpc; +const { ProtocolVersionParsingError } = wasmDpp; describe('createGrpcTransportError', () => { let dapiAddress; @@ -28,13 +30,13 @@ describe('createGrpcTransportError', () => { }; metadata = new Metadata(); - // grpc-js expects Buffer + // grpc-js expects bytes let driveErrorDataBin = cbor.encode(errorData); // and grpc-web expects base64 string // TODO: remove when we switch to single grpc implementation for both Node and Web if (typeof window !== 'undefined') { - driveErrorDataBin = driveErrorDataBin.toString('base64'); + driveErrorDataBin = bytesToBase64(driveErrorDataBin); } metadata.set('drive-error-data-bin', driveErrorDataBin); @@ -107,13 +109,13 @@ describe('createGrpcTransportError', () => { 'Internal error', ); - // grpc-js expects Buffer + // grpc-js expects bytes let stackBin = cbor.encode(errorWithStack.stack); // and grpc-web expects string // TODO: remove when we switch to single grpc implementation for both Node and Web if (typeof window !== 'undefined') { - stackBin = stackBin.toString('base64'); + stackBin = bytesToBase64(stackBin); } metadata.set('stack-bin', stackBin); @@ -154,13 +156,13 @@ describe('createGrpcTransportError', () => { }); it('should return InvalidRequestDPPError', async () => { - // grpc-js expects Buffer + // grpc-js expects bytes let serializedError = new ProtocolVersionParsingError('test').serialize(); // and grpc-web expects string // TODO: remove when we switch to single grpc implementation for both Node and Web if (typeof window !== 'undefined') { - serializedError = serializedError.toString('base64'); + serializedError = bytesToBase64(serializedError); } metadata.set('dash-serialized-consensus-error-bin', serializedError); diff --git a/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/JsonRpcTransport.spec.js b/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/JsonRpcTransport.spec.js index 7f4e77a702..fd363d19fe 100644 --- a/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/JsonRpcTransport.spec.js +++ b/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/JsonRpcTransport.spec.js @@ -1,12 +1,12 @@ -const JsonRpcTransport = require('../../../../lib/transport/JsonRpcTransport/JsonRpcTransport'); -const DAPIAddress = require('../../../../lib/dapiAddressProvider/DAPIAddress'); - -const MaxRetriesReachedError = require('../../../../lib/transport/errors/response/MaxRetriesReachedError'); -const NoAvailableAddressesForRetryError = require('../../../../lib/transport/errors/response/NoAvailableAddressesForRetryError'); -const NoAvailableAddressesError = require('../../../../lib/transport/errors/NoAvailableAddressesError'); -const ResponseError = require('../../../../lib/transport/errors/response/ResponseError'); -const JsonRpcError = require('../../../../lib/transport/JsonRpcTransport/errors/JsonRpcError'); -const RetriableResponseError = require('../../../../lib/transport/errors/response/RetriableResponseError'); +import JsonRpcTransport from '../../../../lib/transport/JsonRpcTransport/JsonRpcTransport.js'; +import DAPIAddress from '../../../../lib/dapiAddressProvider/DAPIAddress.js'; + +import MaxRetriesReachedError from '../../../../lib/transport/errors/response/MaxRetriesReachedError.js'; +import NoAvailableAddressesForRetryError from '../../../../lib/transport/errors/response/NoAvailableAddressesForRetryError.js'; +import NoAvailableAddressesError from '../../../../lib/transport/errors/NoAvailableAddressesError.js'; +import ResponseError from '../../../../lib/transport/errors/response/ResponseError.js'; +import JsonRpcError from '../../../../lib/transport/JsonRpcTransport/errors/JsonRpcError.js'; +import RetriableResponseError from '../../../../lib/transport/errors/response/RetriableResponseError.js'; describe('JsonRpcTransport', () => { let jsonRpcTransport; diff --git a/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/createJsonTransportError.spec.js b/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/createJsonTransportError.spec.js index 15eab4e4d0..7578a53f18 100644 --- a/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/createJsonTransportError.spec.js +++ b/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/createJsonTransportError.spec.js @@ -1,10 +1,10 @@ -const DAPIAddress = require('../../../../lib/dapiAddressProvider/DAPIAddress'); -const WrongHttpCodeError = require('../../../../lib/transport/JsonRpcTransport/errors/WrongHttpCodeError'); -const createJsonTransportError = require('../../../../lib/transport/JsonRpcTransport/createJsonTransportError'); -const ServerError = require('../../../../lib/transport/errors/response/ServerError'); -const JsonRpcError = require('../../../../lib/transport/JsonRpcTransport/errors/JsonRpcError'); -const ResponseError = require('../../../../lib/transport/errors/response/ResponseError'); -const RetriableResponseError = require('../../../../lib/transport/errors/response/RetriableResponseError'); +import DAPIAddress from '../../../../lib/dapiAddressProvider/DAPIAddress.js'; +import WrongHttpCodeError from '../../../../lib/transport/JsonRpcTransport/errors/WrongHttpCodeError.js'; +import createJsonTransportError from '../../../../lib/transport/JsonRpcTransport/createJsonTransportError.js'; +import ServerError from '../../../../lib/transport/errors/response/ServerError.js'; +import JsonRpcError from '../../../../lib/transport/JsonRpcTransport/errors/JsonRpcError.js'; +import ResponseError from '../../../../lib/transport/errors/response/ResponseError.js'; +import RetriableResponseError from '../../../../lib/transport/errors/response/RetriableResponseError.js'; describe('createJsonTransportError', () => { let dapiAddress; diff --git a/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/requestJsonRpc.spec.js b/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/requestJsonRpc.spec.js index fb05654492..c681416b08 100644 --- a/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/requestJsonRpc.spec.js +++ b/packages/js-dapi-client/test/unit/transport/JsonRpcTransport/requestJsonRpc.spec.js @@ -1,6 +1,6 @@ -const requestJsonRpc = require('../../../../lib/transport/JsonRpcTransport/requestJsonRpc'); -const JsonRpcError = require('../../../../lib/transport/JsonRpcTransport/errors/JsonRpcError'); -const WrongHttpCodeError = require('../../../../lib/transport/JsonRpcTransport/errors/WrongHttpCodeError'); +import requestJsonRpc from '../../../../lib/transport/JsonRpcTransport/requestJsonRpc.js'; +import JsonRpcError from '../../../../lib/transport/JsonRpcTransport/errors/JsonRpcError.js'; +import WrongHttpCodeError from '../../../../lib/transport/JsonRpcTransport/errors/WrongHttpCodeError.js'; describe('requestJsonRpc', () => { let protocol; @@ -73,7 +73,7 @@ describe('requestJsonRpc', () => { expect(result).to.equal('passed'); }); - it('should make https rpc request with self-signed certificate and return result', async () => { + it('should pass an undici Agent that skips TLS verification when selfSigned is true', async () => { protocol = 'https'; selfSigned = true; @@ -96,6 +96,39 @@ describe('requestJsonRpc', () => { ); expect(result).to.equal('passed'); + + // Verify fetch was actually given a dispatcher that disables TLS verification. + // Without this, the selfSigned flag would be silently inert in Node. + // eslint-disable-next-line + const [, requestOptions] = fetch.firstCall.args; + expect(requestOptions.dispatcher).to.exist(); + }); + + it('should not pass a dispatcher when selfSigned is false', async () => { + protocol = 'https'; + selfSigned = false; + + // eslint-disable-next-line + fetch.resolves(new Response( + JSON.stringify({ result: 'passed', error: null }), + { + status: 200, + }, + )); + + await requestJsonRpc( + protocol, + host, + port, + selfSigned, + 'httpsRequest', + params, + { timeout }, + ); + + // eslint-disable-next-line + const [, requestOptions] = fetch.firstCall.args; + expect(requestOptions.dispatcher).to.equal(undefined); }); it('should throw WrongHttpCodeError if response status is not 200', async () => { diff --git a/packages/js-dapi-client/test/unit/transport/ReconnectableStream.spec.js b/packages/js-dapi-client/test/unit/transport/ReconnectableStream.spec.js index c946312a07..d3cd241954 100644 --- a/packages/js-dapi-client/test/unit/transport/ReconnectableStream.spec.js +++ b/packages/js-dapi-client/test/unit/transport/ReconnectableStream.spec.js @@ -1,9 +1,9 @@ -const EventEmitter = require('events'); -const { expect } = require('chai'); +import EventEmitter from 'events'; +import { expect } from 'chai'; -const ReconnectableStream = require('../../../lib/transport/ReconnectableStream'); -const wait = require('../../../lib/utils/wait'); -const logger = require('../../../lib/logger'); +import ReconnectableStream from '../../../lib/transport/ReconnectableStream.js'; +import wait from '../../../lib/utils/wait.js'; +import logger from '../../../lib/logger/index.js'; describe('ReconnectableStream', () => { let reconnectableStream; diff --git a/packages/js-dapi-client/webpack.config.js b/packages/js-dapi-client/webpack.config.js deleted file mode 100644 index 0ea2b4d7ee..0000000000 --- a/packages/js-dapi-client/webpack.config.js +++ /dev/null @@ -1,52 +0,0 @@ -const path = require('path'); -const webpack = require('webpack'); - -const commonJSConfig = { - entry: ['core-js/stable', './lib/DAPIClient.js'], - mode: 'production', - resolve: { - fallback: { - fs: false, - http: false, - https: false, - ws: false, - crypto: require.resolve('crypto-browserify'), - buffer: require.resolve('buffer/'), - assert: require.resolve('assert-browserify'), - util: require.resolve('util/'), - os: require.resolve('os-browserify/browser'), - stream: require.resolve('stream-browserify'), - path: require.resolve('path-browserify'), - url: require.resolve('url/'), - events: require.resolve('events/'), - string_decoder: require.resolve('string_decoder/'), - zlib: require.resolve('browserify-zlib'), - process: require.resolve('process/browser'), - }, - }, - plugins: [ - new webpack.ProvidePlugin({ - Buffer: [require.resolve('buffer/'), 'Buffer'], - process: require.resolve('process/browser'), - }), - ], - module: { - rules: [ - { - test: /\.js$/, - exclude: /(node_modules)/, - use: { - loader: 'babel-loader', - }, - }, - ], - }, - output: { - path: path.resolve(__dirname, 'dist'), - filename: 'dapi-client.min.js', - library: 'DAPIClient', - libraryTarget: 'umd', - }, -}; - -module.exports = [commonJSConfig]; diff --git a/yarn.lock b/yarn.lock index 57d28cca8c..e3b0966626 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1514,53 +1514,25 @@ __metadata: version: 0.0.0-use.local resolution: "@dashevo/dapi-client@workspace:packages/js-dapi-client" dependencies: - "@babel/core": "npm:^7.26.10" "@dashevo/dapi-grpc": "workspace:*" "@dashevo/dash-spv": "workspace:*" "@dashevo/dashcore-lib": "npm:~0.22.0" "@dashevo/grpc-common": "workspace:*" "@dashevo/wasm-dpp": "workspace:*" - assert-browserify: "npm:^2.0.0" - babel-loader: "npm:^9.1.3" - browserify-zlib: "npm:^0.2.0" - bs58: "npm:^4.0.1" - buffer: "npm:^6.0.3" cbor: "npm:^8.0.0" chai: "npm:^4.3.10" chai-as-promised: "npm:^7.1.1" comment-parser: "npm:^0.7.6" - core-js: "npm:^3.33.1" - crypto-browserify: "npm:^3.12.1" dirty-chai: "npm:^2.0.1" eslint: "npm:^9.18.0" events: "npm:^3.3.0" google-protobuf: "npm:^3.12.2" - karma: "npm:^6.4.3" - karma-chai: "npm:^0.1.0" - karma-chrome-launcher: "npm:^3.1.0" - karma-firefox-launcher: "npm:^2.1.2" - karma-mocha: "npm:^2.0.1" - karma-mocha-reporter: "npm:^2.2.5" - karma-webpack: "npm:^5.0.0" - lodash: "npm:^4.17.23" mocha: "npm:^11.1.0" - node-fetch: "npm:^2.6.7" - node-inspect-extracted: "npm:^1.0.8" nyc: "npm:^15.1.0" - os-browserify: "npm:^0.3.0" - path-browserify: "npm:^1.0.1" - process: "npm:^0.11.10" - setimmediate: "npm:^1.0.5" sinon: "npm:^18.0.1" sinon-chai: "npm:^3.7.0" - stream-browserify: "npm:^3.0.0" - string_decoder: "npm:^1.3.0" - url: "npm:^0.11.3" - util: "npm:^0.12.4" + undici: "npm:^6.0.0" wasm-x11-hash: "npm:~0.0.2" - webpack: "npm:^5.104.0" - webpack-cli: "npm:^4.9.1" - winston: "npm:^3.2.1" languageName: unknown linkType: soft @@ -5400,19 +5372,6 @@ __metadata: languageName: node linkType: hard -"babel-loader@npm:^9.1.3": - version: 9.1.3 - resolution: "babel-loader@npm:9.1.3" - dependencies: - find-cache-dir: "npm:^4.0.0" - schema-utils: "npm:^4.0.0" - peerDependencies: - "@babel/core": ^7.12.0 - webpack: ">=5" - checksum: 10/7086e678273b5d1261141dca84ed784caab9f7921c8c24d7278c8ee3088235a9a9fd85caac9f0fa687336cb3c27248ca22dbf431469769b1b995d55aec606992 - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.4.10": version: 0.4.12 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.12" @@ -6744,13 +6703,6 @@ __metadata: languageName: node linkType: hard -"common-path-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "common-path-prefix@npm:3.0.0" - checksum: 10/09c180e8d8495d42990d617f4d4b7522b5da20f6b236afe310192d401d1da8147a7835ae1ea37797ba0c2238ef3d06f3492151591451df34539fdb4b2630f2b3 - languageName: node - linkType: hard - "commondir@npm:^1.0.1": version: 1.0.1 resolution: "commondir@npm:1.0.1" @@ -7056,13 +7008,6 @@ __metadata: languageName: node linkType: hard -"core-js@npm:^3.33.1": - version: 3.33.2 - resolution: "core-js@npm:3.33.2" - checksum: 10/d62554d51ce8a3f33d0b1f8b064cbd21afcae275043ae96d3d43f18701b80cd423fab484517a81ee1d096db252e2aeada6ef6d1fd80a26db54f82f8f349a62c7 - languageName: node - linkType: hard - "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -9246,16 +9191,6 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "find-cache-dir@npm:4.0.0" - dependencies: - common-path-prefix: "npm:^3.0.0" - pkg-dir: "npm:^7.0.0" - checksum: 10/52a456a80deeb27daa3af6e06059b63bdb9cc4af4d845fc6d6229887e505ba913cd56000349caa60bc3aa59dacdb5b4c37903d4ba34c75102d83cab330b70d2f - languageName: node - linkType: hard - "find-up@npm:^2.0.0": version: 2.1.0 resolution: "find-up@npm:2.1.0" @@ -9285,16 +9220,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^6.3.0": - version: 6.3.0 - resolution: "find-up@npm:6.3.0" - dependencies: - locate-path: "npm:^7.1.0" - path-exists: "npm:^5.0.0" - checksum: 10/4f3bdc30d41778c647e53f4923e72de5e5fb055157031f34501c5b36c2eb59f77b997edf9cb00165c6060cda7eaa2e3da82cb6be2e61d68ad3e07c4bc4cce67e - languageName: node - linkType: hard - "find-yarn-workspace-root2@npm:1.2.16": version: 1.2.16 resolution: "find-yarn-workspace-root2@npm:1.2.16" @@ -12115,15 +12040,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^7.1.0": - version: 7.2.0 - resolution: "locate-path@npm:7.2.0" - dependencies: - p-locate: "npm:^6.0.0" - checksum: 10/1c6d269d4efec555937081be964e8a9b4a136319c79ca1d45ac6382212a8466113c75bd89e44521ca8ecd1c47fb08523b56eee5c0712bc7d14fec5f729deeb42 - languageName: node - linkType: hard - "lodash._reinterpolate@npm:^3.0.0": version: 3.0.0 resolution: "lodash._reinterpolate@npm:3.0.0" @@ -14003,15 +13919,6 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^4.0.0": - version: 4.0.0 - resolution: "p-limit@npm:4.0.0" - dependencies: - yocto-queue: "npm:^1.0.0" - checksum: 10/01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b - languageName: node - linkType: hard - "p-locate@npm:^2.0.0": version: 2.0.0 resolution: "p-locate@npm:2.0.0" @@ -14039,15 +13946,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^6.0.0": - version: 6.0.0 - resolution: "p-locate@npm:6.0.0" - dependencies: - p-limit: "npm:^4.0.0" - checksum: 10/2bfe5234efa5e7a4e74b30a5479a193fdd9236f8f6b4d2f3f69e3d286d9a7d7ab0c118a2a50142efcf4e41625def635bd9332d6cbf9cc65d85eb0718c579ab38 - languageName: node - linkType: hard - "p-map@npm:^3.0.0": version: 3.0.0 resolution: "p-map@npm:3.0.0" @@ -14355,13 +14253,6 @@ __metadata: languageName: node linkType: hard -"path-exists@npm:^5.0.0": - version: 5.0.0 - resolution: "path-exists@npm:5.0.0" - checksum: 10/8ca842868cab09423994596eb2c5ec2a971c17d1a3cb36dbf060592c730c725cd524b9067d7d2a1e031fef9ba7bd2ac6dc5ec9fb92aa693265f7be3987045254 - languageName: node - linkType: hard - "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -14582,15 +14473,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^7.0.0": - version: 7.0.0 - resolution: "pkg-dir@npm:7.0.0" - dependencies: - find-up: "npm:^6.3.0" - checksum: 10/94298b20a446bfbbd66604474de8a0cdd3b8d251225170970f15d9646f633e056c80520dd5b4c1d1050c9fed8f6a9e5054b141c93806439452efe72e57562c03 - languageName: node - linkType: hard - "plur@npm:^4.0.0": version: 4.0.0 resolution: "plur@npm:4.0.0" @@ -15715,18 +15597,6 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^4.0.0": - version: 4.2.0 - resolution: "schema-utils@npm:4.2.0" - dependencies: - "@types/json-schema": "npm:^7.0.9" - ajv: "npm:^8.9.0" - ajv-formats: "npm:^2.1.1" - ajv-keywords: "npm:^5.1.0" - checksum: 10/808784735eeb153ab7f3f787f840aa3bc63f423d2a5a7e96c9e70a0e53d0bc62d7b37ea396fc598ce19196e4fb86a72f897154b7c6ce2358bbc426166f205e14 - languageName: node - linkType: hard - "schema-utils@npm:^4.3.0": version: 4.3.0 resolution: "schema-utils@npm:4.3.0" @@ -17867,6 +17737,13 @@ __metadata: languageName: node linkType: hard +"undici@npm:^6.0.0": + version: 6.25.0 + resolution: "undici@npm:6.25.0" + checksum: 10/a475e45da3e1d1073283bb70531666f09a432eabff2b857bd7063d469a1ee1486192ff61dc0dadbb526673ce1120fee14d66a59b6b17d1e0bd3a4d5f0a52d0a6 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -18999,13 +18876,6 @@ __metadata: languageName: node linkType: hard -"yocto-queue@npm:^1.0.0": - version: 1.0.0 - resolution: "yocto-queue@npm:1.0.0" - checksum: 10/2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 - languageName: node - linkType: hard - "z-schema@npm:^4.2.2": version: 4.2.4 resolution: "z-schema@npm:4.2.4"