diff --git a/.pnp.cjs b/.pnp.cjs index bc6d0661bd..e2e7b0d579 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -2487,7 +2487,7 @@ const RAW_RUNTIME_STATE = ["mocha", "npm:11.1.0"],\ ["mocha-sinon", "virtual:595d7482cc8ddf98ee6aef33fc48b46393554ab5f17f851ef62e6e39315e53666c3e66226b978689aa0bc7f1e83a03081511a21db1c381362fe67614887077f9#npm:2.1.2"],\ ["nyc", "npm:15.1.0"],\ - ["pino", "npm:8.16.2"],\ + ["pino", "npm:9.13.0"],\ ["pino-pretty", "npm:10.2.3"],\ ["semver", "npm:7.5.3"],\ ["sinon", "npm:17.0.1"],\ @@ -6766,21 +6766,21 @@ const RAW_RUNTIME_STATE = ]],\ ["bare-fs", [\ ["npm:4.1.5", {\ - "packageLocation": "./.yarn/unplugged/bare-fs-virtual-105f44ebd4/node_modules/bare-fs/",\ + "packageLocation": "./.yarn/unplugged/bare-fs-virtual-640a51607c/node_modules/bare-fs/",\ "packageDependencies": [\ ["bare-fs", "npm:4.1.5"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:3078dff77a6b63050866d2d58ec9f43d0232d70716a802d31ff2f72a8f65ee014b757261c8e6292e650fd08032da30b178baf120a344011b2a27f08a7c20627d#npm:4.1.5", {\ - "packageLocation": "./.yarn/unplugged/bare-fs-virtual-105f44ebd4/node_modules/bare-fs/",\ + ["virtual:2a32a81dd77232e5ff9b5028539a5b875259175c3e592c3e1213900d422f5a9b30cbc754be9222f190546618bf89b17e8b4632f94b73764cfdbcef3b6ef08a57#npm:4.1.5", {\ + "packageLocation": "./.yarn/unplugged/bare-fs-virtual-640a51607c/node_modules/bare-fs/",\ "packageDependencies": [\ - ["bare-fs", "virtual:3078dff77a6b63050866d2d58ec9f43d0232d70716a802d31ff2f72a8f65ee014b757261c8e6292e650fd08032da30b178baf120a344011b2a27f08a7c20627d#npm:4.1.5"],\ + ["bare-fs", "virtual:2a32a81dd77232e5ff9b5028539a5b875259175c3e592c3e1213900d422f5a9b30cbc754be9222f190546618bf89b17e8b4632f94b73764cfdbcef3b6ef08a57#npm:4.1.5"],\ ["@types/bare-buffer", null],\ ["bare-buffer", null],\ ["bare-events", "npm:2.5.4"],\ ["bare-path", "npm:3.0.0"],\ - ["bare-stream", "virtual:105f44ebd4bc309a5c7590aad8d13d8305b80cb95bd2c67381a3edb557fabf8ee666d61b30cb6a24b700509819531b5f8a3c5986dfe3fab2582db0d3f4cc3aa0#npm:2.6.5"]\ + ["bare-stream", "virtual:640a51607cd31e5096adb440b0522af7491906a7b60dbc4f67541df7a48da750b614af2053861dc26124dacfc5f1b82f5d53d4befab7bd3fa0ca4465045097d1#npm:2.6.5"]\ ],\ "packagePeers": [\ "@types/bare-buffer",\ @@ -6816,10 +6816,10 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:105f44ebd4bc309a5c7590aad8d13d8305b80cb95bd2c67381a3edb557fabf8ee666d61b30cb6a24b700509819531b5f8a3c5986dfe3fab2582db0d3f4cc3aa0#npm:2.6.5", {\ - "packageLocation": "./.yarn/__virtual__/bare-stream-virtual-4e6a2687c7/0/cache/bare-stream-npm-2.6.5-1977dd457e-0f5ca2167f.zip/node_modules/bare-stream/",\ + ["virtual:640a51607cd31e5096adb440b0522af7491906a7b60dbc4f67541df7a48da750b614af2053861dc26124dacfc5f1b82f5d53d4befab7bd3fa0ca4465045097d1#npm:2.6.5", {\ + "packageLocation": "./.yarn/__virtual__/bare-stream-virtual-0bd94d14bd/0/cache/bare-stream-npm-2.6.5-1977dd457e-0f5ca2167f.zip/node_modules/bare-stream/",\ "packageDependencies": [\ - ["bare-stream", "virtual:105f44ebd4bc309a5c7590aad8d13d8305b80cb95bd2c67381a3edb557fabf8ee666d61b30cb6a24b700509819531b5f8a3c5986dfe3fab2582db0d3f4cc3aa0#npm:2.6.5"],\ + ["bare-stream", "virtual:640a51607cd31e5096adb440b0522af7491906a7b60dbc4f67541df7a48da750b614af2053861dc26124dacfc5f1b82f5d53d4befab7bd3fa0ca4465045097d1#npm:2.6.5"],\ ["@types/bare-buffer", null],\ ["@types/bare-events", null],\ ["bare-buffer", null],\ @@ -8844,7 +8844,7 @@ const RAW_RUNTIME_STATE = ["cron", "npm:2.1.0"],\ ["dirty-chai", "virtual:e2d057e7cc143d3cb9bec864f4a2d862441b5a09f81f8e6c46e7a098cbc89e4d07017cc6e2e2142d5704bb55da853cbec2d025ebc0b30e8696c31380c00f2c7d#npm:2.0.1"],\ ["diskusage-ng", "npm:1.0.4"],\ - ["dockerode", "npm:4.0.5"],\ + ["dockerode", "npm:4.0.9"],\ ["dot", "npm:1.1.3"],\ ["dotenv", "npm:8.6.0"],\ ["enquirer", "https://github.com/dashpay/enquirer.git#commit=86aaef0b1c82dfaa3436775e6b37de310eeb94f5"],\ @@ -9432,20 +9432,20 @@ const RAW_RUNTIME_STATE = ["dockerode", "npm:3.3.5"],\ ["@balena/dockerignore", "npm:1.0.2"],\ ["docker-modem", "npm:3.0.8"],\ - ["tar-fs", "npm:3.0.9"]\ + ["tar-fs", "npm:3.1.1"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:4.0.5", {\ - "packageLocation": "./.yarn/cache/dockerode-npm-4.0.5-291e46ef8d-a300e5fdcf.zip/node_modules/dockerode/",\ + ["npm:4.0.9", {\ + "packageLocation": "./.yarn/cache/dockerode-npm-4.0.9-89c765574b-58bb4f3965.zip/node_modules/dockerode/",\ "packageDependencies": [\ - ["dockerode", "npm:4.0.5"],\ + ["dockerode", "npm:4.0.9"],\ ["@balena/dockerignore", "npm:1.0.2"],\ ["@grpc/grpc-js", "npm:1.13.2"],\ ["@grpc/proto-loader", "npm:0.7.13"],\ ["docker-modem", "npm:5.0.6"],\ ["protobufjs", "npm:6.11.4"],\ - ["tar-fs", "npm:3.0.9"],\ + ["tar-fs", "npm:3.1.1"],\ ["uuid", "npm:10.0.0"]\ ],\ "linkType": "HARD"\ @@ -10717,15 +10717,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["fast-redact", [\ - ["npm:3.3.0", {\ - "packageLocation": "./.yarn/cache/fast-redact-npm-3.3.0-2f2f249914-a69c5cb523.zip/node_modules/fast-redact/",\ - "packageDependencies": [\ - ["fast-redact", "npm:3.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["fast-safe-stringify", [\ ["npm:2.1.1", {\ "packageLocation": "./.yarn/cache/fast-safe-stringify-npm-2.1.1-7ce89033ca-dc1f063c2c.zip/node_modules/fast-safe-stringify/",\ @@ -16303,21 +16294,21 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["pino", [\ - ["npm:8.16.2", {\ - "packageLocation": "./.yarn/cache/pino-npm-8.16.2-ab350f6df7-d2860167dd.zip/node_modules/pino/",\ + ["npm:9.13.0", {\ + "packageLocation": "./.yarn/cache/pino-npm-9.13.0-1ccb158e52-deaad84f8f.zip/node_modules/pino/",\ "packageDependencies": [\ - ["pino", "npm:8.16.2"],\ + ["pino", "npm:9.13.0"],\ ["atomic-sleep", "npm:1.0.0"],\ - ["fast-redact", "npm:3.3.0"],\ ["on-exit-leak-free", "npm:2.1.2"],\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["pino-std-serializers", "npm:6.2.2"],\ - ["process-warning", "npm:2.3.1"],\ + ["pino-abstract-transport", "npm:2.0.0"],\ + ["pino-std-serializers", "npm:7.0.0"],\ + ["process-warning", "npm:5.0.0"],\ ["quick-format-unescaped", "npm:4.0.4"],\ ["real-require", "npm:0.2.0"],\ ["safe-stable-stringify", "npm:2.4.3"],\ - ["sonic-boom", "npm:3.7.0"],\ - ["thread-stream", "npm:2.4.1"]\ + ["slow-redact", "npm:0.3.0"],\ + ["sonic-boom", "npm:4.2.0"],\ + ["thread-stream", "npm:3.1.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -16331,6 +16322,14 @@ const RAW_RUNTIME_STATE = ["split2", "npm:4.2.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/pino-abstract-transport-npm-2.0.0-696dba31d0-e5699ecb06.zip/node_modules/pino-abstract-transport/",\ + "packageDependencies": [\ + ["pino-abstract-transport", "npm:2.0.0"],\ + ["split2", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["pino-pretty", [\ @@ -16357,10 +16356,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["pino-std-serializers", [\ - ["npm:6.2.2", {\ - "packageLocation": "./.yarn/cache/pino-std-serializers-npm-6.2.2-0e907a1130-a00cdff4e1.zip/node_modules/pino-std-serializers/",\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/pino-std-serializers-npm-7.0.0-94d470ae0c-884e08f65a.zip/node_modules/pino-std-serializers/",\ "packageDependencies": [\ - ["pino-std-serializers", "npm:6.2.2"]\ + ["pino-std-serializers", "npm:7.0.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -16507,10 +16506,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["process-warning", [\ - ["npm:2.3.1", {\ - "packageLocation": "./.yarn/cache/process-warning-npm-2.3.1-c08c6a464f-1c27241fff.zip/node_modules/process-warning/",\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/process-warning-npm-5.0.0-7999058ecd-10f3e00ac9.zip/node_modules/process-warning/",\ "packageDependencies": [\ - ["process-warning", "npm:2.3.1"]\ + ["process-warning", "npm:5.0.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -17982,6 +17981,15 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ + ["slow-redact", [\ + ["npm:0.3.0", {\ + "packageLocation": "./.yarn/cache/slow-redact-npm-0.3.0-d3e132569d-01eb265292.zip/node_modules/slow-redact/",\ + "packageDependencies": [\ + ["slow-redact", "npm:0.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["smart-buffer", [\ ["npm:4.2.0", {\ "packageLocation": "./.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-927484aa0b.zip/node_modules/smart-buffer/",\ @@ -18091,6 +18099,14 @@ const RAW_RUNTIME_STATE = ["atomic-sleep", "npm:1.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/sonic-boom-npm-4.2.0-b2baf3f5bd-385ef7fb5e.zip/node_modules/sonic-boom/",\ + "packageDependencies": [\ + ["sonic-boom", "npm:4.2.0"],\ + ["atomic-sleep", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["sort-keys", [\ @@ -18701,11 +18717,11 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["tar-fs", [\ - ["npm:3.0.9", {\ - "packageLocation": "./.yarn/cache/tar-fs-npm-3.0.9-3078dff77a-00e194ef36.zip/node_modules/tar-fs/",\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/tar-fs-npm-3.1.1-2a32a81dd7-f7f7540b56.zip/node_modules/tar-fs/",\ "packageDependencies": [\ - ["tar-fs", "npm:3.0.9"],\ - ["bare-fs", "virtual:3078dff77a6b63050866d2d58ec9f43d0232d70716a802d31ff2f72a8f65ee014b757261c8e6292e650fd08032da30b178baf120a344011b2a27f08a7c20627d#npm:4.1.5"],\ + ["tar-fs", "npm:3.1.1"],\ + ["bare-fs", "virtual:2a32a81dd77232e5ff9b5028539a5b875259175c3e592c3e1213900d422f5a9b30cbc754be9222f190546618bf89b17e8b4632f94b73764cfdbcef3b6ef08a57#npm:4.1.5"],\ ["bare-path", "npm:3.0.0"],\ ["pump", "npm:3.0.0"],\ ["tar-stream", "npm:3.1.7"]\ @@ -19114,10 +19130,10 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["thread-stream", [\ - ["npm:2.4.1", {\ - "packageLocation": "./.yarn/cache/thread-stream-npm-2.4.1-3f89bca0b7-baac5bf555.zip/node_modules/thread-stream/",\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/thread-stream-npm-3.1.0-ac5663dfb7-ea2d816c4f.zip/node_modules/thread-stream/",\ "packageDependencies": [\ - ["thread-stream", "npm:2.4.1"],\ + ["thread-stream", "npm:3.1.0"],\ ["real-require", "npm:0.2.0"]\ ],\ "linkType": "HARD"\ diff --git a/.yarn/cache/dockerode-npm-4.0.5-291e46ef8d-a300e5fdcf.zip b/.yarn/cache/dockerode-npm-4.0.9-89c765574b-58bb4f3965.zip similarity index 71% rename from .yarn/cache/dockerode-npm-4.0.5-291e46ef8d-a300e5fdcf.zip rename to .yarn/cache/dockerode-npm-4.0.9-89c765574b-58bb4f3965.zip index 2845d34413..90881b5e9f 100644 Binary files a/.yarn/cache/dockerode-npm-4.0.5-291e46ef8d-a300e5fdcf.zip and b/.yarn/cache/dockerode-npm-4.0.9-89c765574b-58bb4f3965.zip differ diff --git a/.yarn/cache/fast-redact-npm-3.3.0-2f2f249914-a69c5cb523.zip b/.yarn/cache/fast-redact-npm-3.3.0-2f2f249914-a69c5cb523.zip deleted file mode 100644 index 5f380a5c7d..0000000000 Binary files a/.yarn/cache/fast-redact-npm-3.3.0-2f2f249914-a69c5cb523.zip and /dev/null differ diff --git a/.yarn/cache/pino-abstract-transport-npm-2.0.0-696dba31d0-e5699ecb06.zip b/.yarn/cache/pino-abstract-transport-npm-2.0.0-696dba31d0-e5699ecb06.zip new file mode 100644 index 0000000000..afbbf3041f Binary files /dev/null and b/.yarn/cache/pino-abstract-transport-npm-2.0.0-696dba31d0-e5699ecb06.zip differ diff --git a/.yarn/cache/pino-npm-8.16.2-ab350f6df7-d2860167dd.zip b/.yarn/cache/pino-npm-8.16.2-ab350f6df7-d2860167dd.zip deleted file mode 100644 index 6ea52e9e1e..0000000000 Binary files a/.yarn/cache/pino-npm-8.16.2-ab350f6df7-d2860167dd.zip and /dev/null differ diff --git a/.yarn/cache/pino-npm-9.13.0-1ccb158e52-deaad84f8f.zip b/.yarn/cache/pino-npm-9.13.0-1ccb158e52-deaad84f8f.zip new file mode 100644 index 0000000000..799dace7fc Binary files /dev/null and b/.yarn/cache/pino-npm-9.13.0-1ccb158e52-deaad84f8f.zip differ diff --git a/.yarn/cache/pino-std-serializers-npm-6.2.2-0e907a1130-a00cdff4e1.zip b/.yarn/cache/pino-std-serializers-npm-6.2.2-0e907a1130-a00cdff4e1.zip deleted file mode 100644 index 319f2c1b8a..0000000000 Binary files a/.yarn/cache/pino-std-serializers-npm-6.2.2-0e907a1130-a00cdff4e1.zip and /dev/null differ diff --git a/.yarn/cache/pino-std-serializers-npm-7.0.0-94d470ae0c-884e08f65a.zip b/.yarn/cache/pino-std-serializers-npm-7.0.0-94d470ae0c-884e08f65a.zip new file mode 100644 index 0000000000..41c1ebc2bd Binary files /dev/null and b/.yarn/cache/pino-std-serializers-npm-7.0.0-94d470ae0c-884e08f65a.zip differ diff --git a/.yarn/cache/process-warning-npm-2.3.1-c08c6a464f-1c27241fff.zip b/.yarn/cache/process-warning-npm-2.3.1-c08c6a464f-1c27241fff.zip deleted file mode 100644 index 04ac966ae6..0000000000 Binary files a/.yarn/cache/process-warning-npm-2.3.1-c08c6a464f-1c27241fff.zip and /dev/null differ diff --git a/.yarn/cache/process-warning-npm-5.0.0-7999058ecd-10f3e00ac9.zip b/.yarn/cache/process-warning-npm-5.0.0-7999058ecd-10f3e00ac9.zip new file mode 100644 index 0000000000..b00ac26747 Binary files /dev/null and b/.yarn/cache/process-warning-npm-5.0.0-7999058ecd-10f3e00ac9.zip differ diff --git a/.yarn/cache/slow-redact-npm-0.3.0-d3e132569d-01eb265292.zip b/.yarn/cache/slow-redact-npm-0.3.0-d3e132569d-01eb265292.zip new file mode 100644 index 0000000000..b96ecab962 Binary files /dev/null and b/.yarn/cache/slow-redact-npm-0.3.0-d3e132569d-01eb265292.zip differ diff --git a/.yarn/cache/sonic-boom-npm-4.2.0-b2baf3f5bd-385ef7fb5e.zip b/.yarn/cache/sonic-boom-npm-4.2.0-b2baf3f5bd-385ef7fb5e.zip new file mode 100644 index 0000000000..b53250afb5 Binary files /dev/null and b/.yarn/cache/sonic-boom-npm-4.2.0-b2baf3f5bd-385ef7fb5e.zip differ diff --git a/.yarn/cache/tar-fs-npm-3.0.9-3078dff77a-00e194ef36.zip b/.yarn/cache/tar-fs-npm-3.0.9-3078dff77a-00e194ef36.zip deleted file mode 100644 index 026bc8b121..0000000000 Binary files a/.yarn/cache/tar-fs-npm-3.0.9-3078dff77a-00e194ef36.zip and /dev/null differ diff --git a/.yarn/cache/tar-fs-npm-3.1.1-2a32a81dd7-f7f7540b56.zip b/.yarn/cache/tar-fs-npm-3.1.1-2a32a81dd7-f7f7540b56.zip new file mode 100644 index 0000000000..eb53950794 Binary files /dev/null and b/.yarn/cache/tar-fs-npm-3.1.1-2a32a81dd7-f7f7540b56.zip differ diff --git a/.yarn/cache/thread-stream-npm-2.4.1-3f89bca0b7-baac5bf555.zip b/.yarn/cache/thread-stream-npm-2.4.1-3f89bca0b7-baac5bf555.zip deleted file mode 100644 index bacec29754..0000000000 Binary files a/.yarn/cache/thread-stream-npm-2.4.1-3f89bca0b7-baac5bf555.zip and /dev/null differ diff --git a/.yarn/cache/thread-stream-npm-3.1.0-ac5663dfb7-ea2d816c4f.zip b/.yarn/cache/thread-stream-npm-3.1.0-ac5663dfb7-ea2d816c4f.zip new file mode 100644 index 0000000000..999c42b520 Binary files /dev/null and b/.yarn/cache/thread-stream-npm-3.1.0-ac5663dfb7-ea2d816c4f.zip differ diff --git a/packages/dapi/package.json b/packages/dapi/package.json index 8b98e0fb95..43c48faeb9 100644 --- a/packages/dapi/package.json +++ b/packages/dapi/package.json @@ -51,7 +51,7 @@ "jayson": "^4.1.0", "lodash": "^4.17.21", "lru-cache": "^5.1.1", - "pino": "^8.16.2", + "pino": "^9.13.0", "pino-pretty": "^10.2.3", "ws": "^8.17.1" }, diff --git a/packages/dashmate/package.json b/packages/dashmate/package.json index fbf77f9884..b4053ccb71 100644 --- a/packages/dashmate/package.json +++ b/packages/dashmate/package.json @@ -71,7 +71,7 @@ "chalk": "^4.1.0", "cron": "^2.1.0", "diskusage-ng": "^1.0.4", - "dockerode": "^4.0.5", + "dockerode": "^4.0.9", "dot": "^1.1.3", "dotenv": "^8.6.0", "enquirer": "github:dashpay/enquirer#patch-1", diff --git a/packages/js-evo-sdk/src/contracts/facade.ts b/packages/js-evo-sdk/src/contracts/facade.ts index a05811b565..3d093d356c 100644 --- a/packages/js-evo-sdk/src/contracts/facade.ts +++ b/packages/js-evo-sdk/src/contracts/facade.ts @@ -9,7 +9,7 @@ export class ContractsFacade { this.sdk = sdk; } - async fetch(contractId: string): Promise { + async fetch(contractId: string): Promise { const w = await this.sdk.getWasmSdkConnected(); return w.getDataContract(contractId); } diff --git a/packages/js-evo-sdk/src/sdk.ts b/packages/js-evo-sdk/src/sdk.ts index 7111bb6f50..609d78f3e7 100644 --- a/packages/js-evo-sdk/src/sdk.ts +++ b/packages/js-evo-sdk/src/sdk.ts @@ -144,4 +144,4 @@ export { SystemFacade } from './system/facade.js'; export { GroupFacade } from './group/facade.js'; export { VotingFacade } from './voting/facade.js'; export { wallet } from './wallet/functions.js'; -export { verifyIdentityResponse, verifyDataContract, verifyDocuments, start } from './wasm.js'; +export * from './wasm.js'; diff --git a/packages/js-evo-sdk/tests/functional/contracts.spec.mjs b/packages/js-evo-sdk/tests/functional/contracts.spec.mjs index 1c8aee3e9c..8d1bceddbc 100644 --- a/packages/js-evo-sdk/tests/functional/contracts.spec.mjs +++ b/packages/js-evo-sdk/tests/functional/contracts.spec.mjs @@ -1,4 +1,4 @@ -import { EvoSDK } from '../../dist/evo-sdk.module.js'; +import { EvoSDK, DataContract } from '../../dist/evo-sdk.module.js'; import { TEST_IDS } from '../fixtures/testnet.mjs'; describe('Data Contracts', function dataContractsSuite() { @@ -13,7 +13,7 @@ describe('Data Contracts', function dataContractsSuite() { it('fetch() returns data contract', async () => { const res = await sdk.contracts.fetch(TEST_IDS.dataContractId); - expect(res).to.exist(); + expect(res).to.be.instanceOf(DataContract); }); it('fetchWithProof() returns proof info', async () => { diff --git a/packages/js-evo-sdk/tests/unit/facades/contracts.spec.mjs b/packages/js-evo-sdk/tests/unit/facades/contracts.spec.mjs index 6618dccfb6..6a304e860e 100644 --- a/packages/js-evo-sdk/tests/unit/facades/contracts.spec.mjs +++ b/packages/js-evo-sdk/tests/unit/facades/contracts.spec.mjs @@ -4,6 +4,7 @@ import { EvoSDK } from '../../../dist/sdk.js'; describe('ContractsFacade', () => { let wasmSdk; let client; + let dataContract; beforeEach(async function setup() { await init(); @@ -11,8 +12,10 @@ describe('ContractsFacade', () => { wasmSdk = builder.build(); client = EvoSDK.fromWasm(wasmSdk); + dataContract = Object.create(wasmSDKPackage.DataContract.prototype); + // instance methods used by ContractsFacade - this.sinon.stub(wasmSdk, 'getDataContract').resolves(true); + this.sinon.stub(wasmSdk, 'getDataContract').resolves(dataContract); this.sinon.stub(wasmSdk, 'getDataContractWithProofInfo').resolves(true); this.sinon.stub(wasmSdk, 'getDataContractHistory').resolves(true); this.sinon.stub(wasmSdk, 'getDataContractHistoryWithProofInfo').resolves(true); @@ -23,8 +26,9 @@ describe('ContractsFacade', () => { }); it('fetch() forwards to instance getDataContract', async () => { - await client.contracts.fetch('c'); + const result = await client.contracts.fetch('c'); expect(wasmSdk.getDataContract).to.be.calledOnceWithExactly('c'); + expect(result).to.be.instanceOf(wasmSDKPackage.DataContract); }); it('fetchWithProof() forwards to instance getDataContractWithProofInfo', async () => { diff --git a/packages/wasm-sdk/src/dpp.rs b/packages/wasm-sdk/src/dpp.rs index 4dc42d8a99..cd14ea733b 100644 --- a/packages/wasm-sdk/src/dpp.rs +++ b/packages/wasm-sdk/src/dpp.rs @@ -294,7 +294,7 @@ impl IdentityWasm { // } // } -#[wasm_bindgen] +#[wasm_bindgen(js_name=DataContract)] pub struct DataContractWasm(DataContract); impl From for DataContractWasm { @@ -303,12 +303,37 @@ impl From for DataContractWasm { } } -#[wasm_bindgen] +#[wasm_bindgen(js_class=DataContract)] impl DataContractWasm { pub fn id(&self) -> String { self.0.id().to_string(Encoding::Base58) } + #[wasm_bindgen(js_name=fromJSON)] + pub fn from_json( + json: &JsValue, + platform_version: u32, + ) -> Result { + let platform_version = &PlatformVersion::get(platform_version).map_err(|e| { + WasmSdkError::invalid_argument(format!( + "unknown platform version {platform_version}: {e}" + )) + })?; + + let data_contract = DataContract::from_json( + serde_wasm_bindgen::from_value(json.clone()).map_err(|e| { + WasmSdkError::serialization(format!("failed to convert json: {}", e)) + })?, + true, + platform_version, + ) + .map_err(|e| { + WasmSdkError::serialization(format!("failed to create DataContract from json: {}", e)) + })?; + + Ok(data_contract.into()) + } + #[wasm_bindgen(js_name=toJSON)] pub fn to_json(&self) -> Result { let platform_version = PlatformVersion::first(); diff --git a/packages/wasm-sdk/tests/unit/data-contract.spec.mjs b/packages/wasm-sdk/tests/unit/data-contract.spec.mjs new file mode 100644 index 0000000000..e04eb4f21c --- /dev/null +++ b/packages/wasm-sdk/tests/unit/data-contract.spec.mjs @@ -0,0 +1,23 @@ +import init, * as sdk from '../../dist/sdk.compressed.js'; +import contractFixture from './fixtures/data-contract-crypto-card-game.mjs'; + +const PLATFORM_VERSION = 1; + +describe('DataContract', () => { + before(async () => { + await init(); + }); + + it('should create a contract from JSON and expose identifiers', async () => { + const contract = sdk.DataContract.fromJSON(contractFixture, PLATFORM_VERSION); + + expect(contract).to.be.ok(); + expect(contract.id()).to.equal(contractFixture.id); + + const roundTripped = contract.toJSON(); + expect(roundTripped).to.be.an('object'); + expect(roundTripped.id).to.equal(contractFixture.id); + + contract.free(); + }); +}); diff --git a/packages/wasm-sdk/tests/unit/fixtures/data-contract-crypto-card-game.mjs b/packages/wasm-sdk/tests/unit/fixtures/data-contract-crypto-card-game.mjs new file mode 100644 index 0000000000..9ff248509f --- /dev/null +++ b/packages/wasm-sdk/tests/unit/fixtures/data-contract-crypto-card-game.mjs @@ -0,0 +1,98 @@ +const contract = { + $format_version: '0', + id: '86LHvdC1Tqx5P97LQUSibGFqf2vnKFpB6VkqQ7oso86e', + ownerId: '2QjL594djCH2NyDsn45vd6yQjEDHupMKo7CEGVTHtQxU', + version: 1, + config: { + $format_version: '0', + canBeDeleted: false, + readonly: false, + keepsHistory: false, + documentsKeepHistoryContractDefault: false, + documentsMutableContractDefault: true, + documentsCanBeDeletedContractDefault: true, + requiresIdentityEncryptionBoundedKey: null, + requiresIdentityDecryptionBoundedKey: null, + }, + documentSchemas: { + card: { + type: 'object', + documentsMutable: false, + canBeDeleted: true, + transferable: 1, + tradeMode: 1, + properties: { + name: { + type: 'string', + description: 'Name of the card', + maxLength: 63, + position: 0, + }, + description: { + type: 'string', + description: 'Description of the card', + maxLength: 256, + position: 1, + }, + imageUrl: { + type: 'string', + description: 'URL of the image associated with the card', + maxLength: 2048, + format: 'uri', + position: 2, + }, + imageHash: { + type: 'array', + description: 'SHA256 hash of the bytes of the image specified by imageUrl', + byteArray: true, + minItems: 32, + maxItems: 32, + position: 3, + }, + rarity: { + type: 'string', + description: 'Rarity level of the card', + enum: [ + 'common', + 'uncommon', + 'rare', + 'legendary', + ], + position: 4, + }, + }, + required: [ + '$createdAt', + '$updatedAt', + 'name', + 'description', + 'imageUrl', + 'imageHash', + 'rarity', + ], + additionalProperties: false, + indices: [ + { + name: 'name', + properties: [ + { + name: 'asc', + }, + ], + unique: true, + }, + { + name: 'rarity', + properties: [ + { + rarity: 'asc', + }, + ], + unique: false, + }, + ], + }, + }, +}; + +export default contract; diff --git a/yarn.lock b/yarn.lock index 3d71f3eddd..43002093cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1552,7 +1552,7 @@ __metadata: mocha: "npm:^11.1.0" mocha-sinon: "npm:^2.1.2" nyc: "npm:^15.1.0" - pino: "npm:^8.16.2" + pino: "npm:^9.13.0" pino-pretty: "npm:^10.2.3" semver: "npm:^7.5.3" sinon: "npm:^17.0.1" @@ -6694,7 +6694,7 @@ __metadata: cron: "npm:^2.1.0" dirty-chai: "npm:^2.0.1" diskusage-ng: "npm:^1.0.4" - dockerode: "npm:^4.0.5" + dockerode: "npm:^4.0.9" dot: "npm:^1.1.3" dotenv: "npm:^8.6.0" enquirer: "github:dashpay/enquirer#patch-1" @@ -7131,18 +7131,18 @@ __metadata: languageName: node linkType: hard -"dockerode@npm:^4.0.5": - version: 4.0.5 - resolution: "dockerode@npm:4.0.5" +"dockerode@npm:^4.0.9": + version: 4.0.9 + resolution: "dockerode@npm:4.0.9" dependencies: "@balena/dockerignore": "npm:^1.0.2" "@grpc/grpc-js": "npm:^1.11.1" "@grpc/proto-loader": "npm:^0.7.13" docker-modem: "npm:^5.0.6" protobufjs: "npm:^7.3.2" - tar-fs: "npm:~2.1.2" + tar-fs: "npm:^2.1.4" uuid: "npm:^10.0.0" - checksum: a300e5fdcf4331a046db500b2e9052d440ffdc6761755e7ed69afff164866cba949affacafb83dde9e3b9f63fa1abe1c599714fc9057247533e1f926975a2b5d + checksum: 58bb4f39652de88212c008d1156ab679ac561508ada0a86db4c2fc75dc13d40c0ba1afb725a28e0c899c93a76ad822b332e4d5207c36b8b929bae5730d0bd791 languageName: node linkType: hard @@ -8129,13 +8129,6 @@ __metadata: languageName: node linkType: hard -"fast-redact@npm:^3.1.1": - version: 3.3.0 - resolution: "fast-redact@npm:3.3.0" - checksum: a69c5cb52396eafc4f466f46864406cbd4a6ead6782caf74750ce817794829048baaa933ad98543e744dd54ffb4cddff71f3e75e465a86e3d887894e281ec154 - languageName: node - linkType: hard - "fast-safe-stringify@npm:^2.1.1": version: 2.1.1 resolution: "fast-safe-stringify@npm:2.1.1" @@ -13063,7 +13056,7 @@ __metadata: languageName: node linkType: hard -"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:v1.1.0": +"pino-abstract-transport@npm:^1.0.0": version: 1.1.0 resolution: "pino-abstract-transport@npm:1.1.0" dependencies: @@ -13073,6 +13066,15 @@ __metadata: languageName: node linkType: hard +"pino-abstract-transport@npm:^2.0.0": + version: 2.0.0 + resolution: "pino-abstract-transport@npm:2.0.0" + dependencies: + split2: "npm:^4.0.0" + checksum: e5699ecb06c7121055978e988e5cecea5b6892fc2589c64f1f86df5e7386bbbfd2ada268839e911b021c6b3123428aed7c6be3ac7940eee139556c75324c7e83 + languageName: node + linkType: hard + "pino-pretty@npm:^10.2.3": version: 10.2.3 resolution: "pino-pretty@npm:10.2.3" @@ -13097,31 +13099,31 @@ __metadata: languageName: node linkType: hard -"pino-std-serializers@npm:^6.0.0": - version: 6.2.2 - resolution: "pino-std-serializers@npm:6.2.2" - checksum: a00cdff4e1fbc206da9bed047e6dc400b065f43e8b4cef1635b0192feab0e8f932cdeb0faaa38a5d93d2e777ba4cda939c2ed4c1a70f6839ff25f9aef97c27ff +"pino-std-serializers@npm:^7.0.0": + version: 7.0.0 + resolution: "pino-std-serializers@npm:7.0.0" + checksum: 884e08f65aa5463d820521ead3779d4472c78fc434d8582afb66f9dcb8d8c7119c69524b68106cb8caf92c0487be7794cf50e5b9c0383ae65b24bf2a03480951 languageName: node linkType: hard -"pino@npm:^8.16.2": - version: 8.16.2 - resolution: "pino@npm:8.16.2" +"pino@npm:^9.13.0": + version: 9.13.0 + resolution: "pino@npm:9.13.0" dependencies: atomic-sleep: "npm:^1.0.0" - fast-redact: "npm:^3.1.1" on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:v1.1.0" - pino-std-serializers: "npm:^6.0.0" - process-warning: "npm:^2.0.0" + pino-abstract-transport: "npm:^2.0.0" + pino-std-serializers: "npm:^7.0.0" + process-warning: "npm:^5.0.0" quick-format-unescaped: "npm:^4.0.3" real-require: "npm:^0.2.0" safe-stable-stringify: "npm:^2.3.1" - sonic-boom: "npm:^3.7.0" - thread-stream: "npm:^2.0.0" + slow-redact: "npm:^0.3.0" + sonic-boom: "npm:^4.0.1" + thread-stream: "npm:^3.0.0" bin: pino: bin.js - checksum: d2860167dd5ce3322d5c007b6e88c4ef672316b193677dc637ba11d6af6ad57475380d2abdbc940a7a9f57c4fa1e5776ee7e43cb1b2c2ffcf9fa42e3af41da0f + checksum: deaad84f8f0b0e08386e0745fa67692377c358ddcf76b84572b236f1087ad3ef381b0e0655c82fde072c0ae46a30f88947e16b2e16c52fc397bb3b844f14dcba languageName: node linkType: hard @@ -13242,10 +13244,10 @@ __metadata: languageName: node linkType: hard -"process-warning@npm:^2.0.0": - version: 2.3.1 - resolution: "process-warning@npm:2.3.1" - checksum: 1c27241fff01886dbb291c1bf4c8bd9f457f09c90d68f1112b1e6a388f1fdc159b50db884fe89a0dcdfbec8b8ca3ffc2caf2bf1a5b7305058179d2b725612425 +"process-warning@npm:^5.0.0": + version: 5.0.0 + resolution: "process-warning@npm:5.0.0" + checksum: 10f3e00ac9fc1943ec4566ff41fff2b964e660f853c283e622257719839d340b4616e707d62a02d6aa0038761bb1fa7c56bc7308d602d51bd96f05f9cd305dcd languageName: node linkType: hard @@ -14574,6 +14576,13 @@ __metadata: languageName: node linkType: hard +"slow-redact@npm:^0.3.0": + version: 0.3.0 + resolution: "slow-redact@npm:0.3.0" + checksum: 01eb2652922b95e3cf1494a7e750f951d74e89b32e816fc42812aa00715be36d70f1cd0d8973c21292b3c772ad4277f6461560eeb28814491786c5904e6eaf08 + languageName: node + linkType: hard + "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -14669,7 +14678,7 @@ __metadata: languageName: node linkType: hard -"sonic-boom@npm:^3.0.0, sonic-boom@npm:^3.7.0": +"sonic-boom@npm:^3.0.0": version: 3.7.0 resolution: "sonic-boom@npm:3.7.0" dependencies: @@ -14678,6 +14687,15 @@ __metadata: languageName: node linkType: hard +"sonic-boom@npm:^4.0.1": + version: 4.2.0 + resolution: "sonic-boom@npm:4.2.0" + dependencies: + atomic-sleep: "npm:^1.0.0" + checksum: 385ef7fb5ea5976c1d2a1fef0b6df8df6b7caba8696d2d67f689d60c05e3ea2d536752ce7e1c69b9fad844635f1036d07c446f8e8149f5c6a80e0040a455b310 + languageName: node + linkType: hard + "sort-keys@npm:^4.2.0": version: 4.2.0 resolution: "sort-keys@npm:4.2.0" @@ -15228,8 +15246,8 @@ __metadata: linkType: hard "tar-fs@npm:^3.0.9": - version: 3.0.9 - resolution: "tar-fs@npm:3.0.9" + version: 3.1.1 + resolution: "tar-fs@npm:3.1.1" dependencies: bare-fs: "npm:^4.0.1" bare-path: "npm:^3.0.0" @@ -15240,7 +15258,7 @@ __metadata: optional: true bare-path: optional: true - checksum: 00e194ef36ced339000099c3cb5205fcd9636a531158d73e0fc1ca056fbcf8dcf39a398cbc71f030bbf938d4f477f47e2913c6e37e9c007bad31e0768a120590 + checksum: f7f7540b563e10541dc0b95f710c68fc1fccde0c1177b4d3bab2023c6d18da19d941a8697fdc1abff54914b71b6e5f2dfb0455572b5c8993b2ab76571cbbc923 languageName: node linkType: hard @@ -15420,12 +15438,12 @@ __metadata: languageName: node linkType: hard -"thread-stream@npm:^2.0.0": - version: 2.4.1 - resolution: "thread-stream@npm:2.4.1" +"thread-stream@npm:^3.0.0": + version: 3.1.0 + resolution: "thread-stream@npm:3.1.0" dependencies: real-require: "npm:^0.2.0" - checksum: baac5bf555912f216a2494bf3f66377733a843306cddd233b1c5ad63084307266f61af35d6122e3936c657836d5db4a14da34300cd25930e013943b807a29c9b + checksum: ea2d816c4f6077a7062fac5414a88e82977f807c82ee330938fb9691fe11883bb03f078551c0518bb649c239e47ba113d44014fcbb5db42c5abd5996f35e4213 languageName: node linkType: hard