From 9812cf7a3c9ade98763bace5de61e070238311b4 Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 19 May 2026 10:23:31 -0500 Subject: [PATCH 1/3] =?UTF-8?q?chore(dapi-client,dapi-grpc):=20cleanup=20?= =?UTF-8?q?=E2=80=94=20drop=20unused=20deps,=20inline=20winston/fetch/prom?= =?UTF-8?q?isify=20shims?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Non-breaking cleanup pass; package stays CJS, no public API changes, no consumer changes required. dapi-client: replace winston with a minimal console-backed logger that preserves the same API (.error/.warn/.info/.verbose/.debug/.silly/.getForId). Drop node-fetch and the lib/test/bootstrap setimmediate shim — Node 18+ has both globally. Drop the https.Agent self-signed-TLS branch from requestJsonRpc (was Node-only; consumers wanting this must configure NODE_TLS_REJECT_UNAUTHORIZED at the app layer). Inline lodash/sample in ListDAPIAddressProvider. Add engines.node >=18.18. Remove dependencies: winston, node-fetch, lodash, bs58 (unused), node-inspect-extracted (unused). Remove devDeps: setimmediate. dapi-grpc: inline the promisify shim in core/v0/web/CorePromiseClient.js and platform/v0/web/PlatformPromiseClient.js so the browser bundle no longer requires Node's util module. Both files document the shim so a future codegen regen does not silently reintroduce require('util'). --- .pnp.cjs | 15 +-- .../clients/core/v0/web/CorePromiseClient.js | 9 +- .../platform/v0/web/PlatformPromiseClient.js | 10 +- .../ListDAPIAddressProvider.js | 2 +- packages/js-dapi-client/lib/index.js | 2 - packages/js-dapi-client/lib/logger/index.js | 105 +++++------------- packages/js-dapi-client/lib/test/bootstrap.js | 3 - .../JsonRpcTransport/requestJsonRpc.js | 12 -- packages/js-dapi-client/package.json | 11 +- .../polyfills/fetch-polyfill.js | 10 -- yarn.lock | 5 - 11 files changed, 56 insertions(+), 128 deletions(-) delete mode 100644 packages/js-dapi-client/polyfills/fetch-polyfill.js diff --git a/.pnp.cjs b/.pnp.cjs index b2a860bb23..4da943bc04 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -2576,7 +2576,6 @@ const RAW_RUNTIME_STATE = ["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"],\ @@ -2595,10 +2594,7 @@ const RAW_RUNTIME_STATE = ["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"],\ @@ -2612,8 +2608,7 @@ const RAW_RUNTIME_STATE = ["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"]\ + ["webpack-cli", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:4.9.1"]\ ],\ "linkType": "SOFT"\ }]\ @@ -4422,7 +4417,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"\ @@ -16640,12 +16635,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": [\ 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/lib/dapiAddressProvider/ListDAPIAddressProvider.js b/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js index d9133a1ad4..c13217e98d 100644 --- a/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js +++ b/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js @@ -1,4 +1,4 @@ -const sample = require('lodash/sample'); +const sample = (arr) => arr[Math.floor(Math.random() * arr.length)]; const networks = require('@dashevo/dashcore-lib/lib/networks'); class ListDAPIAddressProvider { diff --git a/packages/js-dapi-client/lib/index.js b/packages/js-dapi-client/lib/index.js index f10beb4769..65ad0f4ded 100644 --- a/packages/js-dapi-client/lib/index.js +++ b/packages/js-dapi-client/lib/index.js @@ -1,5 +1,3 @@ -require('../polyfills/fetch-polyfill'); - const DAPIClient = require('./DAPIClient'); const NotFoundError = require('./transport/GrpcTransport/errors/NotFoundError'); diff --git a/packages/js-dapi-client/lib/logger/index.js b/packages/js-dapi-client/lib/logger/index.js index a06b34c145..ffca12f534 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; +module.exports = build(); diff --git a/packages/js-dapi-client/lib/test/bootstrap.js b/packages/js-dapi-client/lib/test/bootstrap.js index 473d16fb1d..85d7947d66 100644 --- a/packages/js-dapi-client/lib/test/bootstrap.js +++ b/packages/js-dapi-client/lib/test/bootstrap.js @@ -1,6 +1,3 @@ -require('../../polyfills/fetch-polyfill'); -require('setimmediate'); - const { expect, use } = require('chai'); const sinon = require('sinon'); const sinonChai = require('sinon-chai'); diff --git a/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js b/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js index ddbdf79708..8ccfabe29f 100644 --- a/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js +++ b/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js @@ -1,4 +1,3 @@ -const https = require('https'); const JsonRpcError = require('./errors/JsonRpcError'); const WrongHttpCodeError = require('./errors/WrongHttpCodeError'); /** @@ -47,17 +46,6 @@ async function requestJsonRpc(protocol, host, port, selfSigned, method, params, Object.assign(requestOptions, { signal: controller.signal }); } - // For NodeJS Client - 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 const response = await fetch(url, requestOptions); if (typeof requestTimeoutId !== 'undefined') { diff --git a/packages/js-dapi-client/package.json b/packages/js-dapi-client/package.json index 2bccc23c23..ede6b739dc 100644 --- a/packages/js-dapi-client/package.json +++ b/packages/js-dapi-client/package.json @@ -31,14 +31,9 @@ "@dashevo/dashcore-lib": "~0.22.0", "@dashevo/grpc-common": "workspace:*", "@dashevo/wasm-dpp": "workspace:*", - "bs58": "^4.0.1", "cbor": "^8.0.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" + "wasm-x11-hash": "~0.0.2" }, "devDependencies": { "@babel/core": "^7.26.10", @@ -76,10 +71,12 @@ "webpack": "^5.104.0", "webpack-cli": "^4.9.1" }, + "engines": { + "node": ">=18.18" + }, "files": [ "docs", "lib", - "polyfills", "dist" ], "scripts": { 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/yarn.lock b/yarn.lock index 57d28cca8c..f6864af820 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1523,7 +1523,6 @@ __metadata: 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" @@ -1542,10 +1541,7 @@ __metadata: 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" @@ -1560,7 +1556,6 @@ __metadata: 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 From 0b8c68ebbab18c3484ce22b65575736b40595b76 Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 19 May 2026 11:02:12 -0500 Subject: [PATCH 2/3] refactor(dapi-client)!: expose Uint8Array instead of Buffer in public API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds lib/utils/bytes.js helper (hexToBytes/bytesToHex/base64ToBytes/bytesToBase64/concatBytes/bytesEqual) and converts all Buffer.* call sites in dapi-client lib/ to Uint8Array, with corresponding test updates. Package stays CJS. Production exceptions where Buffer is retained: BlockHeadersReader passes Buffer to dashcore-lib's BlockHeader (its BufferReader needs .readInt32LE), and GetIdentitiesContractKeysResponse passes Buffer to wasm-dpp's Identifier.from (it explicitly requires Node Buffer). createGrpcTransportError now handles both raw bytes (grpc-js path) and base64 strings (grpc-web path) for drive-error-data-bin, stack-bin, and dash-serialized-consensus-error-bin metadata fields, restoring the dual-format behavior that Buffer.from(x, 'base64') used to provide implicitly. Test updates: spec files that construct expected protobuf requests now wrap .toBuffer() with new Uint8Array(...) to match production's normalization (sinon calledOnceWithExactly distinguishes Buffer from plain Uint8Array). Breaking change for direct consumers: response object byte fields are now Uint8Array. Callers that do response.field.toString('hex') will fail — use bytesToHex(response.field) from lib/utils/bytes instead. Buffer.isBuffer(response.field) now returns false; use response.field instanceof Uint8Array. Test results: dapi-client 315/315, wallet-lib 377/377, js-dash-sdk 60/60 — downstream consumers continue passing without modification (they exercise dapi-client mostly via mocks). --- .../SimplifiedMasternodeListProvider.js | 9 +-- .../lib/methods/core/getBlockByHashFactory.js | 4 +- .../methods/core/getBlockByHeightFactory.js | 4 +- .../core/getBlockchainStatusFactory.js | 6 +- .../core/getMasternodeStatusFactory.js | 3 +- .../getTransaction/GetTransactionResponse.js | 12 ++-- ...ribeToBlockHeadersWithChainLocksFactory.js | 3 +- ...ubscribeToTransactionsWithProofsFactory.js | 3 +- .../GetDataContractResponse.js | 6 +- .../getDataContract/getDataContractFactory.js | 8 +-- .../getDataContractHistoryFactory.js | 8 +-- .../getDocuments/GetDocumentsResponse.js | 6 +- .../getDocuments/getDocumentsFactory.js | 11 ++-- .../GetIdentitiesContractKeysResponse.js | 1 + .../getIdentitiesContractKeysFactory.js | 13 ++-- .../getIdentity/GetIdentityResponse.js | 6 +- .../getIdentity/getIdentityFactory.js | 8 +-- .../getIdentityBalanceFactory.js | 8 +-- .../GetIdentityByPublicKeyHashResponse.js | 6 +- .../getIdentityContractNonceFactory.js | 12 ++-- .../getIdentityKeys/getIdentityKeysFactory.js | 6 +- .../getIdentityNonceFactory.js | 6 +- ...rotocolVersionUpgradeVoteStatusResponse.js | 3 +- ...ProtocolVersionUpgradeVoteStatusFactory.js | 3 +- .../platform/getStatus/GetStatusResponse.js | 13 ++-- .../lib/methods/platform/response/Proof.js | 18 +++--- .../WaitForStateTransitionResultResponse.js | 2 +- .../lib/test/fixtures/getProofFixture.js | 14 +++-- .../lib/test/fixtures/getStatusFixture.js | 14 +++-- .../lib/test/mocks/mockHeadersChain.js | 5 +- .../GrpcTransport/createGrpcTransportError.js | 19 ++++-- packages/js-dapi-client/lib/utils/bytes.js | 63 +++++++++++++++++++ .../methods/core/CoreMethodsFacade.spec.js | 10 +-- .../platform/PlatformMethodsFacade.spec.js | 19 +++--- .../core/broadcastTransactionFactory.spec.js | 2 +- .../core/getBlockByHashFactory.spec.js | 4 +- .../core/getBlockByHeightFactory.spec.js | 4 +- .../core/getBlockchainStatusFactory.spec.js | 6 +- .../core/getMasternodeStatusFactory.spec.js | 2 +- .../GetTransactionResponse.spec.js | 8 +-- .../getTransactionFactory.spec.js | 4 +- ...oBlockHeadersWithChainLocksFactory.spec.js | 3 +- ...ibeToTransactionsWithProofsFactory.spec.js | 3 +- .../GetDataContractResponse.spec.js | 6 +- .../getDataContractFactory.spec.js | 4 +- .../getDataContractHistoryFactory.spec.js | 2 +- .../getDocuments/GetDocumentsResponse.spec.js | 2 +- .../getDocuments/getDocumentsFactory.spec.js | 8 +-- .../getIdentitiesContractKeysFactory.spec.js | 4 +- .../getIdentity/GetIdentityResponse.spec.js | 6 +- .../getIdentity/getIdentityFactory.spec.js | 8 +-- .../getIdentityBalanceFactory.spec.js | 2 +- ...GetIdentityByPublicKeyHashResponse.spec.js | 2 +- .../getIdentityByPublicKeyHashFactory.spec.js | 2 +- .../GetIdentityContractNonce.spec.js | 4 +- .../getIdentityContractNonceFactory.spec.js | 4 +- .../getIdentityKeys/GetIdentityKeys.spec.js | 6 +- .../getIdentityKeysFactory.spec.js | 4 +- .../getIdentityNonce/GetIdentityNonce.spec.js | 4 +- .../getIdentityNonceFactory.spec.js | 2 +- ...olVersionUpgradeVoteStatusResponse.spec.js | 11 ++-- ...colVersionUpgradeVoteStatusFactory.spec.js | 19 +++--- .../getStatus/GetStatusResponse.spec.js | 37 +++++------ .../getStatus/getStatusFactory.spec.js | 23 +++---- ...aitForStateTransitionResultFactory.spec.js | 24 +++---- 65 files changed, 324 insertions(+), 228 deletions(-) create mode 100644 packages/js-dapi-client/lib/utils/bytes.js diff --git a/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js b/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js index 3c1c6e20c6..1916b48cc1 100644 --- a/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js +++ b/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js @@ -3,6 +3,7 @@ const SimplifiedMNListDiff = require('@dashevo/dashcore-lib/lib/deterministicmnl const cbor = require('cbor'); const logger = require('../logger'); +const { bytesToHex } = require('../utils/bytes'); 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), }, ); diff --git a/packages/js-dapi-client/lib/methods/core/getBlockByHashFactory.js b/packages/js-dapi-client/lib/methods/core/getBlockByHashFactory.js index 72de31354b..d007018bd2 100644 --- a/packages/js-dapi-client/lib/methods/core/getBlockByHashFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBlockByHashFactory.js @@ -15,7 +15,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,7 +29,7 @@ function getBlockByHashFactory(grpcTransport) { ); const blockBinaryArray = response.getBlock(); - return Buffer.from(blockBinaryArray); + return new Uint8Array(blockBinaryArray); } return getBlockByHash; diff --git a/packages/js-dapi-client/lib/methods/core/getBlockByHeightFactory.js b/packages/js-dapi-client/lib/methods/core/getBlockByHeightFactory.js index e95a58aecc..88fdf0d357 100644 --- a/packages/js-dapi-client/lib/methods/core/getBlockByHeightFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBlockByHeightFactory.js @@ -15,7 +15,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,7 +30,7 @@ function getBlockByHeightFactory(grpcTransport) { const blockBinaryArray = response.getBlock(); - return Buffer.from(blockBinaryArray); + return new Uint8Array(blockBinaryArray); } return getBlockByHeight; diff --git a/packages/js-dapi-client/lib/methods/core/getBlockchainStatusFactory.js b/packages/js-dapi-client/lib/methods/core/getBlockchainStatusFactory.js index 22b1f88e57..486637c453 100644 --- a/packages/js-dapi-client/lib/methods/core/getBlockchainStatusFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getBlockchainStatusFactory.js @@ -29,18 +29,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()); } } diff --git a/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js b/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js index c0da5feef9..9f63a28ffb 100644 --- a/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js @@ -5,6 +5,7 @@ const { CorePromiseClient, }, } = require('@dashevo/dapi-grpc'); +const { base64ToBytes } = require('../../utils/bytes'); /** * @param {GrpcTransport} grpcTransport @@ -34,7 +35,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; } 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..97aeeae2c9 100644 --- a/packages/js-dapi-client/lib/methods/core/getTransaction/GetTransactionResponse.js +++ b/packages/js-dapi-client/lib/methods/core/getTransaction/GetTransactionResponse.js @@ -4,8 +4,8 @@ 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(), diff --git a/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js b/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js index 397b3ffd93..8fe67b0c05 100644 --- a/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js +++ b/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js @@ -6,6 +6,7 @@ const { } = require('@dashevo/dapi-grpc'); const DAPIClientError = require('../../errors/DAPIClientError'); +const { hexToBytes } = require('../../utils/bytes'); /** * @param {GrpcTransport} grpcTransport @@ -41,7 +42,7 @@ function subscribeToBlockHeadersWithChainLocksFactory(grpcTransport) { if (options.fromBlockHash) { request.setFromBlockHash( - Buffer.from(options.fromBlockHash, 'hex'), + hexToBytes(options.fromBlockHash), ); } diff --git a/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js b/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js index bf1784291e..45d54ca377 100644 --- a/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js +++ b/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js @@ -7,6 +7,7 @@ const { } = require('@dashevo/dapi-grpc'); const DAPIClientError = require('../../errors/DAPIClientError'); +const { hexToBytes } = require('../../utils/bytes'); /** * @param {GrpcTransport} grpcTransport @@ -65,7 +66,7 @@ function subscribeToTransactionsWithProofsFactory(grpcTransport) { if (options.fromBlockHash) { request.setFromBlockHash( - Buffer.from(options.fromBlockHash, 'hex'), + hexToBytes(options.fromBlockHash), ); } 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..1ff6735b3d 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContract/GetDataContractResponse.js @@ -3,7 +3,7 @@ const InvalidResponseError = require('../response/errors/InvalidResponseError'); 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,7 +33,7 @@ class GetDataContractResponse extends AbstractResponse { } return new GetDataContractResponse( - Buffer.from(dataContract), + new Uint8Array(dataContract), metadata, proof, ); 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..ed1a554844 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContract/getDataContractFactory.js @@ -16,7 +16,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 +24,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( 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..183bcd3e57 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDataContractHistory/getDataContractHistoryFactory.js @@ -17,7 +17,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 +34,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( 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..0f65018a1d 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getDocuments/GetDocumentsResponse.js @@ -2,7 +2,7 @@ const AbstractResponse = require('../response/AbstractResponse'); 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,7 +30,7 @@ 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, ); 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..7af4c1b3d2 100644 --- a/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getDocuments/getDocumentsFactory.js @@ -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( 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..15c72b156e 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/GetIdentitiesContractKeysResponse.js @@ -34,6 +34,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] = {}; 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..2297531bf1 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.js @@ -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( 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..a23864d959 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentity/GetIdentityResponse.js @@ -3,7 +3,7 @@ const InvalidResponseError = require('../response/errors/InvalidResponseError'); 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,7 +33,7 @@ class GetIdentityResponse extends AbstractResponse { } return new GetIdentityResponse( - Buffer.from(proto.getV0().getIdentity()), + new Uint8Array(proto.getV0().getIdentity()), metadata, proof, ); 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..abafd51d69 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentity/getIdentityFactory.js @@ -16,19 +16,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( 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..e7141239cd 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityBalance/getIdentityBalanceFactory.js @@ -16,19 +16,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( 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..b67fa3d6cd 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityByPublicKeyHash/GetIdentityByPublicKeyHashResponse.js @@ -2,7 +2,7 @@ const AbstractResponse = require('../response/AbstractResponse'); 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,7 +30,7 @@ class GetIdentityByPublicKeyHashResponse extends AbstractResponse { const identity = proto.getV0().getIdentity(); return new GetIdentityByPublicKeyHashResponse( - Buffer.from(identity), + new Uint8Array(identity), metadata, proof, ); 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..683a01dc46 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityContractNonce/getIdentityContractNonceFactory.js @@ -16,8 +16,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 +29,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( 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..772e6678f3 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/getIdentityKeysFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityKeys/getIdentityKeysFactory.js @@ -23,16 +23,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(); 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..a0a62dc2fa 100644 --- a/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/getIdentityNonceFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getIdentityNonce/getIdentityNonceFactory.js @@ -16,7 +16,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 +28,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( 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..e072443c09 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'); +const { bytesToHex } = require('../../../utils/bytes'); 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(), )); } 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..e7ecf26c02 100644 --- a/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.js +++ b/packages/js-dapi-client/lib/methods/platform/getProtocolVersionUpgradeVoteStatus/getProtocolVersionUpgradeVoteStatusFactory.js @@ -7,6 +7,7 @@ const { const GetProtocolVersionUpgradeVoteStatusResponse = require('./GetProtocolVersionUpgradeVoteStatusResponse'); const InvalidResponseError = require('../response/errors/InvalidResponseError'); +const { hexToBytes } = require('../../../utils/bytes'); /** * @param {GrpcTransport} grpcTransport @@ -31,7 +32,7 @@ function getProtocolVersionUpgradeVoteStatusFactory(grpcTransport) { getProtocolVersionUpgradeVoteStatusRequest.setV0( new GetProtocolVersionUpgradeVoteStatusRequestV0() - .setStartProTxHash(Buffer.from(startProTxHash, 'hex')) + .setStartProTxHash(hexToBytes(startProTxHash)) .setCount(count) .setProve(!!options.prove), ); 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..ff465a82d0 100644 --- a/packages/js-dapi-client/lib/methods/platform/getStatus/GetStatusResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/getStatus/GetStatusResponse.js @@ -4,6 +4,7 @@ const ChainStatus = require('./ChainStatus'); const TimeStatus = require('./TimeStatus'); const StateSyncStatus = require('./StateSyncStatus'); const NetworkStatus = require('./NetworkStatus'); +const { bytesToHex } = require('../../../utils/bytes'); 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(); 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..9d284ea969 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,9 +48,9 @@ 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(), }); } 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..fad4c5cbc2 100644 --- a/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js +++ b/packages/js-dapi-client/lib/methods/platform/waitForStateTransitionResult/WaitForStateTransitionResultResponse.js @@ -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( diff --git a/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js b/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js index 274b9f8a70..a5710ea1ee 100644 --- a/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js +++ b/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js @@ -1,15 +1,17 @@ +const { hexToBytes, base64ToBytes } = require('../../utils/bytes'); + /** * @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, }; } diff --git a/packages/js-dapi-client/lib/test/fixtures/getStatusFixture.js b/packages/js-dapi-client/lib/test/fixtures/getStatusFixture.js index 1336e11737..49dbf60621 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 @@ +const { base64ToBytes } = require('../../utils/bytes'); + /** * */ @@ -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, diff --git a/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js b/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js index 2ae0a911a2..3c7a04e375 100644 --- a/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js +++ b/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js @@ -1,6 +1,7 @@ const X11 = require('wasm-x11-hash'); const { BlockHeader, configure } = require('@dashevo/dashcore-lib'); const { genesis } = require('@dashevo/dash-spv'); +const { hexToBytes } = require('../../utils/bytes'); const getRoot = (network) => { switch (network) { @@ -38,8 +39,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, diff --git a/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js b/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js index e5cae56b75..2fdc053c8b 100644 --- a/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js +++ b/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js @@ -14,6 +14,7 @@ const ServerError = require('../errors/response/ServerError'); const InvalidRequestError = require('../errors/response/InvalidRequestError'); const InvalidRequestDPPError = require('../errors/response/InvalidRequestDPPError'); const InternalServerError = require('./errors/InternalServerError'); +const { base64ToBytes } = require('../../utils/bytes'); 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; 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..bed5176b2d --- /dev/null +++ b/packages/js-dapi-client/lib/utils/bytes.js @@ -0,0 +1,63 @@ +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; +} + +function bytesToHex(bytes) { + return Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join(''); +} + +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; +} + +function bytesToBase64(bytes) { + let bin = ''; + for (let i = 0; i < bytes.length; i += 1) { + bin += String.fromCharCode(bytes[i]); + } + return btoa(bin); +} + +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; +} + +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; +} + +module.exports = { + hexToBytes, + bytesToHex, + base64ToBytes, + bytesToBase64, + concatBytes, + bytesEqual, +}; 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..81a67152bc 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 @@ -36,7 +36,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 +57,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 +70,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 +124,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..a5288db5d5 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 @@ -25,6 +25,7 @@ const getDataContractFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getD const getIdentityFixture = require('@dashevo/wasm-dpp/lib/test/fixtures/getIdentityFixture'); const PlatformMethodsFacade = require('../../../../lib/methods/platform/PlatformMethodsFacade'); +const { hexToBytes, bytesToHex } = require('../../../../lib/utils/bytes'); const { WaitForStateTransitionResultResponseV0 } = WaitForStateTransitionResultResponse; const { GetIdentityResponseV0 } = GetIdentityResponse; @@ -164,8 +165,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 +183,7 @@ describe('PlatformMethodsFacade', () => { grpcTransportMock.request.resolves(response); await platformMethods.waitForStateTransitionResult( - Buffer.from('6f49655a2906852a38e473dd47574fb70b8b7c4e5cee9ea8e7da3f07b970c421', 'hex'), + hexToBytes('6f49655a2906852a38e473dd47574fb70b8b7c4e5cee9ea8e7da3f07b970c421'), false, ); @@ -218,8 +219,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 +278,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 +296,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 +310,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/methods/core/broadcastTransactionFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/broadcastTransactionFactory.spec.js index 1b7ef03818..d7cba51b8f 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 @@ -25,7 +25,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/getBlockByHashFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getBlockByHashFactory.spec.js index d9548cf6b6..e16e60130d 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 @@ -14,7 +14,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 +36,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..1ea27f5088 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 @@ -14,7 +14,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 +36,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/getBlockchainStatusFactory.spec.js b/packages/js-dapi-client/test/unit/methods/core/getBlockchainStatusFactory.spec.js index bceb20a0ec..f2fca4360d 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 @@ -7,6 +7,7 @@ const { } = require('@dashevo/dapi-grpc'); const getBlockchainStatusFactory = require('../../../../lib/methods/core/getBlockchainStatusFactory'); +const { base64ToBytes } = require('../../../../lib/utils/bytes'); describe('getBlockchainStatusFactory', () => { let getBlockchainStatus; @@ -25,7 +26,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 +54,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..2a74dac3ba 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 @@ -45,7 +45,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..6185d629db 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 @@ -13,8 +13,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 +72,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..b7c9895e9b 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 @@ -20,8 +20,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..6132eccb95 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 @@ -9,6 +9,7 @@ const { EventEmitter } = require('events'); const subscribeToBlockHeadersWithChainLocksFactory = require('../../../../lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory'); const DAPIClientError = require('../../../../lib/errors/DAPIClientError'); +const { hexToBytes } = require('../../../../lib/utils/bytes'); 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..f77c6d3c65 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 @@ -13,6 +13,7 @@ const { EventEmitter } = require('events'); const subscribeToTransactionsWithProofsFactory = require('../../../../lib/methods/core/subscribeToTransactionsWithProofsFactory'); const DAPIClientError = require('../../../../lib/errors/DAPIClientError'); +const { hexToBytes } = require('../../../../lib/utils/bytes'); describe('subscribeToTransactionsWithProofsFactory', () => { let subscribeToTransactionsWithProofs; @@ -54,7 +55,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/getDataContract/GetDataContractResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContract/GetDataContractResponse.spec.js index 7ac3925048..2249c9e7dd 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 @@ -41,7 +41,7 @@ describe('GetDataContractResponse', () => { it('should return proof', () => { getDataContractResponse = new GetDataContractResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -49,7 +49,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 +113,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..18bf80a492 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 @@ -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/getDataContractHistoryFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getDataContractHistory/getDataContractHistoryFactory.spec.js index b8597e45c2..5bd2c30006 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 @@ -190,7 +190,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..afa2b6e92f 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 @@ -28,7 +28,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..1486f0080b 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 @@ -53,7 +53,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 +91,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 +132,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 +174,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/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentitiesContractKeys/getIdentitiesContractKeysFactory.spec.js index 1dbb6f6be1..13628f3277 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 @@ -113,9 +113,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..8ed386e2a6 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 @@ -58,7 +58,7 @@ describe('GetIdentityResponse', () => { it('should return proof', () => { getIdentityResponse = new GetIdentityResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -66,7 +66,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 +104,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..f14e0644f1 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 @@ -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/getIdentityBalanceFactory.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getIdentityBalance/getIdentityBalanceFactory.spec.js index daffa9f3cb..c8c47a4789 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 @@ -29,7 +29,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..8b87598ab5 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 @@ -118,7 +118,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..f38147513b 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 @@ -121,7 +121,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..84e1b20a6e 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 @@ -56,7 +56,7 @@ describe('GetIdentityContractNonceResponse', () => { it('should return proof', () => { getIdentityContractNonceResponse = new GetIdentityContractNonceResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -64,7 +64,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..f5a82d8def 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 @@ -27,8 +27,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..f4e4dc0b3a 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 @@ -22,7 +22,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 +58,7 @@ describe('GetIdentityKeysResponse', () => { it('should return proof', () => { getIdentityKeysResponse = new GetIdentityKeysResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -66,7 +66,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..d56fcf3b96 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 @@ -35,11 +35,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..9efee085b8 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 @@ -56,7 +56,7 @@ describe('GetIdentityNonceResponse', () => { it('should return proof', () => { getIdentityNonceResponse = new GetIdentityNonceResponseClass( - Buffer.alloc(0), + new Uint8Array(0), new Metadata(metadataFixture), new Proof(proofFixture), ); @@ -64,7 +64,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..80237eb057 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 @@ -26,7 +26,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/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.spec.js b/packages/js-dapi-client/test/unit/methods/platform/getProtocolVersionUpgradeVoteStatus/GetProtocolVersionUpgradeVoteStatusResponse.spec.js index b6e6f887bd..8ce67768cf 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 @@ -13,6 +13,7 @@ const InvalidResponseError = require('../../../../../lib/methods/platform/respon const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); const Proof = require('../../../../../lib/methods/platform/response/Proof'); const Metadata = require('../../../../../lib/methods/platform/response/Metadata'); +const { bytesToHex, hexToBytes } = require('../../../../../lib/utils/bytes'); describe('GetProtocolVersionUpgradeVoteStatusResponse', () => { let getProtocolVersionUpgradeVoteStatus; @@ -23,7 +24,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 +43,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 +126,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..c241a9871e 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 @@ -13,6 +13,7 @@ const VersionSignal = require('../../../../../lib/methods/platform/getProtocolVe const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); const getProofFixture = require('../../../../../lib/test/fixtures/getProofFixture'); const Proof = require('../../../../../lib/methods/platform/response/Proof'); +const { bytesToHex, hexToBytes } = require('../../../../../lib/utils/bytes'); describe('getProtocolVersionUpgradeVoteStatusFactory', () => { let grpcTransportMock; @@ -26,8 +27,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 +51,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 +85,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 +125,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 +149,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 +166,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..cb44138846 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 @@ -12,6 +12,7 @@ const ChainStatus = require('../../../../../lib/methods/platform/getStatus/Chain const NetworkStatus = require('../../../../../lib/methods/platform/getStatus/NetworkStatus'); const StateSyncStatus = require('../../../../../lib/methods/platform/getStatus/StateSyncStatus'); const TimeStatus = require('../../../../../lib/methods/platform/getStatus/TimeStatus'); +const { bytesToHex } = require('../../../../../lib/utils/bytes'); describe('GetStatusResponse', () => { let getStatusResponse; @@ -90,17 +91,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 +220,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 +298,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..63f69347b0 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 @@ -14,6 +14,7 @@ const ChainStatus = require('../../../../../lib/methods/platform/getStatus/Chain const NetworkStatus = require('../../../../../lib/methods/platform/getStatus/NetworkStatus'); const StateSyncStatus = require('../../../../../lib/methods/platform/getStatus/StateSyncStatus'); const TimeStatus = require('../../../../../lib/methods/platform/getStatus/TimeStatus'); +const { bytesToHex } = require('../../../../../lib/utils/bytes'); describe('getStatusFactory', () => { let grpcTransportMock; @@ -131,22 +132,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 +228,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..fc9a3c3e01 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 @@ -13,6 +13,8 @@ const cbor = require('cbor'); const waitForStateTransitionResultFactory = require('../../../../../lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory'); const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +const encoder = new TextEncoder(); + describe('waitForStateTransitionResultFactory', () => { let grpcTransportMock; let options; @@ -22,7 +24,7 @@ describe('waitForStateTransitionResultFactory', () => { let metadataFixture; beforeEach(function beforeEach() { - hash = Buffer.from('hash'); + hash = encoder.encode('hash'); metadataFixture = getMetadataFixture(); const metadata = new ResponseMetadata(); @@ -86,9 +88,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 +110,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 +163,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; From befadd8e30098c41d5f25d3bc61a48fac6cffdec Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 19 May 2026 11:05:52 -0500 Subject: [PATCH 3/3] refactor(dapi-client)!: convert to ESM, drop webpack/karma MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Converts @dashevo/dapi-client to pure ESM: type: module, exports map with ./lib/* wildcard, all CJS require/module.exports replaced with import/export, .js extensions on relative imports. Engine bumped to >=18.18. Drops webpack.config.js, karma.conf.js, and lib/test/karma/. Removes the @babel/core, babel-loader, browser-polyfill, karma, and webpack devDeps. Consumers must use a modern bundler (Vite/esbuild/webpack 5) which handles ESM natively. Moves 'events' npm package from devDependencies to dependencies — used by DAPIClient, ReconnectableStream, and BlockHeadersProvider for EventEmitter, and resolves correctly in both Node and browser bundlers. BREAKING: CJS consumers (require) no longer work. Downstream consumers wallet-lib (PR 4) and js-dash-sdk (PR 5) are temporarily broken between this PR merging and PRs 4/5 merging — they must land as a sequence. Dashmate is already ESM and continues to work. Test results: dapi-client 315/315. wallet-lib + js-dash-sdk fail as expected (fixed by PRs 4 + 5). --- .pnp.cjs | 320 +----------------- ...loader-npm-9.1.3-cbf4da21df-7086e67827.zip | Bin 16539 -> 0 bytes ...prefix-npm-3.0.0-68b78785c1-09c180e8d8.zip | Bin 2957 -> 0 bytes ...re-js-npm-3.33.2-08a6fba407-d62554d51c.zip | Bin 1193535 -> 0 bytes ...he-dir-npm-4.0.0-ad2504e37e-52a456a80d.zip | Bin 3710 -> 0 bytes ...ind-up-npm-6.3.0-e5056fc655-4f3bdc30d4.zip | Bin 5548 -> 0 bytes ...e-path-npm-7.2.0-0e1169e19b-1c6d269d4e.zip | Bin 4229 -> 0 bytes ...-limit-npm-4.0.0-5dccf29b67-01d9d70695.zip | Bin 4617 -> 0 bytes ...locate-npm-6.0.0-b6cfb720dc-2bfe5234ef.zip | Bin 4478 -> 0 bytes ...exists-npm-5.0.0-0bf403c56c-8ca842868c.zip | Bin 3103 -> 0 bytes ...kg-dir-npm-7.0.0-02ff099b31-94298b20a4.zip | Bin 3361 -> 0 bytes ...-utils-npm-4.2.0-e822c5b02e-808784735e.zip | Bin 22405 -> 0 bytes ...-queue-npm-1.0.0-7b502f1987-2cac84540f.zip | Bin 4163 -> 0 bytes packages/js-dapi-client/.mocharc.yml | 2 +- packages/js-dapi-client/karma.conf.js | 45 --- .../BlockHeadersProvider.js | 10 +- .../BlockHeadersReader.js | 10 +- .../createBlockHeadersProviderFromOptions.js | 8 +- packages/js-dapi-client/lib/DAPIClient.js | 26 +- .../SimplifiedMasternodeListProvider.js | 12 +- .../createMasternodeListStreamFactory.js | 14 +- .../lib/dapiAddressProvider/DAPIAddress.js | 4 +- .../ListDAPIAddressProvider.js | 5 +- ...lifiedMasternodeListDAPIAddressProvider.js | 4 +- .../createDAPIAddressProviderFromOptions.js | 18 +- .../errors/DAPIAddressHostMissingError.js | 4 +- .../lib/errors/DAPIClientError.js | 2 +- packages/js-dapi-client/lib/index.js | 10 +- packages/js-dapi-client/lib/logger/index.js | 2 +- .../lib/methods/core/CoreMethodsFacade.js | 26 +- .../core/broadcastTransactionFactory.js | 8 +- .../methods/core/getBestBlockHashFactory.js | 2 +- .../methods/core/getBestBlockHeightFactory.js | 6 +- .../lib/methods/core/getBlockByHashFactory.js | 6 +- .../methods/core/getBlockByHeightFactory.js | 6 +- .../lib/methods/core/getBlockHashFactory.js | 2 +- .../core/getBlockchainStatusFactory.js | 6 +- .../core/getMasternodeStatusFactory.js | 8 +- .../getTransaction/GetTransactionResponse.js | 4 +- .../getTransaction/getTransactionFactory.js | 13 +- ...ribeToBlockHeadersWithChainLocksFactory.js | 11 +- .../core/subscribeToMasternodeListFactory.js | 6 +- ...ubscribeToTransactionsWithProofsFactory.js | 11 +- .../methods/platform/PlatformMethodsFacade.js | 38 +-- .../BroadcastStateTransitionResponse.js | 2 +- .../broadcastStateTransitionFactory.js | 12 +- .../ConsensusParamsBlock.js | 2 +- .../ConsensusParamsEvidence.js | 2 +- .../getConsensusParamsFactory.js | 10 +- .../getConsensusParamsResponse.js | 8 +- .../GetDataContractResponse.js | 6 +- .../getDataContract/getDataContractFactory.js | 11 +- .../DataContractHistoryEntry.js | 6 +- .../GetDataContractHistoryResponse.js | 8 +- .../getDataContractHistoryFactory.js | 13 +- .../getDocuments/GetDocumentsResponse.js | 4 +- .../getDocuments/getDocumentsFactory.js | 12 +- .../platform/getEpochsInfo/EpochInfo.js | 2 +- .../getEpochsInfo/GetEpochsInfoResponse.js | 8 +- .../getEpochsInfo/getEpochsInfoFactory.js | 14 +- .../GetIdentitiesContractKeysResponse.js | 8 +- .../getIdentitiesContractKeysFactory.js | 12 +- .../getIdentity/GetIdentityResponse.js | 6 +- .../getIdentity/getIdentityFactory.js | 11 +- .../GetIdentityBalanceResponse.js | 6 +- .../getIdentityBalanceFactory.js | 11 +- .../GetIdentityByPublicKeyHashResponse.js | 4 +- .../getIdentityByPublicKeyHashFactory.js | 13 +- .../GetIdentityContractNonceResponse.js | 6 +- .../getIdentityContractNonceFactory.js | 11 +- .../GetIdentityKeysResponse.js | 6 +- .../getIdentityKeys/getIdentityKeysFactory.js | 14 +- .../GetIdentityNonceResponse.js | 6 +- .../getIdentityNonceFactory.js | 11 +- .../GetProtocolVersionUpgradeStateResponse.js | 8 +- .../VersionEntry.js | 2 +- .../getProtocolVersionUpgradeStateFactory.js | 12 +- ...rotocolVersionUpgradeVoteStatusResponse.js | 10 +- .../VersionSignal.js | 2 +- ...ProtocolVersionUpgradeVoteStatusFactory.js | 14 +- .../methods/platform/getStatus/ChainStatus.js | 2 +- .../platform/getStatus/GetStatusResponse.js | 16 +- .../platform/getStatus/NetworkStatus.js | 2 +- .../methods/platform/getStatus/NodeStatus.js | 2 +- .../platform/getStatus/StateSyncStatus.js | 2 +- .../methods/platform/getStatus/TimeStatus.js | 2 +- .../platform/getStatus/VersionStatus.js | 2 +- .../platform/getStatus/getStatusFactory.js | 12 +- .../GetTotalCreditsInPlatformResponse.js | 6 +- .../getTotalCreditsInPlatformFactory.js | 12 +- .../platform/response/AbstractResponse.js | 8 +- .../lib/methods/platform/response/Metadata.js | 2 +- .../lib/methods/platform/response/Proof.js | 2 +- .../platform/response/StoreTreeProofs.js | 18 +- .../response/errors/InvalidResponseError.js | 4 +- .../ErrorResult.js | 6 +- .../WaitForStateTransitionResultResponse.js | 10 +- .../waitForStateTransitionResultFactory.js | 14 +- packages/js-dapi-client/lib/networkConfigs.js | 2 +- packages/js-dapi-client/lib/test/bootstrap.js | 29 +- .../lib/test/fixtures/getHeadersFixture.js | 5 +- .../test/fixtures/getMNListDiffsFixture.js | 2 +- .../lib/test/fixtures/getMetadataFixture.js | 2 +- .../lib/test/fixtures/getProofFixture.js | 4 +- .../lib/test/fixtures/getStatusFixture.js | 4 +- .../lib/test/karma/bootstrap.js | 37 -- .../js-dapi-client/lib/test/karma/loader.js | 7 - .../BlockHeadersWithChainLocksStreamMock.js | 4 +- .../lib/test/mocks/mockHeadersChain.js | 11 +- .../transport/GrpcTransport/GrpcTransport.js | 16 +- .../GrpcTransport/createGrpcTransportError.js | 36 +- .../errors/InternalServerError.js | 4 +- .../GrpcTransport/errors/NotFoundError.js | 6 +- .../GrpcTransport/errors/TimeoutError.js | 6 +- .../JsonRpcTransport/JsonRpcTransport.js | 12 +- .../createJsonTransportError.js | 12 +- .../JsonRpcTransport/errors/JsonRpcError.js | 4 +- .../errors/WrongHttpCodeError.js | 4 +- .../JsonRpcTransport/requestJsonRpc.js | 6 +- .../lib/transport/ReconnectableStream.js | 8 +- .../errors/NoAvailableAddressesError.js | 4 +- .../errors/response/InvalidRequestDPPError.js | 4 +- .../errors/response/InvalidRequestError.js | 4 +- .../errors/response/MaxRetriesReachedError.js | 4 +- .../NoAvailableAddressesForRetryError.js | 4 +- .../errors/response/ResponseError.js | 4 +- .../errors/response/RetriableResponseError.js | 4 +- .../transport/errors/response/ServerError.js | 4 +- packages/js-dapi-client/lib/utils/bytes.js | 21 +- packages/js-dapi-client/lib/utils/wait.js | 2 +- packages/js-dapi-client/package.json | 51 +-- .../BlockHeadersProvider.spec.js | 8 +- .../test/integration/DAPIClient.spec.js | 4 +- .../SimplifiedMasternodeListProvider.spec.js | 10 +- .../methods/core/CoreMethodsFacade.spec.js | 11 +- .../platform/PlatformMethodsFacade.spec.js | 19 +- .../BlockHeadersProvider.spec.js | 14 +- .../BlockHeadersReader.spec.js | 10 +- ...ateBlockHeadersProviderFromOptions.spec.js | 4 +- .../test/unit/DAPIClient.spec.js | 12 +- .../dapiAddressProvider/DAPIAddress.spec.js | 6 +- .../ListDAPIAddressProvider.spec.js | 4 +- ...dMasternodeListDAPIAddressProvider.spec.js | 6 +- ...eateDAPIAddressProviderFromOptions.spec.js | 12 +- .../core/broadcastTransactionFactory.spec.js | 9 +- .../core/getBestBlockHashFactory.spec.js | 2 +- .../core/getBlockByHashFactory.spec.js | 7 +- .../core/getBlockByHeightFactory.spec.js | 7 +- .../methods/core/getBlockHashFactory.spec.js | 2 +- .../core/getBlockchainStatusFactory.spec.js | 9 +- .../core/getMasternodeStatusFactory.spec.js | 7 +- .../GetTransactionResponse.spec.js | 8 +- .../getTransactionFactory.spec.js | 9 +- ...oBlockHeadersWithChainLocksFactory.spec.js | 14 +- ...ibeToTransactionsWithProofsFactory.spec.js | 16 +- .../broadcastStateTransitionFactory.spec.js | 15 +- .../ConsensusParamsBlock.spec.js | 2 +- .../ConsensusParamsEvidence.spec.js | 2 +- .../getConsensusParamsFactory.spec.js | 8 +- .../getConsensusParamsResponse.spec.js | 12 +- .../GetDataContractResponse.spec.js | 19 +- .../getDataContractFactory.spec.js | 16 +- .../GetDataContractHistoryResponse.spec.js | 19 +- .../getDataContractHistoryFactory.spec.js | 31 +- .../getDocuments/GetDocumentsResponse.spec.js | 19 +- .../getDocuments/getDocumentsFactory.spec.js | 24 +- .../GetEpochsInfoResponse.spec.js | 19 +- .../getEpochsInfoFactory.spec.js | 18 +- .../GetIdentitiesContractKeysResponse.spec.js | 21 +- .../getIdentitiesContractKeysFactory.spec.js | 20 +- .../getIdentity/GetIdentityResponse.spec.js | 19 +- .../getIdentity/getIdentityFactory.spec.js | 16 +- .../GetIdentityBalanceResponse.spec.js | 17 +- .../getIdentityBalanceFactory.spec.js | 13 +- ...GetIdentityByPublicKeyHashResponse.spec.js | 19 +- .../getIdentityByPublicKeyHashFactory.spec.js | 18 +- .../GetIdentityContractNonce.spec.js | 17 +- .../getIdentityContractNonceFactory.spec.js | 13 +- .../getIdentityKeys/GetIdentityKeys.spec.js | 17 +- .../getIdentityKeysFactory.spec.js | 17 +- .../getIdentityNonce/GetIdentityNonce.spec.js | 17 +- .../getIdentityNonceFactory.spec.js | 13 +- ...rotocolVersionUpgradeStateResponse.spec.js | 26 +- ...ProtocolVersionUpgradeStateFactory.spec.js | 22 +- ...olVersionUpgradeVoteStatusResponse.spec.js | 22 +- ...colVersionUpgradeVoteStatusFactory.spec.js | 18 +- .../getStatus/GetStatusResponse.spec.js | 24 +- .../getStatus/getStatusFactory.spec.js | 24 +- ...aitForStateTransitionResultFactory.spec.js | 12 +- .../GrpcTransport/GrpcTransport.spec.js | 24 +- .../createGrpcTransportError.spec.js | 48 +-- .../JsonRpcTransport/JsonRpcTransport.spec.js | 18 +- .../createJsonTransportError.spec.js | 14 +- .../JsonRpcTransport/requestJsonRpc.spec.js | 6 +- .../transport/ReconnectableStream.spec.js | 10 +- packages/js-dapi-client/webpack.config.js | 52 --- yarn.lock | 133 -------- 197 files changed, 985 insertions(+), 1510 deletions(-) delete mode 100644 .yarn/cache/babel-loader-npm-9.1.3-cbf4da21df-7086e67827.zip delete mode 100644 .yarn/cache/common-path-prefix-npm-3.0.0-68b78785c1-09c180e8d8.zip delete mode 100644 .yarn/cache/core-js-npm-3.33.2-08a6fba407-d62554d51c.zip delete mode 100644 .yarn/cache/find-cache-dir-npm-4.0.0-ad2504e37e-52a456a80d.zip delete mode 100644 .yarn/cache/find-up-npm-6.3.0-e5056fc655-4f3bdc30d4.zip delete mode 100644 .yarn/cache/locate-path-npm-7.2.0-0e1169e19b-1c6d269d4e.zip delete mode 100644 .yarn/cache/p-limit-npm-4.0.0-5dccf29b67-01d9d70695.zip delete mode 100644 .yarn/cache/p-locate-npm-6.0.0-b6cfb720dc-2bfe5234ef.zip delete mode 100644 .yarn/cache/path-exists-npm-5.0.0-0bf403c56c-8ca842868c.zip delete mode 100644 .yarn/cache/pkg-dir-npm-7.0.0-02ff099b31-94298b20a4.zip delete mode 100644 .yarn/cache/schema-utils-npm-4.2.0-e822c5b02e-808784735e.zip delete mode 100644 .yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip delete mode 100644 packages/js-dapi-client/karma.conf.js delete mode 100644 packages/js-dapi-client/lib/test/karma/bootstrap.js delete mode 100644 packages/js-dapi-client/lib/test/karma/loader.js delete mode 100644 packages/js-dapi-client/webpack.config.js diff --git a/.pnp.cjs b/.pnp.cjs index 4da943bc04..8fcdb3f5ee 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -2566,49 +2566,25 @@ 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"],\ - ["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"],\ ["mocha", "npm:11.1.0"],\ ["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"]\ + ["wasm-x11-hash", "npm:0.0.2"]\ ],\ "linkType": "SOFT"\ }]\ @@ -6136,23 +6112,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": [\ @@ -6252,20 +6211,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": [\ @@ -6371,23 +6316,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": [\ @@ -7444,34 +7372,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/",\ @@ -9023,15 +8923,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/",\ @@ -9358,15 +9249,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/",\ @@ -12053,15 +11935,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", [\ @@ -12090,15 +11963,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", [\ @@ -15014,22 +14878,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": [\ @@ -15346,14 +15194,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", [\ @@ -17434,14 +17274,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", [\ @@ -17468,14 +17300,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", [\ @@ -17808,13 +17632,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", [\ @@ -18056,14 +17873,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", [\ @@ -19284,17 +19093,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": [\ @@ -20830,36 +20628,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": [\ @@ -22673,44 +22441,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": [\ @@ -22954,47 +22684,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": [\ @@ -23828,13 +23517,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 6acd5dfdcbd39dcdefdadd76167b328ba4dbb632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16539 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 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 0ba9492af1c62b0a3e8acc58b9bf292ba7f28d3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2957 zcma)82UJtp7L9bJOq3$wqk;@b4G;k#6hWkf5GfImZh+7Ngf2y;2`U{72&fb(qaYYM zqV%E+C7~lCH8cex?Gs?YiG}Z%HLl^l_3nLdt$X&n_wN19+4^u=Iu5{>rdl+>^!4F; z$4VXDuy$x`SFD|n3))Lk|Cdww_D{9Ny1HWBB-~NnjuP&kXnQBW@6j{>rmr6&zLD_g zJp=$O&;S5u4iK#iQ`fkJ)G*R-cgvRIc)u+cTkR}}^B1=#1KGtvinb3lEfdFO2Fiki z%l;fA$j(1GaTovFtxP##fCmfEP&rs5yHqQbfg*~7qFfzeg{kwLMBc4Re99QjwH@68 zsg*hfwhS27#4&%z^#P@>I2D^a{Z^O5`nVHWLIuyy`R)s)ZvQqy^ zI6O<{p(;u?VsQQ)Y3jy$`NOU=QEko@!3;L>6r|VPS`)#oar%z_1^sOCs(L}=ySm;Y zcV+K{Qb3nj__E`%DE8Zs(#_0HnxV@Hb8D)(0zqe?Sh)t_W`Vp~{xGg75QQt?jxEq9 zol)jqQ7*pxqa)m+X>OwNnhG~M%F|?4yR*R1IqhhPSx(yh&>7)K!w#4`Sb9p!v8A6V z9$pogEqCh5seu;gRAMZ*5|#8Be3D^6P`_KrdZEo31s%zS> zdvm4e8N!M(d=|C}H!EuDeZgCluyK3OrAgLO!meahquU@!+hI9?S#(xptNW9oFjE~I z47DwaD`Y;5%&<5$EdI)SvGsj>{a-xKP<20(>K`Jbn?WVDgi5OT0Z4U6*SeW7sfv^Bq-bhysg)43Np%@qpLjLF9E9(NylUn4#}h*1qm^a42) zrG-IOZ7IEIa8ELK9FE@*DE)22@;G6tCyMg0tD3z_*^vCkH;7>V`{Ss`7JlBiAr*K) z=yUj3c6en{#q=?*7l9^15Ky=rsaEBNzwnhhmd?P+lb>tqx^CgG`nh^|pAAqL|J+@} zkAntCB9$k$+7sM-O^7wHDY&1B=j8;Po zzIBhUz+xnKdF`mO=AbDWpBmta-TH7#AYM5g5;CLNrEHFS+8<|NZTlv-< z`k838xRz9YYDT|84*-Z9fM`PvwTlQ1u&Z4z4uO3q#S%f@;-oXIhb6QQqEvrV*Q@bX z_P&h*+qdM|a+b_}5I}5v)Pi*-3t=Kq=NkSBpd`+)@bEA|OtRN@`W=griu`Vl++kXb zwOT|wxj7{}0eNiFTf9bqzS|K-z2K60{ybBfC7u(*3laEaw(K!&h8XJxT8AbsD;#+u z*33d#fdc3$;~Ok%NdlIFMtEj(2YSRH7y5kO$9v=$q<8?5VuEZO2ppeV+E|Y)*RL}= zhiT5`(h3E0DT2xz-XuJ;7HWn%RL@@A5Yc0`ltPH_N*e`vo~H4W_q~O|Q+RPL{vMG? zaR?ESqbvfk?lYx#QZ*B^4yn$`4D(NZD^UVwaEz8R3~Mqln{T_&yPCc17zgxsA%Gm;>vm?@$`6=2NO+toHLBJR&4%cWp<=Wu}&pT_Z)4Gz2Z)*NIc#Irkg z!M*&{yzz(NKr*dS>=xxbYLvWVk(CcMd78hQd)Wv94axRLGd&wOnJ{)-3mIEsBl=expoucLBYU;2^c2C^N9p5^WlAi=5^i-#5;#rQ z0GRd~I#Fr;kXdmVk#dbBZJl4{o+Ddxail$&Xt|;>RAP@cAV?=O#!oBadL=)x|Ex3E zGms#hsxN!$EqVZ*eXA07U~ext4ABJ>*D=x->x6^bItWPZE<$G~fmvI;jY(Js(f*7m z41h!xazw%-A*(&vwmuw@Nah99bp&@)T9jD%W4^j47aO>mm@r^~KKu~PdD>rlC+fPs zwneos!#*eV>rlS0LEpMXHL?An|LCl~q3zYs{oZO1Fek+60BGNx*52;+K=&8sAD|)B zAO5G^{lgOX%JhEJ{gvSdsxjTaqyB%L*pIwF75zXy&+zZa|4U5!VfQQV2kakI^L(&l Z_@YC7I6ZY4001NPQl=gt^zfIrzX27P%V+=q 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 d4e3e88ae78f7c4f3ce053e69a9b625819d3df66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1193535 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

-)R}Q@rHNU|?wFMuK{PD~i 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

q~!9f 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

T!{Cut{vjXt=z5yDLC&#&J`LeBarZTb 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 dq{v`!tIjkS%*vCe^-hx@KuQ3%< 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 D-l+oo 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 52c003246f73b97c8e2361181704b7ed13a9cb86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3710 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 HzPQ)k0{qpU)=c34Yw({J$!+iKVr^p% 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 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 746a29a206d4e8cb11706ecf5c35672337187e31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4229 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 b!26k$wA9E>G8h0radOa~?1${oXzu 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 f717a5b84aa11be2953bde01fe83fab7612dee18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4617 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 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 9a134355e6ff9b3b5b1ea5195b28028c99429575..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3103 zcmaKu3p|tiAIEpWm?lIa2{StGMA2Eqa;Mx%%%-u`%snf~rKr>}POiC@SR{_K#5yjy z#R#*Z5*_9iLQ&`_bXMp1_s{E<-}8Dszu)tEJ>U29`#!(#55EBXSzki1miX4!vPW$BRp zR21@pKl`)H_q6(X2?U%f@5Kz7hrIzI^%Cs|@^-;`{b!W74uz{nltgB;`j_Hba_X8; zI~tpfjSog(Z*xX{k7vyL)-wD7(|LRI4Qm>_dr{hcASOpD(1Lj2V6H8wAxdtL>uH_{ zc`N#G*GwP?27~5zvK8V(n1RoVY`1C<-(kG;M@*(Or+i~>gXeeo1t5`ESoJlJJvw&7 zt$fH^&jB)P6S*YR#9hFoe0-%sJYRZdB+07j^CQOTu+z6c+)Ptpx8;MoGwNSfELnb0 z?ys`FHuy<1>bdv=4%)ZS8&6jm8*QUy}U*>}ng!a>0n(gzi`yX=(jf*UA6B%&>RddiLg+JgEr3tg4&akp1jL z*S0>P3QYzy5cR-xHqRZXwlwD?;R;%DL4;yZznJ(Iy9drt6gwFid$1=dA!Zbhnm)m+ zw~P4{YfwViZGAEAWGVt3>s}NAQp_G2kIqg_+=Ek13*2|JW1J(z=O z^@3dKkQGVcq8I92aLIu?7o-lW<|I_GDPnx@ppmG& zqT%*9F7(+z=0#$gLA%)fyQ5w0aW6go4g2-@rArPwr}E-f6$k(*Y!<)X{&>Q9O;T{` zk!om@_Ll6?GIrW_YvbD))jK}%o6;$HbSjN~g?q8g>lNgojYwS`v<^XXn;kZ$* z+zrcM$#brv6}FtHCsq^sz&y5nNvh8IQPX=1s&nv9nQ9Tttkc}AwO<#2Kl)^1De%aR z=TA8=FAnL%B#8pIcbMuGkirV4qfJ4ZtlA6(AteDor=~(wgR0r zQl>NqbuEt`mKB5_IimdDy}xP<-s##> z@V7NrW@=jIqXnVL??0a{v$)pnyj|m7cW#n&e&9}~Q?bg`hR%#k^Uy5Q_o|RvU=pID z6Yn5{mhN3(*a?n1q+CKBZmT_aOMR-l((HGa2S<=mm{$YV8zj}P%t)&R$Ecj1l5da-5! zn8awP5&wxy&^f$b$AXnX_K-=G-HE%N>g|uaLI~Ba4C6GvdZXt!;Y{S>35{Qg6{IZT zfMMew4@ViJG$RHE0LJ(M0L9G?=L`Xd_akWf;i=B=dB_ zo=!?(rmBv5sXqu$c-ET4NhITDE)M0qy6gIjuc$0KvK?1CkbSt5g; zxN)1d=^1#X$=728^2JcMiOKU<-$EwfDHX@B<)GF3rJ!~W{&1FUVd0g79)}i$LTE!Cn7J>*Ya)?3&>*T#sLeILcD3SS zFpFeCD8Q&URFoK1cSX)r1TRY@Rxe9;gq2)0ZP1tT4_AQxU8z!IZ+_AEji+p*)v;3Y zj3Y+%g^QjfmB|fHH(kUxNk9!glTAcEuNwB5FlR4)5qf%0`t8d+7VLw(8l%-fgvlmm zj!h!%6mJL)cg^1~PsP4mjxx2`8}x^$)+zmi*bXJK+`w`JxVmVkUKJHy z=L{KNtWS1;O&>Em=rTjOnC|%n{%A~+b?XW?sEBD^7#1n$;gNs@YTak*aCQE2%S%!O;GxIx&& z9Rl%Bgsz^l90=bX*p_Q_9vC5C7HaEqp@|`EsB3v&NBi*>g;1;gh#Zqy@f#+oH3?*Z zG(ZEA_<DSxVmlcn$?MRc%ozY_~U6#8o6{ zWhi3O#SHi^twS1fStd+lyEoavQ)q6xWegWCr%s_=@7%>?U zMI+VGP=9+HAjlZ}bKS@LE#Jnh$=7Lv3jDe0R~@)MW=+(1%O6aCRE7Uy*8A#4UAT@Z zi1OSF^Pfsw_h+59u}goaDe_9`PdByRvp3>4HpuU|rOj~v-!3;IHOefKR34B z73YP z;P4m+Gdr(drNf~Umjo6&j5$MIWxGi#f3h_ctxH;Tv5Cfc}kXMwn{6X&*_DtphhJd1x?LE+jAXVN>r)Z0(~DH3;77PjI+K z2r8p>)YB?;(er&N4lqMHnFXz=a_c}SVHxXM`MeEW&uBb8$5?esXkh4yemr=duJi-K4$80>b_$BIhFMqx1{58p%n zfVB7VL+*%)Y{2C4yCoubnUd2&-HmEC%1T{sxMX}!c_7t7$pW^ee*9d#Vz?vO`|e!S zz`DY%E-tzgYY)BSZlToJC?#$PImjKR_oa0v>RlN^j+a%nUo57gyXnz~GgWu)wVyst zjy{!NQ!hH|)y_2CvfjGX}ps+19?Ea1!%8{TGm{8 zq(2A7A37MQjM}0!8PYX}YU~=fM{4VTe4sHey@GapHJ(cuJMNx?UXxXMT=lTix|zF& zrC6bq)f-WyGe@##II*%|e%OX_^O8iM142gI^SQnEY_uq?G*udPIXXZu+OeYNKt#rK zCeaE63yQlZlIj~LVHabc6T*0c#9D1HA{`!MB+-U#61T9kA*vayA9R9T%o8tKU{ma1 zv?&B{@<4LB<(kEK`Z9x#E|W3E$s?Hj%MRm5>&6qZR7x7x;#iSnD0e!ON{N#q3`M*n zI@;^-1xIs+tnqD|Ni>9cKE;s4AF#YjnjV}w-vMKg)I;9NLq{(hmO>?QGJRtWMUZla zsj)+>oqcIHT`8xjoG-FRo2jv%9sf@EU%4ALLQ*W+&DmfE06=iR+;zjDG1nE`@%i!E z>|shAdfnbJHWv;502=lL0=P#R(n?${vyn2|ZS?sPLXis29(iVGXKJIUy}`Pr14UAM z4h)Nl4GB&>LyVoajo!>Nu^xBR8NU?JKMNA9$i3clwHJJ}mm!tNT7&U_#(V7#eWe$T zNoUo44zZnfB$#k#7nBY!AOyq^K;NfrFX3O&ahFO_A~H_wynbnXPT+7m1?o6EPcq0& zYN?c?Vmo|=M^=5ErG&V{-39q~u()H7xLbAuZ3F@UBKrmF?d0s?GS({j`q!70Wl2B$~Ke-0Qx*EH3C=Hu7bwv zyf7D!Dr+s*%ifq(H+wq`bd&N%k)oG?gG*R0iPc(}W7%n$kV9nIu))l9lzQw5V)gL&j;=Z8(M%M52E%SZ&i& zE2(dpq^~o1sA^*th0-HqkyubtR@14d*Lu9c7J*1N@9c|T1>0qSp-@qzve^^(+)8i& zJh@R_&H^AT>Zk9IuldvH&kGAawRU84${;7IH2qS7d128i_pq2fs+AJq2(_{RU+8)! z9rReN$d5mbWz3G%?)h0Z3W`VzQm*4)EVEI(s(V30<3KkZDx{lIbJ{&5jqikjpJQG7 zmTd=@{k>$~wB%Ph!mlm{pEnPhoUk!0&;qK&y|Yzuygj}Z-282_J0)9gn7#~$eZJqL zQCQwD`tfo*@MdNDjyxCTl{9v3ZZ5O6or1a`A+)Ob?cudB`1}$}!;hsseY-7(klw%B zx7k1dfY5&F;Dd2OV=)R?biM@@$E|$Wq1*8q(NOh%T4N>BOhndH;`VbhD*|8q#QEB| zI-#{z4h}BiRtd*$#o^wQMu}~Dyt?-j-^P!Q;$ONPm~)59kTISNUSx%;?gL$XhYsrw z$9*B>5^BKaBlIq951Ra^D(e<3P@eZhrEYB`qO79{Pv)b3@9&h$#_;ye>7-h$Q^?t? zDTPrR8&MmBbh46d9YHf**&t8ujPpzjnZ2E;T<)5@*6tGIuG>2)CDAt?))(F=qE&Sh zmiT35Bw*l;Y<0l1%!uu)pF?%j^9zMSS1c4t61Kw{(m?la*xYO8|wToNna4@MP=a4Wsk+>PDM&Ylu$fR9A`=`}4=mfor`K^m*=y{iK5v7NyMt*+zV-e6!V5lJK@usITgjGc8N>1}5$01+PX&Qv113l7Eyti$cxHt+Q$_Ov zlX~H56djk!soW~fe4E-)ry@~7N-eQ%(Y1Vu-_pc?iKp#$X5>9pQj3-m4HDr-jTE{< zm{-f2$@ykBpocYze&Eq|as)pS_BBnC=em>5Lj%q{dU_%|!0+5+fK+;t_*)15PG9k) zBgW#a67Jg9+YMobk1%7cVOz}qZj)f<6e@YQO^P!E0K)s##osdlt>BBFOK8URDIKhB z?lNC^0M{D5@!n74;8`57>q~yUMP3Ido3VbnKl2I)bbe}GJZrYhBppyrZ$Yrt5Ge7& zGSg9|^4FLq#ELpW!*<66*8o3csS|jjL+1gav+Dipko(7V<(V1O(tFoN9>sp4(7LbXzMxj2wFs;sdKY z^9S52?uZFZF|ir@V1540W#67B$n_j?*s5RpW5ULk_>;P2IQK#I=y#DKUWk~I=v<5v~L z-V%gCVMDwyhdDjvk96l5ByB7gQk@=RFvFHfoS%eWeVig|JMq8aeJrBZ`_gHdGnvR|C=>?S$iw; eH%ozKAJ*^sG&Nz~eIWn<-n}+<%bEl7^XY#pJe%AA 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 6f296a3da9d8b5e7619887237227160dbf44f0ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22405 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 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 c08ff193b801623bde40ff06d8e62684a7c899d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4163 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 M(6KFXF?@geA7la=UH||9 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 1916b48cc1..628952f97b 100644 --- a/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js +++ b/packages/js-dapi-client/lib/SimplifiedMasternodeListProvider/SimplifiedMasternodeListProvider.js @@ -1,9 +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'); -const { bytesToHex } = require('../utils/bytes'); +import logger from '../logger/index.js'; +import { bytesToHex } from '../utils/bytes.js'; class SimplifiedMasternodeListProvider { /** @@ -219,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 c13217e98d..f78969b203 100644 --- a/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js +++ b/packages/js-dapi-client/lib/dapiAddressProvider/ListDAPIAddressProvider.js @@ -1,5 +1,6 @@ +import networks from '@dashevo/dashcore-lib/lib/networks.js'; + const sample = (arr) => arr[Math.floor(Math.random() * arr.length)]; -const networks = require('@dashevo/dashcore-lib/lib/networks'); 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 65ad0f4ded..af12683b9b 100644 --- a/packages/js-dapi-client/lib/index.js +++ b/packages/js-dapi-client/lib/index.js @@ -1,7 +1,6 @@ -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, @@ -9,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 ffca12f534..2e03362b5f 100644 --- a/packages/js-dapi-client/lib/logger/index.js +++ b/packages/js-dapi-client/lib/logger/index.js @@ -30,4 +30,4 @@ function build(level = LOG_LEVEL, prefix = '') { return logger; } -module.exports = build(); +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 d007018bd2..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 @@ -35,4 +37,4 @@ function getBlockByHashFactory(grpcTransport) { 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 88fdf0d357..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 @@ -36,4 +38,4 @@ function getBlockByHeightFactory(grpcTransport) { 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 486637c453..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 @@ -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 9f63a28ffb..3a178213a5 100644 --- a/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js +++ b/packages/js-dapi-client/lib/methods/core/getMasternodeStatusFactory.js @@ -1,11 +1,13 @@ +import dapiGrpc from '@dashevo/dapi-grpc'; +import { base64ToBytes } from '../../utils/bytes.js'; + const { v0: { GetMasternodeStatusRequest, GetMasternodeStatusResponse, CorePromiseClient, }, -} = require('@dashevo/dapi-grpc'); -const { base64ToBytes } = require('../../utils/bytes'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -43,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 97aeeae2c9..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,4 +1,4 @@ -const InvalidResponseError = require('../../platform/response/errors/InvalidResponseError'); +import InvalidResponseError from '../../platform/response/errors/InvalidResponseError.js'; class GetTransactionResponse { /** @@ -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 8fe67b0c05..4e4e034331 100644 --- a/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js +++ b/packages/js-dapi-client/lib/methods/core/subscribeToBlockHeadersWithChainLocksFactory.js @@ -1,12 +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'); -const { hexToBytes } = require('../../utils/bytes'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -67,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 45d54ca377..c8aa6f187c 100644 --- a/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js +++ b/packages/js-dapi-client/lib/methods/core/subscribeToTransactionsWithProofsFactory.js @@ -1,13 +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'); -const { hexToBytes } = require('../../utils/bytes'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -91,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 1ff6735b3d..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,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 GetDataContractResponse extends AbstractResponse { /** @@ -40,4 +40,4 @@ class GetDataContractResponse extends AbstractResponse { } } -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 ed1a554844..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 @@ -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 183bcd3e57..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} @@ -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 0f65018a1d..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,4 +1,4 @@ -const AbstractResponse = require('../response/AbstractResponse'); +import AbstractResponse from '../response/AbstractResponse.js'; class GetDocumentsResponse extends AbstractResponse { /** @@ -37,4 +37,4 @@ class GetDocumentsResponse extends AbstractResponse { } } -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 7af4c1b3d2..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 @@ -108,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 15c72b156e..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 { /** @@ -63,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 2297531bf1..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 @@ -89,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 a23864d959..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,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 GetIdentityResponse extends AbstractResponse { /** @@ -40,4 +40,4 @@ class GetIdentityResponse extends AbstractResponse { } } -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 abafd51d69..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 @@ -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 e7141239cd..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 @@ -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 b67fa3d6cd..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,4 +1,4 @@ -const AbstractResponse = require('../response/AbstractResponse'); +import AbstractResponse from '../response/AbstractResponse.js'; class GetIdentityByPublicKeyHashResponse extends AbstractResponse { /** @@ -37,4 +37,4 @@ class GetIdentityByPublicKeyHashResponse extends AbstractResponse { } } -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 683a01dc46..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 @@ -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 772e6678f3..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} @@ -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 a0a62dc2fa..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 @@ -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 e072443c09..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,7 +1,7 @@ -const AbstractResponse = require('../response/AbstractResponse'); -const VersionSignal = require('./VersionSignal'); -const InvalidResponseError = require('../response/errors/InvalidResponseError'); -const { bytesToHex } = require('../../../utils/bytes'); +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 { /** @@ -54,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 e7ecf26c02..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,13 +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'); -const { hexToBytes } = require('../../../utils/bytes'); +} = dapiGrpc; /** * @param {GrpcTransport} grpcTransport @@ -69,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 ff465a82d0..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,10 +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'); -const { bytesToHex } = require('../../../utils/bytes'); +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 { /** @@ -164,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 9d284ea969..f93b1d5e3d 100644 --- a/packages/js-dapi-client/lib/methods/platform/response/Proof.js +++ b/packages/js-dapi-client/lib/methods/platform/response/Proof.js @@ -56,4 +56,4 @@ class Proof { } } -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 fad4c5cbc2..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 { /** @@ -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 85d7947d66..bd148b7d79 100644 --- a/packages/js-dapi-client/lib/test/bootstrap.js +++ b/packages/js-dapi-client/lib/test/bootstrap.js @@ -1,16 +1,21 @@ -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'); +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'; -use(sinonChai); -use(chaiAsPromised); -use(dirtyChai); +chai.use(sinonChai); +chai.use(chaiAsPromised); +chai.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) { @@ -25,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 a5710ea1ee..2bf7e9eec6 100644 --- a/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js +++ b/packages/js-dapi-client/lib/test/fixtures/getProofFixture.js @@ -1,4 +1,4 @@ -const { hexToBytes, base64ToBytes } = require('../../utils/bytes'); +import { hexToBytes, base64ToBytes } from '../../utils/bytes.js'; /** * @returns {{ @@ -16,4 +16,4 @@ function getProofFixture() { }; } -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 49dbf60621..e4bdc5be9e 100644 --- a/packages/js-dapi-client/lib/test/fixtures/getStatusFixture.js +++ b/packages/js-dapi-client/lib/test/fixtures/getStatusFixture.js @@ -1,4 +1,4 @@ -const { base64ToBytes } = require('../../utils/bytes'); +import { base64ToBytes } from '../../utils/bytes.js'; /** * @@ -62,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 3c7a04e375..b03891937e 100644 --- a/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js +++ b/packages/js-dapi-client/lib/test/mocks/mockHeadersChain.js @@ -1,7 +1,8 @@ -const X11 = require('wasm-x11-hash'); -const { BlockHeader, configure } = require('@dashevo/dashcore-lib'); -const { genesis } = require('@dashevo/dash-spv'); -const { hexToBytes } = require('../../utils/bytes'); +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) { @@ -53,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 2fdc053c8b..217809761b 100644 --- a/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js +++ b/packages/js-dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js @@ -1,20 +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'); -const { base64ToBytes } = require('../../utils/bytes'); +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, @@ -149,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 8ccfabe29f..0654505a43 100644 --- a/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js +++ b/packages/js-dapi-client/lib/transport/JsonRpcTransport/requestJsonRpc.js @@ -1,5 +1,5 @@ -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 @@ -65,4 +65,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 index bed5176b2d..a50dd70389 100644 --- a/packages/js-dapi-client/lib/utils/bytes.js +++ b/packages/js-dapi-client/lib/utils/bytes.js @@ -1,4 +1,4 @@ -function hexToBytes(hex) { +export function hexToBytes(hex) { if (typeof hex !== 'string') { throw new TypeError('hex must be a string'); } @@ -12,11 +12,11 @@ function hexToBytes(hex) { return out; } -function bytesToHex(bytes) { +export function bytesToHex(bytes) { return Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join(''); } -function base64ToBytes(b64) { +export function base64ToBytes(b64) { const bin = atob(b64); const out = new Uint8Array(bin.length); for (let i = 0; i < bin.length; i += 1) { @@ -25,7 +25,7 @@ function base64ToBytes(b64) { return out; } -function bytesToBase64(bytes) { +export function bytesToBase64(bytes) { let bin = ''; for (let i = 0; i < bytes.length; i += 1) { bin += String.fromCharCode(bytes[i]); @@ -33,7 +33,7 @@ function bytesToBase64(bytes) { return btoa(bin); } -function concatBytes(arrays) { +export function concatBytes(arrays) { let total = 0; for (const a of arrays) total += a.length; const out = new Uint8Array(total); @@ -45,19 +45,10 @@ function concatBytes(arrays) { return out; } -function bytesEqual(a, b) { +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; } - -module.exports = { - hexToBytes, - bytesToHex, - base64ToBytes, - bytesToBase64, - concatBytes, - bytesEqual, -}; 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 ede6b739dc..dbd657ea1e 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", @@ -32,63 +39,31 @@ "@dashevo/grpc-common": "workspace:*", "@dashevo/wasm-dpp": "workspace:*", "cbor": "^8.0.0", + "events": "^3.3.0", "google-protobuf": "^3.12.2", "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" - }, - "engines": { - "node": ">=18.18" + "sinon-chai": "^3.7.0" }, "files": [ "docs", - "lib", - "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/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 81a67152bc..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; 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 a5288db5d5..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,15 +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 { hexToBytes, bytesToHex } = require('../../../../lib/utils/bytes'); +const { DashPlatformProtocol } = wasmDpp; const { WaitForStateTransitionResultResponseV0 } = WaitForStateTransitionResultResponse; const { GetIdentityResponseV0 } = GetIdentityResponse; 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 d7cba51b8f..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; 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 e16e60130d..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; 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 1ea27f5088..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; 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 f2fca4360d..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,13 +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'); -const { base64ToBytes } = require('../../../../lib/utils/bytes'); +} = dapiGrpc; describe('getBlockchainStatusFactory', () => { let getBlockchainStatus; 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 2a74dac3ba..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; 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 6185d629db..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; 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 b7c9895e9b..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; 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 6132eccb95..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,15 +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'); -const { hexToBytes } = require('../../../../lib/utils/bytes'); +} = dapiGrpc; describe('subscribeToBlockHeadersWithChainLocks', () => { let subscribeToBlockHeadersWithChainLocks; 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 f77c6d3c65..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,14 +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'); -const { hexToBytes } = require('../../../../lib/utils/bytes'); +} = dapiGrpc; describe('subscribeToTransactionsWithProofsFactory', () => { let subscribeToTransactionsWithProofs; 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 2249c9e7dd..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; 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 18bf80a492..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; 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 5bd2c30006..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; 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 afa2b6e92f..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; 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 1486f0080b..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; 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 13628f3277..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; 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 8ed386e2a6..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; 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 f14e0644f1..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; 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 c8c47a4789..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; 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 8b87598ab5..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; 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 f38147513b..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; 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 84e1b20a6e..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; 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 f5a82d8def..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; 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 f4e4dc0b3a..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; 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 d56fcf3b96..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; 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 9efee085b8..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; 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 80237eb057..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; 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 8ce67768cf..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,19 +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'); -const { bytesToHex, hexToBytes } = require('../../../../../lib/utils/bytes'); +} = dapiGrpc; describe('GetProtocolVersionUpgradeVoteStatusResponse', () => { let getProtocolVersionUpgradeVoteStatus; 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 c241a9871e..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,14 +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'); -const { bytesToHex, hexToBytes } = require('../../../../../lib/utils/bytes'); +} = dapiGrpc; describe('getProtocolVersionUpgradeVoteStatusFactory', () => { let grpcTransportMock; 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 cb44138846..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,18 +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'); -const { bytesToHex } = require('../../../../../lib/utils/bytes'); +} = dapiGrpc; describe('GetStatusResponse', () => { let getStatusResponse; 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 63f69347b0..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,20 +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'); -const { bytesToHex } = require('../../../../../lib/utils/bytes'); +} = dapiGrpc; describe('getStatusFactory', () => { let grpcTransportMock; 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 fc9a3c3e01..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,7 @@ const { Proof, ResponseMetadata, }, -} = require('@dashevo/dapi-grpc'); -const cbor = require('cbor'); - -const waitForStateTransitionResultFactory = require('../../../../../lib/methods/platform/waitForStateTransitionResult/waitForStateTransitionResultFactory'); -const getMetadataFixture = require('../../../../../lib/test/fixtures/getMetadataFixture'); +} = dapiGrpc; const encoder = new TextEncoder(); 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..d792b5d07c 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; 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 f6864af820..2db0a6e413 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1514,48 +1514,24 @@ __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" - 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" mocha: "npm:^11.1.0" 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" wasm-x11-hash: "npm:~0.0.2" - webpack: "npm:^5.104.0" - webpack-cli: "npm:^4.9.1" languageName: unknown linkType: soft @@ -5395,19 +5371,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" @@ -6739,13 +6702,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" @@ -7051,13 +7007,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" @@ -9241,16 +9190,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" @@ -9280,16 +9219,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" @@ -12110,15 +12039,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" @@ -13998,15 +13918,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" @@ -14034,15 +13945,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" @@ -14350,13 +14252,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" @@ -14577,15 +14472,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" @@ -15710,18 +15596,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" @@ -18994,13 +18868,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"