From 4b3ac582522aca0a87d1079b7fe79ee05d229eca Mon Sep 17 00:00:00 2001 From: quacumque <43530070+0x009922@users.noreply.github.com> Date: Mon, 17 Jun 2024 18:36:08 +0900 Subject: [PATCH 001/124] feat!: update reference iroha, re-impl codegen, wip Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> --- .prettierignore | 1 - .vscode/settings.json | 5 +- README.md | 2 +- package.json | 26 +- packages/data-model-rust-samples/Cargo.lock | 1505 ++- packages/data-model-rust-samples/Cargo.toml | 2 +- packages/data-model-rust-samples/src/main.rs | 89 +- packages/data-model-schema/src/types.ts | 14 +- packages/data-model/etc/codegen.ts | 41 +- packages/data-model/etc/codegen/index.ts | 728 ++ .../data-model/etc/schema-transform/debug.ts | 3 - .../etc/schema-transform/index.spec.ts | 22 - .../data-model/etc/schema-transform/index.ts | 151 - .../etc/schema-transform/ref.spec.ts | 30 - .../data-model/etc/schema-transform/ref.ts | 124 - .../schema-transform/simplify-units.spec.ts | 73 - .../etc/schema-transform/simplify-units.ts | 78 - packages/data-model/package.json | 1 + packages/data-model/src/codecs.ts | 90 + packages/data-model/src/core.ts | 124 + packages/data-model/src/generated-prelude.ts | 15 + packages/data-model/src/sandbox.ts | 248 + packages/iroha-source/config.js | 4 +- packages/iroha-source/src/util.ts | 3 +- pnpm-lock.yaml | 9324 ++++++++++------- vitest.config.ts | 6 +- 26 files changed, 7288 insertions(+), 5421 deletions(-) create mode 100644 packages/data-model/etc/codegen/index.ts delete mode 100644 packages/data-model/etc/schema-transform/debug.ts delete mode 100644 packages/data-model/etc/schema-transform/index.spec.ts delete mode 100644 packages/data-model/etc/schema-transform/index.ts delete mode 100644 packages/data-model/etc/schema-transform/ref.spec.ts delete mode 100644 packages/data-model/etc/schema-transform/ref.ts delete mode 100644 packages/data-model/etc/schema-transform/simplify-units.spec.ts delete mode 100644 packages/data-model/etc/schema-transform/simplify-units.ts create mode 100644 packages/data-model/src/codecs.ts create mode 100644 packages/data-model/src/core.ts create mode 100644 packages/data-model/src/generated-prelude.ts create mode 100644 packages/data-model/src/sandbox.ts diff --git a/.prettierignore b/.prettierignore index 217974a8..502e7c86 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,7 +1,6 @@ dist dist-tsc node_modules -**/data-model/src/__generated__.ts **/data-model-schema/src/__schema__.json etc/api/**/* packages/crypto/crypto-rs/wasm-pkg-* diff --git a/.vscode/settings.json b/.vscode/settings.json index 5bb9367a..5985cdbf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,8 @@ { "files.associations": { "*.json": "jsonc" - } + }, + "rust-analyzer.linkedProjects": [ + "packages/data-model-rust-samples/Cargo.toml" + ] } diff --git a/README.md b/README.md index b1c2bf69..ffdaa5a2 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ Each monorepo package might have its own scripts and tasks. You can find the pac > This package targets `hyperledger/iroha` at current `iroha2-lts` branch, which has a hash `b783f10fa7de26ed1fdd4c526bd162f8636f1a65`. - Put here a new Iroha 2 reference commit information. + Put here new Iroha 2 reference commit information. ### SDK Compatibility Matrix Tests diff --git a/package.json b/package.json index 6970c6e7..e02431df 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@iroha2/monorepo", "private": true, - "packageManager": "pnpm@8.4.0", + "packageManager": "pnpm@9.3.0", "scripts": { "preinstall": "npx only-allow pnpm", "postinstall": "pnpm jake prepare:all", @@ -13,38 +13,38 @@ }, "devDependencies": { "@changesets/cli": "^2.26.2", - "@esbuild-kit/cjs-loader": "^2.4.1", + "@esbuild-kit/cjs-loader": "^2.4.4", "@iroha2/test-peer": "workspace:^0.0.1", "@rollup/plugin-replace": "^5.0.2", "@types/jake": "^0.0.33", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", + "@typescript-eslint/eslint-plugin": "^7.13.0", + "@typescript-eslint/parser": "^7.13.0", "chalk": "4.1.2", "consola": "^2.15.3", "debug": "^4.3.4", "del": "^6.0.0", - "eslint": "^8.45.0", - "eslint-config-alloy": "^5.0.0", - "eslint-plugin-cypress": "^2.13.3", - "eslint-plugin-vue": "^9.15.1", + "eslint": "^9.4.0", + "eslint-config-alloy": "^5.1.2", + "eslint-plugin-cypress": "^3.3.0", + "eslint-plugin-vue": "^9.26.0", "execa": "^7.0.0", "fp-ts": "^2.13.1", "immutable": "^4.2.4", "jake": "^10.8.5", "make-dir": "^3.1.0", "npm-run-all": "^4.1.5", - "prettier": "^3.0.3", - "prettier-eslint": "^16.1.2", + "prettier": "^3.3.2", + "prettier-eslint": "^16.3.0", "prettier-eslint-cli": "^8.0.1", "rollup": "^3.26.2", "rollup-plugin-dts": "^5.3.0", "tiny-invariant": "^1.3.1", "ts-pattern": "^5.0.1", - "tsx": "^3.12.2", + "tsx": "^4.15.4", "type-fest": "^3.9.0", - "typescript": "^5.2.2", + "typescript": "^5.4.5", "vite": "^5.1.5", - "vitest": "^1.3.1", + "vitest": "^1.6.0", "zx": "^7.2.0" } } diff --git a/packages/data-model-rust-samples/Cargo.lock b/packages/data-model-rust-samples/Cargo.lock index 01eb3bd9..664523fe 100644 --- a/packages/data-model-rust-samples/Cargo.lock +++ b/packages/data-model-rust-samples/Cargo.lock @@ -3,104 +3,161 @@ version = 3 [[package]] -name = "addr2line" -version = "0.17.0" +name = "aead" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ - "gimli", + "crypto-common", + "generic-array", ] [[package]] -name = "adler" -version = "1.0.2" +name = "ahash" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] [[package]] -name = "aead" -version = "0.3.2" +name = "ark-bls12-377" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" dependencies = [ - "generic-array 0.14.6", + "ark-ec", + "ark-ff", + "ark-std", ] [[package]] -name = "aes" -version = "0.6.0" +name = "ark-bls12-381" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" +checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" dependencies = [ - "aes-soft", - "aesni", - "cipher", + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", ] [[package]] -name = "aes-gcm" -version = "0.8.0" +name = "ark-ec" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", - "subtle", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "itertools", + "num-traits", + "zeroize", ] [[package]] -name = "aes-soft" -version = "0.6.4" +name = "ark-ff" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest", + "itertools", + "num-bigint", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" dependencies = [ - "cipher", - "opaque-debug 0.3.0", + "quote", + "syn 1.0.109", ] [[package]] -name = "aesni" -version = "0.10.0" +name = "ark-ff-macros" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ - "cipher", - "opaque-debug 0.3.0", + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "amcl" -version = "0.2.0" +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee5cca1ddc8b9dceb55b7f1272a9d1e643d73006f350a20ab4926d24e33f0f0d" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "amcl_wrapper" +name = "ark-std" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c7c7627444413f6a488bf9e6d352aea6fcfa281123cd92ecac0b3c9ef5ef2" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ - "byteorder", - "lazy_static", - "miracl_core", - "rand 0.7.3", - "rayon", - "serde", - "serde_bytes", - "serde_json", - "sha3 0.8.2", - "subtle-encoding", - "zeroize", + "num-traits", + "rand", ] [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" @@ -108,15 +165,6 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" -[[package]] -name = "autocfg" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" -dependencies = [ - "autocfg 1.1.0", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -124,31 +172,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] -name = "backtrace" -version = "0.3.66" +name = "base16ct" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base64" -version = "0.21.4" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "bitflags" -version = "1.3.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bitvec" @@ -164,101 +209,28 @@ dependencies = [ [[package]] name = "blake2" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "block-buffer" -version = "0.7.3" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "block-padding 0.1.5", - "byte-tools", - "byteorder", - "generic-array 0.12.4", + "digest", ] [[package]] name = "block-buffer" -version = "0.9.0" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "block-padding 0.2.1", - "generic-array 0.14.6", + "generic-array", ] -[[package]] -name = "block-modes" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" -dependencies = [ - "block-padding 0.2.1", - "cipher", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "bumpalo" -version = "3.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" - [[package]] name = "byte-slice-cast" version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "c2-chacha" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "217192c943108d8b13bac38a1d51df9ce8a407a3f5a71ab633980665e68fbd9a" -dependencies = [ - "ppv-lite86", -] - -[[package]] -name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" - [[package]] name = "cfg-if" version = "1.0.0" @@ -267,19 +239,20 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chacha20" -version = "0.6.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed8738f14471a99f0e316c327e68fc82a3611cc2895fcb604b89eedaf8f39d95" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ + "cfg-if", "cipher", - "zeroize", + "cpufeatures", ] [[package]] name = "chacha20poly1305" -version = "0.7.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1fc18e6d90c40164bf6c317476f2a98f04661e310e79830366b7e914c58a8e" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", "chacha20", @@ -289,137 +262,102 @@ dependencies = [ ] [[package]] -name = "cipher" -version = "0.2.5" +name = "chrono" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ - "generic-array 0.14.6", -] - -[[package]] -name = "const-oid" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6f2aa4d0537bcc1c74df8755072bd31c1ef1a3a1b85a68e8404a8c353b7b8b" - -[[package]] -name = "cpufeatures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" -dependencies = [ - "libc", + "num-traits", + "serde", ] [[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - -[[package]] -name = "crossbeam-channel" -version = "0.5.6" +name = "cipher" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "cfg-if", - "crossbeam-utils", + "crypto-common", + "inout", + "zeroize", ] [[package]] -name = "crossbeam-deque" -version = "0.8.2" +name = "const-oid" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" -dependencies = [ - "cfg-if", - "crossbeam-epoch", - "crossbeam-utils", -] +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] -name = "crossbeam-epoch" -version = "0.9.11" +name = "constcat" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" -dependencies = [ - "autocfg 1.1.0", - "cfg-if", - "crossbeam-utils", - "memoffset", - "scopeguard", -] +checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" [[package]] -name = "crossbeam-utils" -version = "0.8.12" +name = "cpufeatures" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ - "cfg-if", + "libc", ] [[package]] name = "crypto-bigint" -version = "0.2.11" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83bd3bb4314701c568e340cd8cf78c975aa0ca79e03d3f6d1677d5b0c9c0c03" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "generic-array 0.14.6", - "rand_core 0.6.4", + "generic-array", + "rand_core", "subtle", "zeroize", ] [[package]] -name = "crypto-mac" -version = "0.8.0" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.6", - "subtle", + "generic-array", + "typenum", ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "curve25519-dalek" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ - "generic-array 0.14.6", + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest", + "fiat-crypto", + "platforms", + "rustc_version", "subtle", + "zeroize", ] [[package]] -name = "ctr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" -dependencies = [ - "cipher", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.1" +name = "curve25519-dalek-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", + "proc-macro2", + "quote", + "syn 2.0.66", ] [[package]] name = "darling" -version = "0.20.3" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ "darling_core", "darling_macro", @@ -427,27 +365,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] @@ -462,18 +400,28 @@ dependencies = [ [[package]] name = "der" -version = "0.4.5" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b71cca7d95d7681a4b3b9cdf63c8dbc3730d0584c2c74e31416d64a90493f4" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", + "zeroize", ] [[package]] -name = "derive_more" -version = "0.99.17" +name = "deranged" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", "quote", @@ -481,32 +429,36 @@ dependencies = [ ] [[package]] -name = "digest" -version = "0.8.1" +name = "derive_more" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "generic-array 0.12.4", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] name = "digest" -version = "0.9.0" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "generic-array 0.14.6", + "block-buffer", + "const-oid", + "crypto-common", + "subtle", ] [[package]] name = "displaydoc" version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +source = "git+https://github.com/akonradi-signal/displaydoc.git?branch=anonymous-const#ff2f562740a478e05551881f7355941c62dbfcc2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] @@ -517,36 +469,40 @@ checksum = "9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1" [[package]] name = "ecdsa" -version = "0.12.4" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43ee23aa5b4f68c7a092b5c3beb25f50c406adc75e2363634f242f28ab255372" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", + "digest", "elliptic-curve", - "hmac", + "rfc6979", "signature", + "spki", ] [[package]] name = "ed25519" -version = "1.5.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ + "pkcs8", "signature", ] [[package]] name = "ed25519-dalek" -version = "1.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", - "rand 0.7.3", + "rand_core", "serde", "sha2", + "subtle", "zeroize", ] @@ -558,65 +514,44 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.10.6" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beca177dcb8eb540133e7680baff45e7cc4d93bf22002676cec549f82343721b" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ + "base16ct", "crypto-bigint", + "digest", "ff", - "generic-array 0.14.6", + "generic-array", "group", "pkcs8", - "rand_core 0.6.4", + "rand_core", + "sec1", "subtle", "zeroize", ] [[package]] -name = "failure" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" -dependencies = [ - "backtrace", - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.8" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure", -] +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "ff" -version = "0.10.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f40b2dcd8bc322217a5f6559ae5f9e9d1de202a2ecee2e9eafcbece7562a4f" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core 0.6.4", + "rand_core", "subtle", ] [[package]] -name = "fixnum" -version = "0.9.2" +name = "fiat-crypto" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a312dd8b1a9875c6a2ddf253caa740804857615a478aa576d6982a41782516f" -dependencies = [ - "derive_more", - "itoa", - "parity-scale-codec", - "serde", - "static_assertions", - "typenum", -] +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "fnv" @@ -624,36 +559,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "funty" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - [[package]] name = "generic-array" version = "0.14.6" @@ -662,19 +573,7 @@ checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", + "zeroize", ] [[package]] @@ -685,7 +584,7 @@ checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -701,31 +600,30 @@ dependencies = [ ] [[package]] -name = "ghash" -version = "0.3.1" +name = "group" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "opaque-debug 0.3.0", - "polyval", + "ff", + "rand_core", + "subtle", ] [[package]] -name = "gimli" -version = "0.26.2" +name = "hashbrown" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash", +] [[package]] -name = "group" -version = "0.10.0" +name = "hashbrown" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c363a5301b8f153d80747126a04b3c82073b9fe3130571a9d170cacdeaf7912" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "heck" @@ -733,15 +631,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hex" version = "0.4.3" @@ -753,22 +642,20 @@ dependencies = [ [[package]] name = "hkdf" -version = "0.11.0" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "digest 0.9.0", "hmac", ] [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "crypto-mac 0.11.1", - "digest 0.9.0", + "digest", ] [[package]] @@ -789,30 +676,62 @@ dependencies = [ ] [[package]] -name = "int_traits" -version = "0.1.1" +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", +] + +[[package]] +name = "inout" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b33c9a5c599d67d051c4dc25eb1b6b4ef715d1763c20c85c688717a1734f204e" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] [[package]] name = "iroha_crypto" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ + "aead", + "arrayref", + "blake2", + "chacha20poly1305", + "curve25519-dalek", "derive_more", + "digest", + "displaydoc", + "ed25519-dalek", + "elliptic-curve", "getset", "hex", + "hkdf", "iroha_macro", "iroha_primitives", "iroha_schema", + "k256", "parity-scale-codec", + "rand", + "rand_chacha", + "rand_core", "serde", "serde_with", - "ursa", + "sha2", + "signature", + "thiserror", + "w3f-bls", + "x25519-dalek", + "zeroize", ] [[package]] name = "iroha_data_model" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "base64", "derive_more", @@ -824,6 +743,8 @@ dependencies = [ "iroha_primitives", "iroha_schema", "iroha_version", + "nonzero_ext", + "once_cell", "parity-scale-codec", "serde", "serde_json", @@ -834,58 +755,72 @@ dependencies = [ [[package]] name = "iroha_data_model_derive" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "darling", "iroha_macro_utils", "manyhow", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] name = "iroha_derive" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "darling", "manyhow", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] name = "iroha_macro" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "iroha_derive", ] [[package]] name = "iroha_macro_utils" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "darling", "drop_bomb", "manyhow", "proc-macro2", "quote", - "syn 1.0.109", - "syn 2.0.38", + "syn 2.0.66", +] + +[[package]] +name = "iroha_numeric" +version = "2.0.0-pre-rc.21" +dependencies = [ + "derive_more", + "displaydoc", + "iroha_schema", + "parity-scale-codec", + "rust_decimal", + "serde", + "serde_with", + "thiserror", ] [[package]] name = "iroha_primitives" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "derive_more", "displaydoc", - "fixnum", "iroha_macro", + "iroha_numeric", "iroha_primitives_derive", "iroha_schema", "parity-scale-codec", + "parking_lot", "serde", "serde_with", "smallstr", @@ -895,37 +830,37 @@ dependencies = [ [[package]] name = "iroha_primitives_derive" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ + "iroha_numeric", "manyhow", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] name = "iroha_schema" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ - "fixnum", "iroha_schema_derive", "serde", ] [[package]] name = "iroha_schema_derive" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "darling", "manyhow", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] name = "iroha_version" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "iroha_macro", "iroha_version_derive", @@ -937,67 +872,66 @@ dependencies = [ [[package]] name = "iroha_version_derive" -version = "2.0.0-pre-rc.20" +version = "2.0.0-pre-rc.21" dependencies = [ "darling", "manyhow", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] -name = "itoa" -version = "1.0.4" +name = "itertools" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] [[package]] -name = "js-sys" -version = "0.3.60" +name = "itoa" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" -dependencies = [ - "wasm-bindgen", -] +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "k256" -version = "0.9.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903ae2481bcdfdb7b68e0a9baa4b7c9aff600b9ae2e8e5bb5833b8c91ab851ea" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", + "once_cell", "sha2", ] [[package]] name = "keccak" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" - -[[package]] -name = "lazy_static" -version = "1.4.0" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] [[package]] name = "libc" -version = "0.2.135" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] -name = "log" -version = "0.4.17" +name = "lock_api" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ - "cfg-if", + "autocfg", + "scopeguard", ] [[package]] @@ -1010,8 +944,7 @@ dependencies = [ "manyhow-macros", "proc-macro2", "quote", - "syn 1.0.109", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] @@ -1032,59 +965,50 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] -name = "memoffset" -version = "0.6.5" +name = "nonzero_ext" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg 1.1.0", -] +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" [[package]] -name = "miniz_oxide" -version = "0.5.4" +name = "num-bigint" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "adler", + "num-integer", + "num-traits", ] [[package]] -name = "miracl_core" -version = "1.0.0" +name = "num-conv" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4330eca86d39f2b52d0481aa1e90fe21bfa61f11b0bf9b48ab95595013cefe48" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] -name = "num_cpus" -version = "1.13.1" +name = "num-integer" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "hermit-abi", - "libc", + "num-traits", ] [[package]] -name = "object" -version = "0.29.0" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "memchr", + "autocfg", ] [[package]] name = "once_cell" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" - -[[package]] -name = "opaque-debug" -version = "0.2.3" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opaque-debug" @@ -1093,106 +1017,92 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] -name = "openssl" -version = "0.10.42" +name = "parity-scale-codec" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", ] [[package]] -name = "openssl-macros" -version = "0.1.0" +name = "parity-scale-codec-derive" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ + "proc-macro-crate", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] -name = "openssl-sys" -version = "0.9.76" +name = "parking_lot" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ - "autocfg 1.1.0", - "cc", - "libc", - "pkg-config", - "vcpkg", + "lock_api", + "parking_lot_core", ] [[package]] -name = "parity-scale-codec" -version = "3.6.5" +name = "parking_lot_core" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ - "arrayvec", - "bitvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", ] [[package]] -name = "parity-scale-codec-derive" -version = "3.6.5" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pkcs8" -version = "0.7.6" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee3ef9b64d26bad0536099c816c6734379e45bbd5f14798def6809e5cc350447" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der", "spki", ] [[package]] -name = "pkg-config" -version = "0.3.25" +name = "platforms" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" [[package]] name = "poly1305" -version = "0.6.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7456bc1ad2d4cf82b3a016be4c2ac48daf11bf990c1603ebd447fe6f30fca8" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "cpuid-bool", + "cpufeatures", + "opaque-debug", "universal-hash", ] [[package]] -name = "polyval" -version = "0.4.5" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" -dependencies = [ - "cpuid-bool", - "opaque-debug 0.3.0", - "universal-hash", -] +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" @@ -1202,13 +1112,11 @@ checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -1248,18 +1156,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -1272,77 +1180,23 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -dependencies = [ - "autocfg 0.1.8", - "libc", - "rand_chacha 0.1.1", - "rand_core 0.4.2", - "rand_hc 0.1.0", - "rand_isaac", - "rand_jitter", - "rand_pcg", - "rand_xorshift", - "winapi", -] - -[[package]] -name = "rand" -version = "0.7.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "getrandom 0.1.16", "libc", - "rand_chacha 0.2.1", - "rand_core 0.5.1", - "rand_hc 0.2.0", -] - -[[package]] -name = "rand_chacha" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" -dependencies = [ - "autocfg 0.1.8", - "rand_core 0.3.1", + "rand_chacha", + "rand_core", ] [[package]] name = "rand_chacha" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" -dependencies = [ - "c2-chacha", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_core" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ - "getrandom 0.1.16", + "ppv-lite86", + "rand_core", ] [[package]] @@ -1351,96 +1205,48 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.7", -] - -[[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_jitter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -dependencies = [ - "libc", - "rand_core 0.4.2", - "winapi", + "getrandom", ] [[package]] -name = "rand_pcg" -version = "0.1.2" +name = "redox_syscall" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "autocfg 0.1.8", - "rand_core 0.4.2", + "bitflags", ] [[package]] -name = "rand_xorshift" -version = "0.1.1" +name = "rfc6979" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "rand_core 0.3.1", + "hmac", + "subtle", ] [[package]] -name = "rayon" -version = "1.5.3" +name = "rust_decimal" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ - "autocfg 1.1.0", - "crossbeam-deque", - "either", - "rayon-core", + "arrayvec", + "num-traits", + "serde", ] [[package]] -name = "rayon-core" -version = "1.9.3" +name = "rustc_version" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", + "semver", ] -[[package]] -name = "rustc-demangle" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" - [[package]] name = "rustversion" version = "1.0.9" @@ -1460,59 +1266,50 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] -name = "secp256k1" -version = "0.19.0" +name = "sec1" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6179428c22c73ac0fbb7b5579a56353ce78ba29759b3b8575183336ea74cdfb" +checksum = "48518a2b5775ba8ca5b46596aae011caa431e6ce7e4a67ead66d92f08884220e" dependencies = [ - "rand 0.6.5", - "secp256k1-sys", - "serde", + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", ] [[package]] -name = "secp256k1-sys" -version = "0.3.0" +name = "semver" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11553d210db090930f4432bea123b31f70bbf693ace14504ea2a35e796c28dd2" -dependencies = [ - "cc", -] +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.189" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] -[[package]] -name = "serde_bytes" -version = "0.11.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" -version = "1.0.189" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -1521,72 +1318,61 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.3.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ + "base64", + "chrono", + "hex", "serde", + "serde_derive", + "serde_json", "serde_with_macros", + "time", ] [[package]] name = "serde_with_macros" -version = "3.3.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] name = "sha2" -version = "0.9.9" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sha3" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd26bc0e7a2e3a7c959bc494caf58b72ee0c71d67704e9520f736ca7e4853ecf" -dependencies = [ - "block-buffer 0.7.3", - "byte-tools", - "digest 0.8.1", - "keccak", - "opaque-debug 0.2.3", + "digest", ] [[package]] name = "sha3" -version = "0.9.1" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", + "digest", "keccak", - "opaque-debug 0.3.0", ] [[package]] name = "signature" -version = "1.3.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2807892cfa58e081aa1f1111391c7a0649d4fa127a4ffbe34bcbfb35a1171a4" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.9.0", - "rand_core 0.6.4", + "digest", + "rand_core", ] [[package]] @@ -1601,33 +1387,28 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" dependencies = [ "serde", ] [[package]] name = "spki" -version = "0.4.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c01a0c15da1b0b0e1494112e7af814a678fec9bd157881b49beac661e9b6f32" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ + "base64ct", "der", ] -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" @@ -1648,7 +1429,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] @@ -1657,15 +1438,6 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" -[[package]] -name = "subtle-encoding" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] - [[package]] name = "syn" version = "1.0.109" @@ -1679,9 +1451,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.38" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -1708,42 +1480,58 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.66", ] [[package]] name = "time" -version = "0.1.44" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", + "deranged", + "num-conv", + "powerfmt", + "serde", + "time-core", ] [[package]] -name = "toml" -version = "0.5.9" +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "toml_datetime" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "serde", + "indexmap", + "toml_datetime", + "winnow", ] [[package]] @@ -1766,159 +1554,123 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "universal-hash" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "generic-array 0.14.6", + "crypto-common", "subtle", ] [[package]] -name = "ursa" -version = "0.3.7" +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "w3f-bls" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8760a62e18e4d3e3f599e15c09a9f9567fd9d4a90594d45166162be8d232e63b" +checksum = "9c5da5fa2c6afa2c9158eaa7cd9aee249765eb32b5fb0c63ad8b9e79336a47ec" dependencies = [ - "aead", - "aes", - "aes-gcm", - "amcl", - "amcl_wrapper", + "ark-bls12-377", + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-serialize-derive", "arrayref", - "blake2", - "block-modes", - "block-padding 0.2.1", - "chacha20poly1305", - "curve25519-dalek", - "ed25519-dalek", - "failure", - "hex", - "hkdf", - "hmac", - "int_traits", - "k256", - "lazy_static", - "log", - "openssl", - "rand 0.7.3", - "rand_chacha 0.2.1", - "secp256k1", - "serde", + "constcat", + "digest", + "rand", + "rand_chacha", + "rand_core", "sha2", - "sha3 0.9.1", - "subtle", - "time", - "x25519-dalek", + "sha3", + "thiserror", "zeroize", ] [[package]] -name = "vcpkg" -version = "0.2.15" +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] -name = "version_check" -version = "0.9.4" +name = "windows-targets" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] [[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" +name = "windows_aarch64_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" +name = "windows_aarch64_msvc" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +name = "windows_i686_gnu" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" [[package]] -name = "wasm-bindgen" -version = "0.2.83" +name = "windows_i686_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] -name = "wasm-bindgen-backend" -version = "0.2.83" +name = "windows_i686_msvc" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 1.0.109", - "wasm-bindgen-shared", -] +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] -name = "wasm-bindgen-macro" -version = "0.2.83" +name = "windows_x86_64_gnu" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.83" +name = "windows_x86_64_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] -name = "wasm-bindgen-shared" -version = "0.2.83" +name = "windows_x86_64_msvc" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] -name = "winapi" -version = "0.3.9" +name = "winnow" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "memchr", ] -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "wyz" version = "0.5.0" @@ -1930,20 +1682,39 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "1.2.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2392b6b94a576b4e2bf3c5b2757d63f10ada8020a2e4d08ac849ebcf6ea8e077" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ "curve25519-dalek", - "rand_core 0.5.1", - "zeroize", + "rand_core", +] + +[[package]] +name = "zerocopy" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", ] [[package]] name = "zeroize" -version = "1.3.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] diff --git a/packages/data-model-rust-samples/Cargo.toml b/packages/data-model-rust-samples/Cargo.toml index b25d312c..27d282f9 100644 --- a/packages/data-model-rust-samples/Cargo.toml +++ b/packages/data-model-rust-samples/Cargo.toml @@ -7,4 +7,4 @@ edition = "2021" iroha_data_model = { path = "../iroha-source/.iroha/data_model" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -parity-scale-codec = "3.2.1" +parity-scale-codec = "3.2" diff --git a/packages/data-model-rust-samples/src/main.rs b/packages/data-model-rust-samples/src/main.rs index 770fe11b..905f9d97 100644 --- a/packages/data-model-rust-samples/src/main.rs +++ b/packages/data-model-rust-samples/src/main.rs @@ -1,3 +1,4 @@ +use iroha_data_model::metadata::MetadataValueBox; use iroha_data_model::prelude::*; use parity_scale_codec::Encode; use serde::Serialize; @@ -6,6 +7,9 @@ use std::fmt::Debug; use std::str::FromStr; use std::time::Duration; +const SAMPLE_SIGNATORY: &str = + "ed01207233BFC89DCBD68C19FDE6CE6158225298EC1131B6A130D1AEB454C1AB5183C0"; + fn main() { println!( "{}", @@ -13,21 +17,15 @@ fn main() { .add("DomainId", &DomainId::from_str("Hey").unwrap()) .add( "AssetDefinitionId", - &AssetDefinitionId::from_str("rose#wonderland").unwrap(), + &AssetDefinitionId::from_str(&format!("{SAMPLE_SIGNATORY}#wonderland")).unwrap(), ) .add( "AccountId", - &AccountId::from_str("alice@wonderland").unwrap(), - ) - .add( - "Time-based Trigger ISI", - &create_some_time_based_trigger_isi(), - ) - .add( - "Event-based Trigger ISI", - &create_some_event_based_trigger_isi(), + &AccountId::from_str(&format!("{SAMPLE_SIGNATORY}@wonderland")).unwrap(), ) - .add("Metadata", &create_metadata()) + .add("Time-based Trigger ISI", &sample_register_time_trigger(),) + .add("Data-based Trigger ISI", &sample_register_data_trigger(),) + .add("Metadata", &sample_metadata()) .to_json() ); } @@ -78,57 +76,59 @@ fn to_hex(val: &Vec) -> String { parts.join(" ") } -fn create_some_time_based_trigger_isi() -> RegisterExpr { +fn sample_register_time_trigger() -> InstructionBox { let asset_id = AssetId::new( - AssetDefinitionId::from_str("rose#wonderland").unwrap(), - AccountId::from_str("alice@wonderland").unwrap(), + AssetDefinitionId::from_str(&format!("{SAMPLE_SIGNATORY}#wonderland")).unwrap(), + AccountId::from_str(&format!("{SAMPLE_SIGNATORY}@wonderland")).unwrap(), ); - let mint: InstructionExpr = MintExpr::new(1_u32, asset_id.clone()).into(); - - RegisterExpr::new(Trigger::new( + Register::trigger(Trigger::new( "mint_rose".parse().expect("valid"), Action::new( - vec![mint], + [Mint::asset_numeric(1u32, asset_id.clone())], Repeats::Indefinitely, - asset_id.account_id().clone(), - TriggeringFilterBox::Time(TimeEventFilter::new(ExecutionTime::Schedule( - TimeSchedule::starting_at(Duration::from_secs(4141203402341234)) + asset_id.account().clone(), + TimeEventFilter::new(ExecutionTime::Schedule( + TimeSchedule::starting_at(Duration::from_secs(500)) .with_period(Duration::from_millis(3_000)), - ))), + )), ), )) + .into() } -fn create_some_event_based_trigger_isi() -> RegisterExpr { - let asset_definition_id = "rose#wonderland".parse().unwrap(); - let account_id = ::Id::from_str("alice@wonderland").unwrap(); - let asset_id = AssetId::new(asset_definition_id, account_id.clone()); - let mint: InstructionExpr = MintExpr::new(1_u32, asset_id.clone()).into(); +fn sample_register_data_trigger() -> InstructionBox { + let asset_definition_id: AssetDefinitionId = + format!("{SAMPLE_SIGNATORY}#wonderland").parse().unwrap(); + let account_id = + ::Id::from_str(&format!("{SAMPLE_SIGNATORY}@wonderland")).unwrap(); + let asset_id = AssetId::new(asset_definition_id.clone(), account_id.clone()); - RegisterExpr::new(Trigger::new( + Register::trigger(Trigger::new( "mint_rose".parse().expect("valid"), Action::new( - vec![mint], + [Mint::asset_numeric(1u32, asset_id)], Repeats::Indefinitely, account_id, - TriggeringFilterBox::Data(BySome(DataEntityFilter::ByAssetDefinition(BySome( - AssetDefinitionFilter::new( - AcceptAll, - BySome(AssetDefinitionEventFilter::ByCreated), - ), - )))), + DataEventFilter::AssetDefinition( + AssetDefinitionEventFilter::new() + .for_asset_definition(asset_definition_id) + .for_events( + AssetDefinitionEventSet::Created | AssetDefinitionEventSet::OwnerChanged, + ), + ), ), )) + .into() } -fn create_metadata() -> Metadata { +fn sample_metadata() -> Metadata { trait LocalSet { - fn set(self, name: &str, value: Value) -> Self; + fn set(self, name: &str, value: impl Into) -> Self; } impl LocalSet for Metadata { - fn set(mut self, name: &str, value: Value) -> Self { + fn set(mut self, name: &str, value: impl Into) -> Self { match self .insert_with_limits( Name::from_str(name).unwrap(), @@ -145,14 +145,9 @@ fn create_metadata() -> Metadata { } Metadata::new() - .set( - "authentication", - Value::String( - "80252ad79c68c01ec8946983411ce3b7cbea21d25f68c8546c687b2a7e2505cc".to_owned(), - ), - ) - .set("email", Value::String("user123@mail.com".to_owned())) - .set("salt", Value::String("ABCDEFG".to_owned())) + .set("authentication", "80252ad8c8546c687b2a7e2505cc".to_owned()) + .set("email", "user123@mail.com".to_owned()) + .set("salt", "ABCDEFG".to_owned()) } #[cfg(test)] @@ -161,7 +156,7 @@ mod tests { #[test] fn dbg_trigger_isi() { - let value = create_some_time_based_trigger_isi(); + let value = sample_register_time_trigger(); dbg!(&value); } diff --git a/packages/data-model-schema/src/types.ts b/packages/data-model-schema/src/types.ts index 480849c2..d85b44cf 100644 --- a/packages/data-model-schema/src/types.ts +++ b/packages/data-model-schema/src/types.ts @@ -12,8 +12,8 @@ export type SchemaTypeDefinition = | EnumDefinition | ArrayDefinition | IntDefinition - | FixedPointDefinition - | TupleDef + | TupleDefinition + | BitmapDefinition export interface MapDefinition { Map: { @@ -22,7 +22,7 @@ export interface MapDefinition { } } -export interface TupleDef { +export interface TupleDefinition { Tuple: TypePath[] } @@ -64,10 +64,10 @@ export interface IntDefinition { Int: string } -export interface FixedPointDefinition { - FixedPoint: { - base: string - decimal_places: number +export interface BitmapDefinition { + Bitmap: { + repr: string + masks: { name: string; mask: number }[] } } diff --git a/packages/data-model/etc/codegen.ts b/packages/data-model/etc/codegen.ts index fb928a99..84ed1d32 100644 --- a/packages/data-model/etc/codegen.ts +++ b/packages/data-model/etc/codegen.ts @@ -4,8 +4,9 @@ import chalk from 'chalk' import fs from 'fs/promises' import { renderNamespaceDefinition } from '@scale-codec/definition-compiler' import { SCHEMA } from '@iroha2/data-model-schema' -import { transformSchema } from './schema-transform' +// import { transformSchema } from './schema-transform' import { CODEGEN_OUTPUT_FILE } from './meta' +import { generate } from './codegen/index' const AVAILABLE_FIXED_POINTS = new Set(['I64P9']) const EXTENSION_MODULE = './extension' @@ -14,25 +15,25 @@ async function main() { consola.log( chalk`Converting {blue.bold SCHEMA} from {yellow.bold \`@iroha2/data-model-schema\`} to compiler-compatible format...`, ) - const { definition, fixedPoints, nonZero } = transformSchema(SCHEMA) - - for (const { ty } of nonZero) { - definition[ty] = { t: 'import', module: EXTENSION_MODULE } - } - - for (const { decimalPlaces, base, ref } of fixedPoints) { - const code = `${base.toUpperCase()}P${decimalPlaces}` - if (!AVAILABLE_FIXED_POINTS.has(code)) throw new Error(`FixedPoint ${code} is not supported`) - definition[ref] = { - t: 'import', - module: EXTENSION_MODULE, - nameInModule: `FixedPoint${code}`, - } - } - - const generated = renderNamespaceDefinition(definition, { - rollupSingleTuplesIntoAliases: true, - }) + const generated = generate(SCHEMA) + + // for (const { ty } of nonZero) { + // definition[ty] = { t: 'import', module: EXTENSION_MODULE } + // } + + // for (const { decimalPlaces, base, ref } of fixedPoints) { + // const code = `${base.toUpperCase()}P${decimalPlaces}` + // if (!AVAILABLE_FIXED_POINTS.has(code)) throw new Error(`FixedPoint ${code} is not supported`) + // definition[ref] = { + // t: 'import', + // module: EXTENSION_MODULE, + // nameInModule: `FixedPoint${code}`, + // } + // } + + // const generated = renderNamespaceDefinition(definition, { + // rollupSingleTuplesIntoAliases: true, + // }) await fs.writeFile(CODEGEN_OUTPUT_FILE, generated, { encoding: 'utf8' }) diff --git a/packages/data-model/etc/codegen/index.ts b/packages/data-model/etc/codegen/index.ts new file mode 100644 index 00000000..78fca0f8 --- /dev/null +++ b/packages/data-model/etc/codegen/index.ts @@ -0,0 +1,728 @@ +import { Schema } from '@iroha2/data-model-schema' +import { P, match } from 'ts-pattern' +import Debug from 'debug' +import invariant from 'tiny-invariant' + +const debugCodegen = Debug('@iroha2/data-model').extend('codegen') + +export function generate(schema: Schema): string { + const transformed = transform(schema) + transformed.sort((a, b) => (a.id < b.id ? -1 : a.id === b.id ? 0 : 1)) + + return [`import * as lib from './generated-prelude'`, ...transformed.map((x) => generateSingleEntry(x))].join('\n') +} + +/** + * Apply a number of transformations to the schema: + * + * - Remove useless aliases (e.g. `bool` -> `bool`, void types, etc), + * - Expand some "newtype"-aliases to structs with a named field + * - Remove integer definitions + * - De-monomorphisation of generic containers + * - Simplify `GenericPredicateBox` to just `PredicateBox` + * - Replace `HashOf` with `Hash` + * - Replace `SignatureOf` with `Signature` + * - Make `BlockSubscriptionRequest` a struct, not an alias + * - Make `Duration` a struct, not a tuple + * - Handle stringified array definitions + * - Expand some types to _special_ ones, such as `JsonString` and `NonZero` integers + * - Fix `Compact` to just `Compact` + */ +function transform(schema: Schema): ActualCodegenSchema { + const debug = debugCodegen.extend('transform') + + const items: ActualCodegenSchema = [ + ...['Register', 'Unregister'].map( + (id): CodegenEntry => ({ + t: 'struct-gen', + id, + genericsCount: 1, + fields: [{ name: 'object', type: { t: 'gen', genericIndex: 0 } }], + }), + ), + ...['SetKeyValue', 'RemoveKeyValue'].map( + (id): CodegenEntry => ({ + t: 'struct-gen', + id, + genericsCount: 1, + fields: [ + { name: 'object', type: { t: 'gen', genericIndex: 0 } }, + { name: 'key', type: { t: 'lib', id: 'codecs.String' } }, + { name: 'value', type: { t: 'ref', id: 'MetadataValueBox' } }, + ], + }), + ), + ...['Mint', 'Burn', 'Grant', 'Revoke'].map( + (id): CodegenEntry => ({ + t: 'struct-gen', + id, + genericsCount: 2, + fields: [ + { name: 'object', type: { t: 'gen', genericIndex: 0 } }, + { name: 'destination', type: { t: 'gen', genericIndex: 1 } }, + ], + }), + ), + { + t: 'struct-gen', + id: 'Transfer', + genericsCount: 3, + fields: [ + { name: 'source', type: { t: 'gen', genericIndex: 0 } }, + { name: 'object', type: { t: 'gen', genericIndex: 1 } }, + { name: 'destination', type: { t: 'gen', genericIndex: 2 } }, + ], + }, + { + t: 'struct-gen', + id: 'MetadataChanged', + genericsCount: 1, + fields: [ + { name: 'target', type: { t: 'gen', genericIndex: 0 } }, + { name: 'key', type: { t: 'lib', id: 'codecs.String' } }, + { name: 'value', type: { t: 'ref', id: 'MetadataValueBox' } }, + ], + }, + { + t: 'struct', + id: 'BlockSignature', + fields: [ + { name: 'peer_topology_index', type: { t: 'lib', id: 'codecs.U64' } }, + { name: 'payload', type: { t: 'ref', id: 'BlockPayload' } }, + ], + }, + { + t: 'struct', + id: 'BlockSubscriptionRequest', + fields: [{ name: 'from_block_height', type: { t: 'non-zero', int: 'codecs.U64' } }], + }, + { + t: 'struct', + id: 'Duration', + fields: [ + // TODO: check if correct + { + name: 'secs', + type: { t: 'lib', id: 'codecs.U64' }, + }, + { + name: 'nanos', + type: { t: 'lib', id: 'codecs.U32' }, + }, + ], + }, + { + t: 'struct', + id: 'EventSubscriptionRequest', + fields: [{ name: 'filters', type: { t: 'vec', item: { t: 'ref', id: 'EventFilterBox' } } }], + }, + { + t: 'struct', + id: 'AssetValueTypeMismatch', + fields: [ + { name: 'expexted', type: { t: 'ref', id: 'AssetValueType' } }, + { name: 'actual', type: { t: 'ref', id: 'AssetValueType' } }, + ], + }, + { + t: 'struct-gen', + id: 'SemiInterval', + genericsCount: 1, + fields: [ + { name: 'start', type: { t: 'gen', genericIndex: 0 } }, + { name: 'limit', type: { t: 'gen', genericIndex: 0 } }, + ], + }, + { + t: 'alias', + id: 'Metadata', + to: { + t: 'lib', + id: 'codecs.Map', + generics: [ + { t: 'lib', id: 'codecs.String' }, + { t: 'ref', id: 'MetadataValueBox' }, + ], + }, + }, + ] + + const NULL_TYPES = new Set( + Object.entries(schema) + .filter(([_, right]) => right === null) + .map(([id]) => id), + ) + + const IGNORE = new Set([ + ...NULL_TYPES, + + // already redefined types + ...items.map((x) => x.id), + + 'TransactionSignature', + 'MerkleTree', + 'Array', + 'BlockMessage', + 'BlockSubscriptionRequest', + 'Vec', + 'Duration', + 'JsonString', + 'ChainId', + 'Compact', + 'EventMessage', + 'EventSubscriptionRequest', + 'SortedVec', + 'NonTrivial', + 'HashOf', + 'SignatureOf', + 'Name', + 'NonZero', + 'Option', + 'QuerySignature', + 'SemiInterval', + 'SortedMap', + 'String', + 'TimeEventFilter', + 'bool', + 'u128', + 'u64', + 'u32', + 'u16', + 'u8', + 'JsonString', + + // replaced with a single `AssetValueTypeMismatch` + 'Mismatch', + ]) + + for (const [key, value] of Object.entries(schema)) { + const keyParsed = parseIdent(key) + + match([keyParsed, value]) + .with([{ id: P.when((x) => IGNORE.has(x)) }, P._], () => { + debug('ignore %o', key) + }) + .with([{ id: 'WasmSmartContract', items: [] }, 'Vec'], ([{ id }]) => { + items.push({ t: 'struct', id, fields: [{ name: 'blob', type: { t: 'lib', id: 'codecs.BytesVec' } }] }) + }) + .with([{ id: 'IpfsPath', items: [] }, 'String'], ([{ id }]) => { + items.push({ t: 'struct', id, fields: [{ name: 'path', type: { t: 'lib', id: 'codecs.String' } }] }) + }) + .with([{ id: 'BatchedResponse', items: [{ id: 'QueryOutputBox' }] }, P._], () => { + // TODO just to BatchedResponseV1 + }) + .with([{ id: 'BatchedResponseV1', items: [{ id: 'QueryOutputBox' }] }, P._], () => { + // TODO just struct as struct, without content change + }) + // arrays + .with( + [{ items: [] }, P.string.and(P.when((rawStr: string) => !!tryParseArray(rawStr)))], + ([{ id }, rawArray]) => { + // match() + const { item, len } = tryParseArray(rawArray)! + match(item) + + items.push({ + t: 'array', + id, + item: transformIdent(item), + len, + }) + }, + ) + .with([{ items: [] }, { Struct: P._ }], ([{ id }, { Struct: fields }]) => { + items.push({ + t: 'struct', + id, + fields: fields.map((x) => ({ + name: x.name, + type: transformIdent(x.type), + })), + }) + }) + .with( + [P.union({ items: [] }, { id: 'GenericPredicateBox' }), { Enum: P._ }], + ([{ id: idRaw }, { Enum: variants }]) => { + const { id, box } = match(idRaw) + .with('GenericPredicateBox', () => ({ id: 'PredicateBox', box: true })) + .with( + P.union( + 'QueryOutputPredicate', + 'QueryOutputBox', + 'MetadataValueBox', + + // SetKeyValueBox -> Trigger -> Action -> Instruction -> SetKeyValueBox + 'SetKeyValueBox', + 'RemoveKeyValueBox', + ), + (id) => ({ id, box: true }), + ) + .otherwise((id) => ({ id, box: false })) + + items.push({ + t: 'enum', + id, + box, + variants: variants.map((x) => + match(x) + .returnType() + .with({ type: P.when((x) => x && NULL_TYPES.has(x)) }, ({ discriminant, tag }) => ({ + t: 'unit', + discriminant, + tag, + })) + .with({ type: P.string }, ({ type, discriminant, tag }) => ({ + t: 'with-type', + type: transformIdent(type), + tag, + discriminant, + })) + .otherwise(({ discriminant, tag }) => ({ + t: 'unit', + discriminant, + tag, + })), + ), + }) + }, + ) + .with( + [{ items: [] }, { Bitmap: { repr: 'u32' } }], + ([ + { id }, + { + Bitmap: { masks }, + }, + ]) => { + items.push({ + t: 'bitmap', + id, + repr: 'u32', + masks, + }) + }, + ) + .otherwise(() => { + throw new Error(`unexpected format of type "${key}"`) + }) + } + + return items +} + +function tryParseArray(id: string): null | { item: Ident; len: number } { + return match(parseIdent(id)) + .with({ id: 'Array', items: [P.select('item'), { id: P.select('len'), items: [] }] }, ({ item, len: lenStr }) => { + const len = Number(lenStr) + invariant(!Number.isNaN(len)) + return { item, len } + }) + .otherwise(() => null) +} + +/** + * Single transform logic for all type names + */ +function transformIdent(id: string | Ident): TypeIdent { + return match(typeof id === 'string' ? parseIdent(id) : id) + .returnType() + .with({ id: 'HashOf', items: [P.any] }, () => ({ t: 'ref', id: 'Hash' })) + .with( + P.union( + { id: 'TransactionSignature', items: [] }, + { id: 'QuerySignature', items: [] }, + { id: 'SignatureOf', items: [P.any] }, + ), + () => ({ + t: 'ref', + id: 'Signature', + }), + ) + .with({ id: 'NonTrivial' }, () => ({ t: 'vec', item: { t: 'ref', id: 'PredicateBox' } })) + .with({ id: 'MerkleTree', items: [{ id: 'SignedTransaction', items: [] }] }, () => ({ + t: 'vec', + item: { t: 'ref', id: 'Hash' }, + })) + .with({ id: 'BlockMessage', items: [] }, () => ({ t: 'ref', id: 'SignedBlock' })) + .with({ id: 'SortedMap', items: [P._, P._] }, ({ items: [key, value] }) => ({ + t: 'map', + key: transformIdent(key), + value: transformIdent(value), + })) + .with({ id: 'NonZero', items: [{ id: P.union('u32', 'u64').select() }] }, (kind) => ({ + t: 'non-zero', + int: `codecs.${kind.toUpperCase() as Uppercase}`, + })) + .with({ id: 'SortedVec', items: [P.select()] }, (item) => ({ t: 'vec', item: transformIdent(item) })) + .with({ id: 'Option', items: [P.select()] }, (some) => ({ + t: 'option', + some: transformIdent(some), + })) + .with({ id: 'TimeEventFilter', items: [] }, () => ({ t: 'ref', id: 'ExecutionTime' })) + .with({ id: 'Mismatch', items: [{ id: 'AssetValueType' }] }, () => ({ t: 'ref', id: 'AssetValueTypeMismatch' })) + .with( + { id: 'Transfer', items: [{ items: [] }, { items: [] }, { items: [] }] }, + ({ items: [{ id: source }, { id: object }, { id: destination }] }) => ({ + t: 'ref', + id: 'Transfer', + generics: [source + 'Id', object, destination + 'Id'].map((id) => transformIdent(id)), + }), + ) + .with( + { + id: P.union('Mint', 'Burn', 'Grant', 'Revoke').select('isi'), + items: [ + { items: [], id: P.select('object') }, + { items: [], id: P.select('destination') }, + ], + }, + ({ isi, object, destination }) => ({ + t: 'ref', + id: isi, + generics: [object, destination + 'Id'].map((id) => transformIdent(id)), + }), + ) + .with({ id: 'MetadataChanged', items: [{ id: P.select(), items: [] }] }, (id) => ({ + t: 'ref', + id: 'MetadataChanged', + generics: [{ t: 'ref', id }], + })) + .with( + { id: P.union('SetKeyValue', 'RemoveKeyValue').select('isi'), items: [{ items: [], id: P.select('id') }] }, + ({ isi, id }) => ({ + t: 'ref', + id: isi, + generics: [{ t: 'ref', id }], + }), + ) + .with( + { id: P.union('Register', 'Unregister').select('isi'), items: [{ id: P.select('id'), items: [] }] }, + ({ isi, id }) => ({ + t: 'ref', + id: isi, + generics: [{ t: 'ref', id: `${id}Id` }], + }), + ) + .with({ id: 'SemiInterval', items: [P._] }, ({ items: [item] }) => ({ + t: 'ref', + id: 'SemiInterval', + generics: [transformIdent(item)], + })) + .with({ id: 'GenericPredicateBox', items: [{ id: 'QueryOutputPredicate', items: [] }] }, () => ({ + t: 'ref', + id: 'PredicateBox', + })) + .with({ id: 'EventMessage', items: [] }, () => ({ t: 'ref', id: 'EventBox' })) + .with({ id: 'Compact' }, () => ({ t: 'lib', id: 'codecs.Compact' })) + .with({ id: 'bool' }, () => ({ t: 'lib', id: 'codecs.Bool' })) + .with({ id: P.union('Name', 'ChainId', 'String'), items: [] }, () => ({ t: 'lib', id: 'codecs.String' })) + .with({ id: 'Vec', items: [{ id: 'u8', items: [] }] }, () => ({ t: 'lib', id: 'codecs.BytesVec' })) + .with({ id: P.union('u8', 'u16', 'u32', 'u64', 'u128') }, ({ id }) => ({ + t: 'lib', + id: `codecs.${id.toUpperCase() as Uppercase}`, + })) + .with({ id: 'JsonString', items: [] }, () => ({ t: 'lib', id: 'codecs.Json' })) + .with({ id: 'Vec', items: [P._] }, ({ items: [single] }) => ({ t: 'vec', item: transformIdent(single) })) + .with({ id: P.select(), items: [] }, (id) => ({ t: 'ref', id })) + .otherwise(() => { + throw new Error(`unexpected type identifier: ${id}`) + }) +} + +type ActualCodegenSchema = CodegenEntry[] + +type CodegenEntry = { id: string } & ( + | { + t: 'enum' + /** + * Whether this enum should be "boxed" in order to workaround circular + * reference issues in TypeScript in the generated code + */ + box: boolean + variants: CodegenEnumVariant[] + } + | { t: 'struct'; fields: { name: string; type: TypeIdent }[] } + | { t: 'struct-gen'; genericsCount: number; fields: { name: string; type: GenericTypeIdent }[] } + | { t: 'array'; item: TypeIdent; len: number } + | { t: 'bitmap'; repr: 'u32'; masks: { name: string; mask: number }[] } + | { t: 'alias'; to: TypeIdent } +) + +type CodegenEnumVariant = + | { t: 'unit'; tag: string; discriminant: number } + | { t: 'with-type'; tag: string; discriminant: number; type: TypeIdent } + +type TypeIdent = + | { t: 'ref'; id: string; generics?: TypeIdent[] } + | { t: 'lib'; id: LibCodec; generics?: TypeIdent[] } + | { t: 'option'; some: TypeIdent } + | { t: 'vec'; item: TypeIdent } + | { t: 'array'; item: TypeIdent; len: number } + | { t: 'map'; key: TypeIdent; value: TypeIdent } + | { t: 'non-zero'; int: LibCodec } + +type GenericTypeIdent = TypeIdent | { t: 'gen'; genericIndex: number } + +function generateType(ident: TypeIdent): { + /** type-layer, `T` */ + type: string + /** value that has type `Codec` */ + codec: string +} { + return match(ident) + .returnType<{ type: string; codec: string }>() + .with({ t: 'ref', generics: P.not(P.nullish) }, ({ id, generics }) => { + return { + type: id + `<${generics.map((x) => generateType(x).type).join(', ')}>`, + codec: libItem('toCodec') + `(() => ${id}.with(${generics.map((x) => generateType(x).codec).join(', ')}))`, + } + }) + .with({ t: 'ref' }, ({ id }) => ({ + type: id, + codec: `${libItem('toCodec')}(() => ${id})`, + })) + .with({ t: 'lib', generics: P.not(P.nullish) }, ({ id, generics }) => { + return { + type: libItem(id) + `<${generics.map((x) => generateType(x).type).join(', ')}>`, + codec: libItem(id) + `.with(${generics.map((x) => generateType(x).codec).join(', ')})`, + } + }) + .with({ t: 'lib' }, ({ id }) => ({ type: libItem(id), codec: libItem('toCodec') + `(${libItem(id)})` })) + .with({ t: 'vec' }, ({ item }) => + generateType({ + t: 'lib', + id: 'codecs.Vec', + generics: [item], + }), + ) + .with({ t: 'non-zero' }, ({ int }) => + generateType({ + t: 'lib', + id: 'codecs.NonZero', + generics: [{ t: 'lib', id: int }], + }), + ) + .with({ t: 'map' }, ({ key, value }) => + generateType({ + t: 'lib', + id: 'codecs.Map', + generics: [key, value], + }), + ) + .with({ t: 'option' }, ({ some }) => + generateType({ + t: 'lib', + id: 'codecs.Option', + generics: [some], + }), + ) + .with({ t: 'array' }, ({ item, len }) => ({ + type: generateType(item).type + `[]`, + codec: libItem('codecs.Array') + `.with(${generateType(item).codec}, ${len})`, + })) + .exhaustive() +} + +function generateSingleEntry(item: CodegenEntry): string { + return match(item) + .returnType() + .with({ t: 'enum' }, ({ variants, box: isEnumBox }) => { + const actualEnumType = isEnumBox ? `${item.id}['enum']` : item.id + + const parsed = variants.map((variant) => + match(variant) + .with({ t: 'with-type' }, ({ tag, type, discriminant }) => { + const typeGen = generateType(type) + const inTypeDef = `${tag}: [${typeGen.type}]` + const doc = `Produce \`${tag}\` enum variant` + const createVariant = `${libItem('variant')}('${tag}', value)` + const asConstructor = + `/** ${doc} */ ` + + `${tag}: (value: ${typeGen.type}): ${item.id} => ` + + (isEnumBox ? `({ enum: ${createVariant} })` : createVariant) + const codec = `[${discriminant}, '${tag}', ${typeGen.codec}]` + return { inTypeDef, asConstructor, codec } + }) + .otherwise(({ tag, discriminant }) => { + const inTypeDef = `${tag}: []` + const doc = `\`${tag}\` enum variant` + const createVariant = `${libItem('variant')}<${actualEnumType}>('${tag}')` + const asConstructor = `/** ${doc} */ ${tag}: ` + (isEnumBox ? `{ enum: ${createVariant} }` : createVariant) + const codec = `[${discriminant}, '${tag}']` + return { inTypeDef, asConstructor, codec } + }), + ) + + const constructors = parsed.map((x) => x.asConstructor).join(', ') + + const codec = `${libItem('enumCodec')}<${actualEnumType}>([${parsed.map((x) => x.codec).join(', ')}])` + const codecMaybeBoxed = isEnumBox ? libItem('boxEnumCodec') + `(${codec})` : codec + + const typeEnumerate = libItem('Enumerate') + `<{ ${parsed.map((x) => x.inTypeDef).join(', ')} }>` + const type = isEnumBox ? `{ enum: ${typeEnumerate} }` : typeEnumerate + const maybeValueType = isEnumBox ? `: ${libItem('EnumBoxValue')}<${item.id}>` : '' + + return [ + `export type ${item.id} = ${type}`, + `export const ${item.id}${maybeValueType} = { ${constructors}, [${libItem('symbolCodec')}]: ${codecMaybeBoxed} }`, + ] + }) + .with({ t: 'struct' }, ({ fields }) => { + const typeFields = fields.map((x) => `${x.name}: ${generateType(x.type).type};`).join(' ') + const codecFieldsSeparate = fields.map((x) => `['${x.name}', ${generateType(x.type).codec}]`) + const codecFields = `[${codecFieldsSeparate.join(', ')}]` + + return [ + `export type ${item.id} = { ${typeFields} }`, + `export const ${item.id} = ` + + libItem('wrapCodec') + + `<${item.id}>(` + + libItem('structCodec') + + `(${codecFields}))`, + ] + }) + .with({ t: 'bitmap', repr: 'u32' }, ({ id, masks }) => { + const repr = generateType({ t: 'lib', id: 'codecs.U32' }) + + const namedMasks = masks + .map(({ name, mask }) => { + const doc = `\`${name}\` event bitmask. Use \`|\` to combine with other {@link ${id}} bitmasks.` + return `/** ${doc} */ ${name}: ${mask}` + }) + .join(', ') + + return [ + // TODO: make opaque? + `export type ${id} = ${repr.type}`, + `export const ${id} = { ${namedMasks}, [${libItem('symbolCodec')}]: ${repr.codec} }`, + ] + }) + .with({ t: 'struct-gen' }, ({ genericsCount, fields }) => { + const genericsTypes = Array.from({ length: genericsCount }, (v, i) => `T${i}`).join(', ') + const genericsPart = `<${genericsTypes}>` + const typeFields = fields + .map(({ name, type }) => { + return ( + `${name}: ` + + match(type) + .with({ t: 'gen' }, ({ genericIndex }) => `T${genericIndex}`) + .otherwise((type) => generateType(type).type) + ) + }) + .join(', ') + + const schemaItems = fields.map(({ name, type }) => { + const codec = match(type) + .with({ t: 'gen' }, ({ genericIndex: i }) => `codec${i}`) + .otherwise((x) => generateType(x).codec) + return `['${name}', ${codec}]` + }) + const withFnBody = `return ${libItem('structCodec')}([${schemaItems.join(', ')}])` + + const withFnArgs = Array.from({ length: genericsCount }, (v, i) => `codec${i}: ${libItem('Codec')}`) + + const withFn = `${genericsPart}(${withFnArgs}): ${libItem('Codec')}<${ + item.id + }${genericsPart}> => { ${withFnBody} }` + + return [ + `export type ${item.id}${genericsPart} = { ${typeFields} }`, + `export const ${item.id} = { with: ${withFn} }`, + ] + }) + .with({ t: 'array' }, ({ id, item, len }) => { + const { type, codec } = generateType(item) + + return [ + `export type ${id} = ${type}[]`, + `export const ${id} = ${libItem('wrapCodec')}<${id}>(${libItem('codecs.Array')}.with(${codec}, ${len}))`, + ] + }) + .with({ t: 'alias' }, ({ id, to }) => { + return [ + `export type ${id} = ${generateType(to).type}`, + `export const ${id} = ${libItem('wrapCodec')}<${id}>(${generateType(to).codec})`, + ] + }) + .exhaustive() + .join('\n') +} + +type LibItem = + | 'boxEnumCodec' + | 'wrapCodec' + | 'Enumerate' + | 'variant' + | `${'enum' | 'struct'}Codec` + | 'toCodec' + | `codecs.${'BytesVec' | 'String' | 'U8' | 'U16' | 'U32' | 'U64' | 'U128' | 'NonZero' | 'Option' | 'Compact' | 'Vec' | 'Map' | 'Array' | 'Json' | 'Bool'}` + | 'Codec' + | 'symbolCodec' + | 'EnumBoxValue' + +type LibCodec = LibItem & `codecs.${string}` + +function libItem(item: T): string { + return `lib.${item}` +} + +/** + * Structured model of an identifier, e.g. `Map>` + */ +interface Ident { + id: string + items: Ident[] +} + +function parseIdent(src: string): Ident { + const ROOT = '__root__' + const stack: Ident[] = [{ id: ROOT, items: [] }] + + for (const [token] of src.matchAll(/(<|>|[\w_]+)/gi)) { + if (token === '<') { + const lastItem = stack.at(-1)?.items.at(-1) + invariant(lastItem, 'should be') + stack.push(lastItem) + } else if (token === '>') { + invariant(stack.pop(), 'should be') + } else { + const head = stack.at(-1) + invariant(head, 'should be') + head.items.push({ id: token, items: [] }) + } + } + + return match(stack) + .with([{ id: ROOT, items: [P.select()] }], (trueRoot) => trueRoot) + .otherwise((x) => { + console.error('bad state:', x) + throw new Error('Bad state') + }) +} + +if (import.meta.vitest) { + const { test, expect } = import.meta.vitest + + test('parse ident of `Map>`', () => { + expect(parseIdent(`Map>`)).toMatchInlineSnapshot(` + { + "id": "Map", + "items": [ + { + "id": "Key", + "items": [], + }, + { + "id": "Option", + "items": [ + { + "id": "T", + "items": [], + }, + ], + }, + ], + } + `) + }) +} diff --git a/packages/data-model/etc/schema-transform/debug.ts b/packages/data-model/etc/schema-transform/debug.ts deleted file mode 100644 index f6809ac6..00000000 --- a/packages/data-model/etc/schema-transform/debug.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Debug from 'debug' - -export default Debug('@iroha2/data-model').extend('schema-transform') diff --git a/packages/data-model/etc/schema-transform/index.spec.ts b/packages/data-model/etc/schema-transform/index.spec.ts deleted file mode 100644 index 599e3305..00000000 --- a/packages/data-model/etc/schema-transform/index.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { expect, test } from 'vitest' -import { transformSchema } from './index' -import type { Schema } from '@iroha2/data-model-schema' - -test('NonZero is handled properly', () => { - const SCHEMA: Schema = { - 'NonZero': 'u32', - 'Option>': { - Option: 'NonZero', - }, - } - - const { nonZero, definition } = transformSchema(SCHEMA) - - expect(definition).toEqual({ - OptionNonZeroU32: { - t: 'option', - some: 'NonZeroU32', - }, - }) - expect(nonZero).toEqual([{ ty: 'NonZeroU32' }]) -}) diff --git a/packages/data-model/etc/schema-transform/index.ts b/packages/data-model/etc/schema-transform/index.ts deleted file mode 100644 index bf9f1ea6..00000000 --- a/packages/data-model/etc/schema-transform/index.ts +++ /dev/null @@ -1,151 +0,0 @@ -/* eslint-disable max-nested-callbacks */ -import type { NamespaceDefinition, TypeDef } from '@scale-codec/definition-compiler' -import Debug from './debug' -import { Map } from 'immutable' -import { P, match } from 'ts-pattern' -import { filter as filterRef, transform as transformRef, tryParseNonZero } from './ref' -import { simplifyUnits } from './simplify-units' -import type { FixedPointDefinition, IntDefinition, Schema, SchemaTypeDefinition } from '@iroha2/data-model-schema' - -const debugRoot = Debug.extend('transform') -const debugFilter = debugRoot.extend('filter') -const debugEntry = debugRoot.extend('entry') - -function filterRawEntry( - value: SchemaTypeDefinition, - key: string, -): value is Exclude { - if (!filterRef(key)) { - debugFilter('ignore %o: ref filter', key) - return false - } - - return match(value) - .with({ Int: P.string }, () => { - debugFilter('ignore %o: it is an int %o', key, value) - return false - }) - .otherwise(() => true) -} - -function transformRustDef(def: Exclude): TypeDef { - return match(def) - .with({ Array: { type: 'u8', len: P.select() } }, (len) => { - return { - t: 'bytes-array', - len, - } - }) - .with({ Array: P.select() }, ({ len, type }) => { - return { - t: 'array', - len, - item: transformRef(type), - } - }) - .with({ Map: P.select() }, ({ key, value }) => { - return { - t: 'map', - key: transformRef(key), - value: transformRef(value), - } - }) - .with({ Struct: P.select() }, (fields) => { - return { - t: 'struct', - fields: fields.map(({ name, type }) => ({ - name, - ref: transformRef(type), - })), - } - }) - .with({ Enum: P.select() }, (variants) => { - return { - t: 'enum', - variants: variants.map(({ tag, type, discriminant }) => ({ - name: tag, - discriminant, - ref: type && transformRef(type), - })), - } - }) - .with({ Option: P.select() }, (some) => { - return { - t: 'option', - some: transformRef(some), - } - }) - .with({ Vec: P.select() }, (item) => { - return { t: 'vec', item: transformRef(item) } - }) - .with({ Tuple: P.select() }, (items) => { - return { - t: 'tuple', - items: items.map(transformRef), - } - }) - .with(null, () => { - return { t: 'alias', ref: 'Unit' } - }) - .with(P.string, (alias) => { - return { t: 'alias', ref: transformRef(alias) } - }) - .exhaustive() -} - -export interface FixedPointParams { - base: string - decimalPlaces: number - ref: string -} - -export interface TransformReturn { - definition: NamespaceDefinition - fixedPoints: FixedPointParams[] - nonZero: NonZeroParams[] -} - -export interface NonZeroParams { - /** - * Like `NonZeroU32` - */ - ty: string -} - -export function transformSchema(schema: Schema): TransformReturn { - const { - definition: almostReady, - fixedPoints, - nonZero, - } = Map(schema) - .filter(filterRawEntry) - .reduce( - (acc, value, key) => { - const maybeNonZero = tryParseNonZero(key) - if (maybeNonZero) { - acc.nonZero.push(maybeNonZero) - } else { - const ref = transformRef(key) - - match(value) - .with({ FixedPoint: P.select() }, ({ base, decimal_places: decimalPlaces }) => { - acc.fixedPoints.push({ base, ref, decimalPlaces }) - }) - .otherwise((value) => { - const def = transformRustDef(value) - debugEntry('transform %o to %o', value, def) - acc.definition[ref] = def - }) - } - - return acc - }, - { definition: {}, fixedPoints: [], nonZero: [] }, - ) - - return { - definition: simplifyUnits(almostReady, { unitType: 'Unit' }), - fixedPoints, - nonZero, - } -} diff --git a/packages/data-model/etc/schema-transform/ref.spec.ts b/packages/data-model/etc/schema-transform/ref.spec.ts deleted file mode 100644 index 7157d959..00000000 --- a/packages/data-model/etc/schema-transform/ref.spec.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { transform } from './ref' -import { describe, expect, test } from 'vitest' - -describe('Refs transformation', () => { - test.each([ - ['EvaluatesTo', 'Expression'], - ['EvaluatesTo>', 'Expression'], - ['Event, C>', 'EventMapABC'], - ['Vec', 'VecU8'], - ['Array', 'ArrayU32L5'], - ['Array, 8>', 'ArrayIntervalU16L8'], - ['String', 'Str'], - ['Vec', 'VecU32'], - ['Map', 'MapAccountIdAssetId'], - ['Map', 'MapStrExpression'], - ['SignatureOf', 'Signature'], - ['SignaturesOf', 'SortedVecSignature'], - ['SortedVec>', 'SortedVecSignature'], - ['Fixed', 'FixedI64'], - ['Vec>', 'VecPredicateBox'], - ['GenericPredicateBox', 'PredicateBox'], - ['NonTrivial>', 'NonTrivialPredicateBox'], - ['HashOf', 'Hash'], - ['Compact', 'Compact'], - ['Trigger', 'Trigger'], - ['Action', 'Action'], - ])('%s transformed into %s', (input, output) => { - expect(transform(input)).toEqual(output) - }) -}) diff --git a/packages/data-model/etc/schema-transform/ref.ts b/packages/data-model/etc/schema-transform/ref.ts deleted file mode 100644 index aac22a25..00000000 --- a/packages/data-model/etc/schema-transform/ref.ts +++ /dev/null @@ -1,124 +0,0 @@ -import camelcase from 'camelcase' -import { pipe } from 'fp-ts/function' -import { Set } from 'immutable' -import invariant from 'tiny-invariant' -import { P, match } from 'ts-pattern' -import Debug from './debug' - -const debug = Debug.extend('transform-ref') - -const CACHE = new Map() - -function transform(ref: string): string { - return pipe(ref, parseId, transformTree, treeToFinalIdentifier) -} - -function transformWithCache(ref: string): string { - if (CACHE.has(ref)) return CACHE.get(ref)! - const transformed = transform(ref) - CACHE.set(ref, transformed) - debug('transform %o to %o', ref, transformed) - return transformed -} - -export { transformWithCache as transform } - -const IGNORE_TYPES = Set([ - // any ints - ...[3, 4, 5, 6, 7] - .map((power) => 2 ** power) - .map((bits) => [`i${bits}`, `u${bits}`]) - .flat(), - 'String', - 'Bool', - 'Vec', -]) - -export function filter(ref: string): boolean { - if (IGNORE_TYPES.has(ref)) return false - - return match(parseId(ref)) - .with({ id: 'HashOf', items: [P.any] }, () => false) - .with({ id: 'EvaluatesTo', items: [P.any] }, () => false) - .with({ id: 'bool' }, () => false) - .with({ id: 'SignaturesOf' }, () => false) - .otherwise(() => true) -} - -export function tryParseNonZero(ref: string): null | { ty: string } { - return match(parseId(ref)) - .with({ id: 'NonZero', items: [P.any] }, (x) => ({ ty: treeToFinalIdentifier(x) })) - .otherwise(() => null) -} - -interface Tree { - id: string - items: Tree[] -} - -function parseId(src: string): Tree { - const ROOT = '__root__' - const stack: Tree[] = [{ id: ROOT, items: [] }] - - for (const [token] of src.matchAll(/(<|>|[\w_]+)/gi)) { - if (token === '<') { - const lastItem = stack.at(-1)?.items.at(-1) - invariant(lastItem, 'should be') - stack.push(lastItem) - } else if (token === '>') { - invariant(stack.pop(), 'should be') - } else { - const head = stack.at(-1) - invariant(head, 'should be') - head.items.push({ id: token, items: [] }) - } - } - - return match(stack) - .with([{ id: ROOT, items: [P.select()] }], (trueRoot) => trueRoot) - .otherwise((x) => { - console.error('bad state:', x) - throw new Error('Bad state') - }) -} - -function transformTree(tree: Tree): Tree { - return ( - match(tree) - .with({ id: 'EvaluatesTo' }, () => ({ id: 'Expression', items: [] })) - .with({ id: 'Array', items: [P.select('inner'), { id: P.select('len'), items: [] }] }, ({ inner, len }) => { - if (Number.isNaN(Number(len))) throw new Error(`Invalid array len: ${len}`) - return { id: 'Array', items: [transformTree(inner), { id: `L_${len}`, items: [] }] } - }) - // .with({ id: 'Fixed', items: [{ id: 'i64', items: [] }] }, () => ({ id: 'FixedI64', items: [] })) - .with({ id: 'String', items: [] }, () => ({ id: 'Str', items: [] })) - .with({ id: 'GenericPredicateBox', items: [{ id: 'ValuePredicate', items: [] }] }, () => ({ - id: 'PredicateBox', - items: [], - })) - .with({ id: 'SignatureOf', items: [P.any] }, () => ({ id: 'Signature', items: [] })) - .with({ id: 'SignaturesOf', items: [P.any] }, () => ({ id: 'SortedVecSignature', items: [] })) - .with({ id: 'HashOf', items: [P.any] }, () => ({ id: 'Hash', items: [] })) - .with({ id: 'Compact', items: [{ id: 'u128' }] }, () => ({ id: 'Compact', items: [] })) - .with({ id: P.union('Action', 'Trigger'), items: [{ id: 'TriggeringFilterBox', items: [] }] }, ({ id }) => ({ - id, - items: [], - })) - .otherwise((x) => ({ id: x.id, items: x.items.map(transformTree) })) - ) -} - -function treeToFinalIdentifier(root: Tree): string { - const parts: string[] = [] - - const recursion = (tree: Tree): void => { - parts.push(tree.id) - for (const node of tree.items ?? []) { - recursion(node) - } - } - - recursion(root) - - return camelcase(parts.join('_'), { pascalCase: true }) -} diff --git a/packages/data-model/etc/schema-transform/simplify-units.spec.ts b/packages/data-model/etc/schema-transform/simplify-units.spec.ts deleted file mode 100644 index ad6d5a92..00000000 --- a/packages/data-model/etc/schema-transform/simplify-units.spec.ts +++ /dev/null @@ -1,73 +0,0 @@ -import type { NamespaceDefinition } from '@scale-codec/definition-compiler' -import { expect, test } from 'vitest' -import { simplifyUnits } from './simplify-units' - -test('simplifies units in enums', () => { - const input = { - A: { t: 'alias', ref: 'Unit' }, - B: { t: 'alias', ref: 'Str' }, - C: { - t: 'enum', - variants: [ - { name: 'A', ref: 'A', discriminant: 0 }, - { name: 'B', ref: 'B', discriminant: 1 }, - { name: 'C', ref: 'Unit', discriminant: 2 }, - { name: 'D', ref: 'D', discriminant: 3 }, - ], - }, - } satisfies NamespaceDefinition - - expect(simplifyUnits(input, { unitType: 'Unit' })).toEqual({ - B: { t: 'alias', ref: 'Str' }, - C: { - t: 'enum', - variants: [ - { name: 'A', discriminant: 0 }, - { name: 'B', ref: 'B', discriminant: 1 }, - { name: 'C', discriminant: 2 }, - { name: 'D', ref: 'D', discriminant: 3 }, - ], - }, - } satisfies NamespaceDefinition) -}) - -test('replaces unit aliases with unit type itself in different types', () => { - const input = { - UnitAlias: { t: 'alias', ref: 'Unit' }, - Struct: { - t: 'struct', - fields: [{ name: 'A', ref: 'UnitAlias' }], - }, - // todo: add other types - } satisfies NamespaceDefinition - - expect(simplifyUnits(input, { unitType: 'Unit' })).toMatchInlineSnapshot(` - { - "Struct": { - "fields": [ - { - "name": "A", - "ref": "Unit", - }, - ], - "t": "struct", - }, - } - `) -}) - -test('resolves unit aliases chain', () => { - expect( - simplifyUnits( - { - a: { t: 'alias', ref: 'unit' }, - b: { t: 'alias', ref: 'a' }, - c: { t: 'alias', ref: 'b' }, - d: { t: 'struct', fields: [{ name: 'null', ref: 'c' }] }, - }, - { unitType: 'unit' }, - ), - ).toEqual({ - d: { t: 'struct', fields: [{ name: 'null', ref: 'unit' }] }, - } satisfies NamespaceDefinition) -}) diff --git a/packages/data-model/etc/schema-transform/simplify-units.ts b/packages/data-model/etc/schema-transform/simplify-units.ts deleted file mode 100644 index 200dbb18..00000000 --- a/packages/data-model/etc/schema-transform/simplify-units.ts +++ /dev/null @@ -1,78 +0,0 @@ -import type { DefAlias, NamespaceDefinition, TypeDef } from '@scale-codec/definition-compiler' -import { Map } from 'immutable' -import { P, match } from 'ts-pattern' - -function transformRefs(def: Exclude, fn: (ref: string) => string): TypeDef { - return match(def) - .with({ t: P.union('array', 'vec') }, (arr) => ({ ...arr, item: fn(arr.item) })) - .with({ t: 'map' }, (map) => ({ ...map, key: fn(map.key), value: fn(map.value) })) - .with({ t: 'set' }, (set) => ({ ...set, entry: fn(set.entry) })) - .with({ t: 'struct' }, (struct) => ({ ...struct, fields: struct.fields.map((x) => ({ ...x, ref: fn(x.ref) })) })) - .with({ t: 'alias' }, (alias) => ({ ...alias, ref: fn(alias.ref) })) - .with({ t: 'tuple' }, (tuple) => ({ ...tuple, ref: tuple.items.map(fn) })) - .with({ t: P.union('bytes-array') }, (x) => x) - .with({ t: 'result' }, (result) => ({ ...result, ok: fn(result.ok), err: fn(result.err) })) - .with({ t: 'option' }, (option) => ({ ...option, some: fn(option.some) })) - .exhaustive() -} - -export function simplifyUnits(schema: NamespaceDefinition, params: { unitType: string }): NamespaceDefinition { - const map = Map(schema) - - const unitAliases = map - .filter((v): v is DefAlias & { t: 'alias' } => v.t === 'alias') - .filter((alias, _k, map) => { - const met = new Set() - let i = alias - while (i.ref !== params.unitType) { - if (met.has(i.ref)) { - console.log('Met types so far:', met) - throw new Error('dont expect recursive types') - } - met.add(i.ref) - - const other = map.get(i.ref) - - if (other) - // also alias, proceed - i = other - // not an alias, and unit type hasn't occurred - else return false - } - - return true - }) - .keySeq() - .toSet() - - const isUnitRef = (ref: string): boolean => ref === params.unitType || unitAliases.has(ref) - - return map - .filter((v, k) => !unitAliases.has(k)) - .map((def) => { - return match(def) - .with({ t: 'enum', variants: P.select() }, (vars) => { - return { - t: 'enum', - variants: vars.map((item) => { - if (item.ref) { - if (isUnitRef(item.ref)) { - const copy = { ...item } - delete copy.ref - return copy - } - } - return item - }), - } - }) - .otherwise((x) => { - if (x.t === 'import') return x - return transformRefs(x, (ref) => { - if (unitAliases.has(ref)) return params.unitType - return ref - }) - }) - }) - .toObject() -} diff --git a/packages/data-model/package.json b/packages/data-model/package.json index 22534eea..5208f9d3 100644 --- a/packages/data-model/package.json +++ b/packages/data-model/package.json @@ -21,6 +21,7 @@ }, "dependencies": { "@iroha2/i64-fixnum": "workspace:^0.4.2", + "@scale-codec/core": "^2.0.1", "@scale-codec/definition-runtime": "^4.0.1" }, "devDependencies": { diff --git a/packages/data-model/src/codecs.ts b/packages/data-model/src/codecs.ts new file mode 100644 index 00000000..5280036c --- /dev/null +++ b/packages/data-model/src/codecs.ts @@ -0,0 +1,90 @@ +import * as scale from '@scale-codec/core' +import * as core from './core' +import { JsonValue, Opaque } from 'type-fest' + +export type U8 = number +export const U8 = core.wrapCodec(new core.CodecImpl(scale.encodeU8, scale.decodeU8)) + +export type U16 = number +export const U16 = core.wrapCodec(new core.CodecImpl(scale.encodeU16, scale.decodeU16)) + +export type U32 = number +export const U32 = core.wrapCodec(new core.CodecImpl(scale.encodeU32, scale.decodeU32)) + +export type U64 = bigint +export const U64 = core.wrapCodec(new core.CodecImpl(scale.encodeU64, scale.decodeU64)) + +export type U128 = bigint +export const U128 = core.wrapCodec(new core.CodecImpl(scale.encodeU128, scale.decodeU128)) + +export type BytesVec = Uint8Array +export const BytesVec: core.CodecWrap = core.wrapCodec( + new core.CodecImpl(scale.encodeUint8Vec, scale.decodeUint8Vec), +) + +export type Bool = boolean +export const Bool = core.wrapCodec(new core.CodecImpl(scale.encodeBool, scale.decodeBool)) + +export type String = string +export const String: core.CodecWrap = core.wrapCodec(new core.CodecImpl(scale.encodeStr, scale.decodeStr)) + +export type Compact = bigint +export const Compact: core.CodecWrap = core.wrapCodec( + new core.CodecImpl(scale.encodeCompact, scale.decodeCompact), +) + +export type NonZero = Opaque +export const NonZero = { + with: (int: core.Codec): core.Codec> => { + // wrap and check on encode + return null + }, +} + +export type Option = scale.RustOption +export const Option = { + with: (some: core.Codec): core.Codec> => { + return null + }, +} + +export type Map = globalThis.Map +export const Map = { + with: (key: core.Codec, value: core.Codec): core.Codec> => { + return null + }, +} + +export type Vec = globalThis.Array +export const Vec = { + with: (item: core.Codec): core.Codec => { + return null + }, +} + +export type Array = globalThis.Array +export const Array = { + with: (item: core.Codec, len: number): core.Codec => { + return null + }, +} + +// TODO parse/stringify json lazily when needed +export class Json implements core.CodecWrap { + public static fromValue(value: T): Json {} + + public static fromJsonString(value: string): Json {} + + [core.symbolCodec]: core.Codec = {} + + public toValue(): T { + // TODO + } +} + +// export type Json = JsonValue +// export const Json = core.wrapCodec(new core.CodecImpl( +// [core.symbolCodec]() { + +// } +// )) diff --git a/packages/data-model/src/core.ts b/packages/data-model/src/core.ts new file mode 100644 index 00000000..554deae1 --- /dev/null +++ b/packages/data-model/src/core.ts @@ -0,0 +1,124 @@ +import * as scale from '@scale-codec/core' + +export const symbolCodec = Symbol('codec') + +// TODO: maybe use to hide "raw" encode/decode +// const symbolCoreCodec = Symbol('codec-core') + +type Decode = (source: ArrayBufferView) => T +type Encode = (value: T) => Uint8Array + +export interface CodecWrap { + [symbolCodec]: Codec +} + +export interface Codec { + encode: Encode + encodeRaw: scale.Encode + decode: Decode + decodeRaw: scale.Decode +} + +export class CodecImpl implements Codec { + public encodeRaw: scale.Encode + public decodeRaw: scale.Decode + + public constructor(encodeRaw: scale.Encode, decodeRaw: scale.Decode) { + this.encodeRaw = encodeRaw + this.decodeRaw = decodeRaw + } + + encode(value: T): Uint8Array { + return scale.WalkerImpl.encode(value, this.encodeRaw) + } + + decode(source: ArrayBufferView): T { + return scale.WalkerImpl.decode(source, this.decodeRaw) + } +} + +export function wrapCodec(codec: Codec): CodecWrap { + return { [symbolCodec]: codec } +} + +export function boxEnumCodec(codec: Codec): Codec<{ enum: T }> { + return new CodecImpl( + scale.encodeFactory( + (value, walker) => codec.encodeRaw(value.enum, walker), + (value) => codec.encodeRaw.sizeHint(value.enum), + ), + (walker) => ({ enum: codec.decodeRaw(walker) }), + ) +} + +export function toCodec( + source: T, +): T extends CodecWrap + ? Codec + : T extends () => CodecWrap + ? Codec + : T extends () => Codec + ? Codec + : never { + if (typeof source === 'function') { + return new CodecImpl( + scale.encodeFactory( + (value, walker) => { + return unwrapContainerOrCodec(source()).encodeRaw(value, walker) + }, + (value) => { + return unwrapContainerOrCodec(source()).encodeRaw.sizeHint(value) + }, + ), + (walker) => { + unwrapContainerOrCodec(source()).decodeRaw(walker) + }, + ) as any + } + return (source as any)[symbolCodec] +} + +function unwrapContainerOrCodec(value: CodecWrap | Codec) { + if (symbolCodec in value) return value[symbolCodec] + return value +} + +export type EnumCodecSchema = [discriminant: number, tag: string, codec?: Codec][] + +export function enumCodec(schema: EnumCodecSchema): Codec { + const encoders: scale.EnumEncoders = {} as any + const decoders: scale.EnumDecoders = {} + + for (const [dis, tag, codec] of schema) { + ;(encoders as any)[tag] = codec ? [dis, codec.encodeRaw] : dis + ;(decoders as any)[dis] = codec ? [tag, codec.decodeRaw] : tag + } + + return new CodecImpl(scale.createEnumEncoder(encoders), scale.createEnumDecoder(decoders)) as any +} + +/** + * Needed to explicitly define generated enum boxes so that TypeScript + * doesn't fail while trying to resolve type of a circular definition + */ +export type EnumBoxValue = T extends { enum: scale.Enumerate } + ? CodecWrap & { + [K in keyof E]: E[K] extends [infer Content] ? (value: Content) => T : T + } + : never + +export declare type StructCodecsSchema = { + [K in keyof T]: [K, Codec] +}[keyof T][] + +export function structCodec(schema: StructCodecsSchema): Codec { + const encoders: scale.StructEncoders = [] + const decoders: scale.StructDecoders = [] + + for (const [field, codec] of schema as [string, Codec][]) { + encoders.push([field, codec.encodeRaw]) + decoders.push([field, codec.decodeRaw]) + } + + return new CodecImpl(scale.createStructEncoder(encoders), scale.createStructDecoder(decoders)) +} diff --git a/packages/data-model/src/generated-prelude.ts b/packages/data-model/src/generated-prelude.ts new file mode 100644 index 00000000..3e0b778a --- /dev/null +++ b/packages/data-model/src/generated-prelude.ts @@ -0,0 +1,15 @@ +export * as codecs from './codecs' +export { + enumCodec, + structCodec, + boxEnumCodec, + toCodec, + type Codec, + type CodecWrap, + type EnumBoxValue, + wrapCodec, + + // typescript won't compile without it + symbolCodec, +} from './core' +export { type Enumerate, variant } from '@scale-codec/core' diff --git a/packages/data-model/src/sandbox.ts b/packages/data-model/src/sandbox.ts new file mode 100644 index 00000000..4a60d02e --- /dev/null +++ b/packages/data-model/src/sandbox.ts @@ -0,0 +1,248 @@ +import * as scale from '@scale-codec/core' +import { EnumCodecSchema, createEnumCodec } from '@scale-codec/definition-runtime' +import { Opaque } from 'type-fest' + +const symbolCodec = Symbol('codec') + +type Decode = (source: ArrayBufferView) => T +type Encode = (value: T) => Uint8Array + +interface CodecContainer { + [symbolCodec]: Codec +} + +interface Codec { + encode: Encode + encodeRaw: scale.Encode + decode: Decode + decodeRaw: scale.Decode +} + +class CodecImpl implements Codec { + public encodeRaw: scale.Encode + public decodeRaw: scale.Decode + + public constructor(encodeRaw: scale.Encode, decodeRaw: scale.Decode) { + this.encodeRaw = encodeRaw + this.decodeRaw = decodeRaw + } + + encode(value: T): Uint8Array { + return scale.WalkerImpl.encode(value, this.encodeRaw) + } + + decode(source: ArrayBufferView): T { + return scale.WalkerImpl.decode(source, this.decodeRaw) + } +} + +function codecContainer(codec: Codec): CodecContainer {} + +function enumBox(impl: CodecContainer): CodecContainer<{ enum: T }> {} + +// function defineEnumBoxCodec(encodeRaw: scale.) + +type CodecImplValue> = T extends CodecContainer ? U : never + +function toCodec( + source: T, +): T extends CodecContainer + ? Codec + : T extends () => CodecContainer + ? Codec + : T extends () => Codec + ? Codec + : never { + if (typeof source === 'function') { + const result = source() + if (symbolCodec in result) return result[symbolCodec] + return result + } + return (source as any)[symbolCodec] +} + +// function codecOf, U extends CodecImplValue = CodecImplValue>( +// container: T | (() => T), +// ): Codec { +// return container[symbolCodec] +// } + +// function codecContainerFromGetter>(f: () => T): T {} + +interface Account { + id: AccountId + assets: Map + metadata: Metadata +} + +interface AccountId { + domain: DomainId + signatory: PublicKey +} + +type PublicKey = string + +type DomainId = string + +type RoleEventSet = Opaque + +const RoleEventSet = { + /** `Created` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ + Created: 1 as RoleEventSet, + Deleted: 2 as RoleEventSet, + or(...items: RoleEventSet[]): RoleEventSet { +return 0 as RoleEventSet + } + ...codecContainer(scale.encodeU32, scale.decodeU32), +} as const + +function eventSetOr(...variants: T[]): T { + return 0 as T +} + +const InstructionBox = {} + +type Repeats = scale.Enumerate<{ + Indefinitely: [] + Exactly: [number] +}> + +const Repeats = { + /** + * `Repeats::Indefinitely` enum variant + */ + Indefinitely: scale.variant('Indefinitely'), + Exactly: (value: number): Repeats => scale.variant('Exactly', value), +} as const + +type MetadataValueBox = { + enum: scale.Enumerate<{ + Bool: [boolean] + String: [string] + Name: [Name] + Bytes: [Uint8Array] + Numeric: [Numeric] + LimitedMetadata: [LimitedMetadata] + Vec: [MetadataValueBox[]] + }> +} + +const MetadataValueBox = { + /** + * Produce `MetadataValueBox::Bool` variant + */ + Bool: (value: boolean): MetadataValueBox => ({ enum: scale.variant('Bool', value) }), + // variants... + ...enumBox( + codecContainer( + scale.createEnumEncoder({ + Bool: [0, scale.encodeBool], + String: [1, scale.encodeStr], + Name: [2, toCodec(() => Name).encodeRaw], + }), + scale.createEnumDecoder({ + 0: ['Bool', scale.decodeBool], + }), + ), + ), +} as const + +scale.createArrayEncoder() + +type Metadata = Map + +const Metadata = { + ...codecContainer( + scale.createMapEncoder(toCodec(() => Name).encodeRaw, toCodec(() => MetadataValueBox).encodeRaw), + scale.createMapDecoder(toCodec(() => Name).decodeRaw, toCodec(() => MetadataValueBox).decodeRaw), + ), +} + +type Name = string + +const Name = { + ...codecContainer(scale.encodeStr, scale.decodeStr), +} + +type AssetId = string + +const AssetId = { + ...codecContainer(scale.encodeStr, scale.decodeStr), +} + +type MetadataChanged = { + target: T + key: Name + value: MetadataValueBox +} + +const MetadataChanged = { + codecWith: (codec0: Codec): Codec> => { + return structCodec([ + ['target', codec0], + ['key', toCodec(Name)], + ['value', toCodec(MetadataValueBox)], + ]) + }, +} + +type AssetEvent = scale.Enumerate<{ + MetadataInserted: [MetadataChanged] +}> + +const AssetEvent = { + MetadataInserted: (value: MetadataChanged): AssetEvent => scale.variant('MetadataInserted', value), + ...codecContainer( + scale.createEnumEncoder({ + MetadataInserted: [0, toCodec(() => MetadataChanged.codecWith(toCodec(() => AssetId))).encodeRaw], + }), + scale.createEnumDecoder({}), + ), +} + +function mapCodec(key: Codec, value: Codec): Codec> { + return new CodecImpl( + scale.createMapEncoder(key.encodeRaw, value.encodeRaw), + scale.createMapDecoder(key.decodeRaw, value.decodeRaw), + ) +} + +function structCodec(schema: { [K in keyof T]: [K, Codec] }[keyof T][]): Codec {} + +function optionCodec(value: Codec): Codec> { + return new CodecImpl(scale.createOptionEncoder(value.encodeRaw), scale.createOptionDecoder(value.decodeRaw)) +} + +function enumCodec(schema: EnumCodecSchema): Codec { +schema.map(([dis, tag, codec]) => { +// if (codec) +// return [{ }] +// }) + + return new CodecImpl( + + ) +} + +// const MapCodec = { +// with: (key: Codec, value: Codec): Codec> => { +// return defineCodec( +// scale.createMapEncoder(key.encodeRaw, value.encodeRaw), +// scale.createMapDecoder(key.decodeRaw, value.decodeRaw), +// )[symbolCodec] +// }, +// } + +// --- + +toCodec(RoleEventSet).encode(RoleEventSet.Created | RoleEventSet.Deleted) + +const account: Account = { + id: { domain: 'wonderland', signatory: 'fasfs' }, + assets: new Map(), + metadata: new Map(), +} + +toCodec(MetadataValueBox).encode(MetadataValueBox.Bool(false)) + +mapCodec(toCodec(Name), toCodec(Metadata)) diff --git a/packages/iroha-source/config.js b/packages/iroha-source/config.js index 54711dc9..fb713c62 100644 --- a/packages/iroha-source/config.js +++ b/packages/iroha-source/config.js @@ -3,6 +3,6 @@ */ export default { origin: 'https://github.com/hyperledger/iroha.git', - // `iroha2-stable` as of 17 Oct 2023 (RC20) - rev: '51d687607fad067fc855e266edc684d4fb33e7de', + // `2.0.0-rc.1` + rev: 'c4dc77a9425e4d163596513ec867783b669929f9', } diff --git a/packages/iroha-source/src/util.ts b/packages/iroha-source/src/util.ts index 60c5ae51..c906983e 100644 --- a/packages/iroha-source/src/util.ts +++ b/packages/iroha-source/src/util.ts @@ -50,7 +50,7 @@ export function resolveBinaryPath(bin: string): string { } export async function runCargoBuild(crate: string): Promise { - const process = execa('cargo', ['build', '-Zlints', '--release', '--package', crate], { + const process = execa('cargo', ['build', '--release', '--package', crate], { stdio: 'inherit', cwd: IROHA_DIR, env: { @@ -100,4 +100,5 @@ export async function syncIrohaSymlink(config: ResolvedConfig) { export async function syncSourceRepo(config: ResolvedConfig) { if (config.t === 'git-clone' && !(await isCloneUpToDate(config))) await clone(config) + await syncIrohaSymlink(config); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eecc6ed5..a291bb89 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,8 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false importers: @@ -8,8 +12,8 @@ importers: specifier: ^2.26.2 version: 2.26.2 '@esbuild-kit/cjs-loader': - specifier: ^2.4.1 - version: 2.4.1 + specifier: ^2.4.4 + version: 2.4.4 '@iroha2/test-peer': specifier: workspace:^0.0.1 version: link:packages/test-peer @@ -20,11 +24,11 @@ importers: specifier: ^0.0.33 version: 0.0.33 '@typescript-eslint/eslint-plugin': - specifier: ^6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.45.0)(typescript@5.2.2) + specifier: ^7.13.0 + version: 7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: ^6.9.0 - version: 6.9.0(eslint@8.45.0)(typescript@5.2.2) + specifier: ^7.13.0 + version: 7.13.0(eslint@9.4.0)(typescript@5.4.5) chalk: specifier: 4.1.2 version: 4.1.2 @@ -38,17 +42,17 @@ importers: specifier: ^6.0.0 version: 6.1.1 eslint: - specifier: ^8.45.0 - version: 8.45.0 + specifier: ^9.4.0 + version: 9.4.0 eslint-config-alloy: - specifier: ^5.0.0 - version: 5.0.0(@typescript-eslint/eslint-plugin@6.9.0)(@typescript-eslint/parser@6.9.0)(eslint-plugin-vue@9.15.1)(eslint@8.45.0)(typescript@5.2.2) + specifier: ^5.1.2 + version: 5.1.2(@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5))(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-vue@9.26.0(eslint@9.4.0))(eslint@9.4.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.4.0)) eslint-plugin-cypress: - specifier: ^2.13.3 - version: 2.13.3(eslint@8.45.0) + specifier: ^3.3.0 + version: 3.3.0(eslint@9.4.0) eslint-plugin-vue: - specifier: ^9.15.1 - version: 9.15.1(eslint@8.45.0) + specifier: ^9.26.0 + version: 9.26.0(eslint@9.4.0) execa: specifier: ^7.0.0 version: 7.0.0 @@ -68,20 +72,20 @@ importers: specifier: ^4.1.5 version: 4.1.5 prettier: - specifier: ^3.0.3 - version: 3.0.3 + specifier: ^3.3.2 + version: 3.3.2 prettier-eslint: - specifier: ^16.1.2 - version: 16.1.2 + specifier: ^16.3.0 + version: 16.3.0 prettier-eslint-cli: specifier: ^8.0.1 - version: 8.0.1(prettier-eslint@16.1.2) + version: 8.0.1(prettier-eslint@16.3.0) rollup: specifier: ^3.26.2 version: 3.26.2 rollup-plugin-dts: specifier: ^5.3.0 - version: 5.3.0(rollup@3.26.2)(typescript@5.2.2) + version: 5.3.0(rollup@3.26.2)(typescript@5.4.5) tiny-invariant: specifier: ^1.3.1 version: 1.3.1 @@ -89,20 +93,20 @@ importers: specifier: ^5.0.1 version: 5.0.1 tsx: - specifier: ^3.12.2 - version: 3.12.2 + specifier: ^4.15.4 + version: 4.15.4 type-fest: specifier: ^3.9.0 version: 3.9.0 typescript: - specifier: ^5.2.2 - version: 5.2.2 + specifier: ^5.4.5 + version: 5.4.5 vite: specifier: ^5.1.5 - version: 5.1.5(sass@1.54.0) + version: 5.1.5(@types/node@20.14.2)(sass@1.77.5) vitest: - specifier: ^1.3.1 - version: 1.3.1 + specifier: ^1.6.0 + version: 1.6.0(@types/node@20.14.2)(sass@1.77.5) zx: specifier: ^7.2.0 version: 7.2.0 @@ -166,7 +170,7 @@ importers: version: 9.0.19 vite: specifier: ^5.1.5 - version: 5.1.5(sass@1.54.0) + version: 5.1.5(@types/node@20.14.2)(sass@1.77.5) packages/client/test/integration/test-web: devDependencies: @@ -196,7 +200,7 @@ importers: version: 1.1.2 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.2.47) + version: 5.0.4(vite@5.1.5(@types/node@20.14.2)(sass@1.54.0))(vue@3.2.47) '@vue-kakuyaku/core': specifier: ^0.4.3 version: 0.4.3 @@ -223,7 +227,7 @@ importers: version: 1.14.0 vite: specifier: ^5.1.5 - version: 5.1.5(sass@1.54.0) + version: 5.1.5(@types/node@20.14.2)(sass@1.54.0) vue: specifier: ^3.2.47 version: 3.2.47 @@ -330,13 +334,16 @@ importers: version: 1.14.0 vite: specifier: ^5.1.5 - version: 5.1.5(sass@1.54.0) + version: 5.1.5(@types/node@20.14.2)(sass@1.77.5) packages/data-model: dependencies: '@iroha2/i64-fixnum': specifier: workspace:^0.4.2 version: link:../i64-fixnum + '@scale-codec/core': + specifier: ^2.0.1 + version: 2.0.1 '@scale-codec/definition-runtime': specifier: ^4.0.1 version: 4.0.1 @@ -478,972 +485,766 @@ importers: packages: - /@aashutoshrathi/word-wrap@1.2.6: + '@aashutoshrathi/word-wrap@1.2.6': resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - dev: true - /@babel/code-frame@7.23.5: + '@babel/code-frame@7.23.5': resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} - requiresBuild: true - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - dev: true - /@babel/helper-string-parser@7.19.4: + '@babel/helper-string-parser@7.19.4': resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.19.1: + '@babel/helper-validator-identifier@7.19.1': resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.20: + '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: true - /@babel/highlight@7.23.4: + '@babel/highlight@7.23.4': resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@babel/parser@7.20.15: + '@babel/parser@7.20.15': resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==} engines: {node: '>=6.0.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true + hasBin: true - /@babel/runtime@7.23.2: + '@babel/runtime@7.23.2': resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 - dev: true - /@babel/types@7.20.7: + '@babel/types@7.20.7': resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - /@bahmutov/cypress-esbuild-preprocessor@2.2.0(esbuild@0.17.10): + '@bahmutov/cypress-esbuild-preprocessor@2.2.0': resolution: {integrity: sha512-pTvxRi6+OFsXy6uCn/HlO5zi0fUZWbiCtTiLTDf/+kgEfZ/Y8WIxZ2pjuir9MEM8prQenBw60TLcM0wcazh7+Q==} peerDependencies: esbuild: '>=0.17.0' - dependencies: - debug: 4.3.4(supports-color@8.1.1) - esbuild: 0.17.10 - transitivePeerDependencies: - - supports-color - dev: true - /@changesets/apply-release-plan@6.1.4: + '@changesets/apply-release-plan@6.1.4': resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/config': 2.3.1 - '@changesets/get-version-range-type': 0.3.2 - '@changesets/git': 2.0.0 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - detect-indent: 6.1.0 - fs-extra: 7.0.1 - lodash.startcase: 4.4.0 - outdent: 0.5.0 - prettier: 2.8.8 - resolve-from: 5.0.0 - semver: 7.5.4 - dev: true - /@changesets/assemble-release-plan@5.2.4: + '@changesets/assemble-release-plan@5.2.4': resolution: {integrity: sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==} - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - semver: 7.5.4 - dev: true - /@changesets/changelog-git@0.1.14: + '@changesets/changelog-git@0.1.14': resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} - dependencies: - '@changesets/types': 5.2.1 - dev: true - /@changesets/cli@2.26.2: + '@changesets/cli@2.26.2': resolution: {integrity: sha512-dnWrJTmRR8bCHikJHl9b9HW3gXACCehz4OasrXpMp7sx97ECuBGGNjJhjPhdZNCvMy9mn4BWdplI323IbqsRig==} hasBin: true - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/apply-release-plan': 6.1.4 - '@changesets/assemble-release-plan': 5.2.4 - '@changesets/changelog-git': 0.1.14 - '@changesets/config': 2.3.1 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/get-release-plan': 3.0.17 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 - '@changesets/write': 0.2.3 - '@manypkg/get-packages': 1.1.3 - '@types/is-ci': 3.0.3 - '@types/semver': 7.5.4 - ansi-colors: 4.1.3 - chalk: 2.4.2 - enquirer: 2.4.1 - external-editor: 3.1.0 - fs-extra: 7.0.1 - human-id: 1.0.2 - is-ci: 3.0.1 - meow: 6.1.1 - outdent: 0.5.0 - p-limit: 2.3.0 - preferred-pm: 3.1.2 - resolve-from: 5.0.0 - semver: 7.5.4 - spawndamnit: 2.0.0 - term-size: 2.2.1 - tty-table: 4.2.3 - dev: true - /@changesets/config@2.3.1: + '@changesets/config@2.3.1': resolution: {integrity: sha512-PQXaJl82CfIXddUOppj4zWu+987GCw2M+eQcOepxN5s+kvnsZOwjEJO3DH9eVy+OP6Pg/KFEWdsECFEYTtbg6w==} - dependencies: - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/logger': 0.0.5 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - micromatch: 4.0.5 - dev: true - /@changesets/errors@0.1.4: + '@changesets/errors@0.1.4': resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} - dependencies: - extendable-error: 0.1.7 - dev: true - /@changesets/get-dependents-graph@1.3.6: + '@changesets/get-dependents-graph@1.3.6': resolution: {integrity: sha512-Q/sLgBANmkvUm09GgRsAvEtY3p1/5OCzgBE5vX3vgb5CvW0j7CEljocx5oPXeQSNph6FXulJlXV3Re/v3K3P3Q==} - dependencies: - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - chalk: 2.4.2 - fs-extra: 7.0.1 - semver: 7.5.4 - dev: true - /@changesets/get-release-plan@3.0.17: + '@changesets/get-release-plan@3.0.17': resolution: {integrity: sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==} - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/assemble-release-plan': 5.2.4 - '@changesets/config': 2.3.1 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - dev: true - /@changesets/get-version-range-type@0.3.2: + '@changesets/get-version-range-type@0.3.2': resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} - dev: true - /@changesets/git@2.0.0: + '@changesets/git@2.0.0': resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - is-subdir: 1.2.0 - micromatch: 4.0.5 - spawndamnit: 2.0.0 - dev: true - /@changesets/logger@0.0.5: + '@changesets/logger@0.0.5': resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} - dependencies: - chalk: 2.4.2 - dev: true - /@changesets/parse@0.3.16: + '@changesets/parse@0.3.16': resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} - dependencies: - '@changesets/types': 5.2.1 - js-yaml: 3.14.1 - dev: true - /@changesets/pre@1.0.14: + '@changesets/pre@1.0.14': resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - dev: true - /@changesets/read@0.5.9: + '@changesets/read@0.5.9': resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/parse': 0.3.16 - '@changesets/types': 5.2.1 - chalk: 2.4.2 - fs-extra: 7.0.1 - p-filter: 2.1.0 - dev: true - /@changesets/types@4.1.0: + '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - dev: true - /@changesets/types@5.2.1: + '@changesets/types@5.2.1': resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} - dev: true - /@changesets/write@0.2.3: + '@changesets/write@0.2.3': resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/types': 5.2.1 - fs-extra: 7.0.1 - human-id: 1.0.2 - prettier: 2.8.8 - dev: true - /@colors/colors@1.5.0: + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - requiresBuild: true - dev: true - optional: true - /@cypress/request@2.88.11: + '@cypress/request@2.88.11': resolution: {integrity: sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==} engines: {node: '>= 6'} - dependencies: - aws-sign2: 0.7.0 - aws4: 1.12.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - http-signature: 1.3.6 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - performance-now: 2.1.0 - qs: 6.10.4 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 8.3.2 - dev: true - /@cypress/xvfb@1.2.4(supports-color@8.1.1): + '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} - dependencies: - debug: 3.2.7(supports-color@8.1.1) - lodash.once: 4.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@esbuild-kit/cjs-loader@2.4.1: - resolution: {integrity: sha512-lhc/XLith28QdW0HpHZvZKkorWgmCNT7sVelMHDj3HFdTfdqkwEKvT+aXVQtNAmCC39VJhunDkWhONWB7335mg==} - dependencies: - '@esbuild-kit/core-utils': 3.0.0 - get-tsconfig: 4.3.0 - dev: true - /@esbuild-kit/core-utils@3.0.0: - resolution: {integrity: sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==} - dependencies: - esbuild: 0.15.18 - source-map-support: 0.5.21 - dev: true + '@esbuild-kit/cjs-loader@2.4.4': + resolution: {integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==} - /@esbuild-kit/esm-loader@2.5.4: - resolution: {integrity: sha512-afmtLf6uqxD5IgwCzomtqCYIgz/sjHzCWZFvfS5+FzeYxOURPUo4QcHtqJxbxWOMOogKriZanN/1bJQE/ZL93A==} - dependencies: - '@esbuild-kit/core-utils': 3.0.0 - get-tsconfig: 4.3.0 - dev: true + '@esbuild-kit/core-utils@3.3.2': + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} - /@esbuild/aix-ppc64@0.19.12: + '@esbuild/aix-ppc64@0.19.12': resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.17.10: + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.17.10': resolution: {integrity: sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.19.12: + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.19.12': resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.15.18: - resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.17.10: + '@esbuild/android-arm@0.17.10': resolution: {integrity: sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.19.12: + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.19.12': resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.17.10: + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.17.10': resolution: {integrity: sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.19.12: + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.19.12': resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.17.10: + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.17.10': resolution: {integrity: sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.19.12: + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.19.12': resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.17.10: + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.17.10': resolution: {integrity: sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.19.12: + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.19.12': resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.17.10: + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.17.10': resolution: {integrity: sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.19.12: + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.19.12': resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.17.10: + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.17.10': resolution: {integrity: sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.19.12: + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.12': resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.17.10: + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.17.10': resolution: {integrity: sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.19.12: + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.19.12': resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.17.10: + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.17.10': resolution: {integrity: sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.19.12': + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.17.10: + '@esbuild/linux-ia32@0.17.10': resolution: {integrity: sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.19.12: + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.19.12': resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.15.18: - resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} - cpu: [loong64] + cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.17.10: + '@esbuild/linux-loong64@0.17.10': resolution: {integrity: sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.19.12: + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.19.12': resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.17.10: + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.17.10': resolution: {integrity: sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.19.12: + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.19.12': resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.17.10: + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.17.10': resolution: {integrity: sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.19.12: + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.19.12': resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.17.10: + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.17.10': resolution: {integrity: sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.19.12: + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.19.12': resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.17.10: + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.17.10': resolution: {integrity: sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.19.12: + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.19.12': resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.17.10: + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.17.10': resolution: {integrity: sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.19.12: + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.19.12': resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.17.10: + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.17.10': resolution: {integrity: sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.19.12: + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.19.12': resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.17.10: + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.17.10': resolution: {integrity: sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.19.12: + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.19.12': resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.17.10: + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.17.10': resolution: {integrity: sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.19.12: + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.19.12': resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.17.10: + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.17.10': resolution: {integrity: sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.19.12: + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.19.12': resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.17.10: + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.17.10': resolution: {integrity: sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.19.12: + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.19.12': resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.17.10: + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.17.10': resolution: {integrity: sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.19.12: + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.19.12': resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.45.0 - eslint-visitor-keys: 3.4.1 - dev: true + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] - /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.52.0 - eslint-visitor-keys: 3.4.1 - dev: true - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.10.1': + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint-community/regexpp@4.5.1: - resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true + '@eslint/config-array@0.15.1': + resolution: {integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@eslint/eslintrc@2.1.0: - resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==} + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.23.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@eslint/js@8.44.0: - resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@eslint/js@8.52.0: - resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@eslint/js@9.4.0': + resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - /@hapi/hoek@9.3.0: + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - dev: true - /@hapi/topo@5.1.0: + '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - dependencies: - '@hapi/hoek': 9.3.0 - dev: true - - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true + deprecated: Use @eslint/config-array instead - /@humanwhocodes/module-importer@1.0.1: + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} - dev: true + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} - /@isaacs/cliui@8.0.2: + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true - /@jest/schemas@29.6.3: + '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jridgewell/sourcemap-codec@1.4.14: + '@jridgewell/sourcemap-codec@1.4.14': resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - /@jridgewell/sourcemap-codec@1.4.15: + '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - /@manypkg/find-root@1.1.0: + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} - dependencies: - '@babel/runtime': 7.23.2 - '@types/node': 12.20.55 - find-up: 4.1.0 - fs-extra: 8.1.0 - dev: true - /@manypkg/get-packages@1.1.3: + '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - dependencies: - '@babel/runtime': 7.23.2 - '@changesets/types': 4.1.0 - '@manypkg/find-root': 1.1.0 - fs-extra: 8.1.0 - globby: 11.1.0 - read-yaml-file: 1.1.0 - dev: true - /@messageformat/core@3.2.0: + '@messageformat/core@3.2.0': resolution: {integrity: sha512-ppbb/7OYqg/t4WdFk8VAfZEV2sNUq3+7VeBAo5sKFhmF786sh6gB7fUeXa2qLTDIcTHS49HivTBN7QNOU5OFTg==} - dependencies: - '@messageformat/date-skeleton': 1.0.1 - '@messageformat/number-skeleton': 1.2.0 - '@messageformat/parser': 5.1.0 - '@messageformat/runtime': 3.0.1 - make-plural: 7.3.0 - safe-identifier: 0.4.2 - dev: true - /@messageformat/date-skeleton@1.0.1: + '@messageformat/date-skeleton@1.0.1': resolution: {integrity: sha512-jPXy8fg+WMPIgmGjxSlnGJn68h/2InfT0TNSkVx0IGXgp4ynnvYkbZ51dGWmGySEK+pBiYUttbQdu5XEqX5CRg==} - dev: true - /@messageformat/number-skeleton@1.2.0: + '@messageformat/number-skeleton@1.2.0': resolution: {integrity: sha512-xsgwcL7J7WhlHJ3RNbaVgssaIwcEyFkBqxHdcdaiJzwTZAWEOD8BuUFxnxV9k5S0qHN3v/KzUpq0IUpjH1seRg==} - dev: true - /@messageformat/parser@5.1.0: + '@messageformat/parser@5.1.0': resolution: {integrity: sha512-jKlkls3Gewgw6qMjKZ9SFfHUpdzEVdovKFtW1qRhJ3WI4FW5R/NnGDqr8SDGz+krWDO3ki94boMmQvGke1HwUQ==} - dependencies: - moo: 0.5.2 - dev: true - /@messageformat/runtime@3.0.1: + '@messageformat/runtime@3.0.1': resolution: {integrity: sha512-6RU5ol2lDtO8bD9Yxe6CZkl0DArdv0qkuoZC+ZwowU+cdRlVE1157wjCmlA5Rsf1Xc/brACnsZa5PZpEDfTFFg==} - dependencies: - make-plural: 7.3.0 - dev: true - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - /@pkgjs/parseargs@0.11.0: + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - requiresBuild: true - dev: true - optional: true - /@rollup/plugin-replace@5.0.2(rollup@3.26.2): + '@rollup/plugin-replace@5.0.2': resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1451,13 +1252,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.26.2) - magic-string: 0.27.0 - rollup: 3.26.2 - dev: true - /@rollup/pluginutils@5.0.2(rollup@3.26.2): + '@rollup/pluginutils@5.0.2': resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1465,505 +1261,4149 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 3.26.2 - dev: true - /@rollup/rollup-android-arm-eabi@4.12.1: + '@rollup/rollup-android-arm-eabi@4.12.1': resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm64@4.12.1: + '@rollup/rollup-android-arm64@4.12.1': resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-arm64@4.12.1: + '@rollup/rollup-darwin-arm64@4.12.1': resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-x64@4.12.1: + '@rollup/rollup-darwin-x64@4.12.1': resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.1: + '@rollup/rollup-linux-arm-gnueabihf@4.12.1': resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.1: + '@rollup/rollup-linux-arm64-gnu@4.12.1': resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.12.1: + '@rollup/rollup-linux-arm64-musl@4.12.1': resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.1: + '@rollup/rollup-linux-riscv64-gnu@4.12.1': resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-gnu@4.12.1: + '@rollup/rollup-linux-x64-gnu@4.12.1': resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-musl@4.12.1: + '@rollup/rollup-linux-x64-musl@4.12.1': resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.1: + '@rollup/rollup-win32-arm64-msvc@4.12.1': resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.1: + '@rollup/rollup-win32-ia32-msvc@4.12.1': resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.12.1: + '@rollup/rollup-win32-x64-msvc@4.12.1': resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@scale-codec/core@2.0.1: + '@scale-codec/core@2.0.1': resolution: {integrity: sha512-3Ei7Gf3wNDrP5l7W/dEF9Q7Py1ttdNTFulzNNdFrqBw8v1khyC7SZIcYpsbAJ5uo/PDIhhK4FKOrK467I0vv4Q==} engines: {node: '>=14.5.0'} - dependencies: - '@scale-codec/enum': 2.1.1 - '@scale-codec/util': 1.1.2 - dev: false - /@scale-codec/definition-compiler@4.0.1: + '@scale-codec/definition-compiler@4.0.1': resolution: {integrity: sha512-qXdFD7MvcPXRtGRF5dRqoF/yvhInYYsvS0haynGbcx26g29/f9cQoWqS/e+9YYnOJJKMPg3RCxF7/2OgXUfqKw==} engines: {node: '>16.8'} - dependencies: - '@scale-codec/enum': 2.1.1 - '@scale-codec/util': 1.1.2 - immutable: 4.2.4 - sort-es: 1.6.6 - tarjan-graph: 3.0.0 - ts-pattern: 4.2.1 - dev: true - /@scale-codec/definition-runtime@4.0.1: + '@scale-codec/definition-runtime@4.0.1': resolution: {integrity: sha512-fu+zVJYB5qp6CXZofPNANsJQlb6jYYDNIuGnSPEyngP4u5rdN8bK0GUiOgXDJDtOtb1aeD8gRira1+YFHydpUw==} - dependencies: - '@scale-codec/core': 2.0.1 - '@scale-codec/util': 1.1.2 - fmt-subs: 1.1.1 - dev: false - /@scale-codec/enum@2.1.1: + '@scale-codec/enum@2.1.1': resolution: {integrity: sha512-n5mTWxc4wbeIBn+HlIXjeU7PtzUAY1hqX3Y+BTd5OOCds83+DA/qB+bikKCDZ+NjDHBMZo1667vXudxjMTIW3g==} - /@scale-codec/util@1.1.2: + '@scale-codec/util@1.1.2': resolution: {integrity: sha512-Aali9gWoI1vOUUwk2H1FktstiInl6x5rjrPd3Am/b1WJV603NEI9QcJ7UGM7Eh42UjLD9e6H7E1ZF0yFnlRUUQ==} - /@sideway/address@4.1.4: + '@sideway/address@4.1.4': resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} - dependencies: - '@hapi/hoek': 9.3.0 - dev: true - /@sideway/formula@3.0.0: + '@sideway/formula@3.0.0': resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==} - dev: true - /@sideway/pinpoint@2.0.0: + '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - dev: true - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/debug@4.1.7: + '@types/debug@4.1.7': resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} - dependencies: - '@types/ms': 0.7.31 - dev: true - /@types/estree@1.0.0: + '@types/estree@1.0.0': resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: true - /@types/estree@1.0.5: + '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - /@types/fs-extra@11.0.1: + '@types/fs-extra@11.0.1': resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} - dependencies: - '@types/jsonfile': 6.1.1 - '@types/node': 18.14.2 - dev: true - /@types/is-ci@3.0.3: + '@types/is-ci@3.0.3': resolution: {integrity: sha512-FdHbjLiN2e8fk9QYQyVYZrK8svUDJpxSaSWLUga8EZS1RGAvvrqM9zbVARBtQuYPeLgnJxM2xloOswPwj1o2cQ==} - dependencies: - ci-info: 3.9.0 - dev: true - /@types/jake@0.0.33: + '@types/jake@0.0.33': resolution: {integrity: sha512-ABCtXDsYzjYnio9gc5zoc5j9AXdFnTgBDJjJeAv98eHh6Vpt2dCAWRDOQsPv2Kg6UEZnLqqGsQ3dIdaisuPcXg==} - dependencies: - '@types/node': 18.0.0 - dev: true - /@types/json-schema@7.0.14: - resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} - dev: true - - /@types/jsonfile@6.1.1: + '@types/jsonfile@6.1.1': resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} - dependencies: - '@types/node': 18.14.2 - dev: true - /@types/minimist@1.2.2: + '@types/minimist@1.2.2': resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: true - /@types/minimist@1.2.4: + '@types/minimist@1.2.4': resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==} - dev: true - /@types/ms@0.7.31: + '@types/ms@0.7.31': resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - dev: true - /@types/node@12.20.55: + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - dev: true - /@types/node@14.18.36: + '@types/node@14.18.36': resolution: {integrity: sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==} - dev: true - /@types/node@18.0.0: + '@types/node@18.0.0': resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} - dev: true - /@types/node@18.14.2: + '@types/node@18.14.2': resolution: {integrity: sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==} - dev: true - /@types/normalize-package-data@2.4.3: + '@types/node@20.14.2': + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + + '@types/normalize-package-data@2.4.3': resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} - dev: true - /@types/ps-tree@1.1.2: + '@types/ps-tree@1.1.2': resolution: {integrity: sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==} - dev: true - /@types/semver@7.5.4: + '@types/semver@7.5.4': resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} - dev: true - /@types/sinonjs__fake-timers@8.1.1: + '@types/sinonjs__fake-timers@8.1.1': resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} - dev: true - /@types/sizzle@2.3.3: + '@types/sizzle@2.3.3': resolution: {integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==} - dev: true - /@types/web-bluetooth@0.0.14: + '@types/web-bluetooth@0.0.14': resolution: {integrity: sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==} - dev: true - /@types/which@2.0.2: + '@types/which@2.0.2': resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} - dev: true - /@types/ws@8.5.3: + '@types/ws@8.5.3': resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} - dependencies: - '@types/node': 18.0.0 - dev: true - /@types/yargs-parser@21.0.0: + '@types/yargs-parser@21.0.0': resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true - /@types/yargs@17.0.22: + '@types/yargs@17.0.22': resolution: {integrity: sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - /@types/yauzl@2.10.3: + '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - requiresBuild: true - dependencies: - '@types/node': 14.18.36 - dev: true - optional: true - /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.45.0)(typescript@5.2.2): - resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} + '@typescript-eslint/eslint-plugin@7.13.0': + resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@6.21.0': + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.9.0(eslint@8.45.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/type-utils': 6.9.0(eslint@8.45.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.0(eslint@8.45.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.0 - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.45.0 - graphemer: 1.4.0 - ignore: 5.2.4 - natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/parser@6.9.0(eslint@8.45.0)(typescript@5.2.2): - resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} + '@typescript-eslint/parser@7.13.0': + resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/scope-manager@7.13.0': + resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.13.0': + resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.0 - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.45.0 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@6.9.0: - resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 - dev: true - /@typescript-eslint/type-utils@6.9.0(eslint@8.45.0)(typescript@5.2.2): - resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} + '@typescript-eslint/types@7.13.0': + resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.0(eslint@8.45.0)(typescript@5.2.2) - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.45.0 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/types@6.9.0: - resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} + '@typescript-eslint/typescript-estree@7.13.0': + resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@7.13.0': + resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/typescript-estree@6.9.0(typescript@5.2.2): - resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/visitor-keys@7.13.0': + resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@vitejs/plugin-vue@5.0.4': + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} + + '@vitest/runner@1.6.0': + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} + + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} + + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + + '@vue-kakuyaku/core@0.4.3': + resolution: {integrity: sha512-1+H3+7FA9/WocTV+jAlrnCD08sY5BtrKQ1Opvjkz4E5MRQaaIhiU5jF/tAgO1e25b+Q/01C8BiWX4a3bMgGIqw==} + + '@vue/compiler-core@3.2.47': + resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} + + '@vue/compiler-dom@3.2.47': + resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} + + '@vue/compiler-sfc@3.2.47': + resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} + + '@vue/compiler-ssr@3.2.47': + resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} + + '@vue/reactivity-transform@3.2.47': + resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} + + '@vue/reactivity@3.2.47': + resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} + + '@vue/runtime-core@3.2.47': + resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} + + '@vue/runtime-dom@3.2.47': + resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} + + '@vue/server-renderer@3.2.47': + resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} + peerDependencies: + vue: 3.2.47 + + '@vue/shared@3.2.47': + resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} + + '@vueuse/core@8.9.4': + resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + + '@vueuse/metadata@8.9.4': + resolution: {integrity: sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==} + + '@vueuse/shared@8.9.4': + resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + allure-js-commons@2.14.0: + resolution: {integrity: sha512-lVkLfcuFNhCezTAaHFQKdpmKOyW9dbd1NmBkee5LPI9cLjHCj3gLZ6Z4ECEj+pDxIuvMhWWZtSghrBYgnKLV+Q==} + + allure-vitest@2.14.0: + resolution: {integrity: sha512-FkJuScAkZvzohKo8WqgM/Jp59W6dBuW6BO/uyC16+o+upLhCmcgy676adk5ij3ofgDg3VcR3dvNG0/GbUOr7Hw==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + + arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + + arrify@2.0.1: + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} + + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + + aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + + aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + + axios@0.21.4: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + + axios@0.24.0: + resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + + better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + + bignumber.js@9.0.2: + resolution: {integrity: sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==} + + binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + blob-util@2.0.2: + resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boolify@1.0.1: + resolution: {integrity: sha512-ma2q0Tc760dW54CdOyJjhrg/a54317o1zYADQJFgperNGKIKgAUGIcKnuMiff8z57+yGlrGNEt4lPgZfCgTJgA==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + breakword@1.0.6: + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + cachedir@2.3.0: + resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + engines: {node: '>=6'} + + call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + + call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + + camelcase-keys@9.1.2: + resolution: {integrity: sha512-nFhquwz7p3nWSHeVYoIkefNPdR2Rt4EuKs9/gaqx3DhJL6HkNHIEcsH+D6N4NvW/MHxc4TT+rp0rc4K7E7x9hw==} + engines: {node: '>=16'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + camelcase@8.0.0: + resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} + engines: {node: '>=16'} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-table3@0.6.3: + resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + engines: {node: 10.* || >= 12.*} + + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + + clipboardy@3.0.0: + resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + consola@2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + + cookie-es@1.0.0: + resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} + + core-js@3.33.1: + resolution: {integrity: sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==} + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + + cross-spawn@5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + + cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@2.6.21: + resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} + + csv-generate@3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + + csv-parse@4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + + csv-stringify@5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + + csv@5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + + cypress@12.5.1: + resolution: {integrity: sha512-ZmCmJ3lsyeOpBfh410m5+AO2CO1AxAzFBt7k6/uVbNcrNZje1vdiwYTpj2ksPKg9mjr9lR6V8tmlDNMvr4H/YQ==} + engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} + hasBin: true + + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + + dayjs@1.11.7: + resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.2: + resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + engines: {node: '>=6'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + + define-properties@1.1.4: + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defu@6.1.2: + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} + + del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + destr@1.2.2: + resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} + + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + + emittery@0.10.2: + resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.20.1: + resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} + engines: {node: '>= 0.4'} + + es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + esbuild@0.17.10: + resolution: {integrity: sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-alloy@5.1.2: + resolution: {integrity: sha512-jppzCxNqlhvMYPgfUzvPq4f9fEu070+m3CRIjWdUx/GJLZ6dXHARzMIrIhFuIvzYI5Qo40ht1gunguLnRhIB7A==} + peerDependencies: + '@babel/eslint-parser': 7.x + '@babel/preset-react': 7.x + '@typescript-eslint/eslint-plugin': '>=5.55.0' + '@typescript-eslint/parser': '>=5.0.0' + eslint: '>=8.24.0' + eslint-plugin-react: '>=7.31.8' + eslint-plugin-vue: '>=9.5.1' + typescript: 5.x + vue-eslint-parser: 9.x + peerDependenciesMeta: + '@babel/eslint-parser': + optional: true + '@babel/preset-react': + optional: true + '@typescript-eslint/eslint-plugin': + optional: true + '@typescript-eslint/parser': + optional: true + eslint-plugin-react: + optional: true + eslint-plugin-vue: + optional: true + typescript: + optional: true + vue-eslint-parser: + optional: true + + eslint-plugin-cypress@3.3.0: + resolution: {integrity: sha512-HPHMPzYBIshzJM8wqgKSKHG2p/8R0Gbg4Pb3tcdC9WrmkuqxiKxSKbjunUrajhV5l7gCIFrh1P7C7GuBqH6YuQ==} + peerDependencies: + eslint: '>=7' + + eslint-plugin-vue@9.26.0: + resolution: {integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + eslint@9.4.0: + resolution: {integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventemitter2@6.4.7: + resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@7.0.0: + resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + executable@4.1.1: + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extendable-error@0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + + fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + engines: {node: '>=8.6.0'} + + fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-redact@3.1.2: + resolution: {integrity: sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==} + engines: {node: '>=6'} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + + flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + fmt-subs@1.1.1: + resolution: {integrity: sha512-11qUMl76/5d/gYAtvoBZacQ94DPRKtip989wKVbSb0JD1LWzNg16u47+hLVxmzDqPH74ljlxIyQlbPCAP4XEGQ==} + + follow-redirects@1.15.1: + resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + fp-ts@2.14.0: + resolution: {integrity: sha512-QLagLSYAgMA00pZzUzeksH/78Sd14y7+Gc2A8Yaja3/IpGOFMdm/gYBuDMxYqLsJ58iT5lz+bJb953RAeFfp1A==} + + fp-ts@2.16.0: + resolution: {integrity: sha512-bLq+KgbiXdTEoT1zcARrWEpa5z6A/8b7PcDW7Gef3NSisQ+VS7ll2Xbf1E+xsgik0rWub/8u0qP/iTTjj+PhxQ==} + + from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + + fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.1.2: + resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} + + get-intrinsic@1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + + get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + + get-port-please@3.0.1: + resolution: {integrity: sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng==} + + get-stdin@8.0.0: + resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} + engines: {node: '>=10'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + + getos@3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.1.3: + resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + h3@1.6.5: + resolution: {integrity: sha512-A0r2LCDzeavSfcAbJpMwHXLcSN0H3FpEZtYigbz4IYun0fOE8r6vy3galwubAnmc6gXVob4261zXQsu3sZayzg==} + + hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + + has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + + has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + + has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + + hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + + help-me@4.2.0: + resolution: {integrity: sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + http-signature@1.3.6: + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} + + human-id@1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + + human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@4.3.0: + resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} + engines: {node: '>=14.18.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + immer@9.0.19: + resolution: {integrity: sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==} + + immutable@4.1.0: + resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} + + immutable@4.2.4: + resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==} + + immutable@4.3.6: + resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + internal-slot@1.0.3: + resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + engines: {node: '>= 0.4'} + + internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + + ip-regex@5.0.0: + resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + iron-webcrypto@0.7.0: + resolution: {integrity: sha512-WkX32iTcwd79ZsWRPP5wq1Jq6XXfPwO783ZiUBY8uMw4/AByx5WvBmxvYGnpVt6AOVJ0F41Qo420r8lIneT9Wg==} + + is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-callable@1.2.4: + resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jake@10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true + + joi@17.6.0: + resolution: {integrity: sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==} + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + + json-bigint@1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsprim@2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + listhen@1.0.4: + resolution: {integrity: sha512-r94k7kmXHb8e8wpv7+UP/qqhhD+j/9TgX19QKim2cEJuWCLwlTw+5BkCFmYyjhQ7Bt8KdVun/2DcD7MF2Fe3+g==} + + listr2@3.14.0: + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + + load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + + load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + + loglevel-colored-level-prefix@1.0.0: + resolution: {integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==} + + loglevel@1.8.1: + resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} + engines: {node: '>= 0.6.0'} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + + lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + + magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + + magic-string@0.30.1: + resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} + engines: {node: '>=12'} + + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-plural@7.3.0: + resolution: {integrity: sha512-/K3BC0KIsO+WK2i94LkMPv3wslMrazrQhfi5We9fMbLlLjzoOSJWr7TAdupLlDWaJcWxwoNosBkhFDejiu5VDw==} + + map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + + map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + + map-obj@5.0.0: + resolution: {integrity: sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + + meow@6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + + minimist@1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + + mixme@0.5.9: + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} + + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + + moo@0.5.2: + resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@3.2.10: + resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-fetch@3.3.0: + resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-inspect@1.12.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} + + object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.2: + resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} + engines: {node: '>= 0.4'} + + object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + + on-exit-leak-free@2.1.0: + resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + ospath@1.2.2: + resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} + + outdent@0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + + p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + + path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pino-abstract-transport@1.0.0: + resolution: {integrity: sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==} + + pino-http@8.3.3: + resolution: {integrity: sha512-p4umsNIXXVu95HD2C8wie/vXH7db5iGRpc+yj1/ZQ3sRtTQLXNjoS6Be5+eI+rQbqCRxen/7k/KSN+qiZubGDw==} + + pino-pretty@10.0.0: + resolution: {integrity: sha512-zKFjYXBzLaLTEAN1ayKpHXtL5UeRQC7R3lvhKe7fWs7hIVEjKGG/qIXwQt9HmeUp71ogUd/YcW+LmMwRp4KT6Q==} + hasBin: true + + pino-std-serializers@6.2.1: + resolution: {integrity: sha512-wHuWB+CvSVb2XqXM0W/WOYUkVSPbiJb9S5fNB7TBhd8s892Xq910bRxwHtC4l71hgztObTjXL6ZheZXFjhDrDQ==} + + pino@8.14.1: + resolution: {integrity: sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw==} + hasBin: true + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} + + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + + preferred-pm@3.1.2: + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-eslint-cli@8.0.1: + resolution: {integrity: sha512-jru4JUDHzWEtM/SOxqagU7hQTVP8BVrxO2J0qNauWZuPRld6Ea2eyNaEzIGx6I+yjmOLCsjNM+vU1AJgaW1ZSQ==} + engines: {node: '>=16.10.0'} + hasBin: true + peerDependencies: + prettier-eslint: '*' + peerDependenciesMeta: + prettier-eslint: + optional: true + + prettier-eslint@16.3.0: + resolution: {integrity: sha512-Lh102TIFCr11PJKUMQ2kwNmxGhTsv/KzUg9QYF2Gkw259g/kPgndZDWavk7/ycbRvj2oz4BPZ1gCU8bhfZH/Xg==} + engines: {node: '>=16.10.0'} + peerDependencies: + prettier-plugin-svelte: ^3.0.0 + svelte-eslint-parser: '*' + peerDependenciesMeta: + prettier-plugin-svelte: + optional: true + svelte-eslint-parser: + optional: true + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + engines: {node: '>=14'} + hasBin: true + + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + process-warning@2.2.0: + resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + properties@1.2.1: + resolution: {integrity: sha512-qYNxyMj1JeW54i/EWEFsM1cVwxJbtgPp8+0Wg9XjNaK6VE/c4oRi6PNu5p7w1mNXEIQIjV5Wwn8v8Gz82/QzdQ==} + engines: {node: '>=0.10'} + + proxy-from-env@1.0.0: + resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} + + ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + + pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.10.4: + resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + + quick-lru@6.1.2: + resolution: {integrity: sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==} + engines: {node: '>=12'} + + radix3@1.0.1: + resolution: {integrity: sha512-y+AcwZ3HcUIGc9zGsNVf5+BY/LxL+z+4h4J3/pp8jxSmy1STaCocPS3qrj4tA5ehUSzqtqK+0Aygvz/r/8vy4g==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-stream@4.3.0: + resolution: {integrity: sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + + regexp.prototype.flags@1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} + + regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + + request-progress@3.0.0: + resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + require-relative@0.8.7: + resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + rollup-plugin-dts@5.3.0: + resolution: {integrity: sha512-8FXp0ZkyZj1iU5klkIJYLjIq/YZSwBoERu33QBDxm/1yw5UU4txrEtcmMkrq+ZiKu3Q4qvPCNqc3ovX6rjqzbQ==} + engines: {node: '>=v14'} + peerDependencies: + rollup: ^3.0.0 + typescript: ^4.1 || ^5.0 + + rollup@3.26.2: + resolution: {integrity: sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + + rollup@4.12.1: + resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.5.6: + resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} + + rxjs@7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-identifier@0.4.2: + resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} + + safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + + safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass@1.54.0: + resolution: {integrity: sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ==} + engines: {node: '>=12.0.0'} + hasBin: true + + sass@1.77.5: + resolution: {integrity: sha512-oDfX1mukIlxacPdQqNb6mV2tVCrnE+P3nVYioy72V5tlk56CPNcO4TCuFcaCRKKfJ1M3lH95CleRS+dVKL2qMg==} + engines: {node: '>=14.0.0'} + hasBin: true + + secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + + semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + + semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + + semver@7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.7.3: + resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} + + side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + smartwrap@2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + + sonic-boom@3.3.0: + resolution: {integrity: sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==} + + sort-es@1.6.6: + resolution: {integrity: sha512-28+kv5wXehxePLk0SQ51qNCegiaBCH+o1QIPkdfkLqhfxovPbw/a0eLy8rdW11VSkZq2U10cwIVhwGoIM6xfAQ==} + + source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + + spawndamnit@2.0.0: + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + + spdx-correct@3.1.1: + resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + + spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.11: + resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sshpk@1.17.0: + resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + start-server-and-test@1.14.0: + resolution: {integrity: sha512-on5ELuxO2K0t8EmNj9MtVlFqwBMxfWOhu4U7uZD1xccVpFlOQKR93CSe0u98iQzfNxRyaNTb/CdadbNllplTsw==} + engines: {node: '>=6'} + hasBin: true + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + + stream-transform@2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.padend@3.1.3: + resolution: {integrity: sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.5: + resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} + + string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + + string.prototype.trimstart@1.0.5: + resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} + + string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tarjan-graph@3.0.0: + resolution: {integrity: sha512-sM1+1ZKnnCtTP9W0DHTMHTlej9buusVHaKiBVecc6tZpBffBeEpE4XdFz7WNs9H1zaYkcgm6MzfyXFxSV2S1rA==} + + term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thread-stream@2.3.0: + resolution: {integrity: sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==} + + throttleit@1.0.0: + resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiny-invariant@1.3.1: + resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} + + tinybench@2.8.0: + resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + + tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} + + tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + + trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-pattern@4.2.1: + resolution: {integrity: sha512-lXCmHZb01QOM9HdCLvisCGUH9ATdKPON9UaUvwe007gJAhuSBhRWIAIowys5QqNxEq6odWctfMIdI96vzjnOMQ==} + + ts-pattern@5.0.1: + resolution: {integrity: sha512-ZyNm28Lsg34Co5DS3e9DVyjlX2Y+2exkI4jqTKyU+9/OL6Y2fKOOuL8i+7no71o74C6mVS+UFoP3ekM3iCT1HQ==} + + tslib@2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tsx@4.15.4: + resolution: {integrity: sha512-d++FLCwJLrXaBFtRcqdPBzu6FiVOJ2j+UsvUZPtoTrnYtCGU5CEW7iHXtNZfA2fcRTvJFWPqA6SWBuB0GSva9w==} + engines: {node: '>=18.0.0'} + hasBin: true + + tty-table@4.2.3: + resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} + engines: {node: '>=8.0.0'} + hasBin: true + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@3.9.0: + resolution: {integrity: sha512-hR8JP2e8UiH7SME5JZjsobBlEiatFoxpzCP+R3ZeCo7kAaG1jXQE5X/buLzogM6GJu8le9Y4OcfNuIQX0rZskA==} + engines: {node: '>=14.16'} + + type-fest@4.6.0: + resolution: {integrity: sha512-rLjWJzQFOq4xw7MgJrCZ6T1jIOvvYElXT12r+y0CC6u67hegDHaxcPqb2fZHOGlqxugGQPNB1EnTezjBetkwkw==} + engines: {node: '>=16'} + + typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.1.2: + resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + uncrypto@0.1.2: + resolution: {integrity: sha512-kuZwRKV615lEw/Xx3Iz56FKk3nOeOVGaVmw0eg+x4Mne28lCotNFbBhDW7dEBCBKyKbRQiCadEZeNAFPVC5cgw==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici@5.20.0: + resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} + engines: {node: '>=12.18'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + + untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite@5.1.5: + resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + vue-demi@0.13.6: + resolution: {integrity: sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-eslint-parser@9.4.3: + resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + vue@3.2.47: + resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==} + + wait-on@6.0.0: + resolution: {integrity: sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==} + engines: {node: '>=10.0.0'} + hasBin: true + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + + webpod@0.0.2: + resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} + hasBin: true + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + + which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@3.0.0: + resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.8.1: + resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.2.1: + resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} + engines: {node: '>= 14'} + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@17.6.2: + resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + zx@7.2.0: + resolution: {integrity: sha512-SMuOZ21zFnBxicw+WMtTv3z3eERh6KBtZExAJaL8EAV+Ev/3M1NIAOkrZ8kRfCzD9acv9heUH/WZctTR4vQxBQ==} + engines: {node: '>= 16.0.0'} + hasBin: true + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@babel/code-frame@7.23.5': + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + + '@babel/helper-string-parser@7.19.4': {} + + '@babel/helper-validator-identifier@7.19.1': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/highlight@7.23.4': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + '@babel/parser@7.20.15': + dependencies: + '@babel/types': 7.20.7 + + '@babel/runtime@7.23.2': + dependencies: + regenerator-runtime: 0.14.0 + + '@babel/types@7.20.7': + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + + '@bahmutov/cypress-esbuild-preprocessor@2.2.0(esbuild@0.17.10)': + dependencies: + debug: 4.3.4(supports-color@8.1.1) + esbuild: 0.17.10 + transitivePeerDependencies: + - supports-color + + '@changesets/apply-release-plan@6.1.4': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/config': 2.3.1 + '@changesets/get-version-range-type': 0.3.2 + '@changesets/git': 2.0.0 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 7.5.4 + + '@changesets/assemble-release-plan@5.2.4': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.6 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + semver: 7.5.4 + + '@changesets/changelog-git@0.1.14': + dependencies: + '@changesets/types': 5.2.1 + + '@changesets/cli@2.26.2': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/apply-release-plan': 6.1.4 + '@changesets/assemble-release-plan': 5.2.4 + '@changesets/changelog-git': 0.1.14 + '@changesets/config': 2.3.1 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.6 + '@changesets/get-release-plan': 3.0.17 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@changesets/write': 0.2.3 + '@manypkg/get-packages': 1.1.3 + '@types/is-ci': 3.0.3 + '@types/semver': 7.5.4 + ansi-colors: 4.1.3 + chalk: 2.4.2 + enquirer: 2.4.1 + external-editor: 3.1.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + is-ci: 3.0.1 + meow: 6.1.1 + outdent: 0.5.0 + p-limit: 2.3.0 + preferred-pm: 3.1.2 + resolve-from: 5.0.0 + semver: 7.5.4 + spawndamnit: 2.0.0 + term-size: 2.2.1 + tty-table: 4.2.3 + + '@changesets/config@2.3.1': + dependencies: + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.6 + '@changesets/logger': 0.0.5 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.5 + + '@changesets/errors@0.1.4': + dependencies: + extendable-error: 0.1.7 + + '@changesets/get-dependents-graph@1.3.6': + dependencies: + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + chalk: 2.4.2 + fs-extra: 7.0.1 + semver: 7.5.4 + + '@changesets/get-release-plan@3.0.17': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/assemble-release-plan': 5.2.4 + '@changesets/config': 2.3.1 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + + '@changesets/get-version-range-type@0.3.2': {} + + '@changesets/git@2.0.0': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.5 + spawndamnit: 2.0.0 + + '@changesets/logger@0.0.5': + dependencies: + chalk: 2.4.2 + + '@changesets/parse@0.3.16': + dependencies: + '@changesets/types': 5.2.1 + js-yaml: 3.14.1 + + '@changesets/pre@1.0.14': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + + '@changesets/read@0.5.9': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/parse': 0.3.16 + '@changesets/types': 5.2.1 + chalk: 2.4.2 + fs-extra: 7.0.1 + p-filter: 2.1.0 + + '@changesets/types@4.1.0': {} + + '@changesets/types@5.2.1': {} + + '@changesets/write@0.2.3': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/types': 5.2.1 + fs-extra: 7.0.1 + human-id: 1.0.2 + prettier: 2.8.8 + + '@colors/colors@1.5.0': + optional: true + + '@cypress/request@2.88.11': + dependencies: + aws-sign2: 0.7.0 + aws4: 1.12.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + http-signature: 1.3.6 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + performance-now: 2.1.0 + qs: 6.10.4 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 8.3.2 + + '@cypress/xvfb@1.2.4(supports-color@8.1.1)': + dependencies: + debug: 3.2.7(supports-color@8.1.1) + lodash.once: 4.1.1 + transitivePeerDependencies: + - supports-color + + '@esbuild-kit/cjs-loader@2.4.4': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.5 + + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild/aix-ppc64@0.19.12': + optional: true + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.17.10': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.19.12': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.17.10': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.19.12': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.17.10': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.19.12': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.17.10': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.19.12': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.17.10': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.19.12': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.17.10': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.19.12': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.17.10': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.19.12': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.17.10': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.19.12': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.17.10': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.19.12': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.17.10': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.19.12': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.17.10': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.19.12': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.17.10': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.19.12': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.17.10': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.19.12': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.17.10': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.19.12': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.17.10': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.19.12': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.17.10': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.19.12': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.17.10': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.19.12': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.17.10': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.19.12': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.17.10': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.19.12': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.17.10': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.19.12': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.17.10': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.19.12': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.17.10': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.19.12': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.4.0(eslint@9.4.0)': + dependencies: + eslint: 9.4.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.1': {} + + '@eslint/config-array@0.15.1': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.4(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.6.1 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.0': {} + + '@eslint/js@9.4.0': {} + + '@eslint/object-schema@2.1.4': {} + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@humanwhocodes/config-array@0.11.14': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@humanwhocodes/retry@0.3.0': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jridgewell/sourcemap-codec@1.4.14': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@manypkg/find-root@1.1.0': + dependencies: + '@babel/runtime': 7.23.2 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + + '@manypkg/get-packages@1.1.3': + dependencies: + '@babel/runtime': 7.23.2 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + + '@messageformat/core@3.2.0': + dependencies: + '@messageformat/date-skeleton': 1.0.1 + '@messageformat/number-skeleton': 1.2.0 + '@messageformat/parser': 5.1.0 + '@messageformat/runtime': 3.0.1 + make-plural: 7.3.0 + safe-identifier: 0.4.2 + + '@messageformat/date-skeleton@1.0.1': {} + + '@messageformat/number-skeleton@1.2.0': {} + + '@messageformat/parser@5.1.0': + dependencies: + moo: 0.5.2 + + '@messageformat/runtime@3.0.1': + dependencies: + make-plural: 7.3.0 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@rollup/plugin-replace@5.0.2(rollup@3.26.2)': + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.26.2) + magic-string: 0.27.0 + optionalDependencies: + rollup: 3.26.2 + + '@rollup/pluginutils@5.0.2(rollup@3.26.2)': + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 3.26.2 + + '@rollup/rollup-android-arm-eabi@4.12.1': + optional: true + + '@rollup/rollup-android-arm64@4.12.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.12.1': + optional: true + + '@rollup/rollup-darwin-x64@4.12.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.12.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.12.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.12.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.12.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.12.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.12.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.12.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.12.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.12.1': + optional: true + + '@scale-codec/core@2.0.1': + dependencies: + '@scale-codec/enum': 2.1.1 + '@scale-codec/util': 1.1.2 + + '@scale-codec/definition-compiler@4.0.1': + dependencies: + '@scale-codec/enum': 2.1.1 + '@scale-codec/util': 1.1.2 + immutable: 4.2.4 + sort-es: 1.6.6 + tarjan-graph: 3.0.0 + ts-pattern: 4.2.1 + + '@scale-codec/definition-runtime@4.0.1': + dependencies: + '@scale-codec/core': 2.0.1 + '@scale-codec/util': 1.1.2 + fmt-subs: 1.1.1 + + '@scale-codec/enum@2.1.1': {} + + '@scale-codec/util@1.1.2': {} + + '@sideway/address@4.1.4': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.0': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.8': {} + + '@types/debug@4.1.7': + dependencies: + '@types/ms': 0.7.31 + + '@types/estree@1.0.0': {} + + '@types/estree@1.0.5': {} + + '@types/fs-extra@11.0.1': + dependencies: + '@types/jsonfile': 6.1.1 + '@types/node': 18.14.2 + + '@types/is-ci@3.0.3': + dependencies: + ci-info: 3.9.0 + + '@types/jake@0.0.33': + dependencies: + '@types/node': 18.0.0 + + '@types/jsonfile@6.1.1': + dependencies: + '@types/node': 18.14.2 + + '@types/minimist@1.2.2': {} + + '@types/minimist@1.2.4': {} + + '@types/ms@0.7.31': {} + + '@types/node@12.20.55': {} + + '@types/node@14.18.36': {} + + '@types/node@18.0.0': {} + + '@types/node@18.14.2': {} + + '@types/node@20.14.2': + dependencies: + undici-types: 5.26.5 + optional: true + + '@types/normalize-package-data@2.4.3': {} + + '@types/ps-tree@1.1.2': {} + + '@types/semver@7.5.4': {} + + '@types/sinonjs__fake-timers@8.1.1': {} + + '@types/sizzle@2.3.3': {} + + '@types/web-bluetooth@0.0.14': {} + + '@types/which@2.0.2': {} + + '@types/ws@8.5.3': + dependencies: + '@types/node': 18.0.0 + + '@types/yargs-parser@21.0.0': {} + + '@types/yargs@17.0.22': + dependencies: + '@types/yargs-parser': 21.0.0 + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 14.18.36 + optional: true + + '@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/regexpp': 4.10.1 + '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.13.0 + '@typescript-eslint/type-utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.13.0 + eslint: 9.4.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 7.13.0 + '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.13.0 + debug: 4.3.4(supports-color@8.1.1) + eslint: 9.4.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + + '@typescript-eslint/scope-manager@7.13.0': + dependencies: + '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/visitor-keys': 7.13.0 + + '@typescript-eslint/type-utils@7.13.0(eslint@9.4.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 9.4.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@6.21.0': {} + + '@typescript-eslint/types@7.13.0': {} + + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/visitor-keys': 7.13.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + minimatch: 9.0.4 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils@6.9.0(eslint@8.45.0)(typescript@5.2.2): - resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@7.13.0(eslint@9.4.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - '@types/json-schema': 7.0.14 - '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - eslint: 8.45.0 - semver: 7.5.4 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + '@typescript-eslint/scope-manager': 7.13.0 + '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) + eslint: 9.4.0 transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/visitor-keys@6.9.0: - resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@6.21.0': dependencies: - '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - dev: true - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true + '@typescript-eslint/visitor-keys@7.13.0': + dependencies: + '@typescript-eslint/types': 7.13.0 + eslint-visitor-keys: 3.4.3 - /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@3.2.47): - resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 - vue: ^3.2.25 + '@ungap/structured-clone@1.2.0': {} + + '@vitejs/plugin-vue@5.0.4(vite@5.1.5(@types/node@20.14.2)(sass@1.54.0))(vue@3.2.47)': dependencies: - vite: 5.1.5(sass@1.54.0) + vite: 5.1.5(@types/node@20.14.2)(sass@1.54.0) vue: 3.2.47 - dev: true - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + '@vitest/expect@1.6.0': dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 chai: 4.4.1 - dev: true - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + '@vitest/runner@1.6.0': dependencies: - '@vitest/utils': 1.3.1 + '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 - dev: true - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + '@vitest/snapshot@1.6.0': dependencies: - magic-string: 0.30.8 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 - dev: true - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.1 - dev: true - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 loupe: 2.3.7 pretty-format: 29.7.0 - dev: true - /@vue-kakuyaku/core@0.4.3: - resolution: {integrity: sha512-1+H3+7FA9/WocTV+jAlrnCD08sY5BtrKQ1Opvjkz4E5MRQaaIhiU5jF/tAgO1e25b+Q/01C8BiWX4a3bMgGIqw==} + '@vue-kakuyaku/core@0.4.3': dependencies: '@vueuse/core': 8.9.4(vue@3.2.47) type-fest: 3.9.0 vue: 3.2.47 transitivePeerDependencies: - '@vue/composition-api' - dev: true - /@vue/compiler-core@3.2.47: - resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} + '@vue/compiler-core@3.2.47': dependencies: '@babel/parser': 7.20.15 '@vue/shared': 3.2.47 estree-walker: 2.0.2 source-map: 0.6.1 - dev: true - /@vue/compiler-dom@3.2.47: - resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} + '@vue/compiler-dom@3.2.47': dependencies: '@vue/compiler-core': 3.2.47 '@vue/shared': 3.2.47 - dev: true - /@vue/compiler-sfc@3.2.47: - resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} + '@vue/compiler-sfc@3.2.47': dependencies: '@babel/parser': 7.20.15 '@vue/compiler-core': 3.2.47 @@ -1975,267 +5415,161 @@ packages: magic-string: 0.25.9 postcss: 8.4.31 source-map: 0.6.1 - dev: true - /@vue/compiler-ssr@3.2.47: - resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} + '@vue/compiler-ssr@3.2.47': dependencies: '@vue/compiler-dom': 3.2.47 '@vue/shared': 3.2.47 - dev: true - /@vue/reactivity-transform@3.2.47: - resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} + '@vue/reactivity-transform@3.2.47': dependencies: '@babel/parser': 7.20.15 '@vue/compiler-core': 3.2.47 '@vue/shared': 3.2.47 estree-walker: 2.0.2 magic-string: 0.25.9 - dev: true - /@vue/reactivity@3.2.47: - resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} + '@vue/reactivity@3.2.47': dependencies: '@vue/shared': 3.2.47 - dev: true - /@vue/runtime-core@3.2.47: - resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} + '@vue/runtime-core@3.2.47': dependencies: '@vue/reactivity': 3.2.47 '@vue/shared': 3.2.47 - dev: true - /@vue/runtime-dom@3.2.47: - resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} + '@vue/runtime-dom@3.2.47': dependencies: '@vue/runtime-core': 3.2.47 '@vue/shared': 3.2.47 csstype: 2.6.21 - dev: true - /@vue/server-renderer@3.2.47(vue@3.2.47): - resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} - peerDependencies: - vue: 3.2.47 + '@vue/server-renderer@3.2.47(vue@3.2.47)': dependencies: '@vue/compiler-ssr': 3.2.47 '@vue/shared': 3.2.47 vue: 3.2.47 - dev: true - /@vue/shared@3.2.47: - resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} - dev: true + '@vue/shared@3.2.47': {} - /@vueuse/core@8.9.4(vue@3.2.47): - resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==} - peerDependencies: - '@vue/composition-api': ^1.1.0 - vue: ^2.6.0 || ^3.2.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - vue: - optional: true + '@vueuse/core@8.9.4(vue@3.2.47)': dependencies: '@types/web-bluetooth': 0.0.14 '@vueuse/metadata': 8.9.4 '@vueuse/shared': 8.9.4(vue@3.2.47) - vue: 3.2.47 vue-demi: 0.13.6(vue@3.2.47) - dev: true + optionalDependencies: + vue: 3.2.47 - /@vueuse/metadata@8.9.4: - resolution: {integrity: sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==} - dev: true + '@vueuse/metadata@8.9.4': {} - /@vueuse/shared@8.9.4(vue@3.2.47): - resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==} - peerDependencies: - '@vue/composition-api': ^1.1.0 - vue: ^2.6.0 || ^3.2.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - vue: - optional: true + '@vueuse/shared@8.9.4(vue@3.2.47)': dependencies: - vue: 3.2.47 vue-demi: 0.13.6(vue@3.2.47) - dev: true + optionalDependencies: + vue: 3.2.47 - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.10.0): dependencies: acorn: 8.10.0 - dev: true - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn-walk@8.3.2: {} - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn@8.10.0: {} - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + acorn@8.11.3: {} + + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - dev: true - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true - /allure-js-commons@2.14.0: - resolution: {integrity: sha512-lVkLfcuFNhCezTAaHFQKdpmKOyW9dbd1NmBkee5LPI9cLjHCj3gLZ6Z4ECEj+pDxIuvMhWWZtSghrBYgnKLV+Q==} + allure-js-commons@2.14.0: dependencies: properties: 1.2.1 strip-ansi: 5.2.0 - dev: true - /allure-vitest@2.14.0: - resolution: {integrity: sha512-FkJuScAkZvzohKo8WqgM/Jp59W6dBuW6BO/uyC16+o+upLhCmcgy676adk5ij3ofgDg3VcR3dvNG0/GbUOr7Hw==} + allure-vitest@2.14.0: dependencies: allure-js-commons: 2.14.0 - dev: true - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.3: {} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - dev: true - /ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - dev: true + ansi-regex@2.1.1: {} - /ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - dev: true + ansi-regex@4.1.1: {} - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true + ansi-regex@5.0.1: {} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true + ansi-regex@6.0.1: {} - /ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - dev: true + ansi-styles@2.2.1: {} - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true + ansi-styles@5.2.0: {} - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true + ansi-styles@6.2.1: {} - /anymatch@3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} + anymatch@3.1.2: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true - /arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - dev: true + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + optional: true - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + arch@2.2.0: {} + + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - dev: true - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true + argparse@2.0.1: {} - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-buffer-byte-length@1.0.0: dependencies: call-bind: 1.0.5 is-array-buffer: 3.0.2 - dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true + array-union@2.1.0: {} - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} + array.prototype.flat@1.3.2: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 - dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.2: dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.5 @@ -2244,318 +5578,189 @@ packages: get-intrinsic: 1.2.2 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 - dev: true - /arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - dev: true + arrify@1.0.1: {} - /arrify@2.0.1: - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} - engines: {node: '>=8'} - dev: true + arrify@2.0.1: {} - /asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + asn1@0.2.6: dependencies: safer-buffer: 2.1.2 - dev: true - /assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - dev: true + assert-plus@1.0.0: {} - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true + assertion-error@1.1.0: {} - /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true + astral-regex@2.0.0: {} - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - dev: true + async@3.2.4: {} - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true + asynckit@0.4.0: {} - /at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - dev: true + at-least-node@1.0.0: {} - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: true + atomic-sleep@1.0.0: {} - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true + available-typed-arrays@1.0.5: {} - /aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: true + aws-sign2@0.7.0: {} - /aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} - dev: true + aws4@1.12.0: {} - /axios@0.21.4(debug@4.3.2): - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + axios@0.21.4(debug@4.3.2): dependencies: follow-redirects: 1.15.1(debug@4.3.2) transitivePeerDependencies: - debug - dev: true - /axios@0.24.0(debug@4.3.4): - resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} + axios@0.24.0(debug@4.3.4): dependencies: follow-redirects: 1.15.1(debug@4.3.4) transitivePeerDependencies: - debug - dev: true - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true + balanced-match@1.0.2: {} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true + base64-js@1.5.1: {} - /bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + bcrypt-pbkdf@1.0.2: dependencies: tweetnacl: 0.14.5 - dev: true - /better-path-resolve@1.0.0: - resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} - engines: {node: '>=4'} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 - dev: true - /bignumber.js@9.0.2: - resolution: {integrity: sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==} - dev: false + bignumber.js@9.0.2: {} - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true + binary-extensions@2.2.0: {} - /blob-util@2.0.2: - resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} - dev: true + blob-util@2.0.2: {} - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: true + bluebird@3.7.2: {} - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: true + boolbase@1.0.0: {} - /boolify@1.0.1: - resolution: {integrity: sha512-ma2q0Tc760dW54CdOyJjhrg/a54317o1zYADQJFgperNGKIKgAUGIcKnuMiff8z57+yGlrGNEt4lPgZfCgTJgA==} - dev: true + boolify@1.0.1: {} - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + braces@3.0.2: dependencies: fill-range: 7.0.1 - dev: true - /breakword@1.0.6: - resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + optional: true + + breakword@1.0.6: dependencies: wcwidth: 1.0.1 - dev: true - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true + buffer-crc32@0.2.13: {} - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true + buffer-from@1.1.2: {} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} + busboy@1.6.0: dependencies: streamsearch: 1.1.0 - dev: true - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true + cac@6.7.14: {} - /cachedir@2.3.0: - resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} - engines: {node: '>=6'} - dev: true + cachedir@2.3.0: {} - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + call-bind@1.0.2: dependencies: function-bind: 1.1.1 get-intrinsic: 1.1.2 - dev: true - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + call-bind@1.0.5: dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.2 set-function-length: 1.1.1 - dev: true - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true + callsites@3.1.0: {} - /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + camelcase-keys@6.2.2: dependencies: camelcase: 5.3.1 map-obj: 4.3.0 quick-lru: 4.0.1 - dev: true - /camelcase-keys@9.1.2: - resolution: {integrity: sha512-nFhquwz7p3nWSHeVYoIkefNPdR2Rt4EuKs9/gaqx3DhJL6HkNHIEcsH+D6N4NvW/MHxc4TT+rp0rc4K7E7x9hw==} - engines: {node: '>=16'} + camelcase-keys@9.1.2: dependencies: camelcase: 8.0.0 map-obj: 5.0.0 quick-lru: 6.1.2 type-fest: 4.6.0 - dev: true - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true + camelcase@5.3.1: {} - /camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} - dev: true + camelcase@7.0.1: {} - /camelcase@8.0.0: - resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} - engines: {node: '>=16'} - dev: true + camelcase@8.0.0: {} - /caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - dev: true + caseless@0.12.0: {} - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + chai@4.4.1: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.3 + deep-eql: 4.1.4 get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 - dev: true - /chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} + chalk@1.1.3: dependencies: ansi-styles: 2.2.1 escape-string-regexp: 1.0.5 has-ansi: 2.0.0 strip-ansi: 3.0.1 supports-color: 2.0.0 - dev: true - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true - /chalk@5.2.0: - resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true + chalk@5.2.0: {} - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true + chardet@0.7.0: {} - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@1.0.3: dependencies: get-func-name: 2.0.2 - dev: true - /check-more-types@2.24.0: - resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} - engines: {node: '>= 0.8.0'} - dev: true + check-more-types@2.24.0: {} - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@3.5.3: dependencies: anymatch: 3.1.2 braces: 3.0.2 @@ -2566,207 +5771,135 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - dev: true + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + optional: true - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true + ci-info@3.9.0: {} - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + clean-stack@2.2.0: {} + + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - dev: true - /cli-table3@0.6.3: - resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} - engines: {node: 10.* || >= 12.*} + cli-table3@0.6.3: dependencies: string-width: 4.2.3 optionalDependencies: '@colors/colors': 1.5.0 - dev: true - /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + cli-truncate@2.1.0: dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 - dev: true - /clipboardy@3.0.0: - resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + clipboardy@3.0.0: dependencies: arch: 2.2.0 execa: 5.1.1 is-wsl: 2.2.0 - dev: true - /cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@6.0.0: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: true - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true + clone@1.0.4: {} - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - dev: true - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - dev: true - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true + color-name@1.1.3: {} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true + color-name@1.1.4: {} - /colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true + colorette@2.0.19: {} - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - dev: true - /commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - dev: true + commander@5.1.0: {} - /common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - dev: true + common-tags@1.8.2: {} - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true + concat-map@0.0.1: {} - /consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - dev: true + confbox@0.1.7: {} - /cookie-es@1.0.0: - resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} - dev: true + consola@2.15.3: {} - /core-js@3.33.1: - resolution: {integrity: sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==} - requiresBuild: true - dev: true + cookie-es@1.0.0: {} - /core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true + core-js@3.33.1: {} - /cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + core-util-is@1.0.2: {} + + cross-env@7.0.3: dependencies: cross-spawn: 7.0.3 - dev: true - /cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + cross-spawn@5.1.0: dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 which: 1.3.1 - dev: true - - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} + + cross-spawn@6.0.5: dependencies: nice-try: 1.0.5 path-key: 2.0.1 semver: 5.7.1 shebang-command: 1.2.0 which: 1.3.1 - dev: true - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: true + cssesc@3.0.0: {} - /csstype@2.6.21: - resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} - dev: true + csstype@2.6.21: {} - /csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} - dev: true + csv-generate@3.4.3: {} - /csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - dev: true + csv-parse@4.16.3: {} - /csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - dev: true + csv-stringify@5.6.5: {} - /csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} + csv@5.5.3: dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 csv-stringify: 5.6.5 stream-transform: 2.1.3 - dev: true - /cypress@12.5.1: - resolution: {integrity: sha512-ZmCmJ3lsyeOpBfh410m5+AO2CO1AxAzFBt7k6/uVbNcrNZje1vdiwYTpj2ksPKg9mjr9lR6V8tmlDNMvr4H/YQ==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} - requiresBuild: true + cypress@12.5.1: dependencies: '@cypress/request': 2.88.11 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) @@ -2810,127 +5943,70 @@ packages: tmp: 0.2.1 untildify: 4.0.0 yauzl: 2.10.0 - dev: true - /dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} + dashdash@1.14.1: dependencies: assert-plus: 1.0.0 - dev: true - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: true + data-uri-to-buffer@4.0.1: {} - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: true + dateformat@4.6.3: {} - /dayjs@1.11.7: - resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} - dev: true + dayjs@1.11.7: {} - /debug@3.2.7(supports-color@8.1.1): - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@3.2.7(supports-color@8.1.1): dependencies: ms: 2.1.3 + optionalDependencies: supports-color: 8.1.1 - dev: true - /debug@4.3.2: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.2: dependencies: ms: 2.1.2 - dev: true - /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4(supports-color@8.1.1): dependencies: ms: 2.1.2 + optionalDependencies: supports-color: 8.1.1 - /decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 map-obj: 1.0.1 - dev: true - /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: true + decamelize@1.2.0: {} - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + deep-eql@4.1.4: dependencies: type-detect: 4.0.8 - dev: true - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true + deep-is@0.1.4: {} - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defaults@1.0.4: dependencies: clone: 1.0.4 - dev: true - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} + define-data-property@1.1.1: dependencies: get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 - dev: true - /define-properties@1.1.4: - resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} - engines: {node: '>= 0.4'} + define-properties@1.1.4: dependencies: has-property-descriptors: 1.0.0 object-keys: 1.1.1 - dev: true - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: define-data-property: 1.1.1 has-property-descriptors: 1.0.1 object-keys: 1.1.1 - dev: true - /defu@6.1.2: - resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} - dev: true + defu@6.1.2: {} - /del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} + del@6.1.1: dependencies: globby: 11.1.0 graceful-fs: 4.2.10 @@ -2940,103 +6016,58 @@ packages: p-map: 4.0.0 rimraf: 3.0.2 slash: 3.0.0 - dev: true - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: true + delayed-stream@1.0.0: {} - /destr@1.2.2: - resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} - dev: true + destr@1.2.2: {} - /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - dev: true + detect-indent@6.1.0: {} - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + diff-sequences@29.6.3: {} - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - dev: true - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: true + dlv@1.1.3: {} - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true + duplexer@0.1.2: {} - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true + eastasianwidth@0.2.0: {} - /ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + ecc-jsbn@0.1.2: dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 - dev: true - /emittery@0.10.2: - resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} - engines: {node: '>=12'} - dev: false + emittery@0.10.2: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true + emoji-regex@9.2.2: {} - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - dev: true - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} + enquirer@2.3.6: dependencies: ansi-colors: 4.1.3 - dev: true - /enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - dev: true - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - dev: true - /es-abstract@1.20.1: - resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} - engines: {node: '>= 0.4'} + es-abstract@1.20.1: dependencies: call-bind: 1.0.2 es-to-primitive: 1.2.1 @@ -3061,11 +6092,8 @@ packages: string.prototype.trimend: 1.0.5 string.prototype.trimstart: 1.0.5 unbox-primitive: 1.0.2 - dev: true - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} - engines: {node: '>= 0.4'} + es-abstract@1.22.3: dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 @@ -3106,246 +6134,24 @@ packages: typed-array-length: 1.0.4 unbox-primitive: 1.0.2 which-typed-array: 1.1.13 - dev: true - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} - engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.2: dependencies: get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 hasown: 2.0.0 - dev: true - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + es-shim-unscopables@1.0.2: dependencies: hasown: 2.0.0 - dev: true - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.4 is-date-object: 1.0.5 is-symbol: 1.0.4 - dev: true - - /esbuild-android-64@0.15.18: - resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64@0.15.18: - resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64@0.15.18: - resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64@0.15.18: - resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64@0.15.18: - resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64@0.15.18: - resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32@0.15.18: - resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64@0.15.18: - resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64@0.15.18: - resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm@0.15.18: - resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le@0.15.18: - resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le@0.15.18: - resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64@0.15.18: - resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x@0.15.18: - resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64@0.15.18: - resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64@0.15.18: - resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64@0.15.18: - resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32@0.15.18: - resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64@0.15.18: - resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64@0.15.18: - resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /esbuild@0.15.18: - resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.15.18 - '@esbuild/linux-loong64': 0.15.18 - esbuild-android-64: 0.15.18 - esbuild-android-arm64: 0.15.18 - esbuild-darwin-64: 0.15.18 - esbuild-darwin-arm64: 0.15.18 - esbuild-freebsd-64: 0.15.18 - esbuild-freebsd-arm64: 0.15.18 - esbuild-linux-32: 0.15.18 - esbuild-linux-64: 0.15.18 - esbuild-linux-arm: 0.15.18 - esbuild-linux-arm64: 0.15.18 - esbuild-linux-mips64le: 0.15.18 - esbuild-linux-ppc64le: 0.15.18 - esbuild-linux-riscv64: 0.15.18 - esbuild-linux-s390x: 0.15.18 - esbuild-netbsd-64: 0.15.18 - esbuild-openbsd-64: 0.15.18 - esbuild-sunos-64: 0.15.18 - esbuild-windows-32: 0.15.18 - esbuild-windows-64: 0.15.18 - esbuild-windows-arm64: 0.15.18 - dev: true - - /esbuild@0.17.10: - resolution: {integrity: sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==} - engines: {node: '>=12'} - requiresBuild: true + esbuild@0.17.10: optionalDependencies: '@esbuild/android-arm': 0.17.10 '@esbuild/android-arm64': 0.17.10 @@ -3369,13 +6175,33 @@ packages: '@esbuild/win32-arm64': 0.17.10 '@esbuild/win32-ia32': 0.17.10 '@esbuild/win32-x64': 0.17.10 - dev: true - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + esbuild@0.19.12: optionalDependencies: '@esbuild/aix-ppc64': 0.19.12 '@esbuild/android-arm': 0.19.12 @@ -3400,133 +6226,102 @@ packages: '@esbuild/win32-arm64': 0.19.12 '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - dev: true - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - /eslint-config-alloy@5.0.0(@typescript-eslint/eslint-plugin@6.9.0)(@typescript-eslint/parser@6.9.0)(eslint-plugin-vue@9.15.1)(eslint@8.45.0)(typescript@5.2.2): - resolution: {integrity: sha512-ikYrtxBj1yQM0QQUzx3M3VWB0of4CBBYJs6gX47f/Jd8XCHREBkDk8GhqsX7K0aunsdv7GS/dtf+gIHEajRy4g==} - peerDependencies: - '@babel/eslint-parser': 7.x - '@babel/preset-react': 7.x - '@typescript-eslint/eslint-plugin': '>=5.55.0' - '@typescript-eslint/parser': 5.x - eslint: '>=8.24.0' - eslint-plugin-react: '>=7.31.8' - eslint-plugin-vue: '>=9.5.1' - typescript: 5.x - vue-eslint-parser: 9.x - peerDependenciesMeta: - '@babel/eslint-parser': - optional: true - '@babel/preset-react': - optional: true - '@typescript-eslint/eslint-plugin': - optional: true - '@typescript-eslint/parser': - optional: true - eslint-plugin-react: - optional: true - eslint-plugin-vue: - optional: true - typescript: - optional: true - vue-eslint-parser: - optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.45.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.9.0(eslint@8.45.0)(typescript@5.2.2) - eslint: 8.45.0 - eslint-plugin-vue: 9.15.1(eslint@8.45.0) - typescript: 5.2.2 - dev: true + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escalade@3.1.1: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-alloy@5.1.2(@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5))(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-vue@9.26.0(eslint@9.4.0))(eslint@9.4.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.4.0)): + dependencies: + eslint: 9.4.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) + eslint-plugin-vue: 9.26.0(eslint@9.4.0) + typescript: 5.4.5 + vue-eslint-parser: 9.4.3(eslint@9.4.0) - /eslint-plugin-cypress@2.13.3(eslint@8.45.0): - resolution: {integrity: sha512-nAPjZE5WopCsgJwl3vHm5iafpV+ZRO76Z9hMyRygWhmg5ODXDPd+9MaPl7kdJ2azj+sO87H3P1PRnggIrz848g==} - peerDependencies: - eslint: '>= 3.2.1' + eslint-plugin-cypress@3.3.0(eslint@9.4.0): dependencies: - eslint: 8.45.0 - globals: 11.12.0 - dev: true + eslint: 9.4.0 + globals: 13.24.0 - /eslint-plugin-vue@9.15.1(eslint@8.45.0): - resolution: {integrity: sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint-plugin-vue@9.26.0(eslint@9.4.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - eslint: 8.45.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + eslint: 9.4.0 + globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.13 - semver: 7.5.4 - vue-eslint-parser: 9.3.1(eslint@8.45.0) + postcss-selector-parser: 6.1.0 + semver: 7.6.2 + vue-eslint-parser: 9.4.3(eslint@9.4.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /eslint-scope@7.2.1: - resolution: {integrity: sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.1: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-visitor-keys@3.4.1: - resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.1: {} - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint@8.45.0: - resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint-visitor-keys@4.0.0: {} + + eslint@8.57.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.1.0 - '@eslint/js': 8.44.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.1 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.1 - eslint-visitor-keys: 3.4.1 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 @@ -3551,106 +6346,79 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /eslint@8.52.0: - resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@9.4.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.52.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + '@eslint-community/regexpp': 4.10.1 + '@eslint/config-array': 0.15.1 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.4.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4(supports-color@8.1.1) - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.23.0 - graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.0.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 4.0.0 + + espree@9.6.1: dependencies: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) eslint-visitor-keys: 3.4.1 - dev: true - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true + esprima@4.0.1: {} - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - dev: true - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + estraverse@5.3.0: {} - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true + estree-walker@2.0.2: {} - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 - dev: true - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /event-stream@3.3.4: - resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + event-stream@3.3.4: dependencies: duplexer: 0.1.2 from: 0.1.7 @@ -3659,25 +6427,14 @@ packages: split: 0.3.3 stream-combiner: 0.0.4 through: 2.3.8 - dev: true - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: true + event-target-shim@5.0.1: {} - /eventemitter2@6.4.7: - resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} - dev: true + eventemitter2@6.4.7: {} - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: true + events@3.3.0: {} - /execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} + execa@4.1.0: dependencies: cross-spawn: 7.0.3 get-stream: 5.2.0 @@ -3688,11 +6445,8 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@5.1.1: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -3703,11 +6457,8 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /execa@7.0.0: - resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + execa@7.0.0: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -3718,11 +6469,8 @@ packages: onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 - dev: true - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + execa@8.0.1: dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -3733,35 +6481,22 @@ packages: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: true - /executable@4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} + executable@4.1.1: dependencies: pify: 2.3.0 - dev: true - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true + extend@3.0.2: {} - /extendable-error@0.1.7: - resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - dev: true + extendable-error@0.1.7: {} - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + external-editor@3.1.0: dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true - /extract-zip@2.0.1(supports-color@8.1.1): - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} + extract-zip@2.0.1(supports-color@8.1.1): dependencies: debug: 4.3.4(supports-color@8.1.1) get-stream: 5.2.0 @@ -3770,409 +6505,260 @@ packages: '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color - dev: true - /extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - dev: true + extsprintf@1.3.0: {} - /fast-copy@3.0.1: - resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} - dev: true + fast-copy@3.0.1: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + fast-deep-equal@3.1.3: {} - /fast-glob@3.2.11: - resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} - engines: {node: '>=8.6.0'} + fast-glob@3.2.11: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} + fast-glob@3.2.12: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-redact@3.1.2: - resolution: {integrity: sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==} - engines: {node: '>=6'} - dev: true + fast-redact@3.1.2: {} - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: true + fast-safe-stringify@2.1.1: {} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fastq@1.15.0: dependencies: reusify: 1.0.4 - dev: true - /fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fd-slicer@1.1.0: dependencies: pend: 1.2.0 - dev: true - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 - dev: true - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.0.4 - dev: true - /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + filelist@1.0.4: dependencies: minimatch: 5.1.6 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 - dev: true - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + optional: true + + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true - /find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + find-yarn-workspace-root2@1.2.16: dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 - dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.0.4: dependencies: flatted: 3.2.7 rimraf: 3.0.2 - dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true + flat-cache@4.0.1: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 - /fmt-subs@1.1.1: - resolution: {integrity: sha512-11qUMl76/5d/gYAtvoBZacQ94DPRKtip989wKVbSb0JD1LWzNg16u47+hLVxmzDqPH74ljlxIyQlbPCAP4XEGQ==} - dev: false + flatted@3.2.7: {} - /follow-redirects@1.15.1(debug@4.3.2): - resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dependencies: + flatted@3.3.1: {} + + fmt-subs@1.1.1: {} + + follow-redirects@1.15.1(debug@4.3.2): + optionalDependencies: debug: 4.3.2 - dev: true - /follow-redirects@1.15.1(debug@4.3.4): - resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dependencies: + follow-redirects@1.15.1(debug@4.3.4): + optionalDependencies: debug: 4.3.4(supports-color@8.1.1) - dev: true - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - dev: true - /forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: true + forever-agent@0.6.1: {} - /form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} + form-data@2.3.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 - dev: true - /fp-ts@2.14.0: - resolution: {integrity: sha512-QLagLSYAgMA00pZzUzeksH/78Sd14y7+Gc2A8Yaja3/IpGOFMdm/gYBuDMxYqLsJ58iT5lz+bJb953RAeFfp1A==} - dev: true + fp-ts@2.14.0: {} - /fp-ts@2.16.0: - resolution: {integrity: sha512-bLq+KgbiXdTEoT1zcARrWEpa5z6A/8b7PcDW7Gef3NSisQ+VS7ll2Xbf1E+xsgik0rWub/8u0qP/iTTjj+PhxQ==} - dev: true + fp-ts@2.16.0: {} - /from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - dev: true + from@0.1.7: {} - /fs-extra@11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} - engines: {node: '>=14.14'} + fs-extra@11.1.0: dependencies: graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 - dev: true - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: true - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@8.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: true - /fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} + fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 - dev: true - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.0.0: {} - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true + fsevents@2.3.3: optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true + function-bind@1.1.1: {} - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true + function-bind@1.1.2: {} - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.5: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 es-abstract: 1.20.1 functions-have-names: 1.2.3 - dev: true - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 functions-have-names: 1.2.3 - dev: true - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names@1.2.3: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true + get-caller-file@2.0.5: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-intrinsic@1.1.2: - resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} + get-intrinsic@1.1.2: dependencies: function-bind: 1.1.1 has: 1.0.3 has-symbols: 1.0.3 - dev: true - /get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + get-intrinsic@1.2.0: dependencies: function-bind: 1.1.1 has: 1.0.3 has-symbols: 1.0.3 - dev: true - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.2: dependencies: function-bind: 1.1.2 has-proto: 1.0.1 has-symbols: 1.0.3 hasown: 2.0.0 - dev: true - /get-port-please@3.0.1: - resolution: {integrity: sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng==} - dev: true + get-port-please@3.0.1: {} - /get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} - dev: true + get-stdin@8.0.0: {} - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} + get-stream@5.2.0: dependencies: pump: 3.0.0 - dev: true - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true + get-stream@6.0.1: {} - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true + get-stream@8.0.1: {} - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} + get-symbol-description@1.0.0: dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.2 - dev: true - /get-tsconfig@4.3.0: - resolution: {integrity: sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==} - dev: true + get-tsconfig@4.7.5: + dependencies: + resolve-pkg-maps: 1.0.0 - /getos@3.2.1: - resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + getos@3.2.1: dependencies: async: 3.2.4 - dev: true - /getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + getpass@0.1.7: dependencies: assert-plus: 1.0.0 - dev: true - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - dev: true - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - dev: true - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob@10.3.10: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 minimatch: 9.0.3 minipass: 7.0.4 path-scurry: 1.10.1 - dev: true - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4180,55 +6766,34 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: true - /global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} + global-dirs@3.0.1: dependencies: ini: 2.0.0 - dev: true - - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} + globals@13.20.0: dependencies: type-fest: 0.20.2 - dev: true - /globals@13.23.0: - resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + globals@14.0.0: {} + + globalthis@1.0.3: dependencies: define-properties: 1.2.1 - dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -4236,43 +6801,28 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 - dev: true - /globby@13.1.3: - resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + globby@13.1.3: dependencies: dir-glob: 3.0.1 fast-glob: 3.2.12 ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 - dev: true - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.2 - dev: true - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true + graceful-fs@4.2.10: {} - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true + graceful-fs@4.2.11: {} - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true + grapheme-splitter@1.0.4: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /h3@1.6.5: - resolution: {integrity: sha512-A0r2LCDzeavSfcAbJpMwHXLcSN0H3FpEZtYigbz4IYun0fOE8r6vy3galwubAnmc6gXVob4261zXQsu3sZayzg==} + h3@1.6.5: dependencies: cookie-es: 1.0.0 defu: 6.1.2 @@ -4281,579 +6831,327 @@ packages: radix3: 1.0.1 ufo: 1.1.2 uncrypto: 0.1.2 - dev: true - /hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - dev: true + hard-rejection@2.1.0: {} - /has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} + has-ansi@2.0.0: dependencies: ansi-regex: 2.1.1 - dev: true - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true + has-bigints@1.0.2: {} - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + has-property-descriptors@1.0.0: dependencies: get-intrinsic: 1.2.0 - dev: true - /has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + has-property-descriptors@1.0.1: dependencies: get-intrinsic: 1.2.2 - dev: true - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - dev: true + has-proto@1.0.1: {} - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true + has-symbols@1.0.3: {} - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.0: dependencies: has-symbols: 1.0.3 - dev: true - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + has@1.0.3: dependencies: function-bind: 1.1.1 - dev: true - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} + hasown@2.0.0: dependencies: function-bind: 1.1.2 - dev: true - /help-me@4.2.0: - resolution: {integrity: sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA==} + help-me@4.2.0: dependencies: glob: 8.1.0 readable-stream: 3.6.2 - dev: true - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true + hosted-git-info@2.8.9: {} - /http-shutdown@1.2.2: - resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true + http-shutdown@1.2.2: {} - /http-signature@1.3.6: - resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} - engines: {node: '>=0.10'} + http-signature@1.3.6: dependencies: assert-plus: 1.0.0 jsprim: 2.0.2 sshpk: 1.17.0 - dev: true - /human-id@1.0.2: - resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} - dev: true + human-id@1.0.2: {} - /human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true + human-signals@1.1.1: {} - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true + human-signals@2.1.0: {} - /human-signals@4.3.0: - resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} - engines: {node: '>=14.18.0'} - dev: true + human-signals@4.3.0: {} - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true + human-signals@5.0.0: {} - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - dev: true - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true + ieee754@1.2.1: {} - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true + ignore@5.2.4: {} - /immer@9.0.19: - resolution: {integrity: sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==} - dev: true + ignore@5.3.1: {} - /immutable@4.1.0: - resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} - dev: true + immer@9.0.19: {} - /immutable@4.2.4: - resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==} - dev: true + immutable@4.1.0: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + immutable@4.2.4: {} + + immutable@4.3.6: + optional: true + + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + imurmurhash@0.1.4: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true + indent-string@4.0.0: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true + inherits@2.0.4: {} - /ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - dev: true + ini@2.0.0: {} - /internal-slot@1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} - engines: {node: '>= 0.4'} + internal-slot@1.0.3: dependencies: get-intrinsic: 1.1.2 has: 1.0.3 side-channel: 1.0.4 - dev: true - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} - engines: {node: '>= 0.4'} + internal-slot@1.0.6: dependencies: get-intrinsic: 1.2.2 hasown: 2.0.0 side-channel: 1.0.4 - dev: true - /ip-regex@5.0.0: - resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + ip-regex@5.0.0: {} - /iron-webcrypto@0.7.0: - resolution: {integrity: sha512-WkX32iTcwd79ZsWRPP5wq1Jq6XXfPwO783ZiUBY8uMw4/AByx5WvBmxvYGnpVt6AOVJ0F41Qo420r8lIneT9Wg==} - dev: true + iron-webcrypto@0.7.0: {} - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.2: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 - dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true + is-arrayish@0.2.1: {} - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.2.0 - dev: true - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - dev: true - /is-callable@1.2.4: - resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.4: {} - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.7: {} - /is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true + is-ci@3.0.1: dependencies: ci-info: 3.9.0 - dev: true - /is-core-module@2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + is-core-module@2.11.0: dependencies: has: 1.0.3 - dev: true - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.0 - dev: true - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true + is-docker@2.2.1: {} - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true + is-extglob@2.1.1: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true + is-fullwidth-code-point@3.0.0: {} - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - dev: true - /is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} + is-installed-globally@0.4.0: dependencies: global-dirs: 3.0.1 is-path-inside: 3.0.3 - dev: true - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true + is-negative-zero@2.0.2: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.0 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true + is-number@7.0.0: {} - /is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true + is-path-cwd@2.2.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - dev: true + is-plain-obj@1.1.0: {} - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - dev: true - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.2: dependencies: call-bind: 1.0.2 - dev: true - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true + is-stream@2.0.1: {} - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + is-stream@3.0.0: {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.0 - dev: true - /is-subdir@1.2.0: - resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} - engines: {node: '>=4'} + is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 - dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.12: dependencies: which-typed-array: 1.1.13 - dev: true - /is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: true + is-typedarray@1.0.0: {} - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true + is-unicode-supported@0.1.0: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakref@1.0.2: dependencies: call-bind: 1.0.2 - dev: true - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true + is-windows@1.0.2: {} - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 - dev: true - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@2.0.5: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true + isexe@2.0.0: {} - /isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: true + isstream@0.1.2: {} - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - dev: true - /jake@10.8.5: - resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} - engines: {node: '>=10'} + jake@10.8.5: dependencies: async: 3.2.4 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 - dev: true - /joi@17.6.0: - resolution: {integrity: sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==} + joi@17.6.0: dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 '@sideway/address': 4.1.4 '@sideway/formula': 3.0.0 '@sideway/pinpoint': 2.0.0 - dev: true - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: true + joycon@3.1.1: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true + js-tokens@9.0.0: {} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - /jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - dev: true + jsbn@0.1.1: {} - /json-bigint@1.0.0: - resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + json-bigint@1.0.0: dependencies: bignumber.js: 9.0.2 - dev: false - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true + json-buffer@3.0.1: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + json-parse-better-errors@1.0.2: {} - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-parse-even-better-errors@2.3.1: {} - /json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: true + json-schema-traverse@0.4.1: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-schema@0.4.0: {} - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true + json-stringify-safe@5.0.1: {} - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.10 - dev: true - /jsprim@2.0.2: - resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} - engines: {'0': node >=0.6.0} + jsprim@2.0.2: dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 json-schema: 0.4.0 verror: 1.10.0 - dev: true - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - dev: true + kind-of@6.0.3: {} - /lazy-ass@1.6.0: - resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} - engines: {node: '> 0.8'} - dev: true + kleur@4.1.5: {} - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + lazy-ass@1.6.0: {} + + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true + lines-and-columns@1.2.4: {} - /listhen@1.0.4: - resolution: {integrity: sha512-r94k7kmXHb8e8wpv7+UP/qqhhD+j/9TgX19QKim2cEJuWCLwlTw+5BkCFmYyjhQ7Bt8KdVun/2DcD7MF2Fe3+g==} + listhen@1.0.4: dependencies: clipboardy: 3.0.0 colorette: 2.0.19 @@ -4863,210 +7161,124 @@ packages: ip-regex: 5.0.0 node-forge: 1.3.1 ufo: 1.1.2 - dev: true - /listr2@3.14.0(enquirer@2.3.6): - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + listr2@3.14.0(enquirer@2.3.6): dependencies: cli-truncate: 2.1.0 colorette: 2.0.19 - enquirer: 2.3.6 log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 rxjs: 7.8.0 through: 2.3.8 wrap-ansi: 7.0.0 - dev: true + optionalDependencies: + enquirer: 2.3.6 - /load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} + load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 - dev: true - /load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} + load-yaml-file@0.2.0: dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 pify: 4.0.1 strip-bom: 3.0.0 - dev: true - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} + local-pkg@0.5.0: dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true + mlly: 1.7.1 + pkg-types: 1.1.1 - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true + lodash.memoize@4.1.2: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.merge@4.6.2: {} - /lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - dev: true + lodash.once@4.1.1: {} - /lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - dev: true + lodash.startcase@4.4.0: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true + lodash@4.17.21: {} - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true - /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + log-update@4.0.0: dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 slice-ansi: 4.0.0 wrap-ansi: 6.2.0 - dev: true - /loglevel-colored-level-prefix@1.0.0: - resolution: {integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==} + loglevel-colored-level-prefix@1.0.0: dependencies: chalk: 1.1.3 loglevel: 1.8.1 - dev: true - /loglevel@1.8.1: - resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} - engines: {node: '>= 0.6.0'} - dev: true + loglevel@1.8.1: {} - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@2.3.7: dependencies: get-func-name: 2.0.2 - dev: true - /lru-cache@10.0.1: - resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} - engines: {node: 14 || >=16.14} - dev: true + lru-cache@10.0.1: {} - /lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + lru-cache@4.1.5: dependencies: pseudomap: 1.0.2 yallist: 2.1.2 - dev: true - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - dev: true - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 - dev: true - /magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} - engines: {node: '>=12'} + magic-string@0.27.0: dependencies: '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /magic-string@0.30.1: - resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} - engines: {node: '>=12'} + magic-string@0.30.1: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + make-dir@3.1.0: dependencies: semver: 6.3.0 - dev: true - /make-plural@7.3.0: - resolution: {integrity: sha512-/K3BC0KIsO+WK2i94LkMPv3wslMrazrQhfi5We9fMbLlLjzoOSJWr7TAdupLlDWaJcWxwoNosBkhFDejiu5VDw==} - dev: true + make-plural@7.3.0: {} - /map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - dev: true + map-obj@1.0.1: {} - /map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - dev: true + map-obj@4.3.0: {} - /map-obj@5.0.0: - resolution: {integrity: sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + map-obj@5.0.0: {} - /map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - dev: true + map-stream@0.1.0: {} - /memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - dev: true + memorystream@0.3.1: {} - /meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} + meow@6.1.1: dependencies: '@types/minimist': 1.2.4 camelcase-keys: 6.2.2 @@ -5079,178 +7291,103 @@ packages: trim-newlines: 3.0.1 type-fest: 0.13.1 yargs-parser: 18.1.3 - dev: true - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: true + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - dev: true - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true + mimic-fn@2.1.0: {} - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true + mimic-fn@4.0.0: {} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true + min-indent@1.0.1: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 - dev: true - /minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + + minimist-options@4.1.0: dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 kind-of: 6.0.3 - dev: true - /minimist@1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} - dev: true + minimist@1.2.6: {} - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true + minimist@1.2.8: {} - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - dev: true + minipass@7.0.4: {} - /mixme@0.5.9: - resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} - engines: {node: '>= 8.0.0'} - dev: true + mixme@0.5.9: {} - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + mlly@1.7.1: dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true + pkg-types: 1.1.1 + ufo: 1.5.3 - /moo@0.5.2: - resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - dev: true + moo@0.5.2: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + ms@2.1.3: {} - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true + nanoid@3.3.7: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true + nice-try@1.0.5: {} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true + node-domexception@1.0.0: {} - /node-fetch@3.2.10: - resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.2.10: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: true - /node-fetch@3.3.0: - resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.0: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: true - /node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - dev: true + node-forge@1.3.1: {} - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.1 semver: 5.7.1 validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true + normalize-path@3.0.0: {} - /npm-run-all@4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} + npm-run-all@4.1.5: dependencies: ansi-styles: 3.2.1 chalk: 2.4.2 @@ -5261,99 +7398,60 @@ packages: read-pkg: 3.0.0 shell-quote: 1.7.3 string.prototype.padend: 3.1.3 - dev: true - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - dev: true - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.1.0: dependencies: path-key: 4.0.0 - dev: true - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 - dev: true - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 - dev: true - /object-inspect@1.12.2: - resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} - dev: true + object-inspect@1.12.2: {} - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true + object-inspect@1.12.3: {} - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - dev: true + object-inspect@1.13.1: {} - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-keys@1.1.1: {} - /object.assign@4.1.2: - resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.2: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.4: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /on-exit-leak-free@2.1.0: - resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==} - dev: true + on-exit-leak-free@2.1.0: {} - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - dev: true - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - dev: true - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - dev: true - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -5361,224 +7459,132 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 - /ospath@1.2.2: - resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} - dev: true + os-tmpdir@1.0.2: {} - /outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - dev: true + ospath@1.2.2: {} - /p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} + outdent@0.5.0: {} + + p-filter@2.1.0: dependencies: p-map: 2.1.0 - dev: true - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} + + p-limit@5.0.0: dependencies: yocto-queue: 1.0.0 - dev: true - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - dev: true + p-map@2.1.0: {} - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true + p-try@2.2.0: {} - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + parse-json@4.0.0: dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 - dev: true - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-is-absolute@1.0.1: {} - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true + path-key@2.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true + path-key@3.1.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true + path-key@4.0.0: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true + path-parse@1.0.7: {} - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.10.1: dependencies: lru-cache: 10.0.1 minipass: 7.0.4 - dev: true - /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + path-type@3.0.0: dependencies: pify: 3.0.0 - dev: true - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-type@4.0.0: {} - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true + pathe@1.1.2: {} - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + pathval@1.1.1: {} - /pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + pause-stream@0.0.11: dependencies: through: 2.3.8 - dev: true - /pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - dev: true + pend@1.2.0: {} - /performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - dev: true + performance-now@2.1.0: {} - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true + picocolors@1.0.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + picocolors@1.0.1: {} - /pidtree@0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - dev: true + picomatch@2.3.1: {} - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true + pidtree@0.3.1: {} - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - dev: true + pify@2.3.0: {} - /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: true + pify@3.0.0: {} - /pino-abstract-transport@1.0.0: - resolution: {integrity: sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==} + pify@4.0.1: {} + + pino-abstract-transport@1.0.0: dependencies: readable-stream: 4.3.0 split2: 4.2.0 - dev: true - /pino-http@8.3.3: - resolution: {integrity: sha512-p4umsNIXXVu95HD2C8wie/vXH7db5iGRpc+yj1/ZQ3sRtTQLXNjoS6Be5+eI+rQbqCRxen/7k/KSN+qiZubGDw==} + pino-http@8.3.3: dependencies: get-caller-file: 2.0.5 pino: 8.14.1 pino-std-serializers: 6.2.1 process-warning: 2.2.0 - dev: true - /pino-pretty@10.0.0: - resolution: {integrity: sha512-zKFjYXBzLaLTEAN1ayKpHXtL5UeRQC7R3lvhKe7fWs7hIVEjKGG/qIXwQt9HmeUp71ogUd/YcW+LmMwRp4KT6Q==} - hasBin: true + pino-pretty@10.0.0: dependencies: colorette: 2.0.19 dateformat: 4.6.3 @@ -5594,15 +7600,10 @@ packages: secure-json-parse: 2.7.0 sonic-boom: 3.3.0 strip-json-comments: 3.1.1 - dev: true - /pino-std-serializers@6.2.1: - resolution: {integrity: sha512-wHuWB+CvSVb2XqXM0W/WOYUkVSPbiJb9S5fNB7TBhd8s892Xq910bRxwHtC4l71hgztObTjXL6ZheZXFjhDrDQ==} - dev: true + pino-std-serializers@6.2.1: {} - /pino@8.14.1: - resolution: {integrity: sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw==} - hasBin: true + pino@8.14.1: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.1.2 @@ -5615,83 +7616,54 @@ packages: safe-stable-stringify: 2.4.3 sonic-boom: 3.3.0 thread-stream: 2.3.0 - dev: true - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 - dev: true - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.1.1: dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 + confbox: 0.1.7 + mlly: 1.7.1 pathe: 1.1.2 - dev: true - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} - engines: {node: '>=4'} + postcss-selector-parser@6.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.31: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: true - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.35: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: true - /preferred-pm@3.1.2: - resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} - engines: {node: '>=10'} + preferred-pm@3.1.2: dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 path-exists: 4.0.0 which-pm: 2.0.0 - dev: true - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier-eslint-cli@8.0.1(prettier-eslint@16.1.2): - resolution: {integrity: sha512-jru4JUDHzWEtM/SOxqagU7hQTVP8BVrxO2J0qNauWZuPRld6Ea2eyNaEzIGx6I+yjmOLCsjNM+vU1AJgaW1ZSQ==} - engines: {node: '>=16.10.0'} - hasBin: true - peerDependencies: - prettier-eslint: '*' - peerDependenciesMeta: - prettier-eslint: - optional: true + prettier-eslint-cli@8.0.1(prettier-eslint@16.3.0): dependencies: '@messageformat/core': 3.2.0 - '@prettier/eslint': /prettier-eslint@16.1.2 + '@prettier/eslint': prettier-eslint@16.3.0 arrify: 2.0.1 boolify: 1.0.1 camelcase-keys: 9.1.2 chalk: 4.1.2 common-tags: 1.8.2 core-js: 3.33.1 - eslint: 8.52.0 + eslint: 8.57.0 find-up: 5.0.0 get-stdin: 8.0.0 glob: 10.3.10 @@ -5699,322 +7671,197 @@ packages: indent-string: 4.0.0 lodash.memoize: 4.1.2 loglevel-colored-level-prefix: 1.0.0 - prettier-eslint: 16.1.2 rxjs: 7.8.1 yargs: 17.7.2 + optionalDependencies: + prettier-eslint: 16.3.0 transitivePeerDependencies: + - prettier-plugin-svelte - supports-color - dev: true + - svelte-eslint-parser - /prettier-eslint@16.1.2: - resolution: {integrity: sha512-mGFGZQbAh11FSnwW3H1zngzQYR2QMmHO8vdfgnAuzOFhnDeUZHYtwpqQvOMOMT0k818Dr1X+J4a/sVE0r34RKQ==} - engines: {node: '>=16.10.0'} + prettier-eslint@16.3.0: dependencies: - '@typescript-eslint/parser': 6.9.0(eslint@8.45.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) common-tags: 1.8.2 dlv: 1.1.3 - eslint: 8.45.0 + eslint: 8.57.0 indent-string: 4.0.0 lodash.merge: 4.6.2 loglevel-colored-level-prefix: 1.0.0 - prettier: 3.0.3 + prettier: 3.3.2 pretty-format: 29.7.0 require-relative: 0.8.7 - typescript: 5.2.2 - vue-eslint-parser: 9.3.2(eslint@8.45.0) + typescript: 5.4.5 + vue-eslint-parser: 9.4.3(eslint@8.57.0) transitivePeerDependencies: - supports-color - dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true + prettier@2.8.8: {} - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.3.2: {} - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - dev: true + pretty-bytes@5.6.0: {} - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true + react-is: 18.3.1 - /process-warning@2.2.0: - resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} - dev: true + process-warning@2.2.0: {} - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: true + process@0.11.10: {} - /properties@1.2.1: - resolution: {integrity: sha512-qYNxyMj1JeW54i/EWEFsM1cVwxJbtgPp8+0Wg9XjNaK6VE/c4oRi6PNu5p7w1mNXEIQIjV5Wwn8v8Gz82/QzdQ==} - engines: {node: '>=0.10'} - dev: true + properties@1.2.1: {} - /proxy-from-env@1.0.0: - resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} - dev: true + proxy-from-env@1.0.0: {} - /ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} + ps-tree@1.2.0: dependencies: event-stream: 3.3.4 - dev: true - /pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - dev: true + pseudomap@1.0.2: {} - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: true + psl@1.9.0: {} - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true + punycode@2.3.0: {} - /qs@6.10.4: - resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} - engines: {node: '>=0.6'} + punycode@2.3.1: {} + + qs@6.10.4: dependencies: side-channel: 1.0.4 - dev: true - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: true + quick-format-unescaped@4.0.4: {} - /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - dev: true + quick-lru@4.0.1: {} - /quick-lru@6.1.2: - resolution: {integrity: sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==} - engines: {node: '>=12'} - dev: true + quick-lru@6.1.2: {} - /radix3@1.0.1: - resolution: {integrity: sha512-y+AcwZ3HcUIGc9zGsNVf5+BY/LxL+z+4h4J3/pp8jxSmy1STaCocPS3qrj4tA5ehUSzqtqK+0Aygvz/r/8vy4g==} - dev: true + radix3@1.0.1: {} - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + react-is@18.3.1: {} - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 - dev: true - /read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} + read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 - dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.3 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - /read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} + read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 pify: 4.0.1 strip-bom: 3.0.0 - dev: true - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true - /readable-stream@4.3.0: - resolution: {integrity: sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readable-stream@4.3.0: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 - dev: true - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - dev: true - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: true + real-require@0.2.0: {} - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + redent@3.0.0: dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 - dev: true - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} - dev: true + regenerator-runtime@0.14.0: {} - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.4.3: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 functions-have-names: 1.2.3 - dev: true - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.1: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 set-function-name: 2.0.1 - dev: true - /request-progress@3.0.0: - resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} + request-progress@3.0.0: dependencies: throttleit: 1.0.0 - dev: true - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true + require-directory@2.1.1: {} - /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true + require-main-filename@2.0.0: {} - /require-relative@0.8.7: - resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} - dev: true + require-relative@0.8.7: {} - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true + resolve-from@5.0.0: {} - /resolve@1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.1: dependencies: is-core-module: 2.11.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + reusify@1.0.4: {} - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - dev: true + rfdc@1.3.0: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /rollup-plugin-dts@5.3.0(rollup@3.26.2)(typescript@5.2.2): - resolution: {integrity: sha512-8FXp0ZkyZj1iU5klkIJYLjIq/YZSwBoERu33QBDxm/1yw5UU4txrEtcmMkrq+ZiKu3Q4qvPCNqc3ovX6rjqzbQ==} - engines: {node: '>=v14'} - peerDependencies: - rollup: ^3.0.0 - typescript: ^4.1 || ^5.0 + rollup-plugin-dts@5.3.0(rollup@3.26.2)(typescript@5.4.5): dependencies: magic-string: 0.30.1 rollup: 3.26.2 - typescript: 5.2.2 + typescript: 5.4.5 optionalDependencies: '@babel/code-frame': 7.23.5 - dev: true - /rollup@3.26.2: - resolution: {integrity: sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true + rollup@3.26.2: optionalDependencies: fsevents: 2.3.3 - dev: true - /rollup@4.12.1: - resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + rollup@4.12.1: dependencies: '@types/estree': 1.0.5 optionalDependencies: @@ -6032,207 +7879,131 @@ packages: '@rollup/rollup-win32-ia32-msvc': 4.12.1 '@rollup/rollup-win32-x64-msvc': 4.12.1 fsevents: 2.3.3 - dev: true - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true - /rxjs@7.5.6: - resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} + rxjs@7.5.6: dependencies: tslib: 2.5.0 - dev: true - /rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + rxjs@7.8.0: dependencies: tslib: 2.5.0 - dev: true - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + rxjs@7.8.1: dependencies: tslib: 2.6.2 - dev: true - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} + safe-array-concat@1.0.1: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true + safe-buffer@5.2.1: {} - /safe-identifier@0.4.2: - resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} - dev: true + safe-identifier@0.4.2: {} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-regex-test@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-regex: 1.1.4 - dev: true - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - dev: true + safe-stable-stringify@2.4.3: {} - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true + safer-buffer@2.1.2: {} - /sass@1.54.0: - resolution: {integrity: sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ==} - engines: {node: '>=12.0.0'} + sass@1.54.0: dependencies: chokidar: 3.5.3 immutable: 4.1.0 source-map-js: 1.0.2 - dev: true - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: true + sass@1.77.5: + dependencies: + chokidar: 3.6.0 + immutable: 4.3.6 + source-map-js: 1.2.0 + optional: true - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - dev: true + secure-json-parse@2.7.0: {} - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - dev: true + semver@5.7.1: {} - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} - engines: {node: '>=10'} + semver@6.3.0: {} + + semver@7.3.8: dependencies: lru-cache: 6.0.0 - dev: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true + semver@7.5.4: dependencies: lru-cache: 6.0.0 - dev: true - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: true + semver@7.6.2: {} - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} + set-blocking@2.0.0: {} + + set-function-length@1.1.1: dependencies: define-data-property: 1.1.1 get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 - dev: true - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + set-function-name@2.0.1: dependencies: define-data-property: 1.1.1 functions-have-names: 1.2.3 has-property-descriptors: 1.0.1 - dev: true - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 - dev: true - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - dev: true + shebang-regex@1.0.0: {} - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + shebang-regex@3.0.0: {} - /shell-quote@1.7.3: - resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} - dev: true + shell-quote@1.7.3: {} - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.4: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 object-inspect: 1.12.3 - dev: true - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true + siginfo@2.0.0: {} - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + signal-exit@3.0.7: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true + signal-exit@4.1.0: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true + slash@4.0.0: {} - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + slice-ansi@3.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} - hasBin: true + smartwrap@2.0.2: dependencies: array.prototype.flat: 1.3.2 breakword: 1.0.6 @@ -6240,86 +8011,55 @@ packages: strip-ansi: 6.0.1 wcwidth: 1.0.1 yargs: 15.4.1 - dev: true - /sonic-boom@3.3.0: - resolution: {integrity: sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==} + sonic-boom@3.3.0: dependencies: atomic-sleep: 1.0.0 - dev: true - /sort-es@1.6.6: - resolution: {integrity: sha512-28+kv5wXehxePLk0SQ51qNCegiaBCH+o1QIPkdfkLqhfxovPbw/a0eLy8rdW11VSkZq2U10cwIVhwGoIM6xfAQ==} - dev: true + sort-es@1.6.6: {} - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true + source-map-js@1.0.2: {} - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-js@1.2.0: + optional: true + + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true + source-map@0.6.1: {} - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - dev: true + sourcemap-codec@1.4.8: {} - /spawndamnit@2.0.0: - resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + spawndamnit@2.0.0: dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 - dev: true - /spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + spdx-correct@3.1.1: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.11 - dev: true - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true + spdx-exceptions@2.3.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.11 - dev: true - /spdx-license-ids@3.0.11: - resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} - dev: true + spdx-license-ids@3.0.11: {} - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: true + split2@4.2.0: {} - /split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + split@0.3.3: dependencies: through: 2.3.8 - dev: true - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + sprintf-js@1.0.3: {} - /sshpk@1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} - engines: {node: '>=0.10.0'} + sshpk@1.17.0: dependencies: asn1: 0.2.6 assert-plus: 1.0.0 @@ -6330,15 +8070,10 @@ packages: jsbn: 0.1.1 safer-buffer: 2.1.2 tweetnacl: 0.14.5 - dev: true - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true + stackback@0.0.2: {} - /start-server-and-test@1.14.0: - resolution: {integrity: sha512-on5ELuxO2K0t8EmNj9MtVlFqwBMxfWOhu4U7uZD1xccVpFlOQKR93CSe0u98iQzfNxRyaNTb/CdadbNllplTsw==} - engines: {node: '>=6'} + start-server-and-test@1.14.0: dependencies: bluebird: 3.7.2 check-more-types: 2.24.0 @@ -6349,317 +8084,182 @@ packages: wait-on: 6.0.0(debug@4.3.2) transitivePeerDependencies: - supports-color - dev: true - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true + std-env@3.7.0: {} - /stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + stream-combiner@0.0.4: dependencies: duplexer: 0.1.2 - dev: true - /stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + stream-transform@2.1.3: dependencies: mixme: 0.5.9 - dev: true - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: true + streamsearch@1.1.0: {} - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - dev: true - /string.prototype.padend@3.1.3: - resolution: {integrity: sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==} - engines: {node: '>= 0.4'} + string.prototype.padend@3.1.3: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 es-abstract: 1.20.1 - dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.8: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true - /string.prototype.trimend@1.0.5: - resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} + string.prototype.trimend@1.0.5: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 es-abstract: 1.20.1 - dev: true - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + string.prototype.trimend@1.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true - /string.prototype.trimstart@1.0.5: - resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} + string.prototype.trimstart@1.0.5: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 es-abstract: 1.20.1 - dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + string.prototype.trimstart@1.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: true - /strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} + strip-ansi@3.0.1: dependencies: ansi-regex: 2.1.1 - dev: true - /strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} + strip-ansi@5.2.0: dependencies: ansi-regex: 4.1.1 - dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - dev: true - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true + strip-bom@3.0.0: {} - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + strip-final-newline@2.0.0: {} - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true + strip-final-newline@3.0.0: {} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 - dev: true - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + strip-literal@2.1.0: dependencies: - js-tokens: 8.0.3 - dev: true + js-tokens: 9.0.0 - /supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - dev: true + supports-color@2.0.0: {} - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true + supports-preserve-symlinks-flag@1.0.0: {} - /tarjan-graph@3.0.0: - resolution: {integrity: sha512-sM1+1ZKnnCtTP9W0DHTMHTlej9buusVHaKiBVecc6tZpBffBeEpE4XdFz7WNs9H1zaYkcgm6MzfyXFxSV2S1rA==} - dev: true + tarjan-graph@3.0.0: {} - /term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - dev: true + term-size@2.2.1: {} - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /thread-stream@2.3.0: - resolution: {integrity: sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==} + thread-stream@2.3.0: dependencies: real-require: 0.2.0 - dev: true - /throttleit@1.0.0: - resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} - dev: true + throttleit@1.0.0: {} - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true + through@2.3.8: {} - /tiny-invariant@1.3.1: - resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} - dev: true + tiny-invariant@1.3.1: {} - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} - dev: true + tinybench@2.8.0: {} - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true + tinypool@0.8.4: {} - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true + tinyspy@2.2.1: {} - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - dev: true - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} + tmp@0.2.1: dependencies: rimraf: 3.0.2 - dev: true - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true + to-fast-properties@2.0.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - /tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} + tough-cookie@2.5.0: dependencies: psl: 1.9.0 punycode: 2.3.0 - dev: true - /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - dev: true + trim-newlines@3.0.1: {} - /ts-api-utils@1.0.3(typescript@5.2.2): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: - typescript: 5.2.2 - dev: true + typescript: 5.4.5 - /ts-pattern@4.2.1: - resolution: {integrity: sha512-lXCmHZb01QOM9HdCLvisCGUH9ATdKPON9UaUvwe007gJAhuSBhRWIAIowys5QqNxEq6odWctfMIdI96vzjnOMQ==} - dev: true + ts-pattern@4.2.1: {} - /ts-pattern@5.0.1: - resolution: {integrity: sha512-ZyNm28Lsg34Co5DS3e9DVyjlX2Y+2exkI4jqTKyU+9/OL6Y2fKOOuL8i+7no71o74C6mVS+UFoP3ekM3iCT1HQ==} - dev: true + ts-pattern@5.0.1: {} - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true + tslib@2.5.0: {} - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true + tslib@2.6.2: {} - /tsx@3.12.2: - resolution: {integrity: sha512-ykAEkoBg30RXxeOMVeZwar+JH632dZn9EUJVyJwhfag62k6UO/dIyJEV58YuLF6e5BTdV/qmbQrpkWqjq9cUnQ==} + tsx@4.15.4: dependencies: - '@esbuild-kit/cjs-loader': 2.4.1 - '@esbuild-kit/core-utils': 3.0.0 - '@esbuild-kit/esm-loader': 2.5.4 + esbuild: 0.21.5 + get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 - dev: true - /tty-table@4.2.3: - resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} - engines: {node: '>=8.0.0'} - hasBin: true + tty-table@4.2.3: dependencies: chalk: 4.1.2 csv: 5.5.3 @@ -6668,191 +8268,114 @@ packages: strip-ansi: 6.0.1 wcwidth: 1.0.1 yargs: 17.7.2 - dev: true - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - dev: true - /tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - dev: true + tweetnacl@0.14.5: {} - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true + type-detect@4.0.8: {} - /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - dev: true + type-fest@0.13.1: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true + type-fest@0.21.3: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.6.0: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.8.1: {} - /type-fest@3.9.0: - resolution: {integrity: sha512-hR8JP2e8UiH7SME5JZjsobBlEiatFoxpzCP+R3ZeCo7kAaG1jXQE5X/buLzogM6GJu8le9Y4OcfNuIQX0rZskA==} - engines: {node: '>=14.16'} + type-fest@3.9.0: {} - /type-fest@4.6.0: - resolution: {integrity: sha512-rLjWJzQFOq4xw7MgJrCZ6T1jIOvvYElXT12r+y0CC6u67hegDHaxcPqb2fZHOGlqxugGQPNB1EnTezjBetkwkw==} - engines: {node: '>=16'} - dev: true + type-fest@4.6.0: {} - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 - dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.0: dependencies: call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - dev: true - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.0: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.4: dependencies: call-bind: 1.0.5 for-each: 0.3.3 is-typed-array: 1.1.12 - dev: true - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - dev: true + typescript@5.4.5: {} - /ufo@1.1.2: - resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} - dev: true + ufo@1.1.2: {} - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true + ufo@1.5.3: {} - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.2 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /uncrypto@0.1.2: - resolution: {integrity: sha512-kuZwRKV615lEw/Xx3Iz56FKk3nOeOVGaVmw0eg+x4Mne28lCotNFbBhDW7dEBCBKyKbRQiCadEZeNAFPVC5cgw==} - dev: true + uncrypto@0.1.2: {} - /undici@5.20.0: - resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} - engines: {node: '>=12.18'} + undici-types@5.26.5: + optional: true + + undici@5.20.0: dependencies: busboy: 1.6.0 - dev: true - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true + universalify@0.1.2: {} - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: true + universalify@2.0.0: {} - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true + untildify@4.0.0: {} - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: - punycode: 2.3.0 - dev: true + punycode: 2.3.1 - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true + util-deprecate@1.0.2: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - dev: true + uuid@8.3.2: {} - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.1.1 spdx-expression-parse: 3.0.1 - dev: true - /verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} + verror@1.10.0: dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 - dev: true - /vite-node@1.3.1: - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true + vite-node@1.6.0(@types/node@20.14.2)(sass@1.77.5): dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.5(sass@1.54.0) + picocolors: 1.0.1 + vite: 5.1.5(@types/node@20.14.2)(sass@1.77.5) transitivePeerDependencies: - '@types/node' - less @@ -6862,89 +8385,51 @@ packages: - sugarss - supports-color - terser - dev: true - /vite@5.1.5(sass@1.54.0): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@5.1.5(@types/node@20.14.2)(sass@1.54.0): dependencies: esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.1 + optionalDependencies: + '@types/node': 20.14.2 + fsevents: 2.3.3 sass: 1.54.0 + + vite@5.1.5(@types/node@20.14.2)(sass@1.77.5): + dependencies: + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.1 optionalDependencies: + '@types/node': 20.14.2 fsevents: 2.3.3 - dev: true + sass: 1.77.5 - /vitest@1.3.1: - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + vitest@1.6.0(@types/node@20.14.2)(sass@1.77.5): dependencies: - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.10 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.5(sass@1.54.0) - vite-node: 1.3.1 + strip-literal: 2.1.0 + tinybench: 2.8.0 + tinypool: 0.8.4 + vite: 5.1.5(@types/node@20.14.2)(sass@1.77.5) + vite-node: 1.6.0(@types/node@20.14.2)(sass@1.77.5) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.14.2 transitivePeerDependencies: - less - lightningcss @@ -6953,72 +8438,46 @@ packages: - sugarss - supports-color - terser - dev: true - /vue-demi@0.13.6(vue@3.2.47): - resolution: {integrity: sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true + vue-demi@0.13.6(vue@3.2.47): dependencies: vue: 3.2.47 - dev: true - /vue-eslint-parser@9.3.1(eslint@8.45.0): - resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' + vue-eslint-parser@9.4.3(eslint@8.57.0): dependencies: debug: 4.3.4(supports-color@8.1.1) - eslint: 8.45.0 - eslint-scope: 7.2.1 - eslint-visitor-keys: 3.4.1 + eslint: 8.57.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.5.4 + semver: 7.6.2 transitivePeerDependencies: - supports-color - dev: true - /vue-eslint-parser@9.3.2(eslint@8.45.0): - resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' + vue-eslint-parser@9.4.3(eslint@9.4.0): dependencies: debug: 4.3.4(supports-color@8.1.1) - eslint: 8.45.0 + eslint: 9.4.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.5.4 + semver: 7.6.2 transitivePeerDependencies: - supports-color - dev: true - /vue@3.2.47: - resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==} + vue@3.2.47: dependencies: '@vue/compiler-dom': 3.2.47 '@vue/compiler-sfc': 3.2.47 '@vue/runtime-dom': 3.2.47 '@vue/server-renderer': 3.2.47(vue@3.2.47) '@vue/shared': 3.2.47 - dev: true - /wait-on@6.0.0(debug@4.3.2): - resolution: {integrity: sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==} - engines: {node: '>=10.0.0'} + wait-on@6.0.0(debug@4.3.2): dependencies: axios: 0.21.4(debug@4.3.2) joi: 17.6.0 @@ -7027,172 +8486,99 @@ packages: rxjs: 7.5.6 transitivePeerDependencies: - debug - dev: true - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + wcwidth@1.0.1: dependencies: defaults: 1.0.4 - dev: true - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: true + web-streams-polyfill@3.2.1: {} - /webpod@0.0.2: - resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} - dev: true + webpod@0.0.2: {} - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - dev: true + which-module@2.0.1: {} - /which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} + which-pm@2.0.0: dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 - dev: true - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.13: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.5 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 - dev: true - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + which@1.3.1: dependencies: isexe: 2.0.0 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + which@2.0.2: dependencies: isexe: 2.0.0 - dev: true - /which@3.0.0: - resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + which@3.0.0: dependencies: isexe: 2.0.0 - dev: true - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true + why-is-node-running@2.2.2: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - dev: true - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + word-wrap@1.2.5: {} + + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - dev: true - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + wrappy@1.0.2: {} - /ws@8.8.1: - resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@8.8.1: {} - /xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - dev: true + xml-name-validator@4.0.0: {} - /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: true + y18n@4.0.3: {} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true + y18n@5.0.8: {} - /yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - dev: true + yallist@2.1.2: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true + yallist@4.0.0: {} - /yaml@2.2.1: - resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} - engines: {node: '>= 14'} - dev: true + yaml@2.2.1: {} - /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 decamelize: 1.2.0 - dev: true - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true + yargs-parser@21.1.1: {} - /yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} + yargs@15.4.1: dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -7205,11 +8591,8 @@ packages: which-module: 2.0.1 y18n: 4.0.3 yargs-parser: 18.1.3 - dev: true - /yargs@17.6.2: - resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} - engines: {node: '>=12'} + yargs@17.6.2: dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -7218,11 +8601,8 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs@17.7.2: dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -7231,28 +8611,17 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true - /yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@2.10.0: dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - dev: true - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true + yocto-queue@1.0.0: {} - /zx@7.2.0: - resolution: {integrity: sha512-SMuOZ21zFnBxicw+WMtTv3z3eERh6KBtZExAJaL8EAV+Ev/3M1NIAOkrZ8kRfCzD9acv9heUH/WZctTR4vQxBQ==} - engines: {node: '>= 16.0.0'} + zx@7.2.0: dependencies: '@types/fs-extra': 11.0.1 '@types/minimist': 1.2.2 @@ -7268,4 +8637,3 @@ packages: webpod: 0.0.2 which: 3.0.0 yaml: 2.2.1 - dev: true diff --git a/vitest.config.ts b/vitest.config.ts index 91022dba..ecdad6e6 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -17,6 +17,10 @@ export default defineConfig({ test: { include: ['**/*.spec.ts'], exclude: ['**/test/integration', '**/node_modules', '**/dist', '**/dist-tsc'], - includeSource: ['packages/i64-fixnum/src/**/*.ts', 'packages/client/src/**/*.ts'], + includeSource: [ + 'packages/i64-fixnum/src/**/*.ts', + 'packages/client/src/**/*.ts', + 'packages/data-model/etc/**/*.ts', + ], }, }) From 970c5d38d07496496c9de2621fb112ff7fb7fc25 Mon Sep 17 00:00:00 2001 From: quacumque <43530070+0x009922@users.noreply.github.com> Date: Tue, 18 Jun 2024 06:16:17 +0900 Subject: [PATCH 002/124] feat: pass tests Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> --- package.json | 1 + packages/data-model-rust-samples/src/main.rs | 15 +- packages/data-model/etc/codegen.ts | 27 +- packages/data-model/etc/codegen/index.ts | 152 ++++------ packages/data-model/package.json | 1 + .../data-model/src/__tests__/core.spec.ts | 36 +++ .../src/__tests__/non-zero-ints.spec.ts | 11 +- .../src/__tests__/rust-samples.spec.ts | 264 ++++++------------ packages/data-model/src/codecs.ts | 90 ++++-- packages/data-model/src/core.ts | 32 ++- packages/data-model/src/datamodel.ts | 1 + packages/data-model/src/extension.ts | 58 ---- packages/data-model/src/lib.ts | 6 +- packages/data-model/src/sandbox.ts | 248 ---------------- pnpm-lock.yaml | 76 ++++- 15 files changed, 367 insertions(+), 651 deletions(-) create mode 100644 packages/data-model/src/__tests__/core.spec.ts delete mode 100644 packages/data-model/src/extension.ts delete mode 100644 packages/data-model/src/sandbox.ts diff --git a/package.json b/package.json index e02431df..93747c75 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@types/jake": "^0.0.33", "@typescript-eslint/eslint-plugin": "^7.13.0", "@typescript-eslint/parser": "^7.13.0", + "@vitest/ui": "^1.6.0", "chalk": "4.1.2", "consola": "^2.15.3", "debug": "^4.3.4", diff --git a/packages/data-model-rust-samples/src/main.rs b/packages/data-model-rust-samples/src/main.rs index 905f9d97..23549290 100644 --- a/packages/data-model-rust-samples/src/main.rs +++ b/packages/data-model-rust-samples/src/main.rs @@ -17,14 +17,14 @@ fn main() { .add("DomainId", &DomainId::from_str("Hey").unwrap()) .add( "AssetDefinitionId", - &AssetDefinitionId::from_str(&format!("{SAMPLE_SIGNATORY}#wonderland")).unwrap(), + &AssetDefinitionId::from_str("rose#wonderland").unwrap(), ) .add( "AccountId", &AccountId::from_str(&format!("{SAMPLE_SIGNATORY}@wonderland")).unwrap(), ) - .add("Time-based Trigger ISI", &sample_register_time_trigger(),) - .add("Data-based Trigger ISI", &sample_register_data_trigger(),) + .add("Register time trigger", &sample_register_time_trigger(),) + .add("Register data trigger", &sample_register_data_trigger(),) .add("Metadata", &sample_metadata()) .to_json() ); @@ -78,14 +78,14 @@ fn to_hex(val: &Vec) -> String { fn sample_register_time_trigger() -> InstructionBox { let asset_id = AssetId::new( - AssetDefinitionId::from_str(&format!("{SAMPLE_SIGNATORY}#wonderland")).unwrap(), + AssetDefinitionId::from_str("rose#wonderland").unwrap(), AccountId::from_str(&format!("{SAMPLE_SIGNATORY}@wonderland")).unwrap(), ); Register::trigger(Trigger::new( "mint_rose".parse().expect("valid"), Action::new( - [Mint::asset_numeric(1u32, asset_id.clone())], + [Mint::asset_numeric(1123u32, asset_id.clone())], Repeats::Indefinitely, asset_id.account().clone(), TimeEventFilter::new(ExecutionTime::Schedule( @@ -98,8 +98,7 @@ fn sample_register_time_trigger() -> InstructionBox { } fn sample_register_data_trigger() -> InstructionBox { - let asset_definition_id: AssetDefinitionId = - format!("{SAMPLE_SIGNATORY}#wonderland").parse().unwrap(); + let asset_definition_id: AssetDefinitionId = "rose#wonderland".parse().unwrap(); let account_id = ::Id::from_str(&format!("{SAMPLE_SIGNATORY}@wonderland")).unwrap(); let asset_id = AssetId::new(asset_definition_id.clone(), account_id.clone()); @@ -107,7 +106,7 @@ fn sample_register_data_trigger() -> InstructionBox { Register::trigger(Trigger::new( "mint_rose".parse().expect("valid"), Action::new( - [Mint::asset_numeric(1u32, asset_id)], + [Mint::asset_numeric(Numeric::new(1_441_234, 2), asset_id)], Repeats::Indefinitely, account_id, DataEventFilter::AssetDefinition( diff --git a/packages/data-model/etc/codegen.ts b/packages/data-model/etc/codegen.ts index 84ed1d32..7154c8f5 100644 --- a/packages/data-model/etc/codegen.ts +++ b/packages/data-model/etc/codegen.ts @@ -8,35 +8,10 @@ import { SCHEMA } from '@iroha2/data-model-schema' import { CODEGEN_OUTPUT_FILE } from './meta' import { generate } from './codegen/index' -const AVAILABLE_FIXED_POINTS = new Set(['I64P9']) -const EXTENSION_MODULE = './extension' - async function main() { - consola.log( - chalk`Converting {blue.bold SCHEMA} from {yellow.bold \`@iroha2/data-model-schema\`} to compiler-compatible format...`, - ) + consola.log(chalk`Generating {blue.bold SCHEMA} from {yellow.bold \`@iroha2/data-model-schema\`}...`) const generated = generate(SCHEMA) - - // for (const { ty } of nonZero) { - // definition[ty] = { t: 'import', module: EXTENSION_MODULE } - // } - - // for (const { decimalPlaces, base, ref } of fixedPoints) { - // const code = `${base.toUpperCase()}P${decimalPlaces}` - // if (!AVAILABLE_FIXED_POINTS.has(code)) throw new Error(`FixedPoint ${code} is not supported`) - // definition[ref] = { - // t: 'import', - // module: EXTENSION_MODULE, - // nameInModule: `FixedPoint${code}`, - // } - // } - - // const generated = renderNamespaceDefinition(definition, { - // rollupSingleTuplesIntoAliases: true, - // }) - await fs.writeFile(CODEGEN_OUTPUT_FILE, generated, { encoding: 'utf8' }) - consola.success(chalk`Code is written into {bold.blue ${path.relative(process.cwd(), CODEGEN_OUTPUT_FILE)}}!`) } diff --git a/packages/data-model/etc/codegen/index.ts b/packages/data-model/etc/codegen/index.ts index 78fca0f8..79d9e4ed 100644 --- a/packages/data-model/etc/codegen/index.ts +++ b/packages/data-model/etc/codegen/index.ts @@ -1,9 +1,7 @@ import { Schema } from '@iroha2/data-model-schema' import { P, match } from 'ts-pattern' -import Debug from 'debug' import invariant from 'tiny-invariant' - -const debugCodegen = Debug('@iroha2/data-model').extend('codegen') +import { camelCase } from 'change-case' export function generate(schema: Schema): string { const transformed = transform(schema) @@ -29,8 +27,6 @@ export function generate(schema: Schema): string { * - Fix `Compact` to just `Compact` */ function transform(schema: Schema): ActualCodegenSchema { - const debug = debugCodegen.extend('transform') - const items: ActualCodegenSchema = [ ...['Register', 'Unregister'].map( (id): CodegenEntry => ({ @@ -94,7 +90,12 @@ function transform(schema: Schema): ActualCodegenSchema { { t: 'struct', id: 'BlockSubscriptionRequest', - fields: [{ name: 'from_block_height', type: { t: 'non-zero', int: 'codecs.U64' } }], + fields: [ + { + name: 'from_block_height', + type: transformIdent('NonZero'), + }, + ], }, { t: 'struct', @@ -114,7 +115,7 @@ function transform(schema: Schema): ActualCodegenSchema { { t: 'struct', id: 'EventSubscriptionRequest', - fields: [{ name: 'filters', type: { t: 'vec', item: { t: 'ref', id: 'EventFilterBox' } } }], + fields: [{ name: 'filters', type: transformIdent('Vec') }], }, { t: 'struct', @@ -136,14 +137,7 @@ function transform(schema: Schema): ActualCodegenSchema { { t: 'alias', id: 'Metadata', - to: { - t: 'lib', - id: 'codecs.Map', - generics: [ - { t: 'lib', id: 'codecs.String' }, - { t: 'ref', id: 'MetadataValueBox' }, - ], - }, + to: transformIdent('Map'), }, ] @@ -172,7 +166,6 @@ function transform(schema: Schema): ActualCodegenSchema { 'EventMessage', 'EventSubscriptionRequest', 'SortedVec', - 'NonTrivial', 'HashOf', 'SignatureOf', 'Name', @@ -200,7 +193,14 @@ function transform(schema: Schema): ActualCodegenSchema { match([keyParsed, value]) .with([{ id: P.when((x) => IGNORE.has(x)) }, P._], () => { - debug('ignore %o', key) + // ignoring + }) + .with([{ id: 'NonTrivial', items: [P._] }, 'Vec>'], () => { + items.push({ + t: 'alias', + id: 'NonTrivial', + to: transformIdent('Vec'), + }) }) .with([{ id: 'WasmSmartContract', items: [] }, 'Vec'], ([{ id }]) => { items.push({ t: 'struct', id, fields: [{ name: 'blob', type: { t: 'lib', id: 'codecs.BytesVec' } }] }) @@ -245,18 +245,10 @@ function transform(schema: Schema): ActualCodegenSchema { ([{ id: idRaw }, { Enum: variants }]) => { const { id, box } = match(idRaw) .with('GenericPredicateBox', () => ({ id: 'PredicateBox', box: true })) - .with( - P.union( - 'QueryOutputPredicate', - 'QueryOutputBox', - 'MetadataValueBox', - - // SetKeyValueBox -> Trigger -> Action -> Instruction -> SetKeyValueBox - 'SetKeyValueBox', - 'RemoveKeyValueBox', - ), - (id) => ({ id, box: true }), - ) + .with(P.union('QueryOutputPredicate', 'QueryOutputBox', 'MetadataValueBox', 'InstructionBox'), (id) => ({ + id, + box: true, + })) .otherwise((id) => ({ id, box: false })) items.push({ @@ -338,25 +330,29 @@ function transformIdent(id: string | Ident): TypeIdent { id: 'Signature', }), ) - .with({ id: 'NonTrivial' }, () => ({ t: 'vec', item: { t: 'ref', id: 'PredicateBox' } })) - .with({ id: 'MerkleTree', items: [{ id: 'SignedTransaction', items: [] }] }, () => ({ - t: 'vec', - item: { t: 'ref', id: 'Hash' }, - })) + .with({ id: 'NonTrivial', items: [P._] }, () => ({ t: 'ref', id: 'NonTrivial' })) + .with({ id: 'MerkleTree', items: [{ id: 'SignedTransaction', items: [] }] }, () => transformIdent('Vec')) .with({ id: 'BlockMessage', items: [] }, () => ({ t: 'ref', id: 'SignedBlock' })) - .with({ id: 'SortedMap', items: [P._, P._] }, ({ items: [key, value] }) => ({ - t: 'map', - key: transformIdent(key), - value: transformIdent(value), + .with({ id: P.union('SortedMap', 'Map'), items: [P._, P._] }, ({ items: [key, value] }) => ({ + t: 'lib', + id: 'codecs.Map', + generics: [transformIdent(key), transformIdent(value)], })) .with({ id: 'NonZero', items: [{ id: P.union('u32', 'u64').select() }] }, (kind) => ({ - t: 'non-zero', - int: `codecs.${kind.toUpperCase() as Uppercase}`, + t: 'lib', + id: 'codecs.NonZero', + generics: [{ t: 'lib', id: `codecs.${upcase(kind)}` }], + })) + .with({ id: 'Vec', items: [{ id: 'u8', items: [] }] }, () => ({ t: 'lib', id: 'codecs.BytesVec' })) + .with({ id: P.union('SortedVec', 'Vec'), items: [P.select()] }, (item) => ({ + t: 'lib', + id: 'codecs.Vec', + generics: [transformIdent(item)], })) - .with({ id: 'SortedVec', items: [P.select()] }, (item) => ({ t: 'vec', item: transformIdent(item) })) .with({ id: 'Option', items: [P.select()] }, (some) => ({ - t: 'option', - some: transformIdent(some), + t: 'lib', + id: 'codecs.Option', + generics: [transformIdent(some)], })) .with({ id: 'TimeEventFilter', items: [] }, () => ({ t: 'ref', id: 'ExecutionTime' })) .with({ id: 'Mismatch', items: [{ id: 'AssetValueType' }] }, () => ({ t: 'ref', id: 'AssetValueTypeMismatch' })) @@ -400,7 +396,14 @@ function transformIdent(id: string | Ident): TypeIdent { ({ isi, id }) => ({ t: 'ref', id: isi, - generics: [{ t: 'ref', id: `${id}Id` }], + generics: [ + { + t: 'ref', + id: match(isi) + .with('Unregister', () => `${id}Id`) + .otherwise(() => id), + }, + ], }), ) .with({ id: 'SemiInterval', items: [P._] }, ({ items: [item] }) => ({ @@ -416,13 +419,11 @@ function transformIdent(id: string | Ident): TypeIdent { .with({ id: 'Compact' }, () => ({ t: 'lib', id: 'codecs.Compact' })) .with({ id: 'bool' }, () => ({ t: 'lib', id: 'codecs.Bool' })) .with({ id: P.union('Name', 'ChainId', 'String'), items: [] }, () => ({ t: 'lib', id: 'codecs.String' })) - .with({ id: 'Vec', items: [{ id: 'u8', items: [] }] }, () => ({ t: 'lib', id: 'codecs.BytesVec' })) .with({ id: P.union('u8', 'u16', 'u32', 'u64', 'u128') }, ({ id }) => ({ t: 'lib', id: `codecs.${id.toUpperCase() as Uppercase}`, })) .with({ id: 'JsonString', items: [] }, () => ({ t: 'lib', id: 'codecs.Json' })) - .with({ id: 'Vec', items: [P._] }, ({ items: [single] }) => ({ t: 'vec', item: transformIdent(single) })) .with({ id: P.select(), items: [] }, (id) => ({ t: 'ref', id })) .otherwise(() => { throw new Error(`unexpected type identifier: ${id}`) @@ -452,14 +453,10 @@ type CodegenEnumVariant = | { t: 'unit'; tag: string; discriminant: number } | { t: 'with-type'; tag: string; discriminant: number; type: TypeIdent } -type TypeIdent = - | { t: 'ref'; id: string; generics?: TypeIdent[] } - | { t: 'lib'; id: LibCodec; generics?: TypeIdent[] } - | { t: 'option'; some: TypeIdent } - | { t: 'vec'; item: TypeIdent } - | { t: 'array'; item: TypeIdent; len: number } - | { t: 'map'; key: TypeIdent; value: TypeIdent } - | { t: 'non-zero'; int: LibCodec } +/** + * Identifier of a type, either a local one or from the "library" + */ +type TypeIdent = { t: 'ref'; id: string; generics?: TypeIdent[] } | { t: 'lib'; id: LibCodec; generics?: TypeIdent[] } type GenericTypeIdent = TypeIdent | { t: 'gen'; genericIndex: number } @@ -487,38 +484,9 @@ function generateType(ident: TypeIdent): { codec: libItem(id) + `.with(${generics.map((x) => generateType(x).codec).join(', ')})`, } }) - .with({ t: 'lib' }, ({ id }) => ({ type: libItem(id), codec: libItem('toCodec') + `(${libItem(id)})` })) - .with({ t: 'vec' }, ({ item }) => - generateType({ - t: 'lib', - id: 'codecs.Vec', - generics: [item], - }), - ) - .with({ t: 'non-zero' }, ({ int }) => - generateType({ - t: 'lib', - id: 'codecs.NonZero', - generics: [{ t: 'lib', id: int }], - }), - ) - .with({ t: 'map' }, ({ key, value }) => - generateType({ - t: 'lib', - id: 'codecs.Map', - generics: [key, value], - }), - ) - .with({ t: 'option' }, ({ some }) => - generateType({ - t: 'lib', - id: 'codecs.Option', - generics: [some], - }), - ) - .with({ t: 'array' }, ({ item, len }) => ({ - type: generateType(item).type + `[]`, - codec: libItem('codecs.Array') + `.with(${generateType(item).codec}, ${len})`, + .with({ t: 'lib' }, ({ id }) => ({ + type: libItem(id), + codec: libItem('toCodec') + `(${libItem(id)})`, })) .exhaustive() } @@ -568,8 +536,8 @@ function generateSingleEntry(item: CodegenEntry): string { ] }) .with({ t: 'struct' }, ({ fields }) => { - const typeFields = fields.map((x) => `${x.name}: ${generateType(x.type).type};`).join(' ') - const codecFieldsSeparate = fields.map((x) => `['${x.name}', ${generateType(x.type).codec}]`) + const typeFields = fields.map((x) => `${camelCase(x.name)}: ${generateType(x.type).type};`).join(' ') + const codecFieldsSeparate = fields.map((x) => `['${camelCase(x.name)}', ${generateType(x.type).codec}]`) const codecFields = `[${codecFieldsSeparate.join(', ')}]` return [ @@ -603,7 +571,7 @@ function generateSingleEntry(item: CodegenEntry): string { const typeFields = fields .map(({ name, type }) => { return ( - `${name}: ` + + `${camelCase(name)}: ` + match(type) .with({ t: 'gen' }, ({ genericIndex }) => `T${genericIndex}`) .otherwise((type) => generateType(type).type) @@ -615,7 +583,7 @@ function generateSingleEntry(item: CodegenEntry): string { const codec = match(type) .with({ t: 'gen' }, ({ genericIndex: i }) => `codec${i}`) .otherwise((x) => generateType(x).codec) - return `['${name}', ${codec}]` + return `['${camelCase(name)}', ${codec}]` }) const withFnBody = `return ${libItem('structCodec')}([${schemaItems.join(', ')}])` @@ -666,6 +634,10 @@ function libItem(item: T): string { return `lib.${item}` } +function upcase(s: S): Uppercase { + return s.toUpperCase() as Uppercase +} + /** * Structured model of an identifier, e.g. `Map>` */ diff --git a/packages/data-model/package.json b/packages/data-model/package.json index 5208f9d3..58938c8a 100644 --- a/packages/data-model/package.json +++ b/packages/data-model/package.json @@ -30,6 +30,7 @@ "@scale-codec/util": "^1.1.2", "@types/debug": "^4.1.7", "camelcase": "^7.0.1", + "change-case": "^5.4.4", "debug": "^4.3.4", "fp-ts": "^2.16.0", "tiny-invariant": "^1.3.1" diff --git a/packages/data-model/src/__tests__/core.spec.ts b/packages/data-model/src/__tests__/core.spec.ts new file mode 100644 index 00000000..8215d830 --- /dev/null +++ b/packages/data-model/src/__tests__/core.spec.ts @@ -0,0 +1,36 @@ +import { describe, expect, test, vi } from 'vitest' +import { Codec, CodecImpl, toCodec, wrapCodec } from '../core' +import { decodeUnit, encodeUnit } from '@scale-codec/core' + +describe('toCodec', () => { + const CODEC: Codec = new CodecImpl(encodeUnit, decodeUnit) + + test('with plain codec', () => { + expect(toCodec(CODEC)).toBe(CODEC) + }) + + test('with codec wrap', () => { + expect(toCodec(wrapCodec(CODEC))).toBe(CODEC) + }) + + test('with plain codec getter', () => { + const decodeSpy = vi.fn(decodeUnit) + const codec = new CodecImpl(encodeUnit, decodeSpy) + + const proxy = toCodec(() => codec) + + expect(proxy.decode(new Uint8Array())).toBeNull() + expect(decodeSpy).toBeCalled() + }) + + test('with codec wrap getter', () => { + const decodeSpy = vi.fn(decodeUnit) + const codec = new CodecImpl(encodeUnit, decodeSpy) + const wrap = wrapCodec(codec) + + const proxy = toCodec(() => wrap) + + expect(proxy.decode(new Uint8Array())).toBeNull() + expect(decodeSpy).toBeCalled() + }) +}) diff --git a/packages/data-model/src/__tests__/non-zero-ints.spec.ts b/packages/data-model/src/__tests__/non-zero-ints.spec.ts index bc1046e7..aceae613 100644 --- a/packages/data-model/src/__tests__/non-zero-ints.spec.ts +++ b/packages/data-model/src/__tests__/non-zero-ints.spec.ts @@ -1,14 +1,13 @@ import { describe, expect, test } from 'vitest' import { datamodel } from '../lib' +import { toCodec } from '../core' describe('Non zero integers in the data model', () => { for (const INVALID_VALUE of [-5, 0]) { - test(`When NonZeroU32 is defined with ${INVALID_VALUE}, it throws`, () => { - expect(() => datamodel.NonZeroU32(INVALID_VALUE)).toThrowError() - }) - - test(`When NonZeroU64 is defined with ${INVALID_VALUE}, it throws`, () => { - expect(() => datamodel.NonZeroU64(BigInt(INVALID_VALUE))).toThrowError() + test(`When NonZero is encoded with ${INVALID_VALUE}, it throws`, () => { + expect(() => + datamodel.NonZero.with(toCodec(datamodel.U32)).encode(INVALID_VALUE as datamodel.NonZero), + ).toThrowError() }) } }) diff --git a/packages/data-model/src/__tests__/rust-samples.spec.ts b/packages/data-model/src/__tests__/rust-samples.spec.ts index 0bc22e1b..f0546e25 100644 --- a/packages/data-model/src/__tests__/rust-samples.spec.ts +++ b/packages/data-model/src/__tests__/rust-samples.spec.ts @@ -1,214 +1,116 @@ import { describe, expect, test } from 'vitest' import SAMPLES from '../../../data-model-rust-samples/samples.json' -import { type Codec, datamodel } from '../lib' +import { type CodecOrWrap, toCodec, datamodel, variant } from '../lib' import { fromHex, toHex } from '@scale-codec/util' +const SAMPLE_SIGNATORY: datamodel.PublicKey = { + algorithm: datamodel.Algorithm.Ed25519, + payload: fromHex('72 33 BF C8 9D CB D6 8C 19 FD E6 CE 61 58 22 52 98 EC 11 31 B6 A1 30 D1 AE B4 54 C1 AB 51 83 C0'), +} + +const SAMPLE_ACCOUNT_ID = { signatory: SAMPLE_SIGNATORY, domain: { name: 'wonderland' } } satisfies datamodel.AccountId + // eslint-disable-next-line max-params -function defineCase(label: keyof typeof SAMPLES, codec: Codec, value: T) { +function defineCase(label: keyof typeof SAMPLES, codec: CodecOrWrap, value: T) { const sample = SAMPLES[label] describe(label, () => { test('encode', () => { - expect(toHex(codec.toBuffer(value))).toEqual(sample.encoded) + expect(toHex(toCodec(codec).encode(value))).toEqual(sample.encoded) }) test('decode', () => { - expect(codec.fromBuffer(fromHex(sample.encoded))).toEqual(value) + expect(toCodec(codec).decode(fromHex(sample.encoded))).toEqual(value) }) }) } -defineCase( - 'AccountId', - datamodel.AccountId, - datamodel.AccountId({ - name: 'alice', - domain_id: datamodel.DomainId({ - name: 'wonderland', - }), - }), -) +defineCase('AccountId', datamodel.AccountId, SAMPLE_ACCOUNT_ID) -defineCase( - 'DomainId', - datamodel.DomainId, - datamodel.DomainId({ - name: 'Hey', - }), -) - -defineCase( - 'AssetDefinitionId', - datamodel.AssetDefinitionId, - datamodel.AssetDefinitionId({ - name: 'rose', - domain_id: datamodel.DomainId({ - name: 'wonderland', - }), - }), -) +defineCase('DomainId', datamodel.DomainId, { name: 'Hey' }) -{ - const assetId = datamodel.AssetId({ - account_id: datamodel.AccountId({ - name: 'alice', - domain_id: datamodel.DomainId({ - name: 'wonderland', - }), - }), - definition_id: datamodel.AssetDefinitionId({ - name: 'rose', - domain_id: datamodel.DomainId({ - name: 'wonderland', - }), - }), - }) +defineCase('AssetDefinitionId', datamodel.AssetDefinitionId, { + name: 'rose', + domain: { name: 'wonderland' }, +}) - defineCase( - 'Time-based Trigger ISI', - datamodel.RegisterExpr, - datamodel.RegisterExpr({ - object: datamodel.Expression( - 'Raw', - datamodel.Value( - 'Identifiable', - datamodel.IdentifiableBox( - 'Trigger', - datamodel.Trigger({ - id: datamodel.TriggerId({ name: 'mint_rose', domain_id: datamodel.OptionDomainId('None') }), - action: datamodel.Action({ - executable: datamodel.Executable( - 'Instructions', - datamodel.VecInstructionExpr([ - datamodel.InstructionExpr( - 'Mint', - datamodel.MintExpr({ - object: datamodel.Expression( - 'Raw', - datamodel.Value('Numeric', datamodel.NumericValue('U32', 1)), - ), - destination_id: datamodel.Expression( - 'Raw', - datamodel.Value('Id', datamodel.IdBox('AssetId', assetId)), - ), - }), - ), - ]), - ), - repeats: datamodel.Repeats('Indefinitely'), - filter: datamodel.TriggeringFilterBox( - 'Time', - datamodel.ExecutionTime( - 'Schedule', - datamodel.Schedule({ - start: datamodel.Duration([4141203402341234n, 0]), - period: datamodel.OptionDuration('Some', datamodel.Duration([3n, 0])), - }), - ), - ), - authority: assetId.account_id, - metadata: datamodel.Metadata({ map: datamodel.SortedMapNameValue(new Map()) }), +defineCase( + 'Register time trigger', + datamodel.InstructionBox, + datamodel.InstructionBox.Register( + datamodel.RegisterBox.Trigger({ + object: { + id: { name: 'mint_rose' }, + action: { + authority: SAMPLE_ACCOUNT_ID, + repeats: datamodel.Repeats.Indefinitely, + executable: datamodel.Executable.Instructions([ + datamodel.InstructionBox.Mint( + datamodel.MintBox.Asset({ + object: { scale: 0n, mantissa: 1123n }, + destination: { + account: SAMPLE_ACCOUNT_ID, + definition: { name: 'rose', domain: { name: 'wonderland' } }, + }, }), + ), + ]), + filter: datamodel.TriggeringEventFilterBox.Time( + datamodel.ExecutionTime.Schedule({ + start: { secs: 500n, nanos: 0 }, + period: datamodel.Option.Some({ secs: 3n, nanos: 0 }), }), ), - ), - ), - }), - ) -} - -{ - const assetId = datamodel.AssetId({ - account_id: datamodel.AccountId({ - name: 'alice', - domain_id: datamodel.DomainId({ - name: 'wonderland', - }), - }), - definition_id: datamodel.AssetDefinitionId({ - name: 'rose', - domain_id: datamodel.DomainId({ - name: 'wonderland', - }), + metadata: new Map(), + }, + }, }), - }) + ), +) - defineCase( - 'Event-based Trigger ISI', - datamodel.RegisterExpr, - datamodel.RegisterExpr({ - object: datamodel.Expression( - 'Raw', - datamodel.Value( - 'Identifiable', - datamodel.IdentifiableBox( - 'Trigger', - datamodel.Trigger({ - id: datamodel.TriggerId({ name: 'mint_rose', domain_id: datamodel.OptionDomainId('None') }), - action: datamodel.Action({ - executable: datamodel.Executable( - 'Instructions', - datamodel.VecInstructionExpr([ - datamodel.InstructionExpr( - 'Mint', - datamodel.MintExpr({ - object: datamodel.Expression( - 'Raw', - datamodel.Value('Numeric', datamodel.NumericValue('U32', 1)), - ), - destination_id: datamodel.Expression( - 'Raw', - datamodel.Value('Id', datamodel.IdBox('AssetId', assetId)), - ), - }), - ), - ]), - ), - repeats: datamodel.Repeats('Indefinitely'), - filter: datamodel.TriggeringFilterBox( - 'Data', - datamodel.FilterOptDataEntityFilter( - 'BySome', - datamodel.DataEntityFilter( - 'ByAssetDefinition', - datamodel.FilterOptAssetDefinitionFilter( - 'BySome', - datamodel.AssetDefinitionFilter({ - origin_filter: datamodel.FilterOptOriginFilterAssetDefinitionEvent('AcceptAll'), - event_filter: datamodel.FilterOptAssetDefinitionEventFilter( - 'BySome', - datamodel.AssetDefinitionEventFilter('ByCreated'), - ), - }), - ), - ), - ), - ), - authority: assetId.account_id, - metadata: datamodel.Metadata({ map: datamodel.SortedMapNameValue(new Map()) }), +defineCase( + 'Register data trigger', + datamodel.InstructionBox, + datamodel.InstructionBox.Register( + datamodel.RegisterBox.Trigger({ + object: { + id: { name: 'mint_rose' }, + action: { + authority: SAMPLE_ACCOUNT_ID, + repeats: datamodel.Repeats.Indefinitely, + executable: datamodel.Executable.Instructions([ + datamodel.InstructionBox.Mint( + datamodel.MintBox.Asset({ + object: { scale: 2n, mantissa: 1_441_234n }, + destination: { + account: SAMPLE_ACCOUNT_ID, + definition: { name: 'rose', domain: { name: 'wonderland' } }, + }, }), + ), + ]), + filter: datamodel.TriggeringEventFilterBox.Data( + datamodel.DataEventFilter.AssetDefinition({ + idMatcher: datamodel.Option.Some({ name: 'rose', domain: { name: 'wonderland' } }), + eventSet: datamodel.AssetDefinitionEventSet.Created | datamodel.AssetDefinitionEventSet.OwnerChanged, }), ), - ), - ), + metadata: new Map(), + }, + }, }), - ) -} + ), +) defineCase( 'Metadata', datamodel.Metadata, - datamodel.Metadata({ - map: datamodel.SortedMapNameValue( - new Map([ - // Test will fail if order is violated - [ - 'authentication', - datamodel.Value('String', '80252ad79c68c01ec8946983411ce3b7cbea21d25f68c8546c687b2a7e2505cc'), - ], - ['email', datamodel.Value('String', 'user123@mail.com')], - ['salt', datamodel.Value('String', 'ABCDEFG')], - ]), - ), - }), + new Map([ + // Test will fail if order is violated + ['authentication', datamodel.MetadataValueBox.String('80252ad8c8546c687b2a7e2505cc')], + ['email', datamodel.MetadataValueBox.String('user123@mail.com')], + ['salt', datamodel.MetadataValueBox.String('ABCDEFG')], + ]), ) + +// TODO: add more tests, cover manually edited/added schema structs diff --git a/packages/data-model/src/codecs.ts b/packages/data-model/src/codecs.ts index 5280036c..c5a1717e 100644 --- a/packages/data-model/src/codecs.ts +++ b/packages/data-model/src/codecs.ts @@ -35,56 +35,110 @@ export const Compact: core.CodecWrap = core.wrapCodec( export type NonZero = Opaque export const NonZero = { - with: (int: core.Codec): core.Codec> => { - // wrap and check on encode - return null + with: (int: core.CodecOrWrap): core.Codec> => { + const intCodec = core.toCodec(int) + return new core.CodecImpl( + scale.encodeFactory( + (value, walker) => { + if (value === 0) throw new Error('Got a zero value at `NonZero` codec') + intCodec.encodeRaw(value, walker) + }, + (value) => { + return intCodec.encodeRaw.sizeHint(value) + }, + ), + intCodec.decodeRaw as scale.Decode>, + ) }, } export type Option = scale.RustOption export const Option = { + None: (): Option => scale.variant('None'), + Some: (some: T): Option => scale.variant('Some', some), with: (some: core.Codec): core.Codec> => { - return null + return new core.CodecImpl(scale.createOptionEncoder(some.encodeRaw), scale.createOptionDecoder(some.decodeRaw)) }, } export type Map = globalThis.Map export const Map = { with: (key: core.Codec, value: core.Codec): core.Codec> => { - return null + return new core.CodecImpl( + scale.createMapEncoder(key.encodeRaw, value.encodeRaw), + scale.createMapDecoder(key.decodeRaw, value.decodeRaw), + ) }, } export type Vec = globalThis.Array export const Vec = { with: (item: core.Codec): core.Codec => { - return null + return new core.CodecImpl(scale.createVecEncoder(item.encodeRaw), scale.createVecDecoder(item.decodeRaw)) }, } export type Array = globalThis.Array export const Array = { with: (item: core.Codec, len: number): core.Codec => { - return null + return new core.CodecImpl( + scale.createArrayEncoder(item.encodeRaw, len), + scale.createArrayDecoder(item.decodeRaw, len), + ) }, } // TODO parse/stringify json lazily when needed export class Json implements core.CodecWrap { - public static fromValue(value: T): Json {} + public static fromValue(value: T): Json { + return new Json({ some: value }, null) + } - public static fromJsonString(value: string): Json {} + public static fromJsonString(value: string): Json { + return new Json(null, value) + } - [core.symbolCodec]: core.Codec = {} + [core.symbolCodec]: core.Codec = new core.CodecImpl( + scale.encodeFactory( + (value, walker) => { + return scale.encodeStr(value.asJsonString(), walker) + }, + (value) => { + return scale.encodeStr.sizeHint(value.asJsonString()) + }, + ), + (walker) => { + const str = scale.decodeStr(walker) + return Json.fromJsonString(str) + }, + ) + + #value: null | { some: T } + #str: null | string + + constructor(asValue: null | { some: T }, asString: string | null) { + this.#value = asValue + this.#str = asString + } - public toValue(): T { - // TODO + public asValue(): T { + if (!this.#value) { + this.#value = { some: JSON.parse(this.#str!) } + } + return this.#value.some } -} -// export type Json = JsonValue -// export const Json = core.wrapCodec(new core.CodecImpl( -// [core.symbolCodec]() { + public asJsonString(): string { + if (!this.#str) { + this.#str = JSON.stringify(this.#value!.some) + } + return this.#str + } -// } -// )) + /** + * For {@link JSON} integration + */ + public toJSON(): T { + return this.asValue() + } +} diff --git a/packages/data-model/src/core.ts b/packages/data-model/src/core.ts index 554deae1..db1c43e2 100644 --- a/packages/data-model/src/core.ts +++ b/packages/data-model/src/core.ts @@ -5,12 +5,8 @@ export const symbolCodec = Symbol('codec') // TODO: maybe use to hide "raw" encode/decode // const symbolCoreCodec = Symbol('codec-core') -type Decode = (source: ArrayBufferView) => T -type Encode = (value: T) => Uint8Array - -export interface CodecWrap { - [symbolCodec]: Codec -} +export type Decode = (source: ArrayBufferView) => T +export type Encode = (value: T) => Uint8Array export interface Codec { encode: Encode @@ -19,6 +15,12 @@ export interface Codec { decodeRaw: scale.Decode } +export interface CodecWrap { + [symbolCodec]: Codec +} + +export type CodecOrWrap = Codec | CodecWrap + export class CodecImpl implements Codec { public encodeRaw: scale.Encode public decodeRaw: scale.Decode @@ -53,13 +55,15 @@ export function boxEnumCodec(codec: Codec): Codec<{ enum: T }> { export function toCodec( source: T, -): T extends CodecWrap +): T extends Codec ? Codec - : T extends () => CodecWrap + : T extends CodecWrap ? Codec - : T extends () => Codec + : T extends () => CodecWrap ? Codec - : never { + : T extends () => Codec + ? Codec + : never { if (typeof source === 'function') { return new CodecImpl( scale.encodeFactory( @@ -71,11 +75,15 @@ export function toCodec( }, ), (walker) => { - unwrapContainerOrCodec(source()).decodeRaw(walker) + return unwrapContainerOrCodec(source()).decodeRaw(walker) }, ) as any } - return (source as any)[symbolCodec] + if (symbolCodec in (source as any)) { + return (source as any)[symbolCodec] + } + // console.log('hey', source[symbolCodec]) + return source as any } function unwrapContainerOrCodec(value: CodecWrap | Codec) { diff --git a/packages/data-model/src/datamodel.ts b/packages/data-model/src/datamodel.ts index 02f0e0e1..64c60d7f 100644 --- a/packages/data-model/src/datamodel.ts +++ b/packages/data-model/src/datamodel.ts @@ -1 +1,2 @@ export * from './__generated__' +export * from './codecs' diff --git a/packages/data-model/src/extension.ts b/packages/data-model/src/extension.ts deleted file mode 100644 index c3a9c0c5..00000000 --- a/packages/data-model/src/extension.ts +++ /dev/null @@ -1,58 +0,0 @@ -import * as runtime from '@scale-codec/definition-runtime' -import { bigintToF64Str, f64StrToBigint } from '@iroha2/i64-fixnum' - -declare const __opaqueTag: unique symbol - -type LocalOpaque = { [__opaqueTag]: Tag } & T - -type ParseFn = (raw: T) => U - -function fixedPointCodec( - name: string, - precision: number, - parse: ParseFn, -): runtime.Codec & ParseFn { - const codec = runtime.trackableCodec( - name, - runtime.encodeFactory( - (value, walker) => { - runtime.encodeI64(f64StrToBigint(value, precision), walker) - }, - // i64 is always fixed 8-bytes len - () => 8, - ), - (walker) => { - const bi = runtime.decodeI64(walker) - return bigintToF64Str(bi, precision) as T - }, - ) - - return Object.assign(parse, codec) -} - -// eslint-disable-next-line max-params -function nonZeroNumCodec( - name: string, - encode: runtime.Encode, - decode: runtime.Decode, -): runtime.Codec & ParseFn { - const codec = runtime.trackableCodec(name, encode, decode) as runtime.Codec - - const parse: ParseFn = (raw) => { - if (raw <= 0) throw new TypeError(`Invalid ${name}: expected a non-zero value, got: ${raw}`) - return raw as U - } - - return Object.assign(parse, codec) -} - -type FixedPointI64P9 = LocalOpaque<'FixedPointI64P9', string> -const FixedPointI64P9 = fixedPointCodec('FixedPointI64P9', 9, (x) => x as FixedPointI64P9) - -type NonZeroU32 = LocalOpaque<'NonZeroU32', number> -const NonZeroU32 = nonZeroNumCodec('NonZeroU32', runtime.encodeU32, runtime.decodeU32) - -type NonZeroU64 = LocalOpaque<'NonZeroU64', bigint> -const NonZeroU64 = nonZeroNumCodec('NonZeroU64', runtime.encodeU64, runtime.decodeU64) - -export { FixedPointI64P9, NonZeroU32, NonZeroU64 } diff --git a/packages/data-model/src/lib.ts b/packages/data-model/src/lib.ts index 479df9d1..5ffe7a5d 100644 --- a/packages/data-model/src/lib.ts +++ b/packages/data-model/src/lib.ts @@ -5,5 +5,7 @@ */ export * as datamodel from './datamodel' -export * as sugar from './sugar/index' -export * from '@scale-codec/definition-runtime' +export * from './core' +export { variant } from '@scale-codec/core' +// export * as sugar from './sugar/index' +// export * from '@scale-codec/definition-runtime' diff --git a/packages/data-model/src/sandbox.ts b/packages/data-model/src/sandbox.ts deleted file mode 100644 index 4a60d02e..00000000 --- a/packages/data-model/src/sandbox.ts +++ /dev/null @@ -1,248 +0,0 @@ -import * as scale from '@scale-codec/core' -import { EnumCodecSchema, createEnumCodec } from '@scale-codec/definition-runtime' -import { Opaque } from 'type-fest' - -const symbolCodec = Symbol('codec') - -type Decode = (source: ArrayBufferView) => T -type Encode = (value: T) => Uint8Array - -interface CodecContainer { - [symbolCodec]: Codec -} - -interface Codec { - encode: Encode - encodeRaw: scale.Encode - decode: Decode - decodeRaw: scale.Decode -} - -class CodecImpl implements Codec { - public encodeRaw: scale.Encode - public decodeRaw: scale.Decode - - public constructor(encodeRaw: scale.Encode, decodeRaw: scale.Decode) { - this.encodeRaw = encodeRaw - this.decodeRaw = decodeRaw - } - - encode(value: T): Uint8Array { - return scale.WalkerImpl.encode(value, this.encodeRaw) - } - - decode(source: ArrayBufferView): T { - return scale.WalkerImpl.decode(source, this.decodeRaw) - } -} - -function codecContainer(codec: Codec): CodecContainer {} - -function enumBox(impl: CodecContainer): CodecContainer<{ enum: T }> {} - -// function defineEnumBoxCodec(encodeRaw: scale.) - -type CodecImplValue> = T extends CodecContainer ? U : never - -function toCodec( - source: T, -): T extends CodecContainer - ? Codec - : T extends () => CodecContainer - ? Codec - : T extends () => Codec - ? Codec - : never { - if (typeof source === 'function') { - const result = source() - if (symbolCodec in result) return result[symbolCodec] - return result - } - return (source as any)[symbolCodec] -} - -// function codecOf, U extends CodecImplValue = CodecImplValue>( -// container: T | (() => T), -// ): Codec { -// return container[symbolCodec] -// } - -// function codecContainerFromGetter>(f: () => T): T {} - -interface Account { - id: AccountId - assets: Map - metadata: Metadata -} - -interface AccountId { - domain: DomainId - signatory: PublicKey -} - -type PublicKey = string - -type DomainId = string - -type RoleEventSet = Opaque - -const RoleEventSet = { - /** `Created` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ - Created: 1 as RoleEventSet, - Deleted: 2 as RoleEventSet, - or(...items: RoleEventSet[]): RoleEventSet { -return 0 as RoleEventSet - } - ...codecContainer(scale.encodeU32, scale.decodeU32), -} as const - -function eventSetOr(...variants: T[]): T { - return 0 as T -} - -const InstructionBox = {} - -type Repeats = scale.Enumerate<{ - Indefinitely: [] - Exactly: [number] -}> - -const Repeats = { - /** - * `Repeats::Indefinitely` enum variant - */ - Indefinitely: scale.variant('Indefinitely'), - Exactly: (value: number): Repeats => scale.variant('Exactly', value), -} as const - -type MetadataValueBox = { - enum: scale.Enumerate<{ - Bool: [boolean] - String: [string] - Name: [Name] - Bytes: [Uint8Array] - Numeric: [Numeric] - LimitedMetadata: [LimitedMetadata] - Vec: [MetadataValueBox[]] - }> -} - -const MetadataValueBox = { - /** - * Produce `MetadataValueBox::Bool` variant - */ - Bool: (value: boolean): MetadataValueBox => ({ enum: scale.variant('Bool', value) }), - // variants... - ...enumBox( - codecContainer( - scale.createEnumEncoder({ - Bool: [0, scale.encodeBool], - String: [1, scale.encodeStr], - Name: [2, toCodec(() => Name).encodeRaw], - }), - scale.createEnumDecoder({ - 0: ['Bool', scale.decodeBool], - }), - ), - ), -} as const - -scale.createArrayEncoder() - -type Metadata = Map - -const Metadata = { - ...codecContainer( - scale.createMapEncoder(toCodec(() => Name).encodeRaw, toCodec(() => MetadataValueBox).encodeRaw), - scale.createMapDecoder(toCodec(() => Name).decodeRaw, toCodec(() => MetadataValueBox).decodeRaw), - ), -} - -type Name = string - -const Name = { - ...codecContainer(scale.encodeStr, scale.decodeStr), -} - -type AssetId = string - -const AssetId = { - ...codecContainer(scale.encodeStr, scale.decodeStr), -} - -type MetadataChanged = { - target: T - key: Name - value: MetadataValueBox -} - -const MetadataChanged = { - codecWith: (codec0: Codec): Codec> => { - return structCodec([ - ['target', codec0], - ['key', toCodec(Name)], - ['value', toCodec(MetadataValueBox)], - ]) - }, -} - -type AssetEvent = scale.Enumerate<{ - MetadataInserted: [MetadataChanged] -}> - -const AssetEvent = { - MetadataInserted: (value: MetadataChanged): AssetEvent => scale.variant('MetadataInserted', value), - ...codecContainer( - scale.createEnumEncoder({ - MetadataInserted: [0, toCodec(() => MetadataChanged.codecWith(toCodec(() => AssetId))).encodeRaw], - }), - scale.createEnumDecoder({}), - ), -} - -function mapCodec(key: Codec, value: Codec): Codec> { - return new CodecImpl( - scale.createMapEncoder(key.encodeRaw, value.encodeRaw), - scale.createMapDecoder(key.decodeRaw, value.decodeRaw), - ) -} - -function structCodec(schema: { [K in keyof T]: [K, Codec] }[keyof T][]): Codec {} - -function optionCodec(value: Codec): Codec> { - return new CodecImpl(scale.createOptionEncoder(value.encodeRaw), scale.createOptionDecoder(value.decodeRaw)) -} - -function enumCodec(schema: EnumCodecSchema): Codec { -schema.map(([dis, tag, codec]) => { -// if (codec) -// return [{ }] -// }) - - return new CodecImpl( - - ) -} - -// const MapCodec = { -// with: (key: Codec, value: Codec): Codec> => { -// return defineCodec( -// scale.createMapEncoder(key.encodeRaw, value.encodeRaw), -// scale.createMapDecoder(key.decodeRaw, value.decodeRaw), -// )[symbolCodec] -// }, -// } - -// --- - -toCodec(RoleEventSet).encode(RoleEventSet.Created | RoleEventSet.Deleted) - -const account: Account = { - id: { domain: 'wonderland', signatory: 'fasfs' }, - assets: new Map(), - metadata: new Map(), -} - -toCodec(MetadataValueBox).encode(MetadataValueBox.Bool(false)) - -mapCodec(toCodec(Name), toCodec(Metadata)) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a291bb89..b45b543c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: '@typescript-eslint/parser': specifier: ^7.13.0 version: 7.13.0(eslint@9.4.0)(typescript@5.4.5) + '@vitest/ui': + specifier: ^1.6.0 + version: 1.6.0(vitest@1.6.0) chalk: specifier: 4.1.2 version: 4.1.2 @@ -106,7 +109,7 @@ importers: version: 5.1.5(@types/node@20.14.2)(sass@1.77.5) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.14.2)(sass@1.77.5) + version: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(sass@1.77.5) zx: specifier: ^7.2.0 version: 7.2.0 @@ -363,6 +366,9 @@ importers: camelcase: specifier: ^7.0.1 version: 7.0.1 + change-case: + specifier: ^5.4.4 + version: 5.4.4 debug: specifier: ^4.3.4 version: 4.3.4(supports-color@8.1.1) @@ -1244,6 +1250,9 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + '@rollup/plugin-replace@5.0.2': resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} @@ -1545,6 +1554,11 @@ packages: '@vitest/spy@1.6.0': resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + '@vitest/ui@1.6.0': + resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==} + peerDependencies: + vitest: 1.6.0 + '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} @@ -1898,6 +1912,9 @@ packages: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -2399,6 +2416,10 @@ packages: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -2422,6 +2443,9 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -3224,6 +3248,10 @@ packages: moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -3824,6 +3852,10 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -4059,6 +4091,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + tough-cookie@2.5.0: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} engines: {node: '>=0.8'} @@ -5065,6 +5101,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@polka/url@1.0.0-next.25': {} + '@rollup/plugin-replace@5.0.2(rollup@3.26.2)': dependencies: '@rollup/pluginutils': 5.0.2(rollup@3.26.2) @@ -5376,6 +5414,17 @@ snapshots: dependencies: tinyspy: 2.2.1 + '@vitest/ui@1.6.0(vitest@1.6.0)': + dependencies: + '@vitest/utils': 1.6.0 + fast-glob: 3.3.2 + fflate: 0.8.2 + flatted: 3.3.1 + pathe: 1.1.2 + picocolors: 1.0.1 + sirv: 2.0.4 + vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(sass@1.77.5) + '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 @@ -5752,6 +5801,8 @@ snapshots: chalk@5.2.0: {} + change-case@5.4.4: {} + chardet@0.7.0: {} check-error@1.0.3: @@ -6528,6 +6579,14 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.5 + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -6549,6 +6608,8 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 + fflate@0.8.2: {} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 @@ -7352,6 +7413,8 @@ snapshots: moo@0.5.2: {} + mrmime@2.0.0: {} + ms@2.1.2: {} ms@2.1.3: {} @@ -7987,6 +8050,12 @@ snapshots: signal-exit@4.1.0: {} + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + slash@3.0.0: {} slash@4.0.0: {} @@ -8233,6 +8302,8 @@ snapshots: dependencies: is-number: 7.0.0 + totalist@3.0.1: {} + tough-cookie@2.5.0: dependencies: psl: 1.9.0 @@ -8406,7 +8477,7 @@ snapshots: fsevents: 2.3.3 sass: 1.77.5 - vitest@1.6.0(@types/node@20.14.2)(sass@1.77.5): + vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(sass@1.77.5): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -8430,6 +8501,7 @@ snapshots: why-is-node-running: 2.2.2 optionalDependencies: '@types/node': 20.14.2 + '@vitest/ui': 1.6.0(vitest@1.6.0) transitivePeerDependencies: - less - lightningcss From 0bdcb77fb1fb8f31ebda530ca3afa80db13e53e3 Mon Sep 17 00:00:00 2001 From: quacumque <43530070+0x009922@users.noreply.github.com> Date: Tue, 18 Jun 2024 08:53:59 +0900 Subject: [PATCH 003/124] refactor: data model & client updates, wip Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> --- .prettierignore | 1 + etc/jakefile.ts | 7 +- etc/meta.ts | 1 - packages/client/package.json | 1 - packages/client/src/blocks-stream.ts | 14 +- packages/client/src/events.ts | 10 +- packages/client/src/json-bigint-shim.d.ts | 9 - packages/client/src/lib.ts | 145 ++-- packages/client/src/util.ts | 29 - .../crypto/packages/interface-wrap/src/lib.ts | 28 +- packages/data-model/.gitignore | 1 - packages/data-model/etc/codegen.spec.ts | 8 + packages/data-model/etc/codegen.ts | 668 ++++++++++++++++- packages/data-model/etc/codegen/index.ts | 700 ------------------ packages/data-model/etc/meta.ts | 6 - packages/data-model/package.json | 3 - packages/data-model/src/__generated__.ts | 437 +++++++++++ .../src/__tests__/{core.spec.ts => misc.ts} | 21 + .../src/__tests__/rust-samples.spec.ts | 2 +- packages/data-model/src/codecs.ts | 6 +- packages/data-model/src/datamodel.ts | 29 + packages/data-model/src/lib.ts | 3 +- packages/data-model/src/sugar/executable.ts | 4 - packages/data-model/src/sugar/expression.ts | 3 - packages/data-model/src/sugar/filter.ts | 19 - packages/data-model/src/sugar/find.ts | 24 - packages/data-model/src/sugar/identifiable.ts | 69 -- packages/data-model/src/sugar/index.ts | 25 - packages/data-model/src/sugar/instruction.ts | 32 - packages/data-model/src/sugar/model.ts | 1 - packages/data-model/src/sugar/value.ts | 33 - packages/docs-recipes/package.json | 1 - packages/docs-recipes/src/2.1.2.signer.ts | 21 +- packages/docs-recipes/src/2.3.client.ts | 2 +- .../docs-recipes/src/3.register-domain.ts | 23 +- packages/docs-recipes/src/9.blocks-stream.ts | 2 +- packages/src/__generated__.ts | 437 +++++++++++ pnpm-lock.yaml | 18 - 38 files changed, 1714 insertions(+), 1129 deletions(-) delete mode 100644 packages/client/src/json-bigint-shim.d.ts delete mode 100644 packages/data-model/.gitignore create mode 100644 packages/data-model/etc/codegen.spec.ts delete mode 100644 packages/data-model/etc/codegen/index.ts delete mode 100644 packages/data-model/etc/meta.ts create mode 100644 packages/data-model/src/__generated__.ts rename packages/data-model/src/__tests__/{core.spec.ts => misc.ts} (61%) delete mode 100644 packages/data-model/src/sugar/executable.ts delete mode 100644 packages/data-model/src/sugar/expression.ts delete mode 100644 packages/data-model/src/sugar/filter.ts delete mode 100644 packages/data-model/src/sugar/find.ts delete mode 100644 packages/data-model/src/sugar/identifiable.ts delete mode 100644 packages/data-model/src/sugar/index.ts delete mode 100644 packages/data-model/src/sugar/instruction.ts delete mode 100644 packages/data-model/src/sugar/model.ts delete mode 100644 packages/data-model/src/sugar/value.ts create mode 100644 packages/src/__generated__.ts diff --git a/.prettierignore b/.prettierignore index 502e7c86..217974a8 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,7 @@ dist dist-tsc node_modules +**/data-model/src/__generated__.ts **/data-model-schema/src/__schema__.json etc/api/**/* packages/crypto/crypto-rs/wasm-pkg-* diff --git a/etc/jakefile.ts b/etc/jakefile.ts index 229fdbaf..7400f935 100644 --- a/etc/jakefile.ts +++ b/etc/jakefile.ts @@ -18,18 +18,13 @@ namespace('prepare', () => { await $`pnpm --filter data-model-schema compile-with-kagami` }) - desc('Generate data-model codecs according to the compiled schema') - task('data-model-codegen', ['clean', 'data-model-schema'], async () => { - await $`pnpm --filter data-model codegen` - }) - desc('Produce Rust SCALE samples for data-model tests') task('data-model-rust-samples', ['clean'], async () => { await $`pnpm --filter data-model-rust-samples produce-samples` }) desc('Compile all necessary artifacts') - task('all', ['data-model-schema', 'data-model-rust-samples', 'data-model-codegen']) + task('all', ['data-model-schema', 'data-model-rust-samples']) }) namespace('crypto-wasm', () => { diff --git a/etc/meta.ts b/etc/meta.ts index 1baa5771..39fb8f2f 100644 --- a/etc/meta.ts +++ b/etc/meta.ts @@ -76,6 +76,5 @@ export function artifactsToClean(): string[] { // compilation artifacts 'packages/data-model-schema/src/__schema__.json', 'packages/data-model-rust-samples/samples.json', - 'packages/data-model/src/__generated__.ts', ] } diff --git a/packages/client/package.json b/packages/client/package.json index 49ab6f83..f583e500 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -40,7 +40,6 @@ "@iroha2/data-model": "workspace:7.0.0", "debug": "^4.3.4", "emittery": "^0.10.1", - "json-bigint": "^1.0.0", "type-fest": "^3.6.1" }, "devDependencies": { diff --git a/packages/client/src/blocks-stream.ts b/packages/client/src/blocks-stream.ts index 030e83bc..a9a0f2c5 100644 --- a/packages/client/src/blocks-stream.ts +++ b/packages/client/src/blocks-stream.ts @@ -1,6 +1,6 @@ import Emittery from 'emittery' import Debug from 'debug' -import { datamodel } from '@iroha2/data-model' +import { datamodel, toCodec } from '@iroha2/data-model' import { ENDPOINT_BLOCKS_STREAM } from './const' import { SocketEmitMapBase, setupWebSocket } from './util' import { IsomorphicWebSocketAdapter } from './web-socket/types' @@ -9,12 +9,12 @@ const debug = Debug('@iroha2/client:blocks-stream') export interface SetupBlocksStreamParams { toriiApiURL: string - height: datamodel.NonZeroU64 + fromBlockHeight?: datamodel.NonZero adapter: IsomorphicWebSocketAdapter } export interface BlocksStreamEmitteryMap extends SocketEmitMapBase { - block: datamodel.SignedBlockV1 + block: datamodel.SignedBlock } export interface SetupBlocksStreamReturn { @@ -38,11 +38,15 @@ export async function setupBlocksStream(params: SetupBlocksStreamParams): Promis }) ee.on('open', () => { - sendRaw(datamodel.BlockSubscriptionRequest.toBuffer(params.height)) + sendRaw( + toCodec(datamodel.BlockSubscriptionRequest).encode({ + fromBlockHeight: params.fromBlockHeight ?? datamodel.NonZero.define(1n), + }), + ) }) ee.on('message', (raw) => { - const block = datamodel.BlockMessage.fromBuffer(raw).enum.content + const block = toCodec(datamodel.SignedBlock).decode(raw) ee.emit('block', block) }) diff --git a/packages/client/src/events.ts b/packages/client/src/events.ts index 6737a21d..e4983af9 100644 --- a/packages/client/src/events.ts +++ b/packages/client/src/events.ts @@ -1,4 +1,4 @@ -import { datamodel } from '@iroha2/data-model' +import { datamodel, toCodec } from '@iroha2/data-model' import Emittery from 'emittery' import Debug from 'debug' import { SocketEmitMapBase, setupWebSocket } from './util' @@ -8,12 +8,12 @@ import { IsomorphicWebSocketAdapter } from './web-socket/types' const debug = Debug('@iroha2/client:events') export interface EventsEmitteryMap extends SocketEmitMapBase { - event: datamodel.Event + event: datamodel.EventBox } export interface SetupEventsParams { toriiApiURL: string - filter: datamodel.FilterBox + filters?: datamodel.EventFilterBox[] adapter: IsomorphicWebSocketAdapter } @@ -41,11 +41,11 @@ export async function setupEvents(params: SetupEventsParams): Promise { - sendRaw(datamodel.EventSubscriptionRequest.toBuffer(params.filter)) + sendRaw(toCodec(datamodel.EventSubscriptionRequest).encode({ filters: params.filters ?? [] })) }) ee.on('message', (raw) => { - const event = datamodel.EventMessage.fromBuffer(raw) + const event = toCodec(datamodel.EventBox).decode(raw) ee.emit('event', event) }) diff --git a/packages/client/src/json-bigint-shim.d.ts b/packages/client/src/json-bigint-shim.d.ts deleted file mode 100644 index c88879e8..00000000 --- a/packages/client/src/json-bigint-shim.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -declare module 'json-bigint/lib/parse.js' { - interface Options { - useNativeBigInt?: boolean - } - - declare function factory(opts?: Options): (text: string) => any - - export default factory -} diff --git a/packages/client/src/lib.ts b/packages/client/src/lib.ts index 729d761a..e05b07a9 100644 --- a/packages/client/src/lib.ts +++ b/packages/client/src/lib.ts @@ -6,7 +6,7 @@ */ import { Bytes, cryptoTypes, freeScope } from '@iroha2/crypto-core' -import { RustResult, datamodel, variant } from '@iroha2/data-model' +import { Result, datamodel, toCodec, variant, type Enumerate } from '@iroha2/data-model' import { Except } from 'type-fest' import { SetupBlocksStreamParams, SetupBlocksStreamReturn, setupBlocksStream } from './blocks-stream' import { @@ -19,7 +19,7 @@ import { HEALTHY_RESPONSE, } from './const' import { SetupEventsParams, SetupEventsReturn, setupEvents } from './events' -import { cryptoHash, parseJsonWithBigInts } from './util' +import { cryptoHash } from './util' import { IsomorphicWebSocketAdapter } from './web-socket/types' type Fetch = typeof fetch @@ -27,7 +27,9 @@ type Fetch = typeof fetch type KeyPair = cryptoTypes.KeyPair export interface SetPeerConfigParams { - LogLevel?: 'WARN' | 'ERROR' | 'INFO' | 'DEBUG' | 'TRACE' + logger: { + level: datamodel.Level extends Enumerate ? keyof E : never + } } export class Signer { @@ -44,10 +46,11 @@ export class Signer { const signature = this.keyPair.sign(message) const publicKey = signature.publicKey().toDataModel() - return datamodel.Signature({ + // FIXME!! + return { public_key: publicKey, payload: signature.payload(), - }) + } }) } } @@ -55,9 +58,10 @@ export class Signer { // #region Transaction helpers export interface MakeTransactionPayloadParams { - accountId: datamodel.AccountId + chain: string + account: datamodel.AccountId executable: datamodel.Executable - ttl?: datamodel.NonZeroU64 + ttl?: datamodel.NonZero /** * @default Date.now() */ @@ -65,23 +69,24 @@ export interface MakeTransactionPayloadParams { /** * @default // none */ - nonce?: datamodel.NonZeroU32 - metadata?: datamodel.SortedMapNameValue + nonce?: datamodel.NonZero + metadata?: datamodel.Metadata } export function makeTransactionPayload(params: MakeTransactionPayloadParams): datamodel.TransactionPayload { - return datamodel.TransactionPayload({ - authority: params.accountId, + return { + chain: params.chain, + authority: params.account, instructions: params.executable, - time_to_live_ms: params.ttl ? datamodel.OptionNonZeroU64('Some', params.ttl) : datamodel.OptionNonZeroU64('None'), - nonce: params?.nonce ? datamodel.OptionNonZeroU32('Some', params.nonce) : datamodel.OptionNonZeroU32('None'), - metadata: params?.metadata ?? datamodel.SortedMapNameValue(new Map()), - creation_time_ms: params.creationTime ?? BigInt(Date.now()), - }) + timeToLiveMs: params.ttl ? datamodel.Option.Some(params.ttl) : datamodel.Option.None(), + nonce: params?.nonce ? datamodel.Option.Some(params.nonce) : datamodel.Option.None(), + metadata: params?.metadata ?? new Map(), + creationTimeMs: params.creationTime ?? BigInt(Date.now()), + } } export function computeTransactionHash(payload: datamodel.TransactionPayload): Uint8Array { - return cryptoHash(Bytes.array(datamodel.TransactionPayload.toBuffer(payload))) + return cryptoHash(Bytes.array(toCodec(datamodel.TransactionPayload).encode(payload))) } export function signTransaction(payload: datamodel.TransactionPayload, signer: Signer): datamodel.Signature { @@ -94,24 +99,21 @@ export function makeSignedTransaction( signer: Signer, ): datamodel.SignedTransaction { const signature = signTransaction(payload, signer) - return datamodel.SignedTransaction( - 'V1', - datamodel.SignedTransactionV1({ - payload, - signatures: datamodel.SortedVecSignature([signature]), - }), - ) + return datamodel.SignedTransaction.V1({ + payload, + signature, + }) } export function executableIntoSignedTransaction(params: { signer: Signer executable: datamodel.Executable - payloadParams?: Except + payloadParams: Except }): datamodel.SignedTransaction { return makeSignedTransaction( makeTransactionPayload({ executable: params.executable, - accountId: params.signer.accountId, + account: params.signer.accountId, ...params.payloadParams, }), params.signer, @@ -123,46 +125,56 @@ export function executableIntoSignedTransaction(params: { // #region Query helpers interface MakeQueryPayloadParams { - accountId: datamodel.AccountId + account: datamodel.AccountId query: datamodel.QueryBox /** - * @default PredicateBox('Raw', Predicate('Pass')) + * @default PredicateBox.Raw(QueryOutputPredicate.Pass) */ filter?: datamodel.PredicateBox timestampMs?: bigint + sorting?: datamodel.Sorting + pagination?: datamodel.Pagination + fetchSize?: number } -export function makeQueryPayload(params: MakeQueryPayloadParams): datamodel.QueryPayload { - return datamodel.QueryPayload({ - authority: params.accountId, +export function makeQueryPayload(params: MakeQueryPayloadParams): datamodel.ClientQueryPayload { + return { + authority: params.account, query: params.query, - filter: params?.filter ?? datamodel.PredicateBox('Raw', datamodel.ValuePredicate('Pass')), - }) + filter: params?.filter ?? datamodel.PredicateBox.Raw(datamodel.QueryOutputPredicate.Pass), + fetchSize: { + fetchSize: params.fetchSize + ? datamodel.Option.Some(datamodel.NonZero.define(params.fetchSize)) + : datamodel.Option.None(), + }, + sorting: params.sorting ?? { sortByMetadataKey: datamodel.Option.None() }, + pagination: params.pagination ?? { start: datamodel.Option.None(), limit: datamodel.Option.None() }, + } } -export function computeQueryHash(payload: datamodel.QueryPayload): Uint8Array { - return cryptoHash(Bytes.array(datamodel.QueryPayload.toBuffer(payload))) +export function computeQueryHash(payload: datamodel.ClientQueryPayload): Uint8Array { + return cryptoHash(Bytes.array(toCodec(datamodel.ClientQueryPayload).encode(payload))) } -export function signQuery(payload: datamodel.QueryPayload, signer: Signer): datamodel.Signature { +export function signQuery(payload: datamodel.ClientQueryPayload, signer: Signer): datamodel.Signature { const hash = computeQueryHash(payload) return signer.sign(Bytes.array(hash)) } -export function makeSignedQuery(payload: datamodel.QueryPayload, signer: Signer): datamodel.SignedQuery { +export function makeSignedQuery(payload: datamodel.ClientQueryPayload, signer: Signer): datamodel.SignedQuery { const signature = signQuery(payload, signer) - return datamodel.SignedQuery('V1', datamodel.SignedQueryV1({ payload, signature })) + return datamodel.SignedQuery.V1({ payload, signature }) } export function queryBoxIntoSignedQuery(params: { query: datamodel.QueryBox signer: Signer - payloadParams?: Except + payloadParams?: Except }): datamodel.SignedQuery { return makeSignedQuery( makeQueryPayload({ query: params.query, - accountId: params.signer.accountId, + account: params.signer.accountId, ...params.payloadParams, }), params.signer, @@ -173,19 +185,6 @@ export function queryBoxIntoSignedQuery(params: { // #region TORII -export interface PeerStatus { - peers: bigint | number - blocks: bigint | number - txs_accepted: bigint | number - txs_rejected: bigint | number - uptime: { - secs: bigint | number - nanos: number - } - view_changes: bigint | number - queue_size: bigint | number -} - export interface ToriiRequirementsPartUrlApi { apiURL: string } @@ -202,25 +201,25 @@ export type ToriiRequirementsForApiHttp = ToriiRequirementsPartUrlApi & ToriiReq export type ToriiRequirementsForApiWebSocket = ToriiRequirementsPartUrlApi & ToriiRequirementsPartWebSocket -export type ToriiQueryResult = RustResult +export type ToriiQueryResult = Result export interface ToriiApiHttp { submit: (prerequisites: ToriiRequirementsForApiHttp, tx: datamodel.SignedTransaction) => Promise request: (prerequisites: ToriiRequirementsForApiHttp, query: datamodel.SignedQuery) => Promise - getHealth: (prerequisites: ToriiRequirementsForApiHttp) => Promise> + getHealth: (prerequisites: ToriiRequirementsForApiHttp) => Promise> setPeerConfig: (prerequisites: ToriiRequirementsForApiHttp, params: SetPeerConfigParams) => Promise - getStatus: (prerequisites: ToriiRequirementsForApiHttp) => Promise + getStatus: (prerequisites: ToriiRequirementsForApiHttp) => Promise getMetrics: (prerequisites: ToriiRequirementsForApiHttp) => Promise } export interface ToriiApiWebSocket { listenForEvents: ( prerequisites: ToriiRequirementsForApiWebSocket, - params: Pick, + params: Pick, ) => Promise listenForBlocksStream: ( prerequisites: ToriiRequirementsForApiWebSocket, - params: Pick, + params: Pick, ) => Promise } @@ -228,7 +227,7 @@ export type ToriiOmnibus = ToriiApiHttp & ToriiApiWebSocket export const Torii: ToriiOmnibus = { async submit(pre, tx) { - const body = datamodel.SignedTransaction.toBuffer(tx) + const body = toCodec(datamodel.SignedTransaction).encode(tx) const response = await pre.fetch(pre.apiURL + ENDPOINT_TRANSACTION, { body, @@ -239,7 +238,7 @@ export const Torii: ToriiOmnibus = { }, async request(pre, query) { - const queryBytes = datamodel.SignedQuery.toBuffer(query) + const queryBytes = toCodec(datamodel.SignedQuery).encode(query) const response = await pre .fetch(pre.apiURL + ENDPOINT_QUERY, { method: 'POST', @@ -251,11 +250,10 @@ export const Torii: ToriiOmnibus = { if (response.status === 200) { // OK - const value: datamodel.BatchedResponseV1Value = datamodel.BatchedResponseValue.fromBuffer(bytes).enum.content - return variant('Ok', value) + return variant('Ok', toCodec(datamodel.BatchedResponse).decode(bytes)) } else { // ERROR - const error = datamodel.ValidationFail.fromBuffer(bytes) + const error = toCodec(datamodel.ValidationFail).decode(bytes) return variant('Err', error) } }, @@ -278,26 +276,27 @@ export const Torii: ToriiOmnibus = { return variant('Ok', null) }, - async listenForEvents(pre, params: Pick) { + async listenForEvents(pre, params: Pick) { return setupEvents({ - filter: params.filter, + filters: params.filters, toriiApiURL: pre.apiURL, adapter: pre.ws, }) }, - async listenForBlocksStream(pre, params: Pick) { + async listenForBlocksStream(pre, params: Pick) { return setupBlocksStream({ - height: params.height, + fromBlockHeight: params.fromBlockHeight, toriiApiURL: pre.apiURL, adapter: pre.ws, }) }, - async getStatus(pre): Promise { + async getStatus(pre): Promise { + // TODO const response = await pre.fetch(pre.apiURL + ENDPOINT_STATUS) ResponseError.throwIfStatusIsNot(response, 200) - return response.text().then(parseJsonWithBigInts) + return response.arrayBuffer().then((buffer) => toCodec(datamodel.Status).decode(new Uint8Array(buffer))) }, async getMetrics(pre) { @@ -340,8 +339,12 @@ export class Client { this.signer = params.signer } - public async submitExecutable(pre: ToriiRequirementsForApiHttp, executable: datamodel.Executable) { - return Torii.submit(pre, executableIntoSignedTransaction({ executable, signer: this.signer })) + public async submitExecutable( + pre: ToriiRequirementsForApiHttp, + executable: datamodel.Executable, + payloadParams: Except, + ) { + return Torii.submit(pre, executableIntoSignedTransaction({ executable, signer: this.signer, payloadParams })) } public async requestWithQueryBox(pre: ToriiRequirementsForApiHttp, query: datamodel.QueryBox) { diff --git a/packages/client/src/util.ts b/packages/client/src/util.ts index c5a92d94..161dec13 100644 --- a/packages/client/src/util.ts +++ b/packages/client/src/util.ts @@ -1,7 +1,6 @@ import { CloseEvent, IsomorphicWebSocketAdapter, SendData, Event as WsEvent } from './web-socket/types' import { Debugger } from 'debug' import Emittery from 'emittery' -import JsonBigIntParseFactory from 'json-bigint/lib/parse.js' import { getCryptoAnyway } from './crypto-singleton' import { Bytes, freeScope } from '@iroha2/crypto-core' @@ -80,31 +79,3 @@ export function setupWebSocket(params: { return { isClosed, send, close: closeAsync, ee, accepted } } - -const jsonBigIntParse = JsonBigIntParseFactory({ useNativeBigInt: true }) - -export function parseJsonWithBigInts(raw: string): any { - return jsonBigIntParse(raw) -} - -if (import.meta.vitest) { - const { test, expect } = import.meta.vitest - - test('When plain JSON is passed, it parses numbers as plain numbers', () => { - const raw = `{"num":123}` - const parsed = { num: 123 } - - const actual = parseJsonWithBigInts(raw) - - expect(actual).toEqual(parsed) - }) - - test('When JSON with too big ints is passed, it parses numbers as BigInts', () => { - const raw = `{"num":123456789123456789123456789123456789}` - const parsed = { num: 123456789123456789123456789123456789n } - - const actual = parseJsonWithBigInts(raw) - - expect(actual).toEqual(parsed) - }) -} diff --git a/packages/crypto/packages/interface-wrap/src/lib.ts b/packages/crypto/packages/interface-wrap/src/lib.ts index e5402d91..6b3d7bfc 100644 --- a/packages/crypto/packages/interface-wrap/src/lib.ts +++ b/packages/crypto/packages/interface-wrap/src/lib.ts @@ -13,17 +13,17 @@ export const Algorithm = { toDataModel: (algorithm: Algorithm): datamodel.Algorithm => { switch (algorithm) { case 'ed25519': - return datamodel.Algorithm('Ed25519') + return datamodel.Algorithm.Ed25519 case 'secp256k1': - return datamodel.Algorithm('Secp256k1') + return datamodel.Algorithm.Secp256k1 case 'bls_small': - return datamodel.Algorithm('BlsSmall') + return datamodel.Algorithm.BlsSmall case 'bls_normal': - return datamodel.Algorithm('BlsNormal') + return datamodel.Algorithm.BlsNormal } }, fromDataModel: (algorithm: datamodel.Algorithm): Algorithm => { - switch (algorithm.enum.tag) { + switch (algorithm.tag) { case 'Ed25519': return 'ed25519' case 'Secp256k1': @@ -162,7 +162,7 @@ export class PublicKey } public static fromDataModel(publicKey: datamodel.PublicKey): PublicKey { - return PublicKey.fromRaw(Algorithm.fromDataModel(publicKey.digest_function), Bytes.array(publicKey.payload)) + return PublicKey.fromRaw(Algorithm.fromDataModel(publicKey.algorithm), Bytes.array(publicKey.payload)) } public toMultihash(): string { @@ -187,10 +187,10 @@ export class PublicKey } public toDataModel(): datamodel.PublicKey { - return datamodel.PublicKey({ - digest_function: Algorithm.toDataModel(this.algorithm), + return { + algorithm: Algorithm.toDataModel(this.algorithm), payload: this.payload(), - }) + } } } @@ -264,6 +264,7 @@ export class Signature public static fromDataModel(signature: datamodel.Signature): Signature { return freeScope((scope) => { + // TODO patch wasm first const publicKey = PublicKey.fromDataModel(signature.public_key) const result = Signature.fromBytes(publicKey, Bytes.array(signature.payload)) scope.forget(result) @@ -294,12 +295,9 @@ export class Signature } public toDataModel(): datamodel.Signature { - return freeScope(() => - datamodel.Signature({ - public_key: this.publicKey().toDataModel(), - payload: this.payload(), - }), - ) + return { + payload: this.payload(), + } } public toJSON(): wasmPkg.SignatureJson { diff --git a/packages/data-model/.gitignore b/packages/data-model/.gitignore deleted file mode 100644 index 2a1e5eb4..00000000 --- a/packages/data-model/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/src/__generated__.ts diff --git a/packages/data-model/etc/codegen.spec.ts b/packages/data-model/etc/codegen.spec.ts new file mode 100644 index 00000000..ee7b8c27 --- /dev/null +++ b/packages/data-model/etc/codegen.spec.ts @@ -0,0 +1,8 @@ +import { expect, test } from 'vitest' +import { SCHEMA } from '@iroha2/data-model-schema' +import { generate } from './codegen' + +// convenient for development in watch mode +test('codegen snapshot', () => { + expect(generate(SCHEMA)).toMatchFileSnapshot('../../src/__generated__.ts') +}) diff --git a/packages/data-model/etc/codegen.ts b/packages/data-model/etc/codegen.ts index 7154c8f5..3a10213c 100644 --- a/packages/data-model/etc/codegen.ts +++ b/packages/data-model/etc/codegen.ts @@ -1,21 +1,647 @@ -import path from 'path' -import consola from 'consola' -import chalk from 'chalk' -import fs from 'fs/promises' -import { renderNamespaceDefinition } from '@scale-codec/definition-compiler' -import { SCHEMA } from '@iroha2/data-model-schema' -// import { transformSchema } from './schema-transform' -import { CODEGEN_OUTPUT_FILE } from './meta' -import { generate } from './codegen/index' - -async function main() { - consola.log(chalk`Generating {blue.bold SCHEMA} from {yellow.bold \`@iroha2/data-model-schema\`}...`) - const generated = generate(SCHEMA) - await fs.writeFile(CODEGEN_OUTPUT_FILE, generated, { encoding: 'utf8' }) - consola.success(chalk`Code is written into {bold.blue ${path.relative(process.cwd(), CODEGEN_OUTPUT_FILE)}}!`) -} - -main().catch((err) => { - consola.fatal(err) - process.exit(1) -}) +import { Schema, SchemaTypeDefinition } from '@iroha2/data-model-schema' +import { P, match } from 'ts-pattern' +import invariant from 'tiny-invariant' +import { camelCase } from 'change-case' + +export function generate(schema: Schema): string { + const transformed = transform(schema) + transformed.sort((a, b) => (a.id < b.id ? -1 : a.id === b.id ? 0 : 1)) + + return [`import * as lib from './generated-prelude'`, ...transformed.map((x) => generateSingleEntry(x))].join('\n') +} + +type ActualCodegenSchema = CodegenEntry[] + +type CodegenEntry = { id: string } & ( + | { + t: 'enum' + /** + * Whether this enum should be "boxed" in order to workaround circular + * reference issues in TypeScript in the generated code + */ + box: boolean + variants: CodegenEnumVariant[] + } + | { t: 'struct'; fields: { name: string; type: TypeIdent }[] } + | { t: 'struct-gen'; genericsCount: number; fields: { name: string; type: GenericTypeIdent }[] } + | { t: 'array'; item: TypeIdent; len: number } + | { t: 'bitmap'; repr: 'u32'; masks: { name: string; mask: number }[] } + | { t: 'alias'; to: TypeIdent } +) + +type CodegenEnumVariant = + | { t: 'unit'; tag: string; discriminant: number } + | { t: 'with-type'; tag: string; discriminant: number; type: TypeIdent } + +/** + * Identifier of a type, either a local one or from the "library" + */ +type TypeIdent = + | { t: 'ref'; id: string; generics?: TypeIdent[] } + | { t: 'lib'; id: LibCodec; generics?: TypeIdent[] } + | { t: 'lib-array'; len: number; item: TypeIdent } + +type GenericTypeIdent = TypeIdent | { t: 'gen'; genericIndex: number } + +/** + * Apply a number of transformations to the schema: + * + * - Remove useless aliases (e.g. `bool` -> `bool`, void types, etc), + * - Expand some "newtype"-aliases to structs with a named field + * - Remove integer definitions + * - De-monomorphisation of generic containers + * - Simplify `GenericPredicateBox` to just `PredicateBox` + * - Replace `HashOf` with `Hash` + * - Replace `SignatureOf` with `Signature` + * - Make `BlockSubscriptionRequest` a struct, not an alias + * - Make `Duration` a struct, not a tuple + * - Handle stringified array definitions + * - Expand some types to _special_ ones, such as `JsonString` and `NonZero` integers + * - Fix `Compact` to just `Compact` + */ +function transform(schema: Schema): ActualCodegenSchema { + const items: ActualCodegenSchema = [ + ...['Register', 'Unregister'].map( + (id): CodegenEntry => ({ + t: 'struct-gen', + id, + genericsCount: 1, + fields: [{ name: 'object', type: { t: 'gen', genericIndex: 0 } }], + }), + ), + ...['SetKeyValue', 'RemoveKeyValue'].map( + (id): CodegenEntry => ({ + t: 'struct-gen', + id, + genericsCount: 1, + fields: [ + { name: 'object', type: { t: 'gen', genericIndex: 0 } }, + { name: 'key', type: { t: 'lib', id: 'codecs.String' } }, + { name: 'value', type: { t: 'ref', id: 'MetadataValueBox' } }, + ], + }), + ), + ...['Mint', 'Burn', 'Grant', 'Revoke'].map( + (id): CodegenEntry => ({ + t: 'struct-gen', + id, + genericsCount: 2, + fields: [ + { name: 'object', type: { t: 'gen', genericIndex: 0 } }, + { name: 'destination', type: { t: 'gen', genericIndex: 1 } }, + ], + }), + ), + { + t: 'struct-gen', + id: 'Transfer', + genericsCount: 3, + fields: [ + { name: 'source', type: { t: 'gen', genericIndex: 0 } }, + { name: 'object', type: { t: 'gen', genericIndex: 1 } }, + { name: 'destination', type: { t: 'gen', genericIndex: 2 } }, + ], + }, + { + t: 'struct-gen', + id: 'MetadataChanged', + genericsCount: 1, + fields: [ + { name: 'target', type: { t: 'gen', genericIndex: 0 } }, + { name: 'key', type: { t: 'lib', id: 'codecs.String' } }, + { name: 'value', type: { t: 'ref', id: 'MetadataValueBox' } }, + ], + }, + { + t: 'struct', + id: 'BlockSignature', + fields: [ + { name: 'peer_topology_index', type: { t: 'lib', id: 'codecs.U64' } }, + { name: 'payload', type: { t: 'ref', id: 'BlockPayload' } }, + ], + }, + { + t: 'struct', + id: 'BlockSubscriptionRequest', + fields: [ + { + name: 'from_block_height', + type: transformIdent('NonZero'), + }, + ], + }, + { + t: 'struct', + id: 'Duration', + fields: [ + // TODO: check if correct + { + name: 'secs', + type: { t: 'lib', id: 'codecs.U64' }, + }, + { + name: 'nanos', + type: { t: 'lib', id: 'codecs.U32' }, + }, + ], + }, + { + t: 'struct', + id: 'EventSubscriptionRequest', + fields: [{ name: 'filters', type: transformIdent('Vec') }], + }, + { + t: 'struct-gen', + id: 'SemiInterval', + genericsCount: 1, + fields: [ + { name: 'start', type: { t: 'gen', genericIndex: 0 } }, + { name: 'limit', type: { t: 'gen', genericIndex: 0 } }, + ], + }, + { + t: 'alias', + id: 'Metadata', + to: transformIdent('Map'), + }, + ] + + const NULL_TYPES = new Set( + Object.entries(schema) + .filter(([_, right]) => right === null) + .map(([id]) => id), + ) + + const IGNORE = new Set([...NULL_TYPES, ...items.map((x) => x.id)]) + + for (const [key, value] of Object.entries(schema)) { + if (IGNORE.has(parseIdent(key).id)) continue + items.push(...transformDefinition(key, value, NULL_TYPES)) + } + + return items +} + +function transformDefinition(name: string, item: SchemaTypeDefinition, nullTypes: Set): CodegenEntry[] { + const id = transformIdent(name) + + // has been resolved to a lib type, can exclude from schema + if (id.t === 'lib' || id.t === 'lib-array') return [] + + return match([id, item]) + .returnType() + .with([{ generics: P.array() }, P._], () => { + throw new Error(`don't know how to transform the definition of "${name}"`) + }) + .with([{ id: 'NonTrivial' }, 'Vec>'], () => [ + { + t: 'alias', + id: 'NonTrivial', + to: transformIdent('Vec'), + }, + ]) + .with([{ id: 'WasmSmartContract' }, 'Vec'], ([{ id }]) => [ + { + t: 'struct', + id, + fields: [{ name: 'blob', type: { t: 'lib', id: 'codecs.BytesVec' } }], + }, + ]) + .with([{ id: 'IpfsPath' }, 'String'], ([{ id }]) => [ + { + t: 'struct', + id, + fields: [{ name: 'path', type: { t: 'lib', id: 'codecs.String' } }], + }, + ]) + .with([P._, { Struct: P._ }], ([{ id }, { Struct: fields }]) => { + return [ + { + t: 'struct', + id, + fields: fields.map((x) => ({ + name: x.name, + type: transformIdent(x.type), + })), + } satisfies CodegenEntry, + ] + }) + .with([P._, { Enum: P._ }], ([{ id }, { Enum: variants }]) => { + const box = match(id) + .with( + P.union('PredicateBox', 'QueryOutputPredicate', 'QueryOutputBox', 'MetadataValueBox', 'InstructionBox'), + () => true, + ) + .otherwise(() => false) + + return [ + { + t: 'enum', + id, + box, + variants: variants.map((x) => + match(x) + .returnType() + .with({ type: P.when((x) => x && nullTypes.has(x)) }, ({ discriminant, tag }) => ({ + t: 'unit', + discriminant, + tag, + })) + .with({ type: P.string }, ({ type, discriminant, tag }) => ({ + t: 'with-type', + type: transformIdent(type), + tag, + discriminant, + })) + .otherwise(({ discriminant, tag }) => ({ + t: 'unit', + discriminant, + tag, + })), + ), + } satisfies CodegenEntry, + ] + }) + .with( + [P._, { Bitmap: { repr: 'u32' } }], + ([ + { id }, + { + Bitmap: { masks }, + }, + ]) => [ + { + t: 'bitmap', + id, + repr: 'u32', + masks, + }, + ], + ) + .with([P._, P.string], ([type, aliasTo]) => { + const aliasParsed = transformIdent(aliasTo) + + if (aliasParsed.t === 'ref' && !aliasParsed.generics && aliasParsed.id === type.id) + // it is a redundant self-alias. hard to formulate "why"... just is + return [] + + return [ + { + t: 'alias', + id: type.id, + to: aliasParsed, + }, + ] + }) + .otherwise((what) => { + console.log(what) + throw new Error(`unexpected format of type "${name}"`) + }) +} + +/** + * Single transform logic for all type names + */ +function transformIdent(id: string | Ident): TypeIdent { + return match(typeof id === 'string' ? parseIdent(id) : id) + .returnType() + .with({ id: 'HashOf', items: [P.any] }, () => ({ t: 'ref', id: 'Hash' })) + .with( + P.union( + { id: 'TransactionSignature', items: [] }, + { id: 'QuerySignature', items: [] }, + { id: 'SignatureOf', items: [P.any] }, + ), + () => ({ + t: 'ref', + id: 'Signature', + }), + ) + .with({ id: 'NonTrivial', items: [P._] }, () => ({ t: 'ref', id: 'NonTrivial' })) + .with( + { id: P.union('BatchedResponse', 'BatchedResponseV1'), items: [{ id: 'QueryOutputBox', items: [] }] }, + ({ id }) => ({ t: 'ref', id }), + ) + .with({ id: 'MerkleTree', items: [{ id: 'SignedTransaction', items: [] }] }, () => transformIdent('Vec')) + .with({ id: 'BlockMessage', items: [] }, () => ({ t: 'ref', id: 'SignedBlock' })) + .with({ id: P.union('SortedMap', 'Map'), items: [P._, P._] }, ({ items: [key, value] }) => ({ + t: 'lib', + id: 'codecs.Map', + generics: [transformIdent(key), transformIdent(value)], + })) + .with({ id: 'NonZero', items: [{ id: P.union('u32', 'u64').select() }] }, (int) => ({ + t: 'lib', + id: 'codecs.NonZero', + generics: [{ t: 'lib', id: `codecs.${upcase(int)}` }], + })) + .with({ id: 'Vec', items: [{ id: 'u8', items: [] }] }, () => ({ t: 'lib', id: 'codecs.BytesVec' })) + .with({ id: P.union('SortedVec', 'Vec'), items: [P.select()] }, (item) => ({ + t: 'lib', + id: 'codecs.Vec', + generics: [transformIdent(item)], + })) + .with({ id: 'Option', items: [P.select()] }, (some) => ({ + t: 'lib', + id: 'codecs.Option', + generics: [transformIdent(some)], + })) + .with({ id: 'TimeEventFilter', items: [] }, () => ({ t: 'ref', id: 'ExecutionTime' })) + .with({ id: 'Mismatch', items: [{ id: 'AssetValueType' }] }, () => ({ t: 'ref', id: 'AssetValueTypeMismatch' })) + .with( + { id: 'Transfer', items: [{ items: [] }, { items: [] }, { items: [] }] }, + ({ items: [{ id: source }, { id: object }, { id: destination }] }) => ({ + t: 'ref', + id: 'Transfer', + generics: [source + 'Id', object, destination + 'Id'].map((id) => transformIdent(id)), + }), + ) + .with( + { + id: P.union('Mint', 'Burn', 'Grant', 'Revoke').select('isi'), + items: [ + { items: [], id: P.select('object') }, + { items: [], id: P.select('destination') }, + ], + }, + ({ isi, object, destination }) => ({ + t: 'ref', + id: isi, + generics: [object, destination + 'Id'].map((id) => transformIdent(id)), + }), + ) + .with({ id: 'MetadataChanged', items: [{ id: P.select(), items: [] }] }, (id) => ({ + t: 'ref', + id: 'MetadataChanged', + generics: [{ t: 'ref', id }], + })) + .with( + { id: P.union('SetKeyValue', 'RemoveKeyValue').select('isi'), items: [{ items: [], id: P.select('id') }] }, + ({ isi, id }) => ({ + t: 'ref', + id: isi, + generics: [{ t: 'ref', id }], + }), + ) + .with( + { + id: 'Register', + items: [{ id: P.union('Domain', 'AssetDefinition', 'Account', 'Role').select('object'), items: [] }], + }, + ({ object }) => ({ + t: 'ref', + id: 'Register', + generics: [{ t: 'ref', id: `New${object}` }], + }), + ) + .with({ id: 'Register', items: [{ id: P.select('object'), items: [] }] }, ({ object }) => ({ + t: 'ref', + id: 'Register', + generics: [{ t: 'ref', id: object }], + })) + .with({ id: 'Unregister', items: [{ id: P.select('object'), items: [] }] }, ({ object }) => ({ + t: 'ref', + id: 'Unregister', + generics: [{ t: 'ref', id: `${object}Id` }], + })) + .with({ id: 'GenericPredicateBox', items: [{ id: 'QueryOutputPredicate', items: [] }] }, () => ({ + t: 'ref', + id: 'PredicateBox', + })) + .with({ id: 'EventMessage', items: [] }, () => ({ t: 'ref', id: 'EventBox' })) + .with({ id: 'Compact' }, () => ({ t: 'lib', id: 'codecs.Compact' })) + .with({ id: 'bool' }, () => ({ t: 'lib', id: 'codecs.Bool' })) + .with({ id: P.union('Name', 'ChainId', 'String'), items: [] }, () => ({ t: 'lib', id: 'codecs.String' })) + .with({ id: P.union('u8', 'u16', 'u32', 'u64', 'u128') }, ({ id }) => ({ + t: 'lib', + id: `codecs.${id.toUpperCase() as Uppercase}`, + })) + .with({ id: 'JsonString', items: [] }, () => ({ t: 'lib', id: 'codecs.Json' })) + .with({ id: 'Array', items: [P._, { items: [] }] }, ({ items: [item, { id: lenStr }] }) => { + const len = Number(lenStr) + invariant(!Number.isNaN(len)) + return { + t: 'lib-array', + item: transformIdent(item), + len, + } satisfies TypeIdent + }) + .otherwise(({ id, items }) => { + return { t: 'ref', id, generics: items.length ? items.map(transformIdent) : undefined } + }) +} + +function generateIdent(ident: TypeIdent): { + /** type-layer, `T` */ + type: string + /** value that has type `Codec` */ + codec: string +} { + return match(ident) + .returnType<{ type: string; codec: string }>() + .with({ t: 'ref', generics: P.array() }, ({ id, generics }) => { + return { + type: id + `<${generics.map((x) => generateIdent(x).type).join(', ')}>`, + codec: libItem('toCodec') + `(() => ${id}.with(${generics.map((x) => generateIdent(x).codec).join(', ')}))`, + } + }) + .with({ t: 'ref' }, ({ id }) => ({ + type: id, + codec: `${libItem('toCodec')}(() => ${id})`, + })) + .with({ t: 'lib-array' }, ({ item, len }) => ({ + type: libItem('codecs.Array') + `<${generateIdent(item).type}>`, + codec: libItem('codecs.Array') + `.with(${generateIdent(item).codec}, ${len})`, + })) + .with({ t: 'lib', generics: P.array() }, ({ id, generics }) => { + return { + type: libItem(id) + `<${generics.map((x) => generateIdent(x).type).join(', ')}>`, + codec: libItem(id) + `.with(${generics.map((x) => generateIdent(x).codec).join(', ')})`, + } + }) + .with({ t: 'lib' }, ({ id }) => ({ + type: libItem(id), + codec: libItem('toCodec') + `(${libItem(id)})`, + })) + .exhaustive() +} + +function generateSingleEntry(item: CodegenEntry): string { + return match(item) + .returnType() + .with({ t: 'enum' }, ({ variants, box: isEnumBox }) => { + const actualEnumType = isEnumBox ? `${item.id}['enum']` : item.id + + const parsed = variants.map((variant) => + match(variant) + .with({ t: 'with-type' }, ({ tag, type, discriminant }) => { + const typeGen = generateIdent(type) + const inTypeDef = `${tag}: [${typeGen.type}]` + const doc = `Produce \`${tag}\` enum variant` + const createVariant = `${libItem('variant')}('${tag}', value)` + const asConstructor = + `/** ${doc} */ ` + + `${tag}: (value: ${typeGen.type}): ${item.id} => ` + + (isEnumBox ? `({ enum: ${createVariant} })` : createVariant) + const codec = `[${discriminant}, '${tag}', ${typeGen.codec}]` + return { inTypeDef, asConstructor, codec } + }) + .otherwise(({ tag, discriminant }) => { + const inTypeDef = `${tag}: []` + const doc = `\`${tag}\` enum variant` + const createVariant = `${libItem('variant')}<${actualEnumType}>('${tag}')` + const asConstructor = `/** ${doc} */ ${tag}: ` + (isEnumBox ? `{ enum: ${createVariant} }` : createVariant) + const codec = `[${discriminant}, '${tag}']` + return { inTypeDef, asConstructor, codec } + }), + ) + + const constructors = parsed.map((x) => x.asConstructor).join(', ') + + const codec = `${libItem('enumCodec')}<${actualEnumType}>([${parsed.map((x) => x.codec).join(', ')}])` + const codecMaybeBoxed = isEnumBox ? libItem('boxEnumCodec') + `(${codec})` : codec + + const typeEnumerate = libItem('Enumerate') + `<{ ${parsed.map((x) => x.inTypeDef).join(', ')} }>` + const type = isEnumBox ? `{ enum: ${typeEnumerate} }` : typeEnumerate + const maybeValueType = isEnumBox ? `: ${libItem('EnumBoxValue')}<${item.id}>` : '' + + return [ + `export type ${item.id} = ${type}`, + `export const ${item.id}${maybeValueType} = { ${constructors}, [${libItem('symbolCodec')}]: ${codecMaybeBoxed} }`, + ] + }) + .with({ t: 'struct' }, ({ fields }) => { + const typeFields = fields.map((x) => `${camelCase(x.name)}: ${generateIdent(x.type).type};`).join(' ') + const codecFieldsSeparate = fields.map((x) => `['${camelCase(x.name)}', ${generateIdent(x.type).codec}]`) + const codecFields = `[${codecFieldsSeparate.join(', ')}]` + + return [ + `export type ${item.id} = { ${typeFields} }`, + `export const ${item.id} = ` + + libItem('wrapCodec') + + `<${item.id}>(` + + libItem('structCodec') + + `(${codecFields}))`, + ] + }) + .with({ t: 'bitmap', repr: 'u32' }, ({ id, masks }) => { + const repr = generateIdent({ t: 'lib', id: 'codecs.U32' }) + + const namedMasks = masks + .map(({ name, mask }) => { + const doc = `\`${name}\` event bitmask. Use \`|\` to combine with other {@link ${id}} bitmasks.` + return `/** ${doc} */ ${name}: ${mask}` + }) + .join(', ') + + return [ + // TODO: make opaque? + `export type ${id} = ${repr.type}`, + `export const ${id} = { ${namedMasks}, [${libItem('symbolCodec')}]: ${repr.codec} }`, + ] + }) + .with({ t: 'struct-gen' }, ({ genericsCount, fields }) => { + const genericsTypes = Array.from({ length: genericsCount }, (v, i) => `T${i}`).join(', ') + const genericsPart = `<${genericsTypes}>` + const typeFields = fields + .map(({ name, type }) => { + return ( + `${camelCase(name)}: ` + + match(type) + .with({ t: 'gen' }, ({ genericIndex }) => `T${genericIndex}`) + .otherwise((type) => generateIdent(type).type) + ) + }) + .join(', ') + + const schemaItems = fields.map(({ name, type }) => { + const codec = match(type) + .with({ t: 'gen' }, ({ genericIndex: i }) => `codec${i}`) + .otherwise((x) => generateIdent(x).codec) + return `['${camelCase(name)}', ${codec}]` + }) + const withFnBody = `return ${libItem('structCodec')}([${schemaItems.join(', ')}])` + + const withFnArgs = Array.from({ length: genericsCount }, (v, i) => `codec${i}: ${libItem('Codec')}`) + + const withFn = `${genericsPart}(${withFnArgs}): ${libItem('Codec')}<${ + item.id + }${genericsPart}> => { ${withFnBody} }` + + return [ + `export type ${item.id}${genericsPart} = { ${typeFields} }`, + `export const ${item.id} = { with: ${withFn} }`, + ] + }) + .with({ t: 'array' }, ({ id, item, len }) => { + const { type, codec } = generateIdent(item) + + return [ + `export type ${id} = ${type}[]`, + `export const ${id} = ${libItem('wrapCodec')}<${id}>(${libItem('codecs.Array')}.with(${codec}, ${len}))`, + ] + }) + .with({ t: 'alias' }, ({ id, to }) => { + return [ + `export type ${id} = ${generateIdent(to).type}`, + `export const ${id} = ${libItem('wrapCodec')}<${id}>(${generateIdent(to).codec})`, + ] + }) + .exhaustive() + .join('\n') +} + +type LibItem = + | 'boxEnumCodec' + | 'wrapCodec' + | 'Enumerate' + | 'variant' + | `${'enum' | 'struct'}Codec` + | 'toCodec' + | `codecs.${'BytesVec' | 'String' | 'U8' | 'U16' | 'U32' | 'U64' | 'U128' | 'NonZero' | 'Option' | 'Compact' | 'Vec' | 'Map' | 'Array' | 'Json' | 'Bool'}` + | 'Codec' + | 'symbolCodec' + | 'EnumBoxValue' + +type LibCodec = LibItem & `codecs.${string}` + +function libItem(item: T): string { + return `lib.${item}` +} + +function upcase(s: S): Uppercase { + return s.toUpperCase() as Uppercase +} + +/** + * Structured model of an identifier, e.g. `Map>` + */ +interface Ident { + id: string + items: Ident[] +} + +function parseIdent(src: string): Ident { + const ROOT = '__root__' + const stack: Ident[] = [{ id: ROOT, items: [] }] + + for (const [token] of src.matchAll(/(<|>|[\w_]+)/gi)) { + if (token === '<') { + const lastItem = stack.at(-1)?.items.at(-1) + invariant(lastItem, 'should be') + stack.push(lastItem) + } else if (token === '>') { + invariant(stack.pop(), 'should be') + } else { + const head = stack.at(-1) + invariant(head, 'should be') + head.items.push({ id: token, items: [] }) + } + } + + return match(stack) + .with([{ id: ROOT, items: [P.select()] }], (trueRoot) => trueRoot) + .otherwise((x) => { + console.error('bad state:', x) + throw new Error('Bad state') + }) +} diff --git a/packages/data-model/etc/codegen/index.ts b/packages/data-model/etc/codegen/index.ts deleted file mode 100644 index 79d9e4ed..00000000 --- a/packages/data-model/etc/codegen/index.ts +++ /dev/null @@ -1,700 +0,0 @@ -import { Schema } from '@iroha2/data-model-schema' -import { P, match } from 'ts-pattern' -import invariant from 'tiny-invariant' -import { camelCase } from 'change-case' - -export function generate(schema: Schema): string { - const transformed = transform(schema) - transformed.sort((a, b) => (a.id < b.id ? -1 : a.id === b.id ? 0 : 1)) - - return [`import * as lib from './generated-prelude'`, ...transformed.map((x) => generateSingleEntry(x))].join('\n') -} - -/** - * Apply a number of transformations to the schema: - * - * - Remove useless aliases (e.g. `bool` -> `bool`, void types, etc), - * - Expand some "newtype"-aliases to structs with a named field - * - Remove integer definitions - * - De-monomorphisation of generic containers - * - Simplify `GenericPredicateBox` to just `PredicateBox` - * - Replace `HashOf` with `Hash` - * - Replace `SignatureOf` with `Signature` - * - Make `BlockSubscriptionRequest` a struct, not an alias - * - Make `Duration` a struct, not a tuple - * - Handle stringified array definitions - * - Expand some types to _special_ ones, such as `JsonString` and `NonZero` integers - * - Fix `Compact` to just `Compact` - */ -function transform(schema: Schema): ActualCodegenSchema { - const items: ActualCodegenSchema = [ - ...['Register', 'Unregister'].map( - (id): CodegenEntry => ({ - t: 'struct-gen', - id, - genericsCount: 1, - fields: [{ name: 'object', type: { t: 'gen', genericIndex: 0 } }], - }), - ), - ...['SetKeyValue', 'RemoveKeyValue'].map( - (id): CodegenEntry => ({ - t: 'struct-gen', - id, - genericsCount: 1, - fields: [ - { name: 'object', type: { t: 'gen', genericIndex: 0 } }, - { name: 'key', type: { t: 'lib', id: 'codecs.String' } }, - { name: 'value', type: { t: 'ref', id: 'MetadataValueBox' } }, - ], - }), - ), - ...['Mint', 'Burn', 'Grant', 'Revoke'].map( - (id): CodegenEntry => ({ - t: 'struct-gen', - id, - genericsCount: 2, - fields: [ - { name: 'object', type: { t: 'gen', genericIndex: 0 } }, - { name: 'destination', type: { t: 'gen', genericIndex: 1 } }, - ], - }), - ), - { - t: 'struct-gen', - id: 'Transfer', - genericsCount: 3, - fields: [ - { name: 'source', type: { t: 'gen', genericIndex: 0 } }, - { name: 'object', type: { t: 'gen', genericIndex: 1 } }, - { name: 'destination', type: { t: 'gen', genericIndex: 2 } }, - ], - }, - { - t: 'struct-gen', - id: 'MetadataChanged', - genericsCount: 1, - fields: [ - { name: 'target', type: { t: 'gen', genericIndex: 0 } }, - { name: 'key', type: { t: 'lib', id: 'codecs.String' } }, - { name: 'value', type: { t: 'ref', id: 'MetadataValueBox' } }, - ], - }, - { - t: 'struct', - id: 'BlockSignature', - fields: [ - { name: 'peer_topology_index', type: { t: 'lib', id: 'codecs.U64' } }, - { name: 'payload', type: { t: 'ref', id: 'BlockPayload' } }, - ], - }, - { - t: 'struct', - id: 'BlockSubscriptionRequest', - fields: [ - { - name: 'from_block_height', - type: transformIdent('NonZero'), - }, - ], - }, - { - t: 'struct', - id: 'Duration', - fields: [ - // TODO: check if correct - { - name: 'secs', - type: { t: 'lib', id: 'codecs.U64' }, - }, - { - name: 'nanos', - type: { t: 'lib', id: 'codecs.U32' }, - }, - ], - }, - { - t: 'struct', - id: 'EventSubscriptionRequest', - fields: [{ name: 'filters', type: transformIdent('Vec') }], - }, - { - t: 'struct', - id: 'AssetValueTypeMismatch', - fields: [ - { name: 'expexted', type: { t: 'ref', id: 'AssetValueType' } }, - { name: 'actual', type: { t: 'ref', id: 'AssetValueType' } }, - ], - }, - { - t: 'struct-gen', - id: 'SemiInterval', - genericsCount: 1, - fields: [ - { name: 'start', type: { t: 'gen', genericIndex: 0 } }, - { name: 'limit', type: { t: 'gen', genericIndex: 0 } }, - ], - }, - { - t: 'alias', - id: 'Metadata', - to: transformIdent('Map'), - }, - ] - - const NULL_TYPES = new Set( - Object.entries(schema) - .filter(([_, right]) => right === null) - .map(([id]) => id), - ) - - const IGNORE = new Set([ - ...NULL_TYPES, - - // already redefined types - ...items.map((x) => x.id), - - 'TransactionSignature', - 'MerkleTree', - 'Array', - 'BlockMessage', - 'BlockSubscriptionRequest', - 'Vec', - 'Duration', - 'JsonString', - 'ChainId', - 'Compact', - 'EventMessage', - 'EventSubscriptionRequest', - 'SortedVec', - 'HashOf', - 'SignatureOf', - 'Name', - 'NonZero', - 'Option', - 'QuerySignature', - 'SemiInterval', - 'SortedMap', - 'String', - 'TimeEventFilter', - 'bool', - 'u128', - 'u64', - 'u32', - 'u16', - 'u8', - 'JsonString', - - // replaced with a single `AssetValueTypeMismatch` - 'Mismatch', - ]) - - for (const [key, value] of Object.entries(schema)) { - const keyParsed = parseIdent(key) - - match([keyParsed, value]) - .with([{ id: P.when((x) => IGNORE.has(x)) }, P._], () => { - // ignoring - }) - .with([{ id: 'NonTrivial', items: [P._] }, 'Vec>'], () => { - items.push({ - t: 'alias', - id: 'NonTrivial', - to: transformIdent('Vec'), - }) - }) - .with([{ id: 'WasmSmartContract', items: [] }, 'Vec'], ([{ id }]) => { - items.push({ t: 'struct', id, fields: [{ name: 'blob', type: { t: 'lib', id: 'codecs.BytesVec' } }] }) - }) - .with([{ id: 'IpfsPath', items: [] }, 'String'], ([{ id }]) => { - items.push({ t: 'struct', id, fields: [{ name: 'path', type: { t: 'lib', id: 'codecs.String' } }] }) - }) - .with([{ id: 'BatchedResponse', items: [{ id: 'QueryOutputBox' }] }, P._], () => { - // TODO just to BatchedResponseV1 - }) - .with([{ id: 'BatchedResponseV1', items: [{ id: 'QueryOutputBox' }] }, P._], () => { - // TODO just struct as struct, without content change - }) - // arrays - .with( - [{ items: [] }, P.string.and(P.when((rawStr: string) => !!tryParseArray(rawStr)))], - ([{ id }, rawArray]) => { - // match() - const { item, len } = tryParseArray(rawArray)! - match(item) - - items.push({ - t: 'array', - id, - item: transformIdent(item), - len, - }) - }, - ) - .with([{ items: [] }, { Struct: P._ }], ([{ id }, { Struct: fields }]) => { - items.push({ - t: 'struct', - id, - fields: fields.map((x) => ({ - name: x.name, - type: transformIdent(x.type), - })), - }) - }) - .with( - [P.union({ items: [] }, { id: 'GenericPredicateBox' }), { Enum: P._ }], - ([{ id: idRaw }, { Enum: variants }]) => { - const { id, box } = match(idRaw) - .with('GenericPredicateBox', () => ({ id: 'PredicateBox', box: true })) - .with(P.union('QueryOutputPredicate', 'QueryOutputBox', 'MetadataValueBox', 'InstructionBox'), (id) => ({ - id, - box: true, - })) - .otherwise((id) => ({ id, box: false })) - - items.push({ - t: 'enum', - id, - box, - variants: variants.map((x) => - match(x) - .returnType() - .with({ type: P.when((x) => x && NULL_TYPES.has(x)) }, ({ discriminant, tag }) => ({ - t: 'unit', - discriminant, - tag, - })) - .with({ type: P.string }, ({ type, discriminant, tag }) => ({ - t: 'with-type', - type: transformIdent(type), - tag, - discriminant, - })) - .otherwise(({ discriminant, tag }) => ({ - t: 'unit', - discriminant, - tag, - })), - ), - }) - }, - ) - .with( - [{ items: [] }, { Bitmap: { repr: 'u32' } }], - ([ - { id }, - { - Bitmap: { masks }, - }, - ]) => { - items.push({ - t: 'bitmap', - id, - repr: 'u32', - masks, - }) - }, - ) - .otherwise(() => { - throw new Error(`unexpected format of type "${key}"`) - }) - } - - return items -} - -function tryParseArray(id: string): null | { item: Ident; len: number } { - return match(parseIdent(id)) - .with({ id: 'Array', items: [P.select('item'), { id: P.select('len'), items: [] }] }, ({ item, len: lenStr }) => { - const len = Number(lenStr) - invariant(!Number.isNaN(len)) - return { item, len } - }) - .otherwise(() => null) -} - -/** - * Single transform logic for all type names - */ -function transformIdent(id: string | Ident): TypeIdent { - return match(typeof id === 'string' ? parseIdent(id) : id) - .returnType() - .with({ id: 'HashOf', items: [P.any] }, () => ({ t: 'ref', id: 'Hash' })) - .with( - P.union( - { id: 'TransactionSignature', items: [] }, - { id: 'QuerySignature', items: [] }, - { id: 'SignatureOf', items: [P.any] }, - ), - () => ({ - t: 'ref', - id: 'Signature', - }), - ) - .with({ id: 'NonTrivial', items: [P._] }, () => ({ t: 'ref', id: 'NonTrivial' })) - .with({ id: 'MerkleTree', items: [{ id: 'SignedTransaction', items: [] }] }, () => transformIdent('Vec')) - .with({ id: 'BlockMessage', items: [] }, () => ({ t: 'ref', id: 'SignedBlock' })) - .with({ id: P.union('SortedMap', 'Map'), items: [P._, P._] }, ({ items: [key, value] }) => ({ - t: 'lib', - id: 'codecs.Map', - generics: [transformIdent(key), transformIdent(value)], - })) - .with({ id: 'NonZero', items: [{ id: P.union('u32', 'u64').select() }] }, (kind) => ({ - t: 'lib', - id: 'codecs.NonZero', - generics: [{ t: 'lib', id: `codecs.${upcase(kind)}` }], - })) - .with({ id: 'Vec', items: [{ id: 'u8', items: [] }] }, () => ({ t: 'lib', id: 'codecs.BytesVec' })) - .with({ id: P.union('SortedVec', 'Vec'), items: [P.select()] }, (item) => ({ - t: 'lib', - id: 'codecs.Vec', - generics: [transformIdent(item)], - })) - .with({ id: 'Option', items: [P.select()] }, (some) => ({ - t: 'lib', - id: 'codecs.Option', - generics: [transformIdent(some)], - })) - .with({ id: 'TimeEventFilter', items: [] }, () => ({ t: 'ref', id: 'ExecutionTime' })) - .with({ id: 'Mismatch', items: [{ id: 'AssetValueType' }] }, () => ({ t: 'ref', id: 'AssetValueTypeMismatch' })) - .with( - { id: 'Transfer', items: [{ items: [] }, { items: [] }, { items: [] }] }, - ({ items: [{ id: source }, { id: object }, { id: destination }] }) => ({ - t: 'ref', - id: 'Transfer', - generics: [source + 'Id', object, destination + 'Id'].map((id) => transformIdent(id)), - }), - ) - .with( - { - id: P.union('Mint', 'Burn', 'Grant', 'Revoke').select('isi'), - items: [ - { items: [], id: P.select('object') }, - { items: [], id: P.select('destination') }, - ], - }, - ({ isi, object, destination }) => ({ - t: 'ref', - id: isi, - generics: [object, destination + 'Id'].map((id) => transformIdent(id)), - }), - ) - .with({ id: 'MetadataChanged', items: [{ id: P.select(), items: [] }] }, (id) => ({ - t: 'ref', - id: 'MetadataChanged', - generics: [{ t: 'ref', id }], - })) - .with( - { id: P.union('SetKeyValue', 'RemoveKeyValue').select('isi'), items: [{ items: [], id: P.select('id') }] }, - ({ isi, id }) => ({ - t: 'ref', - id: isi, - generics: [{ t: 'ref', id }], - }), - ) - .with( - { id: P.union('Register', 'Unregister').select('isi'), items: [{ id: P.select('id'), items: [] }] }, - ({ isi, id }) => ({ - t: 'ref', - id: isi, - generics: [ - { - t: 'ref', - id: match(isi) - .with('Unregister', () => `${id}Id`) - .otherwise(() => id), - }, - ], - }), - ) - .with({ id: 'SemiInterval', items: [P._] }, ({ items: [item] }) => ({ - t: 'ref', - id: 'SemiInterval', - generics: [transformIdent(item)], - })) - .with({ id: 'GenericPredicateBox', items: [{ id: 'QueryOutputPredicate', items: [] }] }, () => ({ - t: 'ref', - id: 'PredicateBox', - })) - .with({ id: 'EventMessage', items: [] }, () => ({ t: 'ref', id: 'EventBox' })) - .with({ id: 'Compact' }, () => ({ t: 'lib', id: 'codecs.Compact' })) - .with({ id: 'bool' }, () => ({ t: 'lib', id: 'codecs.Bool' })) - .with({ id: P.union('Name', 'ChainId', 'String'), items: [] }, () => ({ t: 'lib', id: 'codecs.String' })) - .with({ id: P.union('u8', 'u16', 'u32', 'u64', 'u128') }, ({ id }) => ({ - t: 'lib', - id: `codecs.${id.toUpperCase() as Uppercase}`, - })) - .with({ id: 'JsonString', items: [] }, () => ({ t: 'lib', id: 'codecs.Json' })) - .with({ id: P.select(), items: [] }, (id) => ({ t: 'ref', id })) - .otherwise(() => { - throw new Error(`unexpected type identifier: ${id}`) - }) -} - -type ActualCodegenSchema = CodegenEntry[] - -type CodegenEntry = { id: string } & ( - | { - t: 'enum' - /** - * Whether this enum should be "boxed" in order to workaround circular - * reference issues in TypeScript in the generated code - */ - box: boolean - variants: CodegenEnumVariant[] - } - | { t: 'struct'; fields: { name: string; type: TypeIdent }[] } - | { t: 'struct-gen'; genericsCount: number; fields: { name: string; type: GenericTypeIdent }[] } - | { t: 'array'; item: TypeIdent; len: number } - | { t: 'bitmap'; repr: 'u32'; masks: { name: string; mask: number }[] } - | { t: 'alias'; to: TypeIdent } -) - -type CodegenEnumVariant = - | { t: 'unit'; tag: string; discriminant: number } - | { t: 'with-type'; tag: string; discriminant: number; type: TypeIdent } - -/** - * Identifier of a type, either a local one or from the "library" - */ -type TypeIdent = { t: 'ref'; id: string; generics?: TypeIdent[] } | { t: 'lib'; id: LibCodec; generics?: TypeIdent[] } - -type GenericTypeIdent = TypeIdent | { t: 'gen'; genericIndex: number } - -function generateType(ident: TypeIdent): { - /** type-layer, `T` */ - type: string - /** value that has type `Codec` */ - codec: string -} { - return match(ident) - .returnType<{ type: string; codec: string }>() - .with({ t: 'ref', generics: P.not(P.nullish) }, ({ id, generics }) => { - return { - type: id + `<${generics.map((x) => generateType(x).type).join(', ')}>`, - codec: libItem('toCodec') + `(() => ${id}.with(${generics.map((x) => generateType(x).codec).join(', ')}))`, - } - }) - .with({ t: 'ref' }, ({ id }) => ({ - type: id, - codec: `${libItem('toCodec')}(() => ${id})`, - })) - .with({ t: 'lib', generics: P.not(P.nullish) }, ({ id, generics }) => { - return { - type: libItem(id) + `<${generics.map((x) => generateType(x).type).join(', ')}>`, - codec: libItem(id) + `.with(${generics.map((x) => generateType(x).codec).join(', ')})`, - } - }) - .with({ t: 'lib' }, ({ id }) => ({ - type: libItem(id), - codec: libItem('toCodec') + `(${libItem(id)})`, - })) - .exhaustive() -} - -function generateSingleEntry(item: CodegenEntry): string { - return match(item) - .returnType() - .with({ t: 'enum' }, ({ variants, box: isEnumBox }) => { - const actualEnumType = isEnumBox ? `${item.id}['enum']` : item.id - - const parsed = variants.map((variant) => - match(variant) - .with({ t: 'with-type' }, ({ tag, type, discriminant }) => { - const typeGen = generateType(type) - const inTypeDef = `${tag}: [${typeGen.type}]` - const doc = `Produce \`${tag}\` enum variant` - const createVariant = `${libItem('variant')}('${tag}', value)` - const asConstructor = - `/** ${doc} */ ` + - `${tag}: (value: ${typeGen.type}): ${item.id} => ` + - (isEnumBox ? `({ enum: ${createVariant} })` : createVariant) - const codec = `[${discriminant}, '${tag}', ${typeGen.codec}]` - return { inTypeDef, asConstructor, codec } - }) - .otherwise(({ tag, discriminant }) => { - const inTypeDef = `${tag}: []` - const doc = `\`${tag}\` enum variant` - const createVariant = `${libItem('variant')}<${actualEnumType}>('${tag}')` - const asConstructor = `/** ${doc} */ ${tag}: ` + (isEnumBox ? `{ enum: ${createVariant} }` : createVariant) - const codec = `[${discriminant}, '${tag}']` - return { inTypeDef, asConstructor, codec } - }), - ) - - const constructors = parsed.map((x) => x.asConstructor).join(', ') - - const codec = `${libItem('enumCodec')}<${actualEnumType}>([${parsed.map((x) => x.codec).join(', ')}])` - const codecMaybeBoxed = isEnumBox ? libItem('boxEnumCodec') + `(${codec})` : codec - - const typeEnumerate = libItem('Enumerate') + `<{ ${parsed.map((x) => x.inTypeDef).join(', ')} }>` - const type = isEnumBox ? `{ enum: ${typeEnumerate} }` : typeEnumerate - const maybeValueType = isEnumBox ? `: ${libItem('EnumBoxValue')}<${item.id}>` : '' - - return [ - `export type ${item.id} = ${type}`, - `export const ${item.id}${maybeValueType} = { ${constructors}, [${libItem('symbolCodec')}]: ${codecMaybeBoxed} }`, - ] - }) - .with({ t: 'struct' }, ({ fields }) => { - const typeFields = fields.map((x) => `${camelCase(x.name)}: ${generateType(x.type).type};`).join(' ') - const codecFieldsSeparate = fields.map((x) => `['${camelCase(x.name)}', ${generateType(x.type).codec}]`) - const codecFields = `[${codecFieldsSeparate.join(', ')}]` - - return [ - `export type ${item.id} = { ${typeFields} }`, - `export const ${item.id} = ` + - libItem('wrapCodec') + - `<${item.id}>(` + - libItem('structCodec') + - `(${codecFields}))`, - ] - }) - .with({ t: 'bitmap', repr: 'u32' }, ({ id, masks }) => { - const repr = generateType({ t: 'lib', id: 'codecs.U32' }) - - const namedMasks = masks - .map(({ name, mask }) => { - const doc = `\`${name}\` event bitmask. Use \`|\` to combine with other {@link ${id}} bitmasks.` - return `/** ${doc} */ ${name}: ${mask}` - }) - .join(', ') - - return [ - // TODO: make opaque? - `export type ${id} = ${repr.type}`, - `export const ${id} = { ${namedMasks}, [${libItem('symbolCodec')}]: ${repr.codec} }`, - ] - }) - .with({ t: 'struct-gen' }, ({ genericsCount, fields }) => { - const genericsTypes = Array.from({ length: genericsCount }, (v, i) => `T${i}`).join(', ') - const genericsPart = `<${genericsTypes}>` - const typeFields = fields - .map(({ name, type }) => { - return ( - `${camelCase(name)}: ` + - match(type) - .with({ t: 'gen' }, ({ genericIndex }) => `T${genericIndex}`) - .otherwise((type) => generateType(type).type) - ) - }) - .join(', ') - - const schemaItems = fields.map(({ name, type }) => { - const codec = match(type) - .with({ t: 'gen' }, ({ genericIndex: i }) => `codec${i}`) - .otherwise((x) => generateType(x).codec) - return `['${camelCase(name)}', ${codec}]` - }) - const withFnBody = `return ${libItem('structCodec')}([${schemaItems.join(', ')}])` - - const withFnArgs = Array.from({ length: genericsCount }, (v, i) => `codec${i}: ${libItem('Codec')}`) - - const withFn = `${genericsPart}(${withFnArgs}): ${libItem('Codec')}<${ - item.id - }${genericsPart}> => { ${withFnBody} }` - - return [ - `export type ${item.id}${genericsPart} = { ${typeFields} }`, - `export const ${item.id} = { with: ${withFn} }`, - ] - }) - .with({ t: 'array' }, ({ id, item, len }) => { - const { type, codec } = generateType(item) - - return [ - `export type ${id} = ${type}[]`, - `export const ${id} = ${libItem('wrapCodec')}<${id}>(${libItem('codecs.Array')}.with(${codec}, ${len}))`, - ] - }) - .with({ t: 'alias' }, ({ id, to }) => { - return [ - `export type ${id} = ${generateType(to).type}`, - `export const ${id} = ${libItem('wrapCodec')}<${id}>(${generateType(to).codec})`, - ] - }) - .exhaustive() - .join('\n') -} - -type LibItem = - | 'boxEnumCodec' - | 'wrapCodec' - | 'Enumerate' - | 'variant' - | `${'enum' | 'struct'}Codec` - | 'toCodec' - | `codecs.${'BytesVec' | 'String' | 'U8' | 'U16' | 'U32' | 'U64' | 'U128' | 'NonZero' | 'Option' | 'Compact' | 'Vec' | 'Map' | 'Array' | 'Json' | 'Bool'}` - | 'Codec' - | 'symbolCodec' - | 'EnumBoxValue' - -type LibCodec = LibItem & `codecs.${string}` - -function libItem(item: T): string { - return `lib.${item}` -} - -function upcase(s: S): Uppercase { - return s.toUpperCase() as Uppercase -} - -/** - * Structured model of an identifier, e.g. `Map>` - */ -interface Ident { - id: string - items: Ident[] -} - -function parseIdent(src: string): Ident { - const ROOT = '__root__' - const stack: Ident[] = [{ id: ROOT, items: [] }] - - for (const [token] of src.matchAll(/(<|>|[\w_]+)/gi)) { - if (token === '<') { - const lastItem = stack.at(-1)?.items.at(-1) - invariant(lastItem, 'should be') - stack.push(lastItem) - } else if (token === '>') { - invariant(stack.pop(), 'should be') - } else { - const head = stack.at(-1) - invariant(head, 'should be') - head.items.push({ id: token, items: [] }) - } - } - - return match(stack) - .with([{ id: ROOT, items: [P.select()] }], (trueRoot) => trueRoot) - .otherwise((x) => { - console.error('bad state:', x) - throw new Error('Bad state') - }) -} - -if (import.meta.vitest) { - const { test, expect } = import.meta.vitest - - test('parse ident of `Map>`', () => { - expect(parseIdent(`Map>`)).toMatchInlineSnapshot(` - { - "id": "Map", - "items": [ - { - "id": "Key", - "items": [], - }, - { - "id": "Option", - "items": [ - { - "id": "T", - "items": [], - }, - ], - }, - ], - } - `) - }) -} diff --git a/packages/data-model/etc/meta.ts b/packages/data-model/etc/meta.ts deleted file mode 100644 index 440565be..00000000 --- a/packages/data-model/etc/meta.ts +++ /dev/null @@ -1,6 +0,0 @@ -import path from 'path' -import url from 'url' - -const dirname = url.fileURLToPath(new URL('.', import.meta.url)) - -export const CODEGEN_OUTPUT_FILE = path.resolve(dirname, '../src/__generated__.ts') diff --git a/packages/data-model/package.json b/packages/data-model/package.json index 58938c8a..a0055145 100644 --- a/packages/data-model/package.json +++ b/packages/data-model/package.json @@ -16,9 +16,6 @@ "CHANGELOG.md" ], "license": "Apache 2.0", - "scripts": { - "codegen": "tsx etc/codegen" - }, "dependencies": { "@iroha2/i64-fixnum": "workspace:^0.4.2", "@scale-codec/core": "^2.0.1", diff --git a/packages/data-model/src/__generated__.ts b/packages/data-model/src/__generated__.ts new file mode 100644 index 00000000..0aaaafc9 --- /dev/null +++ b/packages/data-model/src/__generated__.ts @@ -0,0 +1,437 @@ +import * as lib from './generated-prelude' +export type Account = { id: AccountId; assets: lib.codecs.Map; metadata: Metadata; } +export const Account = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['assets', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => Asset))], ['metadata', lib.toCodec(() => Metadata)]])) +export type AccountEvent = lib.Enumerate<{ Asset: [AssetEvent], Created: [Account], Deleted: [AccountId], AuthenticationAdded: [AccountId], AuthenticationRemoved: [AccountId], PermissionAdded: [AccountPermissionChanged], PermissionRemoved: [AccountPermissionChanged], RoleRevoked: [AccountRoleChanged], RoleGranted: [AccountRoleChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> +export const AccountEvent = { /** Produce `Asset` enum variant */ Asset: (value: AssetEvent): AccountEvent => lib.variant('Asset', value), /** Produce `Created` enum variant */ Created: (value: Account): AccountEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: AccountId): AccountEvent => lib.variant('Deleted', value), /** Produce `AuthenticationAdded` enum variant */ AuthenticationAdded: (value: AccountId): AccountEvent => lib.variant('AuthenticationAdded', value), /** Produce `AuthenticationRemoved` enum variant */ AuthenticationRemoved: (value: AccountId): AccountEvent => lib.variant('AuthenticationRemoved', value), /** Produce `PermissionAdded` enum variant */ PermissionAdded: (value: AccountPermissionChanged): AccountEvent => lib.variant('PermissionAdded', value), /** Produce `PermissionRemoved` enum variant */ PermissionRemoved: (value: AccountPermissionChanged): AccountEvent => lib.variant('PermissionRemoved', value), /** Produce `RoleRevoked` enum variant */ RoleRevoked: (value: AccountRoleChanged): AccountEvent => lib.variant('RoleRevoked', value), /** Produce `RoleGranted` enum variant */ RoleGranted: (value: AccountRoleChanged): AccountEvent => lib.variant('RoleGranted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AccountEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AccountEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => AssetEvent)], [1, 'Created', lib.toCodec(() => Account)], [2, 'Deleted', lib.toCodec(() => AccountId)], [3, 'AuthenticationAdded', lib.toCodec(() => AccountId)], [4, 'AuthenticationRemoved', lib.toCodec(() => AccountId)], [5, 'PermissionAdded', lib.toCodec(() => AccountPermissionChanged)], [6, 'PermissionRemoved', lib.toCodec(() => AccountPermissionChanged)], [7, 'RoleRevoked', lib.toCodec(() => AccountRoleChanged)], [8, 'RoleGranted', lib.toCodec(() => AccountRoleChanged)], [9, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AccountId)))], [10, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AccountId)))]]) } +export type AccountEventFilter = { idMatcher: lib.codecs.Option; eventSet: AccountEventSet; } +export const AccountEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AccountId))], ['eventSet', lib.toCodec(() => AccountEventSet)]])) +export type AccountEventSet = lib.codecs.U32 +export const AccountEventSet = { /** `AnyAsset` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AnyAsset: 1, /** `Created` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ Created: 2, /** `Deleted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ Deleted: 4, /** `AuthenticationAdded` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AuthenticationAdded: 8, /** `AuthenticationRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AuthenticationRemoved: 16, /** `PermissionAdded` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ PermissionAdded: 32, /** `PermissionRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ PermissionRemoved: 64, /** `RoleRevoked` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ RoleRevoked: 128, /** `RoleGranted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ RoleGranted: 256, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ MetadataInserted: 512, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ MetadataRemoved: 1024, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type AccountId = { domain: DomainId; signatory: PublicKey; } +export const AccountId = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['signatory', lib.toCodec(() => PublicKey)]])) +export type AccountPermissionChanged = { account: AccountId; permission: PermissionId; } +export const AccountPermissionChanged = lib.wrapCodec(lib.structCodec([['account', lib.toCodec(() => AccountId)], ['permission', lib.toCodec(() => PermissionId)]])) +export type AccountRoleChanged = { account: AccountId; role: RoleId; } +export const AccountRoleChanged = lib.wrapCodec(lib.structCodec([['account', lib.toCodec(() => AccountId)], ['role', lib.toCodec(() => RoleId)]])) +export type Action = { executable: Executable; repeats: Repeats; authority: AccountId; filter: TriggeringEventFilterBox; metadata: Metadata; } +export const Action = lib.wrapCodec(lib.structCodec([['executable', lib.toCodec(() => Executable)], ['repeats', lib.toCodec(() => Repeats)], ['authority', lib.toCodec(() => AccountId)], ['filter', lib.toCodec(() => TriggeringEventFilterBox)], ['metadata', lib.toCodec(() => Metadata)]])) +export type Algorithm = lib.Enumerate<{ Ed25519: [], Secp256k1: [], BlsNormal: [], BlsSmall: [] }> +export const Algorithm = { /** `Ed25519` enum variant */ Ed25519: lib.variant('Ed25519'), /** `Secp256k1` enum variant */ Secp256k1: lib.variant('Secp256k1'), /** `BlsNormal` enum variant */ BlsNormal: lib.variant('BlsNormal'), /** `BlsSmall` enum variant */ BlsSmall: lib.variant('BlsSmall'), [lib.symbolCodec]: lib.enumCodec([[0, 'Ed25519'], [1, 'Secp256k1'], [2, 'BlsNormal'], [3, 'BlsSmall']]) } +export type Asset = { id: AssetId; value: AssetValue; } +export const Asset = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)], ['value', lib.toCodec(() => AssetValue)]])) +export type AssetChanged = { asset: AssetId; amount: AssetValue; } +export const AssetChanged = lib.wrapCodec(lib.structCodec([['asset', lib.toCodec(() => AssetId)], ['amount', lib.toCodec(() => AssetValue)]])) +export type AssetDefinition = { id: AssetDefinitionId; valueType: AssetValueType; mintable: Mintable; logo: lib.codecs.Option; metadata: Metadata; ownedBy: AccountId; } +export const AssetDefinition = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['valueType', lib.toCodec(() => AssetValueType)], ['mintable', lib.toCodec(() => Mintable)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)], ['ownedBy', lib.toCodec(() => AccountId)]])) +export type AssetDefinitionEvent = lib.Enumerate<{ Created: [AssetDefinition], MintabilityChanged: [AssetDefinitionId], OwnerChanged: [AssetDefinitionOwnerChanged], Deleted: [AssetDefinitionId], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged], TotalQuantityChanged: [AssetDefinitionTotalQuantityChanged] }> +export const AssetDefinitionEvent = { /** Produce `Created` enum variant */ Created: (value: AssetDefinition): AssetDefinitionEvent => lib.variant('Created', value), /** Produce `MintabilityChanged` enum variant */ MintabilityChanged: (value: AssetDefinitionId): AssetDefinitionEvent => lib.variant('MintabilityChanged', value), /** Produce `OwnerChanged` enum variant */ OwnerChanged: (value: AssetDefinitionOwnerChanged): AssetDefinitionEvent => lib.variant('OwnerChanged', value), /** Produce `Deleted` enum variant */ Deleted: (value: AssetDefinitionId): AssetDefinitionEvent => lib.variant('Deleted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AssetDefinitionEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AssetDefinitionEvent => lib.variant('MetadataRemoved', value), /** Produce `TotalQuantityChanged` enum variant */ TotalQuantityChanged: (value: AssetDefinitionTotalQuantityChanged): AssetDefinitionEvent => lib.variant('TotalQuantityChanged', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => AssetDefinition)], [1, 'MintabilityChanged', lib.toCodec(() => AssetDefinitionId)], [2, 'OwnerChanged', lib.toCodec(() => AssetDefinitionOwnerChanged)], [3, 'Deleted', lib.toCodec(() => AssetDefinitionId)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetDefinitionId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetDefinitionId)))], [6, 'TotalQuantityChanged', lib.toCodec(() => AssetDefinitionTotalQuantityChanged)]]) } +export type AssetDefinitionEventFilter = { idMatcher: lib.codecs.Option; eventSet: AssetDefinitionEventSet; } +export const AssetDefinitionEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AssetDefinitionId))], ['eventSet', lib.toCodec(() => AssetDefinitionEventSet)]])) +export type AssetDefinitionEventSet = lib.codecs.U32 +export const AssetDefinitionEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ Created: 1, /** `MintabilityChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MintabilityChanged: 2, /** `OwnerChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ OwnerChanged: 4, /** `Deleted` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ Deleted: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MetadataRemoved: 32, /** `TotalQuantityChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ TotalQuantityChanged: 64, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type AssetDefinitionId = { domain: DomainId; name: lib.codecs.String; } +export const AssetDefinitionId = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['name', lib.toCodec(lib.codecs.String)]])) +export type AssetDefinitionOwnerChanged = { assetDefinition: AssetDefinitionId; newOwner: AccountId; } +export const AssetDefinitionOwnerChanged = lib.wrapCodec(lib.structCodec([['assetDefinition', lib.toCodec(() => AssetDefinitionId)], ['newOwner', lib.toCodec(() => AccountId)]])) +export type AssetDefinitionTotalQuantityChanged = { assetDefinition: AssetDefinitionId; totalAmount: Numeric; } +export const AssetDefinitionTotalQuantityChanged = lib.wrapCodec(lib.structCodec([['assetDefinition', lib.toCodec(() => AssetDefinitionId)], ['totalAmount', lib.toCodec(() => Numeric)]])) +export type AssetEvent = lib.Enumerate<{ Created: [Asset], Deleted: [AssetId], Added: [AssetChanged], Removed: [AssetChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> +export const AssetEvent = { /** Produce `Created` enum variant */ Created: (value: Asset): AssetEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: AssetId): AssetEvent => lib.variant('Deleted', value), /** Produce `Added` enum variant */ Added: (value: AssetChanged): AssetEvent => lib.variant('Added', value), /** Produce `Removed` enum variant */ Removed: (value: AssetChanged): AssetEvent => lib.variant('Removed', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AssetEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AssetEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => Asset)], [1, 'Deleted', lib.toCodec(() => AssetId)], [2, 'Added', lib.toCodec(() => AssetChanged)], [3, 'Removed', lib.toCodec(() => AssetChanged)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetId)))]]) } +export type AssetEventFilter = { idMatcher: lib.codecs.Option; eventSet: AssetEventSet; } +export const AssetEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AssetId))], ['eventSet', lib.toCodec(() => AssetEventSet)]])) +export type AssetEventSet = lib.codecs.U32 +export const AssetEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Deleted: 2, /** `Added` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Added: 4, /** `Removed` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Removed: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ MetadataRemoved: 32, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type AssetId = { definition: AssetDefinitionId; account: AccountId; } +export const AssetId = lib.wrapCodec(lib.structCodec([['definition', lib.toCodec(() => AssetDefinitionId)], ['account', lib.toCodec(() => AccountId)]])) +export type AssetTransferBox = lib.Enumerate<{ Numeric: [Transfer], Store: [Transfer] }> +export const AssetTransferBox = { /** Produce `Numeric` enum variant */ Numeric: (value: Transfer): AssetTransferBox => lib.variant('Numeric', value), /** Produce `Store` enum variant */ Store: (value: Transfer): AssetTransferBox => lib.variant('Store', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => Transfer.with(lib.toCodec(() => AssetId), lib.toCodec(() => Numeric), lib.toCodec(() => AccountId)))], [1, 'Store', lib.toCodec(() => Transfer.with(lib.toCodec(() => AssetId), lib.toCodec(() => Metadata), lib.toCodec(() => AccountId)))]]) } +export type AssetValue = lib.Enumerate<{ Numeric: [Numeric], Store: [Metadata] }> +export const AssetValue = { /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): AssetValue => lib.variant('Numeric', value), /** Produce `Store` enum variant */ Store: (value: Metadata): AssetValue => lib.variant('Store', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => Numeric)], [1, 'Store', lib.toCodec(() => Metadata)]]) } +export type AssetValueType = lib.Enumerate<{ Numeric: [NumericSpec], Store: [] }> +export const AssetValueType = { /** Produce `Numeric` enum variant */ Numeric: (value: NumericSpec): AssetValueType => lib.variant('Numeric', value), /** `Store` enum variant */ Store: lib.variant('Store'), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => NumericSpec)], [1, 'Store']]) } +export type AssetValueTypeMismatch = { expected: AssetValueType; actual: AssetValueType; } +export const AssetValueTypeMismatch = lib.wrapCodec(lib.structCodec([['expected', lib.toCodec(() => AssetValueType)], ['actual', lib.toCodec(() => AssetValueType)]])) +export type AtIndex = { index: lib.codecs.U32; predicate: QueryOutputPredicate; } +export const AtIndex = lib.wrapCodec(lib.structCodec([['index', lib.toCodec(lib.codecs.U32)], ['predicate', lib.toCodec(() => QueryOutputPredicate)]])) +export type BatchedResponse = lib.Enumerate<{ V1: [BatchedResponseV1] }> +export const BatchedResponse = { /** Produce `V1` enum variant */ V1: (value: BatchedResponseV1): BatchedResponse => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => BatchedResponseV1)]]) } +export type BatchedResponseV1 = { batch: QueryOutputBox; cursor: ForwardCursor; } +export const BatchedResponseV1 = lib.wrapCodec(lib.structCodec([['batch', lib.toCodec(() => QueryOutputBox)], ['cursor', lib.toCodec(() => ForwardCursor)]])) +export type BlockEvent = { header: BlockHeader; hash: Hash; status: BlockStatus; } +export const BlockEvent = lib.wrapCodec(lib.structCodec([['header', lib.toCodec(() => BlockHeader)], ['hash', lib.toCodec(() => Hash)], ['status', lib.toCodec(() => BlockStatus)]])) +export type BlockEventFilter = { height: lib.codecs.Option; status: lib.codecs.Option; } +export const BlockEventFilter = lib.wrapCodec(lib.structCodec([['height', lib.codecs.Option.with(lib.toCodec(lib.codecs.U64))], ['status', lib.codecs.Option.with(lib.toCodec(() => BlockStatus))]])) +export type BlockHeader = { height: lib.codecs.U64; prevBlockHash: lib.codecs.Option; transactionsHash: Hash; timestampMs: lib.codecs.U64; viewChangeIndex: lib.codecs.U32; consensusEstimationMs: lib.codecs.U64; } +export const BlockHeader = lib.wrapCodec(lib.structCodec([['height', lib.toCodec(lib.codecs.U64)], ['prevBlockHash', lib.codecs.Option.with(lib.toCodec(() => Hash))], ['transactionsHash', lib.toCodec(() => Hash)], ['timestampMs', lib.toCodec(lib.codecs.U64)], ['viewChangeIndex', lib.toCodec(lib.codecs.U32)], ['consensusEstimationMs', lib.toCodec(lib.codecs.U64)]])) +export type BlockPayload = { header: BlockHeader; commitTopology: lib.codecs.Vec; transactions: lib.codecs.Vec; eventRecommendations: lib.codecs.Vec; } +export const BlockPayload = lib.wrapCodec(lib.structCodec([['header', lib.toCodec(() => BlockHeader)], ['commitTopology', lib.codecs.Vec.with(lib.toCodec(() => PeerId))], ['transactions', lib.codecs.Vec.with(lib.toCodec(() => CommittedTransaction))], ['eventRecommendations', lib.codecs.Vec.with(lib.toCodec(() => EventBox))]])) +export type BlockRejectionReason = lib.Enumerate<{ ConsensusBlockRejection: [] }> +export const BlockRejectionReason = { /** `ConsensusBlockRejection` enum variant */ ConsensusBlockRejection: lib.variant('ConsensusBlockRejection'), [lib.symbolCodec]: lib.enumCodec([[0, 'ConsensusBlockRejection']]) } +export type BlockSignature = { peerTopologyIndex: lib.codecs.U64; payload: BlockPayload; } +export const BlockSignature = lib.wrapCodec(lib.structCodec([['peerTopologyIndex', lib.toCodec(lib.codecs.U64)], ['payload', lib.toCodec(() => BlockPayload)]])) +export type BlockStatus = lib.Enumerate<{ Approved: [], Rejected: [BlockRejectionReason], Committed: [], Applied: [] }> +export const BlockStatus = { /** `Approved` enum variant */ Approved: lib.variant('Approved'), /** Produce `Rejected` enum variant */ Rejected: (value: BlockRejectionReason): BlockStatus => lib.variant('Rejected', value), /** `Committed` enum variant */ Committed: lib.variant('Committed'), /** `Applied` enum variant */ Applied: lib.variant('Applied'), [lib.symbolCodec]: lib.enumCodec([[0, 'Approved'], [1, 'Rejected', lib.toCodec(() => BlockRejectionReason)], [2, 'Committed'], [3, 'Applied']]) } +export type BlockSubscriptionRequest = { fromBlockHeight: lib.codecs.NonZero; } +export const BlockSubscriptionRequest = lib.wrapCodec(lib.structCodec([['fromBlockHeight', lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64))]])) +export type Burn = { object: T0, destination: T1 } +export const Burn = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } +export type BurnBox = lib.Enumerate<{ Asset: [Burn], TriggerRepetitions: [Burn] }> +export const BurnBox = { /** Produce `Asset` enum variant */ Asset: (value: Burn): BurnBox => lib.variant('Asset', value), /** Produce `TriggerRepetitions` enum variant */ TriggerRepetitions: (value: Burn): BurnBox => lib.variant('TriggerRepetitions', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => Burn.with(lib.toCodec(() => Numeric), lib.toCodec(() => AssetId)))], [1, 'TriggerRepetitions', lib.toCodec(() => Burn.with(lib.toCodec(lib.codecs.U32), lib.toCodec(() => TriggerId)))]]) } +export type ClientQueryPayload = { authority: AccountId; query: QueryBox; filter: PredicateBox; sorting: Sorting; pagination: Pagination; fetchSize: FetchSize; } +export const ClientQueryPayload = lib.wrapCodec(lib.structCodec([['authority', lib.toCodec(() => AccountId)], ['query', lib.toCodec(() => QueryBox)], ['filter', lib.toCodec(() => PredicateBox)], ['sorting', lib.toCodec(() => Sorting)], ['pagination', lib.toCodec(() => Pagination)], ['fetchSize', lib.toCodec(() => FetchSize)]])) +export type CommittedTransaction = { value: SignedTransaction; error: lib.codecs.Option; } +export const CommittedTransaction = lib.wrapCodec(lib.structCodec([['value', lib.toCodec(() => SignedTransaction)], ['error', lib.codecs.Option.with(lib.toCodec(() => TransactionRejectionReason))]])) +export type ConfigurationEvent = lib.Enumerate<{ Changed: [ParameterId], Created: [ParameterId], Deleted: [ParameterId] }> +export const ConfigurationEvent = { /** Produce `Changed` enum variant */ Changed: (value: ParameterId): ConfigurationEvent => lib.variant('Changed', value), /** Produce `Created` enum variant */ Created: (value: ParameterId): ConfigurationEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: ParameterId): ConfigurationEvent => lib.variant('Deleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Changed', lib.toCodec(() => ParameterId)], [1, 'Created', lib.toCodec(() => ParameterId)], [2, 'Deleted', lib.toCodec(() => ParameterId)]]) } +export type ConfigurationEventFilter = { idMatcher: lib.codecs.Option; eventSet: ConfigurationEventSet; } +export const ConfigurationEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => ParameterId))], ['eventSet', lib.toCodec(() => ConfigurationEventSet)]])) +export type ConfigurationEventSet = lib.codecs.U32 +export const ConfigurationEventSet = { /** `Changed` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Changed: 1, /** `Created` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Created: 2, /** `Deleted` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Deleted: 4, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type Container = lib.Enumerate<{ Any: [QueryOutputPredicate], All: [QueryOutputPredicate], AtIndex: [AtIndex] }> +export const Container = { /** Produce `Any` enum variant */ Any: (value: QueryOutputPredicate): Container => lib.variant('Any', value), /** Produce `All` enum variant */ All: (value: QueryOutputPredicate): Container => lib.variant('All', value), /** Produce `AtIndex` enum variant */ AtIndex: (value: AtIndex): Container => lib.variant('AtIndex', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Any', lib.toCodec(() => QueryOutputPredicate)], [1, 'All', lib.toCodec(() => QueryOutputPredicate)], [2, 'AtIndex', lib.toCodec(() => AtIndex)]]) } +export type Custom = { payload: lib.codecs.Json; } +export const Custom = lib.wrapCodec(lib.structCodec([['payload', lib.toCodec(lib.codecs.Json)]])) +export type DataEvent = lib.Enumerate<{ Peer: [PeerEvent], Domain: [DomainEvent], Trigger: [TriggerEvent], Role: [RoleEvent], Configuration: [ConfigurationEvent], Executor: [ExecutorEvent] }> +export const DataEvent = { /** Produce `Peer` enum variant */ Peer: (value: PeerEvent): DataEvent => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: DomainEvent): DataEvent => lib.variant('Domain', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerEvent): DataEvent => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleEvent): DataEvent => lib.variant('Role', value), /** Produce `Configuration` enum variant */ Configuration: (value: ConfigurationEvent): DataEvent => lib.variant('Configuration', value), /** Produce `Executor` enum variant */ Executor: (value: ExecutorEvent): DataEvent => lib.variant('Executor', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => PeerEvent)], [1, 'Domain', lib.toCodec(() => DomainEvent)], [2, 'Trigger', lib.toCodec(() => TriggerEvent)], [3, 'Role', lib.toCodec(() => RoleEvent)], [4, 'Configuration', lib.toCodec(() => ConfigurationEvent)], [5, 'Executor', lib.toCodec(() => ExecutorEvent)]]) } +export type DataEventFilter = lib.Enumerate<{ Any: [], Peer: [PeerEventFilter], Domain: [DomainEventFilter], Account: [AccountEventFilter], Asset: [AssetEventFilter], AssetDefinition: [AssetDefinitionEventFilter], Trigger: [TriggerEventFilter], Role: [RoleEventFilter], Configuration: [ConfigurationEventFilter], Executor: [ExecutorEventFilter] }> +export const DataEventFilter = { /** `Any` enum variant */ Any: lib.variant('Any'), /** Produce `Peer` enum variant */ Peer: (value: PeerEventFilter): DataEventFilter => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: DomainEventFilter): DataEventFilter => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: AccountEventFilter): DataEventFilter => lib.variant('Account', value), /** Produce `Asset` enum variant */ Asset: (value: AssetEventFilter): DataEventFilter => lib.variant('Asset', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionEventFilter): DataEventFilter => lib.variant('AssetDefinition', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerEventFilter): DataEventFilter => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleEventFilter): DataEventFilter => lib.variant('Role', value), /** Produce `Configuration` enum variant */ Configuration: (value: ConfigurationEventFilter): DataEventFilter => lib.variant('Configuration', value), /** Produce `Executor` enum variant */ Executor: (value: ExecutorEventFilter): DataEventFilter => lib.variant('Executor', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Any'], [1, 'Peer', lib.toCodec(() => PeerEventFilter)], [2, 'Domain', lib.toCodec(() => DomainEventFilter)], [3, 'Account', lib.toCodec(() => AccountEventFilter)], [4, 'Asset', lib.toCodec(() => AssetEventFilter)], [5, 'AssetDefinition', lib.toCodec(() => AssetDefinitionEventFilter)], [6, 'Trigger', lib.toCodec(() => TriggerEventFilter)], [7, 'Role', lib.toCodec(() => RoleEventFilter)], [8, 'Configuration', lib.toCodec(() => ConfigurationEventFilter)], [9, 'Executor', lib.toCodec(() => ExecutorEventFilter)]]) } +export type Domain = { id: DomainId; accounts: lib.codecs.Map; assetDefinitions: lib.codecs.Map; assetTotalQuantities: lib.codecs.Map; logo: lib.codecs.Option; metadata: Metadata; ownedBy: AccountId; } +export const Domain = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['accounts', lib.codecs.Map.with(lib.toCodec(() => AccountId), lib.toCodec(() => Account))], ['assetDefinitions', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => AssetDefinition))], ['assetTotalQuantities', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => Numeric))], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)], ['ownedBy', lib.toCodec(() => AccountId)]])) +export type DomainEvent = lib.Enumerate<{ Account: [AccountEvent], AssetDefinition: [AssetDefinitionEvent], Created: [Domain], Deleted: [DomainId], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged], OwnerChanged: [DomainOwnerChanged] }> +export const DomainEvent = { /** Produce `Account` enum variant */ Account: (value: AccountEvent): DomainEvent => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionEvent): DomainEvent => lib.variant('AssetDefinition', value), /** Produce `Created` enum variant */ Created: (value: Domain): DomainEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: DomainId): DomainEvent => lib.variant('Deleted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): DomainEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): DomainEvent => lib.variant('MetadataRemoved', value), /** Produce `OwnerChanged` enum variant */ OwnerChanged: (value: DomainOwnerChanged): DomainEvent => lib.variant('OwnerChanged', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Account', lib.toCodec(() => AccountEvent)], [1, 'AssetDefinition', lib.toCodec(() => AssetDefinitionEvent)], [2, 'Created', lib.toCodec(() => Domain)], [3, 'Deleted', lib.toCodec(() => DomainId)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => DomainId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => DomainId)))], [6, 'OwnerChanged', lib.toCodec(() => DomainOwnerChanged)]]) } +export type DomainEventFilter = { idMatcher: lib.codecs.Option; eventSet: DomainEventSet; } +export const DomainEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => DomainId))], ['eventSet', lib.toCodec(() => DomainEventSet)]])) +export type DomainEventSet = lib.codecs.U32 +export const DomainEventSet = { /** `AnyAccount` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ AnyAccount: 1, /** `AnyAssetDefinition` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ AnyAssetDefinition: 2, /** `Created` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ Created: 4, /** `Deleted` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ Deleted: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ MetadataRemoved: 32, /** `OwnerChanged` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ OwnerChanged: 64, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type DomainId = { name: lib.codecs.String; } +export const DomainId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type DomainOwnerChanged = { domain: DomainId; newOwner: AccountId; } +export const DomainOwnerChanged = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['newOwner', lib.toCodec(() => AccountId)]])) +export type Duration = { secs: lib.codecs.U64; nanos: lib.codecs.U32; } +export const Duration = lib.wrapCodec(lib.structCodec([['secs', lib.toCodec(lib.codecs.U64)], ['nanos', lib.toCodec(lib.codecs.U32)]])) +export type EventBox = lib.Enumerate<{ Pipeline: [PipelineEventBox], Data: [DataEvent], Time: [TimeEvent], ExecuteTrigger: [ExecuteTriggerEvent], TriggerCompleted: [TriggerCompletedEvent] }> +export const EventBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventBox): EventBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEvent): EventBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: TimeEvent): EventBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEvent): EventBox => lib.variant('ExecuteTrigger', value), /** Produce `TriggerCompleted` enum variant */ TriggerCompleted: (value: TriggerCompletedEvent): EventBox => lib.variant('TriggerCompleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventBox)], [1, 'Data', lib.toCodec(() => DataEvent)], [2, 'Time', lib.toCodec(() => TimeEvent)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEvent)], [4, 'TriggerCompleted', lib.toCodec(() => TriggerCompletedEvent)]]) } +export type EventFilterBox = lib.Enumerate<{ Pipeline: [PipelineEventFilterBox], Data: [DataEventFilter], Time: [ExecutionTime], ExecuteTrigger: [ExecuteTriggerEventFilter], TriggerCompleted: [TriggerCompletedEventFilter] }> +export const EventFilterBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventFilterBox): EventFilterBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEventFilter): EventFilterBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: ExecutionTime): EventFilterBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEventFilter): EventFilterBox => lib.variant('ExecuteTrigger', value), /** Produce `TriggerCompleted` enum variant */ TriggerCompleted: (value: TriggerCompletedEventFilter): EventFilterBox => lib.variant('TriggerCompleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventFilterBox)], [1, 'Data', lib.toCodec(() => DataEventFilter)], [2, 'Time', lib.toCodec(() => ExecutionTime)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEventFilter)], [4, 'TriggerCompleted', lib.toCodec(() => TriggerCompletedEventFilter)]]) } +export type EventSubscriptionRequest = { filters: lib.codecs.Vec; } +export const EventSubscriptionRequest = lib.wrapCodec(lib.structCodec([['filters', lib.codecs.Vec.with(lib.toCodec(() => EventFilterBox))]])) +export type Executable = lib.Enumerate<{ Instructions: [lib.codecs.Vec], Wasm: [WasmSmartContract] }> +export const Executable = { /** Produce `Instructions` enum variant */ Instructions: (value: lib.codecs.Vec): Executable => lib.variant('Instructions', value), /** Produce `Wasm` enum variant */ Wasm: (value: WasmSmartContract): Executable => lib.variant('Wasm', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Instructions', lib.codecs.Vec.with(lib.toCodec(() => InstructionBox))], [1, 'Wasm', lib.toCodec(() => WasmSmartContract)]]) } +export type ExecuteTrigger = { trigger: TriggerId; } +export const ExecuteTrigger = lib.wrapCodec(lib.structCodec([['trigger', lib.toCodec(() => TriggerId)]])) +export type ExecuteTriggerEvent = { triggerId: TriggerId; authority: AccountId; } +export const ExecuteTriggerEvent = lib.wrapCodec(lib.structCodec([['triggerId', lib.toCodec(() => TriggerId)], ['authority', lib.toCodec(() => AccountId)]])) +export type ExecuteTriggerEventFilter = { triggerId: lib.codecs.Option; authority: lib.codecs.Option; } +export const ExecuteTriggerEventFilter = lib.wrapCodec(lib.structCodec([['triggerId', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['authority', lib.codecs.Option.with(lib.toCodec(() => AccountId))]])) +export type ExecutionTime = lib.Enumerate<{ PreCommit: [], Schedule: [Schedule] }> +export const ExecutionTime = { /** `PreCommit` enum variant */ PreCommit: lib.variant('PreCommit'), /** Produce `Schedule` enum variant */ Schedule: (value: Schedule): ExecutionTime => lib.variant('Schedule', value), [lib.symbolCodec]: lib.enumCodec([[0, 'PreCommit'], [1, 'Schedule', lib.toCodec(() => Schedule)]]) } +export type Executor = { wasm: WasmSmartContract; } +export const Executor = lib.wrapCodec(lib.structCodec([['wasm', lib.toCodec(() => WasmSmartContract)]])) +export type ExecutorDataModel = { permissions: lib.codecs.Vec; customInstruction: lib.codecs.Option; schema: lib.codecs.Json; } +export const ExecutorDataModel = lib.wrapCodec(lib.structCodec([['permissions', lib.codecs.Vec.with(lib.toCodec(() => PermissionId))], ['customInstruction', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))], ['schema', lib.toCodec(lib.codecs.Json)]])) +export type ExecutorEvent = lib.Enumerate<{ Upgraded: [ExecutorUpgrade] }> +export const ExecutorEvent = { /** Produce `Upgraded` enum variant */ Upgraded: (value: ExecutorUpgrade): ExecutorEvent => lib.variant('Upgraded', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Upgraded', lib.toCodec(() => ExecutorUpgrade)]]) } +export type ExecutorEventFilter = { eventSet: ExecutorEventSet; } +export const ExecutorEventFilter = lib.wrapCodec(lib.structCodec([['eventSet', lib.toCodec(() => ExecutorEventSet)]])) +export type ExecutorEventSet = lib.codecs.U32 +export const ExecutorEventSet = { /** `Upgraded` event bitmask. Use `|` to combine with other {@link ExecutorEventSet} bitmasks. */ Upgraded: 1, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type ExecutorUpgrade = { newDataModel: ExecutorDataModel; } +export const ExecutorUpgrade = lib.wrapCodec(lib.structCodec([['newDataModel', lib.toCodec(() => ExecutorDataModel)]])) +export type Fail = { message: lib.codecs.String; } +export const Fail = lib.wrapCodec(lib.structCodec([['message', lib.toCodec(lib.codecs.String)]])) +export type FetchSize = { fetchSize: lib.codecs.Option>; } +export const FetchSize = lib.wrapCodec(lib.structCodec([['fetchSize', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))]])) +export type FindAccountById = { id: AccountId; } +export const FindAccountById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) +export type FindAccountKeyValueByIdAndKey = { id: AccountId; key: lib.codecs.String; } +export const FindAccountKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindAccountsByDomainId = { domainId: DomainId; } +export const FindAccountsByDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) +export type FindAccountsWithAsset = { assetDefinitionId: AssetDefinitionId; } +export const FindAccountsWithAsset = lib.wrapCodec(lib.structCodec([['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) +export type FindAssetById = { id: AssetId; } +export const FindAssetById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)]])) +export type FindAssetDefinitionById = { id: AssetDefinitionId; } +export const FindAssetDefinitionById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)]])) +export type FindAssetDefinitionKeyValueByIdAndKey = { id: AssetDefinitionId; key: lib.codecs.String; } +export const FindAssetDefinitionKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindAssetKeyValueByIdAndKey = { id: AssetId; key: lib.codecs.String; } +export const FindAssetKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindAssetQuantityById = { id: AssetId; } +export const FindAssetQuantityById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)]])) +export type FindAssetsByAccountId = { accountId: AccountId; } +export const FindAssetsByAccountId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) +export type FindAssetsByAssetDefinitionId = { assetDefinitionId: AssetDefinitionId; } +export const FindAssetsByAssetDefinitionId = lib.wrapCodec(lib.structCodec([['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) +export type FindAssetsByDomainId = { domainId: DomainId; } +export const FindAssetsByDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) +export type FindAssetsByDomainIdAndAssetDefinitionId = { domainId: DomainId; assetDefinitionId: AssetDefinitionId; } +export const FindAssetsByDomainIdAndAssetDefinitionId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)], ['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) +export type FindAssetsByName = { name: lib.codecs.String; } +export const FindAssetsByName = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type FindBlockHeaderByHash = { hash: Hash; } +export const FindBlockHeaderByHash = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)]])) +export type FindDomainById = { id: DomainId; } +export const FindDomainById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)]])) +export type FindDomainKeyValueByIdAndKey = { id: DomainId; key: lib.codecs.String; } +export const FindDomainKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindError = lib.Enumerate<{ Asset: [AssetId], AssetDefinition: [AssetDefinitionId], Account: [AccountId], Domain: [DomainId], MetadataKey: [lib.codecs.String], Block: [Hash], Transaction: [Hash], Peer: [PeerId], Trigger: [TriggerId], Role: [RoleId], Permission: [PermissionId], Parameter: [ParameterId], PublicKey: [PublicKey] }> +export const FindError = { /** Produce `Asset` enum variant */ Asset: (value: AssetId): FindError => lib.variant('Asset', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionId): FindError => lib.variant('AssetDefinition', value), /** Produce `Account` enum variant */ Account: (value: AccountId): FindError => lib.variant('Account', value), /** Produce `Domain` enum variant */ Domain: (value: DomainId): FindError => lib.variant('Domain', value), /** Produce `MetadataKey` enum variant */ MetadataKey: (value: lib.codecs.String): FindError => lib.variant('MetadataKey', value), /** Produce `Block` enum variant */ Block: (value: Hash): FindError => lib.variant('Block', value), /** Produce `Transaction` enum variant */ Transaction: (value: Hash): FindError => lib.variant('Transaction', value), /** Produce `Peer` enum variant */ Peer: (value: PeerId): FindError => lib.variant('Peer', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerId): FindError => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleId): FindError => lib.variant('Role', value), /** Produce `Permission` enum variant */ Permission: (value: PermissionId): FindError => lib.variant('Permission', value), /** Produce `Parameter` enum variant */ Parameter: (value: ParameterId): FindError => lib.variant('Parameter', value), /** Produce `PublicKey` enum variant */ PublicKey: (value: PublicKey): FindError => lib.variant('PublicKey', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => AssetId)], [1, 'AssetDefinition', lib.toCodec(() => AssetDefinitionId)], [2, 'Account', lib.toCodec(() => AccountId)], [3, 'Domain', lib.toCodec(() => DomainId)], [4, 'MetadataKey', lib.toCodec(lib.codecs.String)], [5, 'Block', lib.toCodec(() => Hash)], [6, 'Transaction', lib.toCodec(() => Hash)], [7, 'Peer', lib.toCodec(() => PeerId)], [8, 'Trigger', lib.toCodec(() => TriggerId)], [9, 'Role', lib.toCodec(() => RoleId)], [10, 'Permission', lib.toCodec(() => PermissionId)], [11, 'Parameter', lib.toCodec(() => ParameterId)], [12, 'PublicKey', lib.toCodec(() => PublicKey)]]) } +export type FindPermissionsByAccountId = { id: AccountId; } +export const FindPermissionsByAccountId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) +export type FindRoleByRoleId = { id: RoleId; } +export const FindRoleByRoleId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => RoleId)]])) +export type FindRolesByAccountId = { id: AccountId; } +export const FindRolesByAccountId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) +export type FindTotalAssetQuantityByAssetDefinitionId = { id: AssetDefinitionId; } +export const FindTotalAssetQuantityByAssetDefinitionId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)]])) +export type FindTransactionByHash = { hash: Hash; } +export const FindTransactionByHash = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)]])) +export type FindTransactionsByAccountId = { accountId: AccountId; } +export const FindTransactionsByAccountId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) +export type FindTriggerById = { id: TriggerId; } +export const FindTriggerById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)]])) +export type FindTriggerKeyValueByIdAndKey = { id: TriggerId; key: lib.codecs.String; } +export const FindTriggerKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindTriggersByAuthorityDomainId = { domainId: DomainId; } +export const FindTriggersByAuthorityDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) +export type FindTriggersByAuthorityId = { accountId: AccountId; } +export const FindTriggersByAuthorityId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) +export type ForwardCursor = { queryId: lib.codecs.Option; cursor: lib.codecs.Option>; } +export const ForwardCursor = lib.wrapCodec(lib.structCodec([['queryId', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))], ['cursor', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))]])) +export type Grant = { object: T0, destination: T1 } +export const Grant = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } +export type GrantBox = lib.Enumerate<{ Permission: [Grant], Role: [Grant], RolePermission: [Grant] }> +export const GrantBox = { /** Produce `Permission` enum variant */ Permission: (value: Grant): GrantBox => lib.variant('Permission', value), /** Produce `Role` enum variant */ Role: (value: Grant): GrantBox => lib.variant('Role', value), /** Produce `RolePermission` enum variant */ RolePermission: (value: Grant): GrantBox => lib.variant('RolePermission', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Permission', lib.toCodec(() => Grant.with(lib.toCodec(() => Permission), lib.toCodec(() => AccountId)))], [1, 'Role', lib.toCodec(() => Grant.with(lib.toCodec(() => RoleId), lib.toCodec(() => AccountId)))], [2, 'RolePermission', lib.toCodec(() => Grant.with(lib.toCodec(() => Permission), lib.toCodec(() => RoleId)))]]) } +export type Hash = lib.codecs.Array +export const Hash = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U8), 32)) +export type IdBox = lib.Enumerate<{ DomainId: [DomainId], AccountId: [AccountId], AssetDefinitionId: [AssetDefinitionId], AssetId: [AssetId], PeerId: [PeerId], TriggerId: [TriggerId], RoleId: [RoleId], PermissionId: [PermissionId], ParameterId: [ParameterId] }> +export const IdBox = { /** Produce `DomainId` enum variant */ DomainId: (value: DomainId): IdBox => lib.variant('DomainId', value), /** Produce `AccountId` enum variant */ AccountId: (value: AccountId): IdBox => lib.variant('AccountId', value), /** Produce `AssetDefinitionId` enum variant */ AssetDefinitionId: (value: AssetDefinitionId): IdBox => lib.variant('AssetDefinitionId', value), /** Produce `AssetId` enum variant */ AssetId: (value: AssetId): IdBox => lib.variant('AssetId', value), /** Produce `PeerId` enum variant */ PeerId: (value: PeerId): IdBox => lib.variant('PeerId', value), /** Produce `TriggerId` enum variant */ TriggerId: (value: TriggerId): IdBox => lib.variant('TriggerId', value), /** Produce `RoleId` enum variant */ RoleId: (value: RoleId): IdBox => lib.variant('RoleId', value), /** Produce `PermissionId` enum variant */ PermissionId: (value: PermissionId): IdBox => lib.variant('PermissionId', value), /** Produce `ParameterId` enum variant */ ParameterId: (value: ParameterId): IdBox => lib.variant('ParameterId', value), [lib.symbolCodec]: lib.enumCodec([[0, 'DomainId', lib.toCodec(() => DomainId)], [1, 'AccountId', lib.toCodec(() => AccountId)], [2, 'AssetDefinitionId', lib.toCodec(() => AssetDefinitionId)], [3, 'AssetId', lib.toCodec(() => AssetId)], [4, 'PeerId', lib.toCodec(() => PeerId)], [5, 'TriggerId', lib.toCodec(() => TriggerId)], [6, 'RoleId', lib.toCodec(() => RoleId)], [7, 'PermissionId', lib.toCodec(() => PermissionId)], [8, 'ParameterId', lib.toCodec(() => ParameterId)]]) } +export type IdentifiableBox = lib.Enumerate<{ NewDomain: [NewDomain], NewAccount: [NewAccount], NewAssetDefinition: [NewAssetDefinition], NewRole: [NewRole], Peer: [Peer], Domain: [Domain], Account: [Account], AssetDefinition: [AssetDefinition], Asset: [Asset], Trigger: [Trigger], Role: [Role], Parameter: [Parameter] }> +export const IdentifiableBox = { /** Produce `NewDomain` enum variant */ NewDomain: (value: NewDomain): IdentifiableBox => lib.variant('NewDomain', value), /** Produce `NewAccount` enum variant */ NewAccount: (value: NewAccount): IdentifiableBox => lib.variant('NewAccount', value), /** Produce `NewAssetDefinition` enum variant */ NewAssetDefinition: (value: NewAssetDefinition): IdentifiableBox => lib.variant('NewAssetDefinition', value), /** Produce `NewRole` enum variant */ NewRole: (value: NewRole): IdentifiableBox => lib.variant('NewRole', value), /** Produce `Peer` enum variant */ Peer: (value: Peer): IdentifiableBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Domain): IdentifiableBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Account): IdentifiableBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinition): IdentifiableBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Asset): IdentifiableBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: Trigger): IdentifiableBox => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: Role): IdentifiableBox => lib.variant('Role', value), /** Produce `Parameter` enum variant */ Parameter: (value: Parameter): IdentifiableBox => lib.variant('Parameter', value), [lib.symbolCodec]: lib.enumCodec([[0, 'NewDomain', lib.toCodec(() => NewDomain)], [1, 'NewAccount', lib.toCodec(() => NewAccount)], [2, 'NewAssetDefinition', lib.toCodec(() => NewAssetDefinition)], [3, 'NewRole', lib.toCodec(() => NewRole)], [4, 'Peer', lib.toCodec(() => Peer)], [5, 'Domain', lib.toCodec(() => Domain)], [6, 'Account', lib.toCodec(() => Account)], [7, 'AssetDefinition', lib.toCodec(() => AssetDefinition)], [8, 'Asset', lib.toCodec(() => Asset)], [9, 'Trigger', lib.toCodec(() => Trigger)], [10, 'Role', lib.toCodec(() => Role)], [11, 'Parameter', lib.toCodec(() => Parameter)]]) } +export type InstructionBox = { enum: lib.Enumerate<{ Register: [RegisterBox], Unregister: [UnregisterBox], Mint: [MintBox], Burn: [BurnBox], Transfer: [TransferBox], SetKeyValue: [SetKeyValueBox], RemoveKeyValue: [RemoveKeyValueBox], Grant: [GrantBox], Revoke: [RevokeBox], ExecuteTrigger: [ExecuteTrigger], SetParameter: [SetParameter], NewParameter: [NewParameter], Upgrade: [Upgrade], Log: [Log], Custom: [Custom], Fail: [Fail] }> } +export const InstructionBox: lib.EnumBoxValue = { /** Produce `Register` enum variant */ Register: (value: RegisterBox): InstructionBox => ({ enum: lib.variant('Register', value) }), /** Produce `Unregister` enum variant */ Unregister: (value: UnregisterBox): InstructionBox => ({ enum: lib.variant('Unregister', value) }), /** Produce `Mint` enum variant */ Mint: (value: MintBox): InstructionBox => ({ enum: lib.variant('Mint', value) }), /** Produce `Burn` enum variant */ Burn: (value: BurnBox): InstructionBox => ({ enum: lib.variant('Burn', value) }), /** Produce `Transfer` enum variant */ Transfer: (value: TransferBox): InstructionBox => ({ enum: lib.variant('Transfer', value) }), /** Produce `SetKeyValue` enum variant */ SetKeyValue: (value: SetKeyValueBox): InstructionBox => ({ enum: lib.variant('SetKeyValue', value) }), /** Produce `RemoveKeyValue` enum variant */ RemoveKeyValue: (value: RemoveKeyValueBox): InstructionBox => ({ enum: lib.variant('RemoveKeyValue', value) }), /** Produce `Grant` enum variant */ Grant: (value: GrantBox): InstructionBox => ({ enum: lib.variant('Grant', value) }), /** Produce `Revoke` enum variant */ Revoke: (value: RevokeBox): InstructionBox => ({ enum: lib.variant('Revoke', value) }), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTrigger): InstructionBox => ({ enum: lib.variant('ExecuteTrigger', value) }), /** Produce `SetParameter` enum variant */ SetParameter: (value: SetParameter): InstructionBox => ({ enum: lib.variant('SetParameter', value) }), /** Produce `NewParameter` enum variant */ NewParameter: (value: NewParameter): InstructionBox => ({ enum: lib.variant('NewParameter', value) }), /** Produce `Upgrade` enum variant */ Upgrade: (value: Upgrade): InstructionBox => ({ enum: lib.variant('Upgrade', value) }), /** Produce `Log` enum variant */ Log: (value: Log): InstructionBox => ({ enum: lib.variant('Log', value) }), /** Produce `Custom` enum variant */ Custom: (value: Custom): InstructionBox => ({ enum: lib.variant('Custom', value) }), /** Produce `Fail` enum variant */ Fail: (value: Fail): InstructionBox => ({ enum: lib.variant('Fail', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Register', lib.toCodec(() => RegisterBox)], [1, 'Unregister', lib.toCodec(() => UnregisterBox)], [2, 'Mint', lib.toCodec(() => MintBox)], [3, 'Burn', lib.toCodec(() => BurnBox)], [4, 'Transfer', lib.toCodec(() => TransferBox)], [5, 'SetKeyValue', lib.toCodec(() => SetKeyValueBox)], [6, 'RemoveKeyValue', lib.toCodec(() => RemoveKeyValueBox)], [7, 'Grant', lib.toCodec(() => GrantBox)], [8, 'Revoke', lib.toCodec(() => RevokeBox)], [9, 'ExecuteTrigger', lib.toCodec(() => ExecuteTrigger)], [10, 'SetParameter', lib.toCodec(() => SetParameter)], [11, 'NewParameter', lib.toCodec(() => NewParameter)], [12, 'Upgrade', lib.toCodec(() => Upgrade)], [13, 'Log', lib.toCodec(() => Log)], [14, 'Custom', lib.toCodec(() => Custom)], [15, 'Fail', lib.toCodec(() => Fail)]])) } +export type InstructionEvaluationError = lib.Enumerate<{ Unsupported: [InstructionType], PermissionParameter: [lib.codecs.String], Type: [TypeError] }> +export const InstructionEvaluationError = { /** Produce `Unsupported` enum variant */ Unsupported: (value: InstructionType): InstructionEvaluationError => lib.variant('Unsupported', value), /** Produce `PermissionParameter` enum variant */ PermissionParameter: (value: lib.codecs.String): InstructionEvaluationError => lib.variant('PermissionParameter', value), /** Produce `Type` enum variant */ Type: (value: TypeError): InstructionEvaluationError => lib.variant('Type', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Unsupported', lib.toCodec(() => InstructionType)], [1, 'PermissionParameter', lib.toCodec(lib.codecs.String)], [2, 'Type', lib.toCodec(() => TypeError)]]) } +export type InstructionExecutionError = lib.Enumerate<{ Evaluate: [InstructionEvaluationError], Query: [QueryExecutionFail], Conversion: [lib.codecs.String], Find: [FindError], Repetition: [RepetitionError], Mintability: [MintabilityError], Math: [MathError], Metadata: [MetadataError], Fail: [lib.codecs.String], InvalidParameter: [InvalidParameterError], InvariantViolation: [lib.codecs.String] }> +export const InstructionExecutionError = { /** Produce `Evaluate` enum variant */ Evaluate: (value: InstructionEvaluationError): InstructionExecutionError => lib.variant('Evaluate', value), /** Produce `Query` enum variant */ Query: (value: QueryExecutionFail): InstructionExecutionError => lib.variant('Query', value), /** Produce `Conversion` enum variant */ Conversion: (value: lib.codecs.String): InstructionExecutionError => lib.variant('Conversion', value), /** Produce `Find` enum variant */ Find: (value: FindError): InstructionExecutionError => lib.variant('Find', value), /** Produce `Repetition` enum variant */ Repetition: (value: RepetitionError): InstructionExecutionError => lib.variant('Repetition', value), /** Produce `Mintability` enum variant */ Mintability: (value: MintabilityError): InstructionExecutionError => lib.variant('Mintability', value), /** Produce `Math` enum variant */ Math: (value: MathError): InstructionExecutionError => lib.variant('Math', value), /** Produce `Metadata` enum variant */ Metadata: (value: MetadataError): InstructionExecutionError => lib.variant('Metadata', value), /** Produce `Fail` enum variant */ Fail: (value: lib.codecs.String): InstructionExecutionError => lib.variant('Fail', value), /** Produce `InvalidParameter` enum variant */ InvalidParameter: (value: InvalidParameterError): InstructionExecutionError => lib.variant('InvalidParameter', value), /** Produce `InvariantViolation` enum variant */ InvariantViolation: (value: lib.codecs.String): InstructionExecutionError => lib.variant('InvariantViolation', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Evaluate', lib.toCodec(() => InstructionEvaluationError)], [1, 'Query', lib.toCodec(() => QueryExecutionFail)], [2, 'Conversion', lib.toCodec(lib.codecs.String)], [3, 'Find', lib.toCodec(() => FindError)], [4, 'Repetition', lib.toCodec(() => RepetitionError)], [5, 'Mintability', lib.toCodec(() => MintabilityError)], [6, 'Math', lib.toCodec(() => MathError)], [7, 'Metadata', lib.toCodec(() => MetadataError)], [8, 'Fail', lib.toCodec(lib.codecs.String)], [9, 'InvalidParameter', lib.toCodec(() => InvalidParameterError)], [10, 'InvariantViolation', lib.toCodec(lib.codecs.String)]]) } +export type InstructionExecutionFail = { instruction: InstructionBox; reason: lib.codecs.String; } +export const InstructionExecutionFail = lib.wrapCodec(lib.structCodec([['instruction', lib.toCodec(() => InstructionBox)], ['reason', lib.toCodec(lib.codecs.String)]])) +export type InstructionType = lib.Enumerate<{ Register: [], Unregister: [], Mint: [], Burn: [], Transfer: [], SetKeyValue: [], RemoveKeyValue: [], Grant: [], Revoke: [], ExecuteTrigger: [], SetParameter: [], NewParameter: [], Upgrade: [], Log: [], Custom: [], Fail: [] }> +export const InstructionType = { /** `Register` enum variant */ Register: lib.variant('Register'), /** `Unregister` enum variant */ Unregister: lib.variant('Unregister'), /** `Mint` enum variant */ Mint: lib.variant('Mint'), /** `Burn` enum variant */ Burn: lib.variant('Burn'), /** `Transfer` enum variant */ Transfer: lib.variant('Transfer'), /** `SetKeyValue` enum variant */ SetKeyValue: lib.variant('SetKeyValue'), /** `RemoveKeyValue` enum variant */ RemoveKeyValue: lib.variant('RemoveKeyValue'), /** `Grant` enum variant */ Grant: lib.variant('Grant'), /** `Revoke` enum variant */ Revoke: lib.variant('Revoke'), /** `ExecuteTrigger` enum variant */ ExecuteTrigger: lib.variant('ExecuteTrigger'), /** `SetParameter` enum variant */ SetParameter: lib.variant('SetParameter'), /** `NewParameter` enum variant */ NewParameter: lib.variant('NewParameter'), /** `Upgrade` enum variant */ Upgrade: lib.variant('Upgrade'), /** `Log` enum variant */ Log: lib.variant('Log'), /** `Custom` enum variant */ Custom: lib.variant('Custom'), /** `Fail` enum variant */ Fail: lib.variant('Fail'), [lib.symbolCodec]: lib.enumCodec([[0, 'Register'], [1, 'Unregister'], [2, 'Mint'], [3, 'Burn'], [4, 'Transfer'], [5, 'SetKeyValue'], [6, 'RemoveKeyValue'], [7, 'Grant'], [8, 'Revoke'], [9, 'ExecuteTrigger'], [10, 'SetParameter'], [11, 'NewParameter'], [12, 'Upgrade'], [13, 'Log'], [14, 'Custom'], [15, 'Fail']]) } +export type InvalidParameterError = lib.Enumerate<{ Wasm: [lib.codecs.String], NameLength: [], TimeTriggerInThePast: [] }> +export const InvalidParameterError = { /** Produce `Wasm` enum variant */ Wasm: (value: lib.codecs.String): InvalidParameterError => lib.variant('Wasm', value), /** `NameLength` enum variant */ NameLength: lib.variant('NameLength'), /** `TimeTriggerInThePast` enum variant */ TimeTriggerInThePast: lib.variant('TimeTriggerInThePast'), [lib.symbolCodec]: lib.enumCodec([[0, 'Wasm', lib.toCodec(lib.codecs.String)], [1, 'NameLength'], [2, 'TimeTriggerInThePast']]) } +export type IpfsPath = { path: lib.codecs.String; } +export const IpfsPath = lib.wrapCodec(lib.structCodec([['path', lib.toCodec(lib.codecs.String)]])) +export type Ipv4Addr = lib.codecs.Array +export const Ipv4Addr = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U8), 4)) +export type Ipv6Addr = lib.codecs.Array +export const Ipv6Addr = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U16), 8)) +export type LengthLimits = { min: lib.codecs.U32; max: lib.codecs.U32; } +export const LengthLimits = lib.wrapCodec(lib.structCodec([['min', lib.toCodec(lib.codecs.U32)], ['max', lib.toCodec(lib.codecs.U32)]])) +export type Level = lib.Enumerate<{ TRACE: [], DEBUG: [], INFO: [], WARN: [], ERROR: [] }> +export const Level = { /** `TRACE` enum variant */ TRACE: lib.variant('TRACE'), /** `DEBUG` enum variant */ DEBUG: lib.variant('DEBUG'), /** `INFO` enum variant */ INFO: lib.variant('INFO'), /** `WARN` enum variant */ WARN: lib.variant('WARN'), /** `ERROR` enum variant */ ERROR: lib.variant('ERROR'), [lib.symbolCodec]: lib.enumCodec([[0, 'TRACE'], [1, 'DEBUG'], [2, 'INFO'], [3, 'WARN'], [4, 'ERROR']]) } +export type Limits = { capacity: lib.codecs.U32; maxEntryLen: lib.codecs.U32; } +export const Limits = lib.wrapCodec(lib.structCodec([['capacity', lib.toCodec(lib.codecs.U32)], ['maxEntryLen', lib.toCodec(lib.codecs.U32)]])) +export type Log = { level: Level; msg: lib.codecs.String; } +export const Log = lib.wrapCodec(lib.structCodec([['level', lib.toCodec(() => Level)], ['msg', lib.toCodec(lib.codecs.String)]])) +export type MathError = lib.Enumerate<{ Overflow: [], NotEnoughQuantity: [], DivideByZero: [], NegativeValue: [], DomainViolation: [], Unknown: [], FixedPointConversion: [lib.codecs.String] }> +export const MathError = { /** `Overflow` enum variant */ Overflow: lib.variant('Overflow'), /** `NotEnoughQuantity` enum variant */ NotEnoughQuantity: lib.variant('NotEnoughQuantity'), /** `DivideByZero` enum variant */ DivideByZero: lib.variant('DivideByZero'), /** `NegativeValue` enum variant */ NegativeValue: lib.variant('NegativeValue'), /** `DomainViolation` enum variant */ DomainViolation: lib.variant('DomainViolation'), /** `Unknown` enum variant */ Unknown: lib.variant('Unknown'), /** Produce `FixedPointConversion` enum variant */ FixedPointConversion: (value: lib.codecs.String): MathError => lib.variant('FixedPointConversion', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Overflow'], [1, 'NotEnoughQuantity'], [2, 'DivideByZero'], [3, 'NegativeValue'], [4, 'DomainViolation'], [5, 'Unknown'], [6, 'FixedPointConversion', lib.toCodec(lib.codecs.String)]]) } +export type Metadata = lib.codecs.Map +export const Metadata = lib.wrapCodec(lib.codecs.Map.with(lib.toCodec(lib.codecs.String), lib.toCodec(() => MetadataValueBox))) +export type MetadataChanged = { target: T0, key: lib.codecs.String, value: MetadataValueBox } +export const MetadataChanged = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['target', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } +export type MetadataError = lib.Enumerate<{ EmptyPath: [], EntryTooBig: [SizeError], MaxCapacity: [SizeError], MissingSegment: [lib.codecs.String], InvalidSegment: [lib.codecs.String] }> +export const MetadataError = { /** `EmptyPath` enum variant */ EmptyPath: lib.variant('EmptyPath'), /** Produce `EntryTooBig` enum variant */ EntryTooBig: (value: SizeError): MetadataError => lib.variant('EntryTooBig', value), /** Produce `MaxCapacity` enum variant */ MaxCapacity: (value: SizeError): MetadataError => lib.variant('MaxCapacity', value), /** Produce `MissingSegment` enum variant */ MissingSegment: (value: lib.codecs.String): MetadataError => lib.variant('MissingSegment', value), /** Produce `InvalidSegment` enum variant */ InvalidSegment: (value: lib.codecs.String): MetadataError => lib.variant('InvalidSegment', value), [lib.symbolCodec]: lib.enumCodec([[0, 'EmptyPath'], [1, 'EntryTooBig', lib.toCodec(() => SizeError)], [2, 'MaxCapacity', lib.toCodec(() => SizeError)], [3, 'MissingSegment', lib.toCodec(lib.codecs.String)], [4, 'InvalidSegment', lib.toCodec(lib.codecs.String)]]) } +export type MetadataValueBox = { enum: lib.Enumerate<{ Bool: [lib.codecs.Bool], String: [lib.codecs.String], Name: [lib.codecs.String], Bytes: [lib.codecs.BytesVec], Numeric: [Numeric], LimitedMetadata: [Metadata], Vec: [lib.codecs.Vec] }> } +export const MetadataValueBox: lib.EnumBoxValue = { /** Produce `Bool` enum variant */ Bool: (value: lib.codecs.Bool): MetadataValueBox => ({ enum: lib.variant('Bool', value) }), /** Produce `String` enum variant */ String: (value: lib.codecs.String): MetadataValueBox => ({ enum: lib.variant('String', value) }), /** Produce `Name` enum variant */ Name: (value: lib.codecs.String): MetadataValueBox => ({ enum: lib.variant('Name', value) }), /** Produce `Bytes` enum variant */ Bytes: (value: lib.codecs.BytesVec): MetadataValueBox => ({ enum: lib.variant('Bytes', value) }), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): MetadataValueBox => ({ enum: lib.variant('Numeric', value) }), /** Produce `LimitedMetadata` enum variant */ LimitedMetadata: (value: Metadata): MetadataValueBox => ({ enum: lib.variant('LimitedMetadata', value) }), /** Produce `Vec` enum variant */ Vec: (value: lib.codecs.Vec): MetadataValueBox => ({ enum: lib.variant('Vec', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Bool', lib.toCodec(lib.codecs.Bool)], [1, 'String', lib.toCodec(lib.codecs.String)], [2, 'Name', lib.toCodec(lib.codecs.String)], [3, 'Bytes', lib.toCodec(lib.codecs.BytesVec)], [4, 'Numeric', lib.toCodec(() => Numeric)], [5, 'LimitedMetadata', lib.toCodec(() => Metadata)], [6, 'Vec', lib.codecs.Vec.with(lib.toCodec(() => MetadataValueBox))]])) } +export type Mint = { object: T0, destination: T1 } +export const Mint = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } +export type MintBox = lib.Enumerate<{ Asset: [Mint], TriggerRepetitions: [Mint] }> +export const MintBox = { /** Produce `Asset` enum variant */ Asset: (value: Mint): MintBox => lib.variant('Asset', value), /** Produce `TriggerRepetitions` enum variant */ TriggerRepetitions: (value: Mint): MintBox => lib.variant('TriggerRepetitions', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => Mint.with(lib.toCodec(() => Numeric), lib.toCodec(() => AssetId)))], [1, 'TriggerRepetitions', lib.toCodec(() => Mint.with(lib.toCodec(lib.codecs.U32), lib.toCodec(() => TriggerId)))]]) } +export type MintabilityError = lib.Enumerate<{ MintUnmintable: [], ForbidMintOnMintable: [] }> +export const MintabilityError = { /** `MintUnmintable` enum variant */ MintUnmintable: lib.variant('MintUnmintable'), /** `ForbidMintOnMintable` enum variant */ ForbidMintOnMintable: lib.variant('ForbidMintOnMintable'), [lib.symbolCodec]: lib.enumCodec([[0, 'MintUnmintable'], [1, 'ForbidMintOnMintable']]) } +export type Mintable = lib.Enumerate<{ Infinitely: [], Once: [], Not: [] }> +export const Mintable = { /** `Infinitely` enum variant */ Infinitely: lib.variant('Infinitely'), /** `Once` enum variant */ Once: lib.variant('Once'), /** `Not` enum variant */ Not: lib.variant('Not'), [lib.symbolCodec]: lib.enumCodec([[0, 'Infinitely'], [1, 'Once'], [2, 'Not']]) } +export type NewAccount = { id: AccountId; metadata: Metadata; } +export const NewAccount = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['metadata', lib.toCodec(() => Metadata)]])) +export type NewAssetDefinition = { id: AssetDefinitionId; valueType: AssetValueType; mintable: Mintable; logo: lib.codecs.Option; metadata: Metadata; } +export const NewAssetDefinition = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['valueType', lib.toCodec(() => AssetValueType)], ['mintable', lib.toCodec(() => Mintable)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)]])) +export type NewDomain = { id: DomainId; logo: lib.codecs.Option; metadata: Metadata; } +export const NewDomain = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)]])) +export type NewParameter = { parameter: Parameter; } +export const NewParameter = lib.wrapCodec(lib.structCodec([['parameter', lib.toCodec(() => Parameter)]])) +export type NewRole = { inner: Role; } +export const NewRole = lib.wrapCodec(lib.structCodec([['inner', lib.toCodec(() => Role)]])) +export type NonTrivial = lib.codecs.Vec +export const NonTrivial = lib.wrapCodec(lib.codecs.Vec.with(lib.toCodec(() => PredicateBox))) +export type Numeric = { mantissa: lib.codecs.Compact; scale: lib.codecs.Compact; } +export const Numeric = lib.wrapCodec(lib.structCodec([['mantissa', lib.toCodec(lib.codecs.Compact)], ['scale', lib.toCodec(lib.codecs.Compact)]])) +export type NumericSpec = { scale: lib.codecs.Option; } +export const NumericSpec = lib.wrapCodec(lib.structCodec([['scale', lib.codecs.Option.with(lib.toCodec(lib.codecs.U32))]])) +export type Pagination = { limit: lib.codecs.Option>; start: lib.codecs.Option>; } +export const Pagination = lib.wrapCodec(lib.structCodec([['limit', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))], ['start', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))]])) +export type Parameter = { id: ParameterId; val: ParameterValueBox; } +export const Parameter = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => ParameterId)], ['val', lib.toCodec(() => ParameterValueBox)]])) +export type ParameterId = { name: lib.codecs.String; } +export const ParameterId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type ParameterValueBox = lib.Enumerate<{ TransactionLimits: [TransactionLimits], MetadataLimits: [Limits], LengthLimits: [LengthLimits], Numeric: [Numeric] }> +export const ParameterValueBox = { /** Produce `TransactionLimits` enum variant */ TransactionLimits: (value: TransactionLimits): ParameterValueBox => lib.variant('TransactionLimits', value), /** Produce `MetadataLimits` enum variant */ MetadataLimits: (value: Limits): ParameterValueBox => lib.variant('MetadataLimits', value), /** Produce `LengthLimits` enum variant */ LengthLimits: (value: LengthLimits): ParameterValueBox => lib.variant('LengthLimits', value), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): ParameterValueBox => lib.variant('Numeric', value), [lib.symbolCodec]: lib.enumCodec([[0, 'TransactionLimits', lib.toCodec(() => TransactionLimits)], [1, 'MetadataLimits', lib.toCodec(() => Limits)], [2, 'LengthLimits', lib.toCodec(() => LengthLimits)], [3, 'Numeric', lib.toCodec(() => Numeric)]]) } +export type Peer = { id: PeerId; } +export const Peer = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => PeerId)]])) +export type PeerEvent = lib.Enumerate<{ Added: [PeerId], Removed: [PeerId] }> +export const PeerEvent = { /** Produce `Added` enum variant */ Added: (value: PeerId): PeerEvent => lib.variant('Added', value), /** Produce `Removed` enum variant */ Removed: (value: PeerId): PeerEvent => lib.variant('Removed', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Added', lib.toCodec(() => PeerId)], [1, 'Removed', lib.toCodec(() => PeerId)]]) } +export type PeerEventFilter = { idMatcher: lib.codecs.Option; eventSet: PeerEventSet; } +export const PeerEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => PeerId))], ['eventSet', lib.toCodec(() => PeerEventSet)]])) +export type PeerEventSet = lib.codecs.U32 +export const PeerEventSet = { /** `Added` event bitmask. Use `|` to combine with other {@link PeerEventSet} bitmasks. */ Added: 1, /** `Removed` event bitmask. Use `|` to combine with other {@link PeerEventSet} bitmasks. */ Removed: 2, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type PeerId = { address: SocketAddr; publicKey: PublicKey; } +export const PeerId = lib.wrapCodec(lib.structCodec([['address', lib.toCodec(() => SocketAddr)], ['publicKey', lib.toCodec(() => PublicKey)]])) +export type Permission = { id: PermissionId; payload: lib.codecs.Json; } +export const Permission = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => PermissionId)], ['payload', lib.toCodec(lib.codecs.Json)]])) +export type PermissionId = { name: lib.codecs.String; } +export const PermissionId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type PipelineEventBox = lib.Enumerate<{ Transaction: [TransactionEvent], Block: [BlockEvent] }> +export const PipelineEventBox = { /** Produce `Transaction` enum variant */ Transaction: (value: TransactionEvent): PipelineEventBox => lib.variant('Transaction', value), /** Produce `Block` enum variant */ Block: (value: BlockEvent): PipelineEventBox => lib.variant('Block', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Transaction', lib.toCodec(() => TransactionEvent)], [1, 'Block', lib.toCodec(() => BlockEvent)]]) } +export type PipelineEventFilterBox = lib.Enumerate<{ Transaction: [TransactionEventFilter], Block: [BlockEventFilter] }> +export const PipelineEventFilterBox = { /** Produce `Transaction` enum variant */ Transaction: (value: TransactionEventFilter): PipelineEventFilterBox => lib.variant('Transaction', value), /** Produce `Block` enum variant */ Block: (value: BlockEventFilter): PipelineEventFilterBox => lib.variant('Block', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Transaction', lib.toCodec(() => TransactionEventFilter)], [1, 'Block', lib.toCodec(() => BlockEventFilter)]]) } +export type PredicateBox = { enum: lib.Enumerate<{ And: [NonTrivial], Or: [NonTrivial], Not: [PredicateBox], Raw: [QueryOutputPredicate] }> } +export const PredicateBox: lib.EnumBoxValue = { /** Produce `And` enum variant */ And: (value: NonTrivial): PredicateBox => ({ enum: lib.variant('And', value) }), /** Produce `Or` enum variant */ Or: (value: NonTrivial): PredicateBox => ({ enum: lib.variant('Or', value) }), /** Produce `Not` enum variant */ Not: (value: PredicateBox): PredicateBox => ({ enum: lib.variant('Not', value) }), /** Produce `Raw` enum variant */ Raw: (value: QueryOutputPredicate): PredicateBox => ({ enum: lib.variant('Raw', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'And', lib.toCodec(() => NonTrivial)], [1, 'Or', lib.toCodec(() => NonTrivial)], [2, 'Not', lib.toCodec(() => PredicateBox)], [3, 'Raw', lib.toCodec(() => QueryOutputPredicate)]])) } +export type PublicKey = { algorithm: Algorithm; payload: lib.codecs.BytesVec; } +export const PublicKey = lib.wrapCodec(lib.structCodec([['algorithm', lib.toCodec(() => Algorithm)], ['payload', lib.toCodec(lib.codecs.BytesVec)]])) +export type QueryBox = lib.Enumerate<{ FindAllAccounts: [], FindAccountById: [FindAccountById], FindAccountKeyValueByIdAndKey: [FindAccountKeyValueByIdAndKey], FindAccountsByDomainId: [FindAccountsByDomainId], FindAccountsWithAsset: [FindAccountsWithAsset], FindAllAssets: [], FindAllAssetsDefinitions: [], FindAssetById: [FindAssetById], FindAssetDefinitionById: [FindAssetDefinitionById], FindAssetsByName: [FindAssetsByName], FindAssetsByAccountId: [FindAssetsByAccountId], FindAssetsByAssetDefinitionId: [FindAssetsByAssetDefinitionId], FindAssetsByDomainId: [FindAssetsByDomainId], FindAssetsByDomainIdAndAssetDefinitionId: [FindAssetsByDomainIdAndAssetDefinitionId], FindAssetQuantityById: [FindAssetQuantityById], FindTotalAssetQuantityByAssetDefinitionId: [FindTotalAssetQuantityByAssetDefinitionId], FindAssetKeyValueByIdAndKey: [FindAssetKeyValueByIdAndKey], FindAssetDefinitionKeyValueByIdAndKey: [FindAssetDefinitionKeyValueByIdAndKey], FindAllDomains: [], FindDomainById: [FindDomainById], FindDomainKeyValueByIdAndKey: [FindDomainKeyValueByIdAndKey], FindAllPeers: [], FindAllBlocks: [], FindAllBlockHeaders: [], FindBlockHeaderByHash: [FindBlockHeaderByHash], FindAllTransactions: [], FindTransactionsByAccountId: [FindTransactionsByAccountId], FindTransactionByHash: [FindTransactionByHash], FindPermissionsByAccountId: [FindPermissionsByAccountId], FindExecutorDataModel: [], FindAllActiveTriggerIds: [], FindTriggerById: [FindTriggerById], FindTriggerKeyValueByIdAndKey: [FindTriggerKeyValueByIdAndKey], FindTriggersByAuthorityId: [FindTriggersByAuthorityId], FindTriggersByAuthorityDomainId: [FindTriggersByAuthorityDomainId], FindAllRoles: [], FindAllRoleIds: [], FindRoleByRoleId: [FindRoleByRoleId], FindRolesByAccountId: [FindRolesByAccountId], FindAllParameters: [] }> +export const QueryBox = { /** `FindAllAccounts` enum variant */ FindAllAccounts: lib.variant('FindAllAccounts'), /** Produce `FindAccountById` enum variant */ FindAccountById: (value: FindAccountById): QueryBox => lib.variant('FindAccountById', value), /** Produce `FindAccountKeyValueByIdAndKey` enum variant */ FindAccountKeyValueByIdAndKey: (value: FindAccountKeyValueByIdAndKey): QueryBox => lib.variant('FindAccountKeyValueByIdAndKey', value), /** Produce `FindAccountsByDomainId` enum variant */ FindAccountsByDomainId: (value: FindAccountsByDomainId): QueryBox => lib.variant('FindAccountsByDomainId', value), /** Produce `FindAccountsWithAsset` enum variant */ FindAccountsWithAsset: (value: FindAccountsWithAsset): QueryBox => lib.variant('FindAccountsWithAsset', value), /** `FindAllAssets` enum variant */ FindAllAssets: lib.variant('FindAllAssets'), /** `FindAllAssetsDefinitions` enum variant */ FindAllAssetsDefinitions: lib.variant('FindAllAssetsDefinitions'), /** Produce `FindAssetById` enum variant */ FindAssetById: (value: FindAssetById): QueryBox => lib.variant('FindAssetById', value), /** Produce `FindAssetDefinitionById` enum variant */ FindAssetDefinitionById: (value: FindAssetDefinitionById): QueryBox => lib.variant('FindAssetDefinitionById', value), /** Produce `FindAssetsByName` enum variant */ FindAssetsByName: (value: FindAssetsByName): QueryBox => lib.variant('FindAssetsByName', value), /** Produce `FindAssetsByAccountId` enum variant */ FindAssetsByAccountId: (value: FindAssetsByAccountId): QueryBox => lib.variant('FindAssetsByAccountId', value), /** Produce `FindAssetsByAssetDefinitionId` enum variant */ FindAssetsByAssetDefinitionId: (value: FindAssetsByAssetDefinitionId): QueryBox => lib.variant('FindAssetsByAssetDefinitionId', value), /** Produce `FindAssetsByDomainId` enum variant */ FindAssetsByDomainId: (value: FindAssetsByDomainId): QueryBox => lib.variant('FindAssetsByDomainId', value), /** Produce `FindAssetsByDomainIdAndAssetDefinitionId` enum variant */ FindAssetsByDomainIdAndAssetDefinitionId: (value: FindAssetsByDomainIdAndAssetDefinitionId): QueryBox => lib.variant('FindAssetsByDomainIdAndAssetDefinitionId', value), /** Produce `FindAssetQuantityById` enum variant */ FindAssetQuantityById: (value: FindAssetQuantityById): QueryBox => lib.variant('FindAssetQuantityById', value), /** Produce `FindTotalAssetQuantityByAssetDefinitionId` enum variant */ FindTotalAssetQuantityByAssetDefinitionId: (value: FindTotalAssetQuantityByAssetDefinitionId): QueryBox => lib.variant('FindTotalAssetQuantityByAssetDefinitionId', value), /** Produce `FindAssetKeyValueByIdAndKey` enum variant */ FindAssetKeyValueByIdAndKey: (value: FindAssetKeyValueByIdAndKey): QueryBox => lib.variant('FindAssetKeyValueByIdAndKey', value), /** Produce `FindAssetDefinitionKeyValueByIdAndKey` enum variant */ FindAssetDefinitionKeyValueByIdAndKey: (value: FindAssetDefinitionKeyValueByIdAndKey): QueryBox => lib.variant('FindAssetDefinitionKeyValueByIdAndKey', value), /** `FindAllDomains` enum variant */ FindAllDomains: lib.variant('FindAllDomains'), /** Produce `FindDomainById` enum variant */ FindDomainById: (value: FindDomainById): QueryBox => lib.variant('FindDomainById', value), /** Produce `FindDomainKeyValueByIdAndKey` enum variant */ FindDomainKeyValueByIdAndKey: (value: FindDomainKeyValueByIdAndKey): QueryBox => lib.variant('FindDomainKeyValueByIdAndKey', value), /** `FindAllPeers` enum variant */ FindAllPeers: lib.variant('FindAllPeers'), /** `FindAllBlocks` enum variant */ FindAllBlocks: lib.variant('FindAllBlocks'), /** `FindAllBlockHeaders` enum variant */ FindAllBlockHeaders: lib.variant('FindAllBlockHeaders'), /** Produce `FindBlockHeaderByHash` enum variant */ FindBlockHeaderByHash: (value: FindBlockHeaderByHash): QueryBox => lib.variant('FindBlockHeaderByHash', value), /** `FindAllTransactions` enum variant */ FindAllTransactions: lib.variant('FindAllTransactions'), /** Produce `FindTransactionsByAccountId` enum variant */ FindTransactionsByAccountId: (value: FindTransactionsByAccountId): QueryBox => lib.variant('FindTransactionsByAccountId', value), /** Produce `FindTransactionByHash` enum variant */ FindTransactionByHash: (value: FindTransactionByHash): QueryBox => lib.variant('FindTransactionByHash', value), /** Produce `FindPermissionsByAccountId` enum variant */ FindPermissionsByAccountId: (value: FindPermissionsByAccountId): QueryBox => lib.variant('FindPermissionsByAccountId', value), /** `FindExecutorDataModel` enum variant */ FindExecutorDataModel: lib.variant('FindExecutorDataModel'), /** `FindAllActiveTriggerIds` enum variant */ FindAllActiveTriggerIds: lib.variant('FindAllActiveTriggerIds'), /** Produce `FindTriggerById` enum variant */ FindTriggerById: (value: FindTriggerById): QueryBox => lib.variant('FindTriggerById', value), /** Produce `FindTriggerKeyValueByIdAndKey` enum variant */ FindTriggerKeyValueByIdAndKey: (value: FindTriggerKeyValueByIdAndKey): QueryBox => lib.variant('FindTriggerKeyValueByIdAndKey', value), /** Produce `FindTriggersByAuthorityId` enum variant */ FindTriggersByAuthorityId: (value: FindTriggersByAuthorityId): QueryBox => lib.variant('FindTriggersByAuthorityId', value), /** Produce `FindTriggersByAuthorityDomainId` enum variant */ FindTriggersByAuthorityDomainId: (value: FindTriggersByAuthorityDomainId): QueryBox => lib.variant('FindTriggersByAuthorityDomainId', value), /** `FindAllRoles` enum variant */ FindAllRoles: lib.variant('FindAllRoles'), /** `FindAllRoleIds` enum variant */ FindAllRoleIds: lib.variant('FindAllRoleIds'), /** Produce `FindRoleByRoleId` enum variant */ FindRoleByRoleId: (value: FindRoleByRoleId): QueryBox => lib.variant('FindRoleByRoleId', value), /** Produce `FindRolesByAccountId` enum variant */ FindRolesByAccountId: (value: FindRolesByAccountId): QueryBox => lib.variant('FindRolesByAccountId', value), /** `FindAllParameters` enum variant */ FindAllParameters: lib.variant('FindAllParameters'), [lib.symbolCodec]: lib.enumCodec([[0, 'FindAllAccounts'], [1, 'FindAccountById', lib.toCodec(() => FindAccountById)], [2, 'FindAccountKeyValueByIdAndKey', lib.toCodec(() => FindAccountKeyValueByIdAndKey)], [3, 'FindAccountsByDomainId', lib.toCodec(() => FindAccountsByDomainId)], [4, 'FindAccountsWithAsset', lib.toCodec(() => FindAccountsWithAsset)], [5, 'FindAllAssets'], [6, 'FindAllAssetsDefinitions'], [7, 'FindAssetById', lib.toCodec(() => FindAssetById)], [8, 'FindAssetDefinitionById', lib.toCodec(() => FindAssetDefinitionById)], [9, 'FindAssetsByName', lib.toCodec(() => FindAssetsByName)], [10, 'FindAssetsByAccountId', lib.toCodec(() => FindAssetsByAccountId)], [11, 'FindAssetsByAssetDefinitionId', lib.toCodec(() => FindAssetsByAssetDefinitionId)], [12, 'FindAssetsByDomainId', lib.toCodec(() => FindAssetsByDomainId)], [13, 'FindAssetsByDomainIdAndAssetDefinitionId', lib.toCodec(() => FindAssetsByDomainIdAndAssetDefinitionId)], [14, 'FindAssetQuantityById', lib.toCodec(() => FindAssetQuantityById)], [15, 'FindTotalAssetQuantityByAssetDefinitionId', lib.toCodec(() => FindTotalAssetQuantityByAssetDefinitionId)], [16, 'FindAssetKeyValueByIdAndKey', lib.toCodec(() => FindAssetKeyValueByIdAndKey)], [17, 'FindAssetDefinitionKeyValueByIdAndKey', lib.toCodec(() => FindAssetDefinitionKeyValueByIdAndKey)], [18, 'FindAllDomains'], [19, 'FindDomainById', lib.toCodec(() => FindDomainById)], [20, 'FindDomainKeyValueByIdAndKey', lib.toCodec(() => FindDomainKeyValueByIdAndKey)], [21, 'FindAllPeers'], [22, 'FindAllBlocks'], [23, 'FindAllBlockHeaders'], [24, 'FindBlockHeaderByHash', lib.toCodec(() => FindBlockHeaderByHash)], [25, 'FindAllTransactions'], [26, 'FindTransactionsByAccountId', lib.toCodec(() => FindTransactionsByAccountId)], [27, 'FindTransactionByHash', lib.toCodec(() => FindTransactionByHash)], [28, 'FindPermissionsByAccountId', lib.toCodec(() => FindPermissionsByAccountId)], [29, 'FindExecutorDataModel'], [30, 'FindAllActiveTriggerIds'], [31, 'FindTriggerById', lib.toCodec(() => FindTriggerById)], [32, 'FindTriggerKeyValueByIdAndKey', lib.toCodec(() => FindTriggerKeyValueByIdAndKey)], [33, 'FindTriggersByAuthorityId', lib.toCodec(() => FindTriggersByAuthorityId)], [34, 'FindTriggersByAuthorityDomainId', lib.toCodec(() => FindTriggersByAuthorityDomainId)], [35, 'FindAllRoles'], [36, 'FindAllRoleIds'], [37, 'FindRoleByRoleId', lib.toCodec(() => FindRoleByRoleId)], [38, 'FindRolesByAccountId', lib.toCodec(() => FindRolesByAccountId)], [39, 'FindAllParameters']]) } +export type QueryExecutionFail = lib.Enumerate<{ Find: [FindError], Conversion: [lib.codecs.String], UnknownCursor: [], FetchSizeTooBig: [], InvalidSingularParameters: [] }> +export const QueryExecutionFail = { /** Produce `Find` enum variant */ Find: (value: FindError): QueryExecutionFail => lib.variant('Find', value), /** Produce `Conversion` enum variant */ Conversion: (value: lib.codecs.String): QueryExecutionFail => lib.variant('Conversion', value), /** `UnknownCursor` enum variant */ UnknownCursor: lib.variant('UnknownCursor'), /** `FetchSizeTooBig` enum variant */ FetchSizeTooBig: lib.variant('FetchSizeTooBig'), /** `InvalidSingularParameters` enum variant */ InvalidSingularParameters: lib.variant('InvalidSingularParameters'), [lib.symbolCodec]: lib.enumCodec([[0, 'Find', lib.toCodec(() => FindError)], [1, 'Conversion', lib.toCodec(lib.codecs.String)], [2, 'UnknownCursor'], [3, 'FetchSizeTooBig'], [4, 'InvalidSingularParameters']]) } +export type QueryOutputBox = { enum: lib.Enumerate<{ Id: [IdBox], Identifiable: [IdentifiableBox], Transaction: [TransactionQueryOutput], Permission: [Permission], LimitedMetadata: [MetadataValueBox], Numeric: [Numeric], BlockHeader: [BlockHeader], Block: [SignedBlock], ExecutorDataModel: [ExecutorDataModel], Vec: [lib.codecs.Vec] }> } +export const QueryOutputBox: lib.EnumBoxValue = { /** Produce `Id` enum variant */ Id: (value: IdBox): QueryOutputBox => ({ enum: lib.variant('Id', value) }), /** Produce `Identifiable` enum variant */ Identifiable: (value: IdentifiableBox): QueryOutputBox => ({ enum: lib.variant('Identifiable', value) }), /** Produce `Transaction` enum variant */ Transaction: (value: TransactionQueryOutput): QueryOutputBox => ({ enum: lib.variant('Transaction', value) }), /** Produce `Permission` enum variant */ Permission: (value: Permission): QueryOutputBox => ({ enum: lib.variant('Permission', value) }), /** Produce `LimitedMetadata` enum variant */ LimitedMetadata: (value: MetadataValueBox): QueryOutputBox => ({ enum: lib.variant('LimitedMetadata', value) }), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): QueryOutputBox => ({ enum: lib.variant('Numeric', value) }), /** Produce `BlockHeader` enum variant */ BlockHeader: (value: BlockHeader): QueryOutputBox => ({ enum: lib.variant('BlockHeader', value) }), /** Produce `Block` enum variant */ Block: (value: SignedBlock): QueryOutputBox => ({ enum: lib.variant('Block', value) }), /** Produce `ExecutorDataModel` enum variant */ ExecutorDataModel: (value: ExecutorDataModel): QueryOutputBox => ({ enum: lib.variant('ExecutorDataModel', value) }), /** Produce `Vec` enum variant */ Vec: (value: lib.codecs.Vec): QueryOutputBox => ({ enum: lib.variant('Vec', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Id', lib.toCodec(() => IdBox)], [1, 'Identifiable', lib.toCodec(() => IdentifiableBox)], [2, 'Transaction', lib.toCodec(() => TransactionQueryOutput)], [3, 'Permission', lib.toCodec(() => Permission)], [4, 'LimitedMetadata', lib.toCodec(() => MetadataValueBox)], [5, 'Numeric', lib.toCodec(() => Numeric)], [6, 'BlockHeader', lib.toCodec(() => BlockHeader)], [7, 'Block', lib.toCodec(() => SignedBlock)], [8, 'ExecutorDataModel', lib.toCodec(() => ExecutorDataModel)], [9, 'Vec', lib.codecs.Vec.with(lib.toCodec(() => QueryOutputBox))]])) } +export type QueryOutputPredicate = { enum: lib.Enumerate<{ Identifiable: [StringPredicate], Container: [Container], Display: [StringPredicate], Numerical: [SemiRange], TimeStamp: [SemiInterval], Pass: [] }> } +export const QueryOutputPredicate: lib.EnumBoxValue = { /** Produce `Identifiable` enum variant */ Identifiable: (value: StringPredicate): QueryOutputPredicate => ({ enum: lib.variant('Identifiable', value) }), /** Produce `Container` enum variant */ Container: (value: Container): QueryOutputPredicate => ({ enum: lib.variant('Container', value) }), /** Produce `Display` enum variant */ Display: (value: StringPredicate): QueryOutputPredicate => ({ enum: lib.variant('Display', value) }), /** Produce `Numerical` enum variant */ Numerical: (value: SemiRange): QueryOutputPredicate => ({ enum: lib.variant('Numerical', value) }), /** Produce `TimeStamp` enum variant */ TimeStamp: (value: SemiInterval): QueryOutputPredicate => ({ enum: lib.variant('TimeStamp', value) }), /** `Pass` enum variant */ Pass: { enum: lib.variant('Pass') }, [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Identifiable', lib.toCodec(() => StringPredicate)], [1, 'Container', lib.toCodec(() => Container)], [2, 'Display', lib.toCodec(() => StringPredicate)], [3, 'Numerical', lib.toCodec(() => SemiRange)], [4, 'TimeStamp', lib.toCodec(() => SemiInterval.with(lib.toCodec(lib.codecs.U128)))], [5, 'Pass']])) } +export type Register = { object: T0 } +export const Register = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0]]) } } +export type RegisterBox = lib.Enumerate<{ Peer: [Register], Domain: [Register], Account: [Register], AssetDefinition: [Register], Asset: [Register], Role: [Register], Trigger: [Register] }> +export const RegisterBox = { /** Produce `Peer` enum variant */ Peer: (value: Register): RegisterBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Register): RegisterBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Register): RegisterBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Register): RegisterBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Register): RegisterBox => lib.variant('Asset', value), /** Produce `Role` enum variant */ Role: (value: Register): RegisterBox => lib.variant('Role', value), /** Produce `Trigger` enum variant */ Trigger: (value: Register): RegisterBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => Register.with(lib.toCodec(() => Peer)))], [1, 'Domain', lib.toCodec(() => Register.with(lib.toCodec(() => NewDomain)))], [2, 'Account', lib.toCodec(() => Register.with(lib.toCodec(() => NewAccount)))], [3, 'AssetDefinition', lib.toCodec(() => Register.with(lib.toCodec(() => NewAssetDefinition)))], [4, 'Asset', lib.toCodec(() => Register.with(lib.toCodec(() => Asset)))], [5, 'Role', lib.toCodec(() => Register.with(lib.toCodec(() => NewRole)))], [6, 'Trigger', lib.toCodec(() => Register.with(lib.toCodec(() => Trigger)))]]) } +export type RemoveKeyValue = { object: T0, key: lib.codecs.String, value: MetadataValueBox } +export const RemoveKeyValue = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } +export type RemoveKeyValueBox = lib.Enumerate<{ Domain: [RemoveKeyValue], Account: [RemoveKeyValue], AssetDefinition: [RemoveKeyValue], Asset: [RemoveKeyValue], Trigger: [RemoveKeyValue] }> +export const RemoveKeyValueBox = { /** Produce `Domain` enum variant */ Domain: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Domain)))], [1, 'Account', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Account)))], [2, 'AssetDefinition', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => AssetDefinition)))], [3, 'Asset', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Asset)))], [4, 'Trigger', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Trigger)))]]) } +export type Repeats = lib.Enumerate<{ Indefinitely: [], Exactly: [lib.codecs.U32] }> +export const Repeats = { /** `Indefinitely` enum variant */ Indefinitely: lib.variant('Indefinitely'), /** Produce `Exactly` enum variant */ Exactly: (value: lib.codecs.U32): Repeats => lib.variant('Exactly', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Indefinitely'], [1, 'Exactly', lib.toCodec(lib.codecs.U32)]]) } +export type RepetitionError = { instructionType: InstructionType; id: IdBox; } +export const RepetitionError = lib.wrapCodec(lib.structCodec([['instructionType', lib.toCodec(() => InstructionType)], ['id', lib.toCodec(() => IdBox)]])) +export type Revoke = { object: T0, destination: T1 } +export const Revoke = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } +export type RevokeBox = lib.Enumerate<{ Permission: [Revoke], Role: [Revoke], RolePermission: [Revoke] }> +export const RevokeBox = { /** Produce `Permission` enum variant */ Permission: (value: Revoke): RevokeBox => lib.variant('Permission', value), /** Produce `Role` enum variant */ Role: (value: Revoke): RevokeBox => lib.variant('Role', value), /** Produce `RolePermission` enum variant */ RolePermission: (value: Revoke): RevokeBox => lib.variant('RolePermission', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Permission', lib.toCodec(() => Revoke.with(lib.toCodec(() => Permission), lib.toCodec(() => AccountId)))], [1, 'Role', lib.toCodec(() => Revoke.with(lib.toCodec(() => RoleId), lib.toCodec(() => AccountId)))], [2, 'RolePermission', lib.toCodec(() => Revoke.with(lib.toCodec(() => Permission), lib.toCodec(() => RoleId)))]]) } +export type Role = { id: RoleId; permissions: lib.codecs.Vec; } +export const Role = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => RoleId)], ['permissions', lib.codecs.Vec.with(lib.toCodec(() => Permission))]])) +export type RoleEvent = lib.Enumerate<{ Created: [Role], Deleted: [RoleId], PermissionRemoved: [RolePermissionChanged], PermissionAdded: [RolePermissionChanged] }> +export const RoleEvent = { /** Produce `Created` enum variant */ Created: (value: Role): RoleEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: RoleId): RoleEvent => lib.variant('Deleted', value), /** Produce `PermissionRemoved` enum variant */ PermissionRemoved: (value: RolePermissionChanged): RoleEvent => lib.variant('PermissionRemoved', value), /** Produce `PermissionAdded` enum variant */ PermissionAdded: (value: RolePermissionChanged): RoleEvent => lib.variant('PermissionAdded', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => Role)], [1, 'Deleted', lib.toCodec(() => RoleId)], [2, 'PermissionRemoved', lib.toCodec(() => RolePermissionChanged)], [3, 'PermissionAdded', lib.toCodec(() => RolePermissionChanged)]]) } +export type RoleEventFilter = { idMatcher: lib.codecs.Option; eventSet: RoleEventSet; } +export const RoleEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => RoleId))], ['eventSet', lib.toCodec(() => RoleEventSet)]])) +export type RoleEventSet = lib.codecs.U32 +export const RoleEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ Deleted: 2, /** `PermissionRemoved` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ PermissionRemoved: 4, /** `PermissionAdded` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ PermissionAdded: 8, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type RoleId = { name: lib.codecs.String; } +export const RoleId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type RolePermissionChanged = { role: RoleId; permission: PermissionId; } +export const RolePermissionChanged = lib.wrapCodec(lib.structCodec([['role', lib.toCodec(() => RoleId)], ['permission', lib.toCodec(() => PermissionId)]])) +export type Schedule = { start: Duration; period: lib.codecs.Option; } +export const Schedule = lib.wrapCodec(lib.structCodec([['start', lib.toCodec(() => Duration)], ['period', lib.codecs.Option.with(lib.toCodec(() => Duration))]])) +export type SemiInterval = { start: T0, limit: T0 } +export const SemiInterval = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['start', codec0], ['limit', codec0]]) } } +export type SemiRange = lib.Enumerate<{ Numeric: [SemiInterval] }> +export const SemiRange = { /** Produce `Numeric` enum variant */ Numeric: (value: SemiInterval): SemiRange => lib.variant('Numeric', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => SemiInterval.with(lib.toCodec(() => Numeric)))]]) } +export type SetKeyValue = { object: T0, key: lib.codecs.String, value: MetadataValueBox } +export const SetKeyValue = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } +export type SetKeyValueBox = lib.Enumerate<{ Domain: [SetKeyValue], Account: [SetKeyValue], AssetDefinition: [SetKeyValue], Asset: [SetKeyValue], Trigger: [SetKeyValue] }> +export const SetKeyValueBox = { /** Produce `Domain` enum variant */ Domain: (value: SetKeyValue): SetKeyValueBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: SetKeyValue): SetKeyValueBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: SetKeyValue): SetKeyValueBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: SetKeyValue): SetKeyValueBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: SetKeyValue): SetKeyValueBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Domain)))], [1, 'Account', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Account)))], [2, 'AssetDefinition', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => AssetDefinition)))], [3, 'Asset', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Asset)))], [4, 'Trigger', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Trigger)))]]) } +export type SetParameter = { parameter: Parameter; } +export const SetParameter = lib.wrapCodec(lib.structCodec([['parameter', lib.toCodec(() => Parameter)]])) +export type Signature = { payload: lib.codecs.BytesVec; } +export const Signature = lib.wrapCodec(lib.structCodec([['payload', lib.toCodec(lib.codecs.BytesVec)]])) +export type SignedBlock = lib.Enumerate<{ V1: [SignedBlockV1] }> +export const SignedBlock = { /** Produce `V1` enum variant */ V1: (value: SignedBlockV1): SignedBlock => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedBlockV1)]]) } +export type SignedBlockV1 = { signatures: lib.codecs.Vec; payload: BlockPayload; } +export const SignedBlockV1 = lib.wrapCodec(lib.structCodec([['signatures', lib.codecs.Vec.with(lib.toCodec(() => BlockSignature))], ['payload', lib.toCodec(() => BlockPayload)]])) +export type SignedQuery = lib.Enumerate<{ V1: [SignedQueryV1] }> +export const SignedQuery = { /** Produce `V1` enum variant */ V1: (value: SignedQueryV1): SignedQuery => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedQueryV1)]]) } +export type SignedQueryV1 = { signature: Signature; payload: ClientQueryPayload; } +export const SignedQueryV1 = lib.wrapCodec(lib.structCodec([['signature', lib.toCodec(() => Signature)], ['payload', lib.toCodec(() => ClientQueryPayload)]])) +export type SignedTransaction = lib.Enumerate<{ V1: [SignedTransactionV1] }> +export const SignedTransaction = { /** Produce `V1` enum variant */ V1: (value: SignedTransactionV1): SignedTransaction => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedTransactionV1)]]) } +export type SignedTransactionV1 = { signature: Signature; payload: TransactionPayload; } +export const SignedTransactionV1 = lib.wrapCodec(lib.structCodec([['signature', lib.toCodec(() => Signature)], ['payload', lib.toCodec(() => TransactionPayload)]])) +export type SizeError = { limits: Limits; actual: lib.codecs.U64; } +export const SizeError = lib.wrapCodec(lib.structCodec([['limits', lib.toCodec(() => Limits)], ['actual', lib.toCodec(lib.codecs.U64)]])) +export type SocketAddr = lib.Enumerate<{ Ipv4: [SocketAddrV4], Ipv6: [SocketAddrV6], Host: [SocketAddrHost] }> +export const SocketAddr = { /** Produce `Ipv4` enum variant */ Ipv4: (value: SocketAddrV4): SocketAddr => lib.variant('Ipv4', value), /** Produce `Ipv6` enum variant */ Ipv6: (value: SocketAddrV6): SocketAddr => lib.variant('Ipv6', value), /** Produce `Host` enum variant */ Host: (value: SocketAddrHost): SocketAddr => lib.variant('Host', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Ipv4', lib.toCodec(() => SocketAddrV4)], [1, 'Ipv6', lib.toCodec(() => SocketAddrV6)], [2, 'Host', lib.toCodec(() => SocketAddrHost)]]) } +export type SocketAddrHost = { host: lib.codecs.String; port: lib.codecs.U16; } +export const SocketAddrHost = lib.wrapCodec(lib.structCodec([['host', lib.toCodec(lib.codecs.String)], ['port', lib.toCodec(lib.codecs.U16)]])) +export type SocketAddrV4 = { ip: Ipv4Addr; port: lib.codecs.U16; } +export const SocketAddrV4 = lib.wrapCodec(lib.structCodec([['ip', lib.toCodec(() => Ipv4Addr)], ['port', lib.toCodec(lib.codecs.U16)]])) +export type SocketAddrV6 = { ip: Ipv6Addr; port: lib.codecs.U16; } +export const SocketAddrV6 = lib.wrapCodec(lib.structCodec([['ip', lib.toCodec(() => Ipv6Addr)], ['port', lib.toCodec(lib.codecs.U16)]])) +export type Sorting = { sortByMetadataKey: lib.codecs.Option; } +export const Sorting = lib.wrapCodec(lib.structCodec([['sortByMetadataKey', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))]])) +export type StringPredicate = lib.Enumerate<{ Contains: [lib.codecs.String], StartsWith: [lib.codecs.String], EndsWith: [lib.codecs.String], Is: [lib.codecs.String] }> +export const StringPredicate = { /** Produce `Contains` enum variant */ Contains: (value: lib.codecs.String): StringPredicate => lib.variant('Contains', value), /** Produce `StartsWith` enum variant */ StartsWith: (value: lib.codecs.String): StringPredicate => lib.variant('StartsWith', value), /** Produce `EndsWith` enum variant */ EndsWith: (value: lib.codecs.String): StringPredicate => lib.variant('EndsWith', value), /** Produce `Is` enum variant */ Is: (value: lib.codecs.String): StringPredicate => lib.variant('Is', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Contains', lib.toCodec(lib.codecs.String)], [1, 'StartsWith', lib.toCodec(lib.codecs.String)], [2, 'EndsWith', lib.toCodec(lib.codecs.String)], [3, 'Is', lib.toCodec(lib.codecs.String)]]) } +export type TimeEvent = { prevInterval: lib.codecs.Option; interval: TimeInterval; } +export const TimeEvent = lib.wrapCodec(lib.structCodec([['prevInterval', lib.codecs.Option.with(lib.toCodec(() => TimeInterval))], ['interval', lib.toCodec(() => TimeInterval)]])) +export type TimeInterval = { since: Duration; length: Duration; } +export const TimeInterval = lib.wrapCodec(lib.structCodec([['since', lib.toCodec(() => Duration)], ['length', lib.toCodec(() => Duration)]])) +export type TransactionEvent = { hash: Hash; blockHeight: lib.codecs.Option; status: TransactionStatus; } +export const TransactionEvent = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)], ['blockHeight', lib.codecs.Option.with(lib.toCodec(lib.codecs.U64))], ['status', lib.toCodec(() => TransactionStatus)]])) +export type TransactionEventFilter = { hash: lib.codecs.Option; blockHeight: lib.codecs.Option>; status: lib.codecs.Option; } +export const TransactionEventFilter = lib.wrapCodec(lib.structCodec([['hash', lib.codecs.Option.with(lib.toCodec(() => Hash))], ['blockHeight', lib.codecs.Option.with(lib.codecs.Option.with(lib.toCodec(lib.codecs.U64)))], ['status', lib.codecs.Option.with(lib.toCodec(() => TransactionStatus))]])) +export type TransactionLimitError = { reason: lib.codecs.String; } +export const TransactionLimitError = lib.wrapCodec(lib.structCodec([['reason', lib.toCodec(lib.codecs.String)]])) +export type TransactionLimits = { maxInstructionNumber: lib.codecs.U64; maxWasmSizeBytes: lib.codecs.U64; } +export const TransactionLimits = lib.wrapCodec(lib.structCodec([['maxInstructionNumber', lib.toCodec(lib.codecs.U64)], ['maxWasmSizeBytes', lib.toCodec(lib.codecs.U64)]])) +export type TransactionPayload = { chain: lib.codecs.String; authority: AccountId; creationTimeMs: lib.codecs.U64; instructions: Executable; timeToLiveMs: lib.codecs.Option>; nonce: lib.codecs.Option>; metadata: lib.codecs.Map; } +export const TransactionPayload = lib.wrapCodec(lib.structCodec([['chain', lib.toCodec(lib.codecs.String)], ['authority', lib.toCodec(() => AccountId)], ['creationTimeMs', lib.toCodec(lib.codecs.U64)], ['instructions', lib.toCodec(() => Executable)], ['timeToLiveMs', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))], ['nonce', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))], ['metadata', lib.codecs.Map.with(lib.toCodec(lib.codecs.String), lib.toCodec(() => MetadataValueBox))]])) +export type TransactionQueryOutput = { blockHash: Hash; transaction: CommittedTransaction; } +export const TransactionQueryOutput = lib.wrapCodec(lib.structCodec([['blockHash', lib.toCodec(() => Hash)], ['transaction', lib.toCodec(() => CommittedTransaction)]])) +export type TransactionRejectionReason = lib.Enumerate<{ AccountDoesNotExist: [FindError], LimitCheck: [TransactionLimitError], Validation: [ValidationFail], InstructionExecution: [InstructionExecutionFail], WasmExecution: [WasmExecutionFail] }> +export const TransactionRejectionReason = { /** Produce `AccountDoesNotExist` enum variant */ AccountDoesNotExist: (value: FindError): TransactionRejectionReason => lib.variant('AccountDoesNotExist', value), /** Produce `LimitCheck` enum variant */ LimitCheck: (value: TransactionLimitError): TransactionRejectionReason => lib.variant('LimitCheck', value), /** Produce `Validation` enum variant */ Validation: (value: ValidationFail): TransactionRejectionReason => lib.variant('Validation', value), /** Produce `InstructionExecution` enum variant */ InstructionExecution: (value: InstructionExecutionFail): TransactionRejectionReason => lib.variant('InstructionExecution', value), /** Produce `WasmExecution` enum variant */ WasmExecution: (value: WasmExecutionFail): TransactionRejectionReason => lib.variant('WasmExecution', value), [lib.symbolCodec]: lib.enumCodec([[0, 'AccountDoesNotExist', lib.toCodec(() => FindError)], [1, 'LimitCheck', lib.toCodec(() => TransactionLimitError)], [2, 'Validation', lib.toCodec(() => ValidationFail)], [3, 'InstructionExecution', lib.toCodec(() => InstructionExecutionFail)], [4, 'WasmExecution', lib.toCodec(() => WasmExecutionFail)]]) } +export type TransactionStatus = lib.Enumerate<{ Queued: [], Expired: [], Approved: [], Rejected: [TransactionRejectionReason] }> +export const TransactionStatus = { /** `Queued` enum variant */ Queued: lib.variant('Queued'), /** `Expired` enum variant */ Expired: lib.variant('Expired'), /** `Approved` enum variant */ Approved: lib.variant('Approved'), /** Produce `Rejected` enum variant */ Rejected: (value: TransactionRejectionReason): TransactionStatus => lib.variant('Rejected', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Queued'], [1, 'Expired'], [2, 'Approved'], [3, 'Rejected', lib.toCodec(() => TransactionRejectionReason)]]) } +export type Transfer = { source: T0, object: T1, destination: T2 } +export const Transfer = { with: (codec0: lib.Codec,codec1: lib.Codec,codec2: lib.Codec): lib.Codec> => { return lib.structCodec([['source', codec0], ['object', codec1], ['destination', codec2]]) } } +export type TransferBox = lib.Enumerate<{ Domain: [Transfer], AssetDefinition: [Transfer], Asset: [AssetTransferBox] }> +export const TransferBox = { /** Produce `Domain` enum variant */ Domain: (value: Transfer): TransferBox => lib.variant('Domain', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Transfer): TransferBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: AssetTransferBox): TransferBox => lib.variant('Asset', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => Transfer.with(lib.toCodec(() => AccountId), lib.toCodec(() => DomainId), lib.toCodec(() => AccountId)))], [1, 'AssetDefinition', lib.toCodec(() => Transfer.with(lib.toCodec(() => AccountId), lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => AccountId)))], [2, 'Asset', lib.toCodec(() => AssetTransferBox)]]) } +export type Trigger = { id: TriggerId; action: Action; } +export const Trigger = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)], ['action', lib.toCodec(() => Action)]])) +export type TriggerCompletedEvent = { triggerId: TriggerId; outcome: TriggerCompletedOutcome; } +export const TriggerCompletedEvent = lib.wrapCodec(lib.structCodec([['triggerId', lib.toCodec(() => TriggerId)], ['outcome', lib.toCodec(() => TriggerCompletedOutcome)]])) +export type TriggerCompletedEventFilter = { triggerId: lib.codecs.Option; outcomeType: lib.codecs.Option; } +export const TriggerCompletedEventFilter = lib.wrapCodec(lib.structCodec([['triggerId', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['outcomeType', lib.codecs.Option.with(lib.toCodec(() => TriggerCompletedOutcomeType))]])) +export type TriggerCompletedOutcome = lib.Enumerate<{ Success: [], Failure: [lib.codecs.String] }> +export const TriggerCompletedOutcome = { /** `Success` enum variant */ Success: lib.variant('Success'), /** Produce `Failure` enum variant */ Failure: (value: lib.codecs.String): TriggerCompletedOutcome => lib.variant('Failure', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Success'], [1, 'Failure', lib.toCodec(lib.codecs.String)]]) } +export type TriggerCompletedOutcomeType = lib.Enumerate<{ Success: [], Failure: [] }> +export const TriggerCompletedOutcomeType = { /** `Success` enum variant */ Success: lib.variant('Success'), /** `Failure` enum variant */ Failure: lib.variant('Failure'), [lib.symbolCodec]: lib.enumCodec([[0, 'Success'], [1, 'Failure']]) } +export type TriggerEvent = lib.Enumerate<{ Created: [TriggerId], Deleted: [TriggerId], Extended: [TriggerNumberOfExecutionsChanged], Shortened: [TriggerNumberOfExecutionsChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> +export const TriggerEvent = { /** Produce `Created` enum variant */ Created: (value: TriggerId): TriggerEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: TriggerId): TriggerEvent => lib.variant('Deleted', value), /** Produce `Extended` enum variant */ Extended: (value: TriggerNumberOfExecutionsChanged): TriggerEvent => lib.variant('Extended', value), /** Produce `Shortened` enum variant */ Shortened: (value: TriggerNumberOfExecutionsChanged): TriggerEvent => lib.variant('Shortened', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): TriggerEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): TriggerEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => TriggerId)], [1, 'Deleted', lib.toCodec(() => TriggerId)], [2, 'Extended', lib.toCodec(() => TriggerNumberOfExecutionsChanged)], [3, 'Shortened', lib.toCodec(() => TriggerNumberOfExecutionsChanged)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => TriggerId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => TriggerId)))]]) } +export type TriggerEventFilter = { idMatcher: lib.codecs.Option; eventSet: TriggerEventSet; } +export const TriggerEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['eventSet', lib.toCodec(() => TriggerEventSet)]])) +export type TriggerEventSet = lib.codecs.U32 +export const TriggerEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Deleted: 2, /** `Extended` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Extended: 4, /** `Shortened` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Shortened: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ MetadataRemoved: 32, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type TriggerId = { name: lib.codecs.String; } +export const TriggerId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type TriggerNumberOfExecutionsChanged = { trigger: TriggerId; by: lib.codecs.U32; } +export const TriggerNumberOfExecutionsChanged = lib.wrapCodec(lib.structCodec([['trigger', lib.toCodec(() => TriggerId)], ['by', lib.toCodec(lib.codecs.U32)]])) +export type TriggeringEventFilterBox = lib.Enumerate<{ Pipeline: [PipelineEventFilterBox], Data: [DataEventFilter], Time: [ExecutionTime], ExecuteTrigger: [ExecuteTriggerEventFilter] }> +export const TriggeringEventFilterBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventFilterBox): TriggeringEventFilterBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEventFilter): TriggeringEventFilterBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: ExecutionTime): TriggeringEventFilterBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEventFilter): TriggeringEventFilterBox => lib.variant('ExecuteTrigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventFilterBox)], [1, 'Data', lib.toCodec(() => DataEventFilter)], [2, 'Time', lib.toCodec(() => ExecutionTime)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEventFilter)]]) } +export type TypeError = lib.Enumerate<{ AssetValueType: [AssetValueTypeMismatch], NumericAssetValueTypeExpected: [AssetValueType], StoreAssetValueTypeExpected: [AssetValueType] }> +export const TypeError = { /** Produce `AssetValueType` enum variant */ AssetValueType: (value: AssetValueTypeMismatch): TypeError => lib.variant('AssetValueType', value), /** Produce `NumericAssetValueTypeExpected` enum variant */ NumericAssetValueTypeExpected: (value: AssetValueType): TypeError => lib.variant('NumericAssetValueTypeExpected', value), /** Produce `StoreAssetValueTypeExpected` enum variant */ StoreAssetValueTypeExpected: (value: AssetValueType): TypeError => lib.variant('StoreAssetValueTypeExpected', value), [lib.symbolCodec]: lib.enumCodec([[0, 'AssetValueType', lib.toCodec(() => AssetValueTypeMismatch)], [1, 'NumericAssetValueTypeExpected', lib.toCodec(() => AssetValueType)], [2, 'StoreAssetValueTypeExpected', lib.toCodec(() => AssetValueType)]]) } +export type Unregister = { object: T0 } +export const Unregister = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0]]) } } +export type UnregisterBox = lib.Enumerate<{ Peer: [Unregister], Domain: [Unregister], Account: [Unregister], AssetDefinition: [Unregister], Asset: [Unregister], Role: [Unregister], Trigger: [Unregister] }> +export const UnregisterBox = { /** Produce `Peer` enum variant */ Peer: (value: Unregister): UnregisterBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Unregister): UnregisterBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Unregister): UnregisterBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Unregister): UnregisterBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Unregister): UnregisterBox => lib.variant('Asset', value), /** Produce `Role` enum variant */ Role: (value: Unregister): UnregisterBox => lib.variant('Role', value), /** Produce `Trigger` enum variant */ Trigger: (value: Unregister): UnregisterBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => Unregister.with(lib.toCodec(() => PeerId)))], [1, 'Domain', lib.toCodec(() => Unregister.with(lib.toCodec(() => DomainId)))], [2, 'Account', lib.toCodec(() => Unregister.with(lib.toCodec(() => AccountId)))], [3, 'AssetDefinition', lib.toCodec(() => Unregister.with(lib.toCodec(() => AssetDefinitionId)))], [4, 'Asset', lib.toCodec(() => Unregister.with(lib.toCodec(() => AssetId)))], [5, 'Role', lib.toCodec(() => Unregister.with(lib.toCodec(() => RoleId)))], [6, 'Trigger', lib.toCodec(() => Unregister.with(lib.toCodec(() => TriggerId)))]]) } +export type Upgrade = { executor: Executor; } +export const Upgrade = lib.wrapCodec(lib.structCodec([['executor', lib.toCodec(() => Executor)]])) +export type ValidationFail = lib.Enumerate<{ NotPermitted: [lib.codecs.String], InstructionFailed: [InstructionExecutionError], QueryFailed: [QueryExecutionFail], TooComplex: [], InternalError: [] }> +export const ValidationFail = { /** Produce `NotPermitted` enum variant */ NotPermitted: (value: lib.codecs.String): ValidationFail => lib.variant('NotPermitted', value), /** Produce `InstructionFailed` enum variant */ InstructionFailed: (value: InstructionExecutionError): ValidationFail => lib.variant('InstructionFailed', value), /** Produce `QueryFailed` enum variant */ QueryFailed: (value: QueryExecutionFail): ValidationFail => lib.variant('QueryFailed', value), /** `TooComplex` enum variant */ TooComplex: lib.variant('TooComplex'), /** `InternalError` enum variant */ InternalError: lib.variant('InternalError'), [lib.symbolCodec]: lib.enumCodec([[0, 'NotPermitted', lib.toCodec(lib.codecs.String)], [1, 'InstructionFailed', lib.toCodec(() => InstructionExecutionError)], [2, 'QueryFailed', lib.toCodec(() => QueryExecutionFail)], [3, 'TooComplex'], [4, 'InternalError']]) } +export type WasmExecutionFail = { reason: lib.codecs.String; } +export const WasmExecutionFail = lib.wrapCodec(lib.structCodec([['reason', lib.toCodec(lib.codecs.String)]])) +export type WasmSmartContract = { blob: lib.codecs.BytesVec; } +export const WasmSmartContract = lib.wrapCodec(lib.structCodec([['blob', lib.toCodec(lib.codecs.BytesVec)]])) \ No newline at end of file diff --git a/packages/data-model/src/__tests__/core.spec.ts b/packages/data-model/src/__tests__/misc.ts similarity index 61% rename from packages/data-model/src/__tests__/core.spec.ts rename to packages/data-model/src/__tests__/misc.ts index 8215d830..c923c711 100644 --- a/packages/data-model/src/__tests__/core.spec.ts +++ b/packages/data-model/src/__tests__/misc.ts @@ -1,6 +1,8 @@ import { describe, expect, test, vi } from 'vitest' import { Codec, CodecImpl, toCodec, wrapCodec } from '../core' import { decodeUnit, encodeUnit } from '@scale-codec/core' +import { datamodel } from '../lib' +import { fromHex, toHex } from '@scale-codec/util' describe('toCodec', () => { const CODEC: Codec = new CodecImpl(encodeUnit, decodeUnit) @@ -34,3 +36,22 @@ describe('toCodec', () => { expect(decodeSpy).toBeCalled() }) }) + +test('Status according to the example from https://hyperledger.github.io/iroha-2-docs/reference/torii-endpoints.html#status', () => { + const STATUS: datamodel.Status = { + peers: 4n, + blocks: 5n, + txsAccepted: 31n, + txsRejected: 3n, + uptime: { + secs: 5n, + nanos: 937000000, + }, + viewChanges: 2n, + queueSize: 18n, + } + const ENCODED = '10 14 7C 0C 14 40 7C D9 37 08 48' + + expect(toHex(toCodec(datamodel.Status).encode(STATUS))).toEqual(ENCODED) + expect(toCodec(datamodel.Status).decode(fromHex(ENCODED))).toEqual(STATUS) +}) diff --git a/packages/data-model/src/__tests__/rust-samples.spec.ts b/packages/data-model/src/__tests__/rust-samples.spec.ts index f0546e25..0c4bbedb 100644 --- a/packages/data-model/src/__tests__/rust-samples.spec.ts +++ b/packages/data-model/src/__tests__/rust-samples.spec.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from 'vitest' import SAMPLES from '../../../data-model-rust-samples/samples.json' -import { type CodecOrWrap, toCodec, datamodel, variant } from '../lib' +import { type CodecOrWrap, toCodec, datamodel } from '../lib' import { fromHex, toHex } from '@scale-codec/util' const SAMPLE_SIGNATORY: datamodel.PublicKey = { diff --git a/packages/data-model/src/codecs.ts b/packages/data-model/src/codecs.ts index c5a1717e..c52fda9c 100644 --- a/packages/data-model/src/codecs.ts +++ b/packages/data-model/src/codecs.ts @@ -35,12 +35,16 @@ export const Compact: core.CodecWrap = core.wrapCodec( export type NonZero = Opaque export const NonZero = { + define: (int: T): NonZero => { + if (int === 0) throw new Error(`zero integer is not allowed`) + return int as NonZero + }, with: (int: core.CodecOrWrap): core.Codec> => { const intCodec = core.toCodec(int) return new core.CodecImpl( scale.encodeFactory( (value, walker) => { - if (value === 0) throw new Error('Got a zero value at `NonZero` codec') + if (value === 0) throw new Error('Got zero at `NonZero` codec') intCodec.encodeRaw(value, walker) }, (value) => { diff --git a/packages/data-model/src/datamodel.ts b/packages/data-model/src/datamodel.ts index 64c60d7f..925375ff 100644 --- a/packages/data-model/src/datamodel.ts +++ b/packages/data-model/src/datamodel.ts @@ -1,2 +1,31 @@ +import { Duration } from './__generated__' +import { Compact } from './codecs' +import { structCodec, toCodec, wrapCodec } from './core' + export * from './__generated__' export * from './codecs' + +/** + * [`/status`](https://hyperledger.github.io/iroha-2-docs/reference/torii-endpoints.html#status) endpoint response + */ +export interface Status { + peers: bigint + blocks: bigint + txsAccepted: bigint + txsRejected: bigint + uptime: Duration + viewChanges: bigint + queueSize: bigint +} + +export const Status = wrapCodec( + structCodec([ + ['peers', toCodec(Compact)], + ['blocks', toCodec(Compact)], + ['txsAccepted', toCodec(Compact)], + ['txsRejected', toCodec(Compact)], + ['uptime', toCodec(Duration)], + ['viewChanges', toCodec(Compact)], + ['queueSize', toCodec(Compact)], + ]), +) diff --git a/packages/data-model/src/lib.ts b/packages/data-model/src/lib.ts index 5ffe7a5d..a45c022e 100644 --- a/packages/data-model/src/lib.ts +++ b/packages/data-model/src/lib.ts @@ -6,6 +6,7 @@ export * as datamodel from './datamodel' export * from './core' -export { variant } from '@scale-codec/core' +export { type Enumerate, variant, type RustResult as Result } from '@scale-codec/core' + // export * as sugar from './sugar/index' // export * from '@scale-codec/definition-runtime' diff --git a/packages/data-model/src/sugar/executable.ts b/packages/data-model/src/sugar/executable.ts deleted file mode 100644 index 73c7b3dd..00000000 --- a/packages/data-model/src/sugar/executable.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { datamodel } from './model' - -export const instructions = (isis: datamodel.InstructionExpr | datamodel.InstructionExpr[]): datamodel.Executable => - datamodel.Executable('Instructions', datamodel.VecInstructionExpr(Array.isArray(isis) ? isis : [isis])) diff --git a/packages/data-model/src/sugar/expression.ts b/packages/data-model/src/sugar/expression.ts deleted file mode 100644 index 7ccc79ec..00000000 --- a/packages/data-model/src/sugar/expression.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { datamodel } from './model' - -export const raw = (value: datamodel.Value): datamodel.Expression => datamodel.Expression('Raw', value) diff --git a/packages/data-model/src/sugar/filter.ts b/packages/data-model/src/sugar/filter.ts deleted file mode 100644 index 38bb17e2..00000000 --- a/packages/data-model/src/sugar/filter.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { datamodel } from './model' - -export const pipeline = (opts?: { - entityKind?: 'Transaction' | 'Block' - statusKind?: 'Validating' | 'Rejected' | 'Committed' - hash?: datamodel.Hash -}): datamodel.FilterBox => - datamodel.FilterBox( - 'Pipeline', - datamodel.PipelineEventFilter({ - entity_kind: opts?.entityKind - ? datamodel.OptionPipelineEntityKind('Some', datamodel.PipelineEntityKind(opts.entityKind)) - : datamodel.OptionPipelineEntityKind('None'), - status_kind: opts?.statusKind - ? datamodel.OptionPipelineStatusKind('Some', datamodel.PipelineStatusKind(opts.statusKind)) - : datamodel.OptionPipelineStatusKind('None'), - hash: opts?.hash ? datamodel.OptionHash('Some', opts.hash) : datamodel.OptionHash('None'), - }), - ) diff --git a/packages/data-model/src/sugar/find.ts b/packages/data-model/src/sugar/find.ts deleted file mode 100644 index e0f76189..00000000 --- a/packages/data-model/src/sugar/find.ts +++ /dev/null @@ -1,24 +0,0 @@ -// TODO all queries, categorised as in `iroha_client` crate - -import { datamodel } from './model' - -export const assetsByAccountId = (accountId: datamodel.AccountId): datamodel.QueryBox => - datamodel.QueryBox( - 'FindAssetsByAccountId', - datamodel.FindAssetsByAccountId({ - account_id: datamodel.Expression('Raw', datamodel.Value('Id', datamodel.IdBox('AccountId', accountId))), - }), - ) - -export const allDomains = () => datamodel.QueryBox('FindAllDomains') -export const allAccounts = () => datamodel.QueryBox('FindAllAccounts') -export const allAssets = () => datamodel.QueryBox('FindAllAssets') -export const allAssetsDefinitions = () => datamodel.QueryBox('FindAllAssetsDefinitions') - -export const assetById = (id: datamodel.AssetId): datamodel.QueryBox => - datamodel.QueryBox( - 'FindAssetById', - datamodel.FindAssetById({ - id: datamodel.Expression('Raw', datamodel.Value('Id', datamodel.IdBox('AssetId', id))), - }), - ) diff --git a/packages/data-model/src/sugar/identifiable.ts b/packages/data-model/src/sugar/identifiable.ts deleted file mode 100644 index 9045c244..00000000 --- a/packages/data-model/src/sugar/identifiable.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { datamodel } from './model' - -export const newAccount = ( - accountId: datamodel.AccountId, - signatories: datamodel.PublicKey[], - opts?: { - metadata?: datamodel.Metadata - }, -): datamodel.IdentifiableBox => - datamodel.IdentifiableBox( - 'NewAccount', - datamodel.NewAccount({ - id: accountId, - signatories: datamodel.SortedVecPublicKey(signatories), - // eslint-disable-next-line @typescript-eslint/consistent-type-assertions - metadata: opts?.metadata ?? ({ map: new Map() } as datamodel.Metadata), - }), - ) - -export const newAssetDefinition = ( - assetDefinitionId: datamodel.AssetDefinitionId, - type: datamodel.AssetValueType, - opts?: { - metadata?: datamodel.Metadata - mintable?: datamodel.Mintable - /** - * IPFS path - */ - logo?: string - }, -): datamodel.IdentifiableBox => - datamodel.IdentifiableBox( - 'NewAssetDefinition', - datamodel.NewAssetDefinition({ - id: assetDefinitionId, - value_type: type, - mintable: opts?.mintable ?? datamodel.Mintable('Not'), - // eslint-disable-next-line @typescript-eslint/consistent-type-assertions - metadata: opts?.metadata ?? ({ map: new Map() } as datamodel.Metadata), - logo: opts?.logo ? datamodel.OptionIpfsPath('Some', opts.logo) : datamodel.OptionIpfsPath('None'), - }), - ) - -export const newDomain = ( - domainName: string, - opts?: { - metadata?: datamodel.Metadata - logo?: string - }, -): datamodel.IdentifiableBox => - datamodel.IdentifiableBox( - 'NewDomain', - datamodel.NewDomain({ - id: datamodel.DomainId({ - name: domainName, - }), - metadata: opts?.metadata ?? datamodel.Metadata({ map: datamodel.SortedMapNameValue(new Map()) }), - logo: opts?.logo ? datamodel.OptionIpfsPath('Some', opts.logo) : datamodel.OptionIpfsPath('None'), - }), - ) - -export const asset = (assetId: datamodel.AssetId, value: datamodel.AssetValue): datamodel.IdentifiableBox => - datamodel.IdentifiableBox( - 'Asset', - datamodel.Asset({ - id: assetId, - value, - }), - ) diff --git a/packages/data-model/src/sugar/index.ts b/packages/data-model/src/sugar/index.ts deleted file mode 100644 index e0a833db..00000000 --- a/packages/data-model/src/sugar/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { datamodel } from './model' - -export * as executable from './executable' -export * as instruction from './instruction' -export * as identifiable from './identifiable' -export * as find from './find' -export * as filter from './filter' -export * as value from './value' - -export const domainId = (domainName: string) => datamodel.DomainId({ name: domainName }) - -export const accountId = (accountName: string, domain: string | datamodel.DomainId): datamodel.AccountId => - datamodel.AccountId({ - name: accountName, - domain_id: typeof domain === 'string' ? domainId(domain) : domain, - }) - -export const assetDefinitionId = (assetName: string, domain: string | datamodel.DomainId) => - datamodel.AssetDefinitionId({ name: assetName, domain_id: typeof domain === 'string' ? domainId(domain) : domain }) - -export const assetId = (account: datamodel.AccountId, definition: datamodel.AssetDefinitionId): datamodel.AssetId => - datamodel.AssetId({ - account_id: account, - definition_id: definition, - }) diff --git a/packages/data-model/src/sugar/instruction.ts b/packages/data-model/src/sugar/instruction.ts deleted file mode 100644 index d571a14d..00000000 --- a/packages/data-model/src/sugar/instruction.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { datamodel } from './model' - -export const register = (identifiable: datamodel.IdentifiableBox): datamodel.InstructionExpr => - datamodel.InstructionExpr( - 'Register', - datamodel.RegisterExpr({ - object: datamodel.Expression('Raw', datamodel.Value('Identifiable', identifiable)), - }), - ) - -export const mint = (object: datamodel.Value, destination: datamodel.IdBox): datamodel.InstructionExpr => - datamodel.InstructionExpr( - 'Mint', - datamodel.MintExpr({ - object: datamodel.Expression('Raw', object), - destination_id: datamodel.Expression('Raw', datamodel.Value('Id', destination)), - }), - ) - -export const transfer = ( - source: datamodel.IdBox, - object: datamodel.Value, - destination: datamodel.IdBox, -): datamodel.InstructionExpr => - datamodel.InstructionExpr( - 'Transfer', - datamodel.TransferExpr({ - source_id: datamodel.Expression('Raw', datamodel.Value('Id', source)), - destination_id: datamodel.Expression('Raw', datamodel.Value('Id', destination)), - object: datamodel.Expression('Raw', object), - }), - ) diff --git a/packages/data-model/src/sugar/model.ts b/packages/data-model/src/sugar/model.ts deleted file mode 100644 index a3ea874b..00000000 --- a/packages/data-model/src/sugar/model.ts +++ /dev/null @@ -1 +0,0 @@ -export * as datamodel from '../datamodel' diff --git a/packages/data-model/src/sugar/value.ts b/packages/data-model/src/sugar/value.ts deleted file mode 100644 index 34a822d9..00000000 --- a/packages/data-model/src/sugar/value.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { datamodel } from './model' - -export const numericU32 = (value: number): datamodel.Value => - datamodel.Value('Numeric', datamodel.NumericValue('U32', value)) - -export const numericU128 = (value: number | bigint): datamodel.Value => - datamodel.Value('Numeric', datamodel.NumericValue('U128', BigInt(value))) - -export const numericFixed = (value: datamodel.FixedPointI64): datamodel.Value => - datamodel.Value('Numeric', datamodel.NumericValue('Fixed', value)) - -export const newDomain = (value: datamodel.NewDomain): datamodel.Value => - datamodel.Value('Identifiable', datamodel.IdentifiableBox('NewDomain', value)) -export const newAccount = (value: datamodel.NewAccount): datamodel.Value => - datamodel.Value('Identifiable', datamodel.IdentifiableBox('NewAccount', value)) -export const newAssetDefinition = (value: datamodel.NewAssetDefinition): datamodel.Value => - datamodel.Value('Identifiable', datamodel.IdentifiableBox('NewAssetDefinition', value)) -export const domain = (value: datamodel.Domain): datamodel.Value => - datamodel.Value('Identifiable', datamodel.IdentifiableBox('Domain', value)) -export const account = (value: datamodel.Account): datamodel.Value => - datamodel.Value('Identifiable', datamodel.IdentifiableBox('Account', value)) -export const assetDefinition = (value: datamodel.AssetDefinition): datamodel.Value => - datamodel.Value('Identifiable', datamodel.IdentifiableBox('AssetDefinition', value)) -export const asset = (value: datamodel.Asset): datamodel.Value => - datamodel.Value('Identifiable', datamodel.IdentifiableBox('Asset', value)) -export const domainId = (value: datamodel.DomainId): datamodel.Value => - datamodel.Value('Id', datamodel.IdBox('DomainId', value)) -export const accountId = (value: datamodel.AccountId): datamodel.Value => - datamodel.Value('Id', datamodel.IdBox('AccountId', value)) -export const assetDefinitionId = (value: datamodel.AssetDefinitionId): datamodel.Value => - datamodel.Value('Id', datamodel.IdBox('AssetDefinitionId', value)) -export const assetId = (value: datamodel.AssetId): datamodel.Value => - datamodel.Value('Id', datamodel.IdBox('AssetId', value)) diff --git a/packages/docs-recipes/package.json b/packages/docs-recipes/package.json index 4ff03813..a62220b7 100644 --- a/packages/docs-recipes/package.json +++ b/packages/docs-recipes/package.json @@ -9,7 +9,6 @@ "@iroha2/crypto-target-node": "workspace:^1.1.1", "@iroha2/crypto-target-web": "workspace:^1.1.1", "@iroha2/data-model": "workspace:^7.0.0", - "fp-ts": "^2.13.1", "node-fetch": "^3.3.0", "undici": "^5.20.0" } diff --git a/packages/docs-recipes/src/2.1.2.signer.ts b/packages/docs-recipes/src/2.1.2.signer.ts index be8702cb..c464d299 100644 --- a/packages/docs-recipes/src/2.1.2.signer.ts +++ b/packages/docs-recipes/src/2.1.2.signer.ts @@ -1,20 +1,15 @@ -import { cryptoTypes } from '@iroha2/crypto-core' +import { cryptoTypes, freeScope } from '@iroha2/crypto-core' import { Signer } from '@iroha2/client' -import { datamodel, sugar } from '@iroha2/data-model' +import { datamodel } from '@iroha2/data-model' -// Key pair from previous step +// Key pair from the previous step declare const keyPair: cryptoTypes.KeyPair -const accountId = datamodel.AccountId({ - // Account name - name: 'alice', +const accountId: datamodel.AccountId = { + // Account public key + signatory: freeScope(() => keyPair.publicKey().toDataModel()), // The domain where this account is registered - domain_id: datamodel.DomainId({ - name: 'wonderland', - }), -}) - -// same, but shorter -const sameAccountId = sugar.accountId('alice', 'wonderland') + domain: { name: 'wonderland' }, +} const signer = new Signer(accountId, keyPair) diff --git a/packages/docs-recipes/src/2.3.client.ts b/packages/docs-recipes/src/2.3.client.ts index caabef5e..9641053d 100644 --- a/packages/docs-recipes/src/2.3.client.ts +++ b/packages/docs-recipes/src/2.3.client.ts @@ -9,4 +9,4 @@ const client = new Client({ signer }) // `Client` will sign & wrap `Executable` into `VersionedSignedTransaction` declare const exec: datamodel.Executable -await client.submitExecutable(toriiRequirements, exec) +await client.submitExecutable(toriiRequirements, exec, { chain: '000-000' }) diff --git a/packages/docs-recipes/src/3.register-domain.ts b/packages/docs-recipes/src/3.register-domain.ts index 988a6e4e..935a4cc8 100644 --- a/packages/docs-recipes/src/3.register-domain.ts +++ b/packages/docs-recipes/src/3.register-domain.ts @@ -1,7 +1,6 @@ // #region pre import { Client, ToriiRequirementsForApiHttp } from '@iroha2/client' -import { sugar } from '@iroha2/data-model' -import { pipe } from 'fp-ts/function' +import { datamodel } from '@iroha2/data-model' // --snip-- declare const client: Client @@ -11,11 +10,17 @@ declare const toriiRequirements: ToriiRequirementsForApiHttp // #region do-reg await client.submitExecutable( toriiRequirements, - pipe( - sugar.identifiable.newDomain('looking_glass'), - sugar.instruction.register, - sugar.executable.instructions, - ), + datamodel.Executable.Instructions([ + datamodel.InstructionBox.Register( + datamodel.RegisterBox.Domain({ + object: { + id: { name: 'looking_glass' }, + logo: datamodel.Option.None(), + metadata: new Map(), + }, + }), + ), + ]), ) // #endregion do-reg @@ -24,7 +29,7 @@ async function ensureDomainExistence(domainName: string) { // Query all domains const result = await client.requestWithQueryBox( toriiRequirements, - sugar.find.allDomains(), + datamodel.QueryBox.FindAllDomains, ) // Display the request status @@ -33,7 +38,7 @@ async function ensureDomainExistence(domainName: string) { // Obtain the domain const domain = result .as('Ok') - .batch.enum.as('Vec') + .batch.as('Vec') .map((x) => x.enum.as('Identifiable').enum.as('Domain')) .find((x) => x.id.name === domainName) // [!code hl] diff --git a/packages/docs-recipes/src/9.blocks-stream.ts b/packages/docs-recipes/src/9.blocks-stream.ts index 609e4c6d..cb76041d 100644 --- a/packages/docs-recipes/src/9.blocks-stream.ts +++ b/packages/docs-recipes/src/9.blocks-stream.ts @@ -4,7 +4,7 @@ import { datamodel } from '@iroha2/data-model' declare const requirements: ToriiRequirementsForApiWebSocket const stream = await Torii.listenForBlocksStream(requirements, { - height: datamodel.NonZeroU64(1n), + fromBlockHeight: datamodel.NonZeroU64(1n), }) stream.ee.on('block', (block) => { diff --git a/packages/src/__generated__.ts b/packages/src/__generated__.ts new file mode 100644 index 00000000..0aaaafc9 --- /dev/null +++ b/packages/src/__generated__.ts @@ -0,0 +1,437 @@ +import * as lib from './generated-prelude' +export type Account = { id: AccountId; assets: lib.codecs.Map; metadata: Metadata; } +export const Account = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['assets', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => Asset))], ['metadata', lib.toCodec(() => Metadata)]])) +export type AccountEvent = lib.Enumerate<{ Asset: [AssetEvent], Created: [Account], Deleted: [AccountId], AuthenticationAdded: [AccountId], AuthenticationRemoved: [AccountId], PermissionAdded: [AccountPermissionChanged], PermissionRemoved: [AccountPermissionChanged], RoleRevoked: [AccountRoleChanged], RoleGranted: [AccountRoleChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> +export const AccountEvent = { /** Produce `Asset` enum variant */ Asset: (value: AssetEvent): AccountEvent => lib.variant('Asset', value), /** Produce `Created` enum variant */ Created: (value: Account): AccountEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: AccountId): AccountEvent => lib.variant('Deleted', value), /** Produce `AuthenticationAdded` enum variant */ AuthenticationAdded: (value: AccountId): AccountEvent => lib.variant('AuthenticationAdded', value), /** Produce `AuthenticationRemoved` enum variant */ AuthenticationRemoved: (value: AccountId): AccountEvent => lib.variant('AuthenticationRemoved', value), /** Produce `PermissionAdded` enum variant */ PermissionAdded: (value: AccountPermissionChanged): AccountEvent => lib.variant('PermissionAdded', value), /** Produce `PermissionRemoved` enum variant */ PermissionRemoved: (value: AccountPermissionChanged): AccountEvent => lib.variant('PermissionRemoved', value), /** Produce `RoleRevoked` enum variant */ RoleRevoked: (value: AccountRoleChanged): AccountEvent => lib.variant('RoleRevoked', value), /** Produce `RoleGranted` enum variant */ RoleGranted: (value: AccountRoleChanged): AccountEvent => lib.variant('RoleGranted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AccountEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AccountEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => AssetEvent)], [1, 'Created', lib.toCodec(() => Account)], [2, 'Deleted', lib.toCodec(() => AccountId)], [3, 'AuthenticationAdded', lib.toCodec(() => AccountId)], [4, 'AuthenticationRemoved', lib.toCodec(() => AccountId)], [5, 'PermissionAdded', lib.toCodec(() => AccountPermissionChanged)], [6, 'PermissionRemoved', lib.toCodec(() => AccountPermissionChanged)], [7, 'RoleRevoked', lib.toCodec(() => AccountRoleChanged)], [8, 'RoleGranted', lib.toCodec(() => AccountRoleChanged)], [9, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AccountId)))], [10, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AccountId)))]]) } +export type AccountEventFilter = { idMatcher: lib.codecs.Option; eventSet: AccountEventSet; } +export const AccountEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AccountId))], ['eventSet', lib.toCodec(() => AccountEventSet)]])) +export type AccountEventSet = lib.codecs.U32 +export const AccountEventSet = { /** `AnyAsset` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AnyAsset: 1, /** `Created` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ Created: 2, /** `Deleted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ Deleted: 4, /** `AuthenticationAdded` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AuthenticationAdded: 8, /** `AuthenticationRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AuthenticationRemoved: 16, /** `PermissionAdded` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ PermissionAdded: 32, /** `PermissionRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ PermissionRemoved: 64, /** `RoleRevoked` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ RoleRevoked: 128, /** `RoleGranted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ RoleGranted: 256, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ MetadataInserted: 512, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ MetadataRemoved: 1024, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type AccountId = { domain: DomainId; signatory: PublicKey; } +export const AccountId = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['signatory', lib.toCodec(() => PublicKey)]])) +export type AccountPermissionChanged = { account: AccountId; permission: PermissionId; } +export const AccountPermissionChanged = lib.wrapCodec(lib.structCodec([['account', lib.toCodec(() => AccountId)], ['permission', lib.toCodec(() => PermissionId)]])) +export type AccountRoleChanged = { account: AccountId; role: RoleId; } +export const AccountRoleChanged = lib.wrapCodec(lib.structCodec([['account', lib.toCodec(() => AccountId)], ['role', lib.toCodec(() => RoleId)]])) +export type Action = { executable: Executable; repeats: Repeats; authority: AccountId; filter: TriggeringEventFilterBox; metadata: Metadata; } +export const Action = lib.wrapCodec(lib.structCodec([['executable', lib.toCodec(() => Executable)], ['repeats', lib.toCodec(() => Repeats)], ['authority', lib.toCodec(() => AccountId)], ['filter', lib.toCodec(() => TriggeringEventFilterBox)], ['metadata', lib.toCodec(() => Metadata)]])) +export type Algorithm = lib.Enumerate<{ Ed25519: [], Secp256k1: [], BlsNormal: [], BlsSmall: [] }> +export const Algorithm = { /** `Ed25519` enum variant */ Ed25519: lib.variant('Ed25519'), /** `Secp256k1` enum variant */ Secp256k1: lib.variant('Secp256k1'), /** `BlsNormal` enum variant */ BlsNormal: lib.variant('BlsNormal'), /** `BlsSmall` enum variant */ BlsSmall: lib.variant('BlsSmall'), [lib.symbolCodec]: lib.enumCodec([[0, 'Ed25519'], [1, 'Secp256k1'], [2, 'BlsNormal'], [3, 'BlsSmall']]) } +export type Asset = { id: AssetId; value: AssetValue; } +export const Asset = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)], ['value', lib.toCodec(() => AssetValue)]])) +export type AssetChanged = { asset: AssetId; amount: AssetValue; } +export const AssetChanged = lib.wrapCodec(lib.structCodec([['asset', lib.toCodec(() => AssetId)], ['amount', lib.toCodec(() => AssetValue)]])) +export type AssetDefinition = { id: AssetDefinitionId; valueType: AssetValueType; mintable: Mintable; logo: lib.codecs.Option; metadata: Metadata; ownedBy: AccountId; } +export const AssetDefinition = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['valueType', lib.toCodec(() => AssetValueType)], ['mintable', lib.toCodec(() => Mintable)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)], ['ownedBy', lib.toCodec(() => AccountId)]])) +export type AssetDefinitionEvent = lib.Enumerate<{ Created: [AssetDefinition], MintabilityChanged: [AssetDefinitionId], OwnerChanged: [AssetDefinitionOwnerChanged], Deleted: [AssetDefinitionId], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged], TotalQuantityChanged: [AssetDefinitionTotalQuantityChanged] }> +export const AssetDefinitionEvent = { /** Produce `Created` enum variant */ Created: (value: AssetDefinition): AssetDefinitionEvent => lib.variant('Created', value), /** Produce `MintabilityChanged` enum variant */ MintabilityChanged: (value: AssetDefinitionId): AssetDefinitionEvent => lib.variant('MintabilityChanged', value), /** Produce `OwnerChanged` enum variant */ OwnerChanged: (value: AssetDefinitionOwnerChanged): AssetDefinitionEvent => lib.variant('OwnerChanged', value), /** Produce `Deleted` enum variant */ Deleted: (value: AssetDefinitionId): AssetDefinitionEvent => lib.variant('Deleted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AssetDefinitionEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AssetDefinitionEvent => lib.variant('MetadataRemoved', value), /** Produce `TotalQuantityChanged` enum variant */ TotalQuantityChanged: (value: AssetDefinitionTotalQuantityChanged): AssetDefinitionEvent => lib.variant('TotalQuantityChanged', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => AssetDefinition)], [1, 'MintabilityChanged', lib.toCodec(() => AssetDefinitionId)], [2, 'OwnerChanged', lib.toCodec(() => AssetDefinitionOwnerChanged)], [3, 'Deleted', lib.toCodec(() => AssetDefinitionId)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetDefinitionId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetDefinitionId)))], [6, 'TotalQuantityChanged', lib.toCodec(() => AssetDefinitionTotalQuantityChanged)]]) } +export type AssetDefinitionEventFilter = { idMatcher: lib.codecs.Option; eventSet: AssetDefinitionEventSet; } +export const AssetDefinitionEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AssetDefinitionId))], ['eventSet', lib.toCodec(() => AssetDefinitionEventSet)]])) +export type AssetDefinitionEventSet = lib.codecs.U32 +export const AssetDefinitionEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ Created: 1, /** `MintabilityChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MintabilityChanged: 2, /** `OwnerChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ OwnerChanged: 4, /** `Deleted` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ Deleted: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MetadataRemoved: 32, /** `TotalQuantityChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ TotalQuantityChanged: 64, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type AssetDefinitionId = { domain: DomainId; name: lib.codecs.String; } +export const AssetDefinitionId = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['name', lib.toCodec(lib.codecs.String)]])) +export type AssetDefinitionOwnerChanged = { assetDefinition: AssetDefinitionId; newOwner: AccountId; } +export const AssetDefinitionOwnerChanged = lib.wrapCodec(lib.structCodec([['assetDefinition', lib.toCodec(() => AssetDefinitionId)], ['newOwner', lib.toCodec(() => AccountId)]])) +export type AssetDefinitionTotalQuantityChanged = { assetDefinition: AssetDefinitionId; totalAmount: Numeric; } +export const AssetDefinitionTotalQuantityChanged = lib.wrapCodec(lib.structCodec([['assetDefinition', lib.toCodec(() => AssetDefinitionId)], ['totalAmount', lib.toCodec(() => Numeric)]])) +export type AssetEvent = lib.Enumerate<{ Created: [Asset], Deleted: [AssetId], Added: [AssetChanged], Removed: [AssetChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> +export const AssetEvent = { /** Produce `Created` enum variant */ Created: (value: Asset): AssetEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: AssetId): AssetEvent => lib.variant('Deleted', value), /** Produce `Added` enum variant */ Added: (value: AssetChanged): AssetEvent => lib.variant('Added', value), /** Produce `Removed` enum variant */ Removed: (value: AssetChanged): AssetEvent => lib.variant('Removed', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AssetEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AssetEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => Asset)], [1, 'Deleted', lib.toCodec(() => AssetId)], [2, 'Added', lib.toCodec(() => AssetChanged)], [3, 'Removed', lib.toCodec(() => AssetChanged)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetId)))]]) } +export type AssetEventFilter = { idMatcher: lib.codecs.Option; eventSet: AssetEventSet; } +export const AssetEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AssetId))], ['eventSet', lib.toCodec(() => AssetEventSet)]])) +export type AssetEventSet = lib.codecs.U32 +export const AssetEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Deleted: 2, /** `Added` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Added: 4, /** `Removed` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Removed: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ MetadataRemoved: 32, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type AssetId = { definition: AssetDefinitionId; account: AccountId; } +export const AssetId = lib.wrapCodec(lib.structCodec([['definition', lib.toCodec(() => AssetDefinitionId)], ['account', lib.toCodec(() => AccountId)]])) +export type AssetTransferBox = lib.Enumerate<{ Numeric: [Transfer], Store: [Transfer] }> +export const AssetTransferBox = { /** Produce `Numeric` enum variant */ Numeric: (value: Transfer): AssetTransferBox => lib.variant('Numeric', value), /** Produce `Store` enum variant */ Store: (value: Transfer): AssetTransferBox => lib.variant('Store', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => Transfer.with(lib.toCodec(() => AssetId), lib.toCodec(() => Numeric), lib.toCodec(() => AccountId)))], [1, 'Store', lib.toCodec(() => Transfer.with(lib.toCodec(() => AssetId), lib.toCodec(() => Metadata), lib.toCodec(() => AccountId)))]]) } +export type AssetValue = lib.Enumerate<{ Numeric: [Numeric], Store: [Metadata] }> +export const AssetValue = { /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): AssetValue => lib.variant('Numeric', value), /** Produce `Store` enum variant */ Store: (value: Metadata): AssetValue => lib.variant('Store', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => Numeric)], [1, 'Store', lib.toCodec(() => Metadata)]]) } +export type AssetValueType = lib.Enumerate<{ Numeric: [NumericSpec], Store: [] }> +export const AssetValueType = { /** Produce `Numeric` enum variant */ Numeric: (value: NumericSpec): AssetValueType => lib.variant('Numeric', value), /** `Store` enum variant */ Store: lib.variant('Store'), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => NumericSpec)], [1, 'Store']]) } +export type AssetValueTypeMismatch = { expected: AssetValueType; actual: AssetValueType; } +export const AssetValueTypeMismatch = lib.wrapCodec(lib.structCodec([['expected', lib.toCodec(() => AssetValueType)], ['actual', lib.toCodec(() => AssetValueType)]])) +export type AtIndex = { index: lib.codecs.U32; predicate: QueryOutputPredicate; } +export const AtIndex = lib.wrapCodec(lib.structCodec([['index', lib.toCodec(lib.codecs.U32)], ['predicate', lib.toCodec(() => QueryOutputPredicate)]])) +export type BatchedResponse = lib.Enumerate<{ V1: [BatchedResponseV1] }> +export const BatchedResponse = { /** Produce `V1` enum variant */ V1: (value: BatchedResponseV1): BatchedResponse => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => BatchedResponseV1)]]) } +export type BatchedResponseV1 = { batch: QueryOutputBox; cursor: ForwardCursor; } +export const BatchedResponseV1 = lib.wrapCodec(lib.structCodec([['batch', lib.toCodec(() => QueryOutputBox)], ['cursor', lib.toCodec(() => ForwardCursor)]])) +export type BlockEvent = { header: BlockHeader; hash: Hash; status: BlockStatus; } +export const BlockEvent = lib.wrapCodec(lib.structCodec([['header', lib.toCodec(() => BlockHeader)], ['hash', lib.toCodec(() => Hash)], ['status', lib.toCodec(() => BlockStatus)]])) +export type BlockEventFilter = { height: lib.codecs.Option; status: lib.codecs.Option; } +export const BlockEventFilter = lib.wrapCodec(lib.structCodec([['height', lib.codecs.Option.with(lib.toCodec(lib.codecs.U64))], ['status', lib.codecs.Option.with(lib.toCodec(() => BlockStatus))]])) +export type BlockHeader = { height: lib.codecs.U64; prevBlockHash: lib.codecs.Option; transactionsHash: Hash; timestampMs: lib.codecs.U64; viewChangeIndex: lib.codecs.U32; consensusEstimationMs: lib.codecs.U64; } +export const BlockHeader = lib.wrapCodec(lib.structCodec([['height', lib.toCodec(lib.codecs.U64)], ['prevBlockHash', lib.codecs.Option.with(lib.toCodec(() => Hash))], ['transactionsHash', lib.toCodec(() => Hash)], ['timestampMs', lib.toCodec(lib.codecs.U64)], ['viewChangeIndex', lib.toCodec(lib.codecs.U32)], ['consensusEstimationMs', lib.toCodec(lib.codecs.U64)]])) +export type BlockPayload = { header: BlockHeader; commitTopology: lib.codecs.Vec; transactions: lib.codecs.Vec; eventRecommendations: lib.codecs.Vec; } +export const BlockPayload = lib.wrapCodec(lib.structCodec([['header', lib.toCodec(() => BlockHeader)], ['commitTopology', lib.codecs.Vec.with(lib.toCodec(() => PeerId))], ['transactions', lib.codecs.Vec.with(lib.toCodec(() => CommittedTransaction))], ['eventRecommendations', lib.codecs.Vec.with(lib.toCodec(() => EventBox))]])) +export type BlockRejectionReason = lib.Enumerate<{ ConsensusBlockRejection: [] }> +export const BlockRejectionReason = { /** `ConsensusBlockRejection` enum variant */ ConsensusBlockRejection: lib.variant('ConsensusBlockRejection'), [lib.symbolCodec]: lib.enumCodec([[0, 'ConsensusBlockRejection']]) } +export type BlockSignature = { peerTopologyIndex: lib.codecs.U64; payload: BlockPayload; } +export const BlockSignature = lib.wrapCodec(lib.structCodec([['peerTopologyIndex', lib.toCodec(lib.codecs.U64)], ['payload', lib.toCodec(() => BlockPayload)]])) +export type BlockStatus = lib.Enumerate<{ Approved: [], Rejected: [BlockRejectionReason], Committed: [], Applied: [] }> +export const BlockStatus = { /** `Approved` enum variant */ Approved: lib.variant('Approved'), /** Produce `Rejected` enum variant */ Rejected: (value: BlockRejectionReason): BlockStatus => lib.variant('Rejected', value), /** `Committed` enum variant */ Committed: lib.variant('Committed'), /** `Applied` enum variant */ Applied: lib.variant('Applied'), [lib.symbolCodec]: lib.enumCodec([[0, 'Approved'], [1, 'Rejected', lib.toCodec(() => BlockRejectionReason)], [2, 'Committed'], [3, 'Applied']]) } +export type BlockSubscriptionRequest = { fromBlockHeight: lib.codecs.NonZero; } +export const BlockSubscriptionRequest = lib.wrapCodec(lib.structCodec([['fromBlockHeight', lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64))]])) +export type Burn = { object: T0, destination: T1 } +export const Burn = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } +export type BurnBox = lib.Enumerate<{ Asset: [Burn], TriggerRepetitions: [Burn] }> +export const BurnBox = { /** Produce `Asset` enum variant */ Asset: (value: Burn): BurnBox => lib.variant('Asset', value), /** Produce `TriggerRepetitions` enum variant */ TriggerRepetitions: (value: Burn): BurnBox => lib.variant('TriggerRepetitions', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => Burn.with(lib.toCodec(() => Numeric), lib.toCodec(() => AssetId)))], [1, 'TriggerRepetitions', lib.toCodec(() => Burn.with(lib.toCodec(lib.codecs.U32), lib.toCodec(() => TriggerId)))]]) } +export type ClientQueryPayload = { authority: AccountId; query: QueryBox; filter: PredicateBox; sorting: Sorting; pagination: Pagination; fetchSize: FetchSize; } +export const ClientQueryPayload = lib.wrapCodec(lib.structCodec([['authority', lib.toCodec(() => AccountId)], ['query', lib.toCodec(() => QueryBox)], ['filter', lib.toCodec(() => PredicateBox)], ['sorting', lib.toCodec(() => Sorting)], ['pagination', lib.toCodec(() => Pagination)], ['fetchSize', lib.toCodec(() => FetchSize)]])) +export type CommittedTransaction = { value: SignedTransaction; error: lib.codecs.Option; } +export const CommittedTransaction = lib.wrapCodec(lib.structCodec([['value', lib.toCodec(() => SignedTransaction)], ['error', lib.codecs.Option.with(lib.toCodec(() => TransactionRejectionReason))]])) +export type ConfigurationEvent = lib.Enumerate<{ Changed: [ParameterId], Created: [ParameterId], Deleted: [ParameterId] }> +export const ConfigurationEvent = { /** Produce `Changed` enum variant */ Changed: (value: ParameterId): ConfigurationEvent => lib.variant('Changed', value), /** Produce `Created` enum variant */ Created: (value: ParameterId): ConfigurationEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: ParameterId): ConfigurationEvent => lib.variant('Deleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Changed', lib.toCodec(() => ParameterId)], [1, 'Created', lib.toCodec(() => ParameterId)], [2, 'Deleted', lib.toCodec(() => ParameterId)]]) } +export type ConfigurationEventFilter = { idMatcher: lib.codecs.Option; eventSet: ConfigurationEventSet; } +export const ConfigurationEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => ParameterId))], ['eventSet', lib.toCodec(() => ConfigurationEventSet)]])) +export type ConfigurationEventSet = lib.codecs.U32 +export const ConfigurationEventSet = { /** `Changed` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Changed: 1, /** `Created` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Created: 2, /** `Deleted` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Deleted: 4, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type Container = lib.Enumerate<{ Any: [QueryOutputPredicate], All: [QueryOutputPredicate], AtIndex: [AtIndex] }> +export const Container = { /** Produce `Any` enum variant */ Any: (value: QueryOutputPredicate): Container => lib.variant('Any', value), /** Produce `All` enum variant */ All: (value: QueryOutputPredicate): Container => lib.variant('All', value), /** Produce `AtIndex` enum variant */ AtIndex: (value: AtIndex): Container => lib.variant('AtIndex', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Any', lib.toCodec(() => QueryOutputPredicate)], [1, 'All', lib.toCodec(() => QueryOutputPredicate)], [2, 'AtIndex', lib.toCodec(() => AtIndex)]]) } +export type Custom = { payload: lib.codecs.Json; } +export const Custom = lib.wrapCodec(lib.structCodec([['payload', lib.toCodec(lib.codecs.Json)]])) +export type DataEvent = lib.Enumerate<{ Peer: [PeerEvent], Domain: [DomainEvent], Trigger: [TriggerEvent], Role: [RoleEvent], Configuration: [ConfigurationEvent], Executor: [ExecutorEvent] }> +export const DataEvent = { /** Produce `Peer` enum variant */ Peer: (value: PeerEvent): DataEvent => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: DomainEvent): DataEvent => lib.variant('Domain', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerEvent): DataEvent => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleEvent): DataEvent => lib.variant('Role', value), /** Produce `Configuration` enum variant */ Configuration: (value: ConfigurationEvent): DataEvent => lib.variant('Configuration', value), /** Produce `Executor` enum variant */ Executor: (value: ExecutorEvent): DataEvent => lib.variant('Executor', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => PeerEvent)], [1, 'Domain', lib.toCodec(() => DomainEvent)], [2, 'Trigger', lib.toCodec(() => TriggerEvent)], [3, 'Role', lib.toCodec(() => RoleEvent)], [4, 'Configuration', lib.toCodec(() => ConfigurationEvent)], [5, 'Executor', lib.toCodec(() => ExecutorEvent)]]) } +export type DataEventFilter = lib.Enumerate<{ Any: [], Peer: [PeerEventFilter], Domain: [DomainEventFilter], Account: [AccountEventFilter], Asset: [AssetEventFilter], AssetDefinition: [AssetDefinitionEventFilter], Trigger: [TriggerEventFilter], Role: [RoleEventFilter], Configuration: [ConfigurationEventFilter], Executor: [ExecutorEventFilter] }> +export const DataEventFilter = { /** `Any` enum variant */ Any: lib.variant('Any'), /** Produce `Peer` enum variant */ Peer: (value: PeerEventFilter): DataEventFilter => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: DomainEventFilter): DataEventFilter => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: AccountEventFilter): DataEventFilter => lib.variant('Account', value), /** Produce `Asset` enum variant */ Asset: (value: AssetEventFilter): DataEventFilter => lib.variant('Asset', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionEventFilter): DataEventFilter => lib.variant('AssetDefinition', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerEventFilter): DataEventFilter => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleEventFilter): DataEventFilter => lib.variant('Role', value), /** Produce `Configuration` enum variant */ Configuration: (value: ConfigurationEventFilter): DataEventFilter => lib.variant('Configuration', value), /** Produce `Executor` enum variant */ Executor: (value: ExecutorEventFilter): DataEventFilter => lib.variant('Executor', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Any'], [1, 'Peer', lib.toCodec(() => PeerEventFilter)], [2, 'Domain', lib.toCodec(() => DomainEventFilter)], [3, 'Account', lib.toCodec(() => AccountEventFilter)], [4, 'Asset', lib.toCodec(() => AssetEventFilter)], [5, 'AssetDefinition', lib.toCodec(() => AssetDefinitionEventFilter)], [6, 'Trigger', lib.toCodec(() => TriggerEventFilter)], [7, 'Role', lib.toCodec(() => RoleEventFilter)], [8, 'Configuration', lib.toCodec(() => ConfigurationEventFilter)], [9, 'Executor', lib.toCodec(() => ExecutorEventFilter)]]) } +export type Domain = { id: DomainId; accounts: lib.codecs.Map; assetDefinitions: lib.codecs.Map; assetTotalQuantities: lib.codecs.Map; logo: lib.codecs.Option; metadata: Metadata; ownedBy: AccountId; } +export const Domain = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['accounts', lib.codecs.Map.with(lib.toCodec(() => AccountId), lib.toCodec(() => Account))], ['assetDefinitions', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => AssetDefinition))], ['assetTotalQuantities', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => Numeric))], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)], ['ownedBy', lib.toCodec(() => AccountId)]])) +export type DomainEvent = lib.Enumerate<{ Account: [AccountEvent], AssetDefinition: [AssetDefinitionEvent], Created: [Domain], Deleted: [DomainId], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged], OwnerChanged: [DomainOwnerChanged] }> +export const DomainEvent = { /** Produce `Account` enum variant */ Account: (value: AccountEvent): DomainEvent => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionEvent): DomainEvent => lib.variant('AssetDefinition', value), /** Produce `Created` enum variant */ Created: (value: Domain): DomainEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: DomainId): DomainEvent => lib.variant('Deleted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): DomainEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): DomainEvent => lib.variant('MetadataRemoved', value), /** Produce `OwnerChanged` enum variant */ OwnerChanged: (value: DomainOwnerChanged): DomainEvent => lib.variant('OwnerChanged', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Account', lib.toCodec(() => AccountEvent)], [1, 'AssetDefinition', lib.toCodec(() => AssetDefinitionEvent)], [2, 'Created', lib.toCodec(() => Domain)], [3, 'Deleted', lib.toCodec(() => DomainId)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => DomainId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => DomainId)))], [6, 'OwnerChanged', lib.toCodec(() => DomainOwnerChanged)]]) } +export type DomainEventFilter = { idMatcher: lib.codecs.Option; eventSet: DomainEventSet; } +export const DomainEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => DomainId))], ['eventSet', lib.toCodec(() => DomainEventSet)]])) +export type DomainEventSet = lib.codecs.U32 +export const DomainEventSet = { /** `AnyAccount` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ AnyAccount: 1, /** `AnyAssetDefinition` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ AnyAssetDefinition: 2, /** `Created` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ Created: 4, /** `Deleted` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ Deleted: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ MetadataRemoved: 32, /** `OwnerChanged` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ OwnerChanged: 64, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type DomainId = { name: lib.codecs.String; } +export const DomainId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type DomainOwnerChanged = { domain: DomainId; newOwner: AccountId; } +export const DomainOwnerChanged = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['newOwner', lib.toCodec(() => AccountId)]])) +export type Duration = { secs: lib.codecs.U64; nanos: lib.codecs.U32; } +export const Duration = lib.wrapCodec(lib.structCodec([['secs', lib.toCodec(lib.codecs.U64)], ['nanos', lib.toCodec(lib.codecs.U32)]])) +export type EventBox = lib.Enumerate<{ Pipeline: [PipelineEventBox], Data: [DataEvent], Time: [TimeEvent], ExecuteTrigger: [ExecuteTriggerEvent], TriggerCompleted: [TriggerCompletedEvent] }> +export const EventBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventBox): EventBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEvent): EventBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: TimeEvent): EventBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEvent): EventBox => lib.variant('ExecuteTrigger', value), /** Produce `TriggerCompleted` enum variant */ TriggerCompleted: (value: TriggerCompletedEvent): EventBox => lib.variant('TriggerCompleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventBox)], [1, 'Data', lib.toCodec(() => DataEvent)], [2, 'Time', lib.toCodec(() => TimeEvent)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEvent)], [4, 'TriggerCompleted', lib.toCodec(() => TriggerCompletedEvent)]]) } +export type EventFilterBox = lib.Enumerate<{ Pipeline: [PipelineEventFilterBox], Data: [DataEventFilter], Time: [ExecutionTime], ExecuteTrigger: [ExecuteTriggerEventFilter], TriggerCompleted: [TriggerCompletedEventFilter] }> +export const EventFilterBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventFilterBox): EventFilterBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEventFilter): EventFilterBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: ExecutionTime): EventFilterBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEventFilter): EventFilterBox => lib.variant('ExecuteTrigger', value), /** Produce `TriggerCompleted` enum variant */ TriggerCompleted: (value: TriggerCompletedEventFilter): EventFilterBox => lib.variant('TriggerCompleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventFilterBox)], [1, 'Data', lib.toCodec(() => DataEventFilter)], [2, 'Time', lib.toCodec(() => ExecutionTime)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEventFilter)], [4, 'TriggerCompleted', lib.toCodec(() => TriggerCompletedEventFilter)]]) } +export type EventSubscriptionRequest = { filters: lib.codecs.Vec; } +export const EventSubscriptionRequest = lib.wrapCodec(lib.structCodec([['filters', lib.codecs.Vec.with(lib.toCodec(() => EventFilterBox))]])) +export type Executable = lib.Enumerate<{ Instructions: [lib.codecs.Vec], Wasm: [WasmSmartContract] }> +export const Executable = { /** Produce `Instructions` enum variant */ Instructions: (value: lib.codecs.Vec): Executable => lib.variant('Instructions', value), /** Produce `Wasm` enum variant */ Wasm: (value: WasmSmartContract): Executable => lib.variant('Wasm', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Instructions', lib.codecs.Vec.with(lib.toCodec(() => InstructionBox))], [1, 'Wasm', lib.toCodec(() => WasmSmartContract)]]) } +export type ExecuteTrigger = { trigger: TriggerId; } +export const ExecuteTrigger = lib.wrapCodec(lib.structCodec([['trigger', lib.toCodec(() => TriggerId)]])) +export type ExecuteTriggerEvent = { triggerId: TriggerId; authority: AccountId; } +export const ExecuteTriggerEvent = lib.wrapCodec(lib.structCodec([['triggerId', lib.toCodec(() => TriggerId)], ['authority', lib.toCodec(() => AccountId)]])) +export type ExecuteTriggerEventFilter = { triggerId: lib.codecs.Option; authority: lib.codecs.Option; } +export const ExecuteTriggerEventFilter = lib.wrapCodec(lib.structCodec([['triggerId', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['authority', lib.codecs.Option.with(lib.toCodec(() => AccountId))]])) +export type ExecutionTime = lib.Enumerate<{ PreCommit: [], Schedule: [Schedule] }> +export const ExecutionTime = { /** `PreCommit` enum variant */ PreCommit: lib.variant('PreCommit'), /** Produce `Schedule` enum variant */ Schedule: (value: Schedule): ExecutionTime => lib.variant('Schedule', value), [lib.symbolCodec]: lib.enumCodec([[0, 'PreCommit'], [1, 'Schedule', lib.toCodec(() => Schedule)]]) } +export type Executor = { wasm: WasmSmartContract; } +export const Executor = lib.wrapCodec(lib.structCodec([['wasm', lib.toCodec(() => WasmSmartContract)]])) +export type ExecutorDataModel = { permissions: lib.codecs.Vec; customInstruction: lib.codecs.Option; schema: lib.codecs.Json; } +export const ExecutorDataModel = lib.wrapCodec(lib.structCodec([['permissions', lib.codecs.Vec.with(lib.toCodec(() => PermissionId))], ['customInstruction', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))], ['schema', lib.toCodec(lib.codecs.Json)]])) +export type ExecutorEvent = lib.Enumerate<{ Upgraded: [ExecutorUpgrade] }> +export const ExecutorEvent = { /** Produce `Upgraded` enum variant */ Upgraded: (value: ExecutorUpgrade): ExecutorEvent => lib.variant('Upgraded', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Upgraded', lib.toCodec(() => ExecutorUpgrade)]]) } +export type ExecutorEventFilter = { eventSet: ExecutorEventSet; } +export const ExecutorEventFilter = lib.wrapCodec(lib.structCodec([['eventSet', lib.toCodec(() => ExecutorEventSet)]])) +export type ExecutorEventSet = lib.codecs.U32 +export const ExecutorEventSet = { /** `Upgraded` event bitmask. Use `|` to combine with other {@link ExecutorEventSet} bitmasks. */ Upgraded: 1, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type ExecutorUpgrade = { newDataModel: ExecutorDataModel; } +export const ExecutorUpgrade = lib.wrapCodec(lib.structCodec([['newDataModel', lib.toCodec(() => ExecutorDataModel)]])) +export type Fail = { message: lib.codecs.String; } +export const Fail = lib.wrapCodec(lib.structCodec([['message', lib.toCodec(lib.codecs.String)]])) +export type FetchSize = { fetchSize: lib.codecs.Option>; } +export const FetchSize = lib.wrapCodec(lib.structCodec([['fetchSize', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))]])) +export type FindAccountById = { id: AccountId; } +export const FindAccountById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) +export type FindAccountKeyValueByIdAndKey = { id: AccountId; key: lib.codecs.String; } +export const FindAccountKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindAccountsByDomainId = { domainId: DomainId; } +export const FindAccountsByDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) +export type FindAccountsWithAsset = { assetDefinitionId: AssetDefinitionId; } +export const FindAccountsWithAsset = lib.wrapCodec(lib.structCodec([['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) +export type FindAssetById = { id: AssetId; } +export const FindAssetById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)]])) +export type FindAssetDefinitionById = { id: AssetDefinitionId; } +export const FindAssetDefinitionById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)]])) +export type FindAssetDefinitionKeyValueByIdAndKey = { id: AssetDefinitionId; key: lib.codecs.String; } +export const FindAssetDefinitionKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindAssetKeyValueByIdAndKey = { id: AssetId; key: lib.codecs.String; } +export const FindAssetKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindAssetQuantityById = { id: AssetId; } +export const FindAssetQuantityById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)]])) +export type FindAssetsByAccountId = { accountId: AccountId; } +export const FindAssetsByAccountId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) +export type FindAssetsByAssetDefinitionId = { assetDefinitionId: AssetDefinitionId; } +export const FindAssetsByAssetDefinitionId = lib.wrapCodec(lib.structCodec([['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) +export type FindAssetsByDomainId = { domainId: DomainId; } +export const FindAssetsByDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) +export type FindAssetsByDomainIdAndAssetDefinitionId = { domainId: DomainId; assetDefinitionId: AssetDefinitionId; } +export const FindAssetsByDomainIdAndAssetDefinitionId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)], ['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) +export type FindAssetsByName = { name: lib.codecs.String; } +export const FindAssetsByName = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type FindBlockHeaderByHash = { hash: Hash; } +export const FindBlockHeaderByHash = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)]])) +export type FindDomainById = { id: DomainId; } +export const FindDomainById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)]])) +export type FindDomainKeyValueByIdAndKey = { id: DomainId; key: lib.codecs.String; } +export const FindDomainKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindError = lib.Enumerate<{ Asset: [AssetId], AssetDefinition: [AssetDefinitionId], Account: [AccountId], Domain: [DomainId], MetadataKey: [lib.codecs.String], Block: [Hash], Transaction: [Hash], Peer: [PeerId], Trigger: [TriggerId], Role: [RoleId], Permission: [PermissionId], Parameter: [ParameterId], PublicKey: [PublicKey] }> +export const FindError = { /** Produce `Asset` enum variant */ Asset: (value: AssetId): FindError => lib.variant('Asset', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionId): FindError => lib.variant('AssetDefinition', value), /** Produce `Account` enum variant */ Account: (value: AccountId): FindError => lib.variant('Account', value), /** Produce `Domain` enum variant */ Domain: (value: DomainId): FindError => lib.variant('Domain', value), /** Produce `MetadataKey` enum variant */ MetadataKey: (value: lib.codecs.String): FindError => lib.variant('MetadataKey', value), /** Produce `Block` enum variant */ Block: (value: Hash): FindError => lib.variant('Block', value), /** Produce `Transaction` enum variant */ Transaction: (value: Hash): FindError => lib.variant('Transaction', value), /** Produce `Peer` enum variant */ Peer: (value: PeerId): FindError => lib.variant('Peer', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerId): FindError => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleId): FindError => lib.variant('Role', value), /** Produce `Permission` enum variant */ Permission: (value: PermissionId): FindError => lib.variant('Permission', value), /** Produce `Parameter` enum variant */ Parameter: (value: ParameterId): FindError => lib.variant('Parameter', value), /** Produce `PublicKey` enum variant */ PublicKey: (value: PublicKey): FindError => lib.variant('PublicKey', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => AssetId)], [1, 'AssetDefinition', lib.toCodec(() => AssetDefinitionId)], [2, 'Account', lib.toCodec(() => AccountId)], [3, 'Domain', lib.toCodec(() => DomainId)], [4, 'MetadataKey', lib.toCodec(lib.codecs.String)], [5, 'Block', lib.toCodec(() => Hash)], [6, 'Transaction', lib.toCodec(() => Hash)], [7, 'Peer', lib.toCodec(() => PeerId)], [8, 'Trigger', lib.toCodec(() => TriggerId)], [9, 'Role', lib.toCodec(() => RoleId)], [10, 'Permission', lib.toCodec(() => PermissionId)], [11, 'Parameter', lib.toCodec(() => ParameterId)], [12, 'PublicKey', lib.toCodec(() => PublicKey)]]) } +export type FindPermissionsByAccountId = { id: AccountId; } +export const FindPermissionsByAccountId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) +export type FindRoleByRoleId = { id: RoleId; } +export const FindRoleByRoleId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => RoleId)]])) +export type FindRolesByAccountId = { id: AccountId; } +export const FindRolesByAccountId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) +export type FindTotalAssetQuantityByAssetDefinitionId = { id: AssetDefinitionId; } +export const FindTotalAssetQuantityByAssetDefinitionId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)]])) +export type FindTransactionByHash = { hash: Hash; } +export const FindTransactionByHash = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)]])) +export type FindTransactionsByAccountId = { accountId: AccountId; } +export const FindTransactionsByAccountId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) +export type FindTriggerById = { id: TriggerId; } +export const FindTriggerById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)]])) +export type FindTriggerKeyValueByIdAndKey = { id: TriggerId; key: lib.codecs.String; } +export const FindTriggerKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)], ['key', lib.toCodec(lib.codecs.String)]])) +export type FindTriggersByAuthorityDomainId = { domainId: DomainId; } +export const FindTriggersByAuthorityDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) +export type FindTriggersByAuthorityId = { accountId: AccountId; } +export const FindTriggersByAuthorityId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) +export type ForwardCursor = { queryId: lib.codecs.Option; cursor: lib.codecs.Option>; } +export const ForwardCursor = lib.wrapCodec(lib.structCodec([['queryId', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))], ['cursor', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))]])) +export type Grant = { object: T0, destination: T1 } +export const Grant = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } +export type GrantBox = lib.Enumerate<{ Permission: [Grant], Role: [Grant], RolePermission: [Grant] }> +export const GrantBox = { /** Produce `Permission` enum variant */ Permission: (value: Grant): GrantBox => lib.variant('Permission', value), /** Produce `Role` enum variant */ Role: (value: Grant): GrantBox => lib.variant('Role', value), /** Produce `RolePermission` enum variant */ RolePermission: (value: Grant): GrantBox => lib.variant('RolePermission', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Permission', lib.toCodec(() => Grant.with(lib.toCodec(() => Permission), lib.toCodec(() => AccountId)))], [1, 'Role', lib.toCodec(() => Grant.with(lib.toCodec(() => RoleId), lib.toCodec(() => AccountId)))], [2, 'RolePermission', lib.toCodec(() => Grant.with(lib.toCodec(() => Permission), lib.toCodec(() => RoleId)))]]) } +export type Hash = lib.codecs.Array +export const Hash = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U8), 32)) +export type IdBox = lib.Enumerate<{ DomainId: [DomainId], AccountId: [AccountId], AssetDefinitionId: [AssetDefinitionId], AssetId: [AssetId], PeerId: [PeerId], TriggerId: [TriggerId], RoleId: [RoleId], PermissionId: [PermissionId], ParameterId: [ParameterId] }> +export const IdBox = { /** Produce `DomainId` enum variant */ DomainId: (value: DomainId): IdBox => lib.variant('DomainId', value), /** Produce `AccountId` enum variant */ AccountId: (value: AccountId): IdBox => lib.variant('AccountId', value), /** Produce `AssetDefinitionId` enum variant */ AssetDefinitionId: (value: AssetDefinitionId): IdBox => lib.variant('AssetDefinitionId', value), /** Produce `AssetId` enum variant */ AssetId: (value: AssetId): IdBox => lib.variant('AssetId', value), /** Produce `PeerId` enum variant */ PeerId: (value: PeerId): IdBox => lib.variant('PeerId', value), /** Produce `TriggerId` enum variant */ TriggerId: (value: TriggerId): IdBox => lib.variant('TriggerId', value), /** Produce `RoleId` enum variant */ RoleId: (value: RoleId): IdBox => lib.variant('RoleId', value), /** Produce `PermissionId` enum variant */ PermissionId: (value: PermissionId): IdBox => lib.variant('PermissionId', value), /** Produce `ParameterId` enum variant */ ParameterId: (value: ParameterId): IdBox => lib.variant('ParameterId', value), [lib.symbolCodec]: lib.enumCodec([[0, 'DomainId', lib.toCodec(() => DomainId)], [1, 'AccountId', lib.toCodec(() => AccountId)], [2, 'AssetDefinitionId', lib.toCodec(() => AssetDefinitionId)], [3, 'AssetId', lib.toCodec(() => AssetId)], [4, 'PeerId', lib.toCodec(() => PeerId)], [5, 'TriggerId', lib.toCodec(() => TriggerId)], [6, 'RoleId', lib.toCodec(() => RoleId)], [7, 'PermissionId', lib.toCodec(() => PermissionId)], [8, 'ParameterId', lib.toCodec(() => ParameterId)]]) } +export type IdentifiableBox = lib.Enumerate<{ NewDomain: [NewDomain], NewAccount: [NewAccount], NewAssetDefinition: [NewAssetDefinition], NewRole: [NewRole], Peer: [Peer], Domain: [Domain], Account: [Account], AssetDefinition: [AssetDefinition], Asset: [Asset], Trigger: [Trigger], Role: [Role], Parameter: [Parameter] }> +export const IdentifiableBox = { /** Produce `NewDomain` enum variant */ NewDomain: (value: NewDomain): IdentifiableBox => lib.variant('NewDomain', value), /** Produce `NewAccount` enum variant */ NewAccount: (value: NewAccount): IdentifiableBox => lib.variant('NewAccount', value), /** Produce `NewAssetDefinition` enum variant */ NewAssetDefinition: (value: NewAssetDefinition): IdentifiableBox => lib.variant('NewAssetDefinition', value), /** Produce `NewRole` enum variant */ NewRole: (value: NewRole): IdentifiableBox => lib.variant('NewRole', value), /** Produce `Peer` enum variant */ Peer: (value: Peer): IdentifiableBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Domain): IdentifiableBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Account): IdentifiableBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinition): IdentifiableBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Asset): IdentifiableBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: Trigger): IdentifiableBox => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: Role): IdentifiableBox => lib.variant('Role', value), /** Produce `Parameter` enum variant */ Parameter: (value: Parameter): IdentifiableBox => lib.variant('Parameter', value), [lib.symbolCodec]: lib.enumCodec([[0, 'NewDomain', lib.toCodec(() => NewDomain)], [1, 'NewAccount', lib.toCodec(() => NewAccount)], [2, 'NewAssetDefinition', lib.toCodec(() => NewAssetDefinition)], [3, 'NewRole', lib.toCodec(() => NewRole)], [4, 'Peer', lib.toCodec(() => Peer)], [5, 'Domain', lib.toCodec(() => Domain)], [6, 'Account', lib.toCodec(() => Account)], [7, 'AssetDefinition', lib.toCodec(() => AssetDefinition)], [8, 'Asset', lib.toCodec(() => Asset)], [9, 'Trigger', lib.toCodec(() => Trigger)], [10, 'Role', lib.toCodec(() => Role)], [11, 'Parameter', lib.toCodec(() => Parameter)]]) } +export type InstructionBox = { enum: lib.Enumerate<{ Register: [RegisterBox], Unregister: [UnregisterBox], Mint: [MintBox], Burn: [BurnBox], Transfer: [TransferBox], SetKeyValue: [SetKeyValueBox], RemoveKeyValue: [RemoveKeyValueBox], Grant: [GrantBox], Revoke: [RevokeBox], ExecuteTrigger: [ExecuteTrigger], SetParameter: [SetParameter], NewParameter: [NewParameter], Upgrade: [Upgrade], Log: [Log], Custom: [Custom], Fail: [Fail] }> } +export const InstructionBox: lib.EnumBoxValue = { /** Produce `Register` enum variant */ Register: (value: RegisterBox): InstructionBox => ({ enum: lib.variant('Register', value) }), /** Produce `Unregister` enum variant */ Unregister: (value: UnregisterBox): InstructionBox => ({ enum: lib.variant('Unregister', value) }), /** Produce `Mint` enum variant */ Mint: (value: MintBox): InstructionBox => ({ enum: lib.variant('Mint', value) }), /** Produce `Burn` enum variant */ Burn: (value: BurnBox): InstructionBox => ({ enum: lib.variant('Burn', value) }), /** Produce `Transfer` enum variant */ Transfer: (value: TransferBox): InstructionBox => ({ enum: lib.variant('Transfer', value) }), /** Produce `SetKeyValue` enum variant */ SetKeyValue: (value: SetKeyValueBox): InstructionBox => ({ enum: lib.variant('SetKeyValue', value) }), /** Produce `RemoveKeyValue` enum variant */ RemoveKeyValue: (value: RemoveKeyValueBox): InstructionBox => ({ enum: lib.variant('RemoveKeyValue', value) }), /** Produce `Grant` enum variant */ Grant: (value: GrantBox): InstructionBox => ({ enum: lib.variant('Grant', value) }), /** Produce `Revoke` enum variant */ Revoke: (value: RevokeBox): InstructionBox => ({ enum: lib.variant('Revoke', value) }), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTrigger): InstructionBox => ({ enum: lib.variant('ExecuteTrigger', value) }), /** Produce `SetParameter` enum variant */ SetParameter: (value: SetParameter): InstructionBox => ({ enum: lib.variant('SetParameter', value) }), /** Produce `NewParameter` enum variant */ NewParameter: (value: NewParameter): InstructionBox => ({ enum: lib.variant('NewParameter', value) }), /** Produce `Upgrade` enum variant */ Upgrade: (value: Upgrade): InstructionBox => ({ enum: lib.variant('Upgrade', value) }), /** Produce `Log` enum variant */ Log: (value: Log): InstructionBox => ({ enum: lib.variant('Log', value) }), /** Produce `Custom` enum variant */ Custom: (value: Custom): InstructionBox => ({ enum: lib.variant('Custom', value) }), /** Produce `Fail` enum variant */ Fail: (value: Fail): InstructionBox => ({ enum: lib.variant('Fail', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Register', lib.toCodec(() => RegisterBox)], [1, 'Unregister', lib.toCodec(() => UnregisterBox)], [2, 'Mint', lib.toCodec(() => MintBox)], [3, 'Burn', lib.toCodec(() => BurnBox)], [4, 'Transfer', lib.toCodec(() => TransferBox)], [5, 'SetKeyValue', lib.toCodec(() => SetKeyValueBox)], [6, 'RemoveKeyValue', lib.toCodec(() => RemoveKeyValueBox)], [7, 'Grant', lib.toCodec(() => GrantBox)], [8, 'Revoke', lib.toCodec(() => RevokeBox)], [9, 'ExecuteTrigger', lib.toCodec(() => ExecuteTrigger)], [10, 'SetParameter', lib.toCodec(() => SetParameter)], [11, 'NewParameter', lib.toCodec(() => NewParameter)], [12, 'Upgrade', lib.toCodec(() => Upgrade)], [13, 'Log', lib.toCodec(() => Log)], [14, 'Custom', lib.toCodec(() => Custom)], [15, 'Fail', lib.toCodec(() => Fail)]])) } +export type InstructionEvaluationError = lib.Enumerate<{ Unsupported: [InstructionType], PermissionParameter: [lib.codecs.String], Type: [TypeError] }> +export const InstructionEvaluationError = { /** Produce `Unsupported` enum variant */ Unsupported: (value: InstructionType): InstructionEvaluationError => lib.variant('Unsupported', value), /** Produce `PermissionParameter` enum variant */ PermissionParameter: (value: lib.codecs.String): InstructionEvaluationError => lib.variant('PermissionParameter', value), /** Produce `Type` enum variant */ Type: (value: TypeError): InstructionEvaluationError => lib.variant('Type', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Unsupported', lib.toCodec(() => InstructionType)], [1, 'PermissionParameter', lib.toCodec(lib.codecs.String)], [2, 'Type', lib.toCodec(() => TypeError)]]) } +export type InstructionExecutionError = lib.Enumerate<{ Evaluate: [InstructionEvaluationError], Query: [QueryExecutionFail], Conversion: [lib.codecs.String], Find: [FindError], Repetition: [RepetitionError], Mintability: [MintabilityError], Math: [MathError], Metadata: [MetadataError], Fail: [lib.codecs.String], InvalidParameter: [InvalidParameterError], InvariantViolation: [lib.codecs.String] }> +export const InstructionExecutionError = { /** Produce `Evaluate` enum variant */ Evaluate: (value: InstructionEvaluationError): InstructionExecutionError => lib.variant('Evaluate', value), /** Produce `Query` enum variant */ Query: (value: QueryExecutionFail): InstructionExecutionError => lib.variant('Query', value), /** Produce `Conversion` enum variant */ Conversion: (value: lib.codecs.String): InstructionExecutionError => lib.variant('Conversion', value), /** Produce `Find` enum variant */ Find: (value: FindError): InstructionExecutionError => lib.variant('Find', value), /** Produce `Repetition` enum variant */ Repetition: (value: RepetitionError): InstructionExecutionError => lib.variant('Repetition', value), /** Produce `Mintability` enum variant */ Mintability: (value: MintabilityError): InstructionExecutionError => lib.variant('Mintability', value), /** Produce `Math` enum variant */ Math: (value: MathError): InstructionExecutionError => lib.variant('Math', value), /** Produce `Metadata` enum variant */ Metadata: (value: MetadataError): InstructionExecutionError => lib.variant('Metadata', value), /** Produce `Fail` enum variant */ Fail: (value: lib.codecs.String): InstructionExecutionError => lib.variant('Fail', value), /** Produce `InvalidParameter` enum variant */ InvalidParameter: (value: InvalidParameterError): InstructionExecutionError => lib.variant('InvalidParameter', value), /** Produce `InvariantViolation` enum variant */ InvariantViolation: (value: lib.codecs.String): InstructionExecutionError => lib.variant('InvariantViolation', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Evaluate', lib.toCodec(() => InstructionEvaluationError)], [1, 'Query', lib.toCodec(() => QueryExecutionFail)], [2, 'Conversion', lib.toCodec(lib.codecs.String)], [3, 'Find', lib.toCodec(() => FindError)], [4, 'Repetition', lib.toCodec(() => RepetitionError)], [5, 'Mintability', lib.toCodec(() => MintabilityError)], [6, 'Math', lib.toCodec(() => MathError)], [7, 'Metadata', lib.toCodec(() => MetadataError)], [8, 'Fail', lib.toCodec(lib.codecs.String)], [9, 'InvalidParameter', lib.toCodec(() => InvalidParameterError)], [10, 'InvariantViolation', lib.toCodec(lib.codecs.String)]]) } +export type InstructionExecutionFail = { instruction: InstructionBox; reason: lib.codecs.String; } +export const InstructionExecutionFail = lib.wrapCodec(lib.structCodec([['instruction', lib.toCodec(() => InstructionBox)], ['reason', lib.toCodec(lib.codecs.String)]])) +export type InstructionType = lib.Enumerate<{ Register: [], Unregister: [], Mint: [], Burn: [], Transfer: [], SetKeyValue: [], RemoveKeyValue: [], Grant: [], Revoke: [], ExecuteTrigger: [], SetParameter: [], NewParameter: [], Upgrade: [], Log: [], Custom: [], Fail: [] }> +export const InstructionType = { /** `Register` enum variant */ Register: lib.variant('Register'), /** `Unregister` enum variant */ Unregister: lib.variant('Unregister'), /** `Mint` enum variant */ Mint: lib.variant('Mint'), /** `Burn` enum variant */ Burn: lib.variant('Burn'), /** `Transfer` enum variant */ Transfer: lib.variant('Transfer'), /** `SetKeyValue` enum variant */ SetKeyValue: lib.variant('SetKeyValue'), /** `RemoveKeyValue` enum variant */ RemoveKeyValue: lib.variant('RemoveKeyValue'), /** `Grant` enum variant */ Grant: lib.variant('Grant'), /** `Revoke` enum variant */ Revoke: lib.variant('Revoke'), /** `ExecuteTrigger` enum variant */ ExecuteTrigger: lib.variant('ExecuteTrigger'), /** `SetParameter` enum variant */ SetParameter: lib.variant('SetParameter'), /** `NewParameter` enum variant */ NewParameter: lib.variant('NewParameter'), /** `Upgrade` enum variant */ Upgrade: lib.variant('Upgrade'), /** `Log` enum variant */ Log: lib.variant('Log'), /** `Custom` enum variant */ Custom: lib.variant('Custom'), /** `Fail` enum variant */ Fail: lib.variant('Fail'), [lib.symbolCodec]: lib.enumCodec([[0, 'Register'], [1, 'Unregister'], [2, 'Mint'], [3, 'Burn'], [4, 'Transfer'], [5, 'SetKeyValue'], [6, 'RemoveKeyValue'], [7, 'Grant'], [8, 'Revoke'], [9, 'ExecuteTrigger'], [10, 'SetParameter'], [11, 'NewParameter'], [12, 'Upgrade'], [13, 'Log'], [14, 'Custom'], [15, 'Fail']]) } +export type InvalidParameterError = lib.Enumerate<{ Wasm: [lib.codecs.String], NameLength: [], TimeTriggerInThePast: [] }> +export const InvalidParameterError = { /** Produce `Wasm` enum variant */ Wasm: (value: lib.codecs.String): InvalidParameterError => lib.variant('Wasm', value), /** `NameLength` enum variant */ NameLength: lib.variant('NameLength'), /** `TimeTriggerInThePast` enum variant */ TimeTriggerInThePast: lib.variant('TimeTriggerInThePast'), [lib.symbolCodec]: lib.enumCodec([[0, 'Wasm', lib.toCodec(lib.codecs.String)], [1, 'NameLength'], [2, 'TimeTriggerInThePast']]) } +export type IpfsPath = { path: lib.codecs.String; } +export const IpfsPath = lib.wrapCodec(lib.structCodec([['path', lib.toCodec(lib.codecs.String)]])) +export type Ipv4Addr = lib.codecs.Array +export const Ipv4Addr = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U8), 4)) +export type Ipv6Addr = lib.codecs.Array +export const Ipv6Addr = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U16), 8)) +export type LengthLimits = { min: lib.codecs.U32; max: lib.codecs.U32; } +export const LengthLimits = lib.wrapCodec(lib.structCodec([['min', lib.toCodec(lib.codecs.U32)], ['max', lib.toCodec(lib.codecs.U32)]])) +export type Level = lib.Enumerate<{ TRACE: [], DEBUG: [], INFO: [], WARN: [], ERROR: [] }> +export const Level = { /** `TRACE` enum variant */ TRACE: lib.variant('TRACE'), /** `DEBUG` enum variant */ DEBUG: lib.variant('DEBUG'), /** `INFO` enum variant */ INFO: lib.variant('INFO'), /** `WARN` enum variant */ WARN: lib.variant('WARN'), /** `ERROR` enum variant */ ERROR: lib.variant('ERROR'), [lib.symbolCodec]: lib.enumCodec([[0, 'TRACE'], [1, 'DEBUG'], [2, 'INFO'], [3, 'WARN'], [4, 'ERROR']]) } +export type Limits = { capacity: lib.codecs.U32; maxEntryLen: lib.codecs.U32; } +export const Limits = lib.wrapCodec(lib.structCodec([['capacity', lib.toCodec(lib.codecs.U32)], ['maxEntryLen', lib.toCodec(lib.codecs.U32)]])) +export type Log = { level: Level; msg: lib.codecs.String; } +export const Log = lib.wrapCodec(lib.structCodec([['level', lib.toCodec(() => Level)], ['msg', lib.toCodec(lib.codecs.String)]])) +export type MathError = lib.Enumerate<{ Overflow: [], NotEnoughQuantity: [], DivideByZero: [], NegativeValue: [], DomainViolation: [], Unknown: [], FixedPointConversion: [lib.codecs.String] }> +export const MathError = { /** `Overflow` enum variant */ Overflow: lib.variant('Overflow'), /** `NotEnoughQuantity` enum variant */ NotEnoughQuantity: lib.variant('NotEnoughQuantity'), /** `DivideByZero` enum variant */ DivideByZero: lib.variant('DivideByZero'), /** `NegativeValue` enum variant */ NegativeValue: lib.variant('NegativeValue'), /** `DomainViolation` enum variant */ DomainViolation: lib.variant('DomainViolation'), /** `Unknown` enum variant */ Unknown: lib.variant('Unknown'), /** Produce `FixedPointConversion` enum variant */ FixedPointConversion: (value: lib.codecs.String): MathError => lib.variant('FixedPointConversion', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Overflow'], [1, 'NotEnoughQuantity'], [2, 'DivideByZero'], [3, 'NegativeValue'], [4, 'DomainViolation'], [5, 'Unknown'], [6, 'FixedPointConversion', lib.toCodec(lib.codecs.String)]]) } +export type Metadata = lib.codecs.Map +export const Metadata = lib.wrapCodec(lib.codecs.Map.with(lib.toCodec(lib.codecs.String), lib.toCodec(() => MetadataValueBox))) +export type MetadataChanged = { target: T0, key: lib.codecs.String, value: MetadataValueBox } +export const MetadataChanged = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['target', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } +export type MetadataError = lib.Enumerate<{ EmptyPath: [], EntryTooBig: [SizeError], MaxCapacity: [SizeError], MissingSegment: [lib.codecs.String], InvalidSegment: [lib.codecs.String] }> +export const MetadataError = { /** `EmptyPath` enum variant */ EmptyPath: lib.variant('EmptyPath'), /** Produce `EntryTooBig` enum variant */ EntryTooBig: (value: SizeError): MetadataError => lib.variant('EntryTooBig', value), /** Produce `MaxCapacity` enum variant */ MaxCapacity: (value: SizeError): MetadataError => lib.variant('MaxCapacity', value), /** Produce `MissingSegment` enum variant */ MissingSegment: (value: lib.codecs.String): MetadataError => lib.variant('MissingSegment', value), /** Produce `InvalidSegment` enum variant */ InvalidSegment: (value: lib.codecs.String): MetadataError => lib.variant('InvalidSegment', value), [lib.symbolCodec]: lib.enumCodec([[0, 'EmptyPath'], [1, 'EntryTooBig', lib.toCodec(() => SizeError)], [2, 'MaxCapacity', lib.toCodec(() => SizeError)], [3, 'MissingSegment', lib.toCodec(lib.codecs.String)], [4, 'InvalidSegment', lib.toCodec(lib.codecs.String)]]) } +export type MetadataValueBox = { enum: lib.Enumerate<{ Bool: [lib.codecs.Bool], String: [lib.codecs.String], Name: [lib.codecs.String], Bytes: [lib.codecs.BytesVec], Numeric: [Numeric], LimitedMetadata: [Metadata], Vec: [lib.codecs.Vec] }> } +export const MetadataValueBox: lib.EnumBoxValue = { /** Produce `Bool` enum variant */ Bool: (value: lib.codecs.Bool): MetadataValueBox => ({ enum: lib.variant('Bool', value) }), /** Produce `String` enum variant */ String: (value: lib.codecs.String): MetadataValueBox => ({ enum: lib.variant('String', value) }), /** Produce `Name` enum variant */ Name: (value: lib.codecs.String): MetadataValueBox => ({ enum: lib.variant('Name', value) }), /** Produce `Bytes` enum variant */ Bytes: (value: lib.codecs.BytesVec): MetadataValueBox => ({ enum: lib.variant('Bytes', value) }), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): MetadataValueBox => ({ enum: lib.variant('Numeric', value) }), /** Produce `LimitedMetadata` enum variant */ LimitedMetadata: (value: Metadata): MetadataValueBox => ({ enum: lib.variant('LimitedMetadata', value) }), /** Produce `Vec` enum variant */ Vec: (value: lib.codecs.Vec): MetadataValueBox => ({ enum: lib.variant('Vec', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Bool', lib.toCodec(lib.codecs.Bool)], [1, 'String', lib.toCodec(lib.codecs.String)], [2, 'Name', lib.toCodec(lib.codecs.String)], [3, 'Bytes', lib.toCodec(lib.codecs.BytesVec)], [4, 'Numeric', lib.toCodec(() => Numeric)], [5, 'LimitedMetadata', lib.toCodec(() => Metadata)], [6, 'Vec', lib.codecs.Vec.with(lib.toCodec(() => MetadataValueBox))]])) } +export type Mint = { object: T0, destination: T1 } +export const Mint = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } +export type MintBox = lib.Enumerate<{ Asset: [Mint], TriggerRepetitions: [Mint] }> +export const MintBox = { /** Produce `Asset` enum variant */ Asset: (value: Mint): MintBox => lib.variant('Asset', value), /** Produce `TriggerRepetitions` enum variant */ TriggerRepetitions: (value: Mint): MintBox => lib.variant('TriggerRepetitions', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => Mint.with(lib.toCodec(() => Numeric), lib.toCodec(() => AssetId)))], [1, 'TriggerRepetitions', lib.toCodec(() => Mint.with(lib.toCodec(lib.codecs.U32), lib.toCodec(() => TriggerId)))]]) } +export type MintabilityError = lib.Enumerate<{ MintUnmintable: [], ForbidMintOnMintable: [] }> +export const MintabilityError = { /** `MintUnmintable` enum variant */ MintUnmintable: lib.variant('MintUnmintable'), /** `ForbidMintOnMintable` enum variant */ ForbidMintOnMintable: lib.variant('ForbidMintOnMintable'), [lib.symbolCodec]: lib.enumCodec([[0, 'MintUnmintable'], [1, 'ForbidMintOnMintable']]) } +export type Mintable = lib.Enumerate<{ Infinitely: [], Once: [], Not: [] }> +export const Mintable = { /** `Infinitely` enum variant */ Infinitely: lib.variant('Infinitely'), /** `Once` enum variant */ Once: lib.variant('Once'), /** `Not` enum variant */ Not: lib.variant('Not'), [lib.symbolCodec]: lib.enumCodec([[0, 'Infinitely'], [1, 'Once'], [2, 'Not']]) } +export type NewAccount = { id: AccountId; metadata: Metadata; } +export const NewAccount = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['metadata', lib.toCodec(() => Metadata)]])) +export type NewAssetDefinition = { id: AssetDefinitionId; valueType: AssetValueType; mintable: Mintable; logo: lib.codecs.Option; metadata: Metadata; } +export const NewAssetDefinition = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['valueType', lib.toCodec(() => AssetValueType)], ['mintable', lib.toCodec(() => Mintable)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)]])) +export type NewDomain = { id: DomainId; logo: lib.codecs.Option; metadata: Metadata; } +export const NewDomain = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)]])) +export type NewParameter = { parameter: Parameter; } +export const NewParameter = lib.wrapCodec(lib.structCodec([['parameter', lib.toCodec(() => Parameter)]])) +export type NewRole = { inner: Role; } +export const NewRole = lib.wrapCodec(lib.structCodec([['inner', lib.toCodec(() => Role)]])) +export type NonTrivial = lib.codecs.Vec +export const NonTrivial = lib.wrapCodec(lib.codecs.Vec.with(lib.toCodec(() => PredicateBox))) +export type Numeric = { mantissa: lib.codecs.Compact; scale: lib.codecs.Compact; } +export const Numeric = lib.wrapCodec(lib.structCodec([['mantissa', lib.toCodec(lib.codecs.Compact)], ['scale', lib.toCodec(lib.codecs.Compact)]])) +export type NumericSpec = { scale: lib.codecs.Option; } +export const NumericSpec = lib.wrapCodec(lib.structCodec([['scale', lib.codecs.Option.with(lib.toCodec(lib.codecs.U32))]])) +export type Pagination = { limit: lib.codecs.Option>; start: lib.codecs.Option>; } +export const Pagination = lib.wrapCodec(lib.structCodec([['limit', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))], ['start', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))]])) +export type Parameter = { id: ParameterId; val: ParameterValueBox; } +export const Parameter = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => ParameterId)], ['val', lib.toCodec(() => ParameterValueBox)]])) +export type ParameterId = { name: lib.codecs.String; } +export const ParameterId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type ParameterValueBox = lib.Enumerate<{ TransactionLimits: [TransactionLimits], MetadataLimits: [Limits], LengthLimits: [LengthLimits], Numeric: [Numeric] }> +export const ParameterValueBox = { /** Produce `TransactionLimits` enum variant */ TransactionLimits: (value: TransactionLimits): ParameterValueBox => lib.variant('TransactionLimits', value), /** Produce `MetadataLimits` enum variant */ MetadataLimits: (value: Limits): ParameterValueBox => lib.variant('MetadataLimits', value), /** Produce `LengthLimits` enum variant */ LengthLimits: (value: LengthLimits): ParameterValueBox => lib.variant('LengthLimits', value), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): ParameterValueBox => lib.variant('Numeric', value), [lib.symbolCodec]: lib.enumCodec([[0, 'TransactionLimits', lib.toCodec(() => TransactionLimits)], [1, 'MetadataLimits', lib.toCodec(() => Limits)], [2, 'LengthLimits', lib.toCodec(() => LengthLimits)], [3, 'Numeric', lib.toCodec(() => Numeric)]]) } +export type Peer = { id: PeerId; } +export const Peer = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => PeerId)]])) +export type PeerEvent = lib.Enumerate<{ Added: [PeerId], Removed: [PeerId] }> +export const PeerEvent = { /** Produce `Added` enum variant */ Added: (value: PeerId): PeerEvent => lib.variant('Added', value), /** Produce `Removed` enum variant */ Removed: (value: PeerId): PeerEvent => lib.variant('Removed', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Added', lib.toCodec(() => PeerId)], [1, 'Removed', lib.toCodec(() => PeerId)]]) } +export type PeerEventFilter = { idMatcher: lib.codecs.Option; eventSet: PeerEventSet; } +export const PeerEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => PeerId))], ['eventSet', lib.toCodec(() => PeerEventSet)]])) +export type PeerEventSet = lib.codecs.U32 +export const PeerEventSet = { /** `Added` event bitmask. Use `|` to combine with other {@link PeerEventSet} bitmasks. */ Added: 1, /** `Removed` event bitmask. Use `|` to combine with other {@link PeerEventSet} bitmasks. */ Removed: 2, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type PeerId = { address: SocketAddr; publicKey: PublicKey; } +export const PeerId = lib.wrapCodec(lib.structCodec([['address', lib.toCodec(() => SocketAddr)], ['publicKey', lib.toCodec(() => PublicKey)]])) +export type Permission = { id: PermissionId; payload: lib.codecs.Json; } +export const Permission = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => PermissionId)], ['payload', lib.toCodec(lib.codecs.Json)]])) +export type PermissionId = { name: lib.codecs.String; } +export const PermissionId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type PipelineEventBox = lib.Enumerate<{ Transaction: [TransactionEvent], Block: [BlockEvent] }> +export const PipelineEventBox = { /** Produce `Transaction` enum variant */ Transaction: (value: TransactionEvent): PipelineEventBox => lib.variant('Transaction', value), /** Produce `Block` enum variant */ Block: (value: BlockEvent): PipelineEventBox => lib.variant('Block', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Transaction', lib.toCodec(() => TransactionEvent)], [1, 'Block', lib.toCodec(() => BlockEvent)]]) } +export type PipelineEventFilterBox = lib.Enumerate<{ Transaction: [TransactionEventFilter], Block: [BlockEventFilter] }> +export const PipelineEventFilterBox = { /** Produce `Transaction` enum variant */ Transaction: (value: TransactionEventFilter): PipelineEventFilterBox => lib.variant('Transaction', value), /** Produce `Block` enum variant */ Block: (value: BlockEventFilter): PipelineEventFilterBox => lib.variant('Block', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Transaction', lib.toCodec(() => TransactionEventFilter)], [1, 'Block', lib.toCodec(() => BlockEventFilter)]]) } +export type PredicateBox = { enum: lib.Enumerate<{ And: [NonTrivial], Or: [NonTrivial], Not: [PredicateBox], Raw: [QueryOutputPredicate] }> } +export const PredicateBox: lib.EnumBoxValue = { /** Produce `And` enum variant */ And: (value: NonTrivial): PredicateBox => ({ enum: lib.variant('And', value) }), /** Produce `Or` enum variant */ Or: (value: NonTrivial): PredicateBox => ({ enum: lib.variant('Or', value) }), /** Produce `Not` enum variant */ Not: (value: PredicateBox): PredicateBox => ({ enum: lib.variant('Not', value) }), /** Produce `Raw` enum variant */ Raw: (value: QueryOutputPredicate): PredicateBox => ({ enum: lib.variant('Raw', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'And', lib.toCodec(() => NonTrivial)], [1, 'Or', lib.toCodec(() => NonTrivial)], [2, 'Not', lib.toCodec(() => PredicateBox)], [3, 'Raw', lib.toCodec(() => QueryOutputPredicate)]])) } +export type PublicKey = { algorithm: Algorithm; payload: lib.codecs.BytesVec; } +export const PublicKey = lib.wrapCodec(lib.structCodec([['algorithm', lib.toCodec(() => Algorithm)], ['payload', lib.toCodec(lib.codecs.BytesVec)]])) +export type QueryBox = lib.Enumerate<{ FindAllAccounts: [], FindAccountById: [FindAccountById], FindAccountKeyValueByIdAndKey: [FindAccountKeyValueByIdAndKey], FindAccountsByDomainId: [FindAccountsByDomainId], FindAccountsWithAsset: [FindAccountsWithAsset], FindAllAssets: [], FindAllAssetsDefinitions: [], FindAssetById: [FindAssetById], FindAssetDefinitionById: [FindAssetDefinitionById], FindAssetsByName: [FindAssetsByName], FindAssetsByAccountId: [FindAssetsByAccountId], FindAssetsByAssetDefinitionId: [FindAssetsByAssetDefinitionId], FindAssetsByDomainId: [FindAssetsByDomainId], FindAssetsByDomainIdAndAssetDefinitionId: [FindAssetsByDomainIdAndAssetDefinitionId], FindAssetQuantityById: [FindAssetQuantityById], FindTotalAssetQuantityByAssetDefinitionId: [FindTotalAssetQuantityByAssetDefinitionId], FindAssetKeyValueByIdAndKey: [FindAssetKeyValueByIdAndKey], FindAssetDefinitionKeyValueByIdAndKey: [FindAssetDefinitionKeyValueByIdAndKey], FindAllDomains: [], FindDomainById: [FindDomainById], FindDomainKeyValueByIdAndKey: [FindDomainKeyValueByIdAndKey], FindAllPeers: [], FindAllBlocks: [], FindAllBlockHeaders: [], FindBlockHeaderByHash: [FindBlockHeaderByHash], FindAllTransactions: [], FindTransactionsByAccountId: [FindTransactionsByAccountId], FindTransactionByHash: [FindTransactionByHash], FindPermissionsByAccountId: [FindPermissionsByAccountId], FindExecutorDataModel: [], FindAllActiveTriggerIds: [], FindTriggerById: [FindTriggerById], FindTriggerKeyValueByIdAndKey: [FindTriggerKeyValueByIdAndKey], FindTriggersByAuthorityId: [FindTriggersByAuthorityId], FindTriggersByAuthorityDomainId: [FindTriggersByAuthorityDomainId], FindAllRoles: [], FindAllRoleIds: [], FindRoleByRoleId: [FindRoleByRoleId], FindRolesByAccountId: [FindRolesByAccountId], FindAllParameters: [] }> +export const QueryBox = { /** `FindAllAccounts` enum variant */ FindAllAccounts: lib.variant('FindAllAccounts'), /** Produce `FindAccountById` enum variant */ FindAccountById: (value: FindAccountById): QueryBox => lib.variant('FindAccountById', value), /** Produce `FindAccountKeyValueByIdAndKey` enum variant */ FindAccountKeyValueByIdAndKey: (value: FindAccountKeyValueByIdAndKey): QueryBox => lib.variant('FindAccountKeyValueByIdAndKey', value), /** Produce `FindAccountsByDomainId` enum variant */ FindAccountsByDomainId: (value: FindAccountsByDomainId): QueryBox => lib.variant('FindAccountsByDomainId', value), /** Produce `FindAccountsWithAsset` enum variant */ FindAccountsWithAsset: (value: FindAccountsWithAsset): QueryBox => lib.variant('FindAccountsWithAsset', value), /** `FindAllAssets` enum variant */ FindAllAssets: lib.variant('FindAllAssets'), /** `FindAllAssetsDefinitions` enum variant */ FindAllAssetsDefinitions: lib.variant('FindAllAssetsDefinitions'), /** Produce `FindAssetById` enum variant */ FindAssetById: (value: FindAssetById): QueryBox => lib.variant('FindAssetById', value), /** Produce `FindAssetDefinitionById` enum variant */ FindAssetDefinitionById: (value: FindAssetDefinitionById): QueryBox => lib.variant('FindAssetDefinitionById', value), /** Produce `FindAssetsByName` enum variant */ FindAssetsByName: (value: FindAssetsByName): QueryBox => lib.variant('FindAssetsByName', value), /** Produce `FindAssetsByAccountId` enum variant */ FindAssetsByAccountId: (value: FindAssetsByAccountId): QueryBox => lib.variant('FindAssetsByAccountId', value), /** Produce `FindAssetsByAssetDefinitionId` enum variant */ FindAssetsByAssetDefinitionId: (value: FindAssetsByAssetDefinitionId): QueryBox => lib.variant('FindAssetsByAssetDefinitionId', value), /** Produce `FindAssetsByDomainId` enum variant */ FindAssetsByDomainId: (value: FindAssetsByDomainId): QueryBox => lib.variant('FindAssetsByDomainId', value), /** Produce `FindAssetsByDomainIdAndAssetDefinitionId` enum variant */ FindAssetsByDomainIdAndAssetDefinitionId: (value: FindAssetsByDomainIdAndAssetDefinitionId): QueryBox => lib.variant('FindAssetsByDomainIdAndAssetDefinitionId', value), /** Produce `FindAssetQuantityById` enum variant */ FindAssetQuantityById: (value: FindAssetQuantityById): QueryBox => lib.variant('FindAssetQuantityById', value), /** Produce `FindTotalAssetQuantityByAssetDefinitionId` enum variant */ FindTotalAssetQuantityByAssetDefinitionId: (value: FindTotalAssetQuantityByAssetDefinitionId): QueryBox => lib.variant('FindTotalAssetQuantityByAssetDefinitionId', value), /** Produce `FindAssetKeyValueByIdAndKey` enum variant */ FindAssetKeyValueByIdAndKey: (value: FindAssetKeyValueByIdAndKey): QueryBox => lib.variant('FindAssetKeyValueByIdAndKey', value), /** Produce `FindAssetDefinitionKeyValueByIdAndKey` enum variant */ FindAssetDefinitionKeyValueByIdAndKey: (value: FindAssetDefinitionKeyValueByIdAndKey): QueryBox => lib.variant('FindAssetDefinitionKeyValueByIdAndKey', value), /** `FindAllDomains` enum variant */ FindAllDomains: lib.variant('FindAllDomains'), /** Produce `FindDomainById` enum variant */ FindDomainById: (value: FindDomainById): QueryBox => lib.variant('FindDomainById', value), /** Produce `FindDomainKeyValueByIdAndKey` enum variant */ FindDomainKeyValueByIdAndKey: (value: FindDomainKeyValueByIdAndKey): QueryBox => lib.variant('FindDomainKeyValueByIdAndKey', value), /** `FindAllPeers` enum variant */ FindAllPeers: lib.variant('FindAllPeers'), /** `FindAllBlocks` enum variant */ FindAllBlocks: lib.variant('FindAllBlocks'), /** `FindAllBlockHeaders` enum variant */ FindAllBlockHeaders: lib.variant('FindAllBlockHeaders'), /** Produce `FindBlockHeaderByHash` enum variant */ FindBlockHeaderByHash: (value: FindBlockHeaderByHash): QueryBox => lib.variant('FindBlockHeaderByHash', value), /** `FindAllTransactions` enum variant */ FindAllTransactions: lib.variant('FindAllTransactions'), /** Produce `FindTransactionsByAccountId` enum variant */ FindTransactionsByAccountId: (value: FindTransactionsByAccountId): QueryBox => lib.variant('FindTransactionsByAccountId', value), /** Produce `FindTransactionByHash` enum variant */ FindTransactionByHash: (value: FindTransactionByHash): QueryBox => lib.variant('FindTransactionByHash', value), /** Produce `FindPermissionsByAccountId` enum variant */ FindPermissionsByAccountId: (value: FindPermissionsByAccountId): QueryBox => lib.variant('FindPermissionsByAccountId', value), /** `FindExecutorDataModel` enum variant */ FindExecutorDataModel: lib.variant('FindExecutorDataModel'), /** `FindAllActiveTriggerIds` enum variant */ FindAllActiveTriggerIds: lib.variant('FindAllActiveTriggerIds'), /** Produce `FindTriggerById` enum variant */ FindTriggerById: (value: FindTriggerById): QueryBox => lib.variant('FindTriggerById', value), /** Produce `FindTriggerKeyValueByIdAndKey` enum variant */ FindTriggerKeyValueByIdAndKey: (value: FindTriggerKeyValueByIdAndKey): QueryBox => lib.variant('FindTriggerKeyValueByIdAndKey', value), /** Produce `FindTriggersByAuthorityId` enum variant */ FindTriggersByAuthorityId: (value: FindTriggersByAuthorityId): QueryBox => lib.variant('FindTriggersByAuthorityId', value), /** Produce `FindTriggersByAuthorityDomainId` enum variant */ FindTriggersByAuthorityDomainId: (value: FindTriggersByAuthorityDomainId): QueryBox => lib.variant('FindTriggersByAuthorityDomainId', value), /** `FindAllRoles` enum variant */ FindAllRoles: lib.variant('FindAllRoles'), /** `FindAllRoleIds` enum variant */ FindAllRoleIds: lib.variant('FindAllRoleIds'), /** Produce `FindRoleByRoleId` enum variant */ FindRoleByRoleId: (value: FindRoleByRoleId): QueryBox => lib.variant('FindRoleByRoleId', value), /** Produce `FindRolesByAccountId` enum variant */ FindRolesByAccountId: (value: FindRolesByAccountId): QueryBox => lib.variant('FindRolesByAccountId', value), /** `FindAllParameters` enum variant */ FindAllParameters: lib.variant('FindAllParameters'), [lib.symbolCodec]: lib.enumCodec([[0, 'FindAllAccounts'], [1, 'FindAccountById', lib.toCodec(() => FindAccountById)], [2, 'FindAccountKeyValueByIdAndKey', lib.toCodec(() => FindAccountKeyValueByIdAndKey)], [3, 'FindAccountsByDomainId', lib.toCodec(() => FindAccountsByDomainId)], [4, 'FindAccountsWithAsset', lib.toCodec(() => FindAccountsWithAsset)], [5, 'FindAllAssets'], [6, 'FindAllAssetsDefinitions'], [7, 'FindAssetById', lib.toCodec(() => FindAssetById)], [8, 'FindAssetDefinitionById', lib.toCodec(() => FindAssetDefinitionById)], [9, 'FindAssetsByName', lib.toCodec(() => FindAssetsByName)], [10, 'FindAssetsByAccountId', lib.toCodec(() => FindAssetsByAccountId)], [11, 'FindAssetsByAssetDefinitionId', lib.toCodec(() => FindAssetsByAssetDefinitionId)], [12, 'FindAssetsByDomainId', lib.toCodec(() => FindAssetsByDomainId)], [13, 'FindAssetsByDomainIdAndAssetDefinitionId', lib.toCodec(() => FindAssetsByDomainIdAndAssetDefinitionId)], [14, 'FindAssetQuantityById', lib.toCodec(() => FindAssetQuantityById)], [15, 'FindTotalAssetQuantityByAssetDefinitionId', lib.toCodec(() => FindTotalAssetQuantityByAssetDefinitionId)], [16, 'FindAssetKeyValueByIdAndKey', lib.toCodec(() => FindAssetKeyValueByIdAndKey)], [17, 'FindAssetDefinitionKeyValueByIdAndKey', lib.toCodec(() => FindAssetDefinitionKeyValueByIdAndKey)], [18, 'FindAllDomains'], [19, 'FindDomainById', lib.toCodec(() => FindDomainById)], [20, 'FindDomainKeyValueByIdAndKey', lib.toCodec(() => FindDomainKeyValueByIdAndKey)], [21, 'FindAllPeers'], [22, 'FindAllBlocks'], [23, 'FindAllBlockHeaders'], [24, 'FindBlockHeaderByHash', lib.toCodec(() => FindBlockHeaderByHash)], [25, 'FindAllTransactions'], [26, 'FindTransactionsByAccountId', lib.toCodec(() => FindTransactionsByAccountId)], [27, 'FindTransactionByHash', lib.toCodec(() => FindTransactionByHash)], [28, 'FindPermissionsByAccountId', lib.toCodec(() => FindPermissionsByAccountId)], [29, 'FindExecutorDataModel'], [30, 'FindAllActiveTriggerIds'], [31, 'FindTriggerById', lib.toCodec(() => FindTriggerById)], [32, 'FindTriggerKeyValueByIdAndKey', lib.toCodec(() => FindTriggerKeyValueByIdAndKey)], [33, 'FindTriggersByAuthorityId', lib.toCodec(() => FindTriggersByAuthorityId)], [34, 'FindTriggersByAuthorityDomainId', lib.toCodec(() => FindTriggersByAuthorityDomainId)], [35, 'FindAllRoles'], [36, 'FindAllRoleIds'], [37, 'FindRoleByRoleId', lib.toCodec(() => FindRoleByRoleId)], [38, 'FindRolesByAccountId', lib.toCodec(() => FindRolesByAccountId)], [39, 'FindAllParameters']]) } +export type QueryExecutionFail = lib.Enumerate<{ Find: [FindError], Conversion: [lib.codecs.String], UnknownCursor: [], FetchSizeTooBig: [], InvalidSingularParameters: [] }> +export const QueryExecutionFail = { /** Produce `Find` enum variant */ Find: (value: FindError): QueryExecutionFail => lib.variant('Find', value), /** Produce `Conversion` enum variant */ Conversion: (value: lib.codecs.String): QueryExecutionFail => lib.variant('Conversion', value), /** `UnknownCursor` enum variant */ UnknownCursor: lib.variant('UnknownCursor'), /** `FetchSizeTooBig` enum variant */ FetchSizeTooBig: lib.variant('FetchSizeTooBig'), /** `InvalidSingularParameters` enum variant */ InvalidSingularParameters: lib.variant('InvalidSingularParameters'), [lib.symbolCodec]: lib.enumCodec([[0, 'Find', lib.toCodec(() => FindError)], [1, 'Conversion', lib.toCodec(lib.codecs.String)], [2, 'UnknownCursor'], [3, 'FetchSizeTooBig'], [4, 'InvalidSingularParameters']]) } +export type QueryOutputBox = { enum: lib.Enumerate<{ Id: [IdBox], Identifiable: [IdentifiableBox], Transaction: [TransactionQueryOutput], Permission: [Permission], LimitedMetadata: [MetadataValueBox], Numeric: [Numeric], BlockHeader: [BlockHeader], Block: [SignedBlock], ExecutorDataModel: [ExecutorDataModel], Vec: [lib.codecs.Vec] }> } +export const QueryOutputBox: lib.EnumBoxValue = { /** Produce `Id` enum variant */ Id: (value: IdBox): QueryOutputBox => ({ enum: lib.variant('Id', value) }), /** Produce `Identifiable` enum variant */ Identifiable: (value: IdentifiableBox): QueryOutputBox => ({ enum: lib.variant('Identifiable', value) }), /** Produce `Transaction` enum variant */ Transaction: (value: TransactionQueryOutput): QueryOutputBox => ({ enum: lib.variant('Transaction', value) }), /** Produce `Permission` enum variant */ Permission: (value: Permission): QueryOutputBox => ({ enum: lib.variant('Permission', value) }), /** Produce `LimitedMetadata` enum variant */ LimitedMetadata: (value: MetadataValueBox): QueryOutputBox => ({ enum: lib.variant('LimitedMetadata', value) }), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): QueryOutputBox => ({ enum: lib.variant('Numeric', value) }), /** Produce `BlockHeader` enum variant */ BlockHeader: (value: BlockHeader): QueryOutputBox => ({ enum: lib.variant('BlockHeader', value) }), /** Produce `Block` enum variant */ Block: (value: SignedBlock): QueryOutputBox => ({ enum: lib.variant('Block', value) }), /** Produce `ExecutorDataModel` enum variant */ ExecutorDataModel: (value: ExecutorDataModel): QueryOutputBox => ({ enum: lib.variant('ExecutorDataModel', value) }), /** Produce `Vec` enum variant */ Vec: (value: lib.codecs.Vec): QueryOutputBox => ({ enum: lib.variant('Vec', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Id', lib.toCodec(() => IdBox)], [1, 'Identifiable', lib.toCodec(() => IdentifiableBox)], [2, 'Transaction', lib.toCodec(() => TransactionQueryOutput)], [3, 'Permission', lib.toCodec(() => Permission)], [4, 'LimitedMetadata', lib.toCodec(() => MetadataValueBox)], [5, 'Numeric', lib.toCodec(() => Numeric)], [6, 'BlockHeader', lib.toCodec(() => BlockHeader)], [7, 'Block', lib.toCodec(() => SignedBlock)], [8, 'ExecutorDataModel', lib.toCodec(() => ExecutorDataModel)], [9, 'Vec', lib.codecs.Vec.with(lib.toCodec(() => QueryOutputBox))]])) } +export type QueryOutputPredicate = { enum: lib.Enumerate<{ Identifiable: [StringPredicate], Container: [Container], Display: [StringPredicate], Numerical: [SemiRange], TimeStamp: [SemiInterval], Pass: [] }> } +export const QueryOutputPredicate: lib.EnumBoxValue = { /** Produce `Identifiable` enum variant */ Identifiable: (value: StringPredicate): QueryOutputPredicate => ({ enum: lib.variant('Identifiable', value) }), /** Produce `Container` enum variant */ Container: (value: Container): QueryOutputPredicate => ({ enum: lib.variant('Container', value) }), /** Produce `Display` enum variant */ Display: (value: StringPredicate): QueryOutputPredicate => ({ enum: lib.variant('Display', value) }), /** Produce `Numerical` enum variant */ Numerical: (value: SemiRange): QueryOutputPredicate => ({ enum: lib.variant('Numerical', value) }), /** Produce `TimeStamp` enum variant */ TimeStamp: (value: SemiInterval): QueryOutputPredicate => ({ enum: lib.variant('TimeStamp', value) }), /** `Pass` enum variant */ Pass: { enum: lib.variant('Pass') }, [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Identifiable', lib.toCodec(() => StringPredicate)], [1, 'Container', lib.toCodec(() => Container)], [2, 'Display', lib.toCodec(() => StringPredicate)], [3, 'Numerical', lib.toCodec(() => SemiRange)], [4, 'TimeStamp', lib.toCodec(() => SemiInterval.with(lib.toCodec(lib.codecs.U128)))], [5, 'Pass']])) } +export type Register = { object: T0 } +export const Register = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0]]) } } +export type RegisterBox = lib.Enumerate<{ Peer: [Register], Domain: [Register], Account: [Register], AssetDefinition: [Register], Asset: [Register], Role: [Register], Trigger: [Register] }> +export const RegisterBox = { /** Produce `Peer` enum variant */ Peer: (value: Register): RegisterBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Register): RegisterBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Register): RegisterBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Register): RegisterBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Register): RegisterBox => lib.variant('Asset', value), /** Produce `Role` enum variant */ Role: (value: Register): RegisterBox => lib.variant('Role', value), /** Produce `Trigger` enum variant */ Trigger: (value: Register): RegisterBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => Register.with(lib.toCodec(() => Peer)))], [1, 'Domain', lib.toCodec(() => Register.with(lib.toCodec(() => NewDomain)))], [2, 'Account', lib.toCodec(() => Register.with(lib.toCodec(() => NewAccount)))], [3, 'AssetDefinition', lib.toCodec(() => Register.with(lib.toCodec(() => NewAssetDefinition)))], [4, 'Asset', lib.toCodec(() => Register.with(lib.toCodec(() => Asset)))], [5, 'Role', lib.toCodec(() => Register.with(lib.toCodec(() => NewRole)))], [6, 'Trigger', lib.toCodec(() => Register.with(lib.toCodec(() => Trigger)))]]) } +export type RemoveKeyValue = { object: T0, key: lib.codecs.String, value: MetadataValueBox } +export const RemoveKeyValue = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } +export type RemoveKeyValueBox = lib.Enumerate<{ Domain: [RemoveKeyValue], Account: [RemoveKeyValue], AssetDefinition: [RemoveKeyValue], Asset: [RemoveKeyValue], Trigger: [RemoveKeyValue] }> +export const RemoveKeyValueBox = { /** Produce `Domain` enum variant */ Domain: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Domain)))], [1, 'Account', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Account)))], [2, 'AssetDefinition', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => AssetDefinition)))], [3, 'Asset', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Asset)))], [4, 'Trigger', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Trigger)))]]) } +export type Repeats = lib.Enumerate<{ Indefinitely: [], Exactly: [lib.codecs.U32] }> +export const Repeats = { /** `Indefinitely` enum variant */ Indefinitely: lib.variant('Indefinitely'), /** Produce `Exactly` enum variant */ Exactly: (value: lib.codecs.U32): Repeats => lib.variant('Exactly', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Indefinitely'], [1, 'Exactly', lib.toCodec(lib.codecs.U32)]]) } +export type RepetitionError = { instructionType: InstructionType; id: IdBox; } +export const RepetitionError = lib.wrapCodec(lib.structCodec([['instructionType', lib.toCodec(() => InstructionType)], ['id', lib.toCodec(() => IdBox)]])) +export type Revoke = { object: T0, destination: T1 } +export const Revoke = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } +export type RevokeBox = lib.Enumerate<{ Permission: [Revoke], Role: [Revoke], RolePermission: [Revoke] }> +export const RevokeBox = { /** Produce `Permission` enum variant */ Permission: (value: Revoke): RevokeBox => lib.variant('Permission', value), /** Produce `Role` enum variant */ Role: (value: Revoke): RevokeBox => lib.variant('Role', value), /** Produce `RolePermission` enum variant */ RolePermission: (value: Revoke): RevokeBox => lib.variant('RolePermission', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Permission', lib.toCodec(() => Revoke.with(lib.toCodec(() => Permission), lib.toCodec(() => AccountId)))], [1, 'Role', lib.toCodec(() => Revoke.with(lib.toCodec(() => RoleId), lib.toCodec(() => AccountId)))], [2, 'RolePermission', lib.toCodec(() => Revoke.with(lib.toCodec(() => Permission), lib.toCodec(() => RoleId)))]]) } +export type Role = { id: RoleId; permissions: lib.codecs.Vec; } +export const Role = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => RoleId)], ['permissions', lib.codecs.Vec.with(lib.toCodec(() => Permission))]])) +export type RoleEvent = lib.Enumerate<{ Created: [Role], Deleted: [RoleId], PermissionRemoved: [RolePermissionChanged], PermissionAdded: [RolePermissionChanged] }> +export const RoleEvent = { /** Produce `Created` enum variant */ Created: (value: Role): RoleEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: RoleId): RoleEvent => lib.variant('Deleted', value), /** Produce `PermissionRemoved` enum variant */ PermissionRemoved: (value: RolePermissionChanged): RoleEvent => lib.variant('PermissionRemoved', value), /** Produce `PermissionAdded` enum variant */ PermissionAdded: (value: RolePermissionChanged): RoleEvent => lib.variant('PermissionAdded', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => Role)], [1, 'Deleted', lib.toCodec(() => RoleId)], [2, 'PermissionRemoved', lib.toCodec(() => RolePermissionChanged)], [3, 'PermissionAdded', lib.toCodec(() => RolePermissionChanged)]]) } +export type RoleEventFilter = { idMatcher: lib.codecs.Option; eventSet: RoleEventSet; } +export const RoleEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => RoleId))], ['eventSet', lib.toCodec(() => RoleEventSet)]])) +export type RoleEventSet = lib.codecs.U32 +export const RoleEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ Deleted: 2, /** `PermissionRemoved` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ PermissionRemoved: 4, /** `PermissionAdded` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ PermissionAdded: 8, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type RoleId = { name: lib.codecs.String; } +export const RoleId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type RolePermissionChanged = { role: RoleId; permission: PermissionId; } +export const RolePermissionChanged = lib.wrapCodec(lib.structCodec([['role', lib.toCodec(() => RoleId)], ['permission', lib.toCodec(() => PermissionId)]])) +export type Schedule = { start: Duration; period: lib.codecs.Option; } +export const Schedule = lib.wrapCodec(lib.structCodec([['start', lib.toCodec(() => Duration)], ['period', lib.codecs.Option.with(lib.toCodec(() => Duration))]])) +export type SemiInterval = { start: T0, limit: T0 } +export const SemiInterval = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['start', codec0], ['limit', codec0]]) } } +export type SemiRange = lib.Enumerate<{ Numeric: [SemiInterval] }> +export const SemiRange = { /** Produce `Numeric` enum variant */ Numeric: (value: SemiInterval): SemiRange => lib.variant('Numeric', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => SemiInterval.with(lib.toCodec(() => Numeric)))]]) } +export type SetKeyValue = { object: T0, key: lib.codecs.String, value: MetadataValueBox } +export const SetKeyValue = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } +export type SetKeyValueBox = lib.Enumerate<{ Domain: [SetKeyValue], Account: [SetKeyValue], AssetDefinition: [SetKeyValue], Asset: [SetKeyValue], Trigger: [SetKeyValue] }> +export const SetKeyValueBox = { /** Produce `Domain` enum variant */ Domain: (value: SetKeyValue): SetKeyValueBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: SetKeyValue): SetKeyValueBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: SetKeyValue): SetKeyValueBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: SetKeyValue): SetKeyValueBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: SetKeyValue): SetKeyValueBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Domain)))], [1, 'Account', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Account)))], [2, 'AssetDefinition', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => AssetDefinition)))], [3, 'Asset', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Asset)))], [4, 'Trigger', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Trigger)))]]) } +export type SetParameter = { parameter: Parameter; } +export const SetParameter = lib.wrapCodec(lib.structCodec([['parameter', lib.toCodec(() => Parameter)]])) +export type Signature = { payload: lib.codecs.BytesVec; } +export const Signature = lib.wrapCodec(lib.structCodec([['payload', lib.toCodec(lib.codecs.BytesVec)]])) +export type SignedBlock = lib.Enumerate<{ V1: [SignedBlockV1] }> +export const SignedBlock = { /** Produce `V1` enum variant */ V1: (value: SignedBlockV1): SignedBlock => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedBlockV1)]]) } +export type SignedBlockV1 = { signatures: lib.codecs.Vec; payload: BlockPayload; } +export const SignedBlockV1 = lib.wrapCodec(lib.structCodec([['signatures', lib.codecs.Vec.with(lib.toCodec(() => BlockSignature))], ['payload', lib.toCodec(() => BlockPayload)]])) +export type SignedQuery = lib.Enumerate<{ V1: [SignedQueryV1] }> +export const SignedQuery = { /** Produce `V1` enum variant */ V1: (value: SignedQueryV1): SignedQuery => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedQueryV1)]]) } +export type SignedQueryV1 = { signature: Signature; payload: ClientQueryPayload; } +export const SignedQueryV1 = lib.wrapCodec(lib.structCodec([['signature', lib.toCodec(() => Signature)], ['payload', lib.toCodec(() => ClientQueryPayload)]])) +export type SignedTransaction = lib.Enumerate<{ V1: [SignedTransactionV1] }> +export const SignedTransaction = { /** Produce `V1` enum variant */ V1: (value: SignedTransactionV1): SignedTransaction => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedTransactionV1)]]) } +export type SignedTransactionV1 = { signature: Signature; payload: TransactionPayload; } +export const SignedTransactionV1 = lib.wrapCodec(lib.structCodec([['signature', lib.toCodec(() => Signature)], ['payload', lib.toCodec(() => TransactionPayload)]])) +export type SizeError = { limits: Limits; actual: lib.codecs.U64; } +export const SizeError = lib.wrapCodec(lib.structCodec([['limits', lib.toCodec(() => Limits)], ['actual', lib.toCodec(lib.codecs.U64)]])) +export type SocketAddr = lib.Enumerate<{ Ipv4: [SocketAddrV4], Ipv6: [SocketAddrV6], Host: [SocketAddrHost] }> +export const SocketAddr = { /** Produce `Ipv4` enum variant */ Ipv4: (value: SocketAddrV4): SocketAddr => lib.variant('Ipv4', value), /** Produce `Ipv6` enum variant */ Ipv6: (value: SocketAddrV6): SocketAddr => lib.variant('Ipv6', value), /** Produce `Host` enum variant */ Host: (value: SocketAddrHost): SocketAddr => lib.variant('Host', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Ipv4', lib.toCodec(() => SocketAddrV4)], [1, 'Ipv6', lib.toCodec(() => SocketAddrV6)], [2, 'Host', lib.toCodec(() => SocketAddrHost)]]) } +export type SocketAddrHost = { host: lib.codecs.String; port: lib.codecs.U16; } +export const SocketAddrHost = lib.wrapCodec(lib.structCodec([['host', lib.toCodec(lib.codecs.String)], ['port', lib.toCodec(lib.codecs.U16)]])) +export type SocketAddrV4 = { ip: Ipv4Addr; port: lib.codecs.U16; } +export const SocketAddrV4 = lib.wrapCodec(lib.structCodec([['ip', lib.toCodec(() => Ipv4Addr)], ['port', lib.toCodec(lib.codecs.U16)]])) +export type SocketAddrV6 = { ip: Ipv6Addr; port: lib.codecs.U16; } +export const SocketAddrV6 = lib.wrapCodec(lib.structCodec([['ip', lib.toCodec(() => Ipv6Addr)], ['port', lib.toCodec(lib.codecs.U16)]])) +export type Sorting = { sortByMetadataKey: lib.codecs.Option; } +export const Sorting = lib.wrapCodec(lib.structCodec([['sortByMetadataKey', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))]])) +export type StringPredicate = lib.Enumerate<{ Contains: [lib.codecs.String], StartsWith: [lib.codecs.String], EndsWith: [lib.codecs.String], Is: [lib.codecs.String] }> +export const StringPredicate = { /** Produce `Contains` enum variant */ Contains: (value: lib.codecs.String): StringPredicate => lib.variant('Contains', value), /** Produce `StartsWith` enum variant */ StartsWith: (value: lib.codecs.String): StringPredicate => lib.variant('StartsWith', value), /** Produce `EndsWith` enum variant */ EndsWith: (value: lib.codecs.String): StringPredicate => lib.variant('EndsWith', value), /** Produce `Is` enum variant */ Is: (value: lib.codecs.String): StringPredicate => lib.variant('Is', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Contains', lib.toCodec(lib.codecs.String)], [1, 'StartsWith', lib.toCodec(lib.codecs.String)], [2, 'EndsWith', lib.toCodec(lib.codecs.String)], [3, 'Is', lib.toCodec(lib.codecs.String)]]) } +export type TimeEvent = { prevInterval: lib.codecs.Option; interval: TimeInterval; } +export const TimeEvent = lib.wrapCodec(lib.structCodec([['prevInterval', lib.codecs.Option.with(lib.toCodec(() => TimeInterval))], ['interval', lib.toCodec(() => TimeInterval)]])) +export type TimeInterval = { since: Duration; length: Duration; } +export const TimeInterval = lib.wrapCodec(lib.structCodec([['since', lib.toCodec(() => Duration)], ['length', lib.toCodec(() => Duration)]])) +export type TransactionEvent = { hash: Hash; blockHeight: lib.codecs.Option; status: TransactionStatus; } +export const TransactionEvent = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)], ['blockHeight', lib.codecs.Option.with(lib.toCodec(lib.codecs.U64))], ['status', lib.toCodec(() => TransactionStatus)]])) +export type TransactionEventFilter = { hash: lib.codecs.Option; blockHeight: lib.codecs.Option>; status: lib.codecs.Option; } +export const TransactionEventFilter = lib.wrapCodec(lib.structCodec([['hash', lib.codecs.Option.with(lib.toCodec(() => Hash))], ['blockHeight', lib.codecs.Option.with(lib.codecs.Option.with(lib.toCodec(lib.codecs.U64)))], ['status', lib.codecs.Option.with(lib.toCodec(() => TransactionStatus))]])) +export type TransactionLimitError = { reason: lib.codecs.String; } +export const TransactionLimitError = lib.wrapCodec(lib.structCodec([['reason', lib.toCodec(lib.codecs.String)]])) +export type TransactionLimits = { maxInstructionNumber: lib.codecs.U64; maxWasmSizeBytes: lib.codecs.U64; } +export const TransactionLimits = lib.wrapCodec(lib.structCodec([['maxInstructionNumber', lib.toCodec(lib.codecs.U64)], ['maxWasmSizeBytes', lib.toCodec(lib.codecs.U64)]])) +export type TransactionPayload = { chain: lib.codecs.String; authority: AccountId; creationTimeMs: lib.codecs.U64; instructions: Executable; timeToLiveMs: lib.codecs.Option>; nonce: lib.codecs.Option>; metadata: lib.codecs.Map; } +export const TransactionPayload = lib.wrapCodec(lib.structCodec([['chain', lib.toCodec(lib.codecs.String)], ['authority', lib.toCodec(() => AccountId)], ['creationTimeMs', lib.toCodec(lib.codecs.U64)], ['instructions', lib.toCodec(() => Executable)], ['timeToLiveMs', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))], ['nonce', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))], ['metadata', lib.codecs.Map.with(lib.toCodec(lib.codecs.String), lib.toCodec(() => MetadataValueBox))]])) +export type TransactionQueryOutput = { blockHash: Hash; transaction: CommittedTransaction; } +export const TransactionQueryOutput = lib.wrapCodec(lib.structCodec([['blockHash', lib.toCodec(() => Hash)], ['transaction', lib.toCodec(() => CommittedTransaction)]])) +export type TransactionRejectionReason = lib.Enumerate<{ AccountDoesNotExist: [FindError], LimitCheck: [TransactionLimitError], Validation: [ValidationFail], InstructionExecution: [InstructionExecutionFail], WasmExecution: [WasmExecutionFail] }> +export const TransactionRejectionReason = { /** Produce `AccountDoesNotExist` enum variant */ AccountDoesNotExist: (value: FindError): TransactionRejectionReason => lib.variant('AccountDoesNotExist', value), /** Produce `LimitCheck` enum variant */ LimitCheck: (value: TransactionLimitError): TransactionRejectionReason => lib.variant('LimitCheck', value), /** Produce `Validation` enum variant */ Validation: (value: ValidationFail): TransactionRejectionReason => lib.variant('Validation', value), /** Produce `InstructionExecution` enum variant */ InstructionExecution: (value: InstructionExecutionFail): TransactionRejectionReason => lib.variant('InstructionExecution', value), /** Produce `WasmExecution` enum variant */ WasmExecution: (value: WasmExecutionFail): TransactionRejectionReason => lib.variant('WasmExecution', value), [lib.symbolCodec]: lib.enumCodec([[0, 'AccountDoesNotExist', lib.toCodec(() => FindError)], [1, 'LimitCheck', lib.toCodec(() => TransactionLimitError)], [2, 'Validation', lib.toCodec(() => ValidationFail)], [3, 'InstructionExecution', lib.toCodec(() => InstructionExecutionFail)], [4, 'WasmExecution', lib.toCodec(() => WasmExecutionFail)]]) } +export type TransactionStatus = lib.Enumerate<{ Queued: [], Expired: [], Approved: [], Rejected: [TransactionRejectionReason] }> +export const TransactionStatus = { /** `Queued` enum variant */ Queued: lib.variant('Queued'), /** `Expired` enum variant */ Expired: lib.variant('Expired'), /** `Approved` enum variant */ Approved: lib.variant('Approved'), /** Produce `Rejected` enum variant */ Rejected: (value: TransactionRejectionReason): TransactionStatus => lib.variant('Rejected', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Queued'], [1, 'Expired'], [2, 'Approved'], [3, 'Rejected', lib.toCodec(() => TransactionRejectionReason)]]) } +export type Transfer = { source: T0, object: T1, destination: T2 } +export const Transfer = { with: (codec0: lib.Codec,codec1: lib.Codec,codec2: lib.Codec): lib.Codec> => { return lib.structCodec([['source', codec0], ['object', codec1], ['destination', codec2]]) } } +export type TransferBox = lib.Enumerate<{ Domain: [Transfer], AssetDefinition: [Transfer], Asset: [AssetTransferBox] }> +export const TransferBox = { /** Produce `Domain` enum variant */ Domain: (value: Transfer): TransferBox => lib.variant('Domain', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Transfer): TransferBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: AssetTransferBox): TransferBox => lib.variant('Asset', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => Transfer.with(lib.toCodec(() => AccountId), lib.toCodec(() => DomainId), lib.toCodec(() => AccountId)))], [1, 'AssetDefinition', lib.toCodec(() => Transfer.with(lib.toCodec(() => AccountId), lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => AccountId)))], [2, 'Asset', lib.toCodec(() => AssetTransferBox)]]) } +export type Trigger = { id: TriggerId; action: Action; } +export const Trigger = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)], ['action', lib.toCodec(() => Action)]])) +export type TriggerCompletedEvent = { triggerId: TriggerId; outcome: TriggerCompletedOutcome; } +export const TriggerCompletedEvent = lib.wrapCodec(lib.structCodec([['triggerId', lib.toCodec(() => TriggerId)], ['outcome', lib.toCodec(() => TriggerCompletedOutcome)]])) +export type TriggerCompletedEventFilter = { triggerId: lib.codecs.Option; outcomeType: lib.codecs.Option; } +export const TriggerCompletedEventFilter = lib.wrapCodec(lib.structCodec([['triggerId', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['outcomeType', lib.codecs.Option.with(lib.toCodec(() => TriggerCompletedOutcomeType))]])) +export type TriggerCompletedOutcome = lib.Enumerate<{ Success: [], Failure: [lib.codecs.String] }> +export const TriggerCompletedOutcome = { /** `Success` enum variant */ Success: lib.variant('Success'), /** Produce `Failure` enum variant */ Failure: (value: lib.codecs.String): TriggerCompletedOutcome => lib.variant('Failure', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Success'], [1, 'Failure', lib.toCodec(lib.codecs.String)]]) } +export type TriggerCompletedOutcomeType = lib.Enumerate<{ Success: [], Failure: [] }> +export const TriggerCompletedOutcomeType = { /** `Success` enum variant */ Success: lib.variant('Success'), /** `Failure` enum variant */ Failure: lib.variant('Failure'), [lib.symbolCodec]: lib.enumCodec([[0, 'Success'], [1, 'Failure']]) } +export type TriggerEvent = lib.Enumerate<{ Created: [TriggerId], Deleted: [TriggerId], Extended: [TriggerNumberOfExecutionsChanged], Shortened: [TriggerNumberOfExecutionsChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> +export const TriggerEvent = { /** Produce `Created` enum variant */ Created: (value: TriggerId): TriggerEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: TriggerId): TriggerEvent => lib.variant('Deleted', value), /** Produce `Extended` enum variant */ Extended: (value: TriggerNumberOfExecutionsChanged): TriggerEvent => lib.variant('Extended', value), /** Produce `Shortened` enum variant */ Shortened: (value: TriggerNumberOfExecutionsChanged): TriggerEvent => lib.variant('Shortened', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): TriggerEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): TriggerEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => TriggerId)], [1, 'Deleted', lib.toCodec(() => TriggerId)], [2, 'Extended', lib.toCodec(() => TriggerNumberOfExecutionsChanged)], [3, 'Shortened', lib.toCodec(() => TriggerNumberOfExecutionsChanged)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => TriggerId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => TriggerId)))]]) } +export type TriggerEventFilter = { idMatcher: lib.codecs.Option; eventSet: TriggerEventSet; } +export const TriggerEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['eventSet', lib.toCodec(() => TriggerEventSet)]])) +export type TriggerEventSet = lib.codecs.U32 +export const TriggerEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Deleted: 2, /** `Extended` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Extended: 4, /** `Shortened` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Shortened: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ MetadataRemoved: 32, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } +export type TriggerId = { name: lib.codecs.String; } +export const TriggerId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) +export type TriggerNumberOfExecutionsChanged = { trigger: TriggerId; by: lib.codecs.U32; } +export const TriggerNumberOfExecutionsChanged = lib.wrapCodec(lib.structCodec([['trigger', lib.toCodec(() => TriggerId)], ['by', lib.toCodec(lib.codecs.U32)]])) +export type TriggeringEventFilterBox = lib.Enumerate<{ Pipeline: [PipelineEventFilterBox], Data: [DataEventFilter], Time: [ExecutionTime], ExecuteTrigger: [ExecuteTriggerEventFilter] }> +export const TriggeringEventFilterBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventFilterBox): TriggeringEventFilterBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEventFilter): TriggeringEventFilterBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: ExecutionTime): TriggeringEventFilterBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEventFilter): TriggeringEventFilterBox => lib.variant('ExecuteTrigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventFilterBox)], [1, 'Data', lib.toCodec(() => DataEventFilter)], [2, 'Time', lib.toCodec(() => ExecutionTime)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEventFilter)]]) } +export type TypeError = lib.Enumerate<{ AssetValueType: [AssetValueTypeMismatch], NumericAssetValueTypeExpected: [AssetValueType], StoreAssetValueTypeExpected: [AssetValueType] }> +export const TypeError = { /** Produce `AssetValueType` enum variant */ AssetValueType: (value: AssetValueTypeMismatch): TypeError => lib.variant('AssetValueType', value), /** Produce `NumericAssetValueTypeExpected` enum variant */ NumericAssetValueTypeExpected: (value: AssetValueType): TypeError => lib.variant('NumericAssetValueTypeExpected', value), /** Produce `StoreAssetValueTypeExpected` enum variant */ StoreAssetValueTypeExpected: (value: AssetValueType): TypeError => lib.variant('StoreAssetValueTypeExpected', value), [lib.symbolCodec]: lib.enumCodec([[0, 'AssetValueType', lib.toCodec(() => AssetValueTypeMismatch)], [1, 'NumericAssetValueTypeExpected', lib.toCodec(() => AssetValueType)], [2, 'StoreAssetValueTypeExpected', lib.toCodec(() => AssetValueType)]]) } +export type Unregister = { object: T0 } +export const Unregister = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0]]) } } +export type UnregisterBox = lib.Enumerate<{ Peer: [Unregister], Domain: [Unregister], Account: [Unregister], AssetDefinition: [Unregister], Asset: [Unregister], Role: [Unregister], Trigger: [Unregister] }> +export const UnregisterBox = { /** Produce `Peer` enum variant */ Peer: (value: Unregister): UnregisterBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Unregister): UnregisterBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Unregister): UnregisterBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Unregister): UnregisterBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Unregister): UnregisterBox => lib.variant('Asset', value), /** Produce `Role` enum variant */ Role: (value: Unregister): UnregisterBox => lib.variant('Role', value), /** Produce `Trigger` enum variant */ Trigger: (value: Unregister): UnregisterBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => Unregister.with(lib.toCodec(() => PeerId)))], [1, 'Domain', lib.toCodec(() => Unregister.with(lib.toCodec(() => DomainId)))], [2, 'Account', lib.toCodec(() => Unregister.with(lib.toCodec(() => AccountId)))], [3, 'AssetDefinition', lib.toCodec(() => Unregister.with(lib.toCodec(() => AssetDefinitionId)))], [4, 'Asset', lib.toCodec(() => Unregister.with(lib.toCodec(() => AssetId)))], [5, 'Role', lib.toCodec(() => Unregister.with(lib.toCodec(() => RoleId)))], [6, 'Trigger', lib.toCodec(() => Unregister.with(lib.toCodec(() => TriggerId)))]]) } +export type Upgrade = { executor: Executor; } +export const Upgrade = lib.wrapCodec(lib.structCodec([['executor', lib.toCodec(() => Executor)]])) +export type ValidationFail = lib.Enumerate<{ NotPermitted: [lib.codecs.String], InstructionFailed: [InstructionExecutionError], QueryFailed: [QueryExecutionFail], TooComplex: [], InternalError: [] }> +export const ValidationFail = { /** Produce `NotPermitted` enum variant */ NotPermitted: (value: lib.codecs.String): ValidationFail => lib.variant('NotPermitted', value), /** Produce `InstructionFailed` enum variant */ InstructionFailed: (value: InstructionExecutionError): ValidationFail => lib.variant('InstructionFailed', value), /** Produce `QueryFailed` enum variant */ QueryFailed: (value: QueryExecutionFail): ValidationFail => lib.variant('QueryFailed', value), /** `TooComplex` enum variant */ TooComplex: lib.variant('TooComplex'), /** `InternalError` enum variant */ InternalError: lib.variant('InternalError'), [lib.symbolCodec]: lib.enumCodec([[0, 'NotPermitted', lib.toCodec(lib.codecs.String)], [1, 'InstructionFailed', lib.toCodec(() => InstructionExecutionError)], [2, 'QueryFailed', lib.toCodec(() => QueryExecutionFail)], [3, 'TooComplex'], [4, 'InternalError']]) } +export type WasmExecutionFail = { reason: lib.codecs.String; } +export const WasmExecutionFail = lib.wrapCodec(lib.structCodec([['reason', lib.toCodec(lib.codecs.String)]])) +export type WasmSmartContract = { blob: lib.codecs.BytesVec; } +export const WasmSmartContract = lib.wrapCodec(lib.structCodec([['blob', lib.toCodec(lib.codecs.BytesVec)]])) \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b45b543c..5cafdb69 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -128,9 +128,6 @@ importers: emittery: specifier: ^0.10.1 version: 0.10.2 - json-bigint: - specifier: ^1.0.0 - version: 1.0.0 type-fest: specifier: ^3.6.1 version: 3.9.0 @@ -407,9 +404,6 @@ importers: '@iroha2/data-model': specifier: workspace:^7.0.0 version: link:../data-model - fp-ts: - specifier: ^2.13.1 - version: 2.14.0 node-fetch: specifier: ^3.3.0 version: 3.3.0 @@ -1799,9 +1793,6 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - bignumber.js@9.0.2: - resolution: {integrity: sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==} - binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -3002,9 +2993,6 @@ packages: jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - json-bigint@1.0.0: - resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} - json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -5680,8 +5668,6 @@ snapshots: dependencies: is-windows: 1.0.2 - bignumber.js@9.0.2: {} - binary-extensions@2.2.0: {} blob-util@2.0.2: {} @@ -7160,10 +7146,6 @@ snapshots: jsbn@0.1.1: {} - json-bigint@1.0.0: - dependencies: - bignumber.js: 9.0.2 - json-buffer@3.0.1: {} json-parse-better-errors@1.0.2: {} From 679db4928023b1ba9564e62717b2cdccf2555b09 Mon Sep 17 00:00:00 2001 From: quacumque <43530070+0x009922@users.noreply.github.com> Date: Thu, 20 Jun 2024 12:57:06 +0900 Subject: [PATCH 004/124] chore: remove garbage Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> --- packages/src/__generated__.ts | 437 ---------------------------------- 1 file changed, 437 deletions(-) delete mode 100644 packages/src/__generated__.ts diff --git a/packages/src/__generated__.ts b/packages/src/__generated__.ts deleted file mode 100644 index 0aaaafc9..00000000 --- a/packages/src/__generated__.ts +++ /dev/null @@ -1,437 +0,0 @@ -import * as lib from './generated-prelude' -export type Account = { id: AccountId; assets: lib.codecs.Map; metadata: Metadata; } -export const Account = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['assets', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => Asset))], ['metadata', lib.toCodec(() => Metadata)]])) -export type AccountEvent = lib.Enumerate<{ Asset: [AssetEvent], Created: [Account], Deleted: [AccountId], AuthenticationAdded: [AccountId], AuthenticationRemoved: [AccountId], PermissionAdded: [AccountPermissionChanged], PermissionRemoved: [AccountPermissionChanged], RoleRevoked: [AccountRoleChanged], RoleGranted: [AccountRoleChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> -export const AccountEvent = { /** Produce `Asset` enum variant */ Asset: (value: AssetEvent): AccountEvent => lib.variant('Asset', value), /** Produce `Created` enum variant */ Created: (value: Account): AccountEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: AccountId): AccountEvent => lib.variant('Deleted', value), /** Produce `AuthenticationAdded` enum variant */ AuthenticationAdded: (value: AccountId): AccountEvent => lib.variant('AuthenticationAdded', value), /** Produce `AuthenticationRemoved` enum variant */ AuthenticationRemoved: (value: AccountId): AccountEvent => lib.variant('AuthenticationRemoved', value), /** Produce `PermissionAdded` enum variant */ PermissionAdded: (value: AccountPermissionChanged): AccountEvent => lib.variant('PermissionAdded', value), /** Produce `PermissionRemoved` enum variant */ PermissionRemoved: (value: AccountPermissionChanged): AccountEvent => lib.variant('PermissionRemoved', value), /** Produce `RoleRevoked` enum variant */ RoleRevoked: (value: AccountRoleChanged): AccountEvent => lib.variant('RoleRevoked', value), /** Produce `RoleGranted` enum variant */ RoleGranted: (value: AccountRoleChanged): AccountEvent => lib.variant('RoleGranted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AccountEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AccountEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => AssetEvent)], [1, 'Created', lib.toCodec(() => Account)], [2, 'Deleted', lib.toCodec(() => AccountId)], [3, 'AuthenticationAdded', lib.toCodec(() => AccountId)], [4, 'AuthenticationRemoved', lib.toCodec(() => AccountId)], [5, 'PermissionAdded', lib.toCodec(() => AccountPermissionChanged)], [6, 'PermissionRemoved', lib.toCodec(() => AccountPermissionChanged)], [7, 'RoleRevoked', lib.toCodec(() => AccountRoleChanged)], [8, 'RoleGranted', lib.toCodec(() => AccountRoleChanged)], [9, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AccountId)))], [10, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AccountId)))]]) } -export type AccountEventFilter = { idMatcher: lib.codecs.Option; eventSet: AccountEventSet; } -export const AccountEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AccountId))], ['eventSet', lib.toCodec(() => AccountEventSet)]])) -export type AccountEventSet = lib.codecs.U32 -export const AccountEventSet = { /** `AnyAsset` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AnyAsset: 1, /** `Created` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ Created: 2, /** `Deleted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ Deleted: 4, /** `AuthenticationAdded` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AuthenticationAdded: 8, /** `AuthenticationRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ AuthenticationRemoved: 16, /** `PermissionAdded` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ PermissionAdded: 32, /** `PermissionRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ PermissionRemoved: 64, /** `RoleRevoked` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ RoleRevoked: 128, /** `RoleGranted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ RoleGranted: 256, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ MetadataInserted: 512, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AccountEventSet} bitmasks. */ MetadataRemoved: 1024, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type AccountId = { domain: DomainId; signatory: PublicKey; } -export const AccountId = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['signatory', lib.toCodec(() => PublicKey)]])) -export type AccountPermissionChanged = { account: AccountId; permission: PermissionId; } -export const AccountPermissionChanged = lib.wrapCodec(lib.structCodec([['account', lib.toCodec(() => AccountId)], ['permission', lib.toCodec(() => PermissionId)]])) -export type AccountRoleChanged = { account: AccountId; role: RoleId; } -export const AccountRoleChanged = lib.wrapCodec(lib.structCodec([['account', lib.toCodec(() => AccountId)], ['role', lib.toCodec(() => RoleId)]])) -export type Action = { executable: Executable; repeats: Repeats; authority: AccountId; filter: TriggeringEventFilterBox; metadata: Metadata; } -export const Action = lib.wrapCodec(lib.structCodec([['executable', lib.toCodec(() => Executable)], ['repeats', lib.toCodec(() => Repeats)], ['authority', lib.toCodec(() => AccountId)], ['filter', lib.toCodec(() => TriggeringEventFilterBox)], ['metadata', lib.toCodec(() => Metadata)]])) -export type Algorithm = lib.Enumerate<{ Ed25519: [], Secp256k1: [], BlsNormal: [], BlsSmall: [] }> -export const Algorithm = { /** `Ed25519` enum variant */ Ed25519: lib.variant('Ed25519'), /** `Secp256k1` enum variant */ Secp256k1: lib.variant('Secp256k1'), /** `BlsNormal` enum variant */ BlsNormal: lib.variant('BlsNormal'), /** `BlsSmall` enum variant */ BlsSmall: lib.variant('BlsSmall'), [lib.symbolCodec]: lib.enumCodec([[0, 'Ed25519'], [1, 'Secp256k1'], [2, 'BlsNormal'], [3, 'BlsSmall']]) } -export type Asset = { id: AssetId; value: AssetValue; } -export const Asset = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)], ['value', lib.toCodec(() => AssetValue)]])) -export type AssetChanged = { asset: AssetId; amount: AssetValue; } -export const AssetChanged = lib.wrapCodec(lib.structCodec([['asset', lib.toCodec(() => AssetId)], ['amount', lib.toCodec(() => AssetValue)]])) -export type AssetDefinition = { id: AssetDefinitionId; valueType: AssetValueType; mintable: Mintable; logo: lib.codecs.Option; metadata: Metadata; ownedBy: AccountId; } -export const AssetDefinition = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['valueType', lib.toCodec(() => AssetValueType)], ['mintable', lib.toCodec(() => Mintable)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)], ['ownedBy', lib.toCodec(() => AccountId)]])) -export type AssetDefinitionEvent = lib.Enumerate<{ Created: [AssetDefinition], MintabilityChanged: [AssetDefinitionId], OwnerChanged: [AssetDefinitionOwnerChanged], Deleted: [AssetDefinitionId], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged], TotalQuantityChanged: [AssetDefinitionTotalQuantityChanged] }> -export const AssetDefinitionEvent = { /** Produce `Created` enum variant */ Created: (value: AssetDefinition): AssetDefinitionEvent => lib.variant('Created', value), /** Produce `MintabilityChanged` enum variant */ MintabilityChanged: (value: AssetDefinitionId): AssetDefinitionEvent => lib.variant('MintabilityChanged', value), /** Produce `OwnerChanged` enum variant */ OwnerChanged: (value: AssetDefinitionOwnerChanged): AssetDefinitionEvent => lib.variant('OwnerChanged', value), /** Produce `Deleted` enum variant */ Deleted: (value: AssetDefinitionId): AssetDefinitionEvent => lib.variant('Deleted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AssetDefinitionEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AssetDefinitionEvent => lib.variant('MetadataRemoved', value), /** Produce `TotalQuantityChanged` enum variant */ TotalQuantityChanged: (value: AssetDefinitionTotalQuantityChanged): AssetDefinitionEvent => lib.variant('TotalQuantityChanged', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => AssetDefinition)], [1, 'MintabilityChanged', lib.toCodec(() => AssetDefinitionId)], [2, 'OwnerChanged', lib.toCodec(() => AssetDefinitionOwnerChanged)], [3, 'Deleted', lib.toCodec(() => AssetDefinitionId)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetDefinitionId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetDefinitionId)))], [6, 'TotalQuantityChanged', lib.toCodec(() => AssetDefinitionTotalQuantityChanged)]]) } -export type AssetDefinitionEventFilter = { idMatcher: lib.codecs.Option; eventSet: AssetDefinitionEventSet; } -export const AssetDefinitionEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AssetDefinitionId))], ['eventSet', lib.toCodec(() => AssetDefinitionEventSet)]])) -export type AssetDefinitionEventSet = lib.codecs.U32 -export const AssetDefinitionEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ Created: 1, /** `MintabilityChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MintabilityChanged: 2, /** `OwnerChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ OwnerChanged: 4, /** `Deleted` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ Deleted: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ MetadataRemoved: 32, /** `TotalQuantityChanged` event bitmask. Use `|` to combine with other {@link AssetDefinitionEventSet} bitmasks. */ TotalQuantityChanged: 64, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type AssetDefinitionId = { domain: DomainId; name: lib.codecs.String; } -export const AssetDefinitionId = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['name', lib.toCodec(lib.codecs.String)]])) -export type AssetDefinitionOwnerChanged = { assetDefinition: AssetDefinitionId; newOwner: AccountId; } -export const AssetDefinitionOwnerChanged = lib.wrapCodec(lib.structCodec([['assetDefinition', lib.toCodec(() => AssetDefinitionId)], ['newOwner', lib.toCodec(() => AccountId)]])) -export type AssetDefinitionTotalQuantityChanged = { assetDefinition: AssetDefinitionId; totalAmount: Numeric; } -export const AssetDefinitionTotalQuantityChanged = lib.wrapCodec(lib.structCodec([['assetDefinition', lib.toCodec(() => AssetDefinitionId)], ['totalAmount', lib.toCodec(() => Numeric)]])) -export type AssetEvent = lib.Enumerate<{ Created: [Asset], Deleted: [AssetId], Added: [AssetChanged], Removed: [AssetChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> -export const AssetEvent = { /** Produce `Created` enum variant */ Created: (value: Asset): AssetEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: AssetId): AssetEvent => lib.variant('Deleted', value), /** Produce `Added` enum variant */ Added: (value: AssetChanged): AssetEvent => lib.variant('Added', value), /** Produce `Removed` enum variant */ Removed: (value: AssetChanged): AssetEvent => lib.variant('Removed', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): AssetEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): AssetEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => Asset)], [1, 'Deleted', lib.toCodec(() => AssetId)], [2, 'Added', lib.toCodec(() => AssetChanged)], [3, 'Removed', lib.toCodec(() => AssetChanged)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => AssetId)))]]) } -export type AssetEventFilter = { idMatcher: lib.codecs.Option; eventSet: AssetEventSet; } -export const AssetEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => AssetId))], ['eventSet', lib.toCodec(() => AssetEventSet)]])) -export type AssetEventSet = lib.codecs.U32 -export const AssetEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Deleted: 2, /** `Added` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Added: 4, /** `Removed` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ Removed: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link AssetEventSet} bitmasks. */ MetadataRemoved: 32, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type AssetId = { definition: AssetDefinitionId; account: AccountId; } -export const AssetId = lib.wrapCodec(lib.structCodec([['definition', lib.toCodec(() => AssetDefinitionId)], ['account', lib.toCodec(() => AccountId)]])) -export type AssetTransferBox = lib.Enumerate<{ Numeric: [Transfer], Store: [Transfer] }> -export const AssetTransferBox = { /** Produce `Numeric` enum variant */ Numeric: (value: Transfer): AssetTransferBox => lib.variant('Numeric', value), /** Produce `Store` enum variant */ Store: (value: Transfer): AssetTransferBox => lib.variant('Store', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => Transfer.with(lib.toCodec(() => AssetId), lib.toCodec(() => Numeric), lib.toCodec(() => AccountId)))], [1, 'Store', lib.toCodec(() => Transfer.with(lib.toCodec(() => AssetId), lib.toCodec(() => Metadata), lib.toCodec(() => AccountId)))]]) } -export type AssetValue = lib.Enumerate<{ Numeric: [Numeric], Store: [Metadata] }> -export const AssetValue = { /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): AssetValue => lib.variant('Numeric', value), /** Produce `Store` enum variant */ Store: (value: Metadata): AssetValue => lib.variant('Store', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => Numeric)], [1, 'Store', lib.toCodec(() => Metadata)]]) } -export type AssetValueType = lib.Enumerate<{ Numeric: [NumericSpec], Store: [] }> -export const AssetValueType = { /** Produce `Numeric` enum variant */ Numeric: (value: NumericSpec): AssetValueType => lib.variant('Numeric', value), /** `Store` enum variant */ Store: lib.variant('Store'), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => NumericSpec)], [1, 'Store']]) } -export type AssetValueTypeMismatch = { expected: AssetValueType; actual: AssetValueType; } -export const AssetValueTypeMismatch = lib.wrapCodec(lib.structCodec([['expected', lib.toCodec(() => AssetValueType)], ['actual', lib.toCodec(() => AssetValueType)]])) -export type AtIndex = { index: lib.codecs.U32; predicate: QueryOutputPredicate; } -export const AtIndex = lib.wrapCodec(lib.structCodec([['index', lib.toCodec(lib.codecs.U32)], ['predicate', lib.toCodec(() => QueryOutputPredicate)]])) -export type BatchedResponse = lib.Enumerate<{ V1: [BatchedResponseV1] }> -export const BatchedResponse = { /** Produce `V1` enum variant */ V1: (value: BatchedResponseV1): BatchedResponse => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => BatchedResponseV1)]]) } -export type BatchedResponseV1 = { batch: QueryOutputBox; cursor: ForwardCursor; } -export const BatchedResponseV1 = lib.wrapCodec(lib.structCodec([['batch', lib.toCodec(() => QueryOutputBox)], ['cursor', lib.toCodec(() => ForwardCursor)]])) -export type BlockEvent = { header: BlockHeader; hash: Hash; status: BlockStatus; } -export const BlockEvent = lib.wrapCodec(lib.structCodec([['header', lib.toCodec(() => BlockHeader)], ['hash', lib.toCodec(() => Hash)], ['status', lib.toCodec(() => BlockStatus)]])) -export type BlockEventFilter = { height: lib.codecs.Option; status: lib.codecs.Option; } -export const BlockEventFilter = lib.wrapCodec(lib.structCodec([['height', lib.codecs.Option.with(lib.toCodec(lib.codecs.U64))], ['status', lib.codecs.Option.with(lib.toCodec(() => BlockStatus))]])) -export type BlockHeader = { height: lib.codecs.U64; prevBlockHash: lib.codecs.Option; transactionsHash: Hash; timestampMs: lib.codecs.U64; viewChangeIndex: lib.codecs.U32; consensusEstimationMs: lib.codecs.U64; } -export const BlockHeader = lib.wrapCodec(lib.structCodec([['height', lib.toCodec(lib.codecs.U64)], ['prevBlockHash', lib.codecs.Option.with(lib.toCodec(() => Hash))], ['transactionsHash', lib.toCodec(() => Hash)], ['timestampMs', lib.toCodec(lib.codecs.U64)], ['viewChangeIndex', lib.toCodec(lib.codecs.U32)], ['consensusEstimationMs', lib.toCodec(lib.codecs.U64)]])) -export type BlockPayload = { header: BlockHeader; commitTopology: lib.codecs.Vec; transactions: lib.codecs.Vec; eventRecommendations: lib.codecs.Vec; } -export const BlockPayload = lib.wrapCodec(lib.structCodec([['header', lib.toCodec(() => BlockHeader)], ['commitTopology', lib.codecs.Vec.with(lib.toCodec(() => PeerId))], ['transactions', lib.codecs.Vec.with(lib.toCodec(() => CommittedTransaction))], ['eventRecommendations', lib.codecs.Vec.with(lib.toCodec(() => EventBox))]])) -export type BlockRejectionReason = lib.Enumerate<{ ConsensusBlockRejection: [] }> -export const BlockRejectionReason = { /** `ConsensusBlockRejection` enum variant */ ConsensusBlockRejection: lib.variant('ConsensusBlockRejection'), [lib.symbolCodec]: lib.enumCodec([[0, 'ConsensusBlockRejection']]) } -export type BlockSignature = { peerTopologyIndex: lib.codecs.U64; payload: BlockPayload; } -export const BlockSignature = lib.wrapCodec(lib.structCodec([['peerTopologyIndex', lib.toCodec(lib.codecs.U64)], ['payload', lib.toCodec(() => BlockPayload)]])) -export type BlockStatus = lib.Enumerate<{ Approved: [], Rejected: [BlockRejectionReason], Committed: [], Applied: [] }> -export const BlockStatus = { /** `Approved` enum variant */ Approved: lib.variant('Approved'), /** Produce `Rejected` enum variant */ Rejected: (value: BlockRejectionReason): BlockStatus => lib.variant('Rejected', value), /** `Committed` enum variant */ Committed: lib.variant('Committed'), /** `Applied` enum variant */ Applied: lib.variant('Applied'), [lib.symbolCodec]: lib.enumCodec([[0, 'Approved'], [1, 'Rejected', lib.toCodec(() => BlockRejectionReason)], [2, 'Committed'], [3, 'Applied']]) } -export type BlockSubscriptionRequest = { fromBlockHeight: lib.codecs.NonZero; } -export const BlockSubscriptionRequest = lib.wrapCodec(lib.structCodec([['fromBlockHeight', lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64))]])) -export type Burn = { object: T0, destination: T1 } -export const Burn = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } -export type BurnBox = lib.Enumerate<{ Asset: [Burn], TriggerRepetitions: [Burn] }> -export const BurnBox = { /** Produce `Asset` enum variant */ Asset: (value: Burn): BurnBox => lib.variant('Asset', value), /** Produce `TriggerRepetitions` enum variant */ TriggerRepetitions: (value: Burn): BurnBox => lib.variant('TriggerRepetitions', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => Burn.with(lib.toCodec(() => Numeric), lib.toCodec(() => AssetId)))], [1, 'TriggerRepetitions', lib.toCodec(() => Burn.with(lib.toCodec(lib.codecs.U32), lib.toCodec(() => TriggerId)))]]) } -export type ClientQueryPayload = { authority: AccountId; query: QueryBox; filter: PredicateBox; sorting: Sorting; pagination: Pagination; fetchSize: FetchSize; } -export const ClientQueryPayload = lib.wrapCodec(lib.structCodec([['authority', lib.toCodec(() => AccountId)], ['query', lib.toCodec(() => QueryBox)], ['filter', lib.toCodec(() => PredicateBox)], ['sorting', lib.toCodec(() => Sorting)], ['pagination', lib.toCodec(() => Pagination)], ['fetchSize', lib.toCodec(() => FetchSize)]])) -export type CommittedTransaction = { value: SignedTransaction; error: lib.codecs.Option; } -export const CommittedTransaction = lib.wrapCodec(lib.structCodec([['value', lib.toCodec(() => SignedTransaction)], ['error', lib.codecs.Option.with(lib.toCodec(() => TransactionRejectionReason))]])) -export type ConfigurationEvent = lib.Enumerate<{ Changed: [ParameterId], Created: [ParameterId], Deleted: [ParameterId] }> -export const ConfigurationEvent = { /** Produce `Changed` enum variant */ Changed: (value: ParameterId): ConfigurationEvent => lib.variant('Changed', value), /** Produce `Created` enum variant */ Created: (value: ParameterId): ConfigurationEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: ParameterId): ConfigurationEvent => lib.variant('Deleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Changed', lib.toCodec(() => ParameterId)], [1, 'Created', lib.toCodec(() => ParameterId)], [2, 'Deleted', lib.toCodec(() => ParameterId)]]) } -export type ConfigurationEventFilter = { idMatcher: lib.codecs.Option; eventSet: ConfigurationEventSet; } -export const ConfigurationEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => ParameterId))], ['eventSet', lib.toCodec(() => ConfigurationEventSet)]])) -export type ConfigurationEventSet = lib.codecs.U32 -export const ConfigurationEventSet = { /** `Changed` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Changed: 1, /** `Created` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Created: 2, /** `Deleted` event bitmask. Use `|` to combine with other {@link ConfigurationEventSet} bitmasks. */ Deleted: 4, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type Container = lib.Enumerate<{ Any: [QueryOutputPredicate], All: [QueryOutputPredicate], AtIndex: [AtIndex] }> -export const Container = { /** Produce `Any` enum variant */ Any: (value: QueryOutputPredicate): Container => lib.variant('Any', value), /** Produce `All` enum variant */ All: (value: QueryOutputPredicate): Container => lib.variant('All', value), /** Produce `AtIndex` enum variant */ AtIndex: (value: AtIndex): Container => lib.variant('AtIndex', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Any', lib.toCodec(() => QueryOutputPredicate)], [1, 'All', lib.toCodec(() => QueryOutputPredicate)], [2, 'AtIndex', lib.toCodec(() => AtIndex)]]) } -export type Custom = { payload: lib.codecs.Json; } -export const Custom = lib.wrapCodec(lib.structCodec([['payload', lib.toCodec(lib.codecs.Json)]])) -export type DataEvent = lib.Enumerate<{ Peer: [PeerEvent], Domain: [DomainEvent], Trigger: [TriggerEvent], Role: [RoleEvent], Configuration: [ConfigurationEvent], Executor: [ExecutorEvent] }> -export const DataEvent = { /** Produce `Peer` enum variant */ Peer: (value: PeerEvent): DataEvent => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: DomainEvent): DataEvent => lib.variant('Domain', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerEvent): DataEvent => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleEvent): DataEvent => lib.variant('Role', value), /** Produce `Configuration` enum variant */ Configuration: (value: ConfigurationEvent): DataEvent => lib.variant('Configuration', value), /** Produce `Executor` enum variant */ Executor: (value: ExecutorEvent): DataEvent => lib.variant('Executor', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => PeerEvent)], [1, 'Domain', lib.toCodec(() => DomainEvent)], [2, 'Trigger', lib.toCodec(() => TriggerEvent)], [3, 'Role', lib.toCodec(() => RoleEvent)], [4, 'Configuration', lib.toCodec(() => ConfigurationEvent)], [5, 'Executor', lib.toCodec(() => ExecutorEvent)]]) } -export type DataEventFilter = lib.Enumerate<{ Any: [], Peer: [PeerEventFilter], Domain: [DomainEventFilter], Account: [AccountEventFilter], Asset: [AssetEventFilter], AssetDefinition: [AssetDefinitionEventFilter], Trigger: [TriggerEventFilter], Role: [RoleEventFilter], Configuration: [ConfigurationEventFilter], Executor: [ExecutorEventFilter] }> -export const DataEventFilter = { /** `Any` enum variant */ Any: lib.variant('Any'), /** Produce `Peer` enum variant */ Peer: (value: PeerEventFilter): DataEventFilter => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: DomainEventFilter): DataEventFilter => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: AccountEventFilter): DataEventFilter => lib.variant('Account', value), /** Produce `Asset` enum variant */ Asset: (value: AssetEventFilter): DataEventFilter => lib.variant('Asset', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionEventFilter): DataEventFilter => lib.variant('AssetDefinition', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerEventFilter): DataEventFilter => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleEventFilter): DataEventFilter => lib.variant('Role', value), /** Produce `Configuration` enum variant */ Configuration: (value: ConfigurationEventFilter): DataEventFilter => lib.variant('Configuration', value), /** Produce `Executor` enum variant */ Executor: (value: ExecutorEventFilter): DataEventFilter => lib.variant('Executor', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Any'], [1, 'Peer', lib.toCodec(() => PeerEventFilter)], [2, 'Domain', lib.toCodec(() => DomainEventFilter)], [3, 'Account', lib.toCodec(() => AccountEventFilter)], [4, 'Asset', lib.toCodec(() => AssetEventFilter)], [5, 'AssetDefinition', lib.toCodec(() => AssetDefinitionEventFilter)], [6, 'Trigger', lib.toCodec(() => TriggerEventFilter)], [7, 'Role', lib.toCodec(() => RoleEventFilter)], [8, 'Configuration', lib.toCodec(() => ConfigurationEventFilter)], [9, 'Executor', lib.toCodec(() => ExecutorEventFilter)]]) } -export type Domain = { id: DomainId; accounts: lib.codecs.Map; assetDefinitions: lib.codecs.Map; assetTotalQuantities: lib.codecs.Map; logo: lib.codecs.Option; metadata: Metadata; ownedBy: AccountId; } -export const Domain = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['accounts', lib.codecs.Map.with(lib.toCodec(() => AccountId), lib.toCodec(() => Account))], ['assetDefinitions', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => AssetDefinition))], ['assetTotalQuantities', lib.codecs.Map.with(lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => Numeric))], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)], ['ownedBy', lib.toCodec(() => AccountId)]])) -export type DomainEvent = lib.Enumerate<{ Account: [AccountEvent], AssetDefinition: [AssetDefinitionEvent], Created: [Domain], Deleted: [DomainId], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged], OwnerChanged: [DomainOwnerChanged] }> -export const DomainEvent = { /** Produce `Account` enum variant */ Account: (value: AccountEvent): DomainEvent => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionEvent): DomainEvent => lib.variant('AssetDefinition', value), /** Produce `Created` enum variant */ Created: (value: Domain): DomainEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: DomainId): DomainEvent => lib.variant('Deleted', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): DomainEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): DomainEvent => lib.variant('MetadataRemoved', value), /** Produce `OwnerChanged` enum variant */ OwnerChanged: (value: DomainOwnerChanged): DomainEvent => lib.variant('OwnerChanged', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Account', lib.toCodec(() => AccountEvent)], [1, 'AssetDefinition', lib.toCodec(() => AssetDefinitionEvent)], [2, 'Created', lib.toCodec(() => Domain)], [3, 'Deleted', lib.toCodec(() => DomainId)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => DomainId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => DomainId)))], [6, 'OwnerChanged', lib.toCodec(() => DomainOwnerChanged)]]) } -export type DomainEventFilter = { idMatcher: lib.codecs.Option; eventSet: DomainEventSet; } -export const DomainEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => DomainId))], ['eventSet', lib.toCodec(() => DomainEventSet)]])) -export type DomainEventSet = lib.codecs.U32 -export const DomainEventSet = { /** `AnyAccount` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ AnyAccount: 1, /** `AnyAssetDefinition` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ AnyAssetDefinition: 2, /** `Created` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ Created: 4, /** `Deleted` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ Deleted: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ MetadataRemoved: 32, /** `OwnerChanged` event bitmask. Use `|` to combine with other {@link DomainEventSet} bitmasks. */ OwnerChanged: 64, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type DomainId = { name: lib.codecs.String; } -export const DomainId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) -export type DomainOwnerChanged = { domain: DomainId; newOwner: AccountId; } -export const DomainOwnerChanged = lib.wrapCodec(lib.structCodec([['domain', lib.toCodec(() => DomainId)], ['newOwner', lib.toCodec(() => AccountId)]])) -export type Duration = { secs: lib.codecs.U64; nanos: lib.codecs.U32; } -export const Duration = lib.wrapCodec(lib.structCodec([['secs', lib.toCodec(lib.codecs.U64)], ['nanos', lib.toCodec(lib.codecs.U32)]])) -export type EventBox = lib.Enumerate<{ Pipeline: [PipelineEventBox], Data: [DataEvent], Time: [TimeEvent], ExecuteTrigger: [ExecuteTriggerEvent], TriggerCompleted: [TriggerCompletedEvent] }> -export const EventBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventBox): EventBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEvent): EventBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: TimeEvent): EventBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEvent): EventBox => lib.variant('ExecuteTrigger', value), /** Produce `TriggerCompleted` enum variant */ TriggerCompleted: (value: TriggerCompletedEvent): EventBox => lib.variant('TriggerCompleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventBox)], [1, 'Data', lib.toCodec(() => DataEvent)], [2, 'Time', lib.toCodec(() => TimeEvent)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEvent)], [4, 'TriggerCompleted', lib.toCodec(() => TriggerCompletedEvent)]]) } -export type EventFilterBox = lib.Enumerate<{ Pipeline: [PipelineEventFilterBox], Data: [DataEventFilter], Time: [ExecutionTime], ExecuteTrigger: [ExecuteTriggerEventFilter], TriggerCompleted: [TriggerCompletedEventFilter] }> -export const EventFilterBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventFilterBox): EventFilterBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEventFilter): EventFilterBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: ExecutionTime): EventFilterBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEventFilter): EventFilterBox => lib.variant('ExecuteTrigger', value), /** Produce `TriggerCompleted` enum variant */ TriggerCompleted: (value: TriggerCompletedEventFilter): EventFilterBox => lib.variant('TriggerCompleted', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventFilterBox)], [1, 'Data', lib.toCodec(() => DataEventFilter)], [2, 'Time', lib.toCodec(() => ExecutionTime)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEventFilter)], [4, 'TriggerCompleted', lib.toCodec(() => TriggerCompletedEventFilter)]]) } -export type EventSubscriptionRequest = { filters: lib.codecs.Vec; } -export const EventSubscriptionRequest = lib.wrapCodec(lib.structCodec([['filters', lib.codecs.Vec.with(lib.toCodec(() => EventFilterBox))]])) -export type Executable = lib.Enumerate<{ Instructions: [lib.codecs.Vec], Wasm: [WasmSmartContract] }> -export const Executable = { /** Produce `Instructions` enum variant */ Instructions: (value: lib.codecs.Vec): Executable => lib.variant('Instructions', value), /** Produce `Wasm` enum variant */ Wasm: (value: WasmSmartContract): Executable => lib.variant('Wasm', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Instructions', lib.codecs.Vec.with(lib.toCodec(() => InstructionBox))], [1, 'Wasm', lib.toCodec(() => WasmSmartContract)]]) } -export type ExecuteTrigger = { trigger: TriggerId; } -export const ExecuteTrigger = lib.wrapCodec(lib.structCodec([['trigger', lib.toCodec(() => TriggerId)]])) -export type ExecuteTriggerEvent = { triggerId: TriggerId; authority: AccountId; } -export const ExecuteTriggerEvent = lib.wrapCodec(lib.structCodec([['triggerId', lib.toCodec(() => TriggerId)], ['authority', lib.toCodec(() => AccountId)]])) -export type ExecuteTriggerEventFilter = { triggerId: lib.codecs.Option; authority: lib.codecs.Option; } -export const ExecuteTriggerEventFilter = lib.wrapCodec(lib.structCodec([['triggerId', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['authority', lib.codecs.Option.with(lib.toCodec(() => AccountId))]])) -export type ExecutionTime = lib.Enumerate<{ PreCommit: [], Schedule: [Schedule] }> -export const ExecutionTime = { /** `PreCommit` enum variant */ PreCommit: lib.variant('PreCommit'), /** Produce `Schedule` enum variant */ Schedule: (value: Schedule): ExecutionTime => lib.variant('Schedule', value), [lib.symbolCodec]: lib.enumCodec([[0, 'PreCommit'], [1, 'Schedule', lib.toCodec(() => Schedule)]]) } -export type Executor = { wasm: WasmSmartContract; } -export const Executor = lib.wrapCodec(lib.structCodec([['wasm', lib.toCodec(() => WasmSmartContract)]])) -export type ExecutorDataModel = { permissions: lib.codecs.Vec; customInstruction: lib.codecs.Option; schema: lib.codecs.Json; } -export const ExecutorDataModel = lib.wrapCodec(lib.structCodec([['permissions', lib.codecs.Vec.with(lib.toCodec(() => PermissionId))], ['customInstruction', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))], ['schema', lib.toCodec(lib.codecs.Json)]])) -export type ExecutorEvent = lib.Enumerate<{ Upgraded: [ExecutorUpgrade] }> -export const ExecutorEvent = { /** Produce `Upgraded` enum variant */ Upgraded: (value: ExecutorUpgrade): ExecutorEvent => lib.variant('Upgraded', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Upgraded', lib.toCodec(() => ExecutorUpgrade)]]) } -export type ExecutorEventFilter = { eventSet: ExecutorEventSet; } -export const ExecutorEventFilter = lib.wrapCodec(lib.structCodec([['eventSet', lib.toCodec(() => ExecutorEventSet)]])) -export type ExecutorEventSet = lib.codecs.U32 -export const ExecutorEventSet = { /** `Upgraded` event bitmask. Use `|` to combine with other {@link ExecutorEventSet} bitmasks. */ Upgraded: 1, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type ExecutorUpgrade = { newDataModel: ExecutorDataModel; } -export const ExecutorUpgrade = lib.wrapCodec(lib.structCodec([['newDataModel', lib.toCodec(() => ExecutorDataModel)]])) -export type Fail = { message: lib.codecs.String; } -export const Fail = lib.wrapCodec(lib.structCodec([['message', lib.toCodec(lib.codecs.String)]])) -export type FetchSize = { fetchSize: lib.codecs.Option>; } -export const FetchSize = lib.wrapCodec(lib.structCodec([['fetchSize', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))]])) -export type FindAccountById = { id: AccountId; } -export const FindAccountById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) -export type FindAccountKeyValueByIdAndKey = { id: AccountId; key: lib.codecs.String; } -export const FindAccountKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['key', lib.toCodec(lib.codecs.String)]])) -export type FindAccountsByDomainId = { domainId: DomainId; } -export const FindAccountsByDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) -export type FindAccountsWithAsset = { assetDefinitionId: AssetDefinitionId; } -export const FindAccountsWithAsset = lib.wrapCodec(lib.structCodec([['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) -export type FindAssetById = { id: AssetId; } -export const FindAssetById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)]])) -export type FindAssetDefinitionById = { id: AssetDefinitionId; } -export const FindAssetDefinitionById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)]])) -export type FindAssetDefinitionKeyValueByIdAndKey = { id: AssetDefinitionId; key: lib.codecs.String; } -export const FindAssetDefinitionKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['key', lib.toCodec(lib.codecs.String)]])) -export type FindAssetKeyValueByIdAndKey = { id: AssetId; key: lib.codecs.String; } -export const FindAssetKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)], ['key', lib.toCodec(lib.codecs.String)]])) -export type FindAssetQuantityById = { id: AssetId; } -export const FindAssetQuantityById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetId)]])) -export type FindAssetsByAccountId = { accountId: AccountId; } -export const FindAssetsByAccountId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) -export type FindAssetsByAssetDefinitionId = { assetDefinitionId: AssetDefinitionId; } -export const FindAssetsByAssetDefinitionId = lib.wrapCodec(lib.structCodec([['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) -export type FindAssetsByDomainId = { domainId: DomainId; } -export const FindAssetsByDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) -export type FindAssetsByDomainIdAndAssetDefinitionId = { domainId: DomainId; assetDefinitionId: AssetDefinitionId; } -export const FindAssetsByDomainIdAndAssetDefinitionId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)], ['assetDefinitionId', lib.toCodec(() => AssetDefinitionId)]])) -export type FindAssetsByName = { name: lib.codecs.String; } -export const FindAssetsByName = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) -export type FindBlockHeaderByHash = { hash: Hash; } -export const FindBlockHeaderByHash = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)]])) -export type FindDomainById = { id: DomainId; } -export const FindDomainById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)]])) -export type FindDomainKeyValueByIdAndKey = { id: DomainId; key: lib.codecs.String; } -export const FindDomainKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['key', lib.toCodec(lib.codecs.String)]])) -export type FindError = lib.Enumerate<{ Asset: [AssetId], AssetDefinition: [AssetDefinitionId], Account: [AccountId], Domain: [DomainId], MetadataKey: [lib.codecs.String], Block: [Hash], Transaction: [Hash], Peer: [PeerId], Trigger: [TriggerId], Role: [RoleId], Permission: [PermissionId], Parameter: [ParameterId], PublicKey: [PublicKey] }> -export const FindError = { /** Produce `Asset` enum variant */ Asset: (value: AssetId): FindError => lib.variant('Asset', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinitionId): FindError => lib.variant('AssetDefinition', value), /** Produce `Account` enum variant */ Account: (value: AccountId): FindError => lib.variant('Account', value), /** Produce `Domain` enum variant */ Domain: (value: DomainId): FindError => lib.variant('Domain', value), /** Produce `MetadataKey` enum variant */ MetadataKey: (value: lib.codecs.String): FindError => lib.variant('MetadataKey', value), /** Produce `Block` enum variant */ Block: (value: Hash): FindError => lib.variant('Block', value), /** Produce `Transaction` enum variant */ Transaction: (value: Hash): FindError => lib.variant('Transaction', value), /** Produce `Peer` enum variant */ Peer: (value: PeerId): FindError => lib.variant('Peer', value), /** Produce `Trigger` enum variant */ Trigger: (value: TriggerId): FindError => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: RoleId): FindError => lib.variant('Role', value), /** Produce `Permission` enum variant */ Permission: (value: PermissionId): FindError => lib.variant('Permission', value), /** Produce `Parameter` enum variant */ Parameter: (value: ParameterId): FindError => lib.variant('Parameter', value), /** Produce `PublicKey` enum variant */ PublicKey: (value: PublicKey): FindError => lib.variant('PublicKey', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => AssetId)], [1, 'AssetDefinition', lib.toCodec(() => AssetDefinitionId)], [2, 'Account', lib.toCodec(() => AccountId)], [3, 'Domain', lib.toCodec(() => DomainId)], [4, 'MetadataKey', lib.toCodec(lib.codecs.String)], [5, 'Block', lib.toCodec(() => Hash)], [6, 'Transaction', lib.toCodec(() => Hash)], [7, 'Peer', lib.toCodec(() => PeerId)], [8, 'Trigger', lib.toCodec(() => TriggerId)], [9, 'Role', lib.toCodec(() => RoleId)], [10, 'Permission', lib.toCodec(() => PermissionId)], [11, 'Parameter', lib.toCodec(() => ParameterId)], [12, 'PublicKey', lib.toCodec(() => PublicKey)]]) } -export type FindPermissionsByAccountId = { id: AccountId; } -export const FindPermissionsByAccountId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) -export type FindRoleByRoleId = { id: RoleId; } -export const FindRoleByRoleId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => RoleId)]])) -export type FindRolesByAccountId = { id: AccountId; } -export const FindRolesByAccountId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)]])) -export type FindTotalAssetQuantityByAssetDefinitionId = { id: AssetDefinitionId; } -export const FindTotalAssetQuantityByAssetDefinitionId = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)]])) -export type FindTransactionByHash = { hash: Hash; } -export const FindTransactionByHash = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)]])) -export type FindTransactionsByAccountId = { accountId: AccountId; } -export const FindTransactionsByAccountId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) -export type FindTriggerById = { id: TriggerId; } -export const FindTriggerById = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)]])) -export type FindTriggerKeyValueByIdAndKey = { id: TriggerId; key: lib.codecs.String; } -export const FindTriggerKeyValueByIdAndKey = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)], ['key', lib.toCodec(lib.codecs.String)]])) -export type FindTriggersByAuthorityDomainId = { domainId: DomainId; } -export const FindTriggersByAuthorityDomainId = lib.wrapCodec(lib.structCodec([['domainId', lib.toCodec(() => DomainId)]])) -export type FindTriggersByAuthorityId = { accountId: AccountId; } -export const FindTriggersByAuthorityId = lib.wrapCodec(lib.structCodec([['accountId', lib.toCodec(() => AccountId)]])) -export type ForwardCursor = { queryId: lib.codecs.Option; cursor: lib.codecs.Option>; } -export const ForwardCursor = lib.wrapCodec(lib.structCodec([['queryId', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))], ['cursor', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))]])) -export type Grant = { object: T0, destination: T1 } -export const Grant = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } -export type GrantBox = lib.Enumerate<{ Permission: [Grant], Role: [Grant], RolePermission: [Grant] }> -export const GrantBox = { /** Produce `Permission` enum variant */ Permission: (value: Grant): GrantBox => lib.variant('Permission', value), /** Produce `Role` enum variant */ Role: (value: Grant): GrantBox => lib.variant('Role', value), /** Produce `RolePermission` enum variant */ RolePermission: (value: Grant): GrantBox => lib.variant('RolePermission', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Permission', lib.toCodec(() => Grant.with(lib.toCodec(() => Permission), lib.toCodec(() => AccountId)))], [1, 'Role', lib.toCodec(() => Grant.with(lib.toCodec(() => RoleId), lib.toCodec(() => AccountId)))], [2, 'RolePermission', lib.toCodec(() => Grant.with(lib.toCodec(() => Permission), lib.toCodec(() => RoleId)))]]) } -export type Hash = lib.codecs.Array -export const Hash = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U8), 32)) -export type IdBox = lib.Enumerate<{ DomainId: [DomainId], AccountId: [AccountId], AssetDefinitionId: [AssetDefinitionId], AssetId: [AssetId], PeerId: [PeerId], TriggerId: [TriggerId], RoleId: [RoleId], PermissionId: [PermissionId], ParameterId: [ParameterId] }> -export const IdBox = { /** Produce `DomainId` enum variant */ DomainId: (value: DomainId): IdBox => lib.variant('DomainId', value), /** Produce `AccountId` enum variant */ AccountId: (value: AccountId): IdBox => lib.variant('AccountId', value), /** Produce `AssetDefinitionId` enum variant */ AssetDefinitionId: (value: AssetDefinitionId): IdBox => lib.variant('AssetDefinitionId', value), /** Produce `AssetId` enum variant */ AssetId: (value: AssetId): IdBox => lib.variant('AssetId', value), /** Produce `PeerId` enum variant */ PeerId: (value: PeerId): IdBox => lib.variant('PeerId', value), /** Produce `TriggerId` enum variant */ TriggerId: (value: TriggerId): IdBox => lib.variant('TriggerId', value), /** Produce `RoleId` enum variant */ RoleId: (value: RoleId): IdBox => lib.variant('RoleId', value), /** Produce `PermissionId` enum variant */ PermissionId: (value: PermissionId): IdBox => lib.variant('PermissionId', value), /** Produce `ParameterId` enum variant */ ParameterId: (value: ParameterId): IdBox => lib.variant('ParameterId', value), [lib.symbolCodec]: lib.enumCodec([[0, 'DomainId', lib.toCodec(() => DomainId)], [1, 'AccountId', lib.toCodec(() => AccountId)], [2, 'AssetDefinitionId', lib.toCodec(() => AssetDefinitionId)], [3, 'AssetId', lib.toCodec(() => AssetId)], [4, 'PeerId', lib.toCodec(() => PeerId)], [5, 'TriggerId', lib.toCodec(() => TriggerId)], [6, 'RoleId', lib.toCodec(() => RoleId)], [7, 'PermissionId', lib.toCodec(() => PermissionId)], [8, 'ParameterId', lib.toCodec(() => ParameterId)]]) } -export type IdentifiableBox = lib.Enumerate<{ NewDomain: [NewDomain], NewAccount: [NewAccount], NewAssetDefinition: [NewAssetDefinition], NewRole: [NewRole], Peer: [Peer], Domain: [Domain], Account: [Account], AssetDefinition: [AssetDefinition], Asset: [Asset], Trigger: [Trigger], Role: [Role], Parameter: [Parameter] }> -export const IdentifiableBox = { /** Produce `NewDomain` enum variant */ NewDomain: (value: NewDomain): IdentifiableBox => lib.variant('NewDomain', value), /** Produce `NewAccount` enum variant */ NewAccount: (value: NewAccount): IdentifiableBox => lib.variant('NewAccount', value), /** Produce `NewAssetDefinition` enum variant */ NewAssetDefinition: (value: NewAssetDefinition): IdentifiableBox => lib.variant('NewAssetDefinition', value), /** Produce `NewRole` enum variant */ NewRole: (value: NewRole): IdentifiableBox => lib.variant('NewRole', value), /** Produce `Peer` enum variant */ Peer: (value: Peer): IdentifiableBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Domain): IdentifiableBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Account): IdentifiableBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: AssetDefinition): IdentifiableBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Asset): IdentifiableBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: Trigger): IdentifiableBox => lib.variant('Trigger', value), /** Produce `Role` enum variant */ Role: (value: Role): IdentifiableBox => lib.variant('Role', value), /** Produce `Parameter` enum variant */ Parameter: (value: Parameter): IdentifiableBox => lib.variant('Parameter', value), [lib.symbolCodec]: lib.enumCodec([[0, 'NewDomain', lib.toCodec(() => NewDomain)], [1, 'NewAccount', lib.toCodec(() => NewAccount)], [2, 'NewAssetDefinition', lib.toCodec(() => NewAssetDefinition)], [3, 'NewRole', lib.toCodec(() => NewRole)], [4, 'Peer', lib.toCodec(() => Peer)], [5, 'Domain', lib.toCodec(() => Domain)], [6, 'Account', lib.toCodec(() => Account)], [7, 'AssetDefinition', lib.toCodec(() => AssetDefinition)], [8, 'Asset', lib.toCodec(() => Asset)], [9, 'Trigger', lib.toCodec(() => Trigger)], [10, 'Role', lib.toCodec(() => Role)], [11, 'Parameter', lib.toCodec(() => Parameter)]]) } -export type InstructionBox = { enum: lib.Enumerate<{ Register: [RegisterBox], Unregister: [UnregisterBox], Mint: [MintBox], Burn: [BurnBox], Transfer: [TransferBox], SetKeyValue: [SetKeyValueBox], RemoveKeyValue: [RemoveKeyValueBox], Grant: [GrantBox], Revoke: [RevokeBox], ExecuteTrigger: [ExecuteTrigger], SetParameter: [SetParameter], NewParameter: [NewParameter], Upgrade: [Upgrade], Log: [Log], Custom: [Custom], Fail: [Fail] }> } -export const InstructionBox: lib.EnumBoxValue = { /** Produce `Register` enum variant */ Register: (value: RegisterBox): InstructionBox => ({ enum: lib.variant('Register', value) }), /** Produce `Unregister` enum variant */ Unregister: (value: UnregisterBox): InstructionBox => ({ enum: lib.variant('Unregister', value) }), /** Produce `Mint` enum variant */ Mint: (value: MintBox): InstructionBox => ({ enum: lib.variant('Mint', value) }), /** Produce `Burn` enum variant */ Burn: (value: BurnBox): InstructionBox => ({ enum: lib.variant('Burn', value) }), /** Produce `Transfer` enum variant */ Transfer: (value: TransferBox): InstructionBox => ({ enum: lib.variant('Transfer', value) }), /** Produce `SetKeyValue` enum variant */ SetKeyValue: (value: SetKeyValueBox): InstructionBox => ({ enum: lib.variant('SetKeyValue', value) }), /** Produce `RemoveKeyValue` enum variant */ RemoveKeyValue: (value: RemoveKeyValueBox): InstructionBox => ({ enum: lib.variant('RemoveKeyValue', value) }), /** Produce `Grant` enum variant */ Grant: (value: GrantBox): InstructionBox => ({ enum: lib.variant('Grant', value) }), /** Produce `Revoke` enum variant */ Revoke: (value: RevokeBox): InstructionBox => ({ enum: lib.variant('Revoke', value) }), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTrigger): InstructionBox => ({ enum: lib.variant('ExecuteTrigger', value) }), /** Produce `SetParameter` enum variant */ SetParameter: (value: SetParameter): InstructionBox => ({ enum: lib.variant('SetParameter', value) }), /** Produce `NewParameter` enum variant */ NewParameter: (value: NewParameter): InstructionBox => ({ enum: lib.variant('NewParameter', value) }), /** Produce `Upgrade` enum variant */ Upgrade: (value: Upgrade): InstructionBox => ({ enum: lib.variant('Upgrade', value) }), /** Produce `Log` enum variant */ Log: (value: Log): InstructionBox => ({ enum: lib.variant('Log', value) }), /** Produce `Custom` enum variant */ Custom: (value: Custom): InstructionBox => ({ enum: lib.variant('Custom', value) }), /** Produce `Fail` enum variant */ Fail: (value: Fail): InstructionBox => ({ enum: lib.variant('Fail', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Register', lib.toCodec(() => RegisterBox)], [1, 'Unregister', lib.toCodec(() => UnregisterBox)], [2, 'Mint', lib.toCodec(() => MintBox)], [3, 'Burn', lib.toCodec(() => BurnBox)], [4, 'Transfer', lib.toCodec(() => TransferBox)], [5, 'SetKeyValue', lib.toCodec(() => SetKeyValueBox)], [6, 'RemoveKeyValue', lib.toCodec(() => RemoveKeyValueBox)], [7, 'Grant', lib.toCodec(() => GrantBox)], [8, 'Revoke', lib.toCodec(() => RevokeBox)], [9, 'ExecuteTrigger', lib.toCodec(() => ExecuteTrigger)], [10, 'SetParameter', lib.toCodec(() => SetParameter)], [11, 'NewParameter', lib.toCodec(() => NewParameter)], [12, 'Upgrade', lib.toCodec(() => Upgrade)], [13, 'Log', lib.toCodec(() => Log)], [14, 'Custom', lib.toCodec(() => Custom)], [15, 'Fail', lib.toCodec(() => Fail)]])) } -export type InstructionEvaluationError = lib.Enumerate<{ Unsupported: [InstructionType], PermissionParameter: [lib.codecs.String], Type: [TypeError] }> -export const InstructionEvaluationError = { /** Produce `Unsupported` enum variant */ Unsupported: (value: InstructionType): InstructionEvaluationError => lib.variant('Unsupported', value), /** Produce `PermissionParameter` enum variant */ PermissionParameter: (value: lib.codecs.String): InstructionEvaluationError => lib.variant('PermissionParameter', value), /** Produce `Type` enum variant */ Type: (value: TypeError): InstructionEvaluationError => lib.variant('Type', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Unsupported', lib.toCodec(() => InstructionType)], [1, 'PermissionParameter', lib.toCodec(lib.codecs.String)], [2, 'Type', lib.toCodec(() => TypeError)]]) } -export type InstructionExecutionError = lib.Enumerate<{ Evaluate: [InstructionEvaluationError], Query: [QueryExecutionFail], Conversion: [lib.codecs.String], Find: [FindError], Repetition: [RepetitionError], Mintability: [MintabilityError], Math: [MathError], Metadata: [MetadataError], Fail: [lib.codecs.String], InvalidParameter: [InvalidParameterError], InvariantViolation: [lib.codecs.String] }> -export const InstructionExecutionError = { /** Produce `Evaluate` enum variant */ Evaluate: (value: InstructionEvaluationError): InstructionExecutionError => lib.variant('Evaluate', value), /** Produce `Query` enum variant */ Query: (value: QueryExecutionFail): InstructionExecutionError => lib.variant('Query', value), /** Produce `Conversion` enum variant */ Conversion: (value: lib.codecs.String): InstructionExecutionError => lib.variant('Conversion', value), /** Produce `Find` enum variant */ Find: (value: FindError): InstructionExecutionError => lib.variant('Find', value), /** Produce `Repetition` enum variant */ Repetition: (value: RepetitionError): InstructionExecutionError => lib.variant('Repetition', value), /** Produce `Mintability` enum variant */ Mintability: (value: MintabilityError): InstructionExecutionError => lib.variant('Mintability', value), /** Produce `Math` enum variant */ Math: (value: MathError): InstructionExecutionError => lib.variant('Math', value), /** Produce `Metadata` enum variant */ Metadata: (value: MetadataError): InstructionExecutionError => lib.variant('Metadata', value), /** Produce `Fail` enum variant */ Fail: (value: lib.codecs.String): InstructionExecutionError => lib.variant('Fail', value), /** Produce `InvalidParameter` enum variant */ InvalidParameter: (value: InvalidParameterError): InstructionExecutionError => lib.variant('InvalidParameter', value), /** Produce `InvariantViolation` enum variant */ InvariantViolation: (value: lib.codecs.String): InstructionExecutionError => lib.variant('InvariantViolation', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Evaluate', lib.toCodec(() => InstructionEvaluationError)], [1, 'Query', lib.toCodec(() => QueryExecutionFail)], [2, 'Conversion', lib.toCodec(lib.codecs.String)], [3, 'Find', lib.toCodec(() => FindError)], [4, 'Repetition', lib.toCodec(() => RepetitionError)], [5, 'Mintability', lib.toCodec(() => MintabilityError)], [6, 'Math', lib.toCodec(() => MathError)], [7, 'Metadata', lib.toCodec(() => MetadataError)], [8, 'Fail', lib.toCodec(lib.codecs.String)], [9, 'InvalidParameter', lib.toCodec(() => InvalidParameterError)], [10, 'InvariantViolation', lib.toCodec(lib.codecs.String)]]) } -export type InstructionExecutionFail = { instruction: InstructionBox; reason: lib.codecs.String; } -export const InstructionExecutionFail = lib.wrapCodec(lib.structCodec([['instruction', lib.toCodec(() => InstructionBox)], ['reason', lib.toCodec(lib.codecs.String)]])) -export type InstructionType = lib.Enumerate<{ Register: [], Unregister: [], Mint: [], Burn: [], Transfer: [], SetKeyValue: [], RemoveKeyValue: [], Grant: [], Revoke: [], ExecuteTrigger: [], SetParameter: [], NewParameter: [], Upgrade: [], Log: [], Custom: [], Fail: [] }> -export const InstructionType = { /** `Register` enum variant */ Register: lib.variant('Register'), /** `Unregister` enum variant */ Unregister: lib.variant('Unregister'), /** `Mint` enum variant */ Mint: lib.variant('Mint'), /** `Burn` enum variant */ Burn: lib.variant('Burn'), /** `Transfer` enum variant */ Transfer: lib.variant('Transfer'), /** `SetKeyValue` enum variant */ SetKeyValue: lib.variant('SetKeyValue'), /** `RemoveKeyValue` enum variant */ RemoveKeyValue: lib.variant('RemoveKeyValue'), /** `Grant` enum variant */ Grant: lib.variant('Grant'), /** `Revoke` enum variant */ Revoke: lib.variant('Revoke'), /** `ExecuteTrigger` enum variant */ ExecuteTrigger: lib.variant('ExecuteTrigger'), /** `SetParameter` enum variant */ SetParameter: lib.variant('SetParameter'), /** `NewParameter` enum variant */ NewParameter: lib.variant('NewParameter'), /** `Upgrade` enum variant */ Upgrade: lib.variant('Upgrade'), /** `Log` enum variant */ Log: lib.variant('Log'), /** `Custom` enum variant */ Custom: lib.variant('Custom'), /** `Fail` enum variant */ Fail: lib.variant('Fail'), [lib.symbolCodec]: lib.enumCodec([[0, 'Register'], [1, 'Unregister'], [2, 'Mint'], [3, 'Burn'], [4, 'Transfer'], [5, 'SetKeyValue'], [6, 'RemoveKeyValue'], [7, 'Grant'], [8, 'Revoke'], [9, 'ExecuteTrigger'], [10, 'SetParameter'], [11, 'NewParameter'], [12, 'Upgrade'], [13, 'Log'], [14, 'Custom'], [15, 'Fail']]) } -export type InvalidParameterError = lib.Enumerate<{ Wasm: [lib.codecs.String], NameLength: [], TimeTriggerInThePast: [] }> -export const InvalidParameterError = { /** Produce `Wasm` enum variant */ Wasm: (value: lib.codecs.String): InvalidParameterError => lib.variant('Wasm', value), /** `NameLength` enum variant */ NameLength: lib.variant('NameLength'), /** `TimeTriggerInThePast` enum variant */ TimeTriggerInThePast: lib.variant('TimeTriggerInThePast'), [lib.symbolCodec]: lib.enumCodec([[0, 'Wasm', lib.toCodec(lib.codecs.String)], [1, 'NameLength'], [2, 'TimeTriggerInThePast']]) } -export type IpfsPath = { path: lib.codecs.String; } -export const IpfsPath = lib.wrapCodec(lib.structCodec([['path', lib.toCodec(lib.codecs.String)]])) -export type Ipv4Addr = lib.codecs.Array -export const Ipv4Addr = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U8), 4)) -export type Ipv6Addr = lib.codecs.Array -export const Ipv6Addr = lib.wrapCodec(lib.codecs.Array.with(lib.toCodec(lib.codecs.U16), 8)) -export type LengthLimits = { min: lib.codecs.U32; max: lib.codecs.U32; } -export const LengthLimits = lib.wrapCodec(lib.structCodec([['min', lib.toCodec(lib.codecs.U32)], ['max', lib.toCodec(lib.codecs.U32)]])) -export type Level = lib.Enumerate<{ TRACE: [], DEBUG: [], INFO: [], WARN: [], ERROR: [] }> -export const Level = { /** `TRACE` enum variant */ TRACE: lib.variant('TRACE'), /** `DEBUG` enum variant */ DEBUG: lib.variant('DEBUG'), /** `INFO` enum variant */ INFO: lib.variant('INFO'), /** `WARN` enum variant */ WARN: lib.variant('WARN'), /** `ERROR` enum variant */ ERROR: lib.variant('ERROR'), [lib.symbolCodec]: lib.enumCodec([[0, 'TRACE'], [1, 'DEBUG'], [2, 'INFO'], [3, 'WARN'], [4, 'ERROR']]) } -export type Limits = { capacity: lib.codecs.U32; maxEntryLen: lib.codecs.U32; } -export const Limits = lib.wrapCodec(lib.structCodec([['capacity', lib.toCodec(lib.codecs.U32)], ['maxEntryLen', lib.toCodec(lib.codecs.U32)]])) -export type Log = { level: Level; msg: lib.codecs.String; } -export const Log = lib.wrapCodec(lib.structCodec([['level', lib.toCodec(() => Level)], ['msg', lib.toCodec(lib.codecs.String)]])) -export type MathError = lib.Enumerate<{ Overflow: [], NotEnoughQuantity: [], DivideByZero: [], NegativeValue: [], DomainViolation: [], Unknown: [], FixedPointConversion: [lib.codecs.String] }> -export const MathError = { /** `Overflow` enum variant */ Overflow: lib.variant('Overflow'), /** `NotEnoughQuantity` enum variant */ NotEnoughQuantity: lib.variant('NotEnoughQuantity'), /** `DivideByZero` enum variant */ DivideByZero: lib.variant('DivideByZero'), /** `NegativeValue` enum variant */ NegativeValue: lib.variant('NegativeValue'), /** `DomainViolation` enum variant */ DomainViolation: lib.variant('DomainViolation'), /** `Unknown` enum variant */ Unknown: lib.variant('Unknown'), /** Produce `FixedPointConversion` enum variant */ FixedPointConversion: (value: lib.codecs.String): MathError => lib.variant('FixedPointConversion', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Overflow'], [1, 'NotEnoughQuantity'], [2, 'DivideByZero'], [3, 'NegativeValue'], [4, 'DomainViolation'], [5, 'Unknown'], [6, 'FixedPointConversion', lib.toCodec(lib.codecs.String)]]) } -export type Metadata = lib.codecs.Map -export const Metadata = lib.wrapCodec(lib.codecs.Map.with(lib.toCodec(lib.codecs.String), lib.toCodec(() => MetadataValueBox))) -export type MetadataChanged = { target: T0, key: lib.codecs.String, value: MetadataValueBox } -export const MetadataChanged = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['target', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } -export type MetadataError = lib.Enumerate<{ EmptyPath: [], EntryTooBig: [SizeError], MaxCapacity: [SizeError], MissingSegment: [lib.codecs.String], InvalidSegment: [lib.codecs.String] }> -export const MetadataError = { /** `EmptyPath` enum variant */ EmptyPath: lib.variant('EmptyPath'), /** Produce `EntryTooBig` enum variant */ EntryTooBig: (value: SizeError): MetadataError => lib.variant('EntryTooBig', value), /** Produce `MaxCapacity` enum variant */ MaxCapacity: (value: SizeError): MetadataError => lib.variant('MaxCapacity', value), /** Produce `MissingSegment` enum variant */ MissingSegment: (value: lib.codecs.String): MetadataError => lib.variant('MissingSegment', value), /** Produce `InvalidSegment` enum variant */ InvalidSegment: (value: lib.codecs.String): MetadataError => lib.variant('InvalidSegment', value), [lib.symbolCodec]: lib.enumCodec([[0, 'EmptyPath'], [1, 'EntryTooBig', lib.toCodec(() => SizeError)], [2, 'MaxCapacity', lib.toCodec(() => SizeError)], [3, 'MissingSegment', lib.toCodec(lib.codecs.String)], [4, 'InvalidSegment', lib.toCodec(lib.codecs.String)]]) } -export type MetadataValueBox = { enum: lib.Enumerate<{ Bool: [lib.codecs.Bool], String: [lib.codecs.String], Name: [lib.codecs.String], Bytes: [lib.codecs.BytesVec], Numeric: [Numeric], LimitedMetadata: [Metadata], Vec: [lib.codecs.Vec] }> } -export const MetadataValueBox: lib.EnumBoxValue = { /** Produce `Bool` enum variant */ Bool: (value: lib.codecs.Bool): MetadataValueBox => ({ enum: lib.variant('Bool', value) }), /** Produce `String` enum variant */ String: (value: lib.codecs.String): MetadataValueBox => ({ enum: lib.variant('String', value) }), /** Produce `Name` enum variant */ Name: (value: lib.codecs.String): MetadataValueBox => ({ enum: lib.variant('Name', value) }), /** Produce `Bytes` enum variant */ Bytes: (value: lib.codecs.BytesVec): MetadataValueBox => ({ enum: lib.variant('Bytes', value) }), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): MetadataValueBox => ({ enum: lib.variant('Numeric', value) }), /** Produce `LimitedMetadata` enum variant */ LimitedMetadata: (value: Metadata): MetadataValueBox => ({ enum: lib.variant('LimitedMetadata', value) }), /** Produce `Vec` enum variant */ Vec: (value: lib.codecs.Vec): MetadataValueBox => ({ enum: lib.variant('Vec', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Bool', lib.toCodec(lib.codecs.Bool)], [1, 'String', lib.toCodec(lib.codecs.String)], [2, 'Name', lib.toCodec(lib.codecs.String)], [3, 'Bytes', lib.toCodec(lib.codecs.BytesVec)], [4, 'Numeric', lib.toCodec(() => Numeric)], [5, 'LimitedMetadata', lib.toCodec(() => Metadata)], [6, 'Vec', lib.codecs.Vec.with(lib.toCodec(() => MetadataValueBox))]])) } -export type Mint = { object: T0, destination: T1 } -export const Mint = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } -export type MintBox = lib.Enumerate<{ Asset: [Mint], TriggerRepetitions: [Mint] }> -export const MintBox = { /** Produce `Asset` enum variant */ Asset: (value: Mint): MintBox => lib.variant('Asset', value), /** Produce `TriggerRepetitions` enum variant */ TriggerRepetitions: (value: Mint): MintBox => lib.variant('TriggerRepetitions', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Asset', lib.toCodec(() => Mint.with(lib.toCodec(() => Numeric), lib.toCodec(() => AssetId)))], [1, 'TriggerRepetitions', lib.toCodec(() => Mint.with(lib.toCodec(lib.codecs.U32), lib.toCodec(() => TriggerId)))]]) } -export type MintabilityError = lib.Enumerate<{ MintUnmintable: [], ForbidMintOnMintable: [] }> -export const MintabilityError = { /** `MintUnmintable` enum variant */ MintUnmintable: lib.variant('MintUnmintable'), /** `ForbidMintOnMintable` enum variant */ ForbidMintOnMintable: lib.variant('ForbidMintOnMintable'), [lib.symbolCodec]: lib.enumCodec([[0, 'MintUnmintable'], [1, 'ForbidMintOnMintable']]) } -export type Mintable = lib.Enumerate<{ Infinitely: [], Once: [], Not: [] }> -export const Mintable = { /** `Infinitely` enum variant */ Infinitely: lib.variant('Infinitely'), /** `Once` enum variant */ Once: lib.variant('Once'), /** `Not` enum variant */ Not: lib.variant('Not'), [lib.symbolCodec]: lib.enumCodec([[0, 'Infinitely'], [1, 'Once'], [2, 'Not']]) } -export type NewAccount = { id: AccountId; metadata: Metadata; } -export const NewAccount = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AccountId)], ['metadata', lib.toCodec(() => Metadata)]])) -export type NewAssetDefinition = { id: AssetDefinitionId; valueType: AssetValueType; mintable: Mintable; logo: lib.codecs.Option; metadata: Metadata; } -export const NewAssetDefinition = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => AssetDefinitionId)], ['valueType', lib.toCodec(() => AssetValueType)], ['mintable', lib.toCodec(() => Mintable)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)]])) -export type NewDomain = { id: DomainId; logo: lib.codecs.Option; metadata: Metadata; } -export const NewDomain = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => DomainId)], ['logo', lib.codecs.Option.with(lib.toCodec(() => IpfsPath))], ['metadata', lib.toCodec(() => Metadata)]])) -export type NewParameter = { parameter: Parameter; } -export const NewParameter = lib.wrapCodec(lib.structCodec([['parameter', lib.toCodec(() => Parameter)]])) -export type NewRole = { inner: Role; } -export const NewRole = lib.wrapCodec(lib.structCodec([['inner', lib.toCodec(() => Role)]])) -export type NonTrivial = lib.codecs.Vec -export const NonTrivial = lib.wrapCodec(lib.codecs.Vec.with(lib.toCodec(() => PredicateBox))) -export type Numeric = { mantissa: lib.codecs.Compact; scale: lib.codecs.Compact; } -export const Numeric = lib.wrapCodec(lib.structCodec([['mantissa', lib.toCodec(lib.codecs.Compact)], ['scale', lib.toCodec(lib.codecs.Compact)]])) -export type NumericSpec = { scale: lib.codecs.Option; } -export const NumericSpec = lib.wrapCodec(lib.structCodec([['scale', lib.codecs.Option.with(lib.toCodec(lib.codecs.U32))]])) -export type Pagination = { limit: lib.codecs.Option>; start: lib.codecs.Option>; } -export const Pagination = lib.wrapCodec(lib.structCodec([['limit', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))], ['start', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))]])) -export type Parameter = { id: ParameterId; val: ParameterValueBox; } -export const Parameter = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => ParameterId)], ['val', lib.toCodec(() => ParameterValueBox)]])) -export type ParameterId = { name: lib.codecs.String; } -export const ParameterId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) -export type ParameterValueBox = lib.Enumerate<{ TransactionLimits: [TransactionLimits], MetadataLimits: [Limits], LengthLimits: [LengthLimits], Numeric: [Numeric] }> -export const ParameterValueBox = { /** Produce `TransactionLimits` enum variant */ TransactionLimits: (value: TransactionLimits): ParameterValueBox => lib.variant('TransactionLimits', value), /** Produce `MetadataLimits` enum variant */ MetadataLimits: (value: Limits): ParameterValueBox => lib.variant('MetadataLimits', value), /** Produce `LengthLimits` enum variant */ LengthLimits: (value: LengthLimits): ParameterValueBox => lib.variant('LengthLimits', value), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): ParameterValueBox => lib.variant('Numeric', value), [lib.symbolCodec]: lib.enumCodec([[0, 'TransactionLimits', lib.toCodec(() => TransactionLimits)], [1, 'MetadataLimits', lib.toCodec(() => Limits)], [2, 'LengthLimits', lib.toCodec(() => LengthLimits)], [3, 'Numeric', lib.toCodec(() => Numeric)]]) } -export type Peer = { id: PeerId; } -export const Peer = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => PeerId)]])) -export type PeerEvent = lib.Enumerate<{ Added: [PeerId], Removed: [PeerId] }> -export const PeerEvent = { /** Produce `Added` enum variant */ Added: (value: PeerId): PeerEvent => lib.variant('Added', value), /** Produce `Removed` enum variant */ Removed: (value: PeerId): PeerEvent => lib.variant('Removed', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Added', lib.toCodec(() => PeerId)], [1, 'Removed', lib.toCodec(() => PeerId)]]) } -export type PeerEventFilter = { idMatcher: lib.codecs.Option; eventSet: PeerEventSet; } -export const PeerEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => PeerId))], ['eventSet', lib.toCodec(() => PeerEventSet)]])) -export type PeerEventSet = lib.codecs.U32 -export const PeerEventSet = { /** `Added` event bitmask. Use `|` to combine with other {@link PeerEventSet} bitmasks. */ Added: 1, /** `Removed` event bitmask. Use `|` to combine with other {@link PeerEventSet} bitmasks. */ Removed: 2, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type PeerId = { address: SocketAddr; publicKey: PublicKey; } -export const PeerId = lib.wrapCodec(lib.structCodec([['address', lib.toCodec(() => SocketAddr)], ['publicKey', lib.toCodec(() => PublicKey)]])) -export type Permission = { id: PermissionId; payload: lib.codecs.Json; } -export const Permission = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => PermissionId)], ['payload', lib.toCodec(lib.codecs.Json)]])) -export type PermissionId = { name: lib.codecs.String; } -export const PermissionId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) -export type PipelineEventBox = lib.Enumerate<{ Transaction: [TransactionEvent], Block: [BlockEvent] }> -export const PipelineEventBox = { /** Produce `Transaction` enum variant */ Transaction: (value: TransactionEvent): PipelineEventBox => lib.variant('Transaction', value), /** Produce `Block` enum variant */ Block: (value: BlockEvent): PipelineEventBox => lib.variant('Block', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Transaction', lib.toCodec(() => TransactionEvent)], [1, 'Block', lib.toCodec(() => BlockEvent)]]) } -export type PipelineEventFilterBox = lib.Enumerate<{ Transaction: [TransactionEventFilter], Block: [BlockEventFilter] }> -export const PipelineEventFilterBox = { /** Produce `Transaction` enum variant */ Transaction: (value: TransactionEventFilter): PipelineEventFilterBox => lib.variant('Transaction', value), /** Produce `Block` enum variant */ Block: (value: BlockEventFilter): PipelineEventFilterBox => lib.variant('Block', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Transaction', lib.toCodec(() => TransactionEventFilter)], [1, 'Block', lib.toCodec(() => BlockEventFilter)]]) } -export type PredicateBox = { enum: lib.Enumerate<{ And: [NonTrivial], Or: [NonTrivial], Not: [PredicateBox], Raw: [QueryOutputPredicate] }> } -export const PredicateBox: lib.EnumBoxValue = { /** Produce `And` enum variant */ And: (value: NonTrivial): PredicateBox => ({ enum: lib.variant('And', value) }), /** Produce `Or` enum variant */ Or: (value: NonTrivial): PredicateBox => ({ enum: lib.variant('Or', value) }), /** Produce `Not` enum variant */ Not: (value: PredicateBox): PredicateBox => ({ enum: lib.variant('Not', value) }), /** Produce `Raw` enum variant */ Raw: (value: QueryOutputPredicate): PredicateBox => ({ enum: lib.variant('Raw', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'And', lib.toCodec(() => NonTrivial)], [1, 'Or', lib.toCodec(() => NonTrivial)], [2, 'Not', lib.toCodec(() => PredicateBox)], [3, 'Raw', lib.toCodec(() => QueryOutputPredicate)]])) } -export type PublicKey = { algorithm: Algorithm; payload: lib.codecs.BytesVec; } -export const PublicKey = lib.wrapCodec(lib.structCodec([['algorithm', lib.toCodec(() => Algorithm)], ['payload', lib.toCodec(lib.codecs.BytesVec)]])) -export type QueryBox = lib.Enumerate<{ FindAllAccounts: [], FindAccountById: [FindAccountById], FindAccountKeyValueByIdAndKey: [FindAccountKeyValueByIdAndKey], FindAccountsByDomainId: [FindAccountsByDomainId], FindAccountsWithAsset: [FindAccountsWithAsset], FindAllAssets: [], FindAllAssetsDefinitions: [], FindAssetById: [FindAssetById], FindAssetDefinitionById: [FindAssetDefinitionById], FindAssetsByName: [FindAssetsByName], FindAssetsByAccountId: [FindAssetsByAccountId], FindAssetsByAssetDefinitionId: [FindAssetsByAssetDefinitionId], FindAssetsByDomainId: [FindAssetsByDomainId], FindAssetsByDomainIdAndAssetDefinitionId: [FindAssetsByDomainIdAndAssetDefinitionId], FindAssetQuantityById: [FindAssetQuantityById], FindTotalAssetQuantityByAssetDefinitionId: [FindTotalAssetQuantityByAssetDefinitionId], FindAssetKeyValueByIdAndKey: [FindAssetKeyValueByIdAndKey], FindAssetDefinitionKeyValueByIdAndKey: [FindAssetDefinitionKeyValueByIdAndKey], FindAllDomains: [], FindDomainById: [FindDomainById], FindDomainKeyValueByIdAndKey: [FindDomainKeyValueByIdAndKey], FindAllPeers: [], FindAllBlocks: [], FindAllBlockHeaders: [], FindBlockHeaderByHash: [FindBlockHeaderByHash], FindAllTransactions: [], FindTransactionsByAccountId: [FindTransactionsByAccountId], FindTransactionByHash: [FindTransactionByHash], FindPermissionsByAccountId: [FindPermissionsByAccountId], FindExecutorDataModel: [], FindAllActiveTriggerIds: [], FindTriggerById: [FindTriggerById], FindTriggerKeyValueByIdAndKey: [FindTriggerKeyValueByIdAndKey], FindTriggersByAuthorityId: [FindTriggersByAuthorityId], FindTriggersByAuthorityDomainId: [FindTriggersByAuthorityDomainId], FindAllRoles: [], FindAllRoleIds: [], FindRoleByRoleId: [FindRoleByRoleId], FindRolesByAccountId: [FindRolesByAccountId], FindAllParameters: [] }> -export const QueryBox = { /** `FindAllAccounts` enum variant */ FindAllAccounts: lib.variant('FindAllAccounts'), /** Produce `FindAccountById` enum variant */ FindAccountById: (value: FindAccountById): QueryBox => lib.variant('FindAccountById', value), /** Produce `FindAccountKeyValueByIdAndKey` enum variant */ FindAccountKeyValueByIdAndKey: (value: FindAccountKeyValueByIdAndKey): QueryBox => lib.variant('FindAccountKeyValueByIdAndKey', value), /** Produce `FindAccountsByDomainId` enum variant */ FindAccountsByDomainId: (value: FindAccountsByDomainId): QueryBox => lib.variant('FindAccountsByDomainId', value), /** Produce `FindAccountsWithAsset` enum variant */ FindAccountsWithAsset: (value: FindAccountsWithAsset): QueryBox => lib.variant('FindAccountsWithAsset', value), /** `FindAllAssets` enum variant */ FindAllAssets: lib.variant('FindAllAssets'), /** `FindAllAssetsDefinitions` enum variant */ FindAllAssetsDefinitions: lib.variant('FindAllAssetsDefinitions'), /** Produce `FindAssetById` enum variant */ FindAssetById: (value: FindAssetById): QueryBox => lib.variant('FindAssetById', value), /** Produce `FindAssetDefinitionById` enum variant */ FindAssetDefinitionById: (value: FindAssetDefinitionById): QueryBox => lib.variant('FindAssetDefinitionById', value), /** Produce `FindAssetsByName` enum variant */ FindAssetsByName: (value: FindAssetsByName): QueryBox => lib.variant('FindAssetsByName', value), /** Produce `FindAssetsByAccountId` enum variant */ FindAssetsByAccountId: (value: FindAssetsByAccountId): QueryBox => lib.variant('FindAssetsByAccountId', value), /** Produce `FindAssetsByAssetDefinitionId` enum variant */ FindAssetsByAssetDefinitionId: (value: FindAssetsByAssetDefinitionId): QueryBox => lib.variant('FindAssetsByAssetDefinitionId', value), /** Produce `FindAssetsByDomainId` enum variant */ FindAssetsByDomainId: (value: FindAssetsByDomainId): QueryBox => lib.variant('FindAssetsByDomainId', value), /** Produce `FindAssetsByDomainIdAndAssetDefinitionId` enum variant */ FindAssetsByDomainIdAndAssetDefinitionId: (value: FindAssetsByDomainIdAndAssetDefinitionId): QueryBox => lib.variant('FindAssetsByDomainIdAndAssetDefinitionId', value), /** Produce `FindAssetQuantityById` enum variant */ FindAssetQuantityById: (value: FindAssetQuantityById): QueryBox => lib.variant('FindAssetQuantityById', value), /** Produce `FindTotalAssetQuantityByAssetDefinitionId` enum variant */ FindTotalAssetQuantityByAssetDefinitionId: (value: FindTotalAssetQuantityByAssetDefinitionId): QueryBox => lib.variant('FindTotalAssetQuantityByAssetDefinitionId', value), /** Produce `FindAssetKeyValueByIdAndKey` enum variant */ FindAssetKeyValueByIdAndKey: (value: FindAssetKeyValueByIdAndKey): QueryBox => lib.variant('FindAssetKeyValueByIdAndKey', value), /** Produce `FindAssetDefinitionKeyValueByIdAndKey` enum variant */ FindAssetDefinitionKeyValueByIdAndKey: (value: FindAssetDefinitionKeyValueByIdAndKey): QueryBox => lib.variant('FindAssetDefinitionKeyValueByIdAndKey', value), /** `FindAllDomains` enum variant */ FindAllDomains: lib.variant('FindAllDomains'), /** Produce `FindDomainById` enum variant */ FindDomainById: (value: FindDomainById): QueryBox => lib.variant('FindDomainById', value), /** Produce `FindDomainKeyValueByIdAndKey` enum variant */ FindDomainKeyValueByIdAndKey: (value: FindDomainKeyValueByIdAndKey): QueryBox => lib.variant('FindDomainKeyValueByIdAndKey', value), /** `FindAllPeers` enum variant */ FindAllPeers: lib.variant('FindAllPeers'), /** `FindAllBlocks` enum variant */ FindAllBlocks: lib.variant('FindAllBlocks'), /** `FindAllBlockHeaders` enum variant */ FindAllBlockHeaders: lib.variant('FindAllBlockHeaders'), /** Produce `FindBlockHeaderByHash` enum variant */ FindBlockHeaderByHash: (value: FindBlockHeaderByHash): QueryBox => lib.variant('FindBlockHeaderByHash', value), /** `FindAllTransactions` enum variant */ FindAllTransactions: lib.variant('FindAllTransactions'), /** Produce `FindTransactionsByAccountId` enum variant */ FindTransactionsByAccountId: (value: FindTransactionsByAccountId): QueryBox => lib.variant('FindTransactionsByAccountId', value), /** Produce `FindTransactionByHash` enum variant */ FindTransactionByHash: (value: FindTransactionByHash): QueryBox => lib.variant('FindTransactionByHash', value), /** Produce `FindPermissionsByAccountId` enum variant */ FindPermissionsByAccountId: (value: FindPermissionsByAccountId): QueryBox => lib.variant('FindPermissionsByAccountId', value), /** `FindExecutorDataModel` enum variant */ FindExecutorDataModel: lib.variant('FindExecutorDataModel'), /** `FindAllActiveTriggerIds` enum variant */ FindAllActiveTriggerIds: lib.variant('FindAllActiveTriggerIds'), /** Produce `FindTriggerById` enum variant */ FindTriggerById: (value: FindTriggerById): QueryBox => lib.variant('FindTriggerById', value), /** Produce `FindTriggerKeyValueByIdAndKey` enum variant */ FindTriggerKeyValueByIdAndKey: (value: FindTriggerKeyValueByIdAndKey): QueryBox => lib.variant('FindTriggerKeyValueByIdAndKey', value), /** Produce `FindTriggersByAuthorityId` enum variant */ FindTriggersByAuthorityId: (value: FindTriggersByAuthorityId): QueryBox => lib.variant('FindTriggersByAuthorityId', value), /** Produce `FindTriggersByAuthorityDomainId` enum variant */ FindTriggersByAuthorityDomainId: (value: FindTriggersByAuthorityDomainId): QueryBox => lib.variant('FindTriggersByAuthorityDomainId', value), /** `FindAllRoles` enum variant */ FindAllRoles: lib.variant('FindAllRoles'), /** `FindAllRoleIds` enum variant */ FindAllRoleIds: lib.variant('FindAllRoleIds'), /** Produce `FindRoleByRoleId` enum variant */ FindRoleByRoleId: (value: FindRoleByRoleId): QueryBox => lib.variant('FindRoleByRoleId', value), /** Produce `FindRolesByAccountId` enum variant */ FindRolesByAccountId: (value: FindRolesByAccountId): QueryBox => lib.variant('FindRolesByAccountId', value), /** `FindAllParameters` enum variant */ FindAllParameters: lib.variant('FindAllParameters'), [lib.symbolCodec]: lib.enumCodec([[0, 'FindAllAccounts'], [1, 'FindAccountById', lib.toCodec(() => FindAccountById)], [2, 'FindAccountKeyValueByIdAndKey', lib.toCodec(() => FindAccountKeyValueByIdAndKey)], [3, 'FindAccountsByDomainId', lib.toCodec(() => FindAccountsByDomainId)], [4, 'FindAccountsWithAsset', lib.toCodec(() => FindAccountsWithAsset)], [5, 'FindAllAssets'], [6, 'FindAllAssetsDefinitions'], [7, 'FindAssetById', lib.toCodec(() => FindAssetById)], [8, 'FindAssetDefinitionById', lib.toCodec(() => FindAssetDefinitionById)], [9, 'FindAssetsByName', lib.toCodec(() => FindAssetsByName)], [10, 'FindAssetsByAccountId', lib.toCodec(() => FindAssetsByAccountId)], [11, 'FindAssetsByAssetDefinitionId', lib.toCodec(() => FindAssetsByAssetDefinitionId)], [12, 'FindAssetsByDomainId', lib.toCodec(() => FindAssetsByDomainId)], [13, 'FindAssetsByDomainIdAndAssetDefinitionId', lib.toCodec(() => FindAssetsByDomainIdAndAssetDefinitionId)], [14, 'FindAssetQuantityById', lib.toCodec(() => FindAssetQuantityById)], [15, 'FindTotalAssetQuantityByAssetDefinitionId', lib.toCodec(() => FindTotalAssetQuantityByAssetDefinitionId)], [16, 'FindAssetKeyValueByIdAndKey', lib.toCodec(() => FindAssetKeyValueByIdAndKey)], [17, 'FindAssetDefinitionKeyValueByIdAndKey', lib.toCodec(() => FindAssetDefinitionKeyValueByIdAndKey)], [18, 'FindAllDomains'], [19, 'FindDomainById', lib.toCodec(() => FindDomainById)], [20, 'FindDomainKeyValueByIdAndKey', lib.toCodec(() => FindDomainKeyValueByIdAndKey)], [21, 'FindAllPeers'], [22, 'FindAllBlocks'], [23, 'FindAllBlockHeaders'], [24, 'FindBlockHeaderByHash', lib.toCodec(() => FindBlockHeaderByHash)], [25, 'FindAllTransactions'], [26, 'FindTransactionsByAccountId', lib.toCodec(() => FindTransactionsByAccountId)], [27, 'FindTransactionByHash', lib.toCodec(() => FindTransactionByHash)], [28, 'FindPermissionsByAccountId', lib.toCodec(() => FindPermissionsByAccountId)], [29, 'FindExecutorDataModel'], [30, 'FindAllActiveTriggerIds'], [31, 'FindTriggerById', lib.toCodec(() => FindTriggerById)], [32, 'FindTriggerKeyValueByIdAndKey', lib.toCodec(() => FindTriggerKeyValueByIdAndKey)], [33, 'FindTriggersByAuthorityId', lib.toCodec(() => FindTriggersByAuthorityId)], [34, 'FindTriggersByAuthorityDomainId', lib.toCodec(() => FindTriggersByAuthorityDomainId)], [35, 'FindAllRoles'], [36, 'FindAllRoleIds'], [37, 'FindRoleByRoleId', lib.toCodec(() => FindRoleByRoleId)], [38, 'FindRolesByAccountId', lib.toCodec(() => FindRolesByAccountId)], [39, 'FindAllParameters']]) } -export type QueryExecutionFail = lib.Enumerate<{ Find: [FindError], Conversion: [lib.codecs.String], UnknownCursor: [], FetchSizeTooBig: [], InvalidSingularParameters: [] }> -export const QueryExecutionFail = { /** Produce `Find` enum variant */ Find: (value: FindError): QueryExecutionFail => lib.variant('Find', value), /** Produce `Conversion` enum variant */ Conversion: (value: lib.codecs.String): QueryExecutionFail => lib.variant('Conversion', value), /** `UnknownCursor` enum variant */ UnknownCursor: lib.variant('UnknownCursor'), /** `FetchSizeTooBig` enum variant */ FetchSizeTooBig: lib.variant('FetchSizeTooBig'), /** `InvalidSingularParameters` enum variant */ InvalidSingularParameters: lib.variant('InvalidSingularParameters'), [lib.symbolCodec]: lib.enumCodec([[0, 'Find', lib.toCodec(() => FindError)], [1, 'Conversion', lib.toCodec(lib.codecs.String)], [2, 'UnknownCursor'], [3, 'FetchSizeTooBig'], [4, 'InvalidSingularParameters']]) } -export type QueryOutputBox = { enum: lib.Enumerate<{ Id: [IdBox], Identifiable: [IdentifiableBox], Transaction: [TransactionQueryOutput], Permission: [Permission], LimitedMetadata: [MetadataValueBox], Numeric: [Numeric], BlockHeader: [BlockHeader], Block: [SignedBlock], ExecutorDataModel: [ExecutorDataModel], Vec: [lib.codecs.Vec] }> } -export const QueryOutputBox: lib.EnumBoxValue = { /** Produce `Id` enum variant */ Id: (value: IdBox): QueryOutputBox => ({ enum: lib.variant('Id', value) }), /** Produce `Identifiable` enum variant */ Identifiable: (value: IdentifiableBox): QueryOutputBox => ({ enum: lib.variant('Identifiable', value) }), /** Produce `Transaction` enum variant */ Transaction: (value: TransactionQueryOutput): QueryOutputBox => ({ enum: lib.variant('Transaction', value) }), /** Produce `Permission` enum variant */ Permission: (value: Permission): QueryOutputBox => ({ enum: lib.variant('Permission', value) }), /** Produce `LimitedMetadata` enum variant */ LimitedMetadata: (value: MetadataValueBox): QueryOutputBox => ({ enum: lib.variant('LimitedMetadata', value) }), /** Produce `Numeric` enum variant */ Numeric: (value: Numeric): QueryOutputBox => ({ enum: lib.variant('Numeric', value) }), /** Produce `BlockHeader` enum variant */ BlockHeader: (value: BlockHeader): QueryOutputBox => ({ enum: lib.variant('BlockHeader', value) }), /** Produce `Block` enum variant */ Block: (value: SignedBlock): QueryOutputBox => ({ enum: lib.variant('Block', value) }), /** Produce `ExecutorDataModel` enum variant */ ExecutorDataModel: (value: ExecutorDataModel): QueryOutputBox => ({ enum: lib.variant('ExecutorDataModel', value) }), /** Produce `Vec` enum variant */ Vec: (value: lib.codecs.Vec): QueryOutputBox => ({ enum: lib.variant('Vec', value) }), [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Id', lib.toCodec(() => IdBox)], [1, 'Identifiable', lib.toCodec(() => IdentifiableBox)], [2, 'Transaction', lib.toCodec(() => TransactionQueryOutput)], [3, 'Permission', lib.toCodec(() => Permission)], [4, 'LimitedMetadata', lib.toCodec(() => MetadataValueBox)], [5, 'Numeric', lib.toCodec(() => Numeric)], [6, 'BlockHeader', lib.toCodec(() => BlockHeader)], [7, 'Block', lib.toCodec(() => SignedBlock)], [8, 'ExecutorDataModel', lib.toCodec(() => ExecutorDataModel)], [9, 'Vec', lib.codecs.Vec.with(lib.toCodec(() => QueryOutputBox))]])) } -export type QueryOutputPredicate = { enum: lib.Enumerate<{ Identifiable: [StringPredicate], Container: [Container], Display: [StringPredicate], Numerical: [SemiRange], TimeStamp: [SemiInterval], Pass: [] }> } -export const QueryOutputPredicate: lib.EnumBoxValue = { /** Produce `Identifiable` enum variant */ Identifiable: (value: StringPredicate): QueryOutputPredicate => ({ enum: lib.variant('Identifiable', value) }), /** Produce `Container` enum variant */ Container: (value: Container): QueryOutputPredicate => ({ enum: lib.variant('Container', value) }), /** Produce `Display` enum variant */ Display: (value: StringPredicate): QueryOutputPredicate => ({ enum: lib.variant('Display', value) }), /** Produce `Numerical` enum variant */ Numerical: (value: SemiRange): QueryOutputPredicate => ({ enum: lib.variant('Numerical', value) }), /** Produce `TimeStamp` enum variant */ TimeStamp: (value: SemiInterval): QueryOutputPredicate => ({ enum: lib.variant('TimeStamp', value) }), /** `Pass` enum variant */ Pass: { enum: lib.variant('Pass') }, [lib.symbolCodec]: lib.boxEnumCodec(lib.enumCodec([[0, 'Identifiable', lib.toCodec(() => StringPredicate)], [1, 'Container', lib.toCodec(() => Container)], [2, 'Display', lib.toCodec(() => StringPredicate)], [3, 'Numerical', lib.toCodec(() => SemiRange)], [4, 'TimeStamp', lib.toCodec(() => SemiInterval.with(lib.toCodec(lib.codecs.U128)))], [5, 'Pass']])) } -export type Register = { object: T0 } -export const Register = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0]]) } } -export type RegisterBox = lib.Enumerate<{ Peer: [Register], Domain: [Register], Account: [Register], AssetDefinition: [Register], Asset: [Register], Role: [Register], Trigger: [Register] }> -export const RegisterBox = { /** Produce `Peer` enum variant */ Peer: (value: Register): RegisterBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Register): RegisterBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Register): RegisterBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Register): RegisterBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Register): RegisterBox => lib.variant('Asset', value), /** Produce `Role` enum variant */ Role: (value: Register): RegisterBox => lib.variant('Role', value), /** Produce `Trigger` enum variant */ Trigger: (value: Register): RegisterBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => Register.with(lib.toCodec(() => Peer)))], [1, 'Domain', lib.toCodec(() => Register.with(lib.toCodec(() => NewDomain)))], [2, 'Account', lib.toCodec(() => Register.with(lib.toCodec(() => NewAccount)))], [3, 'AssetDefinition', lib.toCodec(() => Register.with(lib.toCodec(() => NewAssetDefinition)))], [4, 'Asset', lib.toCodec(() => Register.with(lib.toCodec(() => Asset)))], [5, 'Role', lib.toCodec(() => Register.with(lib.toCodec(() => NewRole)))], [6, 'Trigger', lib.toCodec(() => Register.with(lib.toCodec(() => Trigger)))]]) } -export type RemoveKeyValue = { object: T0, key: lib.codecs.String, value: MetadataValueBox } -export const RemoveKeyValue = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } -export type RemoveKeyValueBox = lib.Enumerate<{ Domain: [RemoveKeyValue], Account: [RemoveKeyValue], AssetDefinition: [RemoveKeyValue], Asset: [RemoveKeyValue], Trigger: [RemoveKeyValue] }> -export const RemoveKeyValueBox = { /** Produce `Domain` enum variant */ Domain: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: RemoveKeyValue): RemoveKeyValueBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Domain)))], [1, 'Account', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Account)))], [2, 'AssetDefinition', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => AssetDefinition)))], [3, 'Asset', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Asset)))], [4, 'Trigger', lib.toCodec(() => RemoveKeyValue.with(lib.toCodec(() => Trigger)))]]) } -export type Repeats = lib.Enumerate<{ Indefinitely: [], Exactly: [lib.codecs.U32] }> -export const Repeats = { /** `Indefinitely` enum variant */ Indefinitely: lib.variant('Indefinitely'), /** Produce `Exactly` enum variant */ Exactly: (value: lib.codecs.U32): Repeats => lib.variant('Exactly', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Indefinitely'], [1, 'Exactly', lib.toCodec(lib.codecs.U32)]]) } -export type RepetitionError = { instructionType: InstructionType; id: IdBox; } -export const RepetitionError = lib.wrapCodec(lib.structCodec([['instructionType', lib.toCodec(() => InstructionType)], ['id', lib.toCodec(() => IdBox)]])) -export type Revoke = { object: T0, destination: T1 } -export const Revoke = { with: (codec0: lib.Codec,codec1: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['destination', codec1]]) } } -export type RevokeBox = lib.Enumerate<{ Permission: [Revoke], Role: [Revoke], RolePermission: [Revoke] }> -export const RevokeBox = { /** Produce `Permission` enum variant */ Permission: (value: Revoke): RevokeBox => lib.variant('Permission', value), /** Produce `Role` enum variant */ Role: (value: Revoke): RevokeBox => lib.variant('Role', value), /** Produce `RolePermission` enum variant */ RolePermission: (value: Revoke): RevokeBox => lib.variant('RolePermission', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Permission', lib.toCodec(() => Revoke.with(lib.toCodec(() => Permission), lib.toCodec(() => AccountId)))], [1, 'Role', lib.toCodec(() => Revoke.with(lib.toCodec(() => RoleId), lib.toCodec(() => AccountId)))], [2, 'RolePermission', lib.toCodec(() => Revoke.with(lib.toCodec(() => Permission), lib.toCodec(() => RoleId)))]]) } -export type Role = { id: RoleId; permissions: lib.codecs.Vec; } -export const Role = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => RoleId)], ['permissions', lib.codecs.Vec.with(lib.toCodec(() => Permission))]])) -export type RoleEvent = lib.Enumerate<{ Created: [Role], Deleted: [RoleId], PermissionRemoved: [RolePermissionChanged], PermissionAdded: [RolePermissionChanged] }> -export const RoleEvent = { /** Produce `Created` enum variant */ Created: (value: Role): RoleEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: RoleId): RoleEvent => lib.variant('Deleted', value), /** Produce `PermissionRemoved` enum variant */ PermissionRemoved: (value: RolePermissionChanged): RoleEvent => lib.variant('PermissionRemoved', value), /** Produce `PermissionAdded` enum variant */ PermissionAdded: (value: RolePermissionChanged): RoleEvent => lib.variant('PermissionAdded', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => Role)], [1, 'Deleted', lib.toCodec(() => RoleId)], [2, 'PermissionRemoved', lib.toCodec(() => RolePermissionChanged)], [3, 'PermissionAdded', lib.toCodec(() => RolePermissionChanged)]]) } -export type RoleEventFilter = { idMatcher: lib.codecs.Option; eventSet: RoleEventSet; } -export const RoleEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => RoleId))], ['eventSet', lib.toCodec(() => RoleEventSet)]])) -export type RoleEventSet = lib.codecs.U32 -export const RoleEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ Deleted: 2, /** `PermissionRemoved` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ PermissionRemoved: 4, /** `PermissionAdded` event bitmask. Use `|` to combine with other {@link RoleEventSet} bitmasks. */ PermissionAdded: 8, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type RoleId = { name: lib.codecs.String; } -export const RoleId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) -export type RolePermissionChanged = { role: RoleId; permission: PermissionId; } -export const RolePermissionChanged = lib.wrapCodec(lib.structCodec([['role', lib.toCodec(() => RoleId)], ['permission', lib.toCodec(() => PermissionId)]])) -export type Schedule = { start: Duration; period: lib.codecs.Option; } -export const Schedule = lib.wrapCodec(lib.structCodec([['start', lib.toCodec(() => Duration)], ['period', lib.codecs.Option.with(lib.toCodec(() => Duration))]])) -export type SemiInterval = { start: T0, limit: T0 } -export const SemiInterval = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['start', codec0], ['limit', codec0]]) } } -export type SemiRange = lib.Enumerate<{ Numeric: [SemiInterval] }> -export const SemiRange = { /** Produce `Numeric` enum variant */ Numeric: (value: SemiInterval): SemiRange => lib.variant('Numeric', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Numeric', lib.toCodec(() => SemiInterval.with(lib.toCodec(() => Numeric)))]]) } -export type SetKeyValue = { object: T0, key: lib.codecs.String, value: MetadataValueBox } -export const SetKeyValue = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0], ['key', lib.toCodec(lib.codecs.String)], ['value', lib.toCodec(() => MetadataValueBox)]]) } } -export type SetKeyValueBox = lib.Enumerate<{ Domain: [SetKeyValue], Account: [SetKeyValue], AssetDefinition: [SetKeyValue], Asset: [SetKeyValue], Trigger: [SetKeyValue] }> -export const SetKeyValueBox = { /** Produce `Domain` enum variant */ Domain: (value: SetKeyValue): SetKeyValueBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: SetKeyValue): SetKeyValueBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: SetKeyValue): SetKeyValueBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: SetKeyValue): SetKeyValueBox => lib.variant('Asset', value), /** Produce `Trigger` enum variant */ Trigger: (value: SetKeyValue): SetKeyValueBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Domain)))], [1, 'Account', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Account)))], [2, 'AssetDefinition', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => AssetDefinition)))], [3, 'Asset', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Asset)))], [4, 'Trigger', lib.toCodec(() => SetKeyValue.with(lib.toCodec(() => Trigger)))]]) } -export type SetParameter = { parameter: Parameter; } -export const SetParameter = lib.wrapCodec(lib.structCodec([['parameter', lib.toCodec(() => Parameter)]])) -export type Signature = { payload: lib.codecs.BytesVec; } -export const Signature = lib.wrapCodec(lib.structCodec([['payload', lib.toCodec(lib.codecs.BytesVec)]])) -export type SignedBlock = lib.Enumerate<{ V1: [SignedBlockV1] }> -export const SignedBlock = { /** Produce `V1` enum variant */ V1: (value: SignedBlockV1): SignedBlock => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedBlockV1)]]) } -export type SignedBlockV1 = { signatures: lib.codecs.Vec; payload: BlockPayload; } -export const SignedBlockV1 = lib.wrapCodec(lib.structCodec([['signatures', lib.codecs.Vec.with(lib.toCodec(() => BlockSignature))], ['payload', lib.toCodec(() => BlockPayload)]])) -export type SignedQuery = lib.Enumerate<{ V1: [SignedQueryV1] }> -export const SignedQuery = { /** Produce `V1` enum variant */ V1: (value: SignedQueryV1): SignedQuery => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedQueryV1)]]) } -export type SignedQueryV1 = { signature: Signature; payload: ClientQueryPayload; } -export const SignedQueryV1 = lib.wrapCodec(lib.structCodec([['signature', lib.toCodec(() => Signature)], ['payload', lib.toCodec(() => ClientQueryPayload)]])) -export type SignedTransaction = lib.Enumerate<{ V1: [SignedTransactionV1] }> -export const SignedTransaction = { /** Produce `V1` enum variant */ V1: (value: SignedTransactionV1): SignedTransaction => lib.variant('V1', value), [lib.symbolCodec]: lib.enumCodec([[1, 'V1', lib.toCodec(() => SignedTransactionV1)]]) } -export type SignedTransactionV1 = { signature: Signature; payload: TransactionPayload; } -export const SignedTransactionV1 = lib.wrapCodec(lib.structCodec([['signature', lib.toCodec(() => Signature)], ['payload', lib.toCodec(() => TransactionPayload)]])) -export type SizeError = { limits: Limits; actual: lib.codecs.U64; } -export const SizeError = lib.wrapCodec(lib.structCodec([['limits', lib.toCodec(() => Limits)], ['actual', lib.toCodec(lib.codecs.U64)]])) -export type SocketAddr = lib.Enumerate<{ Ipv4: [SocketAddrV4], Ipv6: [SocketAddrV6], Host: [SocketAddrHost] }> -export const SocketAddr = { /** Produce `Ipv4` enum variant */ Ipv4: (value: SocketAddrV4): SocketAddr => lib.variant('Ipv4', value), /** Produce `Ipv6` enum variant */ Ipv6: (value: SocketAddrV6): SocketAddr => lib.variant('Ipv6', value), /** Produce `Host` enum variant */ Host: (value: SocketAddrHost): SocketAddr => lib.variant('Host', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Ipv4', lib.toCodec(() => SocketAddrV4)], [1, 'Ipv6', lib.toCodec(() => SocketAddrV6)], [2, 'Host', lib.toCodec(() => SocketAddrHost)]]) } -export type SocketAddrHost = { host: lib.codecs.String; port: lib.codecs.U16; } -export const SocketAddrHost = lib.wrapCodec(lib.structCodec([['host', lib.toCodec(lib.codecs.String)], ['port', lib.toCodec(lib.codecs.U16)]])) -export type SocketAddrV4 = { ip: Ipv4Addr; port: lib.codecs.U16; } -export const SocketAddrV4 = lib.wrapCodec(lib.structCodec([['ip', lib.toCodec(() => Ipv4Addr)], ['port', lib.toCodec(lib.codecs.U16)]])) -export type SocketAddrV6 = { ip: Ipv6Addr; port: lib.codecs.U16; } -export const SocketAddrV6 = lib.wrapCodec(lib.structCodec([['ip', lib.toCodec(() => Ipv6Addr)], ['port', lib.toCodec(lib.codecs.U16)]])) -export type Sorting = { sortByMetadataKey: lib.codecs.Option; } -export const Sorting = lib.wrapCodec(lib.structCodec([['sortByMetadataKey', lib.codecs.Option.with(lib.toCodec(lib.codecs.String))]])) -export type StringPredicate = lib.Enumerate<{ Contains: [lib.codecs.String], StartsWith: [lib.codecs.String], EndsWith: [lib.codecs.String], Is: [lib.codecs.String] }> -export const StringPredicate = { /** Produce `Contains` enum variant */ Contains: (value: lib.codecs.String): StringPredicate => lib.variant('Contains', value), /** Produce `StartsWith` enum variant */ StartsWith: (value: lib.codecs.String): StringPredicate => lib.variant('StartsWith', value), /** Produce `EndsWith` enum variant */ EndsWith: (value: lib.codecs.String): StringPredicate => lib.variant('EndsWith', value), /** Produce `Is` enum variant */ Is: (value: lib.codecs.String): StringPredicate => lib.variant('Is', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Contains', lib.toCodec(lib.codecs.String)], [1, 'StartsWith', lib.toCodec(lib.codecs.String)], [2, 'EndsWith', lib.toCodec(lib.codecs.String)], [3, 'Is', lib.toCodec(lib.codecs.String)]]) } -export type TimeEvent = { prevInterval: lib.codecs.Option; interval: TimeInterval; } -export const TimeEvent = lib.wrapCodec(lib.structCodec([['prevInterval', lib.codecs.Option.with(lib.toCodec(() => TimeInterval))], ['interval', lib.toCodec(() => TimeInterval)]])) -export type TimeInterval = { since: Duration; length: Duration; } -export const TimeInterval = lib.wrapCodec(lib.structCodec([['since', lib.toCodec(() => Duration)], ['length', lib.toCodec(() => Duration)]])) -export type TransactionEvent = { hash: Hash; blockHeight: lib.codecs.Option; status: TransactionStatus; } -export const TransactionEvent = lib.wrapCodec(lib.structCodec([['hash', lib.toCodec(() => Hash)], ['blockHeight', lib.codecs.Option.with(lib.toCodec(lib.codecs.U64))], ['status', lib.toCodec(() => TransactionStatus)]])) -export type TransactionEventFilter = { hash: lib.codecs.Option; blockHeight: lib.codecs.Option>; status: lib.codecs.Option; } -export const TransactionEventFilter = lib.wrapCodec(lib.structCodec([['hash', lib.codecs.Option.with(lib.toCodec(() => Hash))], ['blockHeight', lib.codecs.Option.with(lib.codecs.Option.with(lib.toCodec(lib.codecs.U64)))], ['status', lib.codecs.Option.with(lib.toCodec(() => TransactionStatus))]])) -export type TransactionLimitError = { reason: lib.codecs.String; } -export const TransactionLimitError = lib.wrapCodec(lib.structCodec([['reason', lib.toCodec(lib.codecs.String)]])) -export type TransactionLimits = { maxInstructionNumber: lib.codecs.U64; maxWasmSizeBytes: lib.codecs.U64; } -export const TransactionLimits = lib.wrapCodec(lib.structCodec([['maxInstructionNumber', lib.toCodec(lib.codecs.U64)], ['maxWasmSizeBytes', lib.toCodec(lib.codecs.U64)]])) -export type TransactionPayload = { chain: lib.codecs.String; authority: AccountId; creationTimeMs: lib.codecs.U64; instructions: Executable; timeToLiveMs: lib.codecs.Option>; nonce: lib.codecs.Option>; metadata: lib.codecs.Map; } -export const TransactionPayload = lib.wrapCodec(lib.structCodec([['chain', lib.toCodec(lib.codecs.String)], ['authority', lib.toCodec(() => AccountId)], ['creationTimeMs', lib.toCodec(lib.codecs.U64)], ['instructions', lib.toCodec(() => Executable)], ['timeToLiveMs', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U64)))], ['nonce', lib.codecs.Option.with(lib.codecs.NonZero.with(lib.toCodec(lib.codecs.U32)))], ['metadata', lib.codecs.Map.with(lib.toCodec(lib.codecs.String), lib.toCodec(() => MetadataValueBox))]])) -export type TransactionQueryOutput = { blockHash: Hash; transaction: CommittedTransaction; } -export const TransactionQueryOutput = lib.wrapCodec(lib.structCodec([['blockHash', lib.toCodec(() => Hash)], ['transaction', lib.toCodec(() => CommittedTransaction)]])) -export type TransactionRejectionReason = lib.Enumerate<{ AccountDoesNotExist: [FindError], LimitCheck: [TransactionLimitError], Validation: [ValidationFail], InstructionExecution: [InstructionExecutionFail], WasmExecution: [WasmExecutionFail] }> -export const TransactionRejectionReason = { /** Produce `AccountDoesNotExist` enum variant */ AccountDoesNotExist: (value: FindError): TransactionRejectionReason => lib.variant('AccountDoesNotExist', value), /** Produce `LimitCheck` enum variant */ LimitCheck: (value: TransactionLimitError): TransactionRejectionReason => lib.variant('LimitCheck', value), /** Produce `Validation` enum variant */ Validation: (value: ValidationFail): TransactionRejectionReason => lib.variant('Validation', value), /** Produce `InstructionExecution` enum variant */ InstructionExecution: (value: InstructionExecutionFail): TransactionRejectionReason => lib.variant('InstructionExecution', value), /** Produce `WasmExecution` enum variant */ WasmExecution: (value: WasmExecutionFail): TransactionRejectionReason => lib.variant('WasmExecution', value), [lib.symbolCodec]: lib.enumCodec([[0, 'AccountDoesNotExist', lib.toCodec(() => FindError)], [1, 'LimitCheck', lib.toCodec(() => TransactionLimitError)], [2, 'Validation', lib.toCodec(() => ValidationFail)], [3, 'InstructionExecution', lib.toCodec(() => InstructionExecutionFail)], [4, 'WasmExecution', lib.toCodec(() => WasmExecutionFail)]]) } -export type TransactionStatus = lib.Enumerate<{ Queued: [], Expired: [], Approved: [], Rejected: [TransactionRejectionReason] }> -export const TransactionStatus = { /** `Queued` enum variant */ Queued: lib.variant('Queued'), /** `Expired` enum variant */ Expired: lib.variant('Expired'), /** `Approved` enum variant */ Approved: lib.variant('Approved'), /** Produce `Rejected` enum variant */ Rejected: (value: TransactionRejectionReason): TransactionStatus => lib.variant('Rejected', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Queued'], [1, 'Expired'], [2, 'Approved'], [3, 'Rejected', lib.toCodec(() => TransactionRejectionReason)]]) } -export type Transfer = { source: T0, object: T1, destination: T2 } -export const Transfer = { with: (codec0: lib.Codec,codec1: lib.Codec,codec2: lib.Codec): lib.Codec> => { return lib.structCodec([['source', codec0], ['object', codec1], ['destination', codec2]]) } } -export type TransferBox = lib.Enumerate<{ Domain: [Transfer], AssetDefinition: [Transfer], Asset: [AssetTransferBox] }> -export const TransferBox = { /** Produce `Domain` enum variant */ Domain: (value: Transfer): TransferBox => lib.variant('Domain', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Transfer): TransferBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: AssetTransferBox): TransferBox => lib.variant('Asset', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Domain', lib.toCodec(() => Transfer.with(lib.toCodec(() => AccountId), lib.toCodec(() => DomainId), lib.toCodec(() => AccountId)))], [1, 'AssetDefinition', lib.toCodec(() => Transfer.with(lib.toCodec(() => AccountId), lib.toCodec(() => AssetDefinitionId), lib.toCodec(() => AccountId)))], [2, 'Asset', lib.toCodec(() => AssetTransferBox)]]) } -export type Trigger = { id: TriggerId; action: Action; } -export const Trigger = lib.wrapCodec(lib.structCodec([['id', lib.toCodec(() => TriggerId)], ['action', lib.toCodec(() => Action)]])) -export type TriggerCompletedEvent = { triggerId: TriggerId; outcome: TriggerCompletedOutcome; } -export const TriggerCompletedEvent = lib.wrapCodec(lib.structCodec([['triggerId', lib.toCodec(() => TriggerId)], ['outcome', lib.toCodec(() => TriggerCompletedOutcome)]])) -export type TriggerCompletedEventFilter = { triggerId: lib.codecs.Option; outcomeType: lib.codecs.Option; } -export const TriggerCompletedEventFilter = lib.wrapCodec(lib.structCodec([['triggerId', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['outcomeType', lib.codecs.Option.with(lib.toCodec(() => TriggerCompletedOutcomeType))]])) -export type TriggerCompletedOutcome = lib.Enumerate<{ Success: [], Failure: [lib.codecs.String] }> -export const TriggerCompletedOutcome = { /** `Success` enum variant */ Success: lib.variant('Success'), /** Produce `Failure` enum variant */ Failure: (value: lib.codecs.String): TriggerCompletedOutcome => lib.variant('Failure', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Success'], [1, 'Failure', lib.toCodec(lib.codecs.String)]]) } -export type TriggerCompletedOutcomeType = lib.Enumerate<{ Success: [], Failure: [] }> -export const TriggerCompletedOutcomeType = { /** `Success` enum variant */ Success: lib.variant('Success'), /** `Failure` enum variant */ Failure: lib.variant('Failure'), [lib.symbolCodec]: lib.enumCodec([[0, 'Success'], [1, 'Failure']]) } -export type TriggerEvent = lib.Enumerate<{ Created: [TriggerId], Deleted: [TriggerId], Extended: [TriggerNumberOfExecutionsChanged], Shortened: [TriggerNumberOfExecutionsChanged], MetadataInserted: [MetadataChanged], MetadataRemoved: [MetadataChanged] }> -export const TriggerEvent = { /** Produce `Created` enum variant */ Created: (value: TriggerId): TriggerEvent => lib.variant('Created', value), /** Produce `Deleted` enum variant */ Deleted: (value: TriggerId): TriggerEvent => lib.variant('Deleted', value), /** Produce `Extended` enum variant */ Extended: (value: TriggerNumberOfExecutionsChanged): TriggerEvent => lib.variant('Extended', value), /** Produce `Shortened` enum variant */ Shortened: (value: TriggerNumberOfExecutionsChanged): TriggerEvent => lib.variant('Shortened', value), /** Produce `MetadataInserted` enum variant */ MetadataInserted: (value: MetadataChanged): TriggerEvent => lib.variant('MetadataInserted', value), /** Produce `MetadataRemoved` enum variant */ MetadataRemoved: (value: MetadataChanged): TriggerEvent => lib.variant('MetadataRemoved', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Created', lib.toCodec(() => TriggerId)], [1, 'Deleted', lib.toCodec(() => TriggerId)], [2, 'Extended', lib.toCodec(() => TriggerNumberOfExecutionsChanged)], [3, 'Shortened', lib.toCodec(() => TriggerNumberOfExecutionsChanged)], [4, 'MetadataInserted', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => TriggerId)))], [5, 'MetadataRemoved', lib.toCodec(() => MetadataChanged.with(lib.toCodec(() => TriggerId)))]]) } -export type TriggerEventFilter = { idMatcher: lib.codecs.Option; eventSet: TriggerEventSet; } -export const TriggerEventFilter = lib.wrapCodec(lib.structCodec([['idMatcher', lib.codecs.Option.with(lib.toCodec(() => TriggerId))], ['eventSet', lib.toCodec(() => TriggerEventSet)]])) -export type TriggerEventSet = lib.codecs.U32 -export const TriggerEventSet = { /** `Created` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Created: 1, /** `Deleted` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Deleted: 2, /** `Extended` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Extended: 4, /** `Shortened` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ Shortened: 8, /** `MetadataInserted` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ MetadataInserted: 16, /** `MetadataRemoved` event bitmask. Use `|` to combine with other {@link TriggerEventSet} bitmasks. */ MetadataRemoved: 32, [lib.symbolCodec]: lib.toCodec(lib.codecs.U32) } -export type TriggerId = { name: lib.codecs.String; } -export const TriggerId = lib.wrapCodec(lib.structCodec([['name', lib.toCodec(lib.codecs.String)]])) -export type TriggerNumberOfExecutionsChanged = { trigger: TriggerId; by: lib.codecs.U32; } -export const TriggerNumberOfExecutionsChanged = lib.wrapCodec(lib.structCodec([['trigger', lib.toCodec(() => TriggerId)], ['by', lib.toCodec(lib.codecs.U32)]])) -export type TriggeringEventFilterBox = lib.Enumerate<{ Pipeline: [PipelineEventFilterBox], Data: [DataEventFilter], Time: [ExecutionTime], ExecuteTrigger: [ExecuteTriggerEventFilter] }> -export const TriggeringEventFilterBox = { /** Produce `Pipeline` enum variant */ Pipeline: (value: PipelineEventFilterBox): TriggeringEventFilterBox => lib.variant('Pipeline', value), /** Produce `Data` enum variant */ Data: (value: DataEventFilter): TriggeringEventFilterBox => lib.variant('Data', value), /** Produce `Time` enum variant */ Time: (value: ExecutionTime): TriggeringEventFilterBox => lib.variant('Time', value), /** Produce `ExecuteTrigger` enum variant */ ExecuteTrigger: (value: ExecuteTriggerEventFilter): TriggeringEventFilterBox => lib.variant('ExecuteTrigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Pipeline', lib.toCodec(() => PipelineEventFilterBox)], [1, 'Data', lib.toCodec(() => DataEventFilter)], [2, 'Time', lib.toCodec(() => ExecutionTime)], [3, 'ExecuteTrigger', lib.toCodec(() => ExecuteTriggerEventFilter)]]) } -export type TypeError = lib.Enumerate<{ AssetValueType: [AssetValueTypeMismatch], NumericAssetValueTypeExpected: [AssetValueType], StoreAssetValueTypeExpected: [AssetValueType] }> -export const TypeError = { /** Produce `AssetValueType` enum variant */ AssetValueType: (value: AssetValueTypeMismatch): TypeError => lib.variant('AssetValueType', value), /** Produce `NumericAssetValueTypeExpected` enum variant */ NumericAssetValueTypeExpected: (value: AssetValueType): TypeError => lib.variant('NumericAssetValueTypeExpected', value), /** Produce `StoreAssetValueTypeExpected` enum variant */ StoreAssetValueTypeExpected: (value: AssetValueType): TypeError => lib.variant('StoreAssetValueTypeExpected', value), [lib.symbolCodec]: lib.enumCodec([[0, 'AssetValueType', lib.toCodec(() => AssetValueTypeMismatch)], [1, 'NumericAssetValueTypeExpected', lib.toCodec(() => AssetValueType)], [2, 'StoreAssetValueTypeExpected', lib.toCodec(() => AssetValueType)]]) } -export type Unregister = { object: T0 } -export const Unregister = { with: (codec0: lib.Codec): lib.Codec> => { return lib.structCodec([['object', codec0]]) } } -export type UnregisterBox = lib.Enumerate<{ Peer: [Unregister], Domain: [Unregister], Account: [Unregister], AssetDefinition: [Unregister], Asset: [Unregister], Role: [Unregister], Trigger: [Unregister] }> -export const UnregisterBox = { /** Produce `Peer` enum variant */ Peer: (value: Unregister): UnregisterBox => lib.variant('Peer', value), /** Produce `Domain` enum variant */ Domain: (value: Unregister): UnregisterBox => lib.variant('Domain', value), /** Produce `Account` enum variant */ Account: (value: Unregister): UnregisterBox => lib.variant('Account', value), /** Produce `AssetDefinition` enum variant */ AssetDefinition: (value: Unregister): UnregisterBox => lib.variant('AssetDefinition', value), /** Produce `Asset` enum variant */ Asset: (value: Unregister): UnregisterBox => lib.variant('Asset', value), /** Produce `Role` enum variant */ Role: (value: Unregister): UnregisterBox => lib.variant('Role', value), /** Produce `Trigger` enum variant */ Trigger: (value: Unregister): UnregisterBox => lib.variant('Trigger', value), [lib.symbolCodec]: lib.enumCodec([[0, 'Peer', lib.toCodec(() => Unregister.with(lib.toCodec(() => PeerId)))], [1, 'Domain', lib.toCodec(() => Unregister.with(lib.toCodec(() => DomainId)))], [2, 'Account', lib.toCodec(() => Unregister.with(lib.toCodec(() => AccountId)))], [3, 'AssetDefinition', lib.toCodec(() => Unregister.with(lib.toCodec(() => AssetDefinitionId)))], [4, 'Asset', lib.toCodec(() => Unregister.with(lib.toCodec(() => AssetId)))], [5, 'Role', lib.toCodec(() => Unregister.with(lib.toCodec(() => RoleId)))], [6, 'Trigger', lib.toCodec(() => Unregister.with(lib.toCodec(() => TriggerId)))]]) } -export type Upgrade = { executor: Executor; } -export const Upgrade = lib.wrapCodec(lib.structCodec([['executor', lib.toCodec(() => Executor)]])) -export type ValidationFail = lib.Enumerate<{ NotPermitted: [lib.codecs.String], InstructionFailed: [InstructionExecutionError], QueryFailed: [QueryExecutionFail], TooComplex: [], InternalError: [] }> -export const ValidationFail = { /** Produce `NotPermitted` enum variant */ NotPermitted: (value: lib.codecs.String): ValidationFail => lib.variant('NotPermitted', value), /** Produce `InstructionFailed` enum variant */ InstructionFailed: (value: InstructionExecutionError): ValidationFail => lib.variant('InstructionFailed', value), /** Produce `QueryFailed` enum variant */ QueryFailed: (value: QueryExecutionFail): ValidationFail => lib.variant('QueryFailed', value), /** `TooComplex` enum variant */ TooComplex: lib.variant('TooComplex'), /** `InternalError` enum variant */ InternalError: lib.variant('InternalError'), [lib.symbolCodec]: lib.enumCodec([[0, 'NotPermitted', lib.toCodec(lib.codecs.String)], [1, 'InstructionFailed', lib.toCodec(() => InstructionExecutionError)], [2, 'QueryFailed', lib.toCodec(() => QueryExecutionFail)], [3, 'TooComplex'], [4, 'InternalError']]) } -export type WasmExecutionFail = { reason: lib.codecs.String; } -export const WasmExecutionFail = lib.wrapCodec(lib.structCodec([['reason', lib.toCodec(lib.codecs.String)]])) -export type WasmSmartContract = { blob: lib.codecs.BytesVec; } -export const WasmSmartContract = lib.wrapCodec(lib.structCodec([['blob', lib.toCodec(lib.codecs.BytesVec)]])) \ No newline at end of file From f507e3ec7a5a67a76e4005d35b4c811649510e4b Mon Sep 17 00:00:00 2001 From: quacumque <43530070+0x009922@users.noreply.github.com> Date: Thu, 20 Jun 2024 13:40:27 +0900 Subject: [PATCH 005/124] fix!: update crypto Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> --- packages/crypto/crypto-rs/Cargo.lock | 316 +++++++++--------- packages/crypto/crypto-rs/Cargo.toml | 6 +- packages/crypto/crypto-rs/rust-toolchain.toml | 2 +- packages/crypto/crypto-rs/src/lib.rs | 19 +- .../wasm-pkg-bundler/iroha_crypto.d.ts | 16 +- .../wasm-pkg-bundler/iroha_crypto_bg.js | 248 +++++++------- .../wasm-pkg-bundler/iroha_crypto_bg.wasm | Bin 698419 -> 659220 bytes .../iroha_crypto_bg.wasm.d.ts | 5 +- .../wasm-pkg-nodejs/iroha_crypto.d.ts | 16 +- .../crypto-rs/wasm-pkg-nodejs/iroha_crypto.js | 248 +++++++------- .../wasm-pkg-nodejs/iroha_crypto_bg.wasm | Bin 698675 -> 659480 bytes .../wasm-pkg-nodejs/iroha_crypto_bg.wasm.d.ts | 5 +- .../crypto-rs/wasm-pkg-web/iroha_crypto.d.ts | 21 +- .../crypto-rs/wasm-pkg-web/iroha_crypto.js | 235 ++++++------- .../wasm-pkg-web/iroha_crypto_bg.wasm | Bin 697331 -> 658115 bytes .../wasm-pkg-web/iroha_crypto_bg.wasm.d.ts | 5 +- .../crypto/packages/interface-wrap/src/lib.ts | 26 +- 17 files changed, 566 insertions(+), 602 deletions(-) diff --git a/packages/crypto/crypto-rs/Cargo.lock b/packages/crypto/crypto-rs/Cargo.lock index 1d1d364b..b6715fab 100644 --- a/packages/crypto/crypto-rs/Cargo.lock +++ b/packages/crypto/crypto-rs/Cargo.lock @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.9" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d713b3834d76b85304d4d525563c1276e2e30dc97cc67bfb4585a4a29fc2c89f" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if 1.0.0", "once_cell", @@ -167,9 +167,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "base16ct" @@ -179,9 +179,9 @@ checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base64" -version = "0.21.7" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" @@ -209,9 +209,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.2" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3b1be7772ee4501dba05acbe66bb1e8760f6a6c474a36035631638e4415f130" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byte-slice-cast" @@ -257,9 +257,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "num-traits", "serde", @@ -331,16 +331,15 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if 1.0.0", "cpufeatures", "curve25519-dalek-derive", "digest", "fiat-crypto", - "platforms", "rustc_version", "subtle", "zeroize", @@ -354,14 +353,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "darling" -version = "0.20.6" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ "darling_core", "darling_macro", @@ -369,34 +368,34 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.6" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "darling_macro" -version = "0.20.6" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "zeroize", @@ -424,13 +423,13 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", ] [[package]] @@ -448,12 +447,11 @@ dependencies = [ [[package]] name = "displaydoc" version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +source = "git+https://github.com/akonradi-signal/displaydoc.git?branch=anonymous-const#ff2f562740a478e05551881f7355941c62dbfcc2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] @@ -497,9 +495,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elliptic-curve" @@ -538,9 +536,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.6" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "fnv" @@ -561,9 +559,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -606,9 +604,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hex" @@ -656,12 +654,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.3" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -675,8 +673,7 @@ dependencies = [ [[package]] name = "iroha_crypto" -version = "2.0.0-pre-rc.20" -source = "git+https://github.com/hyperledger/iroha.git?rev=7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb#7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb" +version = "2.0.0-pre-rc.21" dependencies = [ "aead", "arrayref", @@ -727,28 +724,25 @@ dependencies = [ [[package]] name = "iroha_derive" -version = "2.0.0-pre-rc.20" -source = "git+https://github.com/hyperledger/iroha.git?rev=7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb#7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb" +version = "2.0.0-pre-rc.21" dependencies = [ "darling", "manyhow", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "iroha_macro" -version = "2.0.0-pre-rc.20" -source = "git+https://github.com/hyperledger/iroha.git?rev=7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb#7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb" +version = "2.0.0-pre-rc.21" dependencies = [ "iroha_derive", ] [[package]] name = "iroha_numeric" -version = "2.0.0-pre-rc.20" -source = "git+https://github.com/hyperledger/iroha.git?rev=7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb#7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb" +version = "2.0.0-pre-rc.21" dependencies = [ "derive_more", "displaydoc", @@ -761,8 +755,7 @@ dependencies = [ [[package]] name = "iroha_primitives" -version = "2.0.0-pre-rc.20" -source = "git+https://github.com/hyperledger/iroha.git?rev=7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb#7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb" +version = "2.0.0-pre-rc.21" dependencies = [ "derive_more", "displaydoc", @@ -779,20 +772,18 @@ dependencies = [ [[package]] name = "iroha_primitives_derive" -version = "2.0.0-pre-rc.20" -source = "git+https://github.com/hyperledger/iroha.git?rev=7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb#7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb" +version = "2.0.0-pre-rc.21" dependencies = [ "iroha_numeric", "manyhow", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "iroha_schema" -version = "2.0.0-pre-rc.20" -source = "git+https://github.com/hyperledger/iroha.git?rev=7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb#7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb" +version = "2.0.0-pre-rc.21" dependencies = [ "iroha_schema_derive", "serde", @@ -800,14 +791,13 @@ dependencies = [ [[package]] name = "iroha_schema_derive" -version = "2.0.0-pre-rc.20" -source = "git+https://github.com/hyperledger/iroha.git?rev=7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb#7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb" +version = "2.0.0-pre-rc.21" dependencies = [ "darling", "manyhow", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] @@ -830,15 +820,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -866,15 +856,15 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "manyhow" @@ -886,7 +876,7 @@ dependencies = [ "manyhow-macros", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] @@ -902,9 +892,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memory_units" @@ -914,11 +904,10 @@ checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -940,9 +929,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -955,15 +944,15 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "parity-scale-codec" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ "arrayvec", "byte-slice-cast", @@ -973,9 +962,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -985,9 +974,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pkcs8" @@ -999,12 +988,6 @@ dependencies = [ "spki", ] -[[package]] -name = "platforms" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" - [[package]] name = "poly1305" version = "0.8.0" @@ -1030,11 +1013,10 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro-crate" -version = "2.0.2" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_datetime", "toml_edit", ] @@ -1075,18 +1057,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -1132,9 +1114,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.34.3" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39449a79f45e8da28c57c341891b69a183044b29518bb8f86dbac9df60bb7df" +checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", "num-traits", @@ -1152,9 +1134,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "scoped-tls" @@ -1178,24 +1160,24 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde-wasm-bindgen" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b713f70513ae1f8d92665bbbbda5c295c2cf1da5542881ae5eefe20c9af132" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" dependencies = [ "js-sys", "serde", @@ -1204,20 +1186,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -1226,9 +1208,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.6.1" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ "base64", "chrono", @@ -1242,14 +1224,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.6.1" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] @@ -1295,9 +1277,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" dependencies = [ "serde", ] @@ -1314,15 +1296,15 @@ dependencies = [ [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" [[package]] name = "syn" @@ -1337,9 +1319,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.50" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -1348,29 +1330,29 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.57" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.57" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "num-conv", @@ -1387,15 +1369,15 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap", "toml_datetime", @@ -1432,9 +1414,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "w3f-bls" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7335e4c132c28cc43caef6adb339789e599e39adbe78da0c4d547fad48cbc331" +checksum = "9c5da5fa2c6afa2c9158eaa7cd9aee249765eb32b5fb0c63ad8b9e79336a47ec" dependencies = [ "ark-bls12-377", "ark-bls12-381", @@ -1462,9 +1444,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -1472,24 +1454,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -1499,9 +1481,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1509,28 +1491,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-bindgen-test" -version = "0.3.41" +version = "0.3.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143ddeb4f833e2ed0d252e618986e18bfc7b0e52f2d28d77d05b2f045dd8eb61" +checksum = "d9bf62a58e0780af3e852044583deee40983e5886da43a271dd772379987667b" dependencies = [ "console_error_panic_hook", "js-sys", @@ -1542,20 +1524,20 @@ dependencies = [ [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.41" +version = "0.3.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5211b7550606857312bba1d978a8ec75692eae187becc5e680444fffc5e6f89" +checksum = "b7f89739351a2e03cb94beb799d47fb2cac01759b40ec441f7de39b00cbf7ef0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "web-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -1616,29 +1598,29 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -1651,5 +1633,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.66", ] diff --git a/packages/crypto/crypto-rs/Cargo.toml b/packages/crypto/crypto-rs/Cargo.toml index d048dfcf..8a47722a 100644 --- a/packages/crypto/crypto-rs/Cargo.toml +++ b/packages/crypto/crypto-rs/Cargo.toml @@ -11,8 +11,10 @@ crate-type = ["cdylib", "rlib"] default = ["console_error_panic_hook"] [dependencies] -# `iroha2-dev` as of 2024-03-13 -iroha_crypto = { git = "https://github.com/hyperledger/iroha.git", rev = "7014f535d41ff3f2ebe96bae4c8d5bd1b49de5fb", default-features = false, features = ["rand"] } +# FIXME use upstream +iroha_crypto = { path = "../../../../iroha/crypto", default-features = false, features = [ + "rand", +] } getrandom = { version = "0.2", features = ["js"] } diff --git a/packages/crypto/crypto-rs/rust-toolchain.toml b/packages/crypto/crypto-rs/rust-toolchain.toml index 2dcf7269..6f54fb74 100644 --- a/packages/crypto/crypto-rs/rust-toolchain.toml +++ b/packages/crypto/crypto-rs/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "nightly-2024-01-12" \ No newline at end of file +channel = "nightly-2024-06-12" diff --git a/packages/crypto/crypto-rs/src/lib.rs b/packages/crypto/crypto-rs/src/lib.rs index 88a5954d..12868647 100644 --- a/packages/crypto/crypto-rs/src/lib.rs +++ b/packages/crypto/crypto-rs/src/lib.rs @@ -374,9 +374,9 @@ impl Signature { /// /// # Errors /// - Invalid bytes input - pub fn from_bytes(public_key: &PublicKey, payload: BytesJs) -> JsResult { + pub fn from_bytes(payload: BytesJs) -> JsResult { let payload: Vec = payload.try_into()?; - let inner = iroha_crypto::Signature::from_bytes(public_key.0.clone(), &payload); + let inner = iroha_crypto::Signature::from_bytes(&payload); Ok(Self(inner)) } @@ -385,28 +385,23 @@ impl Signature { /// # Errors /// If parsing bytes input fails #[wasm_bindgen(constructor)] - pub fn new(key_pair: &KeyPair, payload: BytesJs) -> JsResult { + pub fn new(private_key: &PrivateKey, payload: BytesJs) -> JsResult { let payload: Vec = payload.try_into()?; - let inner = iroha_crypto::Signature::new(&key_pair.0, &payload); + let inner = iroha_crypto::Signature::new(&private_key.0, &payload); Ok(Self(inner)) } - /// Verify `payload` using signed data and the signature's public key + /// Verify that the signature is signed by the given public key /// /// # Errors /// - If parsing of bytes input fails /// - If failed to construct verify error - pub fn verify(&self, payload: BytesJs) -> JsResult { + pub fn verify(&self, public_key: &PublicKey, payload: BytesJs) -> JsResult { let payload: Vec<_> = payload.try_into()?; - let result = self.0.verify(&payload).try_into()?; + let result = self.0.verify(&public_key.0, &payload).try_into()?; Ok(result) } - pub fn public_key(&self) -> PublicKey { - let inner = self.0.public_key().clone(); - PublicKey(inner) - } - pub fn payload(&self) -> Vec { self.0.payload().to_vec() } diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts index 7ee7ec4c..7373f71d 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts @@ -231,34 +231,30 @@ export class Signature { * * # Errors * - Invalid bytes input -* @param {PublicKey} public_key * @param {Binary} payload * @returns {Signature} */ - static from_bytes(public_key: PublicKey, payload: Binary): Signature; + static from_bytes(payload: Binary): Signature; /** * Creates new signature by signing the payload via the key pair's private key. * * # Errors * If parsing bytes input fails -* @param {KeyPair} key_pair +* @param {PrivateKey} private_key * @param {Binary} payload */ - constructor(key_pair: KeyPair, payload: Binary); + constructor(private_key: PrivateKey, payload: Binary); /** -* Verify `payload` using signed data and the signature's public key +* Verify that the signature is signed by the given public key * * # Errors * - If parsing of bytes input fails * - If failed to construct verify error +* @param {PublicKey} public_key * @param {Binary} payload * @returns {VerifyResult} */ - verify(payload: Binary): VerifyResult; -/** -* @returns {PublicKey} -*/ - public_key(): PublicKey; + verify(public_key: PublicKey, payload: Binary): VerifyResult; /** * @returns {Uint8Array} */ diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js index a97955c5..d18932ea 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js +++ b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js @@ -53,28 +53,6 @@ function takeObject(idx) { return ret; } -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedFloat64Memory0 = null; - -function getFloat64Memory0() { - if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { - cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); - } - return cachedFloat64Memory0; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - let WASM_VECTOR_LEN = 0; const lTextEncoder = typeof TextEncoder === 'undefined' ? (0, module.require)('util').TextEncoder : TextEncoder; @@ -133,6 +111,28 @@ function passStringToWasm0(arg, malloc, realloc) { return ptr; } +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +let cachedFloat64Memory0 = null; + +function getFloat64Memory0() { + if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { + cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); + } + return cachedFloat64Memory0; +} + let cachedBigInt64Memory0 = null; function getBigInt64Memory0() { @@ -864,15 +864,13 @@ export class Signature { * * # Errors * - Invalid bytes input - * @param {PublicKey} public_key * @param {Binary} payload * @returns {Signature} */ - static from_bytes(public_key, payload) { + static from_bytes(payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - wasm.signature_from_bytes(retptr, public_key.__wbg_ptr, addHeapObject(payload)); + wasm.signature_from_bytes(retptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -889,14 +887,14 @@ export class Signature { * * # Errors * If parsing bytes input fails - * @param {KeyPair} key_pair + * @param {PrivateKey} private_key * @param {Binary} payload */ - constructor(key_pair, payload) { + constructor(private_key, payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(key_pair, KeyPair); - wasm.signature_new(retptr, key_pair.__wbg_ptr, addHeapObject(payload)); + _assertClass(private_key, PrivateKey); + wasm.signature_new(retptr, private_key.__wbg_ptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -910,18 +908,20 @@ export class Signature { } } /** - * Verify `payload` using signed data and the signature's public key + * Verify that the signature is signed by the given public key * * # Errors * - If parsing of bytes input fails * - If failed to construct verify error + * @param {PublicKey} public_key * @param {Binary} payload * @returns {VerifyResult} */ - verify(payload) { + verify(public_key, payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_verify(retptr, this.__wbg_ptr, addHeapObject(payload)); + _assertClass(public_key, PublicKey); + wasm.signature_verify(retptr, this.__wbg_ptr, public_key.__wbg_ptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -934,13 +934,6 @@ export class Signature { } } /** - * @returns {PublicKey} - */ - public_key() { - const ret = wasm.keypair_public_key(this.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** * @returns {Uint8Array} */ payload() { @@ -997,11 +990,6 @@ export class Signature { } } -export function __wbindgen_error_new(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - export function __wbindgen_string_new(arg0, arg1) { const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); @@ -1017,6 +1005,15 @@ export function __wbindgen_is_object(arg0) { return ret; }; +export function __wbindgen_string_get(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +}; + export function __wbindgen_boolean_get(arg0) { const v = getObject(arg0); const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; @@ -1028,6 +1025,18 @@ export function __wbindgen_is_bigint(arg0) { return ret; }; +export function __wbindgen_number_get(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); +}; + +export function __wbindgen_in(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; +}; + export function __wbindgen_bigint_from_i64(arg0) { const ret = arg0; return addHeapObject(ret); @@ -1043,25 +1052,9 @@ export function __wbindgen_bigint_from_u64(arg0) { return addHeapObject(ret); }; -export function __wbindgen_number_get(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'number' ? obj : undefined; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -}; - -export function __wbindgen_string_get(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -export function __wbindgen_in(arg0, arg1) { - const ret = getObject(arg0) in getObject(arg1); - return ret; +export function __wbindgen_error_new(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); }; export function __wbindgen_is_undefined(arg0) { @@ -1074,42 +1067,27 @@ export function __wbindgen_is_string(arg0) { return ret; }; -export function __wbindgen_as_number(arg0) { - const ret = +getObject(arg0); - return ret; -}; - -export function __wbindgen_object_clone_ref(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); -}; - -export function __wbg_crypto_d05b68a3572bb8ca(arg0) { +export function __wbg_crypto_1d1f22824a6a080c(arg0) { const ret = getObject(arg0).crypto; return addHeapObject(ret); }; -export function __wbg_process_b02b3570280d0366(arg0) { +export function __wbg_process_4a72847cc503995b(arg0) { const ret = getObject(arg0).process; return addHeapObject(ret); }; -export function __wbg_versions_c1cb42213cedf0f5(arg0) { +export function __wbg_versions_f686565e586dd935(arg0) { const ret = getObject(arg0).versions; return addHeapObject(ret); }; -export function __wbg_node_43b1089f407e4ec2(arg0) { +export function __wbg_node_104a2ff8d6ea03a2(arg0) { const ret = getObject(arg0).node; return addHeapObject(ret); }; -export function __wbg_msCrypto_10fc94afee92bd76(arg0) { - const ret = getObject(arg0).msCrypto; - return addHeapObject(ret); -}; - -export function __wbg_require_9a7e0f667ead4995() { return handleError(function () { +export function __wbg_require_cca90b1a94a0255b() { return handleError(function () { const ret = module.require; return addHeapObject(ret); }, arguments) }; @@ -1119,11 +1097,16 @@ export function __wbindgen_is_function(arg0) { return ret; }; -export function __wbg_randomFillSync_b70ccbdf4926a99d() { return handleError(function (arg0, arg1) { +export function __wbg_msCrypto_eb05e62b530a1508(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); +}; + +export function __wbg_randomFillSync_5c9c955aa56b6049() { return handleError(function (arg0, arg1) { getObject(arg0).randomFillSync(takeObject(arg1)); }, arguments) }; -export function __wbg_getRandomValues_7e42b4fb8779dc6d() { return handleError(function (arg0, arg1) { +export function __wbg_getRandomValues_3aa56aa6edec874c() { return handleError(function (arg0, arg1) { getObject(arg0).getRandomValues(getObject(arg1)); }, arguments) }; @@ -1132,104 +1115,114 @@ export function __wbindgen_jsval_loose_eq(arg0, arg1) { return ret; }; -export function __wbg_String_389b54bd9d25375f(arg0, arg1) { - const ret = String(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; +export function __wbindgen_as_number(arg0) { + const ret = +getObject(arg0); + return ret; +}; + +export function __wbindgen_object_clone_ref(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); }; -export function __wbg_getwithrefkey_4a92a5eca60879b9(arg0, arg1) { +export function __wbg_getwithrefkey_edc2c8960f0f1191(arg0, arg1) { const ret = getObject(arg0)[getObject(arg1)]; return addHeapObject(ret); }; -export function __wbg_set_9182712abebf82ef(arg0, arg1, arg2) { +export function __wbg_set_f975102236d3c502(arg0, arg1, arg2) { getObject(arg0)[takeObject(arg1)] = takeObject(arg2); }; -export function __wbg_get_0ee8ea3c7c984c45(arg0, arg1) { +export function __wbg_String_b9412f8799faab3e(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +}; + +export function __wbg_get_bd8e338fbd5f5cc8(arg0, arg1) { const ret = getObject(arg0)[arg1 >>> 0]; return addHeapObject(ret); }; -export function __wbg_length_161c0d89c6535c1d(arg0) { +export function __wbg_length_cd7af8117672b8b8(arg0) { const ret = getObject(arg0).length; return ret; }; -export function __wbg_newnoargs_cfecb3965268594c(arg0, arg1) { +export function __wbg_newnoargs_e258087cd0daa0ea(arg0, arg1) { const ret = new Function(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; -export function __wbg_next_586204376d2ed373(arg0) { +export function __wbg_next_40fc327bfc8770e6(arg0) { const ret = getObject(arg0).next; return addHeapObject(ret); }; -export function __wbg_next_b2d3366343a208b3() { return handleError(function (arg0) { +export function __wbg_next_196c84450b364254() { return handleError(function (arg0) { const ret = getObject(arg0).next(); return addHeapObject(ret); }, arguments) }; -export function __wbg_done_90b14d6f6eacc42f(arg0) { +export function __wbg_done_298b57d23c0fc80c(arg0) { const ret = getObject(arg0).done; return ret; }; -export function __wbg_value_3158be908c80a75e(arg0) { +export function __wbg_value_d93c65011f51a456(arg0) { const ret = getObject(arg0).value; return addHeapObject(ret); }; -export function __wbg_iterator_40027cdd598da26b() { +export function __wbg_iterator_2cee6dadfd956dfa() { const ret = Symbol.iterator; return addHeapObject(ret); }; -export function __wbg_get_3fddfed2c83f434c() { return handleError(function (arg0, arg1) { +export function __wbg_get_e3c254076557e348() { return handleError(function (arg0, arg1) { const ret = Reflect.get(getObject(arg0), getObject(arg1)); return addHeapObject(ret); }, arguments) }; -export function __wbg_call_3f093dd26d5569f8() { return handleError(function (arg0, arg1) { +export function __wbg_call_27c0f87801dedf93() { return handleError(function (arg0, arg1) { const ret = getObject(arg0).call(getObject(arg1)); return addHeapObject(ret); }, arguments) }; -export function __wbg_new_632630b5cec17f21() { +export function __wbg_new_72fb9a18b5ae2624() { const ret = new Object(); return addHeapObject(ret); }; -export function __wbg_self_05040bd9523805b9() { return handleError(function () { +export function __wbg_self_ce0dbfc45cf2f5be() { return handleError(function () { const ret = self.self; return addHeapObject(ret); }, arguments) }; -export function __wbg_window_adc720039f2cb14f() { return handleError(function () { +export function __wbg_window_c6fb939a7f436783() { return handleError(function () { const ret = window.window; return addHeapObject(ret); }, arguments) }; -export function __wbg_globalThis_622105db80c1457d() { return handleError(function () { +export function __wbg_globalThis_d1e6af4856ba331b() { return handleError(function () { const ret = globalThis.globalThis; return addHeapObject(ret); }, arguments) }; -export function __wbg_global_f56b013ed9bcf359() { return handleError(function () { +export function __wbg_global_207b558942527489() { return handleError(function () { const ret = global.global; return addHeapObject(ret); }, arguments) }; -export function __wbg_isArray_e783c41d0dd19b44(arg0) { +export function __wbg_isArray_2ab64d95e09ea0ae(arg0) { const ret = Array.isArray(getObject(arg0)); return ret; }; -export function __wbg_instanceof_ArrayBuffer_9221fa854ffb71b5(arg0) { +export function __wbg_instanceof_ArrayBuffer_836825be07d4c9d2(arg0) { let result; try { result = getObject(arg0) instanceof ArrayBuffer; @@ -1240,46 +1233,57 @@ export function __wbg_instanceof_ArrayBuffer_9221fa854ffb71b5(arg0) { return ret; }; -export function __wbg_call_67f2111acd2dfdb6() { return handleError(function (arg0, arg1, arg2) { +export function __wbg_call_b3ca7c6051f9bec1() { return handleError(function (arg0, arg1, arg2) { const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); return addHeapObject(ret); }, arguments) }; -export function __wbg_isSafeInteger_a23a66ee7c41b273(arg0) { +export function __wbg_instanceof_Map_87917e0a7aaf4012(arg0) { + let result; + try { + result = getObject(arg0) instanceof Map; + } catch (_) { + result = false; + } + const ret = result; + return ret; +}; + +export function __wbg_isSafeInteger_f7b04ef02296c4d2(arg0) { const ret = Number.isSafeInteger(getObject(arg0)); return ret; }; -export function __wbg_entries_488960b196cfb6a5(arg0) { +export function __wbg_entries_95cc2c823b285a09(arg0) { const ret = Object.entries(getObject(arg0)); return addHeapObject(ret); }; -export function __wbg_buffer_b914fb8b50ebbc3e(arg0) { +export function __wbg_buffer_12d079cc21e14bdb(arg0) { const ret = getObject(arg0).buffer; return addHeapObject(ret); }; -export function __wbg_newwithbyteoffsetandlength_0de9ee56e9f6ee6e(arg0, arg1, arg2) { +export function __wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb(arg0, arg1, arg2) { const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }; -export function __wbg_new_b1f2d6842d615181(arg0) { +export function __wbg_new_63b92bc8671ed464(arg0) { const ret = new Uint8Array(getObject(arg0)); return addHeapObject(ret); }; -export function __wbg_set_7d988c98e6ced92d(arg0, arg1, arg2) { +export function __wbg_set_a47bac70306a19a7(arg0, arg1, arg2) { getObject(arg0).set(getObject(arg1), arg2 >>> 0); }; -export function __wbg_length_21c4b0ae73cba59d(arg0) { +export function __wbg_length_c20a40f15020d68a(arg0) { const ret = getObject(arg0).length; return ret; }; -export function __wbg_instanceof_Uint8Array_c299a4ee232e76ba(arg0) { +export function __wbg_instanceof_Uint8Array_2b3bbecd033d19f6(arg0) { let result; try { result = getObject(arg0) instanceof Uint8Array; @@ -1290,12 +1294,12 @@ export function __wbg_instanceof_Uint8Array_c299a4ee232e76ba(arg0) { return ret; }; -export function __wbg_newwithlength_0d03cef43b68a530(arg0) { +export function __wbg_newwithlength_e9b4878cebadb3d3(arg0) { const ret = new Uint8Array(arg0 >>> 0); return addHeapObject(ret); }; -export function __wbg_subarray_adc418253d76e2f1(arg0, arg1, arg2) { +export function __wbg_subarray_a1f73cd4b5b42fe1(arg0, arg1, arg2) { const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }; diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm index 8fc6b29fd5211714f549b501a57ef25199e8d77e..e08461d877246f75ef62d2b2478898065845a6ba 100644 GIT binary patch literal 659220 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

U>}X`L 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 y-jopty|Z<*C#bf$e!nu#XLh%=mvp30d0! literal 698419 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%0A3ay#dVB2SYH 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т$g1vc`NGI?B6SYqI^ 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 diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts index 588eedb5..a38af635 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts @@ -34,14 +34,13 @@ export function keypair_private_key(a: number): number; export function keypair_to_json(a: number, b: number): void; export function __wbg_signature_free(a: number): void; export function signature_from_json(a: number, b: number): void; -export function signature_from_bytes(a: number, b: number, c: number): void; +export function signature_from_bytes(a: number, b: number): void; export function signature_new(a: number, b: number, c: number): void; -export function signature_verify(a: number, b: number, c: number): void; +export function signature_verify(a: number, b: number, c: number, d: number): void; export function signature_payload(a: number, b: number): void; export function signature_payload_hex(a: number, b: number): void; export function signature_to_json(a: number, b: number): void; export function publickey_algorithm(a: number): number; -export function signature_public_key(a: number): number; export function main_js(): void; export function __wbindgen_malloc(a: number, b: number): number; export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts index 7ee7ec4c..7373f71d 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts @@ -231,34 +231,30 @@ export class Signature { * * # Errors * - Invalid bytes input -* @param {PublicKey} public_key * @param {Binary} payload * @returns {Signature} */ - static from_bytes(public_key: PublicKey, payload: Binary): Signature; + static from_bytes(payload: Binary): Signature; /** * Creates new signature by signing the payload via the key pair's private key. * * # Errors * If parsing bytes input fails -* @param {KeyPair} key_pair +* @param {PrivateKey} private_key * @param {Binary} payload */ - constructor(key_pair: KeyPair, payload: Binary); + constructor(private_key: PrivateKey, payload: Binary); /** -* Verify `payload` using signed data and the signature's public key +* Verify that the signature is signed by the given public key * * # Errors * - If parsing of bytes input fails * - If failed to construct verify error +* @param {PublicKey} public_key * @param {Binary} payload * @returns {VerifyResult} */ - verify(payload: Binary): VerifyResult; -/** -* @returns {PublicKey} -*/ - public_key(): PublicKey; + verify(public_key: PublicKey, payload: Binary): VerifyResult; /** * @returns {Uint8Array} */ diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js index b9352b68..eaf3c79b 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js +++ b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js @@ -50,28 +50,6 @@ function takeObject(idx) { return ret; } -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedFloat64Memory0 = null; - -function getFloat64Memory0() { - if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { - cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); - } - return cachedFloat64Memory0; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - let WASM_VECTOR_LEN = 0; let cachedTextEncoder = new TextEncoder('utf-8'); @@ -128,6 +106,28 @@ function passStringToWasm0(arg, malloc, realloc) { return ptr; } +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +let cachedFloat64Memory0 = null; + +function getFloat64Memory0() { + if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { + cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); + } + return cachedFloat64Memory0; +} + let cachedBigInt64Memory0 = null; function getBigInt64Memory0() { @@ -863,15 +863,13 @@ class Signature { * * # Errors * - Invalid bytes input - * @param {PublicKey} public_key * @param {Binary} payload * @returns {Signature} */ - static from_bytes(public_key, payload) { + static from_bytes(payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - wasm.signature_from_bytes(retptr, public_key.__wbg_ptr, addHeapObject(payload)); + wasm.signature_from_bytes(retptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -888,14 +886,14 @@ class Signature { * * # Errors * If parsing bytes input fails - * @param {KeyPair} key_pair + * @param {PrivateKey} private_key * @param {Binary} payload */ - constructor(key_pair, payload) { + constructor(private_key, payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(key_pair, KeyPair); - wasm.signature_new(retptr, key_pair.__wbg_ptr, addHeapObject(payload)); + _assertClass(private_key, PrivateKey); + wasm.signature_new(retptr, private_key.__wbg_ptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -909,18 +907,20 @@ class Signature { } } /** - * Verify `payload` using signed data and the signature's public key + * Verify that the signature is signed by the given public key * * # Errors * - If parsing of bytes input fails * - If failed to construct verify error + * @param {PublicKey} public_key * @param {Binary} payload * @returns {VerifyResult} */ - verify(payload) { + verify(public_key, payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_verify(retptr, this.__wbg_ptr, addHeapObject(payload)); + _assertClass(public_key, PublicKey); + wasm.signature_verify(retptr, this.__wbg_ptr, public_key.__wbg_ptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -933,13 +933,6 @@ class Signature { } } /** - * @returns {PublicKey} - */ - public_key() { - const ret = wasm.keypair_public_key(this.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** * @returns {Uint8Array} */ payload() { @@ -997,11 +990,6 @@ class Signature { } module.exports.Signature = Signature; -module.exports.__wbindgen_error_new = function(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - module.exports.__wbindgen_string_new = function(arg0, arg1) { const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); @@ -1017,6 +1005,15 @@ module.exports.__wbindgen_is_object = function(arg0) { return ret; }; +module.exports.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +}; + module.exports.__wbindgen_boolean_get = function(arg0) { const v = getObject(arg0); const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; @@ -1028,6 +1025,18 @@ module.exports.__wbindgen_is_bigint = function(arg0) { return ret; }; +module.exports.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); +}; + +module.exports.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; +}; + module.exports.__wbindgen_bigint_from_i64 = function(arg0) { const ret = arg0; return addHeapObject(ret); @@ -1043,25 +1052,9 @@ module.exports.__wbindgen_bigint_from_u64 = function(arg0) { return addHeapObject(ret); }; -module.exports.__wbindgen_number_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'number' ? obj : undefined; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -}; - -module.exports.__wbindgen_string_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -module.exports.__wbindgen_in = function(arg0, arg1) { - const ret = getObject(arg0) in getObject(arg1); - return ret; +module.exports.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); }; module.exports.__wbindgen_is_undefined = function(arg0) { @@ -1074,42 +1067,27 @@ module.exports.__wbindgen_is_string = function(arg0) { return ret; }; -module.exports.__wbindgen_as_number = function(arg0) { - const ret = +getObject(arg0); - return ret; -}; - -module.exports.__wbindgen_object_clone_ref = function(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); -}; - -module.exports.__wbg_crypto_d05b68a3572bb8ca = function(arg0) { +module.exports.__wbg_crypto_1d1f22824a6a080c = function(arg0) { const ret = getObject(arg0).crypto; return addHeapObject(ret); }; -module.exports.__wbg_process_b02b3570280d0366 = function(arg0) { +module.exports.__wbg_process_4a72847cc503995b = function(arg0) { const ret = getObject(arg0).process; return addHeapObject(ret); }; -module.exports.__wbg_versions_c1cb42213cedf0f5 = function(arg0) { +module.exports.__wbg_versions_f686565e586dd935 = function(arg0) { const ret = getObject(arg0).versions; return addHeapObject(ret); }; -module.exports.__wbg_node_43b1089f407e4ec2 = function(arg0) { +module.exports.__wbg_node_104a2ff8d6ea03a2 = function(arg0) { const ret = getObject(arg0).node; return addHeapObject(ret); }; -module.exports.__wbg_msCrypto_10fc94afee92bd76 = function(arg0) { - const ret = getObject(arg0).msCrypto; - return addHeapObject(ret); -}; - -module.exports.__wbg_require_9a7e0f667ead4995 = function() { return handleError(function () { +module.exports.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () { const ret = module.require; return addHeapObject(ret); }, arguments) }; @@ -1119,11 +1097,16 @@ module.exports.__wbindgen_is_function = function(arg0) { return ret; }; -module.exports.__wbg_randomFillSync_b70ccbdf4926a99d = function() { return handleError(function (arg0, arg1) { +module.exports.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); +}; + +module.exports.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) { getObject(arg0).randomFillSync(takeObject(arg1)); }, arguments) }; -module.exports.__wbg_getRandomValues_7e42b4fb8779dc6d = function() { return handleError(function (arg0, arg1) { +module.exports.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) { getObject(arg0).getRandomValues(getObject(arg1)); }, arguments) }; @@ -1132,104 +1115,114 @@ module.exports.__wbindgen_jsval_loose_eq = function(arg0, arg1) { return ret; }; -module.exports.__wbg_String_389b54bd9d25375f = function(arg0, arg1) { - const ret = String(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; +module.exports.__wbindgen_as_number = function(arg0) { + const ret = +getObject(arg0); + return ret; +}; + +module.exports.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); }; -module.exports.__wbg_getwithrefkey_4a92a5eca60879b9 = function(arg0, arg1) { +module.exports.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { const ret = getObject(arg0)[getObject(arg1)]; return addHeapObject(ret); }; -module.exports.__wbg_set_9182712abebf82ef = function(arg0, arg1, arg2) { +module.exports.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { getObject(arg0)[takeObject(arg1)] = takeObject(arg2); }; -module.exports.__wbg_get_0ee8ea3c7c984c45 = function(arg0, arg1) { +module.exports.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; +}; + +module.exports.__wbg_get_bd8e338fbd5f5cc8 = function(arg0, arg1) { const ret = getObject(arg0)[arg1 >>> 0]; return addHeapObject(ret); }; -module.exports.__wbg_length_161c0d89c6535c1d = function(arg0) { +module.exports.__wbg_length_cd7af8117672b8b8 = function(arg0) { const ret = getObject(arg0).length; return ret; }; -module.exports.__wbg_newnoargs_cfecb3965268594c = function(arg0, arg1) { +module.exports.__wbg_newnoargs_e258087cd0daa0ea = function(arg0, arg1) { const ret = new Function(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; -module.exports.__wbg_next_586204376d2ed373 = function(arg0) { +module.exports.__wbg_next_40fc327bfc8770e6 = function(arg0) { const ret = getObject(arg0).next; return addHeapObject(ret); }; -module.exports.__wbg_next_b2d3366343a208b3 = function() { return handleError(function (arg0) { +module.exports.__wbg_next_196c84450b364254 = function() { return handleError(function (arg0) { const ret = getObject(arg0).next(); return addHeapObject(ret); }, arguments) }; -module.exports.__wbg_done_90b14d6f6eacc42f = function(arg0) { +module.exports.__wbg_done_298b57d23c0fc80c = function(arg0) { const ret = getObject(arg0).done; return ret; }; -module.exports.__wbg_value_3158be908c80a75e = function(arg0) { +module.exports.__wbg_value_d93c65011f51a456 = function(arg0) { const ret = getObject(arg0).value; return addHeapObject(ret); }; -module.exports.__wbg_iterator_40027cdd598da26b = function() { +module.exports.__wbg_iterator_2cee6dadfd956dfa = function() { const ret = Symbol.iterator; return addHeapObject(ret); }; -module.exports.__wbg_get_3fddfed2c83f434c = function() { return handleError(function (arg0, arg1) { +module.exports.__wbg_get_e3c254076557e348 = function() { return handleError(function (arg0, arg1) { const ret = Reflect.get(getObject(arg0), getObject(arg1)); return addHeapObject(ret); }, arguments) }; -module.exports.__wbg_call_3f093dd26d5569f8 = function() { return handleError(function (arg0, arg1) { +module.exports.__wbg_call_27c0f87801dedf93 = function() { return handleError(function (arg0, arg1) { const ret = getObject(arg0).call(getObject(arg1)); return addHeapObject(ret); }, arguments) }; -module.exports.__wbg_new_632630b5cec17f21 = function() { +module.exports.__wbg_new_72fb9a18b5ae2624 = function() { const ret = new Object(); return addHeapObject(ret); }; -module.exports.__wbg_self_05040bd9523805b9 = function() { return handleError(function () { +module.exports.__wbg_self_ce0dbfc45cf2f5be = function() { return handleError(function () { const ret = self.self; return addHeapObject(ret); }, arguments) }; -module.exports.__wbg_window_adc720039f2cb14f = function() { return handleError(function () { +module.exports.__wbg_window_c6fb939a7f436783 = function() { return handleError(function () { const ret = window.window; return addHeapObject(ret); }, arguments) }; -module.exports.__wbg_globalThis_622105db80c1457d = function() { return handleError(function () { +module.exports.__wbg_globalThis_d1e6af4856ba331b = function() { return handleError(function () { const ret = globalThis.globalThis; return addHeapObject(ret); }, arguments) }; -module.exports.__wbg_global_f56b013ed9bcf359 = function() { return handleError(function () { +module.exports.__wbg_global_207b558942527489 = function() { return handleError(function () { const ret = global.global; return addHeapObject(ret); }, arguments) }; -module.exports.__wbg_isArray_e783c41d0dd19b44 = function(arg0) { +module.exports.__wbg_isArray_2ab64d95e09ea0ae = function(arg0) { const ret = Array.isArray(getObject(arg0)); return ret; }; -module.exports.__wbg_instanceof_ArrayBuffer_9221fa854ffb71b5 = function(arg0) { +module.exports.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2 = function(arg0) { let result; try { result = getObject(arg0) instanceof ArrayBuffer; @@ -1240,46 +1233,57 @@ module.exports.__wbg_instanceof_ArrayBuffer_9221fa854ffb71b5 = function(arg0) { return ret; }; -module.exports.__wbg_call_67f2111acd2dfdb6 = function() { return handleError(function (arg0, arg1, arg2) { +module.exports.__wbg_call_b3ca7c6051f9bec1 = function() { return handleError(function (arg0, arg1, arg2) { const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); return addHeapObject(ret); }, arguments) }; -module.exports.__wbg_isSafeInteger_a23a66ee7c41b273 = function(arg0) { +module.exports.__wbg_instanceof_Map_87917e0a7aaf4012 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Map; + } catch (_) { + result = false; + } + const ret = result; + return ret; +}; + +module.exports.__wbg_isSafeInteger_f7b04ef02296c4d2 = function(arg0) { const ret = Number.isSafeInteger(getObject(arg0)); return ret; }; -module.exports.__wbg_entries_488960b196cfb6a5 = function(arg0) { +module.exports.__wbg_entries_95cc2c823b285a09 = function(arg0) { const ret = Object.entries(getObject(arg0)); return addHeapObject(ret); }; -module.exports.__wbg_buffer_b914fb8b50ebbc3e = function(arg0) { +module.exports.__wbg_buffer_12d079cc21e14bdb = function(arg0) { const ret = getObject(arg0).buffer; return addHeapObject(ret); }; -module.exports.__wbg_newwithbyteoffsetandlength_0de9ee56e9f6ee6e = function(arg0, arg1, arg2) { +module.exports.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb = function(arg0, arg1, arg2) { const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }; -module.exports.__wbg_new_b1f2d6842d615181 = function(arg0) { +module.exports.__wbg_new_63b92bc8671ed464 = function(arg0) { const ret = new Uint8Array(getObject(arg0)); return addHeapObject(ret); }; -module.exports.__wbg_set_7d988c98e6ced92d = function(arg0, arg1, arg2) { +module.exports.__wbg_set_a47bac70306a19a7 = function(arg0, arg1, arg2) { getObject(arg0).set(getObject(arg1), arg2 >>> 0); }; -module.exports.__wbg_length_21c4b0ae73cba59d = function(arg0) { +module.exports.__wbg_length_c20a40f15020d68a = function(arg0) { const ret = getObject(arg0).length; return ret; }; -module.exports.__wbg_instanceof_Uint8Array_c299a4ee232e76ba = function(arg0) { +module.exports.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6 = function(arg0) { let result; try { result = getObject(arg0) instanceof Uint8Array; @@ -1290,12 +1294,12 @@ module.exports.__wbg_instanceof_Uint8Array_c299a4ee232e76ba = function(arg0) { return ret; }; -module.exports.__wbg_newwithlength_0d03cef43b68a530 = function(arg0) { +module.exports.__wbg_newwithlength_e9b4878cebadb3d3 = function(arg0) { const ret = new Uint8Array(arg0 >>> 0); return addHeapObject(ret); }; -module.exports.__wbg_subarray_adc418253d76e2f1 = function(arg0, arg1, arg2) { +module.exports.__wbg_subarray_a1f73cd4b5b42fe1 = function(arg0, arg1, arg2) { const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }; diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm index 47a47e0fd59583965d7d5d6da738be08c3a852d0..ca74fcfa12a9e43014651bfd66ef389658014035 100644 GIT binary patch literal 659480 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/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%0AWbQ?}H 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 O^lh>b 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%0AVoN@bL8V_VM-e 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 diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm.d.ts b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm.d.ts index 588eedb5..a38af635 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm.d.ts @@ -34,14 +34,13 @@ export function keypair_private_key(a: number): number; export function keypair_to_json(a: number, b: number): void; export function __wbg_signature_free(a: number): void; export function signature_from_json(a: number, b: number): void; -export function signature_from_bytes(a: number, b: number, c: number): void; +export function signature_from_bytes(a: number, b: number): void; export function signature_new(a: number, b: number, c: number): void; -export function signature_verify(a: number, b: number, c: number): void; +export function signature_verify(a: number, b: number, c: number, d: number): void; export function signature_payload(a: number, b: number): void; export function signature_payload_hex(a: number, b: number): void; export function signature_to_json(a: number, b: number): void; export function publickey_algorithm(a: number): number; -export function signature_public_key(a: number): number; export function main_js(): void; export function __wbindgen_malloc(a: number, b: number): number; export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; diff --git a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.d.ts b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.d.ts index dc07093b..34a6cf0d 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.d.ts @@ -231,34 +231,30 @@ export class Signature { * * # Errors * - Invalid bytes input -* @param {PublicKey} public_key * @param {Binary} payload * @returns {Signature} */ - static from_bytes(public_key: PublicKey, payload: Binary): Signature; + static from_bytes(payload: Binary): Signature; /** * Creates new signature by signing the payload via the key pair's private key. * * # Errors * If parsing bytes input fails -* @param {KeyPair} key_pair +* @param {PrivateKey} private_key * @param {Binary} payload */ - constructor(key_pair: KeyPair, payload: Binary); + constructor(private_key: PrivateKey, payload: Binary); /** -* Verify `payload` using signed data and the signature's public key +* Verify that the signature is signed by the given public key * * # Errors * - If parsing of bytes input fails * - If failed to construct verify error +* @param {PublicKey} public_key * @param {Binary} payload * @returns {VerifyResult} */ - verify(payload: Binary): VerifyResult; -/** -* @returns {PublicKey} -*/ - public_key(): PublicKey; + verify(public_key: PublicKey, payload: Binary): VerifyResult; /** * @returns {Uint8Array} */ @@ -312,14 +308,13 @@ export interface InitOutput { readonly keypair_to_json: (a: number, b: number) => void; readonly __wbg_signature_free: (a: number) => void; readonly signature_from_json: (a: number, b: number) => void; - readonly signature_from_bytes: (a: number, b: number, c: number) => void; + readonly signature_from_bytes: (a: number, b: number) => void; readonly signature_new: (a: number, b: number, c: number) => void; - readonly signature_verify: (a: number, b: number, c: number) => void; + readonly signature_verify: (a: number, b: number, c: number, d: number) => void; readonly signature_payload: (a: number, b: number) => void; readonly signature_payload_hex: (a: number, b: number) => void; readonly signature_to_json: (a: number, b: number) => void; readonly publickey_algorithm: (a: number) => number; - readonly signature_public_key: (a: number) => number; readonly main_js: () => void; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; diff --git a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js index d069aa32..e91f84d0 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js +++ b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js @@ -47,28 +47,6 @@ function takeObject(idx) { return ret; } -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedFloat64Memory0 = null; - -function getFloat64Memory0() { - if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { - cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); - } - return cachedFloat64Memory0; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - let WASM_VECTOR_LEN = 0; const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); @@ -125,6 +103,28 @@ function passStringToWasm0(arg, malloc, realloc) { return ptr; } +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +let cachedFloat64Memory0 = null; + +function getFloat64Memory0() { + if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { + cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); + } + return cachedFloat64Memory0; +} + let cachedBigInt64Memory0 = null; function getBigInt64Memory0() { @@ -856,15 +856,13 @@ export class Signature { * * # Errors * - Invalid bytes input - * @param {PublicKey} public_key * @param {Binary} payload * @returns {Signature} */ - static from_bytes(public_key, payload) { + static from_bytes(payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - wasm.signature_from_bytes(retptr, public_key.__wbg_ptr, addHeapObject(payload)); + wasm.signature_from_bytes(retptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -881,14 +879,14 @@ export class Signature { * * # Errors * If parsing bytes input fails - * @param {KeyPair} key_pair + * @param {PrivateKey} private_key * @param {Binary} payload */ - constructor(key_pair, payload) { + constructor(private_key, payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(key_pair, KeyPair); - wasm.signature_new(retptr, key_pair.__wbg_ptr, addHeapObject(payload)); + _assertClass(private_key, PrivateKey); + wasm.signature_new(retptr, private_key.__wbg_ptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -902,18 +900,20 @@ export class Signature { } } /** - * Verify `payload` using signed data and the signature's public key + * Verify that the signature is signed by the given public key * * # Errors * - If parsing of bytes input fails * - If failed to construct verify error + * @param {PublicKey} public_key * @param {Binary} payload * @returns {VerifyResult} */ - verify(payload) { + verify(public_key, payload) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_verify(retptr, this.__wbg_ptr, addHeapObject(payload)); + _assertClass(public_key, PublicKey); + wasm.signature_verify(retptr, this.__wbg_ptr, public_key.__wbg_ptr, addHeapObject(payload)); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -926,13 +926,6 @@ export class Signature { } } /** - * @returns {PublicKey} - */ - public_key() { - const ret = wasm.keypair_public_key(this.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** * @returns {Uint8Array} */ payload() { @@ -1023,10 +1016,6 @@ async function __wbg_load(module, imports) { function __wbg_get_imports() { const imports = {}; imports.wbg = {}; - imports.wbg.__wbindgen_error_new = function(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; imports.wbg.__wbindgen_string_new = function(arg0, arg1) { const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); @@ -1039,6 +1028,14 @@ function __wbg_get_imports() { const ret = typeof(val) === 'object' && val !== null; return ret; }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; imports.wbg.__wbindgen_boolean_get = function(arg0) { const v = getObject(arg0); const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; @@ -1048,6 +1045,16 @@ function __wbg_get_imports() { const ret = typeof(getObject(arg0)) === 'bigint'; return ret; }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; imports.wbg.__wbindgen_bigint_from_i64 = function(arg0) { const ret = arg0; return addHeapObject(ret); @@ -1060,23 +1067,9 @@ function __wbg_get_imports() { const ret = BigInt.asUintN(64, arg0); return addHeapObject(ret); }; - imports.wbg.__wbindgen_number_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'number' ? obj : undefined; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); - }; - imports.wbg.__wbindgen_string_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; - }; - imports.wbg.__wbindgen_in = function(arg0, arg1) { - const ret = getObject(arg0) in getObject(arg1); - return ret; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); }; imports.wbg.__wbindgen_is_undefined = function(arg0) { const ret = getObject(arg0) === undefined; @@ -1086,35 +1079,23 @@ function __wbg_get_imports() { const ret = typeof(getObject(arg0)) === 'string'; return ret; }; - imports.wbg.__wbindgen_as_number = function(arg0) { - const ret = +getObject(arg0); - return ret; - }; - imports.wbg.__wbindgen_object_clone_ref = function(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_crypto_d05b68a3572bb8ca = function(arg0) { + imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) { const ret = getObject(arg0).crypto; return addHeapObject(ret); }; - imports.wbg.__wbg_process_b02b3570280d0366 = function(arg0) { + imports.wbg.__wbg_process_4a72847cc503995b = function(arg0) { const ret = getObject(arg0).process; return addHeapObject(ret); }; - imports.wbg.__wbg_versions_c1cb42213cedf0f5 = function(arg0) { + imports.wbg.__wbg_versions_f686565e586dd935 = function(arg0) { const ret = getObject(arg0).versions; return addHeapObject(ret); }; - imports.wbg.__wbg_node_43b1089f407e4ec2 = function(arg0) { + imports.wbg.__wbg_node_104a2ff8d6ea03a2 = function(arg0) { const ret = getObject(arg0).node; return addHeapObject(ret); }; - imports.wbg.__wbg_msCrypto_10fc94afee92bd76 = function(arg0) { - const ret = getObject(arg0).msCrypto; - return addHeapObject(ret); - }; - imports.wbg.__wbg_require_9a7e0f667ead4995 = function() { return handleError(function () { + imports.wbg.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () { const ret = module.require; return addHeapObject(ret); }, arguments) }; @@ -1122,95 +1103,107 @@ function __wbg_get_imports() { const ret = typeof(getObject(arg0)) === 'function'; return ret; }; - imports.wbg.__wbg_randomFillSync_b70ccbdf4926a99d = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) { getObject(arg0).randomFillSync(takeObject(arg1)); }, arguments) }; - imports.wbg.__wbg_getRandomValues_7e42b4fb8779dc6d = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) { getObject(arg0).getRandomValues(getObject(arg1)); }, arguments) }; imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { const ret = getObject(arg0) == getObject(arg1); return ret; }; - imports.wbg.__wbg_String_389b54bd9d25375f = function(arg0, arg1) { - const ret = String(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; + imports.wbg.__wbindgen_as_number = function(arg0) { + const ret = +getObject(arg0); + return ret; + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); }; - imports.wbg.__wbg_getwithrefkey_4a92a5eca60879b9 = function(arg0, arg1) { + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { const ret = getObject(arg0)[getObject(arg1)]; return addHeapObject(ret); }; - imports.wbg.__wbg_set_9182712abebf82ef = function(arg0, arg1, arg2) { + imports.wbg.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { getObject(arg0)[takeObject(arg1)] = takeObject(arg2); }; - imports.wbg.__wbg_get_0ee8ea3c7c984c45 = function(arg0, arg1) { + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_get_bd8e338fbd5f5cc8 = function(arg0, arg1) { const ret = getObject(arg0)[arg1 >>> 0]; return addHeapObject(ret); }; - imports.wbg.__wbg_length_161c0d89c6535c1d = function(arg0) { + imports.wbg.__wbg_length_cd7af8117672b8b8 = function(arg0) { const ret = getObject(arg0).length; return ret; }; - imports.wbg.__wbg_newnoargs_cfecb3965268594c = function(arg0, arg1) { + imports.wbg.__wbg_newnoargs_e258087cd0daa0ea = function(arg0, arg1) { const ret = new Function(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }; - imports.wbg.__wbg_next_586204376d2ed373 = function(arg0) { + imports.wbg.__wbg_next_40fc327bfc8770e6 = function(arg0) { const ret = getObject(arg0).next; return addHeapObject(ret); }; - imports.wbg.__wbg_next_b2d3366343a208b3 = function() { return handleError(function (arg0) { + imports.wbg.__wbg_next_196c84450b364254 = function() { return handleError(function (arg0) { const ret = getObject(arg0).next(); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_done_90b14d6f6eacc42f = function(arg0) { + imports.wbg.__wbg_done_298b57d23c0fc80c = function(arg0) { const ret = getObject(arg0).done; return ret; }; - imports.wbg.__wbg_value_3158be908c80a75e = function(arg0) { + imports.wbg.__wbg_value_d93c65011f51a456 = function(arg0) { const ret = getObject(arg0).value; return addHeapObject(ret); }; - imports.wbg.__wbg_iterator_40027cdd598da26b = function() { + imports.wbg.__wbg_iterator_2cee6dadfd956dfa = function() { const ret = Symbol.iterator; return addHeapObject(ret); }; - imports.wbg.__wbg_get_3fddfed2c83f434c = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_get_e3c254076557e348 = function() { return handleError(function (arg0, arg1) { const ret = Reflect.get(getObject(arg0), getObject(arg1)); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_call_3f093dd26d5569f8 = function() { return handleError(function (arg0, arg1) { + imports.wbg.__wbg_call_27c0f87801dedf93 = function() { return handleError(function (arg0, arg1) { const ret = getObject(arg0).call(getObject(arg1)); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_new_632630b5cec17f21 = function() { + imports.wbg.__wbg_new_72fb9a18b5ae2624 = function() { const ret = new Object(); return addHeapObject(ret); }; - imports.wbg.__wbg_self_05040bd9523805b9 = function() { return handleError(function () { + imports.wbg.__wbg_self_ce0dbfc45cf2f5be = function() { return handleError(function () { const ret = self.self; return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_window_adc720039f2cb14f = function() { return handleError(function () { + imports.wbg.__wbg_window_c6fb939a7f436783 = function() { return handleError(function () { const ret = window.window; return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_globalThis_622105db80c1457d = function() { return handleError(function () { + imports.wbg.__wbg_globalThis_d1e6af4856ba331b = function() { return handleError(function () { const ret = globalThis.globalThis; return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_global_f56b013ed9bcf359 = function() { return handleError(function () { + imports.wbg.__wbg_global_207b558942527489 = function() { return handleError(function () { const ret = global.global; return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_isArray_e783c41d0dd19b44 = function(arg0) { + imports.wbg.__wbg_isArray_2ab64d95e09ea0ae = function(arg0) { const ret = Array.isArray(getObject(arg0)); return ret; }; - imports.wbg.__wbg_instanceof_ArrayBuffer_9221fa854ffb71b5 = function(arg0) { + imports.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2 = function(arg0) { let result; try { result = getObject(arg0) instanceof ArrayBuffer; @@ -1220,38 +1213,48 @@ function __wbg_get_imports() { const ret = result; return ret; }; - imports.wbg.__wbg_call_67f2111acd2dfdb6 = function() { return handleError(function (arg0, arg1, arg2) { + imports.wbg.__wbg_call_b3ca7c6051f9bec1 = function() { return handleError(function (arg0, arg1, arg2) { const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); return addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_isSafeInteger_a23a66ee7c41b273 = function(arg0) { + imports.wbg.__wbg_instanceof_Map_87917e0a7aaf4012 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Map; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2 = function(arg0) { const ret = Number.isSafeInteger(getObject(arg0)); return ret; }; - imports.wbg.__wbg_entries_488960b196cfb6a5 = function(arg0) { + imports.wbg.__wbg_entries_95cc2c823b285a09 = function(arg0) { const ret = Object.entries(getObject(arg0)); return addHeapObject(ret); }; - imports.wbg.__wbg_buffer_b914fb8b50ebbc3e = function(arg0) { + imports.wbg.__wbg_buffer_12d079cc21e14bdb = function(arg0) { const ret = getObject(arg0).buffer; return addHeapObject(ret); }; - imports.wbg.__wbg_newwithbyteoffsetandlength_0de9ee56e9f6ee6e = function(arg0, arg1, arg2) { + imports.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb = function(arg0, arg1, arg2) { const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }; - imports.wbg.__wbg_new_b1f2d6842d615181 = function(arg0) { + imports.wbg.__wbg_new_63b92bc8671ed464 = function(arg0) { const ret = new Uint8Array(getObject(arg0)); return addHeapObject(ret); }; - imports.wbg.__wbg_set_7d988c98e6ced92d = function(arg0, arg1, arg2) { + imports.wbg.__wbg_set_a47bac70306a19a7 = function(arg0, arg1, arg2) { getObject(arg0).set(getObject(arg1), arg2 >>> 0); }; - imports.wbg.__wbg_length_21c4b0ae73cba59d = function(arg0) { + imports.wbg.__wbg_length_c20a40f15020d68a = function(arg0) { const ret = getObject(arg0).length; return ret; }; - imports.wbg.__wbg_instanceof_Uint8Array_c299a4ee232e76ba = function(arg0) { + imports.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6 = function(arg0) { let result; try { result = getObject(arg0) instanceof Uint8Array; @@ -1261,11 +1264,11 @@ function __wbg_get_imports() { const ret = result; return ret; }; - imports.wbg.__wbg_newwithlength_0d03cef43b68a530 = function(arg0) { + imports.wbg.__wbg_newwithlength_e9b4878cebadb3d3 = function(arg0) { const ret = new Uint8Array(arg0 >>> 0); return addHeapObject(ret); }; - imports.wbg.__wbg_subarray_adc418253d76e2f1 = function(arg0, arg1, arg2) { + imports.wbg.__wbg_subarray_a1f73cd4b5b42fe1 = function(arg0, arg1, arg2) { const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }; diff --git a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm index 0987b9aeec5609183d7d72f4da80c7a323694763..c43703efad4859f8b0100dfd868282cb71ecda7f 100644 GIT binary patch literal 658115 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 B3bPjFB3>BjX z;!h0q0`4Ziolvi7nlSvA@ac8=bsu6*r$P4=AMP4%P z$!5T%pecGRK#IQdgm~G@DL$h9Q7Qr?|)eTsWi_M^{xiVjNNqV*vU>DDmjbJEwA zAaW1R7Z;4Ymg;I1j69L+J_O^@@L_$QyAei*Z$YR~uYhW*fYf8{H7y#(`Ol7-21wb< zxQ!rwr&FW&c5sSz$DN)+SKWZ4{{M6|pGDOFJ$g)h;fp67LBW+e5bLQP*%_Rj!5Q1a{uxN(wPe4XqF}z6-*T)LELF_+O7W%L@8#l4%=cpPWm}Gw zMBF#OYtTUEWk(VIau6xE?60oB4O~488*=2}jxZg5b#}ro$Df#Vj8UpiPT^sBcU%#$ zIy{AkQfXuB^ot-d~<1Z&D{(=(FAp~p`os^t^z4&VJb*=bn^R-rd z89J^ybX=mh3zkVn^`7(2?%&0dD$FFtii8f>6HzTjw$jGNwsBG*xuUkaCl*2R{PCU+lyjlKZkAv{rZ>FlL{YE`047&{A;hgf{FcfzVD+Lnlw(IP$FQ?A&ftX zMbqb-A3TwN`ro|r3PP5esd2uB#)=PYF+QxkY`*5wP4d=VDvBgh8z$Q3EN}2-w_6)Y@R*>Z&<#TWf#*A}mHQ8@bo${#`^`->KO&Ijs?6`2 zQqtXxA1?0upkbOzpFnH%H9`uX&ZJSi?!P`{UtjTGAG9xM#BzSXzP{|ge!#vq{MY;K z>t+A-{r0u)zaF=*FZ!>??CTm|B47S;cIp2XpP)M(phO0>Dffl=eL5YO-f%g^RT|&V zqyy6%UP!Se;`@{7!1RVI=>WSGBR@qyn+`dj;Kk}APC2=la<9e|gjxELSYPP1g$&6@ zj-{VNlh0rq5o9>!OFsgj6gZY%RZ7RFbmEj3mD2Vp+|4Y@FlTfN#MRb{Q$DSfhEHk4 zDOZ$I_bK%_UNE{Vc8yD+lwI{`Ei3tza&jacAt0xQo@IJcD1&E3##%V*0YU*uNKcQ$r6o zXywVESv{T}&nts8<+uFD$(B2656H+S<07E$s|_$|tvtdpmE5oxK8D;_dGe7d>_xNA zb9wa?bV5p!S09{8449_@=Kd*jaR&FCuRv$DK`K{U%qDf2S!FhHRg~W_H))xH46r{@ z!|`2I2L@kR{nGp^$&+HkHQBxZK$h?a+oTHKtt|5^n8_9aKrb?7?K8M=sbJ9MtLI!P zw%d3BWK~fO_x~-T0(ho;wlO=nMfA=JKtft96AiFu&;#1ZK?>RuAqevpH6S!Bofll7 ziDa(ty!$D-n&@1Q3(77Rd322JGk!CG*B6xkTQh0N+bH~Un8H-JV#mr-owrSIY6{z0 z_^{J$_|S2>89sE1Zut-WtbuFkj|TPh92#u9a*0s@hQr*l)Xhot*5&uLH{6%6ajdR- zRFWaB=x)+CSp0rn*aTz!_qjT;S*lwY{T6V}odA&zg{aDi$jS(`wnU&&4mr#%Gph6O zeV@|NEBkMm*HIVti70Z1P=EhXf=kTMByMNXBBFNK%~%W4uYVFdG4W&&mg zhRtQd)vRLS3#>cINC(*@5fgWijTA9)2en!yaR;vhMPfjzND|gB^3=7CQm6lfV$vy2G}NWnEpvFwR{!mgzk*IN0ycH3|u+=)Qeo1yY4Q#b660|U?XUatme)Cc35M(f{jgbik({W01UqWGukOO zLK(}gLk8?G4e6?z2B>W`8vv56x?MI#oou!3vaMH@t-f8hYpeq7LbuDNd)l?Uxm~ua zT!Mhn-#i=mPEO^`kGi!GIU0SIz$=LCq)H@$kxq?mm^P6JXdy&s!bi3zCZ@#3brI{I zx%3g(G(X>?#c?iuXuzsJm%fMn5I@J^-TZv_prfDr*bMRWofuy8a}+~tejdXx+cxn0 zWz>o`HJ6BwVl>|nwnj16ECzlNN@*#49NrCJ+LJUh?p52ae@1)!Z0cm#hEqUF zCM>T$huIkuh%+15Of;KroGtLGFmV_Y+dciRUv)E^y{wSw-IborNft(JCm^1%Cox8E z-z;6}@vZ)4iK=O`-cP5!gk6RlMr*M&$Iw_q(w^;3V4C8GZDAt^!Vb$S{q ztm_As!KNgyorDm{X`v1~4K3UC`=?}N&pu2Y@0`$HN;y@OpE_-{*+Q|}H}unZ5CpZ= zh6AOWpJQdJAChC*hB(o5+DKWFHDzFPt+4%q=NVnfYK$qb3B;=Qd;)eR?bviZhCLhu zn`FtMcUF46Za25{h9M(KaR+;AO?;N^(jZ|-sLE~1+@96Y@Gu)u+okNqcemUv?EL?+jh9IB)3PVIzB3eVX zQ?--eSp(yo$EJQTw3BAY65NPWmr+3qF5ov9?FrQk7NcA-Pv)d(vB5#vd#BhHgM97N z<&KsOEs$&nc?mbfP~b$ACnV&bUdI7_An6y14^^HF%!W|dO+Wg*(4j}~E#Q+O6>$z) z43^Pzs=n3+P21u*I=0D+{c7#F8Y|8yH4$%K(^(>L6hTK+_~q&USXy@IA{!L-CcS@($t|)0TsLvR|7xO( z_+{=5+OQLv<}#$F+z^DO8M`@@kjf6iUM)nwkd$pi5V0RsM`DQVL^&BE4w^1EbaZF> z{W>Kk9Ls>^Ww%xtuzM8o!+P_i3B2>6}Kk`4Xlo%bKZTyml3{7s=@Z*gq`gNjk_w9yz-FL@1#9E zC2N4YP7In{R9W*F`@e~F4VFSbR zT^Ay1`NFAz$;|SmnOPu%)jmBr@s3Jm{*}s;RaUgny3wGy6}IDQqyw$y;Ob(B}3b=YL)iGrZy3+6o{`N6lAtNI8`k{`Ty8^A0WH0 ztIqTH`@O&YPkORiQcG%EzxSdfEi4lOjx8L|(7(oUWa1$rv8N(2L);Kd>nlO|*sk;xP%o;fS=oOaLl*|$VE?$7W@@JD|+$R~(4^X$cH{DmTd{IRSx%s*-sOTqlJ zT4kf+wO+>}vrX~LzwawbAkO^jSL4jT>tCr<560H3ahh|j8ec0Sw%_Yy2`%cl$pWO~ zrZ`gQ`YuL7y+>+$Cy?45(Q$s#+mib|{Q-Wi{mFow#~g6fe~xI)&hBJdy<3!QK9BtY%&qgKJ&z67Z?X@(Gp#&}KIpJ_Ru=9k?McXM;Jvsn-um;j9tx=e|9m0up z5z~J!#A8f=CW!TD(tFg-dvt5rql2{NZ`q@R8+%0O4&(=Ol+;GLpw^i|t}R!UMrt3% zl9~yo&7j8-j;ZW;>avb?6aH^%7W>{IoJg8D*0b3icgHllSryS`)9P7a!D6^s>En+T;ZiA@VzE}o(iOq8z`yzH6B&VK6$ z@5&kShGJf7hP+|J47pbK8FCXl)K@DrfEn?DYMdGIXf@7^_^av+`inBc1UMpApN1l% zq1K!lk*t^uy;%Egj%X@CiTCnzkwR|6jH|Z5+OMeq)o0HEw8ft_Xon$#z#BZU^rwR; zyPb@GPR70>Py89VA7`uhSSyLokBhVDBkgk`y<~3^`eNpbpylQN;gOy%ln-@2C~n)N zJqus^7k~Bg$NPWuyT27VbX5|ch3{SYzF+S@`qd}D#eo9@Uis_4eC`wf*B^cL--oQQ zrxL%e#WLcBIx(50SVVx-2?3F`j%^?evzcsf-iT!@c|#)*E{-+=z-R-OyaCIxt__d_ z$30d*JP({>#X!^`+hkLnq&e(AYQ?$UxVQ4Mx00_`Xd~wDui8opZfYA)#Q<+;rDW@y zw3J%_s_J9psNaF?8foZ^Z0eh`;-{gA+Jv_zei5vpxR5?jJBq1$(G@=+&=qXx)s->t z%Eh89OJ7G^9f@(AF^lXUnBt#S|R2UZ?i&3XI zYk8;S^g!c6j)&Cke0&zYh=%(Vpu65Fm%cj{&G#4{JTR!swgRwS=$)n@Zztx}8*Y!O zdbkNom$=ia=gAUPZ$z1@86eSem2gK89;p#?R}w@jQPdrJXaH9+g-R9#7V5Hg(SqB zaB#2Sk`Y80L9QUF28&H8S4if|e=g&Lqe8|PNphx<%VjH+XqaBoq_SrN!pH4mvlBb^THSRGkjoYr_e7fqA^oBp8 zM6s)}BzCcue_1x_7Qa&KX#OV$7c=K{1e<4g8#jG7ZB{DIFKe zhB2Ni$JqNeG{)A&z?m3gY?n98L?vcw+zTSb`}tNpCMh1$`mv4Y@O)~DU8T*;k$`J7 zVZ?~u-D~WHC^czJd@Gd)!*810GldXR92v6)P*<8AZ1GLqad+!FpGRHOs8Km@qktA# z3-DNVF|{=afdDdK7ke6kYgpkPD`L;7$|0l9RZ`oFjUgtU+%HJeIGT&AG?q50Yqls2wX`Ljdp-5&(#6zVZ^W4=Yv^m+2QNS~JShiq_d3ODMJ` ze!C`q+mOoL3fu*#pe>E^Mxe>?vGg{(iHg(-0MzIPK=oKwn#`w?TRYO|N%QS?o6*XW zvuUhD0yLNEZh;O!i$JInsR-j@U{(e4o&nc()gUz=-G`Y(oHPrkF@r+uYMnmwV~TSH z$`H~%;R=rpVTK?0X0-mZi~mtF6IcxK%^d)6=YImsWhRpS*k|mb$_2(M;<+)_0CD9A ziCnkk-$?q-n#B$&a)NhGBMlNw01Xfd$9ImEi3Hu3CXl zI()K#Pdc3Uq?Er?z{NC>f7;>G1zhKQ;5;Oy{4)i7#^JLLpDo~WS3>^O;b{R+9lqb; z`wRGfhtD~Du7J-u{Gh`R7Vv`(KjiR31^kf1Z*};s1^iZr^Ny6-f4G1jcKDqRzq5ef z>F{}n&lm7{hu`J!y9)SS4(I78m4BpwA947-4!^g6b37A%zxA?ZSybRi_+ z!o|K?ERz;P(&HiN@iOW0kYr~T>RKw3mO>J~VywU?%A_Yk67FOy>0+6LJ8~ObJkBul z<$1;$A2EHOj3@r;ZON|lO`VTdP`qsHkBSW|ndg9Q@{dVYD`cG#Su~`plr8-%A_CX& zX=ICe1idwUWRo0azv|COOBma2>g>%GUJFf|RyKHs^$3^xQobF)q1eW(^AbyHi(l=8 z`oJBsB%5u!b5G{!%=LdU;7N|B z_+zgRuoPdqJOptjUsbd{^IEP8L|IhZmZS4rM`aZ)QAJs0J)80AUT=VCBlglFLB3eu zL$@pb^|c9@;a{ay)i&f`8Jl5M+sVLdE(&KqqIsc8$`eM=Feos>0?vj}sIuh>FNa)} z@U1Gxw4&6SR>n&xJ<4E^!dSqgXjp=WcKEfHMc zs_9APMW?og#P6aMF*)J1q=K!>0r(Dak?f6DMYpbTVx-po6~dd}i~WKZhNmFO>^3Jz z_IvSCw`tp>bK1@7ChA^miW9G8-*_VX@n0&$SUQ_!7prjuzf09PVy?w%95GkF8fPQD z{@F@->qP{?FD+jF^bjS{Pvb}}*tPQRS&8MFgr z#N#`I8VvJ3?CV__*0+8Nhu9Jroxy3c6eO>tJdZpci%R!%5%Lfu8 zd&vM$m|u}6P+(HuK>)!Mjv_*QM3f*XibWrW2AKQ?d=GQc;cet`IEh!1q5M-30`}< z3Xq*OQ3&nL6d;5i+)4x59YE4Li<#^PX&eH1jsdzz9ZT^<+kA&L&DzbiL(y)$SZ&sB zzU7e~T28-0%k8O!ywT%obl%=^31{+_j>F61SIjr4aS3M1)@{@IW?bzX&yu_0rZ0Sy z#pWq)qiJOGBu$;jo)X9o790jc)n;oB>P)aDEV9Eu$_Z8FJvZ78!Y$7snXzzNUIEa%T%2f?s>Mvga+m(IQsYu zt^U=S&kJQq)Xj?@@AKW6<)A-~@s%{l;gFKfyN#_t&F$_fHjiwL>s%e}$dqqZb0kqda(($gk%$y6Xf(tNKjF z(3(YpWh<6+)j;iQGB{#tjU^*300vGRQ+Wc^9vi!Am%t52FyUD-ZOJvw&LwVFVm701)u+fGYq3_6?wFRz;Od zc{$60MuEW`dB@ccO&pOe^ws$uenC&sQvyZ*=`l~#2n&JxCht108c_wzmBFN|+%Y13AbyOO)HYY_J404H3wN01i#W3}4mNyIDShd6O=F=|Ziz)mE z*u7|L0kI*@qb#7x5c2t07J2Kk2U{LPKsVVyz{I~NesvIamRYrQp30ueW8M+cnUtIj zh%zbp5V?KsGs|UVi01d4k9KZk#tsdMM0~%UAYNFs}xs(YM+++Uo2nem+ zUbeOjUM_H6^fH@8N3*Rs9hPsER{)%W$-GL zJwgv6_7Qrx255vHcr|yF9sEU`owh^qkKwOH-U0tPlH zG%e27e~y!=mTnPs<#8DC>+3i4_B<@2Cq-|J?Wv^m#u&n!1GVcn^!7g7n?(sDyor9U z2gzN}KbcK$N_1@><4+9>1nim%PS@gYe-9p$}f=Lm}ZxGEC@K zbl+w6%Ka~wgg%P8RY#rdonH}kS2so7)%=rJMBUovs9Sr@4{?%hi_!?{uD#}m>zku) z{Z&2`>aLHV?mDOw@*u^W03l;eqUB2L0$Zs28b>}mt``D^HG{ZzkvMsTGX^On2KgSm zYT#0`z(#10!dMwL#sC%R#j*hkOI@~m15_j+D+Z{@NG==TP$2=))IQ9)4z^rDOgWcK zt(8-l2`Y+?3=DGFl%TvLmkqK~fvgzhQU!9!Aj=iVMT0C=AiO_JUC057x)u%6uRu5` zkjJ&8y!PwX5zcG*SGK+*AYDcluJCa-J9R}*a+};g&!~5(fnZ==Ksc2GS*k!d1OZvB zKy(C!*DN8b3RzT|tTU|%sft>3;DtIWc{mUO;eb%&xoQw38aYI@Nbb8T z6=PlyW;ska*ukmLp7F4b5`A?}Pv4fDUC!j`96`$8GkO}q)lnud=c5beuDOA^LsjAL z&fM7$b{+@}9@Wzb?WX0r0)Qv&{+`2o@vDFI1D``(6K3@9IlTWO99|(!@pZ>$3v^i= zMT($pjS?$$9x(Qh*Qh@SBL^kJ8Rn8)KHq+#bCt)_$ZiZFUMyU2E8g*Y$X^twPdU}9 z6bXRx8ngT$uH%>fX|8M;7HF~7ZqcL?fA0bcHp zMIyHT0oddO3%5ey!^rdx$8F2$E-g5N``S4b~{Y=*nRMi61(psWlc-gLnR&#RZgOJ(qSeMEZE(DmoA z^a5Q8Kts}tMz#cKNSf8iE&>{oUNlUaC9AuN^kN-dF>zpdyWr09Ae>tsWDC!Oi)HXC zw*e;pL1BZSiGQ%0C1~Ow9(N~b;va1P2%7lETG5vduEalT4XOyxqrGRJlZ-t-uO#{q zsEAgBoO}YMoV~)d5)BBfkwBw7&mW0b@RJ7ahe1mjER484L}$X1JGck*4{rJKa*gWJ1n3uz@|ml(1nmG z%LK*>bh$&Gc6RxX5u4oXMO^v|!k77D*XdS{-FAUMZkcoyK7C>?+=|PUGrHznidQOp z0S7Trk)y>kthy$rE||FFc^ntzl`&SC)pj+n?c%uJq2maWVhF>_Uxav%ZsFS&FLWDe z5+I!b;m#~TxXiaas4)ge6d+i=0+B5i4_S6uKC#p2V%B${c7zLVe&)FX=jX8Q5xH0G zP9*dCr^uYjs;l7M_~-+L6@WiLSe{PrtIwCY%_UlX}Y&ANcn@!vmQ0hZ*;>_YdPbFd>;M7E9(`%A|tWhkHELY0367 zVnr74FiO)?)%P2_Q`$Nj-44hWPP-^FZ`0Vfji`A2RFNAj(&m@Qm_^XEQe?s+JV{8T zpr58vwkf68EK%jJTUG#!2rt5w)G<5?O*O2VtN|=DcTuXUU}W@L2BMm*Z%gzspQ+JK!= znm{~IN2Ag_h{24?a_S(tI+4h1?`wiUdtbAyS}lQ#-<_< zqK1^6b3*|6yCF|aM?2+$X*(E2*)N{|4k>TMCn}Mo8mSeLuGluceJ8c`lsc@KZek@C zg^^3eK`vY-q6TQ0(Hc2n_70daQ8!IKcZ#hg)Cn48Tt!MF1r}SQ42Z5l044!wRt{&i zu%`{|2B^E%1qJwkfr)~YqyX`by_nz&Cv06(Y^U2&^s7tvhuX9C)+u~erXY;Z;oI4| zVC;FVu!Y+w_`%cJqwl-WJ_Qr1+sIc+!EWOfzM0%Kg*M0sAk0eJEpp*vWLTlGK#LBI zsI%G2kG|A8MbLgRbM4n3%sM!_l7)m&H-QzGHsqIZJA>UsPrEMcq&HoxY-l=_I7Y>d zlSw@1hD>S-_pYFLkMgv8QOFaO1*P$c3BI+a&ElqXW6Mz2cNawpn9W84g+ZBk>@oiO z945=)xlY5ysugqwzfzDEA5@5rVu}@%znpaSJP zv&X>fT9n9KK}T7WowhaT5QRnG3AIvY4Elt~Hg#~J)|JTxwlh+cK1h=OA+2YtR7*qc3Q!;q6;bS3DoB6@}2`UPy z=77d=9_Jx2WSY;QK5Z&j6K$_4Yb)z3YgHhPd)=Fez67DQlO&`JBxW7kl4y!XsR`C3 z${3gBB8xj?%sr)ZENUV5GU^ISqiS>WWNIHLOtVa9ihj)cx+jx@XTM`X7C=S%^?UYm zR8(uaDBu1qatnRx@itq)&9+nB2NgyI*|lH&Y}EMxs(^HWz3lB%k(1gG;@EU@vnBDWim3g>fN5Lp{(V^+TGVF)@IEkHrd^;*d(ho zu}=5(igh#@n48@~<86xF z*WIny{oUIYyT6N**SX}~-NTB#ySrDhW8H66>{u7o$hqW!?j4Ff(7jQyZU0Kl$tdjnlpmQ^&C0Q1h3OFL(zZ#;5}*W6!sVo5#Pr@ z41X;CAn}{{_m&VpPW(px-4Wss5TE7Ww}$vJ;(PgrL6Lngvm4!?-yY&(lXmm(wh)&Y z&kX4)HnSy!V}cLx}Gu&g#9@xfig+%;GYKcH?gWb$s z5Ak!iZ{TfnJCwFqF&f6}AsKvgBAg`rU{^o&4~f|hEoGAW2_;VI&(uP?n5Qdju1>`V zlAE6dB%$<M{XeqBU!2|VL&T8T>zje~M zTXq=v1fsX>_Uz5l=BHgGS}Um+(^t3Wtn+v{T#3t;RegH8w15G{cw|VSw^50AOCbFPx&9 z$PvnVQ3vx#&;K<|CJr&H31*k0EsH_KxW+apv#^L*(GZ+gY|+QEU^faHvP-{*uvPlm za4;A_R7_JZ{jRKnhD}p1D!1HueQ z_vFi~w8hx##xnSVY7{^kybGD%=LgYTaL*$p)*m5$z+JJaL)rgYjenqsWRsa0ZPzd? zuV<6yug+$Xw*pzSYXQSX5X4&?yfBzUtSRdncK2GgS6zo}lx8taS_GFFx^&qmsj2fD zOpsfm>yl23AmC|B&rnUd^Dp!u_IiLT-$SIC|MI$q>m0xCp&4Co}i z(NaQv2Y35FYt!_(Fafm90~&o{}%mi8556C-WM=#qX+nQ@cN*FFY9 z7X`y`mro2OL{>X`6F_J?KBKX*#lJe(Jany{B@_bR};i?%X z35O6(KQ#!3nWFzPZ_R7)s@JVDtC~DsPv^f*=JiiP_v$ zBZ3K9Rlyt8OzPJVkfLfqA*PwMr6LMLdy#ik4%8NFy{!m7ONrXK-nQF;hEF=_HnbPT zy=*PC7wtO~vF*E3yk{R`+TeA);)fT*hoxN6KE$l@H9lMpAC@vV`*8VHK2!%U)he>M zbGH-Mz{qyv)lj$MsKZF~l~H$jQ`B9~KY2wA3^qsI;59$IvN`Imyyl0io1<>^RX!Bz zu8yGYs-aGk2(36QC5{{Qg38Wur`#)v6V+UAD`IOA&3Ci9QqmwKq@xL__!&9Pj3%Ho zXbFf_hKoWA(GuFD3CkfN@&ubdwwEwxI80h&=&&sUmKfSkvO-e-+t_+O*u3?YuvzOZ zVYAj-!e*_vgk{51^sXtxv6>86OF%B>@f}kPjzN`b9TQ-!CS!@PCa`Xq1ExF*i)=yG zKfl{1H=&F}!rpvkgKN_g#p3Fh-72)NOF-?<&^bH0I4q>d+Q2H?E35tW7`EIPs)W6k z8%Ebjh%)UyN%rYl?oE)w=AvJy-4=Z&P9xcF4fKorI+7dAINKW>d$7XNlrO@z<#+Ua zc>wmnE-eG=!1B5gs-1RVk7NAcf0f*DewUar+2A)fbqKJH9$`o+hJ@EI;A1Kd0h*;l z04`&j*0I7NKvVa;-8O}<6&ATmE3kpzmB6ap5*>s8p={GMx4+u7$i0M6v2GGX&`mZi z^TuN7YJnGM^!J@WWQi&^S}cWa$}l4s2LYA&lGu;&a35QjRV54tLKlAXM{MiZUiRdy zRa{N}T5VmXvReVt_MSZ{rc$MKaExn(?5ey7R8`?IeEtP9iWAnyv+JaXN++}RGO{JR zRz^D6S{b1qdE^+?9&!@ZhO73@1@6PThB;{dUUFT=qWKfTW{{Xa!Yijq>DIjCYPi_} zJDTiPUsy8c%x~2lDPws=$QaKfLc&Cd=tnJNb_`)4lo{S53gv_nM!xm0L)R!r11jc1 zV@lUCE_kb48eymvYf?2d@~A&Dl7OHb2E~q5a+FHbp0P9Pn%opXeH^SRfNSE=nTF5n z_r;IvK!Q0`O>PQ!h|LPnap!8x;nvmxuHfaSfb+OGc@_|>!mfM9Aj)MYO4NZ>!0BGN^ zoda@Ob{5dsKxp?W-PYcda)+r;C{eRC(Fr7c*tVN`$e`*@qM5ssIG#3baQk?Z zcv1I4+ipwN_+1z<;#>+d^Kt5%dy{w&DZU)Yukb=-jf!j86Ue*tFv?`uks4Z%^tys= zYwR1bPIhxiKkg+sci7-jBAFNWQ23NEm**+#ocWY6U+bk$3GyBq$$HSU1}EwJnNvK2 zcgP0~CmS84>-a`8LyoDpxB2ZC+X~!vw~^sEL^H z#(?W?^y9Qc!$B1m1iA;(3$HOn<=@zjjUo|~tpI6@+776&Rxph+9$42QFwZ59)OIX7 zm?D1V$J`*8vwFG905A*X$>{_Oo9*wgTiQLRLm8^UUms=rRSW#}QH#*ooI6ktkS3@$ zNJKkG@S%V^KSUh}1iR?sXmOpCIFzYhIyzv)N=FA8xY8d*#aRW74Q?0sR!A+}F3^en z=3RjR*EOZv1>)`@fk5eY0qs0Z_i_at4#`==lPz<7$?hkm@wwz;3%0gEE7Kfs1@+8q z0~Etk%lcS)SB4Nv2LlwtY>Yg}S{rAYq3g+Is7OJ)05+hVd&KnhaprP2Uh&Pe05Otf zEVln_4J@=e-=&;`F`UZ;MzYTpF{_G_^96zr5y%!sWQlug$lFvBXWs0Re)FD{B%XJ^ z*u@-4l_&75Yw%k|*EZ>tg!kA>phmMvr;?&mNR;LOfp*a;F)>4(`j`eMdv+{8G_d5( zMV}eFE&6F86$^hxAS{tc#_otNjkC?SjGelICGr(^O$fHPLnO6>tpw1F=eh*wQUL9A&{YOB1lI_LjMoT;V$dQ^LnT;+r=bbUp%kLaU`XIqVX9(7 zzFeA3?qp|sD(33n!H}l{o=Ham7jFI&KlWOU;2QE&6+>6h_$~aReDIV3cg&kA3mnP%_ z!pw^JJJ2)&uQ?sNoeRwoEYR2$n<=zQut0(XgV8|20)<{S7%dgd30M_goRBAlm2qn0 zq|f!}UO9tjCE(C7lSft&EMU0oDH8nb$|GyAEIaZ@AJOehy3?~s7_ldhtk^dph3$=R z@`z=d@oxr}EkxKW$rd7#)9y<5csAB}QbGj&j>s-g>9ZDcXB@Iwe?mQIrt5Y%WTSIj zC3^%;O!vedS+UY~cw}8>a;W3CdNT`u^YXuc`SUNo{8t}1|445~MSvR0Am@%!cJ8y^mbbVo4vg#jh^f6Qf#exP8R7I zMt%&nAnVN@h+KI1v2*DTb8-Hf-Jyz&-7(;X?ih4KcMQ6rI|d!;&YDiAw7Svj>UXKx zyHVY<#`kWr=GV{lc1kIBuasiX_4YDcyXl8_ewFUdGPHZ7vMVD}bsAD}U+w!0DN_3v znD^kpMx(bQN5r1j7}r%Aw*e87tL><0jD`_3=qMtV4LXVlOb94p1QAHA)I6Ls_0Vd- zO90)$_Cf95o8D;SmTFk*2HKh4Bor8eR%_>a*0p{E>_oQPOM17&v$ zyyIX?pYKY0j`stOcYIU{Ycg>)qcwaT>DBcGK9id&g zO7*9o^u7UNopr1_q98n@-J6wRCE$I|M&`2PeRukL%VBt54tRf~<-mAIeYas?WJLd% z!U=R!`Uc_u4Jwt_AdJ#iKsK-1hf&23m@?j&zRuCf2r>B?s(l)a8J{7qJJ(}8Z1Suy z7`?Qc9mMnA0~;d8FVGswVxi zRnRaK-? zZ}d`cG!?Vmsguj4A%bE8tImB!57I<~c=ENtmc3=DF(nJFmKL)(cjHq4xU@c9XaICOYZp)xyF2Ag%@Eq7RR>;HYVd zp%K=+<(?#kHjAjc(3AOEK8-Z=nl^ct zxQ+KN`J}Yva#>vx*2BKi(}dI7DSbM|(#s0XUT283kXnxxoghN9`^=xB*>u+vrL?E+ zlBfZrhr5}E`>mPy+f!?bY3O~@(yN~Nt{8eo5i7Bni0o3{1@+vg`wmC^4*D}^^k6`DiymC{q|k#^l0px_p(ja6k;>Od3hf6ao)o&aPLkS8Mlmn&CbSX@Ky__b z`VCHMHfpeNVr{e}v5NAWZ~ay>&9_f4d+9rThqf7Zj<=0mjA8hrJ*Zqkq~~meOnPCp zlfc_HMLSJs0sd_S(n>4kQq`MhOywa6K!s_AaDhSEQ>W*9Ja4osouRGt1fut8ZJX6m z(kw+pzRP+u8yHZPB`!7Z>rPAET`pJmO`%_yRsb@0nyE0z!*)Zv^`vq&dBoglCoY@H z6?61kUc9I#kC;2{9a@4%zD;*@cj+CD>MA{A?zAhdIE5PdT%T4_-^sF8+PJ;zGPvZGdjmU6?!Vd>9t7WV{|GO}r-4-;CjQJj_Z} zqKeE)AQ_^?l#b**l~EwGG2R?6HkdmxJ%`MlZe)yJ%Zs3$g>%&!9b)1;qV)+Wh}kJz z#5XCj^iw>CULXi}3P=z=R3Je-QGr~vuaN8%UtKW>f}H}gY7pc*1>~wh5c3p}HG?4S zDInJjg3u?2*iwxxmc#%GuM(DkLpM}(3zv$euR|6Dgnle4CW{Owep^@CI_mf3*p&<> zPO7_riHn0fqGJ+bK7mkE??ocB&qbuNq?_sPgtSorhf39i-Kg~Fm*an5znuK9kMm3U z>-xoB`kH<*mR{pGTSU$_jPkxgswls1t-f4#I$Jjg(zF~6>J#NuP@W@ZP0~z>KTQ1R zVnAGyHabU@-@dA#GdQ2AqTHR&RENc#&s2xb@md+)d?>&vl5uKUK`eU|>9h$W(LPh{ zHbfdLn%8Y}ebV5fWEI!{F&8DKT+vGwF8<=++A|;i;UE4ZC=!MIg$s+%{qyHP^1dY$ zjIak-_?b_wfBbj8^3z}b$1=xD7M{EC)tBG*Denuo%TL5E)MqcH{?emD>1Ca+*EW|B&;1)gCS^@gnpq`oF<8oSRC~1V z>8JvFj=Xe&$yacHyz5c z%Xu?!;}{4$gJEDEw1l0X1*wl{6kcKc~0P};iP^B5ykJLyb$(Kw1B}B-V&M(=Xc#gSzk+jm6 z2J+hP&#t zWwY}(x$11BJLIaus@HbF`r1Z8;;gyuoe9fJBXR3JZ+ zO?MEut7Q`Zhp0wY0zJv!q2)pSsC5QW4hidaqVf@v4BVR1Gj(YjHAFMOXj7q|MPUY` zaVUj5qXLl_j8^t?{U&;@71`b&p#*E8siXGB(H7zh@(Le*2=*4N0GkAcl)NbU60j-d zufUdpp&OYYbT9H<1jZu~L3-k2O$(M$KVK5LEEx(ID8hc6Q=S$v18 zHbojOr3PKZ`mwjDVU-#fg(MwEr!7adwA<#Y`dzGUrPdnv(512$Yh09IvGRm45Kcnhp&Wadp zDg5F(Kpo(ZbGfPnn@2Iau;97>Ad#B858A|8k-qO~98kQPb4wkSkUS_JzEa;yaGX(* zf!7C(3aAQwtgkS+|ClZ2W{S~pnyaEKxvQd2G~*@?IqYlHIVhyvtDUa1-{!X27=ugv zLCR!L&t9gnTg&sq28^9p+QR-C7Y-bdIXlVDpNagP{;U`zTF;Kj$ed(0o_h9>Me6nh zRbiHoYDrC&`TT0DmeoH&x!RUZ|LN11>pUCDl24|X6Ih#YP&#>neOnJ~@-V4fci>Cn zZdQl78c?GFfu%GT+{=#1b_Y8qHiaO|s5AgiJR3r};wD%U(>S zJPXU|M3b5mb2_1F_}?4`B-!LCI|LepG4KZT)N}WIBJ09RBzG?G9m0Rb2?dX=!ilg| zHiGL8by9tC4X>RX%U8`DDOZ`Rg9!b}t#VkCfw)vn zW;h^EO!@VG6Z&~HRY+(5!nVn5(MQic%}Qw9TOtpJ~Oja=wwj zePtGcFg|XT&rcnNL4FQmhtE%2p1Nd}k7ga^Vsg*Vt=QW0(*dXa9H!U&OoIb{?u3u! zX9l+c{LG`*#?NebTt9bpAux9hz|RqE^cj8h()8zERN)R1pG18T-apy0f zYpwmJO9nHPbhHGpsN#MC9*gzY0GvW~0InJUBfq|;7N5LefGxLSz36~718lu5;rL}aUNk`Gw&d{uxMl!UR5@l@ zjz2NL4ZO1#0P6`-Iqct14t|GX8`%RfIk)ezMB!`XEA07 z`8~!E^7DAi81nl7W5~}EUR(5gT!RRE6XR5Y-v{xgz|X}PKMMRlgaZYBo{W*4@q32D zG(XER-V*qIFDL3qfv3O^?`kqm_X6N*h0qZ~T!0d~i_q?L4mDF=Z$r9e@0$)(WakLlP%d?j@Gld<>ta_IA?rQ%HbAawfK*n53Ny|yMl z7aP@`AvVc#Ywo0B!szcoVB_gFV8;oK86`eI2xlk2juAqalaSmnG}9?Ua=^eUK3Uk7q4pp)NqvK-~yDVMji4WaWlVNmxj%mD(`>C2(OsNYW_BE{h%h!js_hygA zon7oBEG~xX!=3t;B#Bw-qwIe}%lW<1(5`7oVxgl2cSLnkNbnSZAmebyaCW#0Iq4y* znz82{qnSD1q+nw#Ba5j5X)ot__xBPnPP-hP)!d{WO-zfay2tbCSa;R#&X4n~F(LRY zduRrCK@Dl7T4FEme7Mf~tt|jK<4fo=OQ%dBYP=AVEi+9}l33*^4Q?*m9Tb)0| z@RZ(rL5)`}h)I7z?q~RlBBjOey!{a`RJ=C>aUeNzd!qjQFQGpK(SpMTYR(3+_}f-v zs7lPsK?mJjM;%V0^dzFHvMp9sg;DIhX)2%w$e+W_UH`x!>ij{>m`2$T6}6c`xg6>Y zHCL6HEU&gUPqlVz z8|!?4bzZv;yo7+_?{tz;d(3MAbGzC3gk_SK1u~cusI*N$`~bhQE3S+hOoJNj#yeC4 zC!cga&Xm*c#M;l6g}}s+X$+Z6NsjcesXMH?ZcA?EhY}816%-=_^tamUYm}twLSge> zhK4dPnhmJ)aRzV*g%nv=j@e#B#|X@Hn{58g&NDg!F)a3*;){y!U??JI7p2gje?UUx zOn5_YjE?uBKs%9W$5BC#g^Ff5Rytfmb3>Lj>g>F{;8}yP*rA%c)vRp#MCUif4$(g5 zPy=@qtYPBgTS5xltB|6FjS^Cc>|3HM1Ph$TB2WgEv!=~56}7%#dOs~|4m&5+v)O#g zzEbPsy!9GL`qWg%>`-n8=j>0ve-LFmI-kQwlP3GPRsy5xKZJ{bXz0SY0z4Bcl4F$` zSC77?S1B1lJ^Cn8Wp&im1QTQuqeA?3I7yNUkz&9B4~z>H_#T8{{Gc^2j+%T_TH4z5 z+1!zZalMhTQl!a0+6$Ty>h%+Ig4cjWa0?EJ|Kuf>s^zVQIn(CH$a9jB&+4ZcFJ=ZP zCd!7S6QnG$l6jjW%G9lg`8A=HkvXDf(p}U3*UO8YU#`j5KwDMSi$y|M;vap`?BTc0 zUN4sfEG2l-Vc2cFrYQ$x#n3cGlb!~uwi-YR4r7dr!Z=f87=HV%t+`Ns1usi>rin83 zwu&$&w746Y^f0thoP)IK>0&c4x*=;vvyZR_)uHq|wa-ob;~$C|54k9b8u#0*%6>Rs z6Wg`~Kt`QdU8mfQc_t{f^D_|ngjVW+PMke-7_UF(rlfTuUjpR<0&Yrce6i{R!p9(Z zA%GJ~rf@@3SDS?YGKCwO1_*m?3X`vHQ&=BVr!d%OMX75PaLrLpSg%3ln{yUCboiXK z?|n|TgBuHGyEXyVKkYm`*&A%9cwTj^h|IEEQkAknd^X;bAV>3a(l<_@pOfX5>P>@0 zylG)JHZ&V2S>1dxQnec&G2vLG0_ItZgn7+Mn@_K{cacqKZ}_L|w5kBJBUPYd*UdE@ zM~p>Swp|@}Qs2s26lLEZ23%D|*c`O>el%zI^%jzWsr{3+Bh_pCIbT8ICsC&|TPUx~sifn{Lb$ zO>q*+4rs$N$z0OFz~4}x%%xZ$48Ve9JIbuDLReXc6^Qc@t36ANovqrOT7cknNPa{M z<3+rJ=;W^31b8Zr`+J$62@6l1g=Z|QpCQ4l%y3&t+nQQ9mzM!@NWT&xSWagw@UOO&|1#OH&yjLOttThL@7$81lAB?M-=5miN+ z8Ip~4$)cIjvYA0Tbc3TF%Snd1?{4zZhg3+;fyV7*Wk+N~b1esXPV&_sJf&Ohk zeK_H$*mXO_KGMD=nr1N(FBL~rJcJ|hQfiG&SrNsn%@7*sB+`PYBux^}) z?1|HlZ5LcGX}ob{CffS|@()OeU4@@$gsW<4bjP%MlepjWz{`ixWfR1RUc*4@EQsdE zhM|=Y1ArNpJ`Dq&qcsfJt7#aZA`OH2*c_u1BRH@;Rw&f2VrR@|aZGeFCOR1dX9W|a zYHbCz>IyR9wn1z0n5~>P3)SAuN3d0lVE$29)5f&qv}{a`g_>k$!{&;xmC^=5L1wQW z9bqwIU9+P~=QqRQr{e-ClvQwN+JSNHAPNbbnH?Zl9FBDDfHVX)4-Q()^5qLW`SFfw zM(SXeh{vFgHg$~u?d!M@2-@nY8V0^)bVz#}qKd{&OxvMk5nlc7Ld0X2g&m**; z`C#}e4qRq9EXj2C_!CrcJLT&T^b)PfmVStn(Bn7_8#I#!p7vN`Hhmd)>If^W0z>fp1HyxU3U0f}W=o` z_)C@+u3!aWHDj&i`?UQ?+B(;36(0ED?sM=0&iC>ZO!ZzNg_lS+O=&pEJXV>V&< zVr87mYg-22hUoSw$=o-?Gc0vYN6}Zu=>jIz=?1*!(4sR7{m*{sO`D=OPuUd1nH#*09C%5Nk@FfBF3dnpK8qu|b$=*j2iHIdzO4(o#oj%y>vKX4b z@NV`Fjy;e&#{cjHX&3h8Kol{%`I(cT_dt{~p8S{)_&_A-c&a#z%fjLJ^Atn>YqiG~ z=H7on!Tw9F#};M`+V5ZA`q)DI{TGzbUerPafbfjM3F2TH91;p6c4&aY1%NAKN?MqIVkb`Y zr^ajz;~Icx&)1*-Os?1xv9PhjUK&Ha@JI3oH|}Q&09+pH&S(YRQ>qugbBd{<6l|4B zlOOrqs>aDxNtM(b3(_%gS!xXHlWIH^yrf*E+Og*<<003gaup^^o~ek2JpHlilMpUj zlm-t?>5uiM7k>F?R)7C9|Mpk@{7h+=N7A6)YYiFuH7c6co^u(ED00$<+0jB!sS)+$ zPy2d)*~^ljp4~W_Up8;m?)nF7{s9QvJ^I0bTiYtu`~zvy&WvW&Jx=vm7|$xT*FB?I z*AP=Q$}#qws3E1(3xDx}XMbbu`Cs^#CyG)M z#HaKX&iE_@k34oxZ)KoB$4={dofAVyZf!s^N^)qtkJR3$_SPtRm%!GIqdC_>Y^y>? z0Z(MzJ(?AzDzcV@=~>qdr6cuAx2shlY|q*^l#XPTdRJ={rE7-LFaGIozxeE*e&PTA zf%E?TGFc0gBhGNBx8k`AJoT}0;~GkKinzsvl^jPKk(`d+b~^5guy`zXi#aiOD3l5J zjda3HCm0UOK|7U8uiR`1enl!#y~fa>tdXfXG$_@lP`srB8MjG&m2 z%*@)z_^xjl->n-a-Kvf6C>FSux3re}-R5BsDQbk);imc+cFtb~h<)W8TP>IcS8EA_Vt`Ad*(V`7;Z|_Z>tixm^qso$u7QGbn#;dk$S4AsO8p5qW(pR0*hRJA&Qn>RvtTA*ls1S*C{1?qdx!R$<_1bzH%c2B53X1$ zFM5SBGCCW{cnBHhhP?&{H0(7aIgtl8H|#XaMq?v6k%KiiP}smIY&a*`hKb8&a2s}M z+6;LaVpFihkil%AK^HbkLgiR)F})iD1vejdTQ9yed&od_0|;h^uSI-()rYzxD?AOg z(-dS^(v-UbfyAmbwZ>43rndXi77Q%jItNmIcXe@nXEE81rrqm+`SE_x}$G&O+i zT3pNdEV-61a8;U;`LNXU@EuK$F8f5-1+VvI_IL9rz`6>yMS@j2195t?mLc04`Cz=%s9N%WT{K+1MEkZZ+~9$(NF0R4-9ViE6aG)Ry7t zD{m+~{FhGqusb$~QH?3@R}m|)uHo~DQfw#s znFUo|b!-l!3TtO!$|s0h5*3Kzo^~mqVO2y`EZ<&N=v0B7Yd+?nD-c!L$IFg}VRFD? zs_Y_4(n9TU7ni|8*+uuI1#tw<(RczZnbbqyH0FkBfhPhlhV~CMj0MJhZ3?X^x^>mt z@0_rPv25KXZ-3D`TlBFB;|3HX@=&W`h;=JnFP3hI+h0?2WrEjflA4;#rm0sa@lw64_ zb#G-qBbnV2&=)`YD1xd%|Cb}|#cV-hid8c{(`!E5t2}MVLy}>x;px(F)f6paV{Q3L zF3K_*HEInNQhDdH%viEemeGb?d%S0aGtEmZ`6tV0gQUZWXKanyZ)-ph<_0MfSHMV8 z5m_0bNkU~RsTC1ctlPH)T@Q%a(@~|7*uRLg$CmP|1#}fvJa1Y`+O;yq%~Tqp(w=fF zbkyX>$dgf9mYgaQ6pabpFVTt=eTz`4*&L(*i#V-F%T}7rLRt#ibZ<*~-pVZEet^6UD~pS5UukOZV4FJ#A6>O_A`xmo8-&=No096R+eK3SaM&j$oC{}!On-fm#u`& zlXGHGE?Y`~j$Ml49JB=L03BK0i4uq#H)dk-sZcxw9x> zD&6XE1XY*}6!}q|(F+ub-gjn^;g|BZI0z9Ht4cj@1Kw2~uA?5WztgpC0x-Q*Gp#w~T7VPqAQ_(k?=M`ajZ*Af}j5bo`WrYVgrVsLV|1qd7^Ii3f%VfzWl`hzM0BAmy=SNH-!voPZ2w)I}oY=a0eol zd1j?lC$Kb>%Dm~=cepMjc9xSw&2`+3*6pLLD3loycysJ)2W!_b%r818?AE}a+y{gJQ zYs0YC{C_@`d5nVkNY!<5>?-ppbquS_w?|dx(IpsGnI9ijnP{3_WN&!==p=u%A3(Et1awVJjXNVyZPI&aMQvq3%3a`Y=1;q zBm7cu$G`6}n6#&*5wPzRJI(eJ*`BjXMxDjJuuNQ2jw$wZ59`d`mM%vXsw2t2#hI#q ziN2kGX(?Mz^``8bn%6e^*%te(u0(3FFQ4vhwJ#cZ(WnbibTcn+o29n$)Eg|dou^{J zwEJwf{Xqt%H-1M1x4@RxIeSN>3u%;R2?^ulDw0iPBHIFlotF)LM;o`cnTL)wEmV;+0L_kfjTqkRDes@sceFLVos)b zN8pZV+|qWOIlkovmKLX?dnUMJfMWCxHAPfy^oH;nr8Z zAGyu?y35jbokjHoNKM&yS|X+2z!siOQs!PDH)M4}Jn~F7I=c0gAj-bm5-FW+HMZ`_ zMh2xZvfpSS-U8l=DIoEEmUr6v$4k@te0JheC!P^=wT7P5@G~vR{O~_LmPXP1L5B|K zA+8*V#ag4xXL(@EFo>(gi8#5YRPVS1tbn%n#a-9 zGwwOW^)Z&EX4Cg~{#YC>n-WW!>`$6t+n*ch{CsTB(!r4lv2W7@%gH>sgur@D78LR( zVtVFlyxdlY{l!a!*viaUxG&cCIQE$xFjHg3$xdl2=FJnB`Gx@9mU#IPM15)pfg(DxT3CC0ik*Ux3K)MaewXI%oI53k1%H22x_lf?2fJRvzV$lZAod%23r&SeMy+*O}oZ_lkXa+CAv5)89h~?xPviYYd{^ixe(W^bst0Ax37Uo|OxtwWv zykmGYy66UT46w(a+EZiFV3zJSbbtc)kJhK!GQ8S@4Jyt&Iv>O&S(>jk2sr!n7Y5Or zqUbG=$cz>Klf)1B%arm^mwl`nf2xRRN{M)k(mGF~VHo50izPvJI5h}PHQQ5=UA;Cy zSbE?L0oEN-2qjjBTO}q=mRK83me?e`4zWpi9bz3=9bz3=9b(gPI>e^obcoHstrDBT zHjvmXuP+mu#X^u+imn5(R0e{I?^kU9Nomt*>lg1jlkT?o%X%v_1;EWg2@od>A5#Lv z(8A7?0P(eOH6=joEzC^`5SI(Vl>nGsP7_lA{sygZs)g>MhxWAdA?oAdA?oAdA>xkVQ<-SQFFx)x_=uS;Xc+7O{Dd zMeHt+MeHt+MeGR3B6dX9l#1W0*uB(SrDi z|6majOTj9wO&<}6SQ28=fm|;u$POyeo`u*wMA*q*z^UVgWB|y zYwU)!UfST`KHvI*J;(J`l5d_cIXr)gralQ=?{7j}#b(9RyIi_P zF;otqA_OcugQJYv>S$-q@r|)f<#QJQIjZ?y;mqn;PBcgrLpUQ>HnaqegTuSHCCwW0 zLjq4(?m%xS!D{;19D-bhRd{#(z*_4kHIigo%%`8oC`>=|_LI*!^9586(g2#v2TA2z z(g_FDU*d5$O$g>-KJ6mS!F<$2SNWi^h*ahvx1*9+qBPrvc5DiMsF{qNujy&TdFHe!f!E%Dfk>fjNif&#RIt$POy=P?zU@8uJAoZZq`)pMctR{sdN`XW+b?t{EZ5=p zWNmlk!9B+@$P&wp&VpE+5M(($bV8WZLOWN4(jqidggQm2orl7QDTN=VL{^l}f~GDD z_wm%`LMk>HpCZOBv#YYK=%FoU5;cmjdRm`dt~SXA3od`QlFnjl>8y@oK3F@-XD0Q% zOceEfQ|YtanDp{Z%5slMeSa|*CUKVfGOE>Q<_v#8_^GUY=Cs;#)?!LId;0Wk(JX|` z>E#T6id<|5Ar~o@i#-Iyl8a}n^0IjIE#xA_a!r#9gGN2$UgW~)G2|k}af&4ndM-o%R}^Ku2zwY6w4*69p3Od!=Iu?EVe_9 zq*yM52(l7kQsqVi^C#J3ey)`?{SEhip~t(5{2|JIS}&4zb-akOD+;sW%-HkSxC(o5 zz;qPDB`J9F4EI2iN^<0Y-v_^*!l2VM&t#_^9dTCkr)E}>cFWT%_2{K%zTqMDHuI7C z5FOP|%Kz9t;~t?AU8=#E^Lw#|L>^0j6^IP#c8(kfuWm<9h*(QL2~aS(oo#tOnP<6}X3Kvo z;t?E$_{lFi!t<4d&87T^ARQ5R%5sZw3?}3vX+)ZIMYi!5^b5b)=WjNB4|}1JF-@NC ztUA&S9S4OapA>r zqdj>Ur6pN|G_nKl;FunRvEQsStBdd-_U9rto*<8^*-K*&s0Fn^CQKU|Zu%%c+8T-P) zoI?scg?ie$XD|B}O`D7+q6sxZ-O!aE#ZwFW4&PFTnfMu;>rM){5A7qh+YPstC0ZMf z1(XV*5UgQE@=am#1cyuS_&BSw;!Wz;F}+F6oOSP}rPkXfQWcuRqNZ(7q7ohV!7{E! zsc|ev=Ok$pfFbi_p0e2NHJ&9xo3DaU_H_+hQ=M(H<$%z!0-;SqsO~6LBpTY3ErjYU zk`hPqWEYqmw+*2*j)}%h9YPIHtX3@ChGWAyC7Xs+uX2ecD=LfWwDZ1JoZu@inb+#i z;qg-3lLcLxhFeg5* z_&jk2OYtL$A0d9k<3|-gO8ltD?^pbO;`e*}nBvEXAM^Ne#g7v|?(v5de~9=)9)GXm z?d!hq8D-4LBftC%lED%9Jx>VBo z%uGDVA^|hXG!j#qFna$z|3BE1qc@Afzveh#!W|eM6XHW-LVRdUh!2ek@u4vxJ~Sr8 zhsK2X(3lV(8WZ9}V?umrOo$JS3GtyZAwD!F#D~U&`0$tj7#$NpqhkVSbW8w^jtQVm z#)LDo?k3W@``yzJu~`0etgVd+l-k_mz+>}9nX^m3^%*x!{fP;eIN-^NT}6}emHwsi zmbqpe{!8j{T+1WX-?kzxTRC6A!y>z8!bQznSxEcMdrtH4#d(4gXSzw&?Kb$|*EU*= z13%_AhP_z+KJ~j;{<1ofvDbQ=wk)^-F|WKf{w3BffM3GT1I>~-Z?~C6=KYW!%HO2TkKdz8L}jos^noQ^ z1?fnr(PO({)f3LN`qi^;w*EVxjXKNPj2e`j^<`A7=v&#?Owtx)ZqZv}7{Baqh;s7{ zmbsGp#b5HObR#EFUH4iQD7P3uIXDbKC5nx?7aNA^eg*T_5h!~HP%gZNN*DtcpZ=#@ zk@eUtMU3O`m|_*qxUS%+@q#rOPUA$@IFbG3S7XW3S+ozt&D#|cTU5)ooOn}glJ+R$ zN>mFzBs{KHMIvNhZ;8iE5D`m&^}@CIEpeoGLpCP8Xi4Z}ZA^N>lDG`mm~`2aTAL-U zf$2!kb|hIpIb}{bH?-$BERQ%7Ir}&@Rh!UG2Ub#S=b2&WvzW-s5i#7xD-RTG8Tx%c z{%0${GI=sv{nX9(kp8)!BHY0HXq^4{SCEna!Gxf{`vSp_Y`^EU;J^PRB3lLi$d3`) zVwoQ~mHqho_}!;Z>-miA*r{yo*T?aHr3()veXH0TAIzTm0zc0pi26-_KU?d3Fp)G9 zWM`lHGbG7Ot_BWcx{VM_2RvxYI~lrl@4b5luk>s<&U*6Qm*7nI;KAz!z#0h%l!fw zJS@)&W0tSZ{!xN)5{qN3Zp_Xe^EGGriGxva5G#(h5~(6|2#NnWYOfPU3Jinhq#D&A!0TOb=GmdiMF6vyTSG zI+h;4W?m#HW{9sFG|l@%a>fT+n$mBpM-TR-UR~R(8>>{uVWoLejgFIf^+pZXMPJG@ zy{0j&rMd)&V!5kn;`k9!n#Pdb z<}AqI$9&0%)g;9$3-X<+X8M*9WL<7}expGm1BQ?>6ttn*% zomTT2hl?{*uth5a|I3>zw>DnN#NX88wr)HI7YFRiVil~N_8&^)uwenr=p?KXghS4z+OfP)%%e*R@(tY=L%ZD@Nop_izo+B+zs z7h2M*>k9+w_C-1Lp0u!nEv83(IErCYU+JRKGz6$ccs8Mm({bKXl}SI8CNTqAunI~_ z6S_jL0=o4>nLZXc2M8J9sFb3wQE*jILX40Y0re{p0_Y#Jy8gvYxEbE@2=lQ65z4!U ztAB6{p&?5pGw8?YRJ^McFyRY9!ljr+v@WqyDqKjN6ETBa7Uq(uWIh|sdeF1ZdDi_} zzuQ?5ZgYv;@muKW-Zm{F`d8zBujL>YyW8Gwyk`3z{2A1_1weo@g%Xo7nF;Oh!}r6* z)0>7qPTMpQ?`0$6u>_cj$8bWBvs`HO?L)=73!;c%RqO;XdBI7L0q!2q`8M>KP_q8^&iNf)-{YsC}|I>w7oeqe#r|B!WMRZ?f5Q0P{=kXj5 zA|~!O7xW1w<$Qo4RohL%xhk5Vs#Z33w{74_Hpbz^T$!06K6|$?B)^s~Fk#dbx*}pk z9wqE$#;ReJ&!U7(h~9Dhe}QX5wp_kLv~dw#uT{yl2V=KH_xt-XbI*YGEzapQHf?F)}`-)FCz@fjP}be?&Y%-a`+pS*H)sy%s@fn^zb z0E-+LT=4d**T|khA;ZsMLE=DpY&A5BN@>(;O=gtgv0C0lQ# +o6}d3KLxfUi7@y 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

Ywk=Anal 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

XwCfS*~`!vY=%tqQiy+oa3 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 literal 697331 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%0A21ARmK`_LG+W%pn&@v)a=a#bU3_U$3KQ)=05d;^ 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≺0RG+}*GwY(a?#9&T-i<|XM)yR+YYnU6fN6?iouj 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

i8piLvSr@n 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⪼)yR&k@{nK1#dqLpWDj|*XxBcgpT*;`qr#7 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
cFQ3BmX}B|RayD4ArBSLXRSPK>*1Om; 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 Kic implements HasAlgor return PublicKey.fromKeyPair(this) } - public sign(payload: Bytes): Signature { - return Signature.create(this, payload) - } - public toJSON(): wasmPkg.KeyPairJson { return this.inner.to_json() } @@ -254,8 +250,8 @@ export class Signature /** * Create a signature from its payload and public key. This function **does not sign the payload**. */ - public static fromBytes(publicKey: PublicKey, payload: Bytes): Signature { - return new Signature(wasmPkg.Signature.from_bytes(publicKey.inner, payload.wasm)) + public static fromBytes(payload: Bytes): Signature { + return new Signature(wasmPkg.Signature.from_bytes(payload.wasm)) } public static fromJSON(json: wasmPkg.SignatureJson): Signature { @@ -264,28 +260,22 @@ export class Signature public static fromDataModel(signature: datamodel.Signature): Signature { return freeScope((scope) => { - // TODO patch wasm first - const publicKey = PublicKey.fromDataModel(signature.public_key) - const result = Signature.fromBytes(publicKey, Bytes.array(signature.payload)) + const result = Signature.fromBytes(Bytes.array(signature.payload)) scope.forget(result) return result }) } /** - * Creates an actual signature, signing the payload + * Creates an actual signature, signing the payload with the given private key */ - public static create(keyPair: KeyPair, payload: Bytes) { - let value = new wasmPkg.Signature(keyPair.inner, payload.wasm) + public static create(privateKey: PrivateKey, payload: Bytes) { + let value = new wasmPkg.Signature(privateKey.inner, payload.wasm) return new Signature(value) } - public verify(message: Bytes): wasmPkg.VerifyResult { - return this.inner.verify(message.wasm) - } - - public publicKey(): PublicKey { - return new PublicKey(this.inner.public_key()) + public verify(publicKey: PublicKey, message: Bytes): wasmPkg.VerifyResult { + return this.inner.verify(publicKey.inner, message.wasm) } public payload(): Uint8Array From f9597a4df3de1cdb151eccb10f95e6303a8fa1e8 Mon Sep 17 00:00:00 2001 From: quacumque <43530070+0x009922@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:22:09 +0900 Subject: [PATCH 006/124] refactor: more updates, wip Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> --- README.md | 2 +- etc/jakefile.ts | 4 +- etc/meta.ts | 2 +- package.json | 12 +- packages/client/src/lib.ts | 6 +- .../test/integration/test-web/package.json | 2 +- packages/crypto/crypto-rs/src/lib.rs | 137 +-- .../wasm-pkg-bundler/iroha_crypto.d.ts | 60 +- .../wasm-pkg-bundler/iroha_crypto_bg.js | 141 +-- .../wasm-pkg-bundler/iroha_crypto_bg.wasm | Bin 659220 -> 653912 bytes .../iroha_crypto_bg.wasm.d.ts | 9 +- .../wasm-pkg-nodejs/iroha_crypto.d.ts | 60 +- .../crypto-rs/wasm-pkg-nodejs/iroha_crypto.js | 141 +-- .../wasm-pkg-nodejs/iroha_crypto_bg.wasm | Bin 659480 -> 654172 bytes .../wasm-pkg-nodejs/iroha_crypto_bg.wasm.d.ts | 9 +- .../crypto-rs/wasm-pkg-web/iroha_crypto.d.ts | 69 +- .../crypto-rs/wasm-pkg-web/iroha_crypto.js | 139 +-- .../wasm-pkg-web/iroha_crypto_bg.wasm | Bin 658115 -> 652807 bytes .../wasm-pkg-web/iroha_crypto_bg.wasm.d.ts | 9 +- .../crypto/packages/interface-wrap/src/lib.ts | 64 +- .../integration/test-node/test/main.spec.ts | 199 ++-- .../test/integration/test-node/test/run.cjs | 3 +- .../test/integration/test-node/test/run.mjs | 3 +- .../test-web/cypress/e2e/main.cy.js | 11 +- .../test-web/cypress/fixtures/config.json | 6 - .../cypress/fixtures/public_key_hex.txt | 1 - .../test/integration/test-web/package.json | 2 +- .../test/integration/test-web/src/main.ts | 11 +- .../test/integration/test-web/vite.config.ts | 1 + packages/docs-recipes/src/2.1.1.key-pair.ts | 18 +- .../docs-recipes/src/3.register-domain.ts | 6 +- .../docs-recipes/src/4.register-account.ts | 23 +- .../src/5.register-and-mint-asset.ts | 57 +- .../docs-recipes/src/6.transfer-assets.ts | 38 +- .../src/7.query-domains-accounts-assets.ts | 27 +- packages/docs-recipes/src/9.blocks-stream.ts | 4 +- packages/iroha-source/src/lib.ts | 4 + .../iroha-source/src/subentries/configs.ts | 5 - .../iroha-source/src/subentries/executor.ts | 4 - packages/test-configuration/package.json | 1 + packages/test-configuration/src/base.ts | 32 + packages/test-configuration/src/genesis.ts | 38 + packages/test-configuration/src/lib.ts | 198 +--- packages/test-peer/etc/cli.ts | 19 +- packages/test-peer/etc/meta.ts | 12 - packages/test-peer/package.json | 3 + packages/test-peer/src/api/client.ts | 12 - packages/test-peer/src/api/server.ts | 41 - packages/test-peer/src/dbg.ts | 5 - packages/test-peer/src/lib.ts | 146 ++- packages/test-peer/src/util.ts | 71 -- pnpm-lock.yaml | 860 ++++++++++++------ 52 files changed, 990 insertions(+), 1737 deletions(-) delete mode 100644 packages/crypto/test/integration/test-web/cypress/fixtures/config.json delete mode 100644 packages/crypto/test/integration/test-web/cypress/fixtures/public_key_hex.txt delete mode 100644 packages/iroha-source/src/subentries/configs.ts delete mode 100644 packages/iroha-source/src/subentries/executor.ts create mode 100644 packages/test-configuration/src/base.ts create mode 100644 packages/test-configuration/src/genesis.ts delete mode 100644 packages/test-peer/etc/meta.ts delete mode 100644 packages/test-peer/src/dbg.ts delete mode 100644 packages/test-peer/src/util.ts diff --git a/README.md b/README.md index ffdaa5a2..879b618c 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Make sure you have installed **Node.js v16.17 or v18**. As for a package manager Also make sure you have installed the following version of **Rust toolchain**: ```bash -rustup default nightly-2023-06-25 +rustup default nightly-2024-06-12 ``` Before working with the repository, install the necessary packages: diff --git a/etc/jakefile.ts b/etc/jakefile.ts index 7400f935..5310c045 100644 --- a/etc/jakefile.ts +++ b/etc/jakefile.ts @@ -96,8 +96,8 @@ namespace('test', () => { await $`pnpm vitest run` }) - task('crypto', async () => { - await $`pnpm --filter monorepo-crypto test` + task('crypto', ['build:all'], async () => { + await $`pnpm --filter monorepo-crypto test:integration` }) task('prepare-client-integration', ['build:all']) diff --git a/etc/meta.ts b/etc/meta.ts index 39fb8f2f..93650187 100644 --- a/etc/meta.ts +++ b/etc/meta.ts @@ -44,7 +44,7 @@ export async function loadProductionDependencies(pkg: PackageToRollup): Promise< const pathToPackageJson: string = path.join(packageRoot(pkg), 'package.json') const { default: { dependencies, peerDependencies }, - }: { default: PackageJson } = await import(pathToPackageJson, { assert: { type: 'json' } }) + }: { default: PackageJson } = await import(pathToPackageJson, { with: { type: 'json' } }) return Set(Object.keys({ ...dependencies, ...peerDependencies })) } diff --git a/package.json b/package.json index 93747c75..b51afbf7 100644 --- a/package.json +++ b/package.json @@ -16,19 +16,19 @@ "@esbuild-kit/cjs-loader": "^2.4.4", "@iroha2/test-peer": "workspace:^0.0.1", "@rollup/plugin-replace": "^5.0.2", - "@types/jake": "^0.0.33", - "@typescript-eslint/eslint-plugin": "^7.13.0", - "@typescript-eslint/parser": "^7.13.0", + "@types/jake": "^0.0.36", + "@typescript-eslint/eslint-plugin": "^7.13.1", + "@typescript-eslint/parser": "^7.13.1", "@vitest/ui": "^1.6.0", "chalk": "4.1.2", - "consola": "^2.15.3", + "consola": "^3.2.3", "debug": "^4.3.4", "del": "^6.0.0", - "eslint": "^9.4.0", + "eslint": "^9.5.0", "eslint-config-alloy": "^5.1.2", "eslint-plugin-cypress": "^3.3.0", "eslint-plugin-vue": "^9.26.0", - "execa": "^7.0.0", + "execa": "^9.2.0", "fp-ts": "^2.13.1", "immutable": "^4.2.4", "jake": "^10.8.5", diff --git a/packages/client/src/lib.ts b/packages/client/src/lib.ts index e05b07a9..b0a13f75 100644 --- a/packages/client/src/lib.ts +++ b/packages/client/src/lib.ts @@ -21,6 +21,7 @@ import { import { SetupEventsParams, SetupEventsReturn, setupEvents } from './events' import { cryptoHash } from './util' import { IsomorphicWebSocketAdapter } from './web-socket/types' +import { getCryptoAnyway } from './crypto-singleton' type Fetch = typeof fetch @@ -43,12 +44,9 @@ export class Signer { public sign(message: Bytes): datamodel.Signature { return freeScope(() => { - const signature = this.keyPair.sign(message) - const publicKey = signature.publicKey().toDataModel() + const signature = getCryptoAnyway().Signature.create(this.keyPair.privateKey(), message) - // FIXME!! return { - public_key: publicKey, payload: signature.payload(), } }) diff --git a/packages/client/test/integration/test-web/package.json b/packages/client/test/integration/test-web/package.json index f302ee22..dbd9dc98 100644 --- a/packages/client/test/integration/test-web/package.json +++ b/packages/client/test/integration/test-web/package.json @@ -22,7 +22,7 @@ "@vue-kakuyaku/core": "^0.4.3", "@vueuse/core": "^8.0.1", "cross-env": "^7.0.3", - "cypress": "^12.5.1", + "cypress": "^13.12.0", "esbuild": "^0.17.10", "fp-ts": "^2.13.1", "sass": "^1.52.1", diff --git a/packages/crypto/crypto-rs/src/lib.rs b/packages/crypto/crypto-rs/src/lib.rs index 12868647..e88f1191 100644 --- a/packages/crypto/crypto-rs/src/lib.rs +++ b/packages/crypto/crypto-rs/src/lib.rs @@ -29,24 +29,7 @@ export type Algorithm = "; #[wasm_bindgen(typescript_custom_section)] -const TS_TYPES: &str = r#" -export interface PrivateKeyJson { - algorithm: string - /** Hex-encoded bytes */ - payload: string -} - -export interface KeyPairJson { - public_key: string - private_key: PrivateKeyJson -} - -export interface SignatureJson { - public_key: string - /** Hex-encoded bytes */ - payload: string -} - +const TS_TYPES: &str = r#" export type VerifyResult = | { t: 'ok' } | { t: 'err', error: string } @@ -149,11 +132,6 @@ impl PublicKey { format!("{}", self.0) } - /// Equivalent to [`Self::to_multihash_hex`] - pub fn to_json(&self) -> String { - todo!() - } - #[wasm_bindgen(getter)] pub fn algorithm(&self) -> AlgorithmJsStr { self.0.algorithm().into() @@ -173,37 +151,13 @@ impl PublicKey { #[wasm_bindgen] pub struct PrivateKey(pub(crate) iroha_crypto::PrivateKey); -#[wasm_bindgen] -extern "C" { - #[wasm_bindgen(typescript_type = "PrivateKeyJson")] - pub type PrivateKeyJson; -} - -impl TryFrom for PrivateKey { - type Error = JsError; - - fn try_from(value: PrivateKeyJson) -> Result { - let inner: iroha_crypto::PrivateKey = serde_wasm_bindgen::from_value(value.obj)?; - Ok(Self(inner)) - } -} - -impl TryFrom<&PrivateKey> for PrivateKeyJson { - type Error = JsError; - - fn try_from(value: &PrivateKey) -> Result { - Ok(PrivateKeyJson { - obj: serde_wasm_bindgen::to_value(&value.0)?, - }) - } -} - #[wasm_bindgen] impl PrivateKey { /// # Errors - /// Fails if serialization fails - pub fn from_json(value: PrivateKeyJson) -> JsResult { - Self::try_from(value) + /// Fails if multihash parsing fails + pub fn from_multihash_hex(multihash: &str) -> JsResult { + let inner = iroha_crypto::PrivateKey::from_str(multihash).wrap_js_error()?; + Ok(Self(inner)) } /// # Errors @@ -228,10 +182,9 @@ impl PrivateKey { hex::encode(self.payload()) } - /// # Errors - /// Fails is serialisation fails - pub fn to_json(&self) -> JsResult { - self.try_into() + pub fn to_multihash_hex(&self) -> String { + // FIXME: cloning + format!("{}", iroha_crypto::ExposedPrivateKey(self.0.clone())) } } @@ -240,39 +193,8 @@ impl PrivateKey { #[wasm_bindgen] pub struct KeyPair(iroha_crypto::KeyPair); -#[wasm_bindgen] -extern "C" { - #[wasm_bindgen(typescript_type = "KeyPairJson")] - pub type KeyPairJson; -} - -impl TryFrom<&KeyPair> for KeyPairJson { - type Error = JsError; - - fn try_from(value: &KeyPair) -> Result { - Ok(KeyPairJson { - obj: serde_wasm_bindgen::to_value(&value.0)?, - }) - } -} - -impl TryFrom for KeyPair { - type Error = JsError; - - fn try_from(value: KeyPairJson) -> Result { - let inner: iroha_crypto::KeyPair = serde_wasm_bindgen::from_value(value.obj)?; - Ok(Self(inner)) - } -} - #[wasm_bindgen] impl KeyPair { - /// # Errors - /// Fails if deserialization fails - pub fn from_json(value: KeyPairJson) -> JsResult { - Self::try_from(value) - } - /// Generate a random key pair /// /// # Errors @@ -324,12 +246,6 @@ impl KeyPair { let inner = self.0.private_key().clone(); PrivateKey(inner) } - - /// # Errors - /// Fails if serialisation fails - pub fn to_json(&self) -> JsResult { - self.try_into() - } } /// Represents the signature of the data @@ -337,39 +253,8 @@ impl KeyPair { #[wasm_bindgen] pub struct Signature(iroha_crypto::Signature); -#[wasm_bindgen] -extern "C" { - #[wasm_bindgen(typescript_type = "SignatureJson")] - pub type SignatureJson; -} - -impl TryFrom for Signature { - type Error = JsError; - - fn try_from(value: SignatureJson) -> Result { - let inner: iroha_crypto::Signature = serde_wasm_bindgen::from_value(value.obj)?; - Ok(Self(inner)) - } -} - -impl TryFrom<&Signature> for SignatureJson { - type Error = JsError; - - fn try_from(value: &Signature) -> Result { - Ok(SignatureJson { - obj: serde_wasm_bindgen::to_value(&value.0)?, - }) - } -} - #[wasm_bindgen] impl Signature { - /// # Errors - /// If failed to deserialise JSON - pub fn from_json(value: SignatureJson) -> JsResult { - Self::try_from(value) - } - /// Construct the signature from raw components received from elsewhere /// /// # Errors @@ -409,12 +294,6 @@ impl Signature { pub fn payload_hex(&self) -> String { hex::encode(self.0.payload()) } - - /// # Errors - /// If conversion fails - pub fn to_json(&self) -> JsResult { - self.try_into() - } } #[wasm_bindgen] diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts index 7373f71d..664491b4 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts @@ -15,23 +15,6 @@ export type Algorithm = | 'bls_small' - -export interface PrivateKeyJson { - algorithm: string - /** Hex-encoded bytes */ - payload: string -} - -export interface KeyPairJson { - public_key: string - private_key: PrivateKeyJson -} - -export interface SignatureJson { - public_key: string - /** Hex-encoded bytes */ - payload: string -} export type VerifyResult = | { t: 'ok' } @@ -76,13 +59,6 @@ export class Hash { export class KeyPair { free(): void; /** -* # Errors -* Fails if deserialization fails -* @param {KeyPairJson} value -* @returns {KeyPair} -*/ - static from_json(value: KeyPairJson): KeyPair; -/** * Generate a random key pair * * # Errors @@ -121,12 +97,6 @@ export class KeyPair { */ private_key(): PrivateKey; /** -* # Errors -* Fails if serialisation fails -* @returns {KeyPairJson} -*/ - to_json(): KeyPairJson; -/** */ readonly algorithm: Algorithm; } @@ -137,11 +107,11 @@ export class PrivateKey { free(): void; /** * # Errors -* Fails if serialization fails -* @param {PrivateKeyJson} value +* Fails if multihash parsing fails +* @param {string} multihash * @returns {PrivateKey} */ - static from_json(value: PrivateKeyJson): PrivateKey; + static from_multihash_hex(multihash: string): PrivateKey; /** * # Errors * Fails if parsing of digest function or payload byte input fails @@ -159,11 +129,9 @@ export class PrivateKey { */ payload_hex(): string; /** -* # Errors -* Fails is serialisation fails -* @returns {PrivateKeyJson} +* @returns {string} */ - to_json(): PrivateKeyJson; + to_multihash_hex(): string; /** */ readonly algorithm: Algorithm; @@ -198,11 +166,6 @@ export class PublicKey { */ to_multihash_hex(): string; /** -* Equivalent to [`Self::to_multihash_hex`] -* @returns {string} -*/ - to_json(): string; -/** * @returns {Uint8Array} */ payload(): Uint8Array; @@ -220,13 +183,6 @@ export class PublicKey { export class Signature { free(): void; /** -* # Errors -* If failed to deserialise JSON -* @param {SignatureJson} value -* @returns {Signature} -*/ - static from_json(value: SignatureJson): Signature; -/** * Construct the signature from raw components received from elsewhere * * # Errors @@ -263,10 +219,4 @@ export class Signature { * @returns {string} */ payload_hex(): string; -/** -* # Errors -* If conversion fails -* @returns {SignatureJson} -*/ - to_json(): SignatureJson; } diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js index d18932ea..da186a96 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js +++ b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js @@ -361,27 +361,6 @@ export class KeyPair { wasm.__wbg_keypair_free(ptr); } /** - * # Errors - * Fails if deserialization fails - * @param {KeyPairJson} value - * @returns {KeyPair} - */ - static from_json(value) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_from_json(retptr, addHeapObject(value)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** * Generate a random key pair * * # Errors @@ -491,26 +470,6 @@ export class KeyPair { const ret = wasm.keypair_private_key(this.__wbg_ptr); return PrivateKey.__wrap(ret); } - /** - * # Errors - * Fails if serialisation fails - * @returns {KeyPairJson} - */ - to_json() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } } const PrivateKeyFinalization = (typeof FinalizationRegistry === 'undefined') @@ -542,14 +501,16 @@ export class PrivateKey { } /** * # Errors - * Fails if serialization fails - * @param {PrivateKeyJson} value + * Fails if multihash parsing fails + * @param {string} multihash * @returns {PrivateKey} */ - static from_json(value) { + static from_multihash_hex(multihash) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_from_json(retptr, addHeapObject(value)); + const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.privatekey_from_multihash_hex(retptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -626,23 +587,22 @@ export class PrivateKey { } } /** - * # Errors - * Fails is serialisation fails - * @returns {PrivateKeyJson} + * @returns {string} */ - to_json() { + to_multihash_hex() { + let deferred1_0; + let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_to_json(retptr, this.__wbg_ptr); + wasm.privatekey_to_multihash_hex(retptr, this.__wbg_ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); + deferred1_0 = r0; + deferred1_1 = r1; + return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } } @@ -748,26 +708,6 @@ export class PublicKey { } } /** - * Equivalent to [`Self::to_multihash_hex`] - * @returns {string} - */ - to_json() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** * @returns {Algorithm} */ get algorithm() { @@ -839,27 +779,6 @@ export class Signature { wasm.__wbg_signature_free(ptr); } /** - * # Errors - * If failed to deserialise JSON - * @param {SignatureJson} value - * @returns {Signature} - */ - static from_json(value) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_from_json(retptr, addHeapObject(value)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return Signature.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** * Construct the signature from raw components received from elsewhere * * # Errors @@ -968,26 +887,6 @@ export class Signature { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } - /** - * # Errors - * If conversion fails - * @returns {SignatureJson} - */ - to_json() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } } export function __wbindgen_string_new(arg0, arg1) { @@ -1005,6 +904,11 @@ export function __wbindgen_is_object(arg0) { return ret; }; +export function __wbindgen_error_new(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); +}; + export function __wbindgen_string_get(arg0, arg1) { const obj = getObject(arg1); const ret = typeof(obj) === 'string' ? obj : undefined; @@ -1052,11 +956,6 @@ export function __wbindgen_bigint_from_u64(arg0) { return addHeapObject(ret); }; -export function __wbindgen_error_new(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - export function __wbindgen_is_undefined(arg0) { const ret = getObject(arg0) === undefined; return ret; diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm index e08461d877246f75ef62d2b2478898065845a6ba..060d5d51def8cb34606ca677cbacb1f8ae0aaf8c 100644 GIT binary patch delta 131157 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 V#}n13{#DKiStXySZ9m9u{}+iViIe~U diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts index a38af635..4e1560d0 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts @@ -12,18 +12,16 @@ export function publickey_from_multihash_hex(a: number, b: number, c: number): v export function publickey_from_bytes(a: number, b: number, c: number): void; export function publickey_from_private_key(a: number): number; export function publickey_to_multihash_hex(a: number, b: number): void; -export function publickey_to_json(a: number, b: number): void; export function publickey_payload(a: number, b: number): void; export function publickey_payload_hex(a: number, b: number): void; export function __wbg_privatekey_free(a: number): void; -export function privatekey_from_json(a: number, b: number): void; +export function privatekey_from_multihash_hex(a: number, b: number, c: number): void; export function privatekey_from_bytes(a: number, b: number, c: number): void; export function privatekey_algorithm(a: number): number; export function privatekey_payload(a: number, b: number): void; export function privatekey_payload_hex(a: number, b: number): void; -export function privatekey_to_json(a: number, b: number): void; +export function privatekey_to_multihash_hex(a: number, b: number): void; export function __wbg_keypair_free(a: number): void; -export function keypair_from_json(a: number, b: number): void; export function keypair_random(a: number, b: number): void; export function keypair_from_parts(a: number, b: number, c: number): void; export function keypair_derive_from_seed(a: number, b: number, c: number): void; @@ -31,15 +29,12 @@ export function keypair_derive_from_private_key(a: number, b: number): void; export function keypair_algorithm(a: number): number; export function keypair_public_key(a: number): number; export function keypair_private_key(a: number): number; -export function keypair_to_json(a: number, b: number): void; export function __wbg_signature_free(a: number): void; -export function signature_from_json(a: number, b: number): void; export function signature_from_bytes(a: number, b: number): void; export function signature_new(a: number, b: number, c: number): void; export function signature_verify(a: number, b: number, c: number, d: number): void; export function signature_payload(a: number, b: number): void; export function signature_payload_hex(a: number, b: number): void; -export function signature_to_json(a: number, b: number): void; export function publickey_algorithm(a: number): number; export function main_js(): void; export function __wbindgen_malloc(a: number, b: number): number; diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts index 7373f71d..664491b4 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts @@ -15,23 +15,6 @@ export type Algorithm = | 'bls_small' - -export interface PrivateKeyJson { - algorithm: string - /** Hex-encoded bytes */ - payload: string -} - -export interface KeyPairJson { - public_key: string - private_key: PrivateKeyJson -} - -export interface SignatureJson { - public_key: string - /** Hex-encoded bytes */ - payload: string -} export type VerifyResult = | { t: 'ok' } @@ -76,13 +59,6 @@ export class Hash { export class KeyPair { free(): void; /** -* # Errors -* Fails if deserialization fails -* @param {KeyPairJson} value -* @returns {KeyPair} -*/ - static from_json(value: KeyPairJson): KeyPair; -/** * Generate a random key pair * * # Errors @@ -121,12 +97,6 @@ export class KeyPair { */ private_key(): PrivateKey; /** -* # Errors -* Fails if serialisation fails -* @returns {KeyPairJson} -*/ - to_json(): KeyPairJson; -/** */ readonly algorithm: Algorithm; } @@ -137,11 +107,11 @@ export class PrivateKey { free(): void; /** * # Errors -* Fails if serialization fails -* @param {PrivateKeyJson} value +* Fails if multihash parsing fails +* @param {string} multihash * @returns {PrivateKey} */ - static from_json(value: PrivateKeyJson): PrivateKey; + static from_multihash_hex(multihash: string): PrivateKey; /** * # Errors * Fails if parsing of digest function or payload byte input fails @@ -159,11 +129,9 @@ export class PrivateKey { */ payload_hex(): string; /** -* # Errors -* Fails is serialisation fails -* @returns {PrivateKeyJson} +* @returns {string} */ - to_json(): PrivateKeyJson; + to_multihash_hex(): string; /** */ readonly algorithm: Algorithm; @@ -198,11 +166,6 @@ export class PublicKey { */ to_multihash_hex(): string; /** -* Equivalent to [`Self::to_multihash_hex`] -* @returns {string} -*/ - to_json(): string; -/** * @returns {Uint8Array} */ payload(): Uint8Array; @@ -220,13 +183,6 @@ export class PublicKey { export class Signature { free(): void; /** -* # Errors -* If failed to deserialise JSON -* @param {SignatureJson} value -* @returns {Signature} -*/ - static from_json(value: SignatureJson): Signature; -/** * Construct the signature from raw components received from elsewhere * * # Errors @@ -263,10 +219,4 @@ export class Signature { * @returns {string} */ payload_hex(): string; -/** -* # Errors -* If conversion fails -* @returns {SignatureJson} -*/ - to_json(): SignatureJson; } diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js index eaf3c79b..3853a7e8 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js +++ b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js @@ -357,27 +357,6 @@ class KeyPair { wasm.__wbg_keypair_free(ptr); } /** - * # Errors - * Fails if deserialization fails - * @param {KeyPairJson} value - * @returns {KeyPair} - */ - static from_json(value) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_from_json(retptr, addHeapObject(value)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** * Generate a random key pair * * # Errors @@ -487,26 +466,6 @@ class KeyPair { const ret = wasm.keypair_private_key(this.__wbg_ptr); return PrivateKey.__wrap(ret); } - /** - * # Errors - * Fails if serialisation fails - * @returns {KeyPairJson} - */ - to_json() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } } module.exports.KeyPair = KeyPair; @@ -539,14 +498,16 @@ class PrivateKey { } /** * # Errors - * Fails if serialization fails - * @param {PrivateKeyJson} value + * Fails if multihash parsing fails + * @param {string} multihash * @returns {PrivateKey} */ - static from_json(value) { + static from_multihash_hex(multihash) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_from_json(retptr, addHeapObject(value)); + const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.privatekey_from_multihash_hex(retptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -623,23 +584,22 @@ class PrivateKey { } } /** - * # Errors - * Fails is serialisation fails - * @returns {PrivateKeyJson} + * @returns {string} */ - to_json() { + to_multihash_hex() { + let deferred1_0; + let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_to_json(retptr, this.__wbg_ptr); + wasm.privatekey_to_multihash_hex(retptr, this.__wbg_ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); + deferred1_0 = r0; + deferred1_1 = r1; + return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } } @@ -746,26 +706,6 @@ class PublicKey { } } /** - * Equivalent to [`Self::to_multihash_hex`] - * @returns {string} - */ - to_json() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** * @returns {Algorithm} */ get algorithm() { @@ -838,27 +778,6 @@ class Signature { wasm.__wbg_signature_free(ptr); } /** - * # Errors - * If failed to deserialise JSON - * @param {SignatureJson} value - * @returns {Signature} - */ - static from_json(value) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_from_json(retptr, addHeapObject(value)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return Signature.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** * Construct the signature from raw components received from elsewhere * * # Errors @@ -967,26 +886,6 @@ class Signature { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } - /** - * # Errors - * If conversion fails - * @returns {SignatureJson} - */ - to_json() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } } module.exports.Signature = Signature; @@ -1005,6 +904,11 @@ module.exports.__wbindgen_is_object = function(arg0) { return ret; }; +module.exports.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); +}; + module.exports.__wbindgen_string_get = function(arg0, arg1) { const obj = getObject(arg1); const ret = typeof(obj) === 'string' ? obj : undefined; @@ -1052,11 +956,6 @@ module.exports.__wbindgen_bigint_from_u64 = function(arg0) { return addHeapObject(ret); }; -module.exports.__wbindgen_error_new = function(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - module.exports.__wbindgen_is_undefined = function(arg0) { const ret = getObject(arg0) === undefined; return ret; diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm index ca74fcfa12a9e43014651bfd66ef389658014035..f40c009e7bd7063b5b3bcd8c582f231a514d8343 100644 GIT binary patch delta 130274 zcmdqK33yaR);Hc&b-UBqJNpKt(;%B7xPjsVH!3>&IF9>*D7Zus+((@;QBb4e7^cM= z6*VI+aYPLU?5LILR7>DGJ@?BLhpz3ZZ#|;QyIZPz$jEj@!|P(Sw=vqkje|>t9Vm> zb-XRV;wLH)3IvLSLS(8yAP~yLpGW{dvqB0FAp(IC6&CmpcnScC;#3g-0TKTxg)##H zK;xy6*ny=%D$WQ*LP})@Lk7PX2neNwpz>uIl~s;Xf)YOrR1gd+{1*_05x+EY;ADv! zgCdwGM7ScWYM2Oy1YrjO&Jl(ZN=U)<0DzZKCdyIq&m-mWaKY$$N*hK-z{n8uMK}Hh zl?W7sGDW>G8yY$T*%_~9>>8RoXYRc7FO`9US?8QF@BFhaJag{M*>g^xbKQZ7oOQvOGfzK%&YZyeDw`9R%{hPGoY{d^73So*b1n%yF0=Uesh3_j=Yqga zS&)}Z&OCF@?*eznI}6Ih%kkcV>dI}hc>YDFo^#e|XV1A5CC{5XQ@{4Lj29G6ow!;S zB(vwwy7ZiRvt|cAlqG3EE_g-!ro!^959ILq=bv@)tPAJF`wGhBXEMH~u&m-6RHUI) zlgneEJ-(x`r2ZpW>dCb$;xZqVRi2y+=gpi8iJZk85ieV1p%x8Foj>cW^R;wdk$Fz~ z{8{JDo;Nq}rYv+I%;o%9=U;e1;0amI(D>q_VsTsizM?4;S1K1#GdU9&fxpNi=XIMJ z27f8y)y1XqDHZ=^aq0fg%iIgjI^*0~7hZJ!oSD=T56VaqaPge;&pQ3mK%Xo~!W@YX z#_uXF|K&5XC@EKugjB}dS!bO)v+jbxv#Nl&J?q@rXUsWw=G>Vl#=XWp#@*^VKo=TU z8$HHpSK0{mt;T)E)v5!f_ZXjuxLwQr#$(3Ig37o{J^<7n;}tc?IJ(>ijfahU)ir9l zvCuB)5#v?$p!&O7roNNk$|n4}$1ZDy(WTxJ%hh_-t6o!W#zV#^ZP~S3S@a^~>Ri#xOU#+23PMyiW zLT0b5Gry(6u8E&oby#S*uIZ7gqr`%EaM-6}aeT+HQu$96&m6ukf2Rs$NAse>T*PSY z?+!mygqG@8##gTuFUGf5?<3a7cZqH-S#0Ep>}W>RFpa1(<%KaLf>K7*tQ0%jU#mG& ziWl1t81;mx`lpH+xdKQcLdBa#4e(Kg5m_8B7(IIAS12XNn2wTiPzr&K>}Wm!!Dzk> zh#xjOMC6w-QGp9(Y>qDV$=67$KRF-QB<*JLUS7KnY&N4t9Wns8n+52sr|}{qXb_5 zVUODO{z;|!=OF4F+%vt->3gNtdEDNpv;DHYef_u<;uqH`EK}7R^mMfy!HK+rl%iQ83;Ei_<9$N-9jI96=Lu2JV{I^v^ zzKRb&q;d)qHdZ#sSO7x}`3oh~hCBWM7!Xd@m%`18pL<9pXuj?c9*-y;O^WgO$RSa= z^=npKo4%p(*uL$Mi>gmqZ&b?Zc(+s3#Yjm^ifk|rMRfslK-7Wao?xAZ<)S2Eb{ciD zpcydx0uj6kKuZvV(*?-s&Oh`VE-b!gcF_SSQol~vA(V~RyYYG`axs%fSokw;L3x2SXztF{eay$IqA(JHvh@SVveYS-OJW*({(j zgxLh1GbzDr;4ipy3J*ntItKzkP7kUMX#kM)3%bSus@*Oa#h3H2Z+LJ_A zY@h`tGsmn+jGE2u|EyaqA(HFnR!t!KY@tzo(6$b@N{f;k({7&jjdSv722xuT*|o-By(M-$wVtk<2BD|a;%F&}wZI$zybwa>_MN7HP_Fq~j8$2MXd`EEc)whqB*lom02}T@)%5r)Q zY*Rs{)W#LjB3*-KJf6Aq&G2B)ng9vaI&ZpB+Ai)mRZS+^i>L(HK_%2-N}bMI9WB>< z#{!y-QYODJ3I^J5ZQ;JV>$1vSliU*>UhcIB(ZIz{&z-+)uS{mA0Axern#uO%#~a1e zSDmT@cEiMLRt%pAhCsA#Q}iZcs>o@lSV=TMfB=)mbhgi3QI$u1G(ZAqZ+d1C_t?TH zWE>y0VQdA_E6t9=It40KfFFd0|#M21s#ko#<*wObE|IJw6gi5fJW&DigHjo80DFJ zZ(jP!z^hMgwNZM3lI@_h5=v$58-IQHwyirqzHx(%(*>L?!il%MRGh~YbpT{U^8kAG zr8%17u6&{xAR@mR`MIeScK{>kU^FsDD#fipQ4Y!=61lah6gLA3!`J4JP|_)G1UQRu z;+-$s6c6SR#hC!T|MCO2i~-6a5K-KVL|!VzgSkYpjnTyzsTB7Eh4ix)3!|h`+zXU! z2c?xz;#oa8llYA;)Gx}JVQIUucbGyYH z_Yt<}0m~s6iynz^DhGpE#DR^`#Tcm^^aF)vaV>gANfSL#un^HGt%Q=!K^JgncGlA5 zVp2Hh00vD{3)=f$yWHlWE0Z_?jN5<^QaR`VM$o}%WQDrMgpu9`fWj`- zDE)*IfAjU6kz8#fl37k(FTd`gyghUCIT_F?7r#9Ye_P%z-i=@C4WrIfS_d=gq9wJ< zzx{0C2aB#++k=50?|ZvMw^cvq-P6+Y<+>d&TyuB5CZ&UmNs~9@_P2a~%lFr<{-Ri; zwlZp(R$hB$f#)z!?<3a<1^na(E@Ddyc8b$0aU)h5pQ|d zkvQi$OxZjQ!o(=@^VIk51IOrg<-8Q0dI3!1X%IGOk+0o|r!GeI@)Ymuv#IakytH=X zay&f6Yu+o_RSTH2Qrn43@vs!1^nhhMK(1HeHX^a>Dg+#LdR2sm%u6FrwDO zV0^_##o*6;4~`9U`q{Kv)5}+Bwm=Me{c4-^H3h(Ffb_GlAhIpb_~ARA z<>hEFS`fL87H$o+X!fkWuxk5F6!s$i0>>$ymue^mW6oWu1<8zdYtQAytu#BKX*5dv zd0$*AL;VXOmFD(=FL%ma$Pf*hjSqIZt8T2!H5o0?f%a?JgGUE{NvI)^hZ?b_x2p-k z+Q*tTjHLvvW6i#BT?~_tlbyv>SMXmDl0z$b%|ZN;@5;w>k+itPi`jLtyyS}z9_$mY zjLVAe_-+`lpz|;%!?4bc=FkIWVuH(as>8B8`4h`qB5Z`lgSeBW6C2adPIAGuX*yak zCA;K1R6rCc7oM*8AHOfN$>4T!YI6`F8wW&^VFGxO#mu8taOEHnCunaNwhkoZto%tJ zz;q?!d$E1g55Eb{&?^X%8oCNqWJ{#LSx?uXG`#1bh>{Q&Ra#`%lvr(uUj>JClS7v? z9a7N1*VyZ{yz7m!#6eluybC+9#L3xWUr~t_e_>RPl?TKk^w@g_JVVmlyDqZHYRdtB zx3xY;>^(9`s>hAP3}TtDM}`&66EA+-7!HBs-qR54st! zJd#c=69WRCBDYL(Y*88Y=-`Ik3o=Nq+G|A6WWVw>OauBldC$Egj-&{0gG&-OF}MIK zoTW*4X7Z;!+&VK$QtH%9T0hMb=RuUK^F&m1C*IBz-x_1k-el_I0eZ50@4?;el5k70 zC@v)N!}G)ARu2zrbg?+2o;xS|29Sq-lo8EN5@plf0C-lCZYrBtafd(Ippdzdd==P4 zR*4>;o*td4^$MKEx)v*^M3finzM;puBRFf{5;6QB%7Jt}T^n^{5WCIBEur~x=mrD- zrq@mo6~3;4{_9H1ij<48%1!VoqciUt&4hE{9M(b5)GZkNmRT-JLt9!q1CiUTlgh=V zVuSTYxmX}JBu=Oh8->_xO{fy5i_M9ftHkBm;=4p-j94uJercST1n~FcL}v)kXC{fc zLBgIajuziJxvM6NM=AHr14XQ?esHxrK?!Vvm;>H)d7atsO-InA&nXpLPD4O_F*2F5fHmVPW` zcG$p?8rb$!V%R54@s|T%yge*>+eymt2j`THHCngMEi**3tYqB<)QoMp|1;E#6J*yLQj~C}Cx9-Gy zCyAel`a#R(DaRa0CNjU2pe(2+y+3m z7w{zjo4kN;0odXNEQF@r>IEzUU>gBOI;GwW$d`cF`+dR`*mez~y46b($IKF�hqP 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 C#J!UM delta 134926 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 sRgJSlUHo@>f_=&koMy&q=O;Uq_<{tmqv6ai void; readonly publickey_from_private_key: (a: number) => number; readonly publickey_to_multihash_hex: (a: number, b: number) => void; - readonly publickey_to_json: (a: number, b: number) => void; readonly publickey_payload: (a: number, b: number) => void; readonly publickey_payload_hex: (a: number, b: number) => void; readonly __wbg_privatekey_free: (a: number) => void; - readonly privatekey_from_json: (a: number, b: number) => void; + readonly privatekey_from_multihash_hex: (a: number, b: number, c: number) => void; readonly privatekey_from_bytes: (a: number, b: number, c: number) => void; readonly privatekey_algorithm: (a: number) => number; readonly privatekey_payload: (a: number, b: number) => void; readonly privatekey_payload_hex: (a: number, b: number) => void; - readonly privatekey_to_json: (a: number, b: number) => void; + readonly privatekey_to_multihash_hex: (a: number, b: number) => void; readonly __wbg_keypair_free: (a: number) => void; - readonly keypair_from_json: (a: number, b: number) => void; readonly keypair_random: (a: number, b: number) => void; readonly keypair_from_parts: (a: number, b: number, c: number) => void; readonly keypair_derive_from_seed: (a: number, b: number, c: number) => void; @@ -305,15 +253,12 @@ export interface InitOutput { readonly keypair_algorithm: (a: number) => number; readonly keypair_public_key: (a: number) => number; readonly keypair_private_key: (a: number) => number; - readonly keypair_to_json: (a: number, b: number) => void; readonly __wbg_signature_free: (a: number) => void; - readonly signature_from_json: (a: number, b: number) => void; readonly signature_from_bytes: (a: number, b: number) => void; readonly signature_new: (a: number, b: number, c: number) => void; readonly signature_verify: (a: number, b: number, c: number, d: number) => void; readonly signature_payload: (a: number, b: number) => void; readonly signature_payload_hex: (a: number, b: number) => void; - readonly signature_to_json: (a: number, b: number) => void; readonly publickey_algorithm: (a: number) => number; readonly main_js: () => void; readonly __wbindgen_malloc: (a: number, b: number) => number; diff --git a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js index e91f84d0..cf90c543 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js +++ b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js @@ -353,27 +353,6 @@ export class KeyPair { wasm.__wbg_keypair_free(ptr); } /** - * # Errors - * Fails if deserialization fails - * @param {KeyPairJson} value - * @returns {KeyPair} - */ - static from_json(value) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_from_json(retptr, addHeapObject(value)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** * Generate a random key pair * * # Errors @@ -483,26 +462,6 @@ export class KeyPair { const ret = wasm.keypair_private_key(this.__wbg_ptr); return PrivateKey.__wrap(ret); } - /** - * # Errors - * Fails if serialisation fails - * @returns {KeyPairJson} - */ - to_json() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } } const PrivateKeyFinalization = (typeof FinalizationRegistry === 'undefined') @@ -534,14 +493,16 @@ export class PrivateKey { } /** * # Errors - * Fails if serialization fails - * @param {PrivateKeyJson} value + * Fails if multihash parsing fails + * @param {string} multihash * @returns {PrivateKey} */ - static from_json(value) { + static from_multihash_hex(multihash) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_from_json(retptr, addHeapObject(value)); + const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.privatekey_from_multihash_hex(retptr, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var r2 = getInt32Memory0()[retptr / 4 + 2]; @@ -618,23 +579,22 @@ export class PrivateKey { } } /** - * # Errors - * Fails is serialisation fails - * @returns {PrivateKeyJson} + * @returns {string} */ - to_json() { + to_multihash_hex() { + let deferred1_0; + let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_to_json(retptr, this.__wbg_ptr); + wasm.privatekey_to_multihash_hex(retptr, this.__wbg_ptr); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); + deferred1_0 = r0; + deferred1_1 = r1; + return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } } @@ -740,26 +700,6 @@ export class PublicKey { } } /** - * Equivalent to [`Self::to_multihash_hex`] - * @returns {string} - */ - to_json() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** * @returns {Algorithm} */ get algorithm() { @@ -831,27 +771,6 @@ export class Signature { wasm.__wbg_signature_free(ptr); } /** - * # Errors - * If failed to deserialise JSON - * @param {SignatureJson} value - * @returns {Signature} - */ - static from_json(value) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_from_json(retptr, addHeapObject(value)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return Signature.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** * Construct the signature from raw components received from elsewhere * * # Errors @@ -960,26 +879,6 @@ export class Signature { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } - /** - * # Errors - * If conversion fails - * @returns {SignatureJson} - */ - to_json() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_to_json(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } } async function __wbg_load(module, imports) { @@ -1028,6 +927,10 @@ function __wbg_get_imports() { const ret = typeof(val) === 'object' && val !== null; return ret; }; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; imports.wbg.__wbindgen_string_get = function(arg0, arg1) { const obj = getObject(arg1); const ret = typeof(obj) === 'string' ? obj : undefined; @@ -1067,10 +970,6 @@ function __wbg_get_imports() { const ret = BigInt.asUintN(64, arg0); return addHeapObject(ret); }; - imports.wbg.__wbindgen_error_new = function(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; imports.wbg.__wbindgen_is_undefined = function(arg0) { const ret = getObject(arg0) === undefined; return ret; diff --git a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm index c43703efad4859f8b0100dfd868282cb71ecda7f..03f6fce3ff181d92c7e4152f6387f197c153a846 100644 GIT binary patch delta 131174 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 M@{iTUf0x_;7x8gpDF6Tf diff --git a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm.d.ts b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm.d.ts index a38af635..4e1560d0 100644 --- a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm.d.ts +++ b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm.d.ts @@ -12,18 +12,16 @@ export function publickey_from_multihash_hex(a: number, b: number, c: number): v export function publickey_from_bytes(a: number, b: number, c: number): void; export function publickey_from_private_key(a: number): number; export function publickey_to_multihash_hex(a: number, b: number): void; -export function publickey_to_json(a: number, b: number): void; export function publickey_payload(a: number, b: number): void; export function publickey_payload_hex(a: number, b: number): void; export function __wbg_privatekey_free(a: number): void; -export function privatekey_from_json(a: number, b: number): void; +export function privatekey_from_multihash_hex(a: number, b: number, c: number): void; export function privatekey_from_bytes(a: number, b: number, c: number): void; export function privatekey_algorithm(a: number): number; export function privatekey_payload(a: number, b: number): void; export function privatekey_payload_hex(a: number, b: number): void; -export function privatekey_to_json(a: number, b: number): void; +export function privatekey_to_multihash_hex(a: number, b: number): void; export function __wbg_keypair_free(a: number): void; -export function keypair_from_json(a: number, b: number): void; export function keypair_random(a: number, b: number): void; export function keypair_from_parts(a: number, b: number, c: number): void; export function keypair_derive_from_seed(a: number, b: number, c: number): void; @@ -31,15 +29,12 @@ export function keypair_derive_from_private_key(a: number, b: number): void; export function keypair_algorithm(a: number): number; export function keypair_public_key(a: number): number; export function keypair_private_key(a: number): number; -export function keypair_to_json(a: number, b: number): void; export function __wbg_signature_free(a: number): void; -export function signature_from_json(a: number, b: number): void; export function signature_from_bytes(a: number, b: number): void; export function signature_new(a: number, b: number, c: number): void; export function signature_verify(a: number, b: number, c: number, d: number): void; export function signature_payload(a: number, b: number): void; export function signature_payload_hex(a: number, b: number): void; -export function signature_to_json(a: number, b: number): void; export function publickey_algorithm(a: number): number; export function main_js(): void; export function __wbindgen_malloc(a: number, b: number): number; diff --git a/packages/crypto/packages/interface-wrap/src/lib.ts b/packages/crypto/packages/interface-wrap/src/lib.ts index 7b53a914..3c15b636 100644 --- a/packages/crypto/packages/interface-wrap/src/lib.ts +++ b/packages/crypto/packages/interface-wrap/src/lib.ts @@ -3,9 +3,6 @@ import { Bytes, Free, FreeGuard, FreeScope, GetInnerTrackObject, freeScope } fro import { datamodel } from '@iroha2/data-model' export type Algorithm = wasmPkg.Algorithm -export type PrivateKeyJson = wasmPkg.PrivateKeyJson -export type KeyPairJson = wasmPkg.KeyPairJson -export type SignatureJson = wasmPkg.SignatureJson export type VerifyResult = wasmPkg.VerifyResult export const Algorithm = { @@ -80,10 +77,6 @@ export interface ToDataModel { toDataModel: () => T } -export interface ToJSON { - toJSON: () => T -} - export class Hash extends SingleFreeWrap { public static zeroed(): Hash { return new Hash(wasmPkg.Hash.zeroed()) @@ -100,13 +93,9 @@ export class Hash extends SingleFreeWrap { } } -export class PrivateKey - extends SingleFreeWrap - implements HasAlgorithm, HasPayload, ToJSON -{ - public static fromJSON(value: wasmPkg.PrivateKeyJson): PrivateKey { - const key = wasmPkg.PrivateKey.from_json(value) - return new PrivateKey(key) +export class PrivateKey extends SingleFreeWrap implements HasAlgorithm, HasPayload { + public static fromMultihash(hex: string): PrivateKey { + return new PrivateKey(wasmPkg.PrivateKey.from_multihash_hex(hex)) } public static fromKeyPair(pair: KeyPair): PrivateKey { @@ -127,27 +116,24 @@ export class PrivateKey return kind === 'hex' ? this.inner.payload_hex() : this.inner.payload() } - public toJSON(): wasmPkg.PrivateKeyJson { - return this.inner.to_json() + public toMultihash(): string { + return this.inner.to_multihash_hex() + } + + public sign(message: Bytes): Signature { + return Signature.create(this, message) } } export class PublicKey extends SingleFreeWrap - implements HasAlgorithm, HasPayload, ToDataModel, ToJSON + implements HasAlgorithm, HasPayload, ToDataModel { public static fromMultihash(hex: string): PublicKey { const key = wasmPkg.PublicKey.from_multihash_hex(hex) return new PublicKey(key) } - /** - * Same as {@fromMultihash} - */ - public static fromJSON(hex: string): PublicKey { - return PublicKey.fromMultihash(hex) - } - public static fromPrivateKey(privateKey: PrivateKey): PublicKey { const key = wasmPkg.PublicKey.from_private_key(privateKey.inner) return new PublicKey(key) @@ -179,19 +165,16 @@ export class PublicKey return kind === 'hex' ? this.inner.payload_hex() : this.inner.payload() } - /** - * Equal to {@link toMultihash} in `'hex'` mode - */ - public toJSON(): string { - return this.toMultihash() - } - public toDataModel(): datamodel.PublicKey { return { algorithm: Algorithm.toDataModel(this.algorithm), payload: this.payload(), } } + + public verifySignature(signature: Signature, message: Bytes): wasmPkg.VerifyResult { + return signature.verify(this, message) + } } export interface WithAlgorithm { @@ -201,12 +184,7 @@ export interface WithAlgorithm { algorithm?: Algorithm } -export class KeyPair extends SingleFreeWrap implements HasAlgorithm, ToJSON { - public static fromJSON(value: wasmPkg.KeyPairJson): KeyPair { - const pair = wasmPkg.KeyPair.from_json(value) - return new KeyPair(pair) - } - +export class KeyPair extends SingleFreeWrap implements HasAlgorithm { public static random(options?: WithAlgorithm): KeyPair { const pair = wasmPkg.KeyPair.random(options?.algorithm) return new KeyPair(pair) @@ -237,10 +215,6 @@ export class KeyPair extends SingleFreeWrap implements HasAlgor public publicKey(): PublicKey { return PublicKey.fromKeyPair(this) } - - public toJSON(): wasmPkg.KeyPairJson { - return this.inner.to_json() - } } export class Signature @@ -254,10 +228,6 @@ export class Signature return new Signature(wasmPkg.Signature.from_bytes(payload.wasm)) } - public static fromJSON(json: wasmPkg.SignatureJson): Signature { - return new Signature(wasmPkg.Signature.from_json(json)) - } - public static fromDataModel(signature: datamodel.Signature): Signature { return freeScope((scope) => { const result = Signature.fromBytes(Bytes.array(signature.payload)) @@ -289,8 +259,4 @@ export class Signature payload: this.payload(), } } - - public toJSON(): wasmPkg.SignatureJson { - return this.inner.to_json() - } } diff --git a/packages/crypto/test/integration/test-node/test/main.spec.ts b/packages/crypto/test/integration/test-node/test/main.spec.ts index 18dd47f0..a4d22f81 100644 --- a/packages/crypto/test/integration/test-node/test/main.spec.ts +++ b/packages/crypto/test/integration/test-node/test/main.spec.ts @@ -13,44 +13,41 @@ describe('KeyPair generation', () => { test('Derives from a seed as expected', () => { const SEED_BYTES = [49, 50, 51, 52] - const json = freeScope(() => crypto.KeyPair.deriveFromSeed(Bytes.array(Uint8Array.from(SEED_BYTES))).toJSON()) + const parts = freeScope(() => { + const kp = crypto.KeyPair.deriveFromSeed(Bytes.array(Uint8Array.from(SEED_BYTES))) + return { publicKey: kp.publicKey().toMultihash(), privateKey: kp.privateKey().toMultihash() } + }) - expect(json).toMatchInlineSnapshot(` + expect(parts).toMatchInlineSnapshot(` { - "private_key": { - "algorithm": "ed25519", - "payload": "01F2DB2416255E79DB67D5AC807E55459ED8754F07586864948AEA00F6F81763F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7", - }, - "public_key": "ed0120F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7", + "privateKey": "80264001F2DB2416255E79DB67D5AC807E55459ED8754F07586864948AEA00F6F81763F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7", + "publicKey": "ed0120F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7", } `) }) test('Derives from a private key as expected', () => { - const SAMPLE = { - algorithm: 'ed25519', - payload: - '01f2db2416255e79db67d5ac807e55459ed8754f07586864948aea00f6f81763f149bb4b59feb0ace3074f10c65e179880ea2c4fe4e0d6022b1e82c33c3278c7', - } satisfies crypto.PrivateKeyJson - - expect(freeScope(() => crypto.KeyPair.deriveFromPrivateKey(crypto.PrivateKey.fromJSON(SAMPLE)).toJSON())) - .toMatchInlineSnapshot(` - { - "private_key": { - "algorithm": "ed25519", - "payload": "01F2DB2416255E79DB67D5AC807E55459ED8754F07586864948AEA00F6F81763F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7", - }, - "public_key": "ed0120F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7", + const SAMPLE = + '802640418A3712F4841FFE7A90B14E90BF76A6EF2A2546AC8DBBB1F442FFB8250426B082528CCC8727333530C8F6F19F70C23882DEB1BF2BA3BE4A6654C7E8A91A7731' + + expect( + freeScope(() => { + const kp = crypto.KeyPair.deriveFromPrivateKey(crypto.PrivateKey.fromMultihash(SAMPLE)) + return { + publicKey: kp.publicKey().toMultihash(), + privateKey: kp.privateKey().toMultihash(), } - `) + }), + ).toMatchInlineSnapshot(` + { + "privateKey": "802640418A3712F4841FFE7A90B14E90BF76A6EF2A2546AC8DBBB1F442FFB8250426B082528CCC8727333530C8F6F19F70C23882DEB1BF2BA3BE4A6654C7E8A91A7731", + "publicKey": "ed012082528CCC8727333530C8F6F19F70C23882DEB1BF2BA3BE4A6654C7E8A91A7731", + } + `) }) - test('Generates randomly, in an expected, but also unexpected way', () => { - const pair = freeScope(() => crypto.KeyPair.random().toJSON()) - - expect(pair).toHaveProperty('public_key') - expect(pair).toHaveProperty('private_key.algorithm', 'ed25519') - expect(pair).toHaveProperty('private_key.payload') + test('Generates randomly without an error', () => { + expect(() => freeScope(() => crypto.KeyPair.random())).not.toThrow() }) }) @@ -68,10 +65,6 @@ describe('Given a multihash', () => { expect(key.toMultihash()).toBe(MULTIHASH) }) }) - - test('a public key could be parsed and transformed back through JSON methods', () => { - expect(freeScope(() => crypto.PublicKey.fromJSON(MULTIHASH).toJSON())).toEqual(MULTIHASH) - }) }) describe('Signature verification', () => { @@ -86,17 +79,21 @@ describe('Signature verification', () => { test('result is ok', () => { const MESSAGE = 'deadbeef' - const result = freeScope(() => pairFactory().sign(bytesHex(MESSAGE)).verify(bytesHex(MESSAGE))) + const result = freeScope(() => { + const pair = pairFactory() + const signature = pair.privateKey().sign(bytesHex(MESSAGE)) + return pair.publicKey().verifySignature(signature, bytesHex(MESSAGE)) + }) - expect(result).toMatchInlineSnapshot(` - { - "t": "ok", - } - `) + expect(result).toEqual({ t: 'ok' }) }) test('result is err', () => { - const result = freeScope(() => pairFactory().sign(bytesHex('deadbeef')).verify(bytesHex('feedbabe'))) + const result = freeScope(() => { + const pair = pairFactory() + const signature = pair.privateKey().sign(bytesHex('deadbeef')) + return pair.publicKey().verifySignature(signature, bytesHex('feedbabe')) + }) expect(result).toMatchInlineSnapshot(` { @@ -108,70 +105,11 @@ describe('Signature verification', () => { test('exception is thrown if input is invalid', () => { freeScope(() => { - const signature = pairFactory().sign(bytesHex('deadbeef')) - - expect(() => signature.verify(bytesHex('not really a hex'))).toThrowErrorMatchingInlineSnapshot( - '"Invalid character \'n\' at position 0"', - ) - }) - }) -}) - -describe('JSON representation', () => { - test('for PublicKey is as expected', () => { - const SAMPLE = 'ed0120F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7' - - freeScope(() => { - expect(crypto.PublicKey.fromJSON(SAMPLE).toJSON()).toBe(SAMPLE) - }) - }) - - test('for PrivateKey is as expected', () => { - const SAMPLE = { - algorithm: 'ed25519', - payload: - '01F2DB2416255E79DB67D5AC807E55459ED8754F07586864948AEA00F6F81763F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7', - } - - freeScope(() => { - expect(crypto.PrivateKey.fromJSON(SAMPLE).toJSON()).toEqual(SAMPLE) - }) - }) - - test('for KeyPair is as expected', () => { - const SAMPLE = { - private_key: { - algorithm: 'ed25519', - payload: - '01F2DB2416255E79DB67D5AC807E55459ED8754F07586864948AEA00F6F81763F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7', - }, - public_key: 'ed0120F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7', - } - - freeScope(() => { - const kp = crypto.KeyPair.fromJSON(SAMPLE) - - expect(kp.publicKey().toMultihash()).toBe( - 'ed0120F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7', - ) - expect(kp.privateKey().algorithm).toBe('ed25519') - expect(kp.privateKey().payload('hex')).toBe( - '01f2db2416255e79db67d5ac807e55459ed8754f07586864948aea00f6f81763f149bb4b59feb0ace3074f10c65e179880ea2c4fe4e0d6022b1e82c33c3278c7', - ) + const signature = pairFactory().privateKey().sign(bytesHex('deadbeef')) - expect(kp.toJSON()).toEqual(SAMPLE) - }) - }) - - test('for Signature is as expected', () => { - const SAMPLE = { - public_key: 'ed0120797507786F9C6A4DE91B5462B8A6F7BF9AB21C22B853E9C992C2EF68DA5307F9', - payload: - 'D0FBAC97DCC1C859C110DCF3C55ECFF6C28DD49B6E5560E2175A7F308A2214D3D4666C37F0EBFBEB24341A15E606D71780F992F151652ADBA39FE87E831A2000', - } - - freeScope(() => { - expect(crypto.Signature.fromJSON(SAMPLE).toJSON()).toEqual(SAMPLE) + expect(() => + signature.verify(pairFactory().publicKey(), bytesHex('not really a hex')), + ).toThrowErrorMatchingInlineSnapshot(`[Error: Invalid character 'n' at position 0]`) }) }) }) @@ -179,13 +117,10 @@ describe('JSON representation', () => { describe('Data Model representation', () => { test('Signature serializes as expected', () => { freeScope(() => { - const cryptoSignature = crypto.KeyPair.deriveFromSeed(bytesHex('001122')).sign(bytesHex('112233')) + const cryptoSignature = crypto.KeyPair.deriveFromSeed(bytesHex('001122')).privateKey().sign(bytesHex('112233')) const dataModelSignature = cryptoSignature.toDataModel() expect(cryptoSignature.payload()).toEqual(dataModelSignature.payload) - expect(cryptoSignature.publicKey().algorithm).toBe('ed25519') - expect(dataModelSignature.public_key.digest_function.enum.tag).toBe('Ed25519') - expect(cryptoSignature.publicKey().payload()).toEqual(dataModelSignature.public_key.payload) }) }) }) @@ -208,7 +143,7 @@ describe('Raw conversion', () => { 'bls_normal', bytesHex('A88D1B0D23BC1ADC564DE57CEDBF8FD7D045D0D698EF27E5D9C1807C1041E016'), ), - ).toThrowErrorMatchingInlineSnapshot('"the input buffer contained invalid data"') + ).toThrowErrorMatchingInlineSnapshot(`[Error: the input buffer contained invalid data]`) }) test('Construct PrivateKey', () => { @@ -218,15 +153,12 @@ describe('Raw conversion', () => { bytesHex( '01f2db2416255e79db67d5ac807e55459ed8754f07586864948aea00f6f81763f149bb4b59feb0ace3074f10c65e179880ea2c4fe4e0d6022b1e82c33c3278c7', ), - ).toJSON(), + ).toMultihash(), ) - expect(json).toMatchInlineSnapshot(` - { - "algorithm": "ed25519", - "payload": "01F2DB2416255E79DB67D5AC807E55459ED8754F07586864948AEA00F6F81763F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7", - } - `) + expect(json).toMatchInlineSnapshot( + `"80264001F2DB2416255E79DB67D5AC807E55459ED8754F07586864948AEA00F6F81763F149BB4B59FEB0ACE3074F10C65E179880EA2C4FE4E0D6022B1E82C33C3278C7"`, + ) }) test('Fail to construct PrivateKey', () => { @@ -237,24 +169,7 @@ describe('Raw conversion', () => { '01f2db2416255e79db67d5ac807e55459ed8754f07586864948aea00f6f81763f149bb4b59feb0ace3074f10c65e179880ea2c4fe4e0d6022b1e82c33c3278c7', ), ), - ).toThrowErrorMatchingInlineSnapshot('"crypto error"') - }) - - test('Construct KeyPair', () => { - const json = freeScope(() => { - const kp = crypto.KeyPair.deriveFromSeed(bytesHex('deadbeef')) - return crypto.KeyPair.fromParts(kp.publicKey(), kp.privateKey()).toJSON() - }) - - expect(json).toMatchInlineSnapshot(` - { - "private_key": { - "algorithm": "ed25519", - "payload": "5DC9D5612F1F29AE846B12FC3CF59E831195AC4320DDA2DF7F2FA452A30FC5E1D05CDB30231BD9A257253E485432F44B139595981E04996DD795F38A1B4A011A", - }, - "public_key": "ed0120D05CDB30231BD9A257253E485432F44B139595981E04996DD795F38A1B4A011A", - } - `) + ).toThrowErrorMatchingInlineSnapshot(`[Error: crypto error]`) }) test('Fail to construct KeyPair', () => { @@ -266,24 +181,16 @@ describe('Raw conversion', () => { // should fail here: crypto.KeyPair.fromParts(kp1.publicKey(), kp2.privateKey()) }), - ).toThrowErrorMatchingInlineSnapshot('"Key generation failed. Mismatch of key algorithms"') + ).toThrowErrorMatchingInlineSnapshot(`[Error: Key generation failed. Mismatch of key algorithms]`) }) test('Construct Signature', () => { - const SAMPLE_JSON = { - public_key: 'ed0120797507786F9C6A4DE91B5462B8A6F7BF9AB21C22B853E9C992C2EF68DA5307F9', - payload: - 'D0FBAC97DCC1C859C110DCF3C55ECFF6C28DD49B6E5560E2175A7F308A2214D3D4666C37F0EBFBEB24341A15E606D71780F992F151652ADBA39FE87E831A2000', - } - - const actual_json = freeScope(() => - crypto.Signature.fromBytes( - crypto.PublicKey.fromMultihash(SAMPLE_JSON.public_key), - bytesHex(SAMPLE_JSON.payload), - ).toJSON(), - ) + const SAMPLE_PAYLOAD = + 'd0fbac97dcc1c859c110dcf3c55ecff6c28dd49b6e5560e2175a7f308a2214d3d4666c37f0ebfbeb24341a15e606d71780f992f151652adba39fe87e831a2000' + + const actualPayload = freeScope(() => crypto.Signature.fromBytes(bytesHex(SAMPLE_PAYLOAD)).payload('hex')) - expect(actual_json).toEqual(SAMPLE_JSON) + expect(actualPayload).toEqual(SAMPLE_PAYLOAD) }) // TODO diff --git a/packages/crypto/test/integration/test-node/test/run.cjs b/packages/crypto/test/integration/test-node/test/run.cjs index e6146a41..fa2d2396 100644 --- a/packages/crypto/test/integration/test-node/test/run.cjs +++ b/packages/crypto/test/integration/test-node/test/run.cjs @@ -2,6 +2,7 @@ // eslint-disable-next-line @typescript-eslint/no-require-imports const { crypto } = require('@iroha2/crypto-target-node') +const { Bytes } = require('@iroha2/crypto-core') -const hash = crypto.Hash.hash('hex', '0011224433').bytes('hex') +const hash = crypto.Hash.hash(Bytes.hex('deadbeef')).bytes('hex') console.log('Sample hash:', hash) diff --git a/packages/crypto/test/integration/test-node/test/run.mjs b/packages/crypto/test/integration/test-node/test/run.mjs index 45d68858..361c08bb 100644 --- a/packages/crypto/test/integration/test-node/test/run.mjs +++ b/packages/crypto/test/integration/test-node/test/run.mjs @@ -1,6 +1,7 @@ // we want to ensure that the Node target package works in ESM mode import { crypto } from '@iroha2/crypto-target-node' +import { Bytes } from '@iroha2/crypto-core' -const hash = crypto.Hash.hash('hex', '0011224433').bytes('hex') +const hash = crypto.Hash.hash(Bytes.hex('deadbeef')).bytes('hex') console.log('Sample hash:', hash) diff --git a/packages/crypto/test/integration/test-web/cypress/e2e/main.cy.js b/packages/crypto/test/integration/test-web/cypress/e2e/main.cy.js index 32f6a58b..2d70b6b3 100644 --- a/packages/crypto/test/integration/test-web/cypress/e2e/main.cy.js +++ b/packages/crypto/test/integration/test-web/cypress/e2e/main.cy.js @@ -2,11 +2,12 @@ /// it("It doesn't fail and outputs the correct hex", () => { - cy.intercept('/api/config', { fixture: 'config' }).as('get-config') + const PUB_KEY = 'ed012083C85E315776FD2DDC187ECB23E608F800B313A1D614B108078EC048D5013D2D' + const PRIV_KEY = '8026403895C6FA512EF0C2D73DE2F2F2953C3F385ED636D9579BCC5022531228B8DBAF83C85E315776FD2DDC187ECB23E608F800B313A1D614B108078EC048D5013D2D' - cy.visit('/').wait('@get-config') + cy.intercept('/api/config', {body: { privateKey: PRIV_KEY }}).as('get-config') - cy.fixture('public_key_hex').then((hex) => { - cy.contains(`Public key payload hex is: ${hex}`) - }) + cy.visit('/').wait('@get-config') + + cy.contains(`Public key multihash: ${PUB_KEY}`) }) diff --git a/packages/crypto/test/integration/test-web/cypress/fixtures/config.json b/packages/crypto/test/integration/test-web/cypress/fixtures/config.json deleted file mode 100644 index 504c1e37..00000000 --- a/packages/crypto/test/integration/test-web/cypress/fixtures/config.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "private_key": { - "digest_function": "ed25519", - "payload": "9ac47abf59b356e0bd7dcbbbb4dec080e302156a48ca907e47cb6aea1d32719e7233bfc89dcbd68c19fde6ce6158225298ec1131b6a130d1aeb454c1ab5183c0" - } -} diff --git a/packages/crypto/test/integration/test-web/cypress/fixtures/public_key_hex.txt b/packages/crypto/test/integration/test-web/cypress/fixtures/public_key_hex.txt deleted file mode 100644 index f42e290a..00000000 --- a/packages/crypto/test/integration/test-web/cypress/fixtures/public_key_hex.txt +++ /dev/null @@ -1 +0,0 @@ -7233bfc89dcbd68c19fde6ce6158225298ec1131b6a130d1aeb454c1ab5183c0 \ No newline at end of file diff --git a/packages/crypto/test/integration/test-web/package.json b/packages/crypto/test/integration/test-web/package.json index 737c2452..a895c6c2 100644 --- a/packages/crypto/test/integration/test-web/package.json +++ b/packages/crypto/test/integration/test-web/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "@iroha2/crypto-target-web": "workspace:^1.0.0", - "cypress": "^12.5.1", + "cypress": "^13.12.0", "start-server-and-test": "^1.14.0", "vite": "^5.1.5" } diff --git a/packages/crypto/test/integration/test-web/src/main.ts b/packages/crypto/test/integration/test-web/src/main.ts index 5665b388..8cb09701 100644 --- a/packages/crypto/test/integration/test-web/src/main.ts +++ b/packages/crypto/test/integration/test-web/src/main.ts @@ -1,18 +1,15 @@ import { crypto, init } from '@iroha2/crypto-target-web' interface Config { - private_key: { - digest_function: string - payload: string - } + privateKey: string } await init() -const { private_key } = +const { privateKey } = // intercepted by Cypress await fetch('/api/config').then((x) => x.json()) -const payloadHex = crypto.PublicKey.fromPrivateKey(crypto.PrivateKey.fromJSON(private_key)).payload('hex') +const multihash = crypto.PublicKey.fromPrivateKey(crypto.PrivateKey.fromMultihash(privateKey)).toMultihash() const app = document.querySelector('#app')! -app.innerHTML = `Public key payload hex is: ${payloadHex}` +app.innerHTML = `Public key multihash: ${multihash}` diff --git a/packages/crypto/test/integration/test-web/vite.config.ts b/packages/crypto/test/integration/test-web/vite.config.ts index d7225b9e..69824a6a 100644 --- a/packages/crypto/test/integration/test-web/vite.config.ts +++ b/packages/crypto/test/integration/test-web/vite.config.ts @@ -4,5 +4,6 @@ export default defineConfig({ esbuild: { target: 'esnext' }, build: { target: 'esnext', + minify: false, }, }) diff --git a/packages/docs-recipes/src/2.1.1.key-pair.ts b/packages/docs-recipes/src/2.1.1.key-pair.ts index bc4e1a62..b9d73cdb 100644 --- a/packages/docs-recipes/src/2.1.1.key-pair.ts +++ b/packages/docs-recipes/src/2.1.1.key-pair.ts @@ -1,15 +1,17 @@ import { crypto } from '@iroha2/crypto-target-node' import { Bytes } from '@iroha2/crypto-core' -const keyPair1 = crypto.KeyPair.fromJSON({ - public_key: 'ed0120e555d194e8822da35ac541ce9eec8b45058f4d294d9426ef97ba92698766f7d3', - private_key: { - algorithm: 'ed25519', - payload: - 'de757bcb79f4c63e8fa0795edc26f86dfdba189b846e903d0b732bb644607720e555d194e8822da35ac541ce9eec8b45058f4d294d9426ef97ba92698766f7d3', - }, -}) +const keyPair1 = crypto.KeyPair.fromParts( + crypto.PublicKey.fromMultihash( + 'ed0120e555d194e8822da35ac541ce9eec8b45058f4d294d9426ef97ba92698766f7d3', + ), + crypto.PrivateKey.fromMultihash( + 'ed0120de757bcb79f4c63e8fa0795edc26f86dfdba189b846e903d0b732bb644607720e555d194e8822da35ac541ce9eec8b45058f4d294d9426ef97ba92698766f7d3', + ), +) const keyPair2 = crypto.KeyPair.deriveFromSeed(Bytes.hex('001122')) const keyPair3 = crypto.KeyPair.deriveFromPrivateKey(keyPair2.privateKey()) + +const keyPair4 = crypto.KeyPair.random() diff --git a/packages/docs-recipes/src/3.register-domain.ts b/packages/docs-recipes/src/3.register-domain.ts index 935a4cc8..20569749 100644 --- a/packages/docs-recipes/src/3.register-domain.ts +++ b/packages/docs-recipes/src/3.register-domain.ts @@ -21,6 +21,7 @@ await client.submitExecutable( }), ), ]), + { chain: '000-000' }, ) // #endregion do-reg @@ -38,8 +39,9 @@ async function ensureDomainExistence(domainName: string) { // Obtain the domain const domain = result .as('Ok') - .batch.as('Vec') - .map((x) => x.enum.as('Identifiable').enum.as('Domain')) + .as('V1') + .batch.enum.as('Vec') + .map((x) => x.enum.as('Identifiable').as('Domain')) .find((x) => x.id.name === domainName) // [!code hl] // Throw an error if the domain is unavailable diff --git a/packages/docs-recipes/src/4.register-account.ts b/packages/docs-recipes/src/4.register-account.ts index 686fd0fb..8ab36188 100644 --- a/packages/docs-recipes/src/4.register-account.ts +++ b/packages/docs-recipes/src/4.register-account.ts @@ -1,7 +1,6 @@ import { Client, ToriiRequirementsForApiHttp, getCryptoAnyway } from '@iroha2/client' import { Bytes, freeScope } from '@iroha2/crypto-core' -import { sugar } from '@iroha2/data-model' -import { pipe } from 'fp-ts/function' +import { datamodel } from '@iroha2/data-model' // --snip-- declare const client: Client @@ -21,10 +20,18 @@ const publicKey = freeScope(() => accountKeyPair.publicKey().toDataModel()) await client.submitExecutable( toriiRequirements, - pipe( - sugar.accountId('white_rabbit', 'looking_glass'), - (id) => sugar.identifiable.newAccount(id, [publicKey]), - sugar.instruction.register, - sugar.executable.instructions, - ), + datamodel.Executable.Instructions([ + datamodel.InstructionBox.Register( + datamodel.RegisterBox.Account({ + object: { + id: { + domain: { name: 'looking_glass' }, + signatory: publicKey, + }, + metadata: new Map(), + }, + }), + ), + ]), + { chain: '000-000' }, ) diff --git a/packages/docs-recipes/src/5.register-and-mint-asset.ts b/packages/docs-recipes/src/5.register-and-mint-asset.ts index 8f9546bd..6f267931 100644 --- a/packages/docs-recipes/src/5.register-and-mint-asset.ts +++ b/packages/docs-recipes/src/5.register-and-mint-asset.ts @@ -1,51 +1,56 @@ // #region pre -import { datamodel, sugar } from '@iroha2/data-model' +import { datamodel } from '@iroha2/data-model' import { Client, ToriiRequirementsForApiHttp } from '@iroha2/client' -import { pipe } from 'fp-ts/function' // --snip-- declare const client: Client declare const toriiRequirements: ToriiRequirementsForApiHttp +declare const accountPublicKey: datamodel.PublicKey -const timeDefinitionId = sugar.assetDefinitionId('time', 'looking_glass') +const timeDefinitionId: datamodel.AssetDefinitionId = { + name: 'time', + domain: { name: 'looking_glass' }, +} // #endregion pre // #region register await client.submitExecutable( toriiRequirements, - pipe( - sugar.identifiable.newAssetDefinition( - timeDefinitionId, // [!code hl] - datamodel.AssetValueType('Quantity'), - { - mintable: datamodel.Mintable('Infinitely'), // If only we could mint more time. - }, + datamodel.Executable.Instructions([ + datamodel.InstructionBox.Register( + datamodel.RegisterBox.AssetDefinition({ + object: { + id: timeDefinitionId, + valueType: datamodel.AssetValueType.Numeric({ scale: datamodel.Option.None() }), + mintable: datamodel.Mintable.Infinitely, // If only we could mint more time. + metadata: new Map(), + logo: datamodel.Option.None(), + }, + }), ), - sugar.instruction.register, - sugar.executable.instructions, - ), + ]), + { chain: '000-000' }, ) // #endregion register { // #region mint - const mintValue = sugar.value.numericU32(32) + const mintValue: datamodel.Numeric = { mantissa: 32n, scale: 0n } await client.submitExecutable( toriiRequirements, - pipe( - sugar.instruction.mint( - mintValue, - datamodel.IdBox( - 'AssetId', - sugar.assetId( - sugar.accountId('alice', 'wonderland'), - timeDefinitionId, // [!code hl] - ), - ), + datamodel.Executable.Instructions([ + datamodel.InstructionBox.Mint( + datamodel.MintBox.Asset({ + destination: { + account: { signatory: accountPublicKey, domain: { name: 'wonderland' } }, + definition: timeDefinitionId, + }, + object: mintValue, + }), ), - sugar.executable.instructions, - ), + ]), + { chain: '000-000' }, ) // #endregion mint } diff --git a/packages/docs-recipes/src/6.transfer-assets.ts b/packages/docs-recipes/src/6.transfer-assets.ts index 2d3384c7..a46d29bd 100644 --- a/packages/docs-recipes/src/6.transfer-assets.ts +++ b/packages/docs-recipes/src/6.transfer-assets.ts @@ -1,28 +1,30 @@ -import { datamodel, sugar } from '@iroha2/data-model' +import { datamodel } from '@iroha2/data-model' import { Client, ToriiRequirementsForApiHttp } from '@iroha2/client' -import { pipe } from 'fp-ts/function' // --snip-- declare const client: Client declare const toriiRequirements: ToriiRequirementsForApiHttp - -const domainId = sugar.domainId('wonderland') - -const assetDefinitionId = sugar.assetDefinitionId('time', domainId) - -const amountToTransfer = sugar.value.numericU32(100) - -const fromAccount = sugar.accountId('alice', domainId) - -const toAccount = sugar.accountId('mouse', domainId) - -const transferIsi = sugar.instruction.transfer( - datamodel.IdBox('AssetId', sugar.assetId(fromAccount, assetDefinitionId)), - amountToTransfer, - datamodel.IdBox('AssetId', sugar.assetId(toAccount, assetDefinitionId)), +declare const aliceSignatory: datamodel.PublicKey +declare const mouseSignatory: datamodel.PublicKey + +const domain: datamodel.DomainId = { name: 'wonderland' } +const assetDefinition: datamodel.AssetDefinitionId = { name: 'time', domain } +const amountToTransfer: datamodel.Numeric = { mantissa: 100n, scale: 0n } +const fromAccount: datamodel.AccountId = { domain, signatory: aliceSignatory } +const toAccount: datamodel.AccountId = { domain, signatory: mouseSignatory } + +const transfer = datamodel.InstructionBox.Transfer( + datamodel.TransferBox.Asset( + datamodel.AssetTransferBox.Numeric({ + object: amountToTransfer, + source: { account: fromAccount, definition: assetDefinition }, + destination: toAccount, + }), + ), ) await client.submitExecutable( toriiRequirements, - pipe(transferIsi, sugar.executable.instructions), + datamodel.Executable.Instructions([transfer]), + { chain: '000-000' }, ) diff --git a/packages/docs-recipes/src/7.query-domains-accounts-assets.ts b/packages/docs-recipes/src/7.query-domains-accounts-assets.ts index d47c1f25..4f85da24 100644 --- a/packages/docs-recipes/src/7.query-domains-accounts-assets.ts +++ b/packages/docs-recipes/src/7.query-domains-accounts-assets.ts @@ -1,6 +1,6 @@ // #region intro import { Client, ToriiRequirementsForApiHttp } from '@iroha2/client' -import { sugar } from '@iroha2/data-model' +import { datamodel } from '@iroha2/data-model' declare const client: Client declare const toriiRequirements: ToriiRequirementsForApiHttp @@ -10,18 +10,19 @@ declare const toriiRequirements: ToriiRequirementsForApiHttp // #region domains const result = await client.requestWithQueryBox( toriiRequirements, - sugar.find.allDomains(), + datamodel.QueryBox.FindAllDomains, ) const domains = result .as('Ok') + .as('V1') .batch.enum.as('Vec') - .map((x) => x.enum.as('Identifiable').enum.as('Domain')) + .map((x) => x.enum.as('Identifiable').as('Domain')) for (const domain of domains) { console.log( `Domain "${domain.id.name}" has ${domain.accounts.size} accounts` + - ` and ${domain.asset_definitions.size} asset definitions`, + ` and ${domain.assetDefinitions.size} asset definitions`, ) // => Domain "wonderland" has 5 accounts and 3 asset definitions } @@ -32,17 +33,18 @@ declare const toriiRequirements: ToriiRequirementsForApiHttp // #region accounts const result = await client.requestWithQueryBox( toriiRequirements, - sugar.find.allAccounts(), + datamodel.QueryBox.FindAllAccounts, ) const accounts = result .as('Ok') + .as('V1') .batch.enum.as('Vec') - .map((x) => x.enum.as('Identifiable').enum.as('Account')) + .map((x) => x.enum.as('Identifiable').as('Account')) for (const account of accounts) { console.log( - `Account "${account.id.name}@${account.id.domain_id.name}" ` + + `Account "${account.id}@${account.id.domain.name}" ` + `has ${account.assets.size} assets`, ) // => Account "alice@wonderland" has 3 assets @@ -54,19 +56,20 @@ declare const toriiRequirements: ToriiRequirementsForApiHttp // #region assets const result = await client.requestWithQueryBox( toriiRequirements, - sugar.find.allAssets(), + datamodel.QueryBox.FindAllAssets, ) const assets = result .as('Ok') + .as('V1') .batch.enum.as('Vec') - .map((x) => x.enum.as('Identifiable').enum.as('Asset')) + .map((x) => x.enum.as('Identifiable').as('Asset')) for (const asset of assets) { console.log( - `Asset "${asset.id.definition_id.name}#${asset.id.definition_id.domain_id.name}" ` + - `at account "${asset.id.account_id.name}@${asset.id.account_id.domain_id.name}" ` + - `has type "${asset.value.enum.tag}"`, + `Asset "${asset.id.definition.name}#${asset.id.definition.domain.name}" ` + + `at account "${asset.id.account}@${asset.id.account.domain.name}" ` + + `has type "${asset.value.tag}"`, ) // => Asset "rose#wonderland" at account "alice@wonderland" has type "Quantity" } diff --git a/packages/docs-recipes/src/9.blocks-stream.ts b/packages/docs-recipes/src/9.blocks-stream.ts index cb76041d..a14b1d65 100644 --- a/packages/docs-recipes/src/9.blocks-stream.ts +++ b/packages/docs-recipes/src/9.blocks-stream.ts @@ -4,10 +4,10 @@ import { datamodel } from '@iroha2/data-model' declare const requirements: ToriiRequirementsForApiWebSocket const stream = await Torii.listenForBlocksStream(requirements, { - fromBlockHeight: datamodel.NonZeroU64(1n), + fromBlockHeight: datamodel.NonZero.define(1n), }) stream.ee.on('block', (block) => { - const height = block.payload.header.height + const height = block.as('V1').payload.header.height console.log('Got block with height', height) }) diff --git a/packages/iroha-source/src/lib.ts b/packages/iroha-source/src/lib.ts index 603c15ef..076bb8e4 100644 --- a/packages/iroha-source/src/lib.ts +++ b/packages/iroha-source/src/lib.ts @@ -11,6 +11,8 @@ import { syncIrohaSymlink, syncSourceRepo, } from './util' +import { path } from 'zx' +import { IROHA_DIR } from '../etc/meta' export type Binary = 'iroha' | 'kagami' @@ -63,3 +65,5 @@ export async function buildBinary(bin: Binary, ignoreBuilt = false): Promise { - const [name, domain] = acc.split('@') - return datamodel.AccountId({ name: name, domain_id: datamodel.DomainId({ name: domain }) }) -} - -const { - TORII: { API_URL: TORII_API_ADDRESS }, - SUMERAGI: { BLOCK_TIME_MS, COMMIT_TIME_LIMIT_MS }, -} = PEER_CONFIG - -export const CLIENT_CONFIG = { - torii: { - apiURL: 'http://' + TORII_API_ADDRESS, - }, - accountId: parseAccountId(CLIENT_CLI_CONFIG.ACCOUNT_ID), - keyPair: { - public_key: CLIENT_CLI_CONFIG.PUBLIC_KEY, - private_key: - // This renaming is already happened in crypto, but not yet in the upstream Iroha version. - { - algorithm: CLIENT_CLI_CONFIG.PRIVATE_KEY.digest_function, - payload: CLIENT_CLI_CONFIG.PRIVATE_KEY.payload, - }, - }, -} - -// https://github.com/hyperledger/iroha/blob/b7e5bf0925951df066de31d486165c66a3d65cee/config/src/sumeragi.rs#L106-L112 -export const PIPELINE_MS = BLOCK_TIME_MS + COMMIT_TIME_LIMIT_MS +export * from './base' +export { default as SIGNED_GENESIS } from './genesis' diff --git a/packages/test-peer/etc/cli.ts b/packages/test-peer/etc/cli.ts index 6a5b60e9..132d74a3 100644 --- a/packages/test-peer/etc/cli.ts +++ b/packages/test-peer/etc/cli.ts @@ -1,33 +1,18 @@ import yargs from 'yargs' import { hideBin } from 'yargs/helpers' import consola from 'consola' -import { clearAll, clearPeerStorage, prepareConfiguration, startPeer } from '../src/lib' +import { startPeer } from '../src/lib' yargs(hideBin(process.argv)) - .command('clear-all', 'Clean configuration', {}, async () => { - await clearAll() - }) - .command( - 'clean:effects', - 'Clean peer side-effects', - (y) => y.positional('kura-block-store-path', { type: 'string', demandOption: true }), - async (args) => { - await clearPeerStorage() - }, - ) .command( 'start', 'Start peer', (y) => y, - async (args) => { + async () => { consola.info('Starting peer') await startPeer() consola.info('Started! Kill this process to kill the peer') }, ) - .command('config-from-client-tests', 'Set peer configuration from source Iroha repo', {}, async () => { - await prepareConfiguration() - consola.success('Config is set') - }) .help() .parse() diff --git a/packages/test-peer/etc/meta.ts b/packages/test-peer/etc/meta.ts deleted file mode 100644 index b953e8bb..00000000 --- a/packages/test-peer/etc/meta.ts +++ /dev/null @@ -1,12 +0,0 @@ -import path from 'path' -import url from 'url' - -const dirname = url.fileURLToPath(new URL('.', import.meta.url)) - -export const TMP_DIR = path.resolve(dirname, '../tmp') - -export const TMP_IROHA_BIN = path.resolve(TMP_DIR, 'iroha') - -export const BLOCK_STORE_PATH_RELATIVE = './storage' - -export const EXECUTOR_WASM_PATH_RELATIVE = './executor.wasm' diff --git a/packages/test-peer/package.json b/packages/test-peer/package.json index 0e1d2b42..19bdade2 100644 --- a/packages/test-peer/package.json +++ b/packages/test-peer/package.json @@ -8,10 +8,12 @@ "cli:config": "pnpm cli config-from-client-tests" }, "devDependencies": { + "@iarna/toml": "^2.2.5", "@iroha2/client": "workspace:^7.0.0", "@iroha2/iroha-source": "workspace:^0.0.0", "@iroha2/test-configuration": "workspace:^", "@types/debug": "^4.1.7", + "@types/iarna__toml": "^2.0.5", "@types/yargs": "^17.0.22", "axios": "^0.24.0", "debug": "^4.3.4", @@ -20,6 +22,7 @@ "pino": "^8.14.1", "pino-http": "^8.3.3", "pino-pretty": "^10.0.0", + "tempy": "^3.1.0", "yargs": "^17.6.2" } } diff --git a/packages/test-peer/src/api/client.ts b/packages/test-peer/src/api/client.ts index 357d1984..42c65044 100644 --- a/packages/test-peer/src/api/client.ts +++ b/packages/test-peer/src/api/client.ts @@ -6,18 +6,6 @@ export function setBaseURL(url: string) { axios.defaults.baseURL = url } -export async function prepareConfiguration() { - await axios.post('/prepare-configuration') -} - -export async function clearAll() { - await axios.post('/clear/all') -} - -export async function clearPeerStorage() { - await axios.post('/clear/peer-storage') -} - export async function startPeer({ genesis }: { genesis?: boolean } = {}) { await axios.post('/peer/start', null, { params: { genesis: genesis ?? true } }) } diff --git a/packages/test-peer/src/api/server.ts b/packages/test-peer/src/api/server.ts index 0320db1c..de56b602 100644 --- a/packages/test-peer/src/api/server.ts +++ b/packages/test-peer/src/api/server.ts @@ -2,7 +2,6 @@ import * as h3 from 'h3' import { listen } from 'listhen' import pinoHttp from 'pino-http' import pino from 'pino' -import { P, match } from 'ts-pattern' import * as lib from '../lib' @@ -13,31 +12,6 @@ export async function run(port = 8765) { const router = h3 .createRouter() - .post( - '/prepare-configuration', - h3.eventHandler(async (event) => { - await lib.prepareConfiguration() - - h3.setResponseStatus(event, 204) - await h3.send(event) - }), - ) - .post( - '/clear/all', - h3.eventHandler(async (event) => { - await lib.clearAll() - h3.setResponseStatus(event, 204) - await h3.send(event) - }), - ) - .post( - '/clear/peer-storage', - h3.eventHandler(async (event) => { - await lib.clearPeerStorage() - h3.setResponseStatus(event, 204) - await h3.send(event) - }), - ) .post( '/peer/start', h3.eventHandler(async (event) => { @@ -48,21 +22,6 @@ export async function run(port = 8765) { console.log(event.context) - const parsed = match(h3.getQuery(event)) - .with( - { - genesis: P.select('genesisStr', P.union('false', 'true')), - }, - ({ genesisStr }) => { - return { withGenesis: genesisStr === 'true' } - }, - ) - .otherwise(() => { - throw new Error('Invalid params') - }) - - peer = await lib.startPeer(parsed) - h3.setResponseStatus(event, 204) await h3.send(event) }), diff --git a/packages/test-peer/src/dbg.ts b/packages/test-peer/src/dbg.ts deleted file mode 100644 index 47692e2f..00000000 --- a/packages/test-peer/src/dbg.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Debug from 'debug' - -const debug = Debug('@iroha2/test-peer') - -export default debug diff --git a/packages/test-peer/src/lib.ts b/packages/test-peer/src/lib.ts index 9dff3d73..def48c10 100644 --- a/packages/test-peer/src/lib.ts +++ b/packages/test-peer/src/lib.ts @@ -1,16 +1,15 @@ import { resolveBinary } from '@iroha2/iroha-source' import { execa } from 'execa' -import makeDir from 'make-dir' import path from 'path' -import readline from 'readline' -import invariant from 'tiny-invariant' -import { match } from 'ts-pattern' import { fs } from 'zx' -import { BLOCK_STORE_PATH_RELATIVE, EXECUTOR_WASM_PATH_RELATIVE, TMP_DIR } from '../etc/meta' -import debug from './dbg' -import { rmForce, setConfigurationChecked, waitUntilPeerIsHealthy } from './util' -import EXECUTOR_WASM from '@iroha2/iroha-source/src/subentries/executor' -import { CLIENT_CONFIG, PEER_CONFIG, PEER_GENESIS } from '@iroha2/test-configuration' +import { PEER_CONFIG_BASE, SIGNED_GENESIS } from '@iroha2/test-configuration' +import TOML from '@iarna/toml' +import { temporaryDirectory } from 'tempy' +import { Torii } from '@iroha2/client' + +import Debug from 'debug' + +const debug = Debug('@iroha2/test-peer') /** * Time within to check if peer is up and running @@ -18,11 +17,29 @@ import { CLIENT_CONFIG, PEER_CONFIG, PEER_GENESIS } from '@iroha2/test-configura const HEALTH_CHECK_TIMEOUT = 1_500 const HEALTH_CHECK_INTERVAL = 200 -export interface StartPeerParams { - /** - * @default true - */ - withGenesis?: boolean +export async function waitUntilPeerIsHealthy(apiURL: string, abort: AbortSignal): Promise { + const toriiPre = { apiURL, fetch } + + let now = Date.now() + const endAt = now + HEALTH_CHECK_TIMEOUT + + let aborted = false + abort.addEventListener('abort', () => { + aborted = true + }) + + while (true) { + if (aborted) throw new Error('Aborted') + + now = Date.now() + if (now > endAt) throw new Error(`Peer is still not alive even after ${HEALTH_CHECK_TIMEOUT}ms`) + + const health = await Torii.getHealth(toriiPre) + if (health.tag === 'Ok') return + debug('not yet healthy: %o', health.content) + + await new Promise((r) => setTimeout(r, HEALTH_CHECK_INTERVAL)) + } } export interface KillPeerParams { @@ -44,6 +61,8 @@ export interface StartPeerReturn { * Check for alive status */ isAlive: () => boolean + + toriiUrl: string } export interface IrohaConfiguration { @@ -51,51 +70,44 @@ export interface IrohaConfiguration { config: unknown } -function resolveTempJsonConfigFile(key: keyof IrohaConfiguration): string { - return path.resolve(TMP_DIR, `${key}.json`) -} - -async function prepareTempDir(): Promise { - await makeDir(TMP_DIR) -} - -async function reportTmpContents() { - const contents = await fs.readdir(TMP_DIR) - debug('Dir contents BEFORE start: %o', contents) -} - -// eslint-disable-next-line no-undef -function readableToDebug(input: NodeJS.ReadableStream, prefix: string) { - const dbg = debug.extend(prefix) - readline.createInterface(input).on('line', (line) => dbg(line)) -} - /** * Start network with a single peer. * * **Note:** Iroha binary must be pre-built. */ -export async function startPeer(params?: StartPeerParams): Promise { - const iroha = (await resolveBinary('iroha', { skipUpdate: true })).path +export async function startPeer(): Promise { + const API_ADDRESS = '127.0.0.1:8080' + const API_URL = `http://${API_ADDRESS}` + const NETWORK_ADDRESS = '127.0.0.1:1337' + const TMP_DIR = temporaryDirectory() + debug('Peer temporary directory: %o\nConfigs, artifacts, logs will go there', TMP_DIR) - await reportTmpContents() + await fs.writeFile(path.join(TMP_DIR, 'config.toml'), TOML.stringify(PEER_CONFIG_BASE)) + await fs.writeFile(path.join(TMP_DIR, 'genesis.scale'), SIGNED_GENESIS.blob) + + const iroha = (await resolveBinary('iroha', { skipUpdate: true })).path // state let isAlive = false // starting peer - const withGenesis: boolean = params?.withGenesis ?? true - const subprocess = execa(iroha, withGenesis ? ['--submit-genesis'] : [], { - cwd: TMP_DIR, + const subprocess = execa({ env: { - IROHA2_CONFIG_PATH: resolveTempJsonConfigFile('config'), - IROHA2_GENESIS_PATH: resolveTempJsonConfigFile('genesis'), + GENESIS_SIGNED_FILE: './genesis.scale', + KURA_STORE_DIR: './storage', + API_ADDRESS, + NETWORK_ADDRESS, + LOG_FORMAT: 'json', + SNAPSHOT_MODE: 'disabled', }, - }) + cwd: TMP_DIR, + stdout: { file: path.join(TMP_DIR, 'stdout.json') }, + stderr: { file: path.join(TMP_DIR, 'stderr') }, + })`${iroha} --config ./config.toml --submit-genesis` - invariant(subprocess.stdout && subprocess.stderr) - readableToDebug(subprocess.stdout, 'subprocess-stdout') - readableToDebug(subprocess.stderr, 'subprocess-stderr') + // invariant(subprocess.stdout && subprocess.stderr) + // readableToDebug(subprocess.stdout, 'subprocess-stdout') + // readableToDebug(subprocess.stderr, 'subprocess-stderr') subprocess.once('spawn', () => { isAlive = true @@ -107,11 +119,7 @@ export async function startPeer(params?: StartPeerParams): Promise((resolve) => { subprocess.once('exit', (...args) => { @@ -124,7 +132,7 @@ export async function startPeer(params?: StartPeerParams): Promise isAlive, + toriiUrl: API_URL, } } - -export async function prepareConfiguration() { - await setConfigurationChecked({ - // parsing with type-level check - peerGenesis: match(PEER_GENESIS) - .with({ executor: EXECUTOR_WASM_PATH_RELATIVE }, (x) => x) - .otherwise(() => { - throw new Error('Invalid genesis') - }), - peerConfig: match(PEER_CONFIG) - .with({ KURA: { BLOCK_STORE_PATH: BLOCK_STORE_PATH_RELATIVE } }, (x) => x) - .otherwise(() => { - throw new Error('Invalid peer config') - }), - - executorWasm: EXECUTOR_WASM, - }) -} - -/** - * Clear working peer directory completely - */ -export async function clearAll(): Promise { - const deleted = await rmForce(path.join(TMP_DIR, '*')) - debug('working dir is cleared: %o', deleted) -} - -/** - * Clear peer storage. Use it before each peer startup if you want to isolate states. - */ -export async function clearPeerStorage() { - const rmTarget = path.resolve(TMP_DIR, BLOCK_STORE_PATH_RELATIVE) - const deleted = await rmForce(rmTarget) - debug('Blocks are cleaned: %o', deleted) -} diff --git a/packages/test-peer/src/util.ts b/packages/test-peer/src/util.ts deleted file mode 100644 index 9fbc4f4e..00000000 --- a/packages/test-peer/src/util.ts +++ /dev/null @@ -1,71 +0,0 @@ -import del from 'del' -import { fs, path } from 'zx' -import { Torii } from '@iroha2/client' -import { BLOCK_STORE_PATH_RELATIVE, EXECUTOR_WASM_PATH_RELATIVE, TMP_DIR } from '../etc/meta' -import debug from './dbg' - -export async function saveDataAsJSON(data: unknown, destination: string): Promise { - await fs.writeFile(destination, JSON.stringify(data, null, 2), { encoding: 'utf-8' }) -} - -export async function rmForce(target: string | string[]): Promise { - return del(target, { force: true }) -} - -export async function waitUntilPeerIsHealthy( - apiURL: string, - options: { - checkInterval: number - checkTimeout: number - abort: AbortSignal - }, -): Promise { - const toriiPre = { apiURL, fetch } - - let now = Date.now() - const endAt = now + options.checkTimeout - - let aborted = false - options.abort.addEventListener('abort', () => { - aborted = true - }) - - while (true) { - if (aborted) throw new Error('Aborted') - - now = Date.now() - if (now > endAt) throw new Error(`Peer is still not alive even after ${options.checkTimeout}ms`) - - const health = await Torii.getHealth(toriiPre) - if (health.tag === 'Ok') return - debug('not yet healthy: %o', health.content) - - await new Promise((r) => setTimeout(r, options.checkInterval)) - } -} - -export interface CheckedConfig { - KURA: { BLOCK_STORE_PATH: typeof BLOCK_STORE_PATH_RELATIVE } -} - -export interface CheckedGenesis { - executor: typeof EXECUTOR_WASM_PATH_RELATIVE -} - -interface SetConfigurationCheckedParams { - peerConfig: C - peerGenesis: G - executorWasm: Buffer -} - -export async function setConfigurationChecked( - params: SetConfigurationCheckedParams, -) { - await fs.ensureDir(TMP_DIR) - await Promise.all([ - saveDataAsJSON(params.peerConfig, path.join(TMP_DIR, 'config.json')), - saveDataAsJSON(params.peerGenesis, path.join(TMP_DIR, 'genesis.json')), - fs.writeFile(path.join(TMP_DIR, EXECUTOR_WASM_PATH_RELATIVE), params.executorWasm), - ]) - debug('configuration is set') -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5cafdb69..1624a2d2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,14 +21,14 @@ importers: specifier: ^5.0.2 version: 5.0.2(rollup@3.26.2) '@types/jake': - specifier: ^0.0.33 - version: 0.0.33 + specifier: ^0.0.36 + version: 0.0.36 '@typescript-eslint/eslint-plugin': - specifier: ^7.13.0 - version: 7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5) + specifier: ^7.13.1 + version: 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: ^7.13.0 - version: 7.13.0(eslint@9.4.0)(typescript@5.4.5) + specifier: ^7.13.1 + version: 7.13.1(eslint@9.5.0)(typescript@5.4.5) '@vitest/ui': specifier: ^1.6.0 version: 1.6.0(vitest@1.6.0) @@ -36,29 +36,29 @@ importers: specifier: 4.1.2 version: 4.1.2 consola: - specifier: ^2.15.3 - version: 2.15.3 + specifier: ^3.2.3 + version: 3.2.3 debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@8.1.1) + version: 4.3.4 del: specifier: ^6.0.0 version: 6.1.1 eslint: - specifier: ^9.4.0 - version: 9.4.0 + specifier: ^9.5.0 + version: 9.5.0 eslint-config-alloy: specifier: ^5.1.2 - version: 5.1.2(@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5))(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-vue@9.26.0(eslint@9.4.0))(eslint@9.4.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.4.0)) + version: 5.1.2(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5))(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.4.5))(eslint-plugin-vue@9.26.0(eslint@9.5.0))(eslint@9.5.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.5.0)) eslint-plugin-cypress: specifier: ^3.3.0 - version: 3.3.0(eslint@9.4.0) + version: 3.3.0(eslint@9.5.0) eslint-plugin-vue: specifier: ^9.26.0 - version: 9.26.0(eslint@9.4.0) + version: 9.26.0(eslint@9.5.0) execa: - specifier: ^7.0.0 - version: 7.0.0 + specifier: ^9.2.0 + version: 9.2.0 fp-ts: specifier: ^2.13.1 version: 2.14.0 @@ -106,10 +106,10 @@ importers: version: 5.4.5 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.14.2)(sass@1.77.5) + version: 5.1.5(@types/node@20.14.7)(sass@1.77.6) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(sass@1.77.5) + version: 1.6.0(@types/node@20.14.7)(@vitest/ui@1.6.0)(sass@1.77.6) zx: specifier: ^7.2.0 version: 7.2.0 @@ -124,7 +124,7 @@ importers: version: link:../data-model debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@8.1.1) + version: 4.3.4 emittery: specifier: ^0.10.1 version: 0.10.2 @@ -170,7 +170,7 @@ importers: version: 9.0.19 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.14.2)(sass@1.77.5) + version: 5.1.5(@types/node@20.14.7)(sass@1.77.6) packages/client/test/integration/test-web: devDependencies: @@ -200,7 +200,7 @@ importers: version: 1.1.2 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5(@types/node@20.14.2)(sass@1.54.0))(vue@3.2.47) + version: 5.0.4(vite@5.1.5(@types/node@20.14.7)(sass@1.54.0))(vue@3.2.47) '@vue-kakuyaku/core': specifier: ^0.4.3 version: 0.4.3 @@ -211,8 +211,8 @@ importers: specifier: ^7.0.3 version: 7.0.3 cypress: - specifier: ^12.5.1 - version: 12.5.1 + specifier: ^13.12.0 + version: 13.12.0 esbuild: specifier: ^0.17.10 version: 0.17.10 @@ -227,7 +227,7 @@ importers: version: 1.14.0 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.14.2)(sass@1.54.0) + version: 5.1.5(@types/node@20.14.7)(sass@1.54.0) vue: specifier: ^3.2.47 version: 3.2.47 @@ -327,14 +327,14 @@ importers: specifier: workspace:^1.0.0 version: link:../../../packages/target-web cypress: - specifier: ^12.5.1 - version: 12.5.1 + specifier: ^13.12.0 + version: 13.12.0 start-server-and-test: specifier: ^1.14.0 version: 1.14.0 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.14.2)(sass@1.77.5) + version: 5.1.5(@types/node@20.14.7)(sass@1.77.6) packages/data-model: dependencies: @@ -368,7 +368,7 @@ importers: version: 5.4.4 debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@8.1.1) + version: 4.3.4 fp-ts: specifier: ^2.16.0 version: 2.16.0 @@ -437,12 +437,18 @@ importers: pino-pretty: specifier: ^10.0.0 version: 10.0.0 + tempy: + specifier: ^3.1.0 + version: 3.1.0 type-fest: specifier: ^3.9.0 version: 3.9.0 packages/test-peer: devDependencies: + '@iarna/toml': + specifier: ^2.2.5 + version: 2.2.5 '@iroha2/client': specifier: workspace:^7.0.0 version: link:../client @@ -455,6 +461,9 @@ importers: '@types/debug': specifier: ^4.1.7 version: 4.1.7 + '@types/iarna__toml': + specifier: ^2.0.5 + version: 2.0.5 '@types/yargs': specifier: ^17.0.22 version: 17.0.22 @@ -463,7 +472,7 @@ importers: version: 0.24.0(debug@4.3.4) debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@8.1.1) + version: 4.3.4 h3: specifier: ^1.6.5 version: 1.6.5 @@ -479,6 +488,9 @@ importers: pino-pretty: specifier: ^10.0.0 version: 10.0.0 + tempy: + specifier: ^3.1.0 + version: 3.1.0 yargs: specifier: ^17.6.2 version: 17.6.2 @@ -583,8 +595,8 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@cypress/request@2.88.11': - resolution: {integrity: sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==} + '@cypress/request@3.0.1': + resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} engines: {node: '>= 6'} '@cypress/xvfb@1.2.4': @@ -1146,8 +1158,8 @@ packages: resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.15.1': - resolution: {integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==} + '@eslint/config-array@0.16.0': + resolution: {integrity: sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@2.1.4': @@ -1162,8 +1174,8 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@9.4.0': - resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==} + '@eslint/js@9.5.0': + resolution: {integrity: sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -1193,6 +1205,9 @@ packages: resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} engines: {node: '>=18.18'} + '@iarna/toml@2.2.5': + resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1347,6 +1362,9 @@ packages: '@scale-codec/util@1.1.2': resolution: {integrity: sha512-Aali9gWoI1vOUUwk2H1FktstiInl6x5rjrPd3Am/b1WJV603NEI9QcJ7UGM7Eh42UjLD9e6H7E1ZF0yFnlRUUQ==} + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@sideway/address@4.1.4': resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} @@ -1359,6 +1377,10 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@types/debug@4.1.7': resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} @@ -1371,11 +1393,14 @@ packages: '@types/fs-extra@11.0.1': resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} + '@types/iarna__toml@2.0.5': + resolution: {integrity: sha512-I55y+SxI0ayM4MBU6yfGJGmi4wRll6wtSeKiFYAZj+Z5Q1DVbMgBSVDYY+xQZbjIlLs/pN4fidnvR8faDrmxPg==} + '@types/is-ci@3.0.3': resolution: {integrity: sha512-FdHbjLiN2e8fk9QYQyVYZrK8svUDJpxSaSWLUga8EZS1RGAvvrqM9zbVARBtQuYPeLgnJxM2xloOswPwj1o2cQ==} - '@types/jake@0.0.33': - resolution: {integrity: sha512-ABCtXDsYzjYnio9gc5zoc5j9AXdFnTgBDJjJeAv98eHh6Vpt2dCAWRDOQsPv2Kg6UEZnLqqGsQ3dIdaisuPcXg==} + '@types/jake@0.0.36': + resolution: {integrity: sha512-TY4hz5QY+SSolCGDndaRnZk5LiPQw6oPTUzhLxD/NHeGmKQyE4hNkR0ZlAVDllSdq9RjT6ICxi0d5aLMxqVjEg==} '@types/jsonfile@6.1.1': resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} @@ -1392,9 +1417,6 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@14.18.36': - resolution: {integrity: sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==} - '@types/node@18.0.0': resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} @@ -1404,6 +1426,12 @@ packages: '@types/node@20.14.2': resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + '@types/node@20.14.6': + resolution: {integrity: sha512-JbA0XIJPL1IiNnU7PFxDXyfAwcwVVrOoqyzzyQTyMeVhBzkJVMSkC1LlVsRQ2lpqiY4n6Bb9oCS6lzDKVQxbZw==} + + '@types/node@20.14.7': + resolution: {integrity: sha512-uTr2m2IbJJucF3KUxgnGOZvYbN0QgkGyWxG6973HCpMYFy2KfcgYuIwkJQMQkt1VbBMlvWRbpshFTLxnxCZjKQ==} + '@types/normalize-package-data@2.4.3': resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} @@ -1416,8 +1444,8 @@ packages: '@types/sinonjs__fake-timers@8.1.1': resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} - '@types/sizzle@2.3.3': - resolution: {integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==} + '@types/sizzle@2.3.8': + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} '@types/web-bluetooth@0.0.14': resolution: {integrity: sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==} @@ -1437,8 +1465,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@7.13.0': - resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==} + '@typescript-eslint/eslint-plugin@7.13.1': + resolution: {integrity: sha512-kZqi+WZQaZfPKnsflLJQCz6Ze9FFSMfXrrIOcyargekQxG37ES7DJNpJUE9Q/X5n3yTIP/WPutVNzgknQ7biLg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -1458,8 +1486,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.13.0': - resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==} + '@typescript-eslint/parser@7.13.1': + resolution: {integrity: sha512-1ELDPlnLvDQ5ybTSrMhRTFDfOQEOXNM+eP+3HT/Yq7ruWpciQw+Avi73pdEbA4SooCawEWo3dtYbF68gN7Ed1A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1472,12 +1500,12 @@ packages: resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@7.13.0': - resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==} + '@typescript-eslint/scope-manager@7.13.1': + resolution: {integrity: sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.13.0': - resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==} + '@typescript-eslint/type-utils@7.13.1': + resolution: {integrity: sha512-aWDbLu1s9bmgPGXSzNCxELu+0+HQOapV/y+60gPXafR8e2g1Bifxzevaa+4L2ytCWm+CHqpELq4CSoN9ELiwCg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1490,8 +1518,8 @@ packages: resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@7.13.0': - resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==} + '@typescript-eslint/types@7.13.1': + resolution: {integrity: sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/typescript-estree@6.21.0': @@ -1503,8 +1531,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.13.0': - resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==} + '@typescript-eslint/typescript-estree@7.13.1': + resolution: {integrity: sha512-uxNr51CMV7npU1BxZzYjoVz9iyjckBduFBP0S5sLlh1tXYzHzgZ3BR9SVsNed+LmwKrmnqN3Kdl5t7eZ5TS1Yw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1512,8 +1540,8 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.13.0': - resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==} + '@typescript-eslint/utils@7.13.1': + resolution: {integrity: sha512-h5MzFBD5a/Gh/fvNdp9pTfqJAbuQC4sCN2WzuXme71lqFJsZtLbjxfSk4r3p02WIArOF9N94pdsLiGutpDbrXQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1522,8 +1550,8 @@ packages: resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/visitor-keys@7.13.0': - resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==} + '@typescript-eslint/visitor-keys@7.13.1': + resolution: {integrity: sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==} engines: {node: ^18.18.0 || >=20.0.0} '@ungap/structured-clone@1.2.0': @@ -1639,6 +1667,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} + engines: {node: '>=0.4.0'} + hasBin: true + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -1753,6 +1786,9 @@ packages: async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1771,8 +1807,8 @@ packages: aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + aws4@1.13.0: + resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} axios@0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} @@ -1846,8 +1882,8 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cachedir@2.3.0: - resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} engines: {node: '>=6'} call-bind@1.0.2: @@ -1856,6 +1892,10 @@ packages: call-bind@1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1936,8 +1976,8 @@ packages: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} - cli-table3@0.6.3: - resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} cli-truncate@2.1.0: @@ -1975,12 +2015,15 @@ packages: colorette@2.0.19: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} common-tags@1.8.2: @@ -1993,8 +2036,9 @@ packages: confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} cookie-es@1.0.0: resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} @@ -2021,6 +2065,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -2042,9 +2090,9 @@ packages: resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} engines: {node: '>= 0.1.90'} - cypress@12.5.1: - resolution: {integrity: sha512-ZmCmJ3lsyeOpBfh410m5+AO2CO1AxAzFBt7k6/uVbNcrNZje1vdiwYTpj2ksPKg9mjr9lR6V8tmlDNMvr4H/YQ==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} + cypress@13.12.0: + resolution: {integrity: sha512-udzS2JilmI9ApO/UuqurEwOvThclin5ntz7K0BtnHBs+tg2Bl9QShLISXpSEMDv/u8b6mqdoAdyKeZiSqKWL8g==} + engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true dashdash@1.14.1: @@ -2058,8 +2106,8 @@ packages: dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dayjs@1.11.7: - resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} + dayjs@1.11.11: + resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -2087,6 +2135,15 @@ packages: supports-color: optional: true + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -2109,6 +2166,10 @@ packages: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + define-properties@1.1.4: resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} engines: {node: '>= 0.4'} @@ -2172,10 +2233,6 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -2191,6 +2248,14 @@ packages: resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.2: resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} @@ -2300,13 +2365,13 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true - eslint@9.4.0: - resolution: {integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==} + eslint@9.5.0: + resolution: {integrity: sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true - espree@10.0.1: - resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: @@ -2362,14 +2427,14 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - execa@7.0.0: - resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} - execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + execa@9.2.0: + resolution: {integrity: sha512-vpOyYg7UAVKLAWWtRS2gAdgkT7oJbCn0me3gmUmxZih4kd3MF/oo8kNTBTIbkO3yuuF5uB4ZCZfn8BOolITYhg==} + engines: {node: ^18.19.0 || >=20.5.0} + executable@4.1.1: resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} engines: {node: '>=4'} @@ -2441,6 +2506,10 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2581,6 +2650,10 @@ packages: get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + get-port-please@3.0.1: resolution: {integrity: sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng==} @@ -2600,6 +2673,10 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} @@ -2704,10 +2781,17 @@ packages: has-property-descriptors@1.0.1: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} @@ -2724,6 +2808,10 @@ packages: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + help-me@4.2.0: resolution: {integrity: sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA==} @@ -2749,14 +2837,14 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - human-signals@4.3.0: - resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} - engines: {node: '>=14.18.0'} - human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + human-signals@7.0.0: + resolution: {integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==} + engines: {node: '>=18.18.0'} + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -2902,6 +2990,10 @@ packages: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -2917,6 +3009,10 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -2940,6 +3036,10 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} @@ -3289,10 +3389,6 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3401,6 +3497,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -3562,6 +3662,10 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@9.0.0: + resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} + engines: {node: '>=18'} + process-warning@2.2.0: resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} @@ -3590,10 +3694,6 @@ packages: pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -3602,6 +3702,9 @@ packages: resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} engines: {node: '>=0.6'} + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -3682,6 +3785,9 @@ packages: require-relative@0.8.7: resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3705,8 +3811,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} @@ -3735,9 +3841,6 @@ packages: rxjs@7.5.6: resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} - rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} - rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -3766,8 +3869,8 @@ packages: engines: {node: '>=12.0.0'} hasBin: true - sass@1.77.5: - resolution: {integrity: sha512-oDfX1mukIlxacPdQqNb6mV2tVCrnE+P3nVYioy72V5tlk56CPNcO4TCuFcaCRKKfJ1M3lH95CleRS+dVKL2qMg==} + sass@1.77.6: + resolution: {integrity: sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==} engines: {node: '>=14.0.0'} hasBin: true @@ -3782,11 +3885,6 @@ packages: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} - engines: {node: '>=10'} - hasBin: true - semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} @@ -3804,6 +3902,10 @@ packages: resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} engines: {node: '>= 0.4'} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} @@ -3830,6 +3932,10 @@ packages: side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -3914,8 +4020,8 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sshpk@1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} engines: {node: '>=0.10.0'} hasBin: true @@ -3999,6 +4105,10 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -4033,6 +4143,14 @@ packages: tarjan-graph@3.0.0: resolution: {integrity: sha512-sM1+1ZKnnCtTP9W0DHTMHTlej9buusVHaKiBVecc6tZpBffBeEpE4XdFz7WNs9H1zaYkcgm6MzfyXFxSV2S1rA==} + temp-dir@3.0.0: + resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} + engines: {node: '>=14.16'} + + tempy@3.1.0: + resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} + engines: {node: '>=14.16'} + term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -4043,8 +4161,8 @@ packages: thread-stream@2.3.0: resolution: {integrity: sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==} - throttleit@1.0.0: - resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} + throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -4067,9 +4185,9 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -4083,9 +4201,9 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} @@ -4153,6 +4271,14 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + type-fest@3.9.0: resolution: {integrity: sha512-hR8JP2e8UiH7SME5JZjsobBlEiatFoxpzCP+R3ZeCo7kAaG1jXQE5X/buLzogM6GJu8le9Y4OcfNuIQX0rZskA==} engines: {node: '>=14.16'} @@ -4200,14 +4326,26 @@ packages: resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} engines: {node: '>=12.18'} + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -4215,6 +4353,9 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -4439,6 +4580,10 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} + yoctocolors@2.0.2: + resolution: {integrity: sha512-Ct97huExsu7cWeEjmrXlofevF8CvzUglJ4iGUet5B8xn1oumtAZBpHU4GzYuoE6PVqcZ5hghtBrSlhwHuR1Jmw==} + engines: {node: '>=18'} + zx@7.2.0: resolution: {integrity: sha512-SMuOZ21zFnBxicw+WMtTv3z3eERh6KBtZExAJaL8EAV+Ev/3M1NIAOkrZ8kRfCzD9acv9heUH/WZctTR4vQxBQ==} engines: {node: '>= 16.0.0'} @@ -4481,7 +4626,7 @@ snapshots: '@bahmutov/cypress-esbuild-preprocessor@2.2.0(esbuild@0.17.10)': dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 esbuild: 0.17.10 transitivePeerDependencies: - supports-color @@ -4638,10 +4783,10 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@cypress/request@2.88.11': + '@cypress/request@3.0.1': dependencies: aws-sign2: 0.7.0 - aws4: 1.12.0 + aws4: 1.13.0 caseless: 0.12.0 combined-stream: 1.0.8 extend: 3.0.2 @@ -4655,7 +4800,7 @@ snapshots: performance-now: 2.1.0 qs: 6.10.4 safe-buffer: 5.2.1 - tough-cookie: 2.5.0 + tough-cookie: 4.1.4 tunnel-agent: 0.6.0 uuid: 8.3.2 @@ -4951,17 +5096,17 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.0(eslint@9.4.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.5.0)': dependencies: - eslint: 9.4.0 + eslint: 9.5.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.1': {} - '@eslint/config-array@0.15.1': + '@eslint/config-array@0.16.0': dependencies: '@eslint/object-schema': 2.1.4 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -4969,7 +5114,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 @@ -4983,8 +5128,8 @@ snapshots: '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) - espree: 10.0.1 + debug: 4.3.4 + espree: 10.1.0 globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 @@ -4996,7 +5141,7 @@ snapshots: '@eslint/js@8.57.0': {} - '@eslint/js@9.4.0': {} + '@eslint/js@9.5.0': {} '@eslint/object-schema@2.1.4': {} @@ -5009,7 +5154,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -5020,6 +5165,8 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} + '@iarna/toml@2.2.5': {} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5169,6 +5316,8 @@ snapshots: '@scale-codec/util@1.1.2': {} + '@sec-ant/readable-stream@0.4.1': {} + '@sideway/address@4.1.4': dependencies: '@hapi/hoek': 9.3.0 @@ -5179,6 +5328,8 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@types/debug@4.1.7': dependencies: '@types/ms': 0.7.31 @@ -5192,13 +5343,17 @@ snapshots: '@types/jsonfile': 6.1.1 '@types/node': 18.14.2 + '@types/iarna__toml@2.0.5': + dependencies: + '@types/node': 20.14.2 + '@types/is-ci@3.0.3': dependencies: ci-info: 3.9.0 - '@types/jake@0.0.33': + '@types/jake@0.0.36': dependencies: - '@types/node': 18.0.0 + '@types/node': 20.14.6 '@types/jsonfile@6.1.1': dependencies: @@ -5212,8 +5367,6 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@14.18.36': {} - '@types/node@18.0.0': {} '@types/node@18.14.2': {} @@ -5221,6 +5374,14 @@ snapshots: '@types/node@20.14.2': dependencies: undici-types: 5.26.5 + + '@types/node@20.14.6': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.14.7': + dependencies: + undici-types: 5.26.5 optional: true '@types/normalize-package-data@2.4.3': {} @@ -5231,7 +5392,7 @@ snapshots: '@types/sinonjs__fake-timers@8.1.1': {} - '@types/sizzle@2.3.3': {} + '@types/sizzle@2.3.8': {} '@types/web-bluetooth@0.0.14': {} @@ -5249,18 +5410,18 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 14.18.36 + '@types/node': 20.14.7 optional: true - '@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.13.0 - '@typescript-eslint/type-utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.13.0 - eslint: 9.4.0 + '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.13.1 + '@typescript-eslint/type-utils': 7.13.1(eslint@9.5.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.13.1 + eslint: 9.5.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -5276,21 +5437,21 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 eslint: 8.57.0 optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 7.13.0 - '@typescript-eslint/types': 7.13.0 - '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.13.0 - debug: 4.3.4(supports-color@8.1.1) - eslint: 9.4.0 + '@typescript-eslint/scope-manager': 7.13.1 + '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.13.1 + debug: 4.3.4 + eslint: 9.5.0 optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: @@ -5301,17 +5462,17 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/scope-manager@7.13.0': + '@typescript-eslint/scope-manager@7.13.1': dependencies: - '@typescript-eslint/types': 7.13.0 - '@typescript-eslint/visitor-keys': 7.13.0 + '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/visitor-keys': 7.13.1 - '@typescript-eslint/type-utils@7.13.0(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@7.13.1(eslint@9.5.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 9.4.0 + '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.4.5) + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.4.5) + debug: 4.3.4 + eslint: 9.5.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -5320,13 +5481,13 @@ snapshots: '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@7.13.0': {} + '@typescript-eslint/types@7.13.1': {} '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -5337,11 +5498,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@7.13.1(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 7.13.0 - '@typescript-eslint/visitor-keys': 7.13.0 - debug: 4.3.4(supports-color@8.1.1) + '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/visitor-keys': 7.13.1 + debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 @@ -5352,13 +5513,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.13.0(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/utils@7.13.1(eslint@9.5.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) - '@typescript-eslint/scope-manager': 7.13.0 - '@typescript-eslint/types': 7.13.0 - '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) - eslint: 9.4.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@typescript-eslint/scope-manager': 7.13.1 + '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.4.5) + eslint: 9.5.0 transitivePeerDependencies: - supports-color - typescript @@ -5368,16 +5529,16 @@ snapshots: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.13.0': + '@typescript-eslint/visitor-keys@7.13.1': dependencies: - '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/types': 7.13.1 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-vue@5.0.4(vite@5.1.5(@types/node@20.14.2)(sass@1.54.0))(vue@3.2.47)': + '@vitejs/plugin-vue@5.0.4(vite@5.1.5(@types/node@20.14.7)(sass@1.54.0))(vue@3.2.47)': dependencies: - vite: 5.1.5(@types/node@20.14.2)(sass@1.54.0) + vite: 5.1.5(@types/node@20.14.7)(sass@1.54.0) vue: 3.2.47 '@vitest/expect@1.6.0': @@ -5411,7 +5572,7 @@ snapshots: pathe: 1.1.2 picocolors: 1.0.1 sirv: 2.0.4 - vitest: 1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(sass@1.77.5) + vitest: 1.6.0(@types/node@20.14.7)(@vitest/ui@1.6.0)(sass@1.77.6) '@vitest/utils@1.6.0': dependencies: @@ -5514,9 +5675,9 @@ snapshots: dependencies: acorn: 8.10.0 - acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2(acorn@8.12.0): dependencies: - acorn: 8.11.3 + acorn: 8.12.0 acorn-walk@8.3.2: {} @@ -5524,6 +5685,8 @@ snapshots: acorn@8.11.3: {} + acorn@8.12.0: {} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 @@ -5632,6 +5795,8 @@ snapshots: async@3.2.4: {} + async@3.2.5: {} + asynckit@0.4.0: {} at-least-node@1.0.0: {} @@ -5642,7 +5807,7 @@ snapshots: aws-sign2@0.7.0: {} - aws4@1.12.0: {} + aws4@1.13.0: {} axios@0.21.4(debug@4.3.2): dependencies: @@ -5720,7 +5885,7 @@ snapshots: cac@6.7.14: {} - cachedir@2.3.0: {} + cachedir@2.4.0: {} call-bind@1.0.2: dependencies: @@ -5733,6 +5898,14 @@ snapshots: get-intrinsic: 1.2.2 set-function-length: 1.1.1 + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + callsites@3.1.0: {} camelcase-keys@6.2.2: @@ -5830,7 +6003,7 @@ snapshots: dependencies: restore-cursor: 3.1.0 - cli-table3@0.6.3: + cli-table3@0.6.5: dependencies: string-width: 4.2.3 optionalDependencies: @@ -5875,11 +6048,13 @@ snapshots: colorette@2.0.19: {} + colorette@2.0.20: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - commander@5.1.0: {} + commander@6.2.1: {} common-tags@1.8.2: {} @@ -5887,7 +6062,7 @@ snapshots: confbox@0.1.7: {} - consola@2.15.3: {} + consola@3.2.3: {} cookie-es@1.0.0: {} @@ -5919,6 +6094,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + cssesc@3.0.0: {} csstype@2.6.21: {} @@ -5936,27 +6115,26 @@ snapshots: csv-stringify: 5.6.5 stream-transform: 2.1.3 - cypress@12.5.1: + cypress@13.12.0: dependencies: - '@cypress/request': 2.88.11 + '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 14.18.36 '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.3 + '@types/sizzle': 2.3.8 arch: 2.2.0 blob-util: 2.0.2 bluebird: 3.7.2 buffer: 5.7.1 - cachedir: 2.3.0 + cachedir: 2.4.0 chalk: 4.1.2 check-more-types: 2.24.0 cli-cursor: 3.1.0 - cli-table3: 0.6.3 - commander: 5.1.0 + cli-table3: 0.6.5 + commander: 6.2.1 common-tags: 1.8.2 - dayjs: 1.11.7 - debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.3.6 + dayjs: 1.11.11 + debug: 4.3.5(supports-color@8.1.1) + enquirer: 2.4.1 eventemitter2: 6.4.7 execa: 4.1.0 executable: 4.1.1 @@ -5967,17 +6145,18 @@ snapshots: is-ci: 3.0.1 is-installed-globally: 0.4.0 lazy-ass: 1.6.0 - listr2: 3.14.0(enquirer@2.3.6) + listr2: 3.14.0(enquirer@2.4.1) lodash: 4.17.21 log-symbols: 4.1.0 minimist: 1.2.8 ospath: 1.2.2 pretty-bytes: 5.6.0 + process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.3.8 + semver: 7.6.2 supports-color: 8.1.1 - tmp: 0.2.1 + tmp: 0.2.3 untildify: 4.0.0 yauzl: 2.10.0 @@ -5989,7 +6168,7 @@ snapshots: dateformat@4.6.3: {} - dayjs@1.11.7: {} + dayjs@1.11.11: {} debug@3.2.7(supports-color@8.1.1): dependencies: @@ -6001,7 +6180,11 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.3.4(supports-color@8.1.1): + debug@4.3.4: + dependencies: + ms: 2.1.2 + + debug@4.3.5(supports-color@8.1.1): dependencies: ms: 2.1.2 optionalDependencies: @@ -6030,6 +6213,12 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.1 + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + define-properties@1.1.4: dependencies: has-property-descriptors: 1.0.0 @@ -6091,10 +6280,6 @@ snapshots: dependencies: once: 1.4.0 - enquirer@2.3.6: - dependencies: - ansi-colors: 4.1.3 - enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -6172,6 +6357,12 @@ snapshots: unbox-primitive: 1.0.2 which-typed-array: 1.1.13 + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + es-set-tostringtag@2.0.2: dependencies: get-intrinsic: 1.2.2 @@ -6296,31 +6487,31 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-alloy@5.1.2(@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5))(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-vue@9.26.0(eslint@9.4.0))(eslint@9.4.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.4.0)): + eslint-config-alloy@5.1.2(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5))(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.4.5))(eslint-plugin-vue@9.26.0(eslint@9.5.0))(eslint@9.5.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.5.0)): dependencies: - eslint: 9.4.0 + eslint: 9.5.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) - eslint-plugin-vue: 9.26.0(eslint@9.4.0) + '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.4.5))(eslint@9.5.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.4.5) + eslint-plugin-vue: 9.26.0(eslint@9.5.0) typescript: 5.4.5 - vue-eslint-parser: 9.4.3(eslint@9.4.0) + vue-eslint-parser: 9.4.3(eslint@9.5.0) - eslint-plugin-cypress@3.3.0(eslint@9.4.0): + eslint-plugin-cypress@3.3.0(eslint@9.5.0): dependencies: - eslint: 9.4.0 + eslint: 9.5.0 globals: 13.24.0 - eslint-plugin-vue@9.26.0(eslint@9.4.0): + eslint-plugin-vue@9.26.0(eslint@9.5.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) - eslint: 9.4.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + eslint: 9.5.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.0 semver: 7.6.2 - vue-eslint-parser: 9.4.3(eslint@9.4.0) + vue-eslint-parser: 9.4.3(eslint@9.5.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -6354,7 +6545,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -6384,24 +6575,24 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.4.0: + eslint@9.5.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) '@eslint-community/regexpp': 4.10.1 - '@eslint/config-array': 0.15.1 + '@eslint/config-array': 0.16.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.4.0 + '@eslint/js': 9.5.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 escape-string-regexp: 4.0.0 eslint-scope: 8.0.1 eslint-visitor-keys: 4.0.0 - espree: 10.0.1 + espree: 10.1.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -6423,10 +6614,10 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.0.1: + espree@10.1.0: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) eslint-visitor-keys: 4.0.0 espree@9.6.1: @@ -6495,18 +6686,6 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - execa@7.0.0: - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - execa@8.0.1: dependencies: cross-spawn: 7.0.3 @@ -6519,6 +6698,21 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + execa@9.2.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.3 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 7.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 5.3.0 + pretty-ms: 9.0.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.0.2 + executable@4.1.1: dependencies: pify: 2.3.0 @@ -6535,7 +6729,7 @@ snapshots: extract-zip@2.0.1(supports-color@8.1.1): dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -6600,6 +6794,10 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.0.0 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.0.4 @@ -6658,7 +6856,7 @@ snapshots: follow-redirects@1.15.1(debug@4.3.4): optionalDependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 for-each@0.3.3: dependencies: @@ -6708,9 +6906,9 @@ snapshots: fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 fs.realpath@1.0.0: {} @@ -6760,6 +6958,14 @@ snapshots: has-symbols: 1.0.3 hasown: 2.0.0 + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + get-port-please@3.0.1: {} get-stdin@8.0.0: {} @@ -6772,6 +6978,11 @@ snapshots: get-stream@8.0.1: {} + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-symbol-description@1.0.0: dependencies: call-bind: 1.0.2 @@ -6783,7 +6994,7 @@ snapshots: getos@3.2.1: dependencies: - async: 3.2.4 + async: 3.2.5 getpass@0.1.7: dependencies: @@ -6801,7 +7012,7 @@ snapshots: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 7.0.4 path-scurry: 1.10.1 @@ -6899,8 +7110,14 @@ snapshots: dependencies: get-intrinsic: 1.2.2 + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + has-proto@1.0.1: {} + has-proto@1.0.3: {} + has-symbols@1.0.3: {} has-tostringtag@1.0.0: @@ -6915,6 +7132,10 @@ snapshots: dependencies: function-bind: 1.1.2 + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + help-me@4.2.0: dependencies: glob: 8.1.0 @@ -6928,7 +7149,7 @@ snapshots: dependencies: assert-plus: 1.0.0 jsprim: 2.0.2 - sshpk: 1.17.0 + sshpk: 1.18.0 human-id@1.0.2: {} @@ -6936,10 +7157,10 @@ snapshots: human-signals@2.1.0: {} - human-signals@4.3.0: {} - human-signals@5.0.0: {} + human-signals@7.0.0: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -7059,6 +7280,8 @@ snapshots: is-plain-obj@1.1.0: {} + is-plain-obj@4.1.0: {} + is-regex@1.1.4: dependencies: call-bind: 1.0.2 @@ -7072,6 +7295,8 @@ snapshots: is-stream@3.0.0: {} + is-stream@4.0.1: {} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.0 @@ -7092,6 +7317,8 @@ snapshots: is-unicode-supported@0.1.0: {} + is-unicode-supported@2.0.0: {} + is-weakref@1.0.2: dependencies: call-bind: 1.0.2 @@ -7205,18 +7432,18 @@ snapshots: node-forge: 1.3.1 ufo: 1.1.2 - listr2@3.14.0(enquirer@2.3.6): + listr2@3.14.0(enquirer@2.4.1): dependencies: cli-truncate: 2.1.0 - colorette: 2.0.19 + colorette: 2.0.20 log-update: 4.0.0 p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.8.0 + rfdc: 1.4.1 + rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 optionalDependencies: - enquirer: 2.3.6 + enquirer: 2.4.1 load-json-file@4.0.0: dependencies: @@ -7448,10 +7675,6 @@ snapshots: dependencies: path-key: 3.1.1 - npm-run-path@5.1.0: - dependencies: - path-key: 4.0.0 - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -7568,6 +7791,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@4.0.0: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -7754,6 +7979,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@9.0.0: + dependencies: + parse-ms: 4.0.0 + process-warning@2.2.0: {} process@0.11.10: {} @@ -7775,13 +8004,13 @@ snapshots: end-of-stream: 1.4.4 once: 1.4.0 - punycode@2.3.0: {} - punycode@2.3.1: {} qs@6.10.4: dependencies: - side-channel: 1.0.4 + side-channel: 1.0.6 + + querystringify@2.2.0: {} queue-microtask@1.2.3: {} @@ -7861,7 +8090,7 @@ snapshots: request-progress@3.0.0: dependencies: - throttleit: 1.0.0 + throttleit: 1.0.1 require-directory@2.1.1: {} @@ -7869,6 +8098,8 @@ snapshots: require-relative@0.8.7: {} + requires-port@1.0.0: {} + resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -7888,7 +8119,7 @@ snapshots: reusify@1.0.4: {} - rfdc@1.3.0: {} + rfdc@1.4.1: {} rimraf@3.0.2: dependencies: @@ -7933,10 +8164,6 @@ snapshots: dependencies: tslib: 2.5.0 - rxjs@7.8.0: - dependencies: - tslib: 2.5.0 - rxjs@7.8.1: dependencies: tslib: 2.6.2 @@ -7968,7 +8195,7 @@ snapshots: immutable: 4.1.0 source-map-js: 1.0.2 - sass@1.77.5: + sass@1.77.6: dependencies: chokidar: 3.6.0 immutable: 4.3.6 @@ -7981,10 +8208,6 @@ snapshots: semver@6.3.0: {} - semver@7.3.8: - dependencies: - lru-cache: 6.0.0 - semver@7.5.4: dependencies: lru-cache: 6.0.0 @@ -8000,6 +8223,15 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.1 + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + set-function-name@2.0.1: dependencies: define-data-property: 1.1.1 @@ -8026,6 +8258,13 @@ snapshots: get-intrinsic: 1.2.0 object-inspect: 1.12.3 + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + siginfo@2.0.0: {} signal-exit@3.0.7: {} @@ -8110,7 +8349,7 @@ snapshots: sprintf-js@1.0.3: {} - sshpk@1.17.0: + sshpk@1.18.0: dependencies: asn1: 0.2.6 assert-plus: 1.0.0 @@ -8222,6 +8461,8 @@ snapshots: strip-final-newline@3.0.0: {} + strip-final-newline@4.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -8250,6 +8491,15 @@ snapshots: tarjan-graph@3.0.0: {} + temp-dir@3.0.0: {} + + tempy@3.1.0: + dependencies: + is-stream: 3.0.0 + temp-dir: 3.0.0 + type-fest: 2.19.0 + unique-string: 3.0.0 + term-size@2.2.1: {} text-table@0.2.0: {} @@ -8258,7 +8508,7 @@ snapshots: dependencies: real-require: 0.2.0 - throttleit@1.0.0: {} + throttleit@1.0.1: {} through@2.3.8: {} @@ -8274,9 +8524,7 @@ snapshots: dependencies: os-tmpdir: 1.0.2 - tmp@0.2.1: - dependencies: - rimraf: 3.0.2 + tmp@0.2.3: {} to-fast-properties@2.0.0: {} @@ -8286,10 +8534,12 @@ snapshots: totalist@3.0.1: {} - tough-cookie@2.5.0: + tough-cookie@4.1.4: dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 trim-newlines@3.0.1: {} @@ -8344,6 +8594,10 @@ snapshots: type-fest@0.8.1: {} + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + type-fest@3.9.0: {} type-fest@4.6.0: {} @@ -8390,23 +8644,35 @@ snapshots: uncrypto@0.1.2: {} - undici-types@5.26.5: - optional: true + undici-types@5.26.5: {} undici@5.20.0: dependencies: busboy: 1.6.0 + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + universalify@0.1.2: {} + universalify@0.2.0: {} + universalify@2.0.0: {} + universalify@2.0.1: {} + untildify@4.0.0: {} uri-js@4.4.1: dependencies: punycode: 2.3.1 + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + util-deprecate@1.0.2: {} uuid@8.3.2: {} @@ -8422,13 +8688,13 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite-node@1.6.0(@types/node@20.14.2)(sass@1.77.5): + vite-node@1.6.0(@types/node@20.14.7)(sass@1.77.6): dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.1.5(@types/node@20.14.2)(sass@1.77.5) + vite: 5.1.5(@types/node@20.14.7)(sass@1.77.6) transitivePeerDependencies: - '@types/node' - less @@ -8439,27 +8705,27 @@ snapshots: - supports-color - terser - vite@5.1.5(@types/node@20.14.2)(sass@1.54.0): + vite@5.1.5(@types/node@20.14.7)(sass@1.54.0): dependencies: esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.1 optionalDependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.7 fsevents: 2.3.3 sass: 1.54.0 - vite@5.1.5(@types/node@20.14.2)(sass@1.77.5): + vite@5.1.5(@types/node@20.14.7)(sass@1.77.6): dependencies: esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.1 optionalDependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.7 fsevents: 2.3.3 - sass: 1.77.5 + sass: 1.77.6 - vitest@1.6.0(@types/node@20.14.2)(@vitest/ui@1.6.0)(sass@1.77.5): + vitest@1.6.0(@types/node@20.14.7)(@vitest/ui@1.6.0)(sass@1.77.6): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -8468,7 +8734,7 @@ snapshots: '@vitest/utils': 1.6.0 acorn-walk: 8.3.2 chai: 4.4.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.10 @@ -8478,11 +8744,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.1.5(@types/node@20.14.2)(sass@1.77.5) - vite-node: 1.6.0(@types/node@20.14.2)(sass@1.77.5) + vite: 5.1.5(@types/node@20.14.7)(sass@1.77.6) + vite-node: 1.6.0(@types/node@20.14.7)(sass@1.77.6) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.7 '@vitest/ui': 1.6.0(vitest@1.6.0) transitivePeerDependencies: - less @@ -8499,7 +8765,7 @@ snapshots: vue-eslint-parser@9.4.3(eslint@8.57.0): dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 eslint: 8.57.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -8510,10 +8776,10 @@ snapshots: transitivePeerDependencies: - supports-color - vue-eslint-parser@9.4.3(eslint@9.4.0): + vue-eslint-parser@9.4.3(eslint@9.5.0): dependencies: - debug: 4.3.4(supports-color@8.1.1) - eslint: 9.4.0 + debug: 4.3.4 + eslint: 9.5.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -8675,6 +8941,8 @@ snapshots: yocto-queue@1.0.0: {} + yoctocolors@2.0.2: {} + zx@7.2.0: dependencies: '@types/fs-extra': 11.0.1 From 53d6a90a7e07a4a598f952f762eb935bbd30b47a Mon Sep 17 00:00:00 2001 From: quacumque <43530070+0x009922@users.noreply.github.com> Date: Fri, 21 Jun 2024 11:30:41 +0900 Subject: [PATCH 007/124] chore: lint & format autofix Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> --- etc/meta-crypto.ts | 3 +- etc/meta.ts | 5 +- etc/rollup.config.ts | 17 +- etc/util.ts | 2 +- package.json | 4 +- packages/client-isomorphic-ws/src/__test.ts | 2 +- packages/client-isomorphic-ws/src/native.ts | 2 +- packages/client-isomorphic-ws/src/ws.ts | 2 +- packages/client/src/blocks-stream.ts | 7 +- packages/client/src/crypto-singleton.ts | 2 +- packages/client/src/events.ts | 7 +- packages/client/src/lib.ts | 16 +- packages/client/src/util.ts | 7 +- packages/client/src/web-socket/native.ts | 2 +- packages/client/src/web-socket/node.ts | 2 +- .../test-node/test/multisignature.spec.ts | 2 +- .../test/integration/test-node/test/util.ts | 2 +- .../test-web/src/components/EventListener.vue | 6 +- .../test/integration/test-web/src/env.d.ts | 2 +- packages/crypto/packages/core/src/lib.ts | 2 +- .../crypto/packages/interface-wrap/src/lib.ts | 3 +- .../test/integration/interfaces/test/main.ts | 8 +- .../test-web/cypress/e2e/main.cy.js | 7 +- packages/data-model/etc/codegen.ts | 2 +- packages/data-model/src/__tests__/misc.ts | 3 +- .../src/__tests__/rust-samples.spec.ts | 2 +- packages/data-model/src/codecs.ts | 2 +- packages/docs-recipes/src/2.1.2.signer.ts | 5 +- .../src/2.2.1.torii-usage-example.ts | 2 +- .../docs-recipes/src/2.2.2.torii-pre-node.ts | 2 +- .../docs-recipes/src/2.2.3.torii-pre-web.ts | 2 +- packages/docs-recipes/src/2.3.client.ts | 5 +- .../docs-recipes/src/3.register-domain.ts | 2 +- .../docs-recipes/src/4.register-account.ts | 3 +- .../src/5.register-and-mint-asset.ts | 2 +- .../docs-recipes/src/6.transfer-assets.ts | 2 +- .../src/7.query-domains-accounts-assets.ts | 2 +- packages/docs-recipes/src/9.blocks-stream.ts | 3 +- packages/iroha-source/src/config-resolved.ts | 2 +- packages/iroha-source/src/util.ts | 4 +- packages/test-configuration/src/base.ts | 2 +- packages/test-configuration/src/genesis.ts | 4 +- packages/test-peer/src/api/server.ts | 2 +- pnpm-lock.yaml | 291 +++--------------- 44 files changed, 128 insertions(+), 328 deletions(-) diff --git a/etc/meta-crypto.ts b/etc/meta-crypto.ts index 126167ed..5847dca9 100644 --- a/etc/meta-crypto.ts +++ b/etc/meta-crypto.ts @@ -1,6 +1,7 @@ import path from 'path' import { Set } from 'immutable' -import { SetEntry, resolve } from './util' +import type { SetEntry } from './util' +import { resolve } from './util' export const CRYPTO_MONOREPO_ROOT = resolve('packages/crypto') const resolveRelativeToCryptoMonorepoRoot = (...paths: string[]) => path.resolve(CRYPTO_MONOREPO_ROOT, ...paths) diff --git a/etc/meta.ts b/etc/meta.ts index 93650187..51af013d 100644 --- a/etc/meta.ts +++ b/etc/meta.ts @@ -1,9 +1,10 @@ import path from 'path' -import { PackageJson } from 'type-fest' +import type { PackageJson } from 'type-fest' import { Set } from 'immutable' import * as metaCrypto from './meta-crypto' import { P, match } from 'ts-pattern' -import { SetEntry, resolve } from './util' +import type { SetEntry } from './util' +import { resolve } from './util' function predicateStartsWith(prefix: S): (x: string) => x is `${S}${string}` { return (x): x is `${S}` => x.startsWith(prefix) diff --git a/etc/rollup.config.ts b/etc/rollup.config.ts index 6753d845..b0e89819 100644 --- a/etc/rollup.config.ts +++ b/etc/rollup.config.ts @@ -1,4 +1,5 @@ -import { InputOption, OutputOptions, Plugin, RollupOptions, defineConfig } from 'rollup' +import type { InputOption, OutputOptions, Plugin, RollupOptions } from 'rollup' +import { defineConfig } from 'rollup' import PluginDtsBase from 'rollup-plugin-dts' import PluginReplace from '@rollup/plugin-replace' import { glob } from 'zx' @@ -6,24 +7,18 @@ import { match } from 'ts-pattern' import path from 'path' import fs from 'fs/promises' import { pipe } from 'fp-ts/function' -import { - PACKAGES_TO_ROLLUP, - PackageAny, - loadProductionDependencies, - packageEntry, - packageRoot, - scopePackage, -} from './meta' +import type { PackageAny } from './meta' +import { PACKAGES_TO_ROLLUP, loadProductionDependencies, packageEntry, packageRoot, scopePackage } from './meta' +import type { WasmPackTarget } from './meta-crypto' import { INTERFACE_WRAP_PROXY_TO_WASM_PKG_ROLLUP_ID, IrohaCryptoTarget, WASM_PACK_OUT_NAME, WASM_PKG_ROLLUP_ID, - WasmPackTarget, wasmPackOutDirForTarget, wasmPkgWithTargetRollupId, } from './meta-crypto' -import { SetOptional } from 'type-fest' +import type { SetOptional } from 'type-fest' function PluginDts() { return PluginDtsBase({ respectExternal: true }) diff --git a/etc/util.ts b/etc/util.ts index c89f396c..c470219b 100644 --- a/etc/util.ts +++ b/etc/util.ts @@ -1,4 +1,4 @@ -import { Set } from 'immutable' +import type { Set } from 'immutable' import path from 'path' import consola from 'consola' import chalk from 'chalk' diff --git a/package.json b/package.json index b51afbf7..e77eeadd 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "preinstall": "npx only-allow pnpm", "postinstall": "pnpm jake prepare:all", "format:fix": "prettier-eslint \"**/*.{ts,js,vue,json}\" --write", - "lint": "eslint . --ext=\".ts,.js,.vue\"", + "lint": "eslint --ext=\".ts,.js,.vue\" .", "run-all-checks": "pnpm jake run-all-checks", "build:all": "pnpm jake build:all", "typecheck": "tsc --noEmit" @@ -24,7 +24,7 @@ "consola": "^3.2.3", "debug": "^4.3.4", "del": "^6.0.0", - "eslint": "^9.5.0", + "eslint": "^8", "eslint-config-alloy": "^5.1.2", "eslint-plugin-cypress": "^3.3.0", "eslint-plugin-vue": "^9.26.0", diff --git a/packages/client-isomorphic-ws/src/__test.ts b/packages/client-isomorphic-ws/src/__test.ts index 7a2de4c5..8207ed35 100644 --- a/packages/client-isomorphic-ws/src/__test.ts +++ b/packages/client-isomorphic-ws/src/__test.ts @@ -1,4 +1,4 @@ -import * as types from '../types' +import type * as types from '../types' import * as native from './native' import * as ws from './ws' diff --git a/packages/client-isomorphic-ws/src/native.ts b/packages/client-isomorphic-ws/src/native.ts index 00e15db8..598042d5 100644 --- a/packages/client-isomorphic-ws/src/native.ts +++ b/packages/client-isomorphic-ws/src/native.ts @@ -1,4 +1,4 @@ -import { IncomingData, initWebSocket as trueInit } from '../types' +import type { IncomingData, initWebSocket as trueInit } from '../types' async function handleIncomingData(data: any): Promise { if (data instanceof Blob) { diff --git a/packages/client-isomorphic-ws/src/ws.ts b/packages/client-isomorphic-ws/src/ws.ts index a89c8e46..582c6abb 100644 --- a/packages/client-isomorphic-ws/src/ws.ts +++ b/packages/client-isomorphic-ws/src/ws.ts @@ -1,4 +1,4 @@ -import { IncomingData, initWebSocket as trueInit } from '../types' +import type { IncomingData, initWebSocket as trueInit } from '../types' import WebSocket from 'ws' function handleIncomingData(data: string | Buffer | ArrayBuffer | Buffer[]): IncomingData { diff --git a/packages/client/src/blocks-stream.ts b/packages/client/src/blocks-stream.ts index a9a0f2c5..11268c97 100644 --- a/packages/client/src/blocks-stream.ts +++ b/packages/client/src/blocks-stream.ts @@ -1,9 +1,10 @@ -import Emittery from 'emittery' +import type Emittery from 'emittery' import Debug from 'debug' import { datamodel, toCodec } from '@iroha2/data-model' import { ENDPOINT_BLOCKS_STREAM } from './const' -import { SocketEmitMapBase, setupWebSocket } from './util' -import { IsomorphicWebSocketAdapter } from './web-socket/types' +import type { SocketEmitMapBase } from './util' +import { setupWebSocket } from './util' +import type { IsomorphicWebSocketAdapter } from './web-socket/types' const debug = Debug('@iroha2/client:blocks-stream') diff --git a/packages/client/src/crypto-singleton.ts b/packages/client/src/crypto-singleton.ts index 087d1348..790eae31 100644 --- a/packages/client/src/crypto-singleton.ts +++ b/packages/client/src/crypto-singleton.ts @@ -1,4 +1,4 @@ -import { IrohaCryptoInterface } from '@iroha2/crypto-core' +import type { IrohaCryptoInterface } from '@iroha2/crypto-core' let __crypto: IrohaCryptoInterface | null = null diff --git a/packages/client/src/events.ts b/packages/client/src/events.ts index e4983af9..0f8e350b 100644 --- a/packages/client/src/events.ts +++ b/packages/client/src/events.ts @@ -1,9 +1,10 @@ import { datamodel, toCodec } from '@iroha2/data-model' -import Emittery from 'emittery' +import type Emittery from 'emittery' import Debug from 'debug' -import { SocketEmitMapBase, setupWebSocket } from './util' +import type { SocketEmitMapBase } from './util' +import { setupWebSocket } from './util' import { ENDPOINT_EVENTS } from './const' -import { IsomorphicWebSocketAdapter } from './web-socket/types' +import type { IsomorphicWebSocketAdapter } from './web-socket/types' const debug = Debug('@iroha2/client:events') diff --git a/packages/client/src/lib.ts b/packages/client/src/lib.ts index b0a13f75..93af0da1 100644 --- a/packages/client/src/lib.ts +++ b/packages/client/src/lib.ts @@ -5,10 +5,13 @@ * Events, Status & Health check. */ -import { Bytes, cryptoTypes, freeScope } from '@iroha2/crypto-core' -import { Result, datamodel, toCodec, variant, type Enumerate } from '@iroha2/data-model' -import { Except } from 'type-fest' -import { SetupBlocksStreamParams, SetupBlocksStreamReturn, setupBlocksStream } from './blocks-stream' +import type { cryptoTypes } from '@iroha2/crypto-core' +import { Bytes, freeScope } from '@iroha2/crypto-core' +import type { Result } from '@iroha2/data-model' +import { type Enumerate, datamodel, toCodec, variant } from '@iroha2/data-model' +import type { Except } from 'type-fest' +import type { SetupBlocksStreamParams, SetupBlocksStreamReturn } from './blocks-stream' +import { setupBlocksStream } from './blocks-stream' import { ENDPOINT_CONFIGURATION, ENDPOINT_HEALTH, @@ -18,9 +21,10 @@ import { ENDPOINT_TRANSACTION, HEALTHY_RESPONSE, } from './const' -import { SetupEventsParams, SetupEventsReturn, setupEvents } from './events' +import type { SetupEventsParams, SetupEventsReturn } from './events' +import { setupEvents } from './events' import { cryptoHash } from './util' -import { IsomorphicWebSocketAdapter } from './web-socket/types' +import type { IsomorphicWebSocketAdapter } from './web-socket/types' import { getCryptoAnyway } from './crypto-singleton' type Fetch = typeof fetch diff --git a/packages/client/src/util.ts b/packages/client/src/util.ts index 161dec13..ffc56be3 100644 --- a/packages/client/src/util.ts +++ b/packages/client/src/util.ts @@ -1,8 +1,9 @@ -import { CloseEvent, IsomorphicWebSocketAdapter, SendData, Event as WsEvent } from './web-socket/types' -import { Debugger } from 'debug' +import type { CloseEvent, IsomorphicWebSocketAdapter, SendData, Event as WsEvent } from './web-socket/types' +import type { Debugger } from 'debug' import Emittery from 'emittery' import { getCryptoAnyway } from './crypto-singleton' -import { Bytes, freeScope } from '@iroha2/crypto-core' +import type { Bytes } from '@iroha2/crypto-core' +import { freeScope } from '@iroha2/crypto-core' export function cryptoHash(input: Bytes): Uint8Array { return freeScope(() => getCryptoAnyway().Hash.hash(input).bytes()) diff --git a/packages/client/src/web-socket/native.ts b/packages/client/src/web-socket/native.ts index 905e5b5f..9f78047b 100644 --- a/packages/client/src/web-socket/native.ts +++ b/packages/client/src/web-socket/native.ts @@ -1,4 +1,4 @@ -import { IncomingData, IsomorphicWebSocketAdapter } from '@iroha2/client' +import type { IncomingData, IsomorphicWebSocketAdapter } from '@iroha2/client' async function handleIncomingData(data: any): Promise { if (data instanceof Blob) { diff --git a/packages/client/src/web-socket/node.ts b/packages/client/src/web-socket/node.ts index df87a252..ca129201 100644 --- a/packages/client/src/web-socket/node.ts +++ b/packages/client/src/web-socket/node.ts @@ -1,4 +1,4 @@ -import { IncomingData, IsomorphicWebSocketAdapter } from '@iroha2/client' +import type { IncomingData, IsomorphicWebSocketAdapter } from '@iroha2/client' import WebSocket from 'ws' function handleIncomingData(data: string | Buffer | ArrayBuffer | Buffer[]): IncomingData { diff --git a/packages/client/test/integration/test-node/test/multisignature.spec.ts b/packages/client/test/integration/test-node/test/multisignature.spec.ts index a9594296..939a5f10 100644 --- a/packages/client/test/integration/test-node/test/multisignature.spec.ts +++ b/packages/client/test/integration/test-node/test/multisignature.spec.ts @@ -10,7 +10,7 @@ import { makeSignedTransaction, makeTransactionPayload, } from '@iroha2/client' -import { freeScope, Bytes } from '@iroha2/crypto-core' +import { Bytes, freeScope } from '@iroha2/crypto-core' import { datamodel, sugar } from '@iroha2/data-model' import { pipe } from 'fp-ts/function' import { produce } from 'immer' diff --git a/packages/client/test/integration/test-node/test/util.ts b/packages/client/test/integration/test-node/test/util.ts index b8713fb1..9350705a 100644 --- a/packages/client/test/integration/test-node/test/util.ts +++ b/packages/client/test/integration/test-node/test/util.ts @@ -2,7 +2,7 @@ import { CLIENT_CONFIG } from '@iroha2/test-configuration' import { Client, Signer, Torii, type ToriiRequirementsForApiHttp } from '@iroha2/client' import { adapter as WS } from '@iroha2/client/web-socket/node' import { crypto } from '@iroha2/crypto-target-node' -import { Free } from '@iroha2/crypto-core' +import type { Free } from '@iroha2/crypto-core' import { datamodel } from '@iroha2/data-model' import { afterEach, beforeAll, beforeEach, onTestFinished } from 'vitest' import { delay } from '../../util' diff --git a/packages/client/test/integration/test-web/src/components/EventListener.vue b/packages/client/test/integration/test-web/src/components/EventListener.vue index f9dbafb4..c3d7860f 100644 --- a/packages/client/test/integration/test-web/src/components/EventListener.vue +++ b/packages/client/test/integration/test-web/src/components/EventListener.vue @@ -1,6 +1,8 @@ diff --git a/packages/test-configuration/src/lib.ts b/packages/test-configuration/src/lib.ts index 9fd73867..3e03f694 100644 --- a/packages/test-configuration/src/lib.ts +++ b/packages/test-configuration/src/lib.ts @@ -1,13 +1,4 @@ import * as dm from '@iroha2/data-model' -import fs from 'fs/promises' -import path from 'path' -import { temporaryDirectory } from 'tempy' -import { EXECUTOR_WASM_PATH, irohaCodecToJson, resolveBinary } from '@iroha2/iroha-source' -import { execa } from 'execa' -import type { PublicKey } from '@iroha2/crypto-core' - -const BLOCK_TIME_MS = 0 -const COMMIT_TIME_MS = 0 export const DOMAIN: dm.DomainId = new dm.Name('wonderland') @@ -23,70 +14,6 @@ export const GENESIS_KEY_PAIR = { export const CHAIN = '00000000-0000-0000-0000-000000000000' -export async function createGenesis(params: { - /** - * A list of peers' public keys. Must be at least one. - */ - topology: PublicKey[] -}): Promise { - const alice = dm.AccountId.parse(`${ACCOUNT_KEY_PAIR.publicKey}@${DOMAIN.value}`) - const genesis = dm.AccountId.parse(`${GENESIS_KEY_PAIR.publicKey}@genesis`) - - const instructionsJson = await irohaCodecToJson( - 'Vec', - dm.Vec.with(dm.getCodec(dm.InstructionBox)).encode([ - dm.InstructionBox.Register.Domain({ id: DOMAIN, metadata: [], logo: null }), - dm.InstructionBox.Register.Account({ id: alice, metadata: [] }), - dm.InstructionBox.Transfer.Domain({ source: genesis, object: DOMAIN, destination: alice }), - dm.InstructionBox.SetParameter.Sumeragi.BlockTime(dm.Duration.fromMillis(BLOCK_TIME_MS)), - dm.InstructionBox.SetParameter.Sumeragi.CommitTime(dm.Duration.fromMillis(COMMIT_TIME_MS)), - ...[ - { name: 'CanSetParameters', payload: dm.Json.fromValue(null) }, - { name: 'CanRegisterDomain', payload: dm.Json.fromValue(null) }, - ].map((object) => dm.InstructionBox.Grant.Permission({ object, destination: alice })), - ]), - ) - - // FIXME: produce SignedBlock directly, without Kagami. - const kagami_input = { - chain: CHAIN, - executor: EXECUTOR_WASM_PATH, - instructions: instructionsJson, - topology: params.topology.map((x) => x.toMultihash()), - // FIXME: migrate to direct building of `SignedBlock`, without `genesis.json`. - // And note that I don't use any WASMs and these fields are extra for my case. - wasm_dir: 'why the hell do you require wasm_dir at all times?', - wasm_triggers: [], - } - - return signGenesisWithKagami(kagami_input) -} - -async function signGenesisWithKagami(json: unknown): Promise { - const kagami = await resolveBinary('iroha_kagami') - - const dir = temporaryDirectory() - await fs.writeFile(path.join(dir, 'genesis.json'), JSON.stringify(json)) - - const { stdout } = await execa( - kagami.path, - [ - `genesis`, - `sign`, - path.join(dir, 'genesis.json'), - `--public-key`, - GENESIS_KEY_PAIR.publicKey, - `--private-key`, - GENESIS_KEY_PAIR.privateKey, - // '--out-file', - // path.join(dir, 'genesis.scale'), - ], - { encoding: 'buffer' }, - ) - - return dm.getCodec(dm.SignedBlock).decode(stdout) -} - export const PEER_CONFIG_BASE = { chain: CHAIN, genesis: { diff --git a/packages/test-configuration/src/node.ts b/packages/test-configuration/src/node.ts new file mode 100644 index 00000000..bfc8f8bc --- /dev/null +++ b/packages/test-configuration/src/node.ts @@ -0,0 +1,77 @@ +import * as dm from '@iroha2/data-model' +import fs from 'fs/promises' +import path from 'path' +import { temporaryDirectory } from 'tempy' +import { EXECUTOR_WASM_PATH, irohaCodecToJson, resolveBinary } from '@iroha2/iroha-source' +import { execa } from 'execa' +import type { PublicKey } from '@iroha2/crypto-core' +import { ACCOUNT_KEY_PAIR, CHAIN, GENESIS_KEY_PAIR } from './lib' + +const BLOCK_TIME_MS = 0 +const COMMIT_TIME_MS = 0 + +export const DOMAIN: dm.DomainId = new dm.Name('wonderland') + +export async function createGenesis(params: { + /** + * A list of peers' public keys. Must be at least one. + */ + topology: PublicKey[] +}): Promise { + const alice = dm.AccountId.parse(`${ACCOUNT_KEY_PAIR.publicKey}@${DOMAIN.value}`) + const genesis = dm.AccountId.parse(`${GENESIS_KEY_PAIR.publicKey}@genesis`) + + const instructionsJson = await irohaCodecToJson( + 'Vec', + dm.Vec.with(dm.getCodec(dm.InstructionBox)).encode([ + dm.InstructionBox.Register.Domain({ id: DOMAIN, metadata: [], logo: null }), + dm.InstructionBox.Register.Account({ id: alice, metadata: [] }), + dm.InstructionBox.Transfer.Domain({ source: genesis, object: DOMAIN, destination: alice }), + dm.InstructionBox.SetParameter.Sumeragi.BlockTime(dm.Duration.fromMillis(BLOCK_TIME_MS)), + dm.InstructionBox.SetParameter.Sumeragi.CommitTime(dm.Duration.fromMillis(COMMIT_TIME_MS)), + ...[ + { name: 'CanSetParameters', payload: dm.Json.fromValue(null) }, + { name: 'CanRegisterDomain', payload: dm.Json.fromValue(null) }, + ].map((object) => dm.InstructionBox.Grant.Permission({ object, destination: alice })), + ]), + ) + + // FIXME: produce SignedBlock directly, without Kagami. + const kagami_input = { + chain: CHAIN, + executor: EXECUTOR_WASM_PATH, + instructions: instructionsJson, + topology: params.topology.map((x) => x.toMultihash()), + // FIXME: migrate to direct building of `SignedBlock`, without `genesis.json`. + // And note that I don't use any WASMs and these fields are extra for my case. + wasm_dir: 'why the hell do you require wasm_dir at all times?', + wasm_triggers: [], + } + + return signGenesisWithKagami(kagami_input) +} + +async function signGenesisWithKagami(json: unknown): Promise { + const kagami = await resolveBinary('iroha_kagami') + + const dir = temporaryDirectory() + await fs.writeFile(path.join(dir, 'genesis.json'), JSON.stringify(json)) + + const { stdout } = await execa( + kagami.path, + [ + `genesis`, + `sign`, + path.join(dir, 'genesis.json'), + `--public-key`, + GENESIS_KEY_PAIR.publicKey, + `--private-key`, + GENESIS_KEY_PAIR.privateKey, + // '--out-file', + // path.join(dir, 'genesis.scale'), + ], + { encoding: 'buffer' }, + ) + + return dm.getCodec(dm.SignedBlock).decode(stdout) +} diff --git a/packages/test-peer/etc/cli.ts b/packages/test-peer/etc/cli.ts index 2aa42bd2..82958cb2 100644 --- a/packages/test-peer/etc/cli.ts +++ b/packages/test-peer/etc/cli.ts @@ -3,7 +3,7 @@ import { hideBin } from 'yargs/helpers' import consola from 'consola' import { startPeer } from '../src/lib' import { KeyPair } from '@iroha2/crypto-core' -import { createGenesis } from '@iroha2/test-configuration' +import { createGenesis } from '@iroha2/test-configuration/src/node' yargs(hideBin(process.argv)) .command( diff --git a/packages/test-peer/package.json b/packages/test-peer/package.json index e0a450e8..948df299 100644 --- a/packages/test-peer/package.json +++ b/packages/test-peer/package.json @@ -10,9 +10,11 @@ }, "devDependencies": { "@iarna/toml": "^2.2.5", - "@iroha2/client": "workspace:^7.0.0", - "@iroha2/iroha-source": "workspace:^0.0.0", - "@iroha2/test-configuration": "workspace:^", + "@iroha2/client": "workspace:*", + "@iroha2/crypto-core": "workspace:*", + "@iroha2/data-model": "workspace:*", + "@iroha2/iroha-source": "workspace:*", + "@iroha2/test-configuration": "workspace:*", "@types/debug": "^4.1.7", "@types/iarna__toml": "^2.0.5", "@types/yargs": "^17.0.22", diff --git a/packages/test-peer/src/api/server.ts b/packages/test-peer/src/api/server.ts index e989f0d9..07aaf947 100644 --- a/packages/test-peer/src/api/server.ts +++ b/packages/test-peer/src/api/server.ts @@ -3,7 +3,7 @@ import { listen } from 'listhen' import * as lib from '../lib' import { KeyPair } from '@iroha2/crypto-core' -import { createGenesis } from '@iroha2/test-configuration' +import { createGenesis } from '@iroha2/test-configuration/src/node' export async function run(port = 8765) { let peer: lib.StartPeerReturn | undefined diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 44edd784..912e114a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -216,6 +216,9 @@ importers: '@iroha2/crypto-core': specifier: workspace:^2.0.0 version: link:../../../../crypto/packages/core + '@iroha2/crypto-target-node': + specifier: workspace:* + version: link:../../../../crypto/packages/target-node '@iroha2/crypto-target-web': specifier: workspace:^2.0.0 version: link:../../../../crypto/packages/target-web @@ -410,13 +413,19 @@ importers: specifier: ^2.2.5 version: 2.2.5 '@iroha2/client': - specifier: workspace:^7.0.0 + specifier: workspace:* version: link:../client + '@iroha2/crypto-core': + specifier: workspace:* + version: link:../crypto/packages/core + '@iroha2/data-model': + specifier: workspace:* + version: link:../data-model '@iroha2/iroha-source': - specifier: workspace:^0.0.0 + specifier: workspace:* version: link:../iroha-source '@iroha2/test-configuration': - specifier: workspace:^ + specifier: workspace:* version: link:../test-configuration '@types/debug': specifier: ^4.1.7 From 7349ae0494d8084696fb6977ef598d1aa7c96034 Mon Sep 17 00:00:00 2001 From: 0x009922 <43530070+0x009922@users.noreply.github.com> Date: Wed, 5 Feb 2025 10:58:27 +0900 Subject: [PATCH 067/124] refactor!: flatten repo, move to native TS/ESM modules (wip) Signed-off-by: 0x009922 <43530070+0x009922@users.noreply.github.com> --- .eslintignore | 8 +- .gitignore | 2 + .prettierignore | 2 +- .../.cargo/config.toml | 0 .../crypto-rs => crypto-wasm}/.gitignore | 0 .../crypto-rs => crypto-wasm}/Cargo.toml | 5 +- .../crypto-rs => crypto-wasm}/README.md | 0 crypto-wasm/rust-toolchain.toml | 2 + .../crypto-rs => crypto-wasm}/src/lib.rs | 0 .../crypto-rs => crypto-wasm}/src/utils.rs | 2 +- .../crypto-rs => crypto-wasm}/tests/web.rs | 0 etc/jakefile.ts | 52 +- etc/meta-crypto.ts | 15 +- etc/meta.ts | 27 +- etc/rollup.config.ts | 312 ---- etc/vitest-setup-crypto-node.ts | 6 +- package.json | 8 +- packages/client-isomorphic-fetch/CHANGELOG.md | 7 - packages/client-isomorphic-fetch/README.md | 5 - packages/client-isomorphic-fetch/package.json | 28 - .../client-isomorphic-fetch/src/native.ts | 3 - packages/client-isomorphic-fetch/src/node.ts | 3 - packages/client-isomorphic-fetch/types.d.ts | 3 - packages/client-isomorphic-ws/CHANGELOG.md | 7 - packages/client-isomorphic-ws/README.md | 7 - packages/client-isomorphic-ws/package.json | 30 - packages/client-isomorphic-ws/src/__test.ts | 8 - packages/client-isomorphic-ws/src/native.ts | 28 - packages/client-isomorphic-ws/src/ws.ts | 30 - packages/client-isomorphic-ws/types.d.ts | 32 - packages/client/package.json | 32 +- packages/client/src/client.ts | 2 +- packages/client/src/query.ts | 2 +- packages/client/test/integration/README.md | 6 - .../test/integration/test-node/test/setup.ts | 5 - .../test-web/pnpm-global/5/pnpm-lock.yaml | 4 - .../integration/test-web/src/setup-crypto.ts | 5 - .../test-web/test-results/.last-run.json | 4 - .../client/test/integration/tsconfig.json | 3 - .../client/{test => tests}/types.spec-d.ts | 0 .../CHANGELOG.md | 0 .../README.md | 0 packages/crypto-target-node/package.json | 9 + packages/crypto-target-node/src/lib.ts | 12 + .../CHANGELOG.md | 0 .../README.md | 0 packages/crypto-target-web/package.json | 9 + packages/crypto-target-web/src/lib.ts | 14 + .../util => crypto-util}/CHANGELOG.md | 0 .../packages/util => crypto-util}/README.md | 0 packages/crypto-util/package.json | 6 + .../util => crypto-util}/src/free.spec.ts | 0 .../packages/util => crypto-util}/src/free.ts | 0 .../packages/util => crypto-util}/src/lib.ts | 0 .../crypto/{packages/core => }/CHANGELOG.md | 0 packages/crypto/README.md | 110 +- packages/crypto/crypto-rs/Cargo.lock | 1660 ----------------- packages/crypto/crypto-rs/rust-toolchain.toml | 2 - .../wasm-pkg-bundler/iroha_crypto.js | 6 - .../wasm-pkg-bundler/iroha_crypto_bg.js | 1254 ------------- .../wasm-pkg-bundler/iroha_crypto_bg.wasm | Bin 653465 -> 0 bytes .../iroha_crypto_bg.wasm.d.ts | 45 - .../wasm-pkg-nodejs/iroha_crypto.d.ts | 222 --- .../crypto-rs/wasm-pkg-nodejs/iroha_crypto.js | 1264 ------------- .../wasm-pkg-nodejs/iroha_crypto_bg.wasm | Bin 653725 -> 0 bytes .../wasm-pkg-nodejs/iroha_crypto_bg.wasm.d.ts | 45 - .../crypto-rs/wasm-pkg-web/iroha_crypto.d.ts | 291 --- .../crypto-rs/wasm-pkg-web/iroha_crypto.js | 1272 ------------- .../wasm-pkg-web/iroha_crypto_bg.wasm | Bin 652360 -> 0 bytes .../wasm-pkg-web/iroha_crypto_bg.wasm.d.ts | 45 - packages/crypto/package.json | 10 +- packages/crypto/packages/core/README.md | 104 -- packages/crypto/packages/core/package.json | 21 - .../crypto/packages/core/src/rollup-shim.d.ts | 4 - packages/crypto/packages/core/src/types.ts | 4 - .../packages/target-bundler/CHANGELOG.md | 185 -- .../crypto/packages/target-bundler/README.md | 12 - .../packages/target-bundler/package.json | 17 - .../crypto/packages/target-bundler/src/lib.ts | 4 - .../target-bundler/src/rollup-shim.d.ts | 3 - .../crypto/packages/target-node/package.json | 19 - .../crypto/packages/target-node/src/lib.ts | 4 - .../packages/target-node/src/rollup-shim.d.ts | 3 - .../crypto/packages/target-web/package.json | 17 - .../crypto/packages/target-web/src/lib.ts | 4 - .../packages/target-web/src/rollup-shim.d.ts | 4 - packages/crypto/packages/util/package.json | 18 - .../crypto/{packages/core => }/src/lib.ts | 2 +- .../{packages/core => }/src/singleton.ts | 0 packages/crypto/src/types.ts | 4 + .../wasm-target/wasm-pkg.d.ts} | 28 +- .../test/integration/test-node/CHANGELOG.md | 7 - .../test/integration/test-node/package.json | 15 - .../test/integration/test-node/tsconfig.json | 4 - .../test/integration/test-web/.gitignore | 5 - .../test/integration/test-web/CHANGELOG.md | 6 - .../integration/test-web/cypress.config.ts | 10 - .../test-web/cypress/e2e/main.cy.js | 13 - .../test/integration/test-web/index.html | 12 - .../test/integration/test-web/package.json | 19 - .../test/integration/test-web/src/main.ts | 18 - .../integration/test-web/src/vite-env.d.ts | 1 - .../test/integration/test-web/vite.config.ts | 9 - .../test/integration/tsconfig.base.json | 3 - packages/data-model-schema/package.json | 3 +- packages/data-model-schema/src/lib.ts | 2 +- packages/data-model/package.json | 18 +- packages/data-model/src/items/core.ts | 4 +- packages/data-model/src/lib.ts | 2 +- packages/data-model/test/codec-compat.spec.ts | 2 +- packages/data-model/test/misc.spec.ts | 4 +- pnpm-lock.yaml | 1414 +++++--------- pnpm-workspace.yaml | 5 +- rollup.config.js | 1 - .../test-web => tests/browser}/.gitignore | 0 .../test-web => tests/browser}/CHANGELOG.md | 0 .../browser}/cypress.config.ts | 0 .../browser}/cypress/e2e/main.cy.ts | 0 .../browser}/cypress/tsconfig.json | 0 .../test-web => tests/browser}/etc/meta.ts | 0 .../browser}/etc/run-peer-server.ts | 2 +- .../browser}/etc/test-run.ts | 4 +- .../test-web => tests/browser}/index.html | 0 .../test-web => tests/browser}/package.json | 14 +- .../test-web => tests/browser}/src/App.vue | 0 .../test-web => tests/browser}/src/client.ts | 2 +- .../browser}/src/components/CreateDomain.vue | 0 .../browser}/src/components/EventListener.vue | 0 .../browser}/src/components/StatusChecker.vue | 0 .../test-web => tests/browser}/src/env.d.ts | 0 .../test-web => tests/browser}/src/main.ts | 0 tests/browser/src/setup-crypto.ts | 3 + .../test-web => tests/browser}/tsconfig.json | 0 .../test-web => tests/browser}/vite.config.ts | 0 .../interfaces/CHANGELOG.md | 0 .../interfaces/package.json | 0 .../interfaces/test/main.ts | 2 +- .../interfaces/tsconfig.json | 0 .../test-node => tests/node}/.gitignore | 0 .../test-node => tests/node}/.prettierignore | 0 .../test-node => tests/node}/CHANGELOG.md | 0 .../test-node => tests/node}/README.md | 0 .../test-node => tests/node}/package.json | 14 +- .../node/tests/crypto-run.cjs | 0 .../node/tests/crypto-run.mjs | 0 tests/node/tests/crypto.spec-d.ts | 24 + .../node/tests/crypto.spec.ts | 2 +- .../node/tests}/interactions.spec.ts | 2 +- .../test => tests/node/tests}/meta.spec.ts | 0 tests/node/tests/setup.ts | 4 + .../test => tests/node/tests}/util.ts | 7 +- tests/node/tsconfig.json | 4 + .../node}/vitest.config.mts | 2 +- .../support}/iroha-source/.eslintignore | 0 .../support}/iroha-source/.gitignore | 0 .../support}/iroha-source/.prettierignore | 0 .../support}/iroha-source/README.md | 0 .../support}/iroha-source/etc/cli.ts | 0 .../support}/iroha-source/etc/meta.ts | 2 +- .../support}/iroha-source/package.json | 0 .../support}/iroha-source/src/lib.ts | 0 .../support}/test-configuration/package.json | 5 +- .../support}/test-configuration/src/lib.ts | 0 .../support}/test-configuration/src/node.ts | 2 +- .../support}/test-peer/.gitignore | 0 .../support}/test-peer/CHANGELOG.md | 0 .../support}/test-peer/README.md | 0 .../support}/test-peer/etc/cli.ts | 2 +- .../support}/test-peer/package.json | 7 +- .../support}/test-peer/src/api/server.ts | 4 +- .../support}/test-peer/src/lib.ts | 2 +- .../integration => tests/support}/util.ts | 0 tsconfig.json | 13 +- vitest.config.mts | 39 +- 174 files changed, 855 insertions(+), 8312 deletions(-) rename {packages/crypto/crypto-rs => crypto-wasm}/.cargo/config.toml (100%) rename {packages/crypto/crypto-rs => crypto-wasm}/.gitignore (100%) rename {packages/crypto/crypto-rs => crypto-wasm}/Cargo.toml (82%) rename {packages/crypto/crypto-rs => crypto-wasm}/README.md (100%) create mode 100644 crypto-wasm/rust-toolchain.toml rename {packages/crypto/crypto-rs => crypto-wasm}/src/lib.rs (100%) rename {packages/crypto/crypto-rs => crypto-wasm}/src/utils.rs (97%) rename {packages/crypto/crypto-rs => crypto-wasm}/tests/web.rs (100%) delete mode 100644 etc/rollup.config.ts delete mode 100644 packages/client-isomorphic-fetch/CHANGELOG.md delete mode 100644 packages/client-isomorphic-fetch/README.md delete mode 100644 packages/client-isomorphic-fetch/package.json delete mode 100644 packages/client-isomorphic-fetch/src/native.ts delete mode 100644 packages/client-isomorphic-fetch/src/node.ts delete mode 100644 packages/client-isomorphic-fetch/types.d.ts delete mode 100644 packages/client-isomorphic-ws/CHANGELOG.md delete mode 100644 packages/client-isomorphic-ws/README.md delete mode 100644 packages/client-isomorphic-ws/package.json delete mode 100644 packages/client-isomorphic-ws/src/__test.ts delete mode 100644 packages/client-isomorphic-ws/src/native.ts delete mode 100644 packages/client-isomorphic-ws/src/ws.ts delete mode 100644 packages/client-isomorphic-ws/types.d.ts delete mode 100644 packages/client/test/integration/README.md delete mode 100644 packages/client/test/integration/test-node/test/setup.ts delete mode 100644 packages/client/test/integration/test-web/pnpm-global/5/pnpm-lock.yaml delete mode 100644 packages/client/test/integration/test-web/src/setup-crypto.ts delete mode 100644 packages/client/test/integration/test-web/test-results/.last-run.json delete mode 100644 packages/client/test/integration/tsconfig.json rename packages/client/{test => tests}/types.spec-d.ts (100%) rename packages/{crypto/packages/target-node => crypto-target-node}/CHANGELOG.md (100%) rename packages/{crypto/packages/target-node => crypto-target-node}/README.md (100%) create mode 100644 packages/crypto-target-node/package.json create mode 100644 packages/crypto-target-node/src/lib.ts rename packages/{crypto/packages/target-web => crypto-target-web}/CHANGELOG.md (100%) rename packages/{crypto/packages/target-web => crypto-target-web}/README.md (100%) create mode 100644 packages/crypto-target-web/package.json create mode 100644 packages/crypto-target-web/src/lib.ts rename packages/{crypto/packages/util => crypto-util}/CHANGELOG.md (100%) rename packages/{crypto/packages/util => crypto-util}/README.md (100%) create mode 100644 packages/crypto-util/package.json rename packages/{crypto/packages/util => crypto-util}/src/free.spec.ts (100%) rename packages/{crypto/packages/util => crypto-util}/src/free.ts (100%) rename packages/{crypto/packages/util => crypto-util}/src/lib.ts (100%) rename packages/crypto/{packages/core => }/CHANGELOG.md (100%) delete mode 100644 packages/crypto/crypto-rs/Cargo.lock delete mode 100644 packages/crypto/crypto-rs/rust-toolchain.toml delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.js delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm.d.ts delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.d.ts delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm delete mode 100644 packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm.d.ts delete mode 100644 packages/crypto/packages/core/README.md delete mode 100644 packages/crypto/packages/core/package.json delete mode 100644 packages/crypto/packages/core/src/rollup-shim.d.ts delete mode 100644 packages/crypto/packages/core/src/types.ts delete mode 100644 packages/crypto/packages/target-bundler/CHANGELOG.md delete mode 100644 packages/crypto/packages/target-bundler/README.md delete mode 100644 packages/crypto/packages/target-bundler/package.json delete mode 100644 packages/crypto/packages/target-bundler/src/lib.ts delete mode 100644 packages/crypto/packages/target-bundler/src/rollup-shim.d.ts delete mode 100644 packages/crypto/packages/target-node/package.json delete mode 100644 packages/crypto/packages/target-node/src/lib.ts delete mode 100644 packages/crypto/packages/target-node/src/rollup-shim.d.ts delete mode 100644 packages/crypto/packages/target-web/package.json delete mode 100644 packages/crypto/packages/target-web/src/lib.ts delete mode 100644 packages/crypto/packages/target-web/src/rollup-shim.d.ts delete mode 100644 packages/crypto/packages/util/package.json rename packages/crypto/{packages/core => }/src/lib.ts (99%) rename packages/crypto/{packages/core => }/src/singleton.ts (100%) create mode 100644 packages/crypto/src/types.ts rename packages/crypto/{crypto-rs/wasm-pkg-bundler/iroha_crypto.d.ts => src/wasm-target/wasm-pkg.d.ts} (85%) delete mode 100644 packages/crypto/test/integration/test-node/CHANGELOG.md delete mode 100644 packages/crypto/test/integration/test-node/package.json delete mode 100644 packages/crypto/test/integration/test-node/tsconfig.json delete mode 100644 packages/crypto/test/integration/test-web/.gitignore delete mode 100644 packages/crypto/test/integration/test-web/CHANGELOG.md delete mode 100644 packages/crypto/test/integration/test-web/cypress.config.ts delete mode 100644 packages/crypto/test/integration/test-web/cypress/e2e/main.cy.js delete mode 100644 packages/crypto/test/integration/test-web/index.html delete mode 100644 packages/crypto/test/integration/test-web/package.json delete mode 100644 packages/crypto/test/integration/test-web/src/main.ts delete mode 100644 packages/crypto/test/integration/test-web/src/vite-env.d.ts delete mode 100644 packages/crypto/test/integration/test-web/vite.config.ts delete mode 100644 packages/crypto/test/integration/tsconfig.base.json delete mode 100644 rollup.config.js rename {packages/client/test/integration/test-web => tests/browser}/.gitignore (100%) rename {packages/client/test/integration/test-web => tests/browser}/CHANGELOG.md (100%) rename {packages/client/test/integration/test-web => tests/browser}/cypress.config.ts (100%) rename {packages/client/test/integration/test-web => tests/browser}/cypress/e2e/main.cy.ts (100%) rename {packages/client/test/integration/test-web => tests/browser}/cypress/tsconfig.json (100%) rename {packages/client/test/integration/test-web => tests/browser}/etc/meta.ts (100%) rename {packages/client/test/integration/test-web => tests/browser}/etc/run-peer-server.ts (81%) rename {packages/client/test/integration/test-web => tests/browser}/etc/test-run.ts (85%) rename {packages/client/test/integration/test-web => tests/browser}/index.html (100%) rename {packages/client/test/integration/test-web => tests/browser}/package.json (72%) rename {packages/client/test/integration/test-web => tests/browser}/src/App.vue (100%) rename {packages/client/test/integration/test-web => tests/browser}/src/client.ts (90%) rename {packages/client/test/integration/test-web => tests/browser}/src/components/CreateDomain.vue (100%) rename {packages/client/test/integration/test-web => tests/browser}/src/components/EventListener.vue (100%) rename {packages/client/test/integration/test-web => tests/browser}/src/components/StatusChecker.vue (100%) rename {packages/client/test/integration/test-web => tests/browser}/src/env.d.ts (100%) rename {packages/client/test/integration/test-web => tests/browser}/src/main.ts (100%) create mode 100644 tests/browser/src/setup-crypto.ts rename {packages/client/test/integration/test-web => tests/browser}/tsconfig.json (100%) rename {packages/client/test/integration/test-web => tests/browser}/vite.config.ts (100%) rename {packages/crypto/test/integration => tests}/interfaces/CHANGELOG.md (100%) rename {packages/crypto/test/integration => tests}/interfaces/package.json (100%) rename {packages/crypto/test/integration => tests}/interfaces/test/main.ts (94%) rename {packages/crypto/test/integration => tests}/interfaces/tsconfig.json (100%) rename {packages/client/test/integration/test-node => tests/node}/.gitignore (100%) rename {packages/client/test/integration/test-node => tests/node}/.prettierignore (100%) rename {packages/client/test/integration/test-node => tests/node}/CHANGELOG.md (100%) rename {packages/client/test/integration/test-node => tests/node}/README.md (100%) rename {packages/client/test/integration/test-node => tests/node}/package.json (50%) rename packages/crypto/test/integration/test-node/test/run.cjs => tests/node/tests/crypto-run.cjs (100%) rename packages/crypto/test/integration/test-node/test/run.mjs => tests/node/tests/crypto-run.mjs (100%) create mode 100644 tests/node/tests/crypto.spec-d.ts rename packages/crypto/test/integration/test-node/test/main.spec.ts => tests/node/tests/crypto.spec.ts (99%) rename {packages/client/test/integration/test-node/test => tests/node/tests}/interactions.spec.ts (99%) rename {packages/client/test/integration/test-node/test => tests/node/tests}/meta.spec.ts (100%) create mode 100644 tests/node/tests/setup.ts rename {packages/client/test/integration/test-node/test => tests/node/tests}/util.ts (93%) create mode 100644 tests/node/tsconfig.json rename {packages/client/test/integration/test-node => tests/node}/vitest.config.mts (90%) rename {packages => tests/support}/iroha-source/.eslintignore (100%) rename {packages => tests/support}/iroha-source/.gitignore (100%) rename {packages => tests/support}/iroha-source/.prettierignore (100%) rename {packages => tests/support}/iroha-source/README.md (100%) rename {packages => tests/support}/iroha-source/etc/cli.ts (100%) rename {packages => tests/support}/iroha-source/etc/meta.ts (63%) rename {packages => tests/support}/iroha-source/package.json (100%) rename {packages => tests/support}/iroha-source/src/lib.ts (100%) rename {packages => tests/support}/test-configuration/package.json (79%) rename {packages => tests/support}/test-configuration/src/lib.ts (100%) rename {packages => tests/support}/test-configuration/src/node.ts (98%) rename {packages => tests/support}/test-peer/.gitignore (100%) rename {packages => tests/support}/test-peer/CHANGELOG.md (100%) rename {packages => tests/support}/test-peer/README.md (100%) rename {packages => tests/support}/test-peer/etc/cli.ts (93%) rename {packages => tests/support}/test-peer/package.json (85%) rename {packages => tests/support}/test-peer/src/api/server.ts (91%) rename {packages => tests/support}/test-peer/src/lib.ts (98%) rename {packages/client/test/integration => tests/support}/util.ts (100%) diff --git a/.eslintignore b/.eslintignore index 940f4fed..4fbebabd 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,8 +1,4 @@ dist dist-tsc -/packages/data-model/src/datamodel/generated.ts - -/packages/crypto/crypto-rs/wasm-pkg-* -/packages/crypto/crypto-rs/target - - +/crypto-wasm +/packages/crypto-*/src/wasm-target diff --git a/.gitignore b/.gitignore index 5236e254..e03c32d3 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ v8-compile-cache-0 .pnpm-debug.log .idea .vscode +/.iroha +/packages/crypto-*/src/wasm-target diff --git a/.prettierignore b/.prettierignore index feb72aab..941f6a0d 100644 --- a/.prettierignore +++ b/.prettierignore @@ -5,4 +5,4 @@ node_modules packages/data-model/src/items/generated.ts packages/client/src/generated/find-api.ts -packages/crypto/crypto-rs/wasm-pkg-* +/crypto-wasm diff --git a/packages/crypto/crypto-rs/.cargo/config.toml b/crypto-wasm/.cargo/config.toml similarity index 100% rename from packages/crypto/crypto-rs/.cargo/config.toml rename to crypto-wasm/.cargo/config.toml diff --git a/packages/crypto/crypto-rs/.gitignore b/crypto-wasm/.gitignore similarity index 100% rename from packages/crypto/crypto-rs/.gitignore rename to crypto-wasm/.gitignore diff --git a/packages/crypto/crypto-rs/Cargo.toml b/crypto-wasm/Cargo.toml similarity index 82% rename from packages/crypto/crypto-rs/Cargo.toml rename to crypto-wasm/Cargo.toml index 13ff4e9a..9a0e9ad2 100644 --- a/packages/crypto/crypto-rs/Cargo.toml +++ b/crypto-wasm/Cargo.toml @@ -12,9 +12,8 @@ default = ["console_error_panic_hook"] [dependencies] # FIXME use upstream -iroha_crypto = { path = "../../iroha-source/.iroha/crates/iroha_crypto", default-features = false, features = [ - "rand", -] } +iroha_crypto = { path = "../.iroha/crates/iroha_crypto", default-features = false, features = ["rand"] } +# iroha_crypto = { git = "https://github.com/hyperledger-iroha/iroha.git", tag = "v2.0.0-rc.1.0", default-features = false, features = ["rand"] } getrandom = { version = "0.2", features = ["js"] } diff --git a/packages/crypto/crypto-rs/README.md b/crypto-wasm/README.md similarity index 100% rename from packages/crypto/crypto-rs/README.md rename to crypto-wasm/README.md diff --git a/crypto-wasm/rust-toolchain.toml b/crypto-wasm/rust-toolchain.toml new file mode 100644 index 00000000..b2a53a7c --- /dev/null +++ b/crypto-wasm/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +channel = "nightly-2024-09-09" diff --git a/packages/crypto/crypto-rs/src/lib.rs b/crypto-wasm/src/lib.rs similarity index 100% rename from packages/crypto/crypto-rs/src/lib.rs rename to crypto-wasm/src/lib.rs diff --git a/packages/crypto/crypto-rs/src/utils.rs b/crypto-wasm/src/utils.rs similarity index 97% rename from packages/crypto/crypto-rs/src/utils.rs rename to crypto-wasm/src/utils.rs index 4851262b..e33b0db1 100644 --- a/packages/crypto/crypto-rs/src/utils.rs +++ b/crypto-wasm/src/utils.rs @@ -27,7 +27,7 @@ impl JsErrorResultExt for Result { #[wasm_bindgen] extern "C" { - #[wasm_bindgen(typescript_type = "Binary")] + #[wasm_bindgen(typescript_type = "Bytes")] pub type BytesJs; } diff --git a/packages/crypto/crypto-rs/tests/web.rs b/crypto-wasm/tests/web.rs similarity index 100% rename from packages/crypto/crypto-rs/tests/web.rs rename to crypto-wasm/tests/web.rs diff --git a/etc/jakefile.ts b/etc/jakefile.ts index afac8a56..36fdd9f7 100644 --- a/etc/jakefile.ts +++ b/etc/jakefile.ts @@ -1,10 +1,17 @@ import 'jake' import del from 'del' -import { $, cd } from 'zx' +import { $, cd, fs } from 'zx' import path from 'path' -import { ROOT, preserveCwd, reportDeleted } from './util' +import { ROOT, preserveCwd, reportDeleted, resolve } from './util' import { PACKAGES_TO_BUILD_WITH_TSC, PACKAGES_TO_PUBLISH, artifactsToClean, packageRoot, scopePackage } from './meta' -import { WASM_PACK_CRATE_DIR, WASM_PACK_OUT_NAME, WASM_PACK_TARGETS, wasmPackOutDirForTarget } from './meta-crypto' +import { + IROHA_CRYPTO_TARGETS, + IrohaCryptoTarget, + WASM_PACK_CRATE_DIR, + WASM_PACK_OUT_NAME, + WASM_PACK_TARGETS, +} from './meta-crypto' +import { mkdir } from 'fs/promises' desc('Clean all build artifacts') task('clean', async () => { @@ -18,10 +25,10 @@ task('build-iroha-binaries', async () => { }) namespace('crypto-wasm', () => { - task('clean-wasm-pkgs', async () => { - const deleted = await del(WASM_PACK_TARGETS.map((a) => wasmPackOutDirForTarget(a)).toArray()) - reportDeleted(deleted) - }) + // // task('clean-wasm-pkgs', async () => { + // // const deleted = await del(WASM_PACK_TARGETS.map((a) => wasmPackOutDirForTarget(a)).toArray()) + // // reportDeleted(deleted) + // }) task('cargo-test', async () => { await preserveCwd(async () => { @@ -35,24 +42,29 @@ namespace('crypto-wasm', () => { cd(WASM_PACK_CRATE_DIR) for (const target of WASM_PACK_TARGETS) { - const outDir = wasmPackOutDirForTarget(target) + const outDir = resolve(`crypto-wasm/target/pkg-${target}`) + // const outDir = wasmPackOutDirForTarget(target) await $`wasm-pack build --target ${target} --out-dir ${outDir} --out-name ${WASM_PACK_OUT_NAME}` } }) }) - task('keep-only-necessary', async () => { - function* patterns() { - for (const target of WASM_PACK_TARGETS) { - const root = wasmPackOutDirForTarget(target) - yield path.join(root, '*') - yield path.join(root, '.*') // hidden files - yield '!' + path.join(root, WASM_PACK_OUT_NAME + '{.js,.d.ts,_bg.wasm,_bg.js,_bg.wasm.d.ts}') + task('copy-targets', async () => { + for (const target of IROHA_CRYPTO_TARGETS) { + const wasmTarget = IrohaCryptoTarget.toWasmPackTarget(target) + const wasmOutDir = resolve(`crypto-wasm/target/pkg-${wasmTarget}`) + const packageOutDir = resolve(`packages/crypto-target-${target}/src/wasm-target/`) + await mkdir(packageOutDir, { recursive: true }) + await $`cp ${wasmOutDir}/iroha_crypto* ${packageOutDir}` + if (wasmTarget === 'nodejs') { + // to make it work in Deno + await fs.writeFile(path.join(packageOutDir, 'package.json'), JSON.stringify({ type: 'commonjs' })) } } - const deleted = await del([...patterns()]) - reportDeleted(deleted) + await mkdir(resolve('packages/crypto-core/src/wasm-target'), { recursive: true }) + const wasmPkgDeclaration = resolve('crypto-wasm/target/pkg-nodejs/iroha_crypto.d.ts') + await $`cp ${wasmPkgDeclaration} ${resolve(`packages/crypto-core/src/wasm-target/wasm-pkg.d.ts`)}` }) desc('Rebuild') @@ -86,9 +98,9 @@ namespace('test', () => { await $`pnpm vitest run` }) - task('crypto', ['build:all'], async () => { - await $`pnpm --filter monorepo-crypto test:integration` - }) + // task('crypto', ['build:all'], async () => { + // await $`pnpm --filter monorepo-crypto test:integration` + // }) task('prepare-client-integration', ['build-iroha-binaries', 'build:all']) diff --git a/etc/meta-crypto.ts b/etc/meta-crypto.ts index 37510a93..9eb9af1c 100644 --- a/etc/meta-crypto.ts +++ b/etc/meta-crypto.ts @@ -3,10 +3,7 @@ import { Set } from 'immutable' import type { SetEntry } from './util' import { resolve } from './util' -export const CRYPTO_MONOREPO_ROOT = resolve('packages/crypto') -const resolveRelativeToCryptoMonorepoRoot = (...paths: string[]) => path.resolve(CRYPTO_MONOREPO_ROOT, ...paths) - -export const IROHA_CRYPTO_TARGETS = Set(['web', 'node', 'bundler'] as const) +export const IROHA_CRYPTO_TARGETS = Set(['web', 'node'] as const) export type IrohaCryptoTarget = SetEntry @@ -17,7 +14,7 @@ export const IrohaCryptoTarget = { }, } -export const WASM_PACK_TARGETS = Set(['web', 'nodejs', 'bundler'] as const) +export const WASM_PACK_TARGETS = Set(['web', 'nodejs'] as const) export type WasmPackTarget = SetEntry @@ -27,10 +24,10 @@ export const PACKAGES = Set(['core', 'util'] as const) export type Package = SetEntry -export const WASM_PACK_CRATE_DIR = resolveRelativeToCryptoMonorepoRoot('crypto-rs') +export const WASM_PACK_CRATE_DIR = resolve('crypto-wasm') -export function wasmPackOutDirForTarget(target: WasmPackTarget): string { - return path.resolve(WASM_PACK_CRATE_DIR, `wasm-pkg-${target}`) -} +// export function VwasmPackOutDirForTarget(target: WasmPackTarget): string { +// return path.resolve(WASM_PACK_CRATE_DIR, `wasm-pkg-${target}`) +// } export const WASM_PACK_OUT_NAME = 'iroha_crypto' diff --git a/etc/meta.ts b/etc/meta.ts index 16600c3a..7837bb0a 100644 --- a/etc/meta.ts +++ b/etc/meta.ts @@ -6,24 +6,19 @@ import { P, match } from 'ts-pattern' import type { SetEntry } from './util' import { resolve } from './util' -function predicateStartsWith(prefix: S): (x: string) => x is `${S}${string}` { - return (x): x is `${S}` => x.startsWith(prefix) -} +// function predicateStartsWith(prefix: S): (x: string) => x is `${S}${string}` { +// return (x): x is `${S}` => x.startsWith(prefix) +// } -function trimPrefixTypeSafe( - value: T, - prefix: Prefix, -): T extends `${Prefix}${infer V}` ? V : never { - return value.slice(prefix.length) as any -} +// function trimPrefixTypeSafe( +// value: T, +// prefix: Prefix, +// ): T extends `${Prefix}${infer V}` ? V : never { +// return value.slice(prefix.length) as any +// } export function packageRoot(pkg: PackageAny, kind: 'root' | 'ts-build' | 'dist' = 'root'): string { - const root = match(pkg) - .with('client', 'data-model', 'data-model-schema', 'i64-fixnum', (a) => resolve('packages', a)) - .with(P.when(predicateStartsWith('crypto-')), (a) => - resolve('packages/crypto/packages', trimPrefixTypeSafe(a, 'crypto-')), - ) - .exhaustive() + const root = resolve(`packages`, pkg) return match(kind) .with('root', () => root) @@ -68,5 +63,5 @@ export function scopePackage(name: T) { } export function artifactsToClean(): string[] { - return ['**/dist', '**/dist-tsc'] + return ['**/dist', '**/dist-tsc', 'packages/crypto-*/src/wasm-target'] } diff --git a/etc/rollup.config.ts b/etc/rollup.config.ts deleted file mode 100644 index 262c0da5..00000000 --- a/etc/rollup.config.ts +++ /dev/null @@ -1,312 +0,0 @@ -import type { InputOption, OutputOptions, Plugin, PluginContext, RollupOptions } from 'rollup' -import { defineConfig } from 'rollup' -import PluginDtsBase from 'rollup-plugin-dts' -import PluginReplace from '@rollup/plugin-replace' -import { glob } from 'zx' -import { P, match } from 'ts-pattern' -import path from 'path' -import fs from 'fs/promises' -import type { PackageAny } from './meta' -import { PACKAGES_TO_ROLLUP, loadProductionDependencies, packageEntry, packageRoot, scopePackage } from './meta' -import type { WasmPackTarget } from './meta-crypto' -import { - type Package as CryptoPackage, - IrohaCryptoTarget, - WASM_PACK_OUT_NAME, - wasmPackOutDirForTarget, -} from './meta-crypto' -import type { SetOptional } from 'type-fest' - -function PluginDts() { - return PluginDtsBase({ respectExternal: true }) -} - -function PluginReplaceVitest() { - return PluginReplace({ - preventAssignment: true, - values: { - 'import.meta.vitest': 'undefined', - }, - }) -} - -function commonJsPlugins(): Plugin[] { - return [PluginReplaceVitest()] -} - -function output>( - format: 'esm' | 'cjs' | 'types', - dir: string, - extension?: T, -) { - const base = ( - format === 'types' - ? { format: 'esm', dir } - : { format, dir, entryFileNames: '[name].' + ({ esm: 'mjs', cjs: 'cjs' } as const)[format] } - ) satisfies OutputOptions - - return { - ...base, - ...extension, - } -} - -function input(pkg: Exclude, kind: 'js' | 'dts'): InputOption { - return { - lib: packageEntry(pkg, kind), - } -} - -async function readWasmPkgAssets(target: WasmPackTarget): Promise<{ fileName: string; content: Buffer }[]> { - return glob(path.join(wasmPackOutDirForTarget(target), '*')).then((files) => - Promise.all( - files.map(async (fullFileName) => { - const content = await fs.readFile(fullFileName) - return { - fileName: path.basename(fullFileName), - content, - } - }), - ), - ) -} - -/** - * Virtual `@iroha2/crypto-{...}~rollup-wasm` import - */ -function PluginRollupCryptoWasm( - params: - | { importer: 'core'; format: 'types' } - | ({ importer: 'target' } & ( - | { target: 'node'; format: 'cjs' } - | { target: IrohaCryptoTarget; format: 'esm' | 'types' } - )), -): Plugin { - const packageName = match(params) - .returnType() - .with({ importer: 'core' }, () => `crypto-core`) - .with({ importer: 'target' }, ({ target }) => `crypto-target-${target}`) - .exhaustive() - const MODULE_NAME = `@iroha2/${packageName}~rollup-wasm` - const WASM_PKG_ASSETS_DIR = `wasm-pkg` - const WASM_PKG_COPIED_ENTRY_EXTERNAL = `./${WASM_PKG_ASSETS_DIR}/${WASM_PACK_OUT_NAME}` - - async function emitWasmAssets(ctx: PluginContext, target: WasmPackTarget) { - const assets = await readWasmPkgAssets(target) - - for (const { fileName, content } of assets) { - ctx.emitFile({ - type: 'asset', - fileName: path.join(WASM_PKG_ASSETS_DIR, fileName), - source: content, - }) - } - } - - return match(params) - .returnType() - .with({ format: 'types' }, (params) => { - const typesSourceTarget = match(params) - .returnType() - .with({ importer: 'core' }, () => 'nodejs') - .otherwise(({ target }) => IrohaCryptoTarget.toWasmPackTarget(target)) - const typesSource = path.join(wasmPackOutDirForTarget(typesSourceTarget), WASM_PACK_OUT_NAME + `.d.ts`) - const reexportDefault: boolean = params.importer === 'target' && params.target === 'web' - - const loadedModule = - `export * as wasmPkg from '${typesSource}'\n` + - (reexportDefault ? `export { default as init } from '${typesSource}'` : '') - - return { - name: - 'resolve-wasm-types-for-' + - match(params) - .with({ importer: 'core' }, () => `core`) - .otherwise(({ target }) => `target-${target}`), - resolveId(id) { - if (id === MODULE_NAME) return id - }, - load(id) { - if (id === MODULE_NAME) return loadedModule - }, - } - }) - .with({ format: 'esm', target: 'node' }, () => { - const loadedModule = - `import { createRequire } from 'module'\n` + - `export const wasmPkg = createRequire(import.meta.url)('${WASM_PKG_COPIED_ENTRY_EXTERNAL}')` - - return { - name: `resolve-wasm-cjs-to-esm-for-node`, - resolveId(id, importer) { - if (MODULE_NAME === id) return id - if (MODULE_NAME === importer && WASM_PKG_COPIED_ENTRY_EXTERNAL === id) return { id, external: true } - if (id === 'module') return { id, external: true } - }, - async load(id) { - if (id === MODULE_NAME) { - await emitWasmAssets(this, 'nodejs') - return loadedModule - } - }, - } - }) - .with({ format: P.union('esm', 'cjs') }, ({ target }) => { - return { - name: `resolve-wasm-uni-for-${target}`, - resolveId(id, importer) { - if (MODULE_NAME === id) return id - if (MODULE_NAME === importer && WASM_PKG_COPIED_ENTRY_EXTERNAL === id) return { id, external: true } - }, - async load(id) { - if (id === MODULE_NAME) { - await emitWasmAssets(this, IrohaCryptoTarget.toWasmPackTarget(target)) - return ( - `export * as wasmPkg from '${WASM_PKG_COPIED_ENTRY_EXTERNAL}'\n` + - (target === 'web' ? `export { default as init } from '${WASM_PKG_COPIED_ENTRY_EXTERNAL}'` : '') - ) - } - }, - } - }) - .exhaustive() -} - -async function rollupCryptoTarget( - params: { target: 'node'; format: 'cjs' } | { target: IrohaCryptoTarget; format: 'esm' | 'types' }, -): Promise { - const pkg = `crypto-target-${params.target}` as const - const dist = packageRoot(pkg, 'dist') - const external = (await loadProductionDependencies(pkg)).toArray() - - return match(params.format) - .with('types', (): RollupOptions => { - return { - input: input(pkg, 'dts'), - external, - plugins: [PluginRollupCryptoWasm({ importer: 'target', target: params.target, format: 'types' }), PluginDts()], - output: output('types', dist), - } - }) - .with('esm', 'cjs', (format): RollupOptions => { - return { - input: input(pkg, 'js'), - external, - plugins: [PluginRollupCryptoWasm({ importer: 'target', ...params }), ...commonJsPlugins()], - output: output(format, dist), - } - }) - .exhaustive() -} - -async function* generateRolls(): AsyncGenerator { - for (const pkg of PACKAGES_TO_ROLLUP.toList().sort()) { - yield* match>(pkg) - .with('client', async function* (pkg) { - const rootTsBuild = packageRoot(pkg, 'ts-build') - const dist = packageRoot(pkg, 'dist') - const external = (await loadProductionDependencies(pkg)) - .remove('json-bigint') - .add('json-bigint/lib/parse.js') - .add(scopePackage(pkg)) - .toArray() - - const ENTRIES = ['lib', 'web-socket/native', 'web-socket/node'] as const - - const entryInput = (entry: (typeof ENTRIES)[number], ext: 'js' | 'd.ts'): string => - path.join(rootTsBuild, `${entry}.${ext}`) - - yield { - input: Object.fromEntries(ENTRIES.map((x) => [x, entryInput(x, 'js')] as const)), - external, - plugins: commonJsPlugins(), - output: [output('esm', dist), output('cjs', dist)], - } - - yield { - input: Object.fromEntries(ENTRIES.map((x) => [x, entryInput(x, 'd.ts')] as const)), - external, - plugins: [PluginDts()], - output: output('types', dist), - } - }) - .with('data-model', async function* (pkg) { - const dist = packageRoot(pkg, 'dist') - const external = (await loadProductionDependencies(pkg)).toArray() - - const preserveModulesOpts = { preserveModules: true, preserveModulesRoot: packageRoot(pkg, 'ts-build') } - - yield { - input: input(pkg, 'js'), - external, - plugins: commonJsPlugins(), - output: [output('esm', path.join(dist, 'esm'), preserveModulesOpts), output('cjs', path.join(dist, 'cjs'))], - } - - yield { - input: input(pkg, 'dts'), - external, - plugins: [PluginDts()], - output: output('types', path.join(dist, 'types'), preserveModulesOpts), - } - }) - .with('i64-fixnum', 'crypto-util', async function* (pkg) { - const dist = packageRoot(pkg, 'dist') - const external = (await loadProductionDependencies(pkg)).toArray() - - yield { - input: input(pkg, 'js'), - external, - plugins: commonJsPlugins(), - output: [output('esm', dist), output('cjs', dist)], - } - - yield { - input: input(pkg, 'dts'), - external, - plugins: [PluginDts()], - output: output('types', dist), - } - }) - .with('crypto-target-node', async function* () { - yield rollupCryptoTarget({ target: 'node', format: 'cjs' }) - yield rollupCryptoTarget({ target: 'node', format: 'esm' }) - yield rollupCryptoTarget({ target: 'node', format: 'types' }) - }) - .with('crypto-target-web', async function* () { - yield rollupCryptoTarget({ target: 'web', format: 'esm' }) - yield rollupCryptoTarget({ target: 'web', format: 'types' }) - }) - .with('crypto-target-bundler', async function* () { - yield rollupCryptoTarget({ target: 'bundler', format: 'esm' }) - yield rollupCryptoTarget({ target: 'bundler', format: 'types' }) - }) - .with('crypto-core', async function* (pkg) { - const dist = packageRoot(pkg, 'dist') - const external = (await loadProductionDependencies(pkg)).toArray() - - yield { - input: input('crypto-core', 'js'), - external, - plugins: commonJsPlugins(), - output: [output('esm', dist), output('cjs', dist)], - } - - yield { - input: input('crypto-core', 'dts'), - external, - plugins: [PluginRollupCryptoWasm({ importer: 'core', format: 'types' }), PluginDts()], - output: output('types', dist), - } - }) - .exhaustive() - } -} - -async function rolls(): Promise { - const rolls = new Array() - for await (const x of generateRolls()) rolls.push(x) - return rolls -} - -export default defineConfig(rolls) diff --git a/etc/vitest-setup-crypto-node.ts b/etc/vitest-setup-crypto-node.ts index f28aa9c0..17307038 100644 --- a/etc/vitest-setup-crypto-node.ts +++ b/etc/vitest-setup-crypto-node.ts @@ -1,4 +1,2 @@ -import { setWASM } from '@iroha2/crypto-core' -import { wasmPkg } from '@iroha2/crypto-target-node' - -setWASM(wasmPkg) +import { install } from '@iroha2/crypto-target-node' +install() diff --git a/package.json b/package.json index 42bcda35..c441adb2 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@iroha2/monorepo", "private": true, "type": "module", - "packageManager": "pnpm@9.15.1", + "packageManager": "pnpm@9.15.1+sha512.1acb565e6193efbebda772702950469150cf12bcc764262e7587e71d19dc98a423dff9536e57ea44c49bdf790ff694e83c27be5faa23d67e0c033b583be4bfcf", "scripts": { "preinstall": "npx only-allow pnpm", "format:fix": "prettier-eslint \"**/*.{ts,js,vue,json}\" --write", @@ -18,8 +18,8 @@ }, "devDependencies": { "@changesets/cli": "^2.26.2", - "@iroha2/test-peer": "workspace:^0.0.1", - "@rollup/plugin-replace": "^5.0.2", + "@iroha2/crypto-target-node": "workspace:*", + "@iroha2/test-peer": "workspace:*", "@tinkoff/utils": "^2.6.2", "@types/jake": "^0.0.36", "@typescript-eslint/eslint-plugin": "^7.13.1", @@ -42,8 +42,6 @@ "prettier": "^3.3.2", "prettier-eslint": "^16.3.0", "prettier-eslint-cli": "^8.0.1", - "rollup": "^3.26.2", - "rollup-plugin-dts": "^5.3.0", "ts-pattern": "^5.0.1", "tsx": "^4.19.2", "type-fest": "^3.9.0", diff --git a/packages/client-isomorphic-fetch/CHANGELOG.md b/packages/client-isomorphic-fetch/CHANGELOG.md deleted file mode 100644 index 67c05234..00000000 --- a/packages/client-isomorphic-fetch/CHANGELOG.md +++ /dev/null @@ -1,7 +0,0 @@ -# @iroha2/client-isomorphic-fetch - -## 0.2.0 - -### Minor Changes - -- 49c8451: **BREAKING**: `node-fetch` v2 → v3 diff --git a/packages/client-isomorphic-fetch/README.md b/packages/client-isomorphic-fetch/README.md deleted file mode 100644 index bd65edf2..00000000 --- a/packages/client-isomorphic-fetch/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# `@iroha2/client-isomorphic-fetch` - -**This package is no longer in use.** Check [`client`](../client/README.md) for the instructions on how to use isomorphic Fetch API. - -> `@iroha2/client-isomorphic-fetch` was previously used to switch between environment-specific transports. It used `node-fetch` package in CJS mode (in Node.js) and native Fetch API in ESM mode (in a browser). diff --git a/packages/client-isomorphic-fetch/package.json b/packages/client-isomorphic-fetch/package.json deleted file mode 100644 index 27c6322a..00000000 --- a/packages/client-isomorphic-fetch/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@iroha2/client-isomorphic-fetch", - "version": "0.2.0", - "license": "Apache 2.0", - "main": "src/node.ts", - "module": "src/native.ts", - "types": "types.d.ts", - "files": [ - "dist", - "types.d.ts" - ], - "publishConfig": { - "main": "dist/node.js", - "module": "dist/native.js" - }, - "scripts": { - "build": "run-p build:node build:native", - "build:node": "esbuild --bundle src/node.ts --platform=node --format=cjs --outfile=dist/node.js --external:node-fetch", - "build:native": "esbuild --bundle src/native.ts --outfile=dist/native.js --format=esm" - }, - "dependencies": { - "node-fetch": "^3.2.4" - }, - "devDependencies": { - "esbuild": "^0.14.27", - "npm-run-all": "^4.1.5" - } -} diff --git a/packages/client-isomorphic-fetch/src/native.ts b/packages/client-isomorphic-fetch/src/native.ts deleted file mode 100644 index ec3c6ff3..00000000 --- a/packages/client-isomorphic-fetch/src/native.ts +++ /dev/null @@ -1,3 +0,0 @@ -const nativeFetch = fetch - -export { nativeFetch as fetch } diff --git a/packages/client-isomorphic-fetch/src/node.ts b/packages/client-isomorphic-fetch/src/node.ts deleted file mode 100644 index fe659655..00000000 --- a/packages/client-isomorphic-fetch/src/node.ts +++ /dev/null @@ -1,3 +0,0 @@ -import fetch from 'node-fetch' - -export { fetch } diff --git a/packages/client-isomorphic-fetch/types.d.ts b/packages/client-isomorphic-fetch/types.d.ts deleted file mode 100644 index 130b16c5..00000000 --- a/packages/client-isomorphic-fetch/types.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare const nativeFetch: typeof fetch - -export { nativeFetch as fetch } diff --git a/packages/client-isomorphic-ws/CHANGELOG.md b/packages/client-isomorphic-ws/CHANGELOG.md deleted file mode 100644 index 7c2bc945..00000000 --- a/packages/client-isomorphic-ws/CHANGELOG.md +++ /dev/null @@ -1,7 +0,0 @@ -# @iroha2/client-isomorphic-ws - -## 0.2.0 - -### Minor Changes - -- b86aa76: **refactor**: **BREAKING** `IncomingData` type is always transformed into `ArrayBufferView` diff --git a/packages/client-isomorphic-ws/README.md b/packages/client-isomorphic-ws/README.md deleted file mode 100644 index 48d91663..00000000 --- a/packages/client-isomorphic-ws/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# `@iroha2/client-isomorphic-ws` - -**This package is no longer in use.** Check [`client`](../client/README.md) for the instructions on how to use isomorphic web socket. - -> The `@iroha2/client-isomorphic-ws` used to contain Isomorphic WebSocket transport for [`@iroha2/client`](../client/). -> -> In the `package.json`, the `main` entry was used to refer to `ws` package wrapper (for Node.js), and `module` to refer to native WebSocket wrapper. diff --git a/packages/client-isomorphic-ws/package.json b/packages/client-isomorphic-ws/package.json deleted file mode 100644 index 6b99acd9..00000000 --- a/packages/client-isomorphic-ws/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "@iroha2/client-isomorphic-ws", - "version": "0.2.0", - "license": "Apache 2.0", - "main": "src/ws.ts", - "module": "src/native.ts", - "types": "types.d.ts", - "files": [ - "dist", - "types.d.ts" - ], - "publishConfig": { - "main": "dist/ws.js", - "module": "dist/native.js", - "types": "dist/lib.d.ts" - }, - "scripts": { - "build": "run-p build:ws build:native", - "build:ws": "esbuild --bundle src/ws.ts --platform=node --format=cjs --outfile=dist/ws.js --external:ws", - "build:native": "esbuild --bundle src/native.ts --format=esm --outfile=dist/native.js" - }, - "dependencies": { - "ws": "^8.4.0" - }, - "devDependencies": { - "@types/ws": "^8.2.2", - "esbuild": "^0.14.27", - "npm-run-all": "^4.1.5" - } -} diff --git a/packages/client-isomorphic-ws/src/__test.ts b/packages/client-isomorphic-ws/src/__test.ts deleted file mode 100644 index 5f231730..00000000 --- a/packages/client-isomorphic-ws/src/__test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type * as types from '../types' -import * as native from './native' -import * as ws from './ws' - -function test(_x: typeof types) {} - -test(native) -test(ws) diff --git a/packages/client-isomorphic-ws/src/native.ts b/packages/client-isomorphic-ws/src/native.ts deleted file mode 100644 index 598042d5..00000000 --- a/packages/client-isomorphic-ws/src/native.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { IncomingData, initWebSocket as trueInit } from '../types' - -async function handleIncomingData(data: any): Promise { - if (data instanceof Blob) { - const buff = await new Response(data).arrayBuffer() - return new Uint8Array(buff) - } - - console.error('Bad incoming data:', data) - throw new Error('Unable to parse incoming data') -} - -export const initWebSocket: typeof trueInit = (params) => { - const socket = new WebSocket(params.url) - - socket.onclose = params.onclose - socket.onmessage = async (msg) => { - params.onmessage({ data: await handleIncomingData(msg.data) }) - } - socket.onerror = params.onerror - socket.onopen = params.onopen - - return { - send: (data) => socket.send(data), - close: (code, reason) => socket.close(code, reason), - isClosed: () => socket.readyState === socket.CLOSED, - } -} diff --git a/packages/client-isomorphic-ws/src/ws.ts b/packages/client-isomorphic-ws/src/ws.ts deleted file mode 100644 index 582c6abb..00000000 --- a/packages/client-isomorphic-ws/src/ws.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { IncomingData, initWebSocket as trueInit } from '../types' -import WebSocket from 'ws' - -function handleIncomingData(data: string | Buffer | ArrayBuffer | Buffer[]): IncomingData { - if (Buffer.isBuffer(data)) { - return new Uint8Array(data) - } - - console.error('Bad incoming data:', data) - throw new Error('Unable to parse incoming data') -} - -export const initWebSocket: typeof trueInit = (params) => { - const socket = new WebSocket(params.url) - - socket.onopen = params.onopen - socket.onclose = params.onclose - socket.onmessage = (msg) => { - params.onmessage({ - data: handleIncomingData(msg.data), - }) - } - socket.onerror = params.onerror - - return { - isClosed: () => socket.readyState === socket.CLOSED, - send: (data) => socket.send(data), - close: (code, reason) => socket.close(code, reason), - } -} diff --git a/packages/client-isomorphic-ws/types.d.ts b/packages/client-isomorphic-ws/types.d.ts deleted file mode 100644 index f0d8cc40..00000000 --- a/packages/client-isomorphic-ws/types.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -export type SendData = string | ArrayBuffer -export type IncomingData = ArrayBufferView - -export interface IsomorphicWebSocket { - readonly send: (data: SendData) => void - readonly close: (code?: number, reason?: string) => void - readonly isClosed: () => boolean -} - -export interface CloseEvent { - readonly code: number - readonly reason: string - readonly wasClean: boolean -} - -export interface Event { - readonly type: string -} - -export interface MessageEvent { - readonly data: IncomingData -} - -export interface InitWebSocketParams { - url: string - onopen: (event: Event) => void - onclose: (event: CloseEvent) => void - onerror: (event: Event) => void - onmessage: (event: MessageEvent) => void -} - -export declare function initWebSocket(params: InitWebSocketParams): IsomorphicWebSocket diff --git a/packages/client/package.json b/packages/client/package.json index 4955b6f2..43a0a0b1 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,30 +1,12 @@ { "name": "@iroha2/client", "version": "7.1.0", - "module": "dist/lib.mjs", - "main": "dist/lib.cjs", - "types": "dist/lib.d.ts", + "type": "module", "exports": { - ".": { - "types": "./dist/lib.d.ts", - "import": "./dist/lib.mjs", - "require": "./dist/lib.cjs" - }, - "./web-socket/native": { - "types": "./dist/web-socket/native.d.ts", - "import": "./dist/web-socket/native.mjs", - "require": "./dist/web-socket/native.cjs" - }, - "./web-socket/node": { - "types": "./dist/web-socket/node.d.ts", - "import": "./dist/web-socket/node.mjs", - "require": "./dist/web-socket/node.cjs" - } + ".": "./src/lib.ts", + "./web-socket/native": "./src/web-socket/native.ts", + "./web-socket/node": "./src/web-socket/node.ts" }, - "files": [ - "dist", - "CHANGELOG.md" - ], "license": "Apache 2.0", "engines": { "node": ">=14.0.0" @@ -36,9 +18,9 @@ "test:web": "pnpm --filter client-test-web test" }, "dependencies": { - "@iroha2/crypto-core": "workspace:^2.0.0", - "@iroha2/data-model": "workspace:7.1.0", - "@iroha2/data-model-schema": "workspace:7.1.0", + "@iroha2/crypto": "workspace:*", + "@iroha2/data-model": "workspace:*", + "@iroha2/data-model-schema": "workspace:*", "debug": "^4.3.4", "emittery": "^1.0.3", "p-defer": "^4.0.1", diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index 2ad5b0e4..d42699d1 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -9,7 +9,7 @@ * Events, Status & Health check. */ -import type { KeyPair, PrivateKey } from '@iroha2/crypto-core' +import type { KeyPair, PrivateKey } from '@iroha2/crypto' import * as dm from '@iroha2/data-model' import defer from 'p-defer' import type { Except } from 'type-fest' diff --git a/packages/client/src/query.ts b/packages/client/src/query.ts index f0dcd990..5e06ac57 100644 --- a/packages/client/src/query.ts +++ b/packages/client/src/query.ts @@ -1,4 +1,4 @@ -import type { PrivateKey } from '@iroha2/crypto-core' +import type { PrivateKey } from '@iroha2/crypto' import * as dm from '@iroha2/data-model' import invariant from 'tiny-invariant' import type { MainAPI } from './api' diff --git a/packages/client/test/integration/README.md b/packages/client/test/integration/README.md deleted file mode 100644 index 9c449664..00000000 --- a/packages/client/test/integration/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Integration tests of Iroha Client - -- [`test-node`](./test-node/) contains specs to run them with `test:node` command -- [`test-web`](./test-web/) contains a package with a Vite App and Cypress tests around it to run it all with `test:web` command - -**Important**: Do not run tests in parallel, because each test starts its own peer. diff --git a/packages/client/test/integration/test-node/test/setup.ts b/packages/client/test/integration/test-node/test/setup.ts deleted file mode 100644 index 080c598d..00000000 --- a/packages/client/test/integration/test-node/test/setup.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { setWASM } from '@iroha2/crypto-core' -import { wasmPkg } from '@iroha2/crypto-target-node' - -// For some reason, WASM resets each time between test files -setWASM(wasmPkg) diff --git a/packages/client/test/integration/test-web/pnpm-global/5/pnpm-lock.yaml b/packages/client/test/integration/test-web/pnpm-global/5/pnpm-lock.yaml deleted file mode 100644 index 41395e63..00000000 --- a/packages/client/test/integration/test-web/pnpm-global/5/pnpm-lock.yaml +++ /dev/null @@ -1,4 +0,0 @@ -lockfileVersion: 5.3 - -specifiers: - '@scale-codec/util': ^1.0.0 diff --git a/packages/client/test/integration/test-web/src/setup-crypto.ts b/packages/client/test/integration/test-web/src/setup-crypto.ts deleted file mode 100644 index 9f6bff7a..00000000 --- a/packages/client/test/integration/test-web/src/setup-crypto.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { init, wasmPkg } from '@iroha2/crypto-target-web' -import { setWASM } from '@iroha2/crypto-core' - -await init() -setWASM(wasmPkg) diff --git a/packages/client/test/integration/test-web/test-results/.last-run.json b/packages/client/test/integration/test-web/test-results/.last-run.json deleted file mode 100644 index cbcc1fba..00000000 --- a/packages/client/test/integration/test-web/test-results/.last-run.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "status": "passed", - "failedTests": [] -} \ No newline at end of file diff --git a/packages/client/test/integration/tsconfig.json b/packages/client/test/integration/tsconfig.json deleted file mode 100644 index 52a27312..00000000 --- a/packages/client/test/integration/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../../tsconfig.base.json" -} diff --git a/packages/client/test/types.spec-d.ts b/packages/client/tests/types.spec-d.ts similarity index 100% rename from packages/client/test/types.spec-d.ts rename to packages/client/tests/types.spec-d.ts diff --git a/packages/crypto/packages/target-node/CHANGELOG.md b/packages/crypto-target-node/CHANGELOG.md similarity index 100% rename from packages/crypto/packages/target-node/CHANGELOG.md rename to packages/crypto-target-node/CHANGELOG.md diff --git a/packages/crypto/packages/target-node/README.md b/packages/crypto-target-node/README.md similarity index 100% rename from packages/crypto/packages/target-node/README.md rename to packages/crypto-target-node/README.md diff --git a/packages/crypto-target-node/package.json b/packages/crypto-target-node/package.json new file mode 100644 index 00000000..204059e9 --- /dev/null +++ b/packages/crypto-target-node/package.json @@ -0,0 +1,9 @@ +{ + "name": "@iroha2/crypto-target-node", + "version": "2.0.0", + "type": "module", + "exports": "./src/lib.ts", + "dependencies": { + "@iroha2/crypto": "workspace:*" + } +} diff --git a/packages/crypto-target-node/src/lib.ts b/packages/crypto-target-node/src/lib.ts new file mode 100644 index 00000000..8a5dab41 --- /dev/null +++ b/packages/crypto-target-node/src/lib.ts @@ -0,0 +1,12 @@ +/** + * @module @iroha2/crypto-target-node + */ + +import { setWASM } from '@iroha2/crypto' +import wasmPkg from './wasm-target/iroha_crypto.js' + +export { wasmPkg } + +export function install() { + setWASM(wasmPkg) +} diff --git a/packages/crypto/packages/target-web/CHANGELOG.md b/packages/crypto-target-web/CHANGELOG.md similarity index 100% rename from packages/crypto/packages/target-web/CHANGELOG.md rename to packages/crypto-target-web/CHANGELOG.md diff --git a/packages/crypto/packages/target-web/README.md b/packages/crypto-target-web/README.md similarity index 100% rename from packages/crypto/packages/target-web/README.md rename to packages/crypto-target-web/README.md diff --git a/packages/crypto-target-web/package.json b/packages/crypto-target-web/package.json new file mode 100644 index 00000000..37ee82ba --- /dev/null +++ b/packages/crypto-target-web/package.json @@ -0,0 +1,9 @@ +{ + "name": "@iroha2/crypto-target-web", + "version": "2.0.0", + "type": "module", + "exports": "./src/lib.ts", + "dependencies": { + "@iroha2/crypto": "workspace:*" + } +} diff --git a/packages/crypto-target-web/src/lib.ts b/packages/crypto-target-web/src/lib.ts new file mode 100644 index 00000000..f190f82d --- /dev/null +++ b/packages/crypto-target-web/src/lib.ts @@ -0,0 +1,14 @@ +/** + * @module @iroha2/crypto-target-web + */ + +import { setWASM } from '@iroha2/crypto' +import * as wasmPkg from './wasm-target/iroha_crypto.js' +import init from './wasm-target/iroha_crypto.js' + +export { wasmPkg, init } + +export async function install() { + await init() + setWASM(wasmPkg) +} diff --git a/packages/crypto/packages/util/CHANGELOG.md b/packages/crypto-util/CHANGELOG.md similarity index 100% rename from packages/crypto/packages/util/CHANGELOG.md rename to packages/crypto-util/CHANGELOG.md diff --git a/packages/crypto/packages/util/README.md b/packages/crypto-util/README.md similarity index 100% rename from packages/crypto/packages/util/README.md rename to packages/crypto-util/README.md diff --git a/packages/crypto-util/package.json b/packages/crypto-util/package.json new file mode 100644 index 00000000..eb2bb34a --- /dev/null +++ b/packages/crypto-util/package.json @@ -0,0 +1,6 @@ +{ + "name": "@iroha2/crypto-util", + "version": "0.2.0", + "type": "module", + "exports": "./src/lib.ts" +} diff --git a/packages/crypto/packages/util/src/free.spec.ts b/packages/crypto-util/src/free.spec.ts similarity index 100% rename from packages/crypto/packages/util/src/free.spec.ts rename to packages/crypto-util/src/free.spec.ts diff --git a/packages/crypto/packages/util/src/free.ts b/packages/crypto-util/src/free.ts similarity index 100% rename from packages/crypto/packages/util/src/free.ts rename to packages/crypto-util/src/free.ts diff --git a/packages/crypto/packages/util/src/lib.ts b/packages/crypto-util/src/lib.ts similarity index 100% rename from packages/crypto/packages/util/src/lib.ts rename to packages/crypto-util/src/lib.ts diff --git a/packages/crypto/packages/core/CHANGELOG.md b/packages/crypto/CHANGELOG.md similarity index 100% rename from packages/crypto/packages/core/CHANGELOG.md rename to packages/crypto/CHANGELOG.md diff --git a/packages/crypto/README.md b/packages/crypto/README.md index 4451e40f..3b36f24e 100644 --- a/packages/crypto/README.md +++ b/packages/crypto/README.md @@ -1,12 +1,104 @@ -# `@iroha2/monorepo-crypto` +# `@iroha2/crypto-core` -## Contents +The core package primary contains types, so you can base your code on them instead of relying on a particular target implementation. Compiled implementations for each target (`node`, `web`, `bundler`) are in their own packages: -The directory contains the following packages: +- [`@iroha2/crypto-target-node`](https://github.com/hyperledger/iroha-javascript/tree/iroha2/packages/crypto/packages/target-node) +- [`@iroha2/crypto-target-web`](https://github.com/hyperledger/iroha-javascript/tree/iroha2/packages/crypto/packages/target-web) +- [`@iroha2/crypto-target-bundler`](https://github.com/hyperledger/iroha-javascript/tree/iroha2/packages/crypto/packages/target-bundler) -- [`crypto-core`](./packages/core/) provides the types and re-exports from `crypto-util` -- [`crypto-util`](./packages/util/) provides the shared utilities -- [`crypto-target-node`](./packages/target-node/) provides compiled crypto WASM for the Node.js environment -- [`crypto-target-web`](./packages/target-web/) provides compiled crypto WASM for native Web (ESM) -- [`crypto-target-bundler`](./packages/target-bundler/) provides compiled crypto WASM to use with bundlers such as - Webpack +You can learn more about targets in the [`wasm-bindgen` documentation](https://rustwasm.github.io/docs/wasm-bindgen/reference/deployment.html). + +Also, this package re-exports everything from [`@iroha2/crypto-util` package](https://github.com/hyperledger/iroha-javascript/tree/iroha2/packages/crypto/packages/util). + +## Installation + +The packages are published under the `@iroha2` scope into Iroha Nexus Registry. +To install the necessary packages with `npm`/`pnpm`: + +1. Configure your package manager to fetch scoped packages from Nexus Registry. + + ```ini + # FILE: .npmrc + @iroha2:registry=https://nexus.iroha.tech/repository/npm-group/ + ``` + +2. Install the packages you need: + + ```shell + pnpm add @iroha2/crypto-core @iroha2/crypto-target-node + ``` + +## Guide + +### Use target implementation + +Each target exports the same `crypto` namespace containing all the types and classes to work with hashes, keys, and signatures: + +```ts +import { crypto } from '@iroha2/crypto-target-node' + +const hex = crypto.Hash.hash('hex', '0011ff').bytes('hex') + +const signature: crypto.Signature = crypto.KeyGenConfiguration.default() + .generate() + .sign('array', new Uint8Array([1, 1, 2, 3])) +``` + +### Write target-agnostic logic + +`cryptoTypes` namespace export in `@iroha2/crypto-core` contains all the **types** you may find in `crypto` namespace export from `@iroha2/crypto-target-*`: + +```ts +import { cryptoTypes } from '@iroha2/crypto-core' + +function hashAsHex(hash: cryptoTypes.Hash): string { + return hash.bytes('hex') +} +``` + +`IrohaCryptoInterface` type represents the type of `crypto` itself: + +```ts +import { IrohaCryptoInterface } from '@iroha2/crypto-core' + +function printHexHash(data: Uint8Array, crypto: IrohaCryptoInterface) { + const hex = crypto.Hash.hash('array', data).bytes('hex') + console.log({ hex }) +} +``` + +### Avoid memory leaks + +WASM objects are deallocated automatically on platforms with [Weak References support](https://rustwasm.github.io/docs/wasm-bindgen/reference/weak-references.html). + +However, on platforms with no support for this feature, all WASM objects must be deallocated manually with `.free()` method. For example: + +```ts +import { crypto } from '@iroha2/crypto-target-node' + +const hash = crypto.Hash.hash('hex', '0011ff') +const conf = crypto.KeyGenConfiguration.default().useSeed('array', hash.bytes()) +const keypair = conf.generate() + +for (const x of [hash, conf]) { + x.free() +} +``` + +Fortunately, all such objects are wrapped and tracked so this process can be automated. The previous example can be re-written in a more _robust_ way that ensures every object is freed: + +```ts +// re-export from `@iroha2/crypto-util` +import { freeScope } from '@iroha2/crypto-core' + +import { crypto } from '@iroha2/crypto-target-node' + +const keypair = freeScope((scope) => { + const seed = crypto.Hash.hash('hex', '00aa11').bytes() + const keypair = crypto.KeyGenConfiguration.default().useSeed('array', seed).generate() + scope.forget(keypair) + return keypair +}) +``` + +Please refer to [`@iroha2/crypto-util`](https://github.com/hyperledger/iroha-javascript/tree/iroha2/packages/crypto/packages/util) package documentation for more details. diff --git a/packages/crypto/crypto-rs/Cargo.lock b/packages/crypto/crypto-rs/Cargo.lock deleted file mode 100644 index 4076578e..00000000 --- a/packages/crypto/crypto-rs/Cargo.lock +++ /dev/null @@ -1,1660 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aead" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" -dependencies = [ - "crypto-common", - "generic-array", -] - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if 1.0.0", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "ark-bls12-377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-bls12-381" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools 0.10.5", - "num-traits", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest", - "itertools 0.10.5", - "num-bigint", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive", - "ark-std", - "digest", - "num-bigint", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand", -] - -[[package]] -name = "arrayref" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "byte-slice-cast" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chacha20" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" -dependencies = [ - "cfg-if 1.0.0", - "cipher", - "cpufeatures", -] - -[[package]] -name = "chacha20poly1305" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" -dependencies = [ - "aead", - "chacha20", - "cipher", - "poly1305", - "zeroize", -] - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "num-traits", - "serde", -] - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", - "zeroize", -] - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "constcat" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "curve25519-dalek-derive", - "digest", - "fiat-crypto", - "rustc_version", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.76", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "zeroize", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "drop_bomb" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8", - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core", - "serde", - "sha2", - "subtle", - "zeroize", -] - -[[package]] -name = "either" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "zeroize", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "rand_core", - "subtle", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", - "zeroize", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", -] - -[[package]] -name = "getset" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core", - "subtle", -] - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -dependencies = [ - "serde", -] - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "indexmap" -version = "2.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown 0.14.5", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array", -] - -[[package]] -name = "iroha_crypto" -version = "2.0.0-rc.1.0" -dependencies = [ - "aead", - "arrayref", - "blake2", - "chacha20poly1305", - "curve25519-dalek", - "derive_more", - "digest", - "displaydoc", - "ed25519-dalek", - "elliptic-curve", - "getset", - "hex", - "hkdf", - "iroha_macro", - "iroha_primitives", - "iroha_schema", - "k256", - "parity-scale-codec", - "rand", - "rand_chacha", - "rand_core", - "serde", - "serde_with", - "sha2", - "signature", - "w3f-bls", - "x25519-dalek", - "zeroize", -] - -[[package]] -name = "iroha_crypto_wasm" -version = "0.2.0" -dependencies = [ - "console_error_panic_hook", - "getrandom", - "hex", - "iroha_crypto", - "itertools 0.12.1", - "serde", - "serde-wasm-bindgen", - "serde_json", - "wasm-bindgen", - "wasm-bindgen-test", - "wee_alloc", -] - -[[package]] -name = "iroha_derive" -version = "2.0.0-rc.1.0" -dependencies = [ - "darling", - "iroha_macro_utils", - "manyhow", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "iroha_macro" -version = "2.0.0-rc.1.0" -dependencies = [ - "iroha_derive", -] - -[[package]] -name = "iroha_macro_utils" -version = "2.0.0-rc.1.0" -dependencies = [ - "darling", - "drop_bomb", - "manyhow", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "iroha_numeric" -version = "2.0.0-rc.1.0" -dependencies = [ - "derive_more", - "displaydoc", - "iroha_schema", - "parity-scale-codec", - "rust_decimal", - "serde", - "serde_with", -] - -[[package]] -name = "iroha_primitives" -version = "2.0.0-rc.1.0" -dependencies = [ - "derive_more", - "displaydoc", - "iroha_macro", - "iroha_numeric", - "iroha_primitives_derive", - "iroha_schema", - "parity-scale-codec", - "serde", - "serde_json", - "serde_with", - "smallstr", - "smallvec", -] - -[[package]] -name = "iroha_primitives_derive" -version = "2.0.0-rc.1.0" -dependencies = [ - "iroha_numeric", - "manyhow", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "iroha_schema" -version = "2.0.0-rc.1.0" -dependencies = [ - "iroha_schema_derive", - "serde", -] - -[[package]] -name = "iroha_schema_derive" -version = "2.0.0-rc.1.0" -dependencies = [ - "darling", - "iroha_macro_utils", - "manyhow", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "k256" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" -dependencies = [ - "cfg-if 1.0.0", - "ecdsa", - "elliptic-curve", - "sha2", -] - -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "libc" -version = "0.2.155" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "manyhow" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516b76546495d933baa165075b95c0a15e8f7ef75e53f56b19b7144d80fd52bd" -dependencies = [ - "darling_core", - "manyhow-macros", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "manyhow-macros" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba072c0eadade3160232e70893311f1f8903974488096e2eb8e48caba2f0cf1" -dependencies = [ - "proc-macro-utils", - "proc-macro2", - "quote", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - -[[package]] -name = "num-bigint" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - -[[package]] -name = "parity-scale-codec" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" -dependencies = [ - "arrayvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "poly1305" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" -dependencies = [ - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-utils" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f59e109e2f795a5070e69578c4dc101068139f74616778025ae1011d4cd41a8" -dependencies = [ - "proc-macro2", - "quote", - "smallvec", -] - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "rust_decimal" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" -dependencies = [ - "arrayvec", - "num-traits", - "serde", -] - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", -] - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" - -[[package]] -name = "serde" -version = "1.0.209" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_derive" -version = "1.0.209" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "serde_json" -version = "1.0.127" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "3.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" -dependencies = [ - "base64", - "chrono", - "hex", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest", - "keccak", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core", -] - -[[package]] -name = "smallstr" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63b1aefdf380735ff8ded0b15f31aab05daf1f70216c01c02a12926badd1df9d" -dependencies = [ - "serde", - "smallvec", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -dependencies = [ - "serde", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "subtle" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "thiserror" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde", - "time-core", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "toml_datetime" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "universal-hash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" -dependencies = [ - "crypto-common", - "subtle", -] - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "w3f-bls" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c5da5fa2c6afa2c9158eaa7cd9aee249765eb32b5fb0c63ad8b9e79336a47ec" -dependencies = [ - "ark-bls12-377", - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-serialize-derive", - "arrayref", - "constcat", - "digest", - "rand", - "rand_chacha", - "rand_core", - "sha2", - "sha3", - "thiserror", - "zeroize", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.76", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "wasm-bindgen-test" -version = "0.3.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bf62a58e0780af3e852044583deee40983e5886da43a271dd772379987667b" -dependencies = [ - "console_error_panic_hook", - "js-sys", - "scoped-tls", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test-macro", -] - -[[package]] -name = "wasm-bindgen-test-macro" -version = "0.3.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f89739351a2e03cb94beb799d47fb2cac01759b40ec441f7de39b00cbf7ef0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "wee_alloc" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "memory_units", - "winapi", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "x25519-dalek" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" -dependencies = [ - "curve25519-dalek", - "rand_core", -] - -[[package]] -name = "zerocopy" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] diff --git a/packages/crypto/crypto-rs/rust-toolchain.toml b/packages/crypto/crypto-rs/rust-toolchain.toml deleted file mode 100644 index 6f54fb74..00000000 --- a/packages/crypto/crypto-rs/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "nightly-2024-06-12" diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.js b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.js deleted file mode 100644 index 9b213d11..00000000 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto.js +++ /dev/null @@ -1,6 +0,0 @@ -import * as wasm from "./iroha_crypto_bg.wasm"; -import { __wbg_set_wasm } from "./iroha_crypto_bg.js"; -__wbg_set_wasm(wasm); -export * from "./iroha_crypto_bg.js"; - -wasm.__wbindgen_start(); diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js deleted file mode 100644 index 41816085..00000000 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.js +++ /dev/null @@ -1,1254 +0,0 @@ -let wasm; -export function __wbg_set_wasm(val) { - wasm = val; -} - - -const lTextDecoder = typeof TextDecoder === 'undefined' ? (0, module.require)('util').TextDecoder : TextDecoder; - -let cachedTextDecoder = new lTextDecoder('utf-8', { ignoreBOM: true, fatal: true }); - -cachedTextDecoder.decode(); - -let cachedUint8Memory0 = null; - -function getUint8Memory0() { - if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; -} - -function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} - -const heap = new Array(128).fill(undefined); - -heap.push(undefined, null, true, false); - -let heap_next = heap.length; - -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; -} - -function getObject(idx) { return heap[idx]; } - -function dropObject(idx) { - if (idx < 132) return; - heap[idx] = heap_next; - heap_next = idx; -} - -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} - -let WASM_VECTOR_LEN = 0; - -const lTextEncoder = typeof TextEncoder === 'undefined' ? (0, module.require)('util').TextEncoder : TextEncoder; - -let cachedTextEncoder = new lTextEncoder('utf-8'); - -const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); -} - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; -}); - -function passStringToWasm0(arg, malloc, realloc) { - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length, 1) >>> 0; - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len, 1) >>> 0; - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - ptr = realloc(ptr, len, offset, 1) >>> 0; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - -let cachedFloat64Memory0 = null; - -function getFloat64Memory0() { - if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { - cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); - } - return cachedFloat64Memory0; -} - -let cachedBigInt64Memory0 = null; - -function getBigInt64Memory0() { - if (cachedBigInt64Memory0 === null || cachedBigInt64Memory0.byteLength === 0) { - cachedBigInt64Memory0 = new BigInt64Array(wasm.memory.buffer); - } - return cachedBigInt64Memory0; -} - -function debugString(val) { - // primitive types - const type = typeof val; - if (type == 'number' || type == 'boolean' || val == null) { - return `${val}`; - } - if (type == 'string') { - return `"${val}"`; - } - if (type == 'symbol') { - const description = val.description; - if (description == null) { - return 'Symbol'; - } else { - return `Symbol(${description})`; - } - } - if (type == 'function') { - const name = val.name; - if (typeof name == 'string' && name.length > 0) { - return `Function(${name})`; - } else { - return 'Function'; - } - } - // objects - if (Array.isArray(val)) { - const length = val.length; - let debug = '['; - if (length > 0) { - debug += debugString(val[0]); - } - for(let i = 1; i < length; i++) { - debug += ', ' + debugString(val[i]); - } - debug += ']'; - return debug; - } - // Test for built-in - const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); - let className; - if (builtInMatches.length > 1) { - className = builtInMatches[1]; - } else { - // Failed to match the standard '[object ClassName]' - return toString.call(val); - } - if (className == 'Object') { - // we're a user defined class or Object - // JSON.stringify avoids problems with cycles, and is generally much - // easier than looping through ownProperties of `val`. - try { - return 'Object(' + JSON.stringify(val) + ')'; - } catch (_) { - return 'Object'; - } - } - // errors - if (val instanceof Error) { - return `${val.name}: ${val.message}\n${val.stack}`; - } - // TODO we could test for more things here, like `Set`s and `Map`s. - return className; -} -/** -* @returns {Algorithm} -*/ -export function algorithm_default() { - const ret = wasm.algorithm_default(); - return takeObject(ret); -} - -function getArrayU8FromWasm0(ptr, len) { - ptr = ptr >>> 0; - return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); -} - -function _assertClass(instance, klass) { - if (!(instance instanceof klass)) { - throw new Error(`expected instance of ${klass.name}`); - } - return instance.ptr; -} -/** -*/ -export function main_js() { - wasm.main_js(); -} - -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - wasm.__wbindgen_exn_store(addHeapObject(e)); - } -} - -const HashFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_hash_free(ptr >>> 0)); -/** -*/ -export class Hash { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Hash.prototype); - obj.__wbg_ptr = ptr; - HashFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - HashFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_hash_free(ptr); - } - /** - * Construct zeroed hash - * @returns {Hash} - */ - static zeroed() { - const ret = wasm.hash_zeroed(); - return Hash.__wrap(ret); - } - /** - * Hash the given bytes. - * - * # Errors - * If failed to parse bytes input - * @param {Binary} payload - */ - constructor(payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_new(retptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - this.__wbg_ptr = r0 >>> 0; - return this; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Uint8Array} - */ - bytes() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_bytes(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - bytes_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_bytes_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} - -const KeyPairFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_keypair_free(ptr >>> 0)); -/** -* Pair of Public and Private keys. -*/ -export class KeyPair { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(KeyPair.prototype); - obj.__wbg_ptr = ptr; - KeyPairFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - KeyPairFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_keypair_free(ptr); - } - /** - * Generate a random key pair - * - * # Errors - * If passed algorithm is not valid. - * @param {Algorithm | undefined} [algorithm] - * @returns {KeyPair} - */ - static random(algorithm) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_random(retptr, isLikeNone(algorithm) ? 0 : addHeapObject(algorithm)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Construct a key pair from its components - * - * # Errors - * If public and private keys don’t match, i.e. if they don’t make a pair - * @param {PublicKey} public_key - * @param {PrivateKey} private_key - * @returns {KeyPair} - */ - static from_parts(public_key, private_key) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - _assertClass(private_key, PrivateKey); - wasm.keypair_from_parts(retptr, public_key.__wbg_ptr, private_key.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {Binary} seed - * @param {Algorithm | undefined} [algorithm] - * @returns {KeyPair} - */ - static derive_from_seed(seed, algorithm) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_derive_from_seed(retptr, addHeapObject(seed), isLikeNone(algorithm) ? 0 : addHeapObject(algorithm)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {PrivateKey} key - * @returns {KeyPair} - */ - static derive_from_private_key(key) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(key, PrivateKey); - wasm.keypair_derive_from_private_key(retptr, key.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.keypair_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {PublicKey} - */ - public_key() { - const ret = wasm.keypair_public_key(this.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** - * @returns {PrivateKey} - */ - private_key() { - const ret = wasm.keypair_private_key(this.__wbg_ptr); - return PrivateKey.__wrap(ret); - } -} - -const PrivateKeyFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_privatekey_free(ptr >>> 0)); -/** -* Private Key used in signatures. -*/ -export class PrivateKey { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(PrivateKey.prototype); - obj.__wbg_ptr = ptr; - PrivateKeyFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - PrivateKeyFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_privatekey_free(ptr); - } - /** - * # Errors - * Fails if multihash parsing fails - * @param {string} multihash - * @returns {PrivateKey} - */ - static from_multihash_hex(multihash) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.privatekey_from_multihash_hex(retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PrivateKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * # Errors - * Fails if parsing of digest function or payload byte input fails - * @param {Algorithm} algorithm - * @param {Binary} payload - * @returns {PrivateKey} - */ - static from_bytes(algorithm, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_from_bytes(retptr, addHeapObject(algorithm), addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PrivateKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.privatekey_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** - * @returns {string} - */ - to_multihash_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_to_multihash_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} - -const PublicKeyFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_publickey_free(ptr >>> 0)); -/** -* Public Key used in signatures. -*/ -export class PublicKey { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(PublicKey.prototype); - obj.__wbg_ptr = ptr; - PublicKeyFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - PublicKeyFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_publickey_free(ptr); - } - /** - * # Errors - * Fails if multihash parsing fails - * @param {string} multihash - * @returns {PublicKey} - */ - static from_multihash_hex(multihash) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.publickey_from_multihash_hex(retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PublicKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * # Errors - * Fails if parsing of algorithm or payload byte input fails - * @param {Algorithm} algorithm - * @param {Binary} payload - * @returns {PublicKey} - */ - static from_bytes(algorithm, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_from_bytes(retptr, addHeapObject(algorithm), addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PublicKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {PrivateKey} key - * @returns {PublicKey} - */ - static from_private_key(key) { - _assertClass(key, PrivateKey); - const ret = wasm.publickey_from_private_key(key.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** - * @returns {string} - */ - to_multihash_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_to_multihash_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.publickey_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} - -const SignatureFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_signature_free(ptr >>> 0)); -/** -* Represents the signature of the data -*/ -export class Signature { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Signature.prototype); - obj.__wbg_ptr = ptr; - SignatureFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - SignatureFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_signature_free(ptr); - } - /** - * Construct the signature from raw components received from elsewhere - * - * # Errors - * - Invalid bytes input - * @param {Binary} payload - * @returns {Signature} - */ - static from_bytes(payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_from_bytes(retptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return Signature.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Creates new signature by signing the payload via the key pair's private key. - * - * # Errors - * If parsing bytes input fails - * @param {PrivateKey} private_key - * @param {Binary} payload - */ - constructor(private_key, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(private_key, PrivateKey); - wasm.signature_new(retptr, private_key.__wbg_ptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - this.__wbg_ptr = r0 >>> 0; - return this; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Verify that the signature is signed by the given public key - * - * # Errors - * - If parsing of bytes input fails - * - If failed to construct verify error - * @param {PublicKey} public_key - * @param {Binary} payload - * @returns {VerifyResult} - */ - verify(public_key, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - wasm.signature_verify(retptr, this.__wbg_ptr, public_key.__wbg_ptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} - -export function __wbindgen_string_new(arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return addHeapObject(ret); -}; - -export function __wbindgen_object_drop_ref(arg0) { - takeObject(arg0); -}; - -export function __wbindgen_is_object(arg0) { - const val = getObject(arg0); - const ret = typeof(val) === 'object' && val !== null; - return ret; -}; - -export function __wbindgen_error_new(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - -export function __wbindgen_string_get(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -export function __wbindgen_boolean_get(arg0) { - const v = getObject(arg0); - const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; - return ret; -}; - -export function __wbindgen_is_bigint(arg0) { - const ret = typeof(getObject(arg0)) === 'bigint'; - return ret; -}; - -export function __wbindgen_number_get(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'number' ? obj : undefined; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -}; - -export function __wbindgen_in(arg0, arg1) { - const ret = getObject(arg0) in getObject(arg1); - return ret; -}; - -export function __wbindgen_bigint_from_i64(arg0) { - const ret = arg0; - return addHeapObject(ret); -}; - -export function __wbindgen_jsval_eq(arg0, arg1) { - const ret = getObject(arg0) === getObject(arg1); - return ret; -}; - -export function __wbindgen_bigint_from_u64(arg0) { - const ret = BigInt.asUintN(64, arg0); - return addHeapObject(ret); -}; - -export function __wbindgen_is_undefined(arg0) { - const ret = getObject(arg0) === undefined; - return ret; -}; - -export function __wbindgen_is_string(arg0) { - const ret = typeof(getObject(arg0)) === 'string'; - return ret; -}; - -export function __wbg_crypto_1d1f22824a6a080c(arg0) { - const ret = getObject(arg0).crypto; - return addHeapObject(ret); -}; - -export function __wbg_process_4a72847cc503995b(arg0) { - const ret = getObject(arg0).process; - return addHeapObject(ret); -}; - -export function __wbg_versions_f686565e586dd935(arg0) { - const ret = getObject(arg0).versions; - return addHeapObject(ret); -}; - -export function __wbg_node_104a2ff8d6ea03a2(arg0) { - const ret = getObject(arg0).node; - return addHeapObject(ret); -}; - -export function __wbg_require_cca90b1a94a0255b() { return handleError(function () { - const ret = module.require; - return addHeapObject(ret); -}, arguments) }; - -export function __wbindgen_is_function(arg0) { - const ret = typeof(getObject(arg0)) === 'function'; - return ret; -}; - -export function __wbg_msCrypto_eb05e62b530a1508(arg0) { - const ret = getObject(arg0).msCrypto; - return addHeapObject(ret); -}; - -export function __wbg_randomFillSync_5c9c955aa56b6049() { return handleError(function (arg0, arg1) { - getObject(arg0).randomFillSync(takeObject(arg1)); -}, arguments) }; - -export function __wbg_getRandomValues_3aa56aa6edec874c() { return handleError(function (arg0, arg1) { - getObject(arg0).getRandomValues(getObject(arg1)); -}, arguments) }; - -export function __wbindgen_jsval_loose_eq(arg0, arg1) { - const ret = getObject(arg0) == getObject(arg1); - return ret; -}; - -export function __wbindgen_as_number(arg0) { - const ret = +getObject(arg0); - return ret; -}; - -export function __wbindgen_object_clone_ref(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); -}; - -export function __wbg_getwithrefkey_edc2c8960f0f1191(arg0, arg1) { - const ret = getObject(arg0)[getObject(arg1)]; - return addHeapObject(ret); -}; - -export function __wbg_set_f975102236d3c502(arg0, arg1, arg2) { - getObject(arg0)[takeObject(arg1)] = takeObject(arg2); -}; - -export function __wbg_String_b9412f8799faab3e(arg0, arg1) { - const ret = String(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -export function __wbg_get_bd8e338fbd5f5cc8(arg0, arg1) { - const ret = getObject(arg0)[arg1 >>> 0]; - return addHeapObject(ret); -}; - -export function __wbg_length_cd7af8117672b8b8(arg0) { - const ret = getObject(arg0).length; - return ret; -}; - -export function __wbg_newnoargs_e258087cd0daa0ea(arg0, arg1) { - const ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - -export function __wbg_next_40fc327bfc8770e6(arg0) { - const ret = getObject(arg0).next; - return addHeapObject(ret); -}; - -export function __wbg_next_196c84450b364254() { return handleError(function (arg0) { - const ret = getObject(arg0).next(); - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_done_298b57d23c0fc80c(arg0) { - const ret = getObject(arg0).done; - return ret; -}; - -export function __wbg_value_d93c65011f51a456(arg0) { - const ret = getObject(arg0).value; - return addHeapObject(ret); -}; - -export function __wbg_iterator_2cee6dadfd956dfa() { - const ret = Symbol.iterator; - return addHeapObject(ret); -}; - -export function __wbg_get_e3c254076557e348() { return handleError(function (arg0, arg1) { - const ret = Reflect.get(getObject(arg0), getObject(arg1)); - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_call_27c0f87801dedf93() { return handleError(function (arg0, arg1) { - const ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_new_72fb9a18b5ae2624() { - const ret = new Object(); - return addHeapObject(ret); -}; - -export function __wbg_self_ce0dbfc45cf2f5be() { return handleError(function () { - const ret = self.self; - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_window_c6fb939a7f436783() { return handleError(function () { - const ret = window.window; - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_globalThis_d1e6af4856ba331b() { return handleError(function () { - const ret = globalThis.globalThis; - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_global_207b558942527489() { return handleError(function () { - const ret = global.global; - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_isArray_2ab64d95e09ea0ae(arg0) { - const ret = Array.isArray(getObject(arg0)); - return ret; -}; - -export function __wbg_instanceof_ArrayBuffer_836825be07d4c9d2(arg0) { - let result; - try { - result = getObject(arg0) instanceof ArrayBuffer; - } catch (_) { - result = false; - } - const ret = result; - return ret; -}; - -export function __wbg_call_b3ca7c6051f9bec1() { return handleError(function (arg0, arg1, arg2) { - const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); -}, arguments) }; - -export function __wbg_instanceof_Map_87917e0a7aaf4012(arg0) { - let result; - try { - result = getObject(arg0) instanceof Map; - } catch (_) { - result = false; - } - const ret = result; - return ret; -}; - -export function __wbg_isSafeInteger_f7b04ef02296c4d2(arg0) { - const ret = Number.isSafeInteger(getObject(arg0)); - return ret; -}; - -export function __wbg_entries_95cc2c823b285a09(arg0) { - const ret = Object.entries(getObject(arg0)); - return addHeapObject(ret); -}; - -export function __wbg_buffer_12d079cc21e14bdb(arg0) { - const ret = getObject(arg0).buffer; - return addHeapObject(ret); -}; - -export function __wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb(arg0, arg1, arg2) { - const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); -}; - -export function __wbg_new_63b92bc8671ed464(arg0) { - const ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); -}; - -export function __wbg_set_a47bac70306a19a7(arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); -}; - -export function __wbg_length_c20a40f15020d68a(arg0) { - const ret = getObject(arg0).length; - return ret; -}; - -export function __wbg_instanceof_Uint8Array_2b3bbecd033d19f6(arg0) { - let result; - try { - result = getObject(arg0) instanceof Uint8Array; - } catch (_) { - result = false; - } - const ret = result; - return ret; -}; - -export function __wbg_newwithlength_e9b4878cebadb3d3(arg0) { - const ret = new Uint8Array(arg0 >>> 0); - return addHeapObject(ret); -}; - -export function __wbg_subarray_a1f73cd4b5b42fe1(arg0, arg1, arg2) { - const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); -}; - -export function __wbg_new_abda76e883ba8a5f() { - const ret = new Error(); - return addHeapObject(ret); -}; - -export function __wbg_stack_658279fe44541cf6(arg0, arg1) { - const ret = getObject(arg1).stack; - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -export function __wbg_error_f851667af71bcfc6(arg0, arg1) { - let deferred0_0; - let deferred0_1; - try { - deferred0_0 = arg0; - deferred0_1 = arg1; - console.error(getStringFromWasm0(arg0, arg1)); - } finally { - wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); - } -}; - -export function __wbindgen_bigint_get_as_i64(arg0, arg1) { - const v = getObject(arg1); - const ret = typeof(v) === 'bigint' ? v : undefined; - getBigInt64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? BigInt(0) : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -}; - -export function __wbindgen_debug_string(arg0, arg1) { - const ret = debugString(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -export function __wbindgen_throw(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); -}; - -export function __wbindgen_memory() { - const ret = wasm.memory; - return addHeapObject(ret); -}; - diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm deleted file mode 100644 index 396532a74a05ca81a50d1448c6c9a030d857d6ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653465 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

tPH-_j(w^ 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%0Au(-N*iCB+ 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%0Andn}}s_dNbM-EAvNyUfxqvXG)ITzx3Z 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%0AE-L+&6jG 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Ǎ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%0A6O9USqj zU1WG_yR{qxwfg&oGzCUsn6s~k!@A9ISXX>=19<@7RNOjNK8mS1PxA5KI9B-mdh%08 z%M1Kcl%B5uq!%L$@ah!6X-(VU$HG;F1`xEiZlK-wW<7_)6YyVd_q4{C{}ju2@6(4w zuiuy16R_^IZ&zfI{_+c|X*`i3sZ5J-XLS!U%OZ`D?^j0e&WJ|fBUt7JV#Y}^h$}9j z!HR$3;?lp+`>@PHxqvpOU5B%)+%t34`FdvPZC8H%-I;9~;A2y?KyH~n)an6u%WTFi zW2JW9?H|3fwU#^SHiXt1lNJ`TP~&JYg?gY9AvXe+mbtAyy&X)D7wmv zw$7s{5mjny|9KR}udbqv^C+qSQHs{jqo_hYDXQHcAPawHfh-ml0e$OO-M1c22M-?@``jNsetO^?htp-`e`@N(pX?&v zPyXvK{=r`=-z0Bxll(v>-&f{`)1JfkTbZ5%3Tg^WUYyQ$q0lRQ4|oWJUjstL=rxz3 zJ2ng;H+E0(Y#2cPa1nXXZJeH1+=8KEtsvBdS6^}zak@j2}-Nuqs z>tlW%-{cHtig*!nh`=X;q#zuY`U=8fp)C*&cOaaskGGi-)q$GTa6mN)2N=AG8biQm*gFU;7w*`(KJd1(s|9b8G=+S$~fTG%sADk zbE+$xQ;j&M+Tffj&FV|OW>BvotY6L~PVlBDiZr}|1VwGPu;R)eq%GwSnw9bgF-rM^ z%B1`elZf&sJo+~a=+93wmmp|*EN^k~WbALJj&8O&ljGFmV0T_ZZ zo(z|G7%_CjT(bT#Z&z_UadsMZ<-!R?X4v_1P-ic)rzYRemwDP!uTGe(B!zv;eLufNUNrfvo~agGyk3 z0aQ$R@pz*E(%=$UFMwKTDoWB|y*pA%c6;Nw%f&mh3#_T{A<}K zh`;RO{FN%`<>F#o5t1x1XDKP>dPai$hFKL2E->lpa zCbz;Ai@m$kRqh49z&+p>hoB*OzIkKH`2gVsovJ&Po>`sgGfPnxN0Lg{g|%#~-Km8T z+cs~6FFV-)=KIj{L;=9p?JF1sKn#&kGESh=t|NXp{!T>Ck8KmjgA}$rEg<@W#1%zi z;i3MuQ%EOWViMGM7jxiRBSYWoS5V>3f;6RO7r?CraBBrPS^!5Yz$*&i6&2t}0UW6S zHx$4P6(H>uVbKjX!d2(M0V6{{W1^S?_Z6ghA2k%fdkP>kx&*$b0KTUJysH4-RRO-c z0KU5dd{+T{R|QD()YLm)uQ?!#d%+}tt1OrV+Adk01gOm$$x6+Yq)T>+jbuRJ1J_vMjW-Em>t*C}vy2mnHdyPPQfemW4XD zB@N3$6WfxyWub*_NpwGsZS)>aR?_b_``v24JM8yr``u~3yUe4TK6G0;O1wb2?O?i< zqZJRPS07Aw9!z%~bnD=u+irB;C8o0q+~LgN=-`-x?i|k-1ZKltOT+WU;hMG?p3{QW z6^Kc}v-t`6-Mv>;^|SfQCHS(mcziHDf)<)VjzvhG)iwb+2Z|cl2fCmcZLY=h z&ZsT2X4o<;G^DEf%4Q6d&1jz4jNM{kc#UKM9O1)IyP^{epH!R}jfA@RWw%1;QI9!W zdU7@`ln{LMlwt2e0g=rzS(kILC!e@PH?_VeyNU(m@8eY{#xDmC*_={bWG^YjM>eYz zC)tZi@sgcXibIV?nSbpCQvZl-egbDMtXDNk>%_R7{lYOm$raXQq-LS~$;Pqp8ae~w zBvcOh${da$95#*4<>cl)C^|BSI?qgOaRaFX8NX^VxK$CMTMvk{ z&FZB1?0FQ&kTkQC;xC;?aZbE4yOZK`=TV&1E;BqS{_=Sg$8s^tv+oScbGWed7FnL_ z3iu++v$RMTS)Qduy2$b@Ez(7n=MomFS)NN+q*$I14y3e{xtZg@5HY1|Z&C*4F~ors zRtkzBY_Tn`XyP46tq!|~i$w>z^pS-Xrwv^AJ z6FXPRk3Nkj`pb$p@FMnjMtsM!UW7d#&we%(X|vCjZHBSdGi@Uv?zZiTd_Pv&-8E(D zVolTb5$MRVPWp?L3Qwt|u&*&SM3V#HM3SlR_y7L?le{rg{n7KLr z&0S~?e>vpukTH03v3`kStMyBkBG&7aZTi;DGNjfo6Js=T zHwBnntWnGP&hO&{ZL>L#2;n1%9LwSF0g0q}A|Z3zh)Zb`BU+4*V-AkfW@R^jnF#xy z{1vwC_y#@kkLbVFwnty<<({qkFUu zrpO|_itKzRJ6B}8eD@l)f#lG#<7CZNr{`oX5(tq_)^_Mw3ufh{sqD}@Vyl)Id^EX7 zs0M*(0RdxkeBj&05mh08_{KJjpUb6o=phK~33h6Ao|x?}dvdaqJ<-V??__5>Sw22p z^zjhc(8npVp^wvKLm!Wj?ey^|grgmL6Cxn*6_gNqrJ2h15=~TYRk~_=4$UW+zwGRB zbKOqRv|q6@W68pZIvC(m4Pps{r^|K3fHx0x(wvu%#uRuL6!1Z@79v{gsOjXj9Q~s<%hBq*vXJ6y|M;cTU;Oz`K0CgSnD;r`mo4jrrA^_;{XZjwmdN?RYDpa{$2MR21+j<& zYeiS9O}6Z2QZcx0tr_r->|VQWXKrxamt{yk-inX z%nlih#tIg^rIQAu)q)wDVz<7*Xue>+Yg#Xy>dDw{JuX!nR+DZ|M_cdJ*6mY>uPw#J z$r_BWxX@bk=Hfz8vzv;G2{;KM^_8vIpW;gi}xI|wiQ*=xvPrW5NlK&DnMJIwoP8! zDJlR(6FtPj{ln?6pML)I>A(HpgAcF--kGyr64s5DSk6ZWB5(k9CYwW#8?-Z%9D3BC zooV9GX@izC!GWjf2{9EukbI7V26p4eh#w}ZPgir@gym6U+)4;?svEwsW$gZk4y2oI zKYV~mf3EKEiZi=oz%#mI&@;MY&@;MY&_&&uV=UC_u8gmUFaf$VJ}QzUfJLYH3ut~_ zVTiH5&2jz2L3}n0*Eaf*S?5pE-K~(Fcphs3_MAwC%`)_Kmmwt|cQD&Ys16QWAmXZX zAmSvAI|C8N4Y(K)M-93d5%@Q#U@;=_XaHS=h~vxzns>6ET?-9wW3`zH@9iEPQm~{SBMbtM$?Y+0~B2dE78?AxMkSs-Hg&kJ7I*a5!zi#W-Y#JVh7d5FK?19G+s@ zo`J(d0BPRQTDF@WU+q2i?t~s^y9_7R;cY@I9X{bW*`DqY(PYTP2An}ns6QR%@1T_B4Qpq4rO0m;(gW; zyg9wr@&0DVJDVj+yt8}jylHpB5VVLVp(ug1#dt@-S_1DU4Z4_ij~jFm?XtS3{;=oe z255JyW3|BhE_ElnQ3Z|$ypP$)%sAe+rPo;r!~1l=d+zk_b=WXahv*-}PUzT~Ue91< zd@N{V?cIUWkAm!-px;Mz-to30eUqb;5n}Q)RJ$}7TYQGR=|IMK*yK6NU|gGCoxa)L zjMA>xjEaaf32eNkdAc)RGya0j>280)ZXd5HZ=lT+ZDBfJUV{^pL0B|igtwhJTq8@3 z7Ant~j0Ty1#vGaSo?Vl^=^cTzC+PVmQ94cK&-c90`R(cTz?{bK6ZUtAvbpb@2E~IM zInHMc`!Fc4e}@9<0&CzwNJv+1ti z+yeI1U2bZ?7@KWO#ogA-BVMGOir%Nu&@-2ep=VUV`K%}sazl9+)N`Nma^r#cO>|h; z$#yR6!3lpNApSVrEqj1Ps>(tSPI4>s037-)luosOj$5Jqpv2J|x^{|NYBL3;z@VSd z%1JM>IlaM2%|;D1PU?-=5}cH@5dT&)&9_HqiVm8Twi$Nd096vw(P?UfF6x~cAqzCO zx6{y}N;`=#Evs(|1Z#cK<9f7m z_q$xMS=qAA2twVrIra7aeHt&=|QfT=?<0BnJ6ZkKe(z#n;5H{KBlqumxbW>ozb} zEr7}v2~1i5M)tu&yy~R+Q5?|=uyVuz6|77fpn{bt15~hb$N(Lzgw{{8#3APdzmvW0s=yhZ z^|x*VGGWhDx}1+2q>2_C+qA8UI{e!}D%hPfKnMQ;TeB?Ev7`;7#BY9ED#Dnh;&QD!Gd&#pq_TkNw!^Yq#znsO9DHT@8vb;H`)F{sjj)YA+-wk!z`D zC3UgKN^e=NlOKuuwF4k;V*L7BFEDxlO>pAF+7U{X( z)|YvXt2#T~>i5W9zFeO+=Tvc(ZYZ#TDs@F{7G<>RrA|Q>?LGp|3BX)o@hjaoLXoYT zY_~T@5BvCPF^=)=V|;}+=(#h#!YhEz_zLj=I^(O60Z6A7YoPN4jl5q zxACQ_QsX-i#&_j{@g4?6129HkJ|&2eS2CTP9W*7)<Eu#gtl%Jf!3GGWu3|P17X=-_G#^WkzM@^SgiFP|lN%Eu~hkk9RIG!xx@X%YHFVyQ67-O09A4URun~Ry(CuVU$?_h@X3hyYv3M zZe3rW6KB!S(l#=pk*-Hc8z1NNM&CKSKJQ-8MfOwe-t=2sITl3m9oL?IePjS=MBT zu4FBE9D%#}=w;+Ard?$jjx-9Er`=ayPqEkUq);$h)9De`!KR(HG_v5d=sN7JdYZHm zOy#s`Bbdr*)LJ^Ko>onyEuAUb3cF^oN{(sl8bHZX#jd$76*94Eu1k^2@~zc1svhBD zGYplrGxdOgp%Maf1>!#0fE$B=p|Z@ZK^WQs;AyWon zz)OghUU)6%9l>CN1ei1!1W-Wq8Xep^q19Eb+(;B5*(W?0LUdWIT{E%z85|Om@2GBp zyBG;)up6yH+hD@#`dEvWSm}h00v&1@DU#jw7%Rkb`?BJCp!GxA{d9!DE}1}O zDOiD>FdG0U@U0(-u|{>wq$xK#eirswTsHaMF9kw53pwqSCHjt2KI~IiYGg-+Vpp-< zC|Vy(54C6x*1X^iMI{LOj^BXLHY!wXj##dll+q{rc$`+k0sCPYWt;4&OSm27XyTv`4sa>My)Rtb$2iTw z;QFEtw?y|veizr6Otz)2xK4GA0#ICI)-_}@`E{_rk@v;5+300`!H7p+DDG2VU#Gs{ z1}N+6$zO{0%J5pFSjMQ${&HEceM?z5eZj(6;}*^ew_phrmW9KWELiQv7raZgSYmc? zm)Xw%DeCrfm__N3>??i3(w`&b-3GK`8MSW25Lz89-!R^s{c+Cm=A^F0RTFb^OwBlcrVi! zyCuvpxB*;d&SnE^6MC^7^xLt4v3?OzSi-V_;oeKyz&-hE+Q9POe)~2s?tJ)bRM^1y zhC2qWq^Q}zI?k(N1Ec?rW<4^xIP3sU)Ukl$!UE<_Fl|>-iy6R4^ZyImR}386x96L) zeS5ws+qdYP&ffCQS>U%m!caARo2&<|r#X4Id~_SlZk9Q`Fh9$4lzD8*p zpKmJa^HisoaU_0MJ?f4V+!Z<(0jsmlKEG?pa&p!UB#*pL=k)WqLhHZN3SAol>s!Rt z-(irGayQ>hX%2=SAD^Ky$jR38@jzYcM@v_H{M)LyruC(zE1vzfDo(W2V;za|HLc&} zv`p=yCx{=~*Iuh*@5QcmDQHIb7pm8Tm|C6do_x(7`GJ;h<|`CD3u4oAB3AlBJ`JY% zsGD$|A5#8Fs`QV{g$`V}Lo!JhmVJJ&t=g?rf3u#+x<6g|(z8cA-@$(kd{ z?yUPpKK+YIsAHq>aA~uwmILzfhv;t7`g=~4mtIF1G=l-15V>Jbewr4;gA_j9`tdsQ zy2pq`K8^+NutD9O@yU&}r(O3?!ydFFuj?(jv4A0^VJ`l58lku2xqF}9UJGwu?`<7& z>tTZ|;!XqVG=OKMogs9*xvTtvmK=dJdxMVc>tU7W7Le6rFXn(Zu%ZU_nQH31SdGwCSJI%t!cBUGT3&D4r&ns}6;_>H zOW$t&MPeg#1!anxP0IS~n(37(9?&|8z2#CE2rqe~zl5aGuBAzuh<(L-)s8rgI~P$} z_T!dIPF~XdQ0F6TALn$9( zL2C1O%sE`Gzb2(Wpn;@cKP^`xbV)CxR6Bx53?H!}qWN?j$7*Z~f4nz#6>m!Pt|1;< zj_itY*JGg#uwsNg)=vUgXaMBpggT4rTOY!nWTer9$+nZUd1ch!=D-?S7QIDRI^pQPmJ8JW4)~If>MTd0{oxX-NNwn4maDAsz7+VeG zlrO<~TLVAEwJKy=@~9X}l0RopV+ztF5Sir98UWj_09>obvHile9>;*+>ZABAKQ80l zm_(iaSkKs)tWIfy>YSJ)pM!CW_!H?GtAHo@6~!jL2$`4~C`H$3aSH{7Q}D>(gm}o9 z%oSO!LxviTK!(C#Nrqsrq&GxDW}lA`9@thLzFA>(ILh>c4o5|Y!gfJzT<9xFfewXd zcaCd2V68%jlf}WN`nXK%8AV#e73K#S!u;!*OR&t=^8qy4Hd`zQ{fno?%y=~+uzAlj z;r_M;&(m5nv%&bLb0A5Z4N-LlFuP;pRlgj^wFjw>5kO?dH`3|oX081O)$l>lFhs4S zk=d7d#8nk8Qml0Ih?cQLNZ32!a8$DcbrVqZZ_jOChf6SP0;N z_PP|J9vJJ})X{dV=F}a}$O1S(foIDj0l_ohH8eb{12m4di(r<(GiNHW<@H->_iuy8 zf9`hweZcqbJtkXY7expeoy-{*#stDoCkO8&Np-N3-QP-b6jep%J{chO1TjjcpAovk z!L`YfDW!($|*;i0%@eo8mceXs^k~KdLrGtq(yj^o<0HBx(L?N7s=*WgW`WAY@7&;MTU02(g1w|JBm4*?hvaU)c}l&DP`G5=WV z(EE3)iyZuhY9VDsh1&WIHR`%W0%+zFG}xMo9dBR`_ev{khE~&Ou2;4D16q-@oLPR^ z{d^~??;RLO+#KTY?1)Y;GxtSbJ@S8X!q*uKQpovifkj&kz|ZsLZWAOJbePRGxAll` zS)~s;sLJ(HCA!pVS!)`86=bAk{&C(0-*eEBb}EBufWfQ%^(qQtOrCY+oZX_^z`1Q9 z6nvr?G0~Mb<@+1DS4VwvpVK_9i4?GcseSZ|GwA7P|1y8DYL9STn3qr~wmIP># z#cOn%j+@r5j2b@nlCPk8iw32sP_wK{bwXmBqTa0gnwXK^h?Sz{C^(PZWLf)~2*cMq zjdM{?aNw|&gjbMK>ud?Q`YBGVq>8R4!H)K z5?IBiOoC0>Yv@B3fb*90vR~|QPG~ft0ir@_sbEz-kz{TyZ|D}p!h4nUyUs?g(eBcO zPx9m*c&7nsuDVI_kPMTFWIRE6czJRUQU$$&DJ>RM=x?U`DDurj)u;axhS`?Z)3lI> z5~JZq>v1DkzZf$RS3hASOfS}oU`KQv)ii1ScjFU7?H&*af7STtkWcry&^NBv(^8wp zaci2~mC=Zi5FC!3`&ULA+kHHjm=4H1Fr5^!{#H0#ImKe)u8@>A5VlMjv`j_>E~#}5 zkfEcW6(Yw(k+ROz(izq;LV{mhk0Pe3^$RpXh_!ahEVHKGG>~vER4_jjX^b1C#t&Kp z(~djh;Us2wvxvtj7h3TVu36YD2Qc9Rg0AO1xTVQ?S+yT5tv*Z%Tr z-}riT`#@CN%?MXv+7-|#p}9Er{v#jw()fG7@z_YV?^+{(RYFxIZ!ogck6C zH=l?#Lp6Dmg{p*z%k7zRuqbjiJ7#g2W~M56qi|o0iw$o@pD=qSs15?_K8l&ilEv4} z=cQ`85)m_N;}j7f9hGO!N6(gr{WbJ#Dq{6Fc1a*s6XoO5Od&KHH2=J3Tc>L%R!eEq zloATncw^wD?i~EhraLe6H~&K5plC%HYSKNUHV7NT>9G?`GvU5!ev!Ugh9wyxm%R`=X2>o4)bDNcDJ;ee zPKE0c1jo0EMo9Bl@Tax@gAP98?fHM@DyQRm0Ywo=$=()+7Qu9M+)?vCEN&9gyAAoa zBbo(Wd$W?WHH$IY+on$1Oq;~gTW?dl)Dp&mU$sl=((ST0c)Own?V4QNE*nzXv?Qu_ zh%vv;n3@ueC1P5djtu&l?z?j4=BdqYDG0)SyfLaPtX4iqMg`BAFW@ASC~_;7*JhXE zIrICmy~ce8pft59ZQ^F3dnHdzIRA7UcZC+Jb@kSE8i2%%-CrKHAx~pWop#0sGZ|Ww zlccpf>uPPux?5Yh!57{A1Ds~TBIs(ZZ8X<`2r-n?aM7g;#My5cSS^yW6Pkez#ioST0 zenL%x6S{|ocGMFa+f@+sk(#wu(@82bh?6c{QG(EY z-~wn#(rXlC8uS|B$cW$;;L>D-fAl#t8M{S!`Wwoph3eKu&Ft~fKw+0oR5K;QaN%80 zwjq~xnwV3pL!?35#tFvgdL<^S#Aje+g|-bWt(Pk}us9vm2KItFTWH%Kj+5B!YLr&F z^>Dge8O^x2QStQR_^)yXl5>2FC_KTYLCki`ON6s!&tc@l2)*P|*_3QTe`KgZehWo{ z^lkz3M}K_=$CDA26M%+XnqBilOE&3F$;ae1TQu)28vUnk&?C<4gcw%0Y(!~GoW@*3 z?fa2PrZBSJb?VE<{JVZehP(BMp^~Q%S64=2fq5z!!Kz}!-^6c)2lAOnU^79y>NHZ# zO-v&dJX93qgT}Se6C(L;Q{2d0^NuSmfFf8^(%f#Q(QIQzwO zEd)hOK?8>!p0R0!k&#VkP;5wSXNj??k4p55hsY}DX)Q1|e>f5#aOnt`E>f}h(zRIL zG!|b*vPCWe%1E|Iu8g=72^ai-qlE~Fq`buZczw+eI1klGFjexzSi2#l)ovqa|MVGC ze)!bZpIFXP^dRxXc8%j@hVTsR3OQn+E2B5q+kN%iu6Mh>xqBd|FH6g64oJg2II}OwyK=T4= z^+R@#JB0Aa9+Pq*)4locFg8GcV#dWFb_MFctPHaC2Qpk7+)5|1!lUi~*}xa<0$``CcHARgyU7m+?M! z<%dwT)We$r+1b3DxAU z@_>>FZ&zw^q9=*{$nfITxzL8D1dT6SQs9s8C9@2F7%t8utPf1ETgf zgh1zG@tE3&TAka z$KfXgEgr}t%Z*6Sdm#6Dzff0$dSx29iR%2-pL!TQ)CE|G3BYyu8`*94knM^?Htn;I*sO#OaWeUNY`I_(FuWu}(|u3}3`5G?62+Axe9=3xUtvCFwFC+H#a(aIDXWJ+(L+8E|?+ zX2`1i^T?x|o|KV3g-sGHLNE2$GuGBlDcP&?&h}{e!DiO3Xc&T&mZYJH^Jx=wTY<&- zFoVK)=q?c&88yP&N~1~w-#uWoWcuJDcnZ7uwWvzBA10$_ZBgmIJJP~8suZvZJs;BB4VpvCjh1{7l*znPJtle$gk=nm-aJ@qq;Or1gK*(RV;Y)Edf?8zTER`nT z$w!KNZ~lIGNOA;h8Q+znJpN!cpT@&!a)Uj2`j6iHuHi9eUYdO0aJx1Zca22^MZmDo zl*B9R@@(!|XfiPb!A_b#GI?N4he21rz3*F_Wm%IMokC;;!`85POrdhT}TN zfs?06{CJ*GfHFMKus~~`XPg*U&ogk0tLJT{f4v_j-rQ@x2;Ge`8+?2X@>OYZq-_8s z0Fy5W15+g{>nQMhTAbXISsV-tV8~0bC?*EZ;A*mB3Q6z-uqRdJPe?;$QRmiStQD5o zyYuAU%z{C*ANRmMn!yxc>Y)xQI?1ae(drDYTo_0`|KVq%)*(qbwPIZAg08B=WS#=a z5k}GlUMa8-9$(1kjY{Sdsmrh_A2e7Na(oGaja48e^~_h9P-WchjqW*RB^Ulu6)BZh zRo)Zcx>z?j>#LUR)#I;AuaTeW?O*E6d-6rW*db`x#GGgRPj_Y3tZ_l=aZy5xRIig2N^}xtriQZH53(odPr>nh;z5EohGxz`;$}9_zd$cJ>WDH|MArGqC;)02GtO zIOetBu1N=t;Doo6UhG}}#+4#h!^Ar~N|CP?CHc!An6XEbMS7PFdR6a2sj$@zSGT_3 zYYtHRXdf^e-tn*Y-olsy}ve3rayE-7ugFID3GFL8g6`xt!TzEnCJoAZ6g z@t-(WzT+tQ#qan7-4E{w_se&Dk92>{Jn$Ib%96RALu07t$H&Oew7|oOwq>e$VrN>I zr!)X;dC!)rFzif5G@Ji3Rg1JVr+Ie3MzqzoL~#asNt^M_wP>rjVG2sy3`<^mQ$C&e z*&tPC|M!Z3Bp!Jff0|Q|wL=wFoa76grbhf|VMZtU%P8SK8{jI)6fN+FScHFDvI`d= z6u`!FcEP+7yQt+eXt-v;IlGWWSFj6nY{=;I=px1H-~e-(@jcXCT1@!{x0n=D$J;lw zo~esznX3x4pweAJaxp7b+oMQ$+Ed)J4;G8wd1-((|0i#Dp!KAn@7XUNTbjNHVQN+S z2BQ_bf^jgj;=9k}J#r4?J+I|a>u8W|&Tec|;c#TdJw@8+OB9p1<;kHkC>;Ub;?b^V+Iyd*t&A+m_QdoBjI1i-F(n7V!g3+}0PJxl1gF7XVA{Ve=bzTo z8qHlLS(~Rx^Bsj&)ZI_==o5vGz)5Z>z>@#Rftmb&Gmlmn5FF0pmGyFuSJqp>eQTbE zSSvA=j2m?Jx|~lP*i5fk$5Tn%6Be_Kqexh2gF~3A#s_=Egj?-KvRi+SE#nKZM>a)g ztXd)mnRtX?DJW4oF;&Rd10y8_r*=<%?Y9N>$V4MJHVX_A z0cm1AXlDqYXEE2k;Vhy8%VUd!iSxdjaOla}QRiB?5}LcuISHg2pXvOHE8# z7ix{WsagvcvJ|T3Yxd*C^XrEwztoM?4ov~Qxs7h+nv#}POFd1p6CteLQ&nwBF^kq$R!1pN3{gpp|MvuY!^C`cF?{hjVe%36P z&zqk&${#P+M3s~9jO?L8d$wJ|uwtT?=@?9~qu?W5BtdX3LKs2Amu4tgKw}q3;}@~K zW%fimS2alEaR$YtanWI1lwd73`q$=OGyzotS^2De>fg&CYfyiF{6}CNc0lgpLa%rs zp7vL1-5Mtl#bx-5OB=H>vJ?q1N-#xHxV%`l8C9~*X~yn`H)3D$Bz% zF0d20D<8kles$zVswiJ!h83@{ol>~T-CThF74J^B)Cq)w%>@t0W~7Det3^Yw88@(L zbgV849g+|O@jAj+6q$g(jvI1&aZBMj%}>W>9)dt*EWq^{h&4}plBd42m2MxZ4>lp! zGNcbV)sAYrRZ}ITFHuNek`t$v6me=GV=rTXS!v;X8Z`@@t5Mhag!I`9D4NsiYUrE` z!`9c6=GEe_nkMbnX#Y>remWkvUP(gczxk7NsuX+lK5D(ml!&(Bk6jV&9tLx7Ijr?h znlG2iC{>AvgN6(-aSziZxo3Yq{=WJ?vOV|i55XOCUq)8^B%}Of0_XGjZVsM2z9wF; z0TNNbr(|&^`IPw)i(QxAG)Wb4os2HxycKtx{3!Fy=ZrdTTPA3)re$n&?N3UXMjo-o zLcg?#Li|XTQM&&c-eB@{Esa^8mx(DI|Mv!dzkuZ8=Eoxt%?6y}}c!!QO z;C=mem~c#==Np{mM5nL+WczaDOp;!oUjOg3SNrlJLc8aoY-6!n&^QP@et1k@UgO{3 zLtJj1cp^VdY-&85T{ad!)E)t*&hqcn>FA;MrNUpj@iqpbmR?%9_4a|#S?oA(#a$lnl4m0=|CYi8R^Y=EPOj;}rEE(Wj_~Wbd*hsnIU%4n7yl zTl3FS6Q6=rHn}FAZ19e?dJorpd`x`5Q}+0xvY`yye-eAZDoB@uKkiK7>SUvjDvGX& zAF~&PcOL81qjw-c?#bD8dW=~Z-8`JKK@j@-2Qxse6>SbbV#;zfG5X=X`2`&LhITVP z{y-k3%lD?s$tG_b);5dvqOgEOal^`cehlT*|;^#q%>!xZm*mtws08$Kz0-?gbiW6e!-1c!ByE1^gYnJSlHQ z{{|}9dyE66@5+xn(X}W4&DQ@$yT2U0jqpY=!$z5W;#Z$BTN29m`H)>s+bTqRs<02O0+i%r48N zh!A+LH*bogJuG78*Y7)=T|V&yRFULA9&RxGnL+904`(A|@%`DxhZq$G1zYIW0eAqs zH-GF?)B)E@BS7$+eDXIV+n1Wp9DLI)16@GIpZV%0Kq#8Mx_b1lUaZ}c)rZ?%cEVs&EbN4vwz=%B86 z9m@dagzrMtL8CvG@nO(oS@N$yQ#T4_Z6Djx0PQ`NqDxaIjXAAD>&CXtFRAT@g6lun zhVP`wO(F_Lrg@h|y{9Yqcp}S|=o!%Tz)b^;S=z<6Aw~#>MFa}MUOzwBmXe81r!M>s zZBF|+dkxvCH#35L<7xdcqnM7g{vp-@K;ijiG(+RwegoX@GMaK(`i2RccKRk;>8PAT~R>M^}7&~0O3d=2Z9E~g($43c&&IxybuBL z#vAZL#T6A50arv&yjE0HT*3T4RXsDAgg_Eq|G)3=k4|2{e*L<-tE#K3tNK+Zs`e@v zr&(vvEVneKb6&!%0IY?uHm#!SS$-JN&P7DCq?dXFZu|_v7LX+^K#J zQ*dkA87yUK6FYN`N?lvUD8dW7>R!->dBL$i!#zmCJuj3>dF7^a3lb!7%m25=1WXShnY!YQfYl3^nIFE{2<=h&&MHg8qFL5Q9uC@FHUUto# zF*9%N&1-f=&B~j7=NmPTx@G9z7jUidr_gT;7So+dyvBBI%lEk}TP80JEev$`#5I!T zrDzHQTA2}h0nx45QwLM}9@4#+CK9nLl*RiTtL=tkW1L$xM)XQrT4Tak#7MmTXE@-2 zgEbRmgvU77M>B1DNagS#;Bj)#OhTaBx}z6&aD`uXKYMgpC0~D=#8g$X^DJQ)g{&A#DFpdK zPl3#;SF~exq#~b%UB$(q<6^38vBGZ}0WJs(P_i3@<4XB+nr`}t774g=sgZ!PKGDx@ zL%3iK!j?0G2-~&X-z5?of^?yTYL*9J!ySnR8+MzZ$o3o@BX*bBfv)wj!5k38MED_C zklce}z;7|yTxRvr5DiqKC{Suk6rli2n*+ZKvQ(_$!#yo2l}Q>2ZLztHbI+wVbOA0H z&B=_Gh-oh8_^E!0Gzq$d1^g0tUOx2{V#{LKl4D!Bz%*hsojM_)krR~>*oq?sT0=Z_ zo=F&fq~j3&_)aV14N+jC?bebJJ){g6^6{~sMVwqb2u5@tLeh$qLcoP4h+Pkc=7R;x znGf1Kd&3#eNJcwn-pWvk8Xh_QoW0?UO)JRg@9YX^e7Tv7w$9yLbds?X;RN6^-(L86q+oS%e6Jp@VQGOfG0=gbQG3DR&S<@7$;IzFYQ?pc$g=c^#bLd|=Fn zBqBv+;OHc8C=Gv#SYD=IYgjU=1bG{>%eZF}WZlbt;-DPzdxVc=&BLb^9q+a1bQMJD(JmGK}?SiUv-M5MD00#sBFO#>M&;RkS-LYw_5 zl0tnyXj6DASO*fz$PlmH8Tm{X*>o>6xsl8u9@C-_3B+K+5+W(Cps7E}Oi6ai8t|Wi zOdlL*FSA*Soq@t2JKfw9?RXT1XfZ{}=n*128(|Vb7_bCm25Q4;zeP!fKMahB0`n=3&+{C=)`JQMr@t{m;_??_D^si~8Z z2Y&b=G>_!C_jm}C%l)Egf3{qoiSeh?l{96>G=E|c1(uU5?2#x)l0}1TlcE?rEB`?U z7*rzSC|0r73P1QoREXwdOYBO1Fsw^vA=z}&km2o)hO_HfKhf}d)TuJq8s&8w;1gb_ zWl&2fkRPelc`;}mWzn72>I1Y$2P&(Wag6Li^LHo2(hsYxvY=~(_#?FZZ(8I zUXfz3h{%8}$#5gZDJJK&zy(Pn#f+3iz>rk|IBApey#SGFJ4w$&Z9(!VH&QK+ zqC~zhyhXlnM7?n8G7Nrn+a|iu>&FT5t1l%Xmy3q z%E)4{b7045j0<8-2m%vq6cYJHA#oyyoM0!*v{R08#c@IYMJ2}96FKx=c1GKlF^J&Q z3e&@F=;4+*rBxk0;Q2^;fa?exG@yq|%o$doZ9RIp=(wW4jvg+%t>Dbn2t8WWqX%u8 z+K?VWAX06IM(N>dNRK3u6-;Mnls@8?`hB7dLjt>Xh|ig859D*d5=2?ei1<2!2)!GZ z=^+HW&7O3`SQx>P3?G4Dgix~)j0`>y!NQph5bQPxZj9mUBbYWFfZ!kysrIl&5qto{ zD}t5dK``9`!F4ky0tt22NFt9)py14D+lpW;+6Qv{!32q0rcC8vmtQ}K68m;YqF9E5 ztp*&7bUz4!T?dmW^*NZ8lOUMVB2jb>QUo)rG|9oVDU4tvbR#56aM=(>G7y4NMXCm1 zq*PHP>x>7I=@Lkeuaf}enWdzn8-WwlC}fpN8=9#}s2BZzmnMN@F`i=z)~yUKbrEPH z0G&;eVfNPk7WG23K-Diq3zU@~5lHr?=IAatOUG*~u~b_JPQ4(42$nZh~B@ zIYpLnqFiwk#x4k&;7=Bb%raP(>8RNJ5T~kQi+`!1#t{+^)D#lQW^NW)=sK0xT?diI zqVgaxumc-cfn(W85-mnf#z5P&j2}BeHe)hQ&DY=-%(W=QZCU~Bb_R1MNB6Ke5M9bn z5QCMH2{RH3mGnv1+-R^isvo`s%Q>0=$1?NljZ3Xhcqk`QmY{-S0U^c2&C5D*OZdb- z)Itn3{VH9Ud`Xze6P!Mnubkc#py|}ChaJegAACKeaNF%=c$_J|KN=<`FG>(xE2uVL zD;HCISVushXviUfwkixQ(@yAz-o$Zh8oivCJ&{~NI>;kxd}18cag6h*EZMRnmTYm( zI_%+b&LR!uC-q_w&&A#(2Zeg=3_Gr;YaLrh#JVDfRfsWaHAQmVFX9o90}{m?@4J*O zL*gvqb$m38HODP!W4g!kt`mV|h*B;l_t)#2+8LZJw9K!k0;jXHhl{arx)fmJ^?UtT z{$)k79@wJ(aTqG6r1g_d#My27NtYy65au=CyW%9+9VZ@Y)*&oL>(GaD&xOTJ{FI(f z>Iv#x&l6;9)w0&B?+L=v73m4;9QFhyw+-MWn&ZzwWCYze>Iv$itR3_OVbU@Gc%+`7 zE_I$DG2}&fg2d%i=TtJDpspcLP?tJSP%@)D=m|dAOYM{)Ebz=i+Ik9Ci^8yW0JU zP^~w^zmp}14K-iWa*v|#Y{M)O;gV4^DaKKkF_VI4F_U(|tq?Mlb`?Wum^R|Mk&jZ0 z&qh@ID9U%8831jT&40#?W6G-$mBog-ad2wjy~Bu#d&AIKTrAwWG2fvFcge$zQ}4OD zakPNCak}K;#%WL>1i@`;h&rHvfkEZCarE8pdDeLWq2|Oj0Zhw-iP;`yceN9i2fE-G zvAfI*|(M&|EY9y=Z!lRH~I5K$;bVnPckCv2$nPGBTNw0FDHs zxwAN$S}NgGaA}~wKk&jHCl_7lZo8L*E`c*(7AMMgwz+6udN=H$Hl|M%6@?oU>|Yo> z2ha=i7~fYOC&Bly566<;&{GvpD;o7w;h`nyBtER5r^?+nkp**%BQ!FeDlHNARPj7P zl-GuyDlKI^Ra&IZQ&N?op(hc{M(cW2z(b`xh5AN;K28X;|ZoFM?yQke(xT%NTYYsv&0rr(iI+hGh z8|SF|D$Y5d88}|BoFiqrqIS6Igo#Oc1~Ka0C4QzGCspj3E=&PfeB)RO1iVcBNF6bL z#7#ogS#HC7-9@~>dFM0Ly6glFR^U|tyO7P|A?VCB(bbJ4IIFq{sij)o z3TEDc_wZWbvyuW`VaQ&Lm64+JbfzCYXU+;7j@8lModMltrrm9Lz{1x_)=cudoRj1c z3pTS7@(VVV*5wQbGxBEOa60bq#)~<_ZPM~a=aFSe1Z}YU34V^OvX2taZI1M&dsP(! zD$lZyv5%_)uka-UxQof}X-9Bvps(HA?o(A|A6?}a-*68Z1xMHeX5t3!J=5+p)9yRd zpDTFa^?$tQD0N}ZnbM7!!|@lPsfxKyyqlfv3nc&sQ%>-6J-U%e)Y+*b?oPiMWfu zGpjP*>V7`KX{f2YKw~ByDJg-_y&eQ!5&1iE7G6n!kj$7>4~|;dLT~^g+H)dp6Z2v3 zpxzcGt<7TEXaALjuEr##yNf8|lWnhvE;jt_VM`P#=%y(>p|wVY#%0t-n=!rGVyY$x zG-r=x8f7AhT5A%RDTCU?Ak`q)ffXqN4x&*s;&?@d)N{Rdx3V!z20gH-OyU=S_nZh1 ztQ&`GjYtPb&iuiq8ZyNBK$pTESeK38@NShMycL$BF>K}$Z_8SX%0!Pa|yeguLPjYHk1Y~VQFg69~`jo2#0IYq^ZRCiM0+} z9JuN_X2j=!Wn_TM*~h}i74kv2#9VnRV^9k0@&shVf><0m%;~fw7O%$OpgurWcT@cg z2U!$KoEogRB1ovtFGK~pKh`7jfQfz(NRNt=tmO*iF($2AcMfaL0@1Z z5+HR5FC`4Y=B2B_L_1>$xrx}kIOtcb=rVIF9BedVMUPisVBKbseaqnU$SHW)@=!)_ z3f>gX2u{J9!rsE*6udB$VaH(!28>wdwSRK@CE0h3jod-{ZBQo&P;aS` zU=8qx%S;3^o>-1WZ-^-ME60M@5R0kMFl+`{!>(o6tnSIdQPrrQSXu2LPwH%x!nJkm zc@S3n4Omhfsg!4i-ldy_qe9pc@r-9O#BE?_0=fnW+XW*Nk4YW5I-(H*K^L*h=3v>C zx=l;mwZusgaiL=TQDl$EiEv4nb|YKrjElH^M9EFD2bSC`;j7gJe3;4y>aB5!e9Lj~ zjYB-g+ZkpS5PPJ{S%9y!1J{)?6Z|&Ujj|i4fqgaijYJOw;f?sW`;+WLAh%GDNjlR~Oh4dI* z<4R@TsGErRIzXf-G&U2FI$LG-i<39alg3l;XnhZV} z?gzzZJw`nUKHY{d>ljt>X*N(D8lSYKK0YHDRinQjfKO%A`uK!|H7@Xp(g!}Hu$}W$ ziJ?B&1IK-kE5izl_+wnkqu`W77n;B+-{=ZXqa$$2fNL=LQHGj_(;x@c=TRB_I@arO z8YMjX`v$*J#8qLe!)v1gK=~97R=lD@fY$_LZAq|`#I0f6uF)c9(Mlx#WFlBog%KrM zl$S&4jc6r`?nV%gUQ@Sa44qMQpoYr?qpd1%mI<;-^#VLjmI)q2N$~JSIcNsSY=j67 z5+P8WFnz$(=!fVBt`s^3R|@G90-eGu1@6isQ0+-`FssaCIoOh2tbZ1 z&6a7YzLp=~sFu&Z@%R>K`K*UR8h4!8?Ii4^*w|Rv`^l>+qBRCspf2qpc*$NCZ)8MoE;BXpp7b5krf(7v1hbw%6D&bmb^k z)Ou^)1MwzyjQ`&)Nnjao2w}1gk&Vqkgn^O?epZBR2~u+ynm;2Vr2WgHS?rz(GI0E? z-GpaMhE@-&ZZAR-3NQswpomZ@<^?fbGg>ELrAR^_BgLMASlLJ@ z6MK^GI}lU8Ye$ae7M~X16c%9dt5!7K3qBcqmd{Rte#42TZk5 z+;L`>h}W6~F{vW#DCVq_mvrw5qpoiJk`CVK*luFafyd#jaoaVEDE zxbS==7rgvbDH~g;UhKKz>DLd1<)kLC8_}Nu=F98wx4YCNGuXC&t|m^F^MhPufr;IC z18LvqsDtLy-TvVh@ijvMU?+0neOWw;#hJK6q{QMZDSD;0<|f~hI6&q-O@-b&G7QfR zJOsUBRNA^uB4`8~xk@5vV5JQxt1e~6h8`F6) zDh(e(%7^csiL$K}*nk^JE;j^px++~PIg4Q@s*y~}W_39;p`m~tuPXN0=FeH!A=5c=LXL7sS7 zLKLn;-a+0t1iBCM#vu?V1QI8M_;{4894sMAHx5g8(E~!|yF)e%Nys_0-&3C|eFRi6O)otGBSLrY3Wd!fk_0}ftHLuiB*xN%JJ`wRpfK4^VY^?0}3c7bE3ZmPD4*JUo;hCsv*!T0Ks@ zq;xA6hpma1&GE{%FgBFQExd}HlN2OG@R5>F|IC&ac$Di6sKqAew&FYE~GO-Fhx*FbV}n*W0WnIZNM6u;0|{r!$_};z%h-%(WYO2 zX>2FvGTAle)PB#@HI22z$#AXgUx?-7I49*yl>^3%!1oO67Om9v$1gJoQW zq}`hKY1*Udtco&WDmhafXUA$woJcfC4&bIQ5;P*-iK&oO6d(L%Pb*UryQa!ZZkc7# zW_ajhPf?;4OAL6Oj0VL}2WT3_vH~6_O^am&5}o7*#kNt5@D=!E14&Mn7L&-`arKKy z0gF|(u$r_(x*kJdFFVd@A5roovb|1x1#7t05!t7co#>=gh#es!dpOy#PG$vU_C{o1 zKp*F!vBe9}V`+TSG}H0jG?g%iau6&!pEk7<_~{VwuHa`c#h7N~WY{<-R*Q8Hq&jUH z6q^kQu+GV>fix#ciyawAchc(@qnC`cP`4*(x7${r8%9Tz8&7sByRPU>yNGP+w9}mg zK~k%T>?*Pu`4x7W8RrLlg$` z0vS41OdWwt*|exuIuzUcB-msKF$(}IxP$?6+>_{D`)Ly*pL6oF>I{~habM`E`Hoe% z>H6T?@JWul0%@gh*F9e(&&8T+C+J9P`25!3`@`jZB9JtEUL((Ska`<^|L)-Xa9)lZ zIvh~J5-H%5cV(>}d>-yRU)k^hlrvY*x}B1;0UY7O62Z5RuR@G$$|Zw$9rN|02oSbQ z$c1eQazUEP#rAqTp>=54fQaD^l>v7-AM-6IeMvdYj^JD5W};#Y;*r&YtYa)k!j@h` z%$&L?iJf_0)|?UNrP3&vk6BF(Xui}01dodt?Yc=53g(?~dB9U`duEcf&NHB>hWZg~ ztknXR^UR#!q+&UH{$`R)Dm3Wez?dw2so65SHc=*~8D$ciQ6{AsW!hWb?z9JD_B=(E zCjtg>$`fiFWD4+yNlwzJxf-%BCrlQJMuO%|@F2N}X^~>$V%HFEvf2C~XjeR-Tnlr6 zPtn<3&V8?}wVY_*3JDg-ei6Bg;?CQSLfR5zc7(#Zn;e?F6m^J)_q)6u4$=Sx@3Oq@ z=`=M19_m{Sg6?{=>-yQSXQ4+?0hf6s`|wPs!>y%a!JBC`yVoV!p*%F|@?mC|5Ry#P zWl^oXr`-P};GU{qme37$5X-#IIam@~G{$!oH3A4(?31Ih z7}qK(Q4Px+x2hQ~jF0FQsOH?F5l96ptWi@mhiATTU81xHYf3pS$(@M4F5WUhU_@p5 zHWHF%nYU#}>ju-_aLe3aBvh5UN^gf*f7wh9^DZ zhk_NP4zC?2!3N&A3&GIS*~cZg!RT(yc!rC~XtG4(r~skDKMZ7H2JN`PqOhc{Xl-2~ zVSvj-G%!xF;DCaGR*Ia4l;X|M(ak#AjA|LZmbVp|(oOjj6ptdeeBc6p7mT+DC5ikZ;evUqm74lexm za>5#2^f}S~SZDR?Yw#qg%Pp4A*wd1t zsEb3uSw$n9=}oOvGv`yVy(@CGrr8^+eNl>X7pBWCYxi1>E5Rai)N~K><(0 z0<@}L4Y)rPJ#2E28e*MjGUyZA*a)jCZ544EGPBqo5s}*DP%Q{lmil1pR7~&kM6kgv z;?qn4wv-H5x>%MV#2n2$756^s)KtHV%P6t^x@3_RQ^xjR#ib>m&h&G4a`a;~UUKsi zq9~?9oO+fsMeM&~=}#m>hlGoD6-vNvYpTHTgo~E}S&mDOTd0&8W+Sx?!#T5& z)+DimNd9bQAJH3>Z*$}ojU(HgB_jULBe|?wFOwi2zvXcN^#ta^5Km*|(;;cXyf;Ek@HE;4 zQ+d56n94&<2v#mzizVi+)VYiCW4guM-blAhAL`XWs4QYWmE%biE5w&+&9AO zJ=S6zALOCT7(hf7LE%Hnn>%VZUImxeK!OW27Nf|>2018nNKMPvRVHt$66qQsBk${{ zmOuVR^~N7Q39cpf{_Un`Z}|7iFFkn)Yqnr5+70OewNNh&56NTE*;~PSpRA<}b?SMX zx;50){@~*GZd!BS=i4>~Yrk#zifwoOIOpd@T00G~^6q~3!5x==^U0cNW-YVv%UAFF z$EUx%-b28rQ=nn!-v$jp$CaEqYmywCHijt%Y!2e>sEIOxn0YdCmJI4{ZseTIpIs*~ zRnjq;Zr#n8C%qyB%?#r9we=>NJ70Iy|L{$Z$eZ4gH~r-%nRjqIJBScji^**ts2jXZ zv7FarHalF13@YR?VF^Qz@de5`jWCR~f(QO6=G57u!gaEw>mtDfE$xsZCakMPSXa7; z#-#wIo0i}546;Q`IC4CD)O~Ugy4wVEmGjx%p=hqa#Uo}%<@tv5Cu*Jv_y&5#{^8~? zGYwb_AIPp%@(k?i!RK)KA%R6kj{Uu`M9Bs;o-qWnv@POn_WHM8FU{*{QM98Xm?K0l zT`kKfxEg%3j+(=5Lil#i+=!>FVTr&DD&aRRJa-;XQ^SR?$Hp5`)j|RoJ89vk&&X}t z@a?|4>J^^%aJ}0_uh+YsEB+&Gq+-wG z;`2HQTnLgYe(z+03vx-4@3&>8;G}V3A&}06eIFTI(4jNA#Ce@oTnNzEnhSbt78mx* zXLCVkKa30CHP3db3)NZ8RhYm#4UXrE6_QnhOz!9@1FaLd)E!Z}P|ix}tyw1oMSqQC zrMZl4Z0Wq(JHM_6B-ij>@1yP=G>BI%(V*__K{c{a(V3?8o(UL#V zx_}FNYDOaW?EZK=Ej9a-9BhgW(uNG0C}-yCd*(dV;MtdTLJpI^99X2|4;Rxaw`?gD zN#K{@;;7cf-j6<^_5u2h_A<~yXBBI)8qqSGuVy1(q9U|q2{z3$UEhiS2ivK3nz~VM z9i+r=Uh&=Q4xq9VlNc!`Z(9M0xR>o7gr&|S_1o4-3w0cd7Lv{*990q?geyA~#B3y)$`>qoG0!oT|qy7oE3mcwr z8!;1wi6mYK72wX?m1`nJ#%ehzxK7->B)4)nuQ$Ph5$Lrq-@Lc!HJ-?!8s6`t>yg^D zIMQO_Zq67N#?TRc;DAog$ZUn4L(t3DfhlJLix<%4d=tLSl-nQWRzxEMp4-{$gAEif zA&w%s)dO_!6G9oe711c3LYH%A_$lr|mvfKYYE^2ydN6#8i;$y%Z#4R{ans3avLvI$uhv1`v$k# zU-WI4bA{Y$Rr-bD&2p=NkS*BTPC}Tb3?Bcmvsf>pYayqd=@v>6H zi%o{EE=AOGw8@K<4?bTV6hD+Wh-XVDwgX{auL4I5!g^Zee;Fpjt&x7N`Xgb=DAlo( zAboL7_5CL}FYkU6?59IHGdkvM2$IUXucN!iB~jwLTa6Gz6(Y4QiG?FB^qP5U9Ai#g z7feMvcL!6k&iY^~##s_f5uY`fig%U;Q)$k|U@F~N8BDcyHU(2z&ZEIp8)s`UmF=tw zrrJ8&f~j`SGr?4QXGbt~n6o;V>fr1Orfh`Rize-SWv(nSb|fN=I}in`pL?4m+Y@f8 zpL?q$+uH3&ZjxjhJDcQ2Nw&7-Cf#fA!A--MhzLWBQq9}v6t3|U)deHS(roxtJqt` z`SQHs?7bY}JR2}%uV#NojYJk?nyKO2!iXHd;AJ&?uOjp09KLOy`gwlxW)nv?vK${x zJ2f%&^KzvG293yahjX`$Zwn*xLTQ?hWPVW4QA6OVSd(u@Ytx-|WJ!Pq!dug`IFq@X z%rsCQEVD>AkZRQ|6{W}Q3ibNa<+{$xwnoF0VgTD8ROCeeWwd0Of9~!iktlvPP20b_z-T(lU{~Y($Qc+yvrq z;fIstVFa1$=Uynuc6`^sx22NIw&h6Wd6LYs+mM_q$#lCl$=M{GC463)Zo`j;+jes+ zG5;2VudFct>>?MGIP=KO4(Dzo7sNQT$!!;Oq6s^JACs^JACs^JACs^JBQ8YU-VC`bTg zQ!s_V3Z{@^jgaRcgvqpj7fFy6N)javBvH~p5+w~JQPMyXB@HA|(m)a=4dYBn14)!L zkVHuXNt85@L`efllr)e;NdrlgG>}9|14$rFVF3=JiT85&9wGc=SWW@so$GHw4KN0P4pU6L?!>TIN>fh0;ANTQ^H zBuW}cqNIT&N*YL_q=6(#8c3p~fh0;ANTQ^HBuW}cqNIT&N*YK4X&NJm85&9wGc=SW zW@so$%+OGhn4zI0F+)R1VunVLBwa(J}9|14)!L zkVHuXNt85@L`efllr)e;NdrlgG>}9|14)!LkOa~+MiMhLlq6G0`BvFEhb?gY0>)l?ybv2_TO|Fa*6>N}11sf#MQ3Oep zWRT==DF;cEbdW?z2T7E4kVHubNtASuL`erplys0pNe4+Foz&EDdN+eWNn!?plEe%G zC5agXN|FToa4@bUG00bvnDL+_iQ^EC;9O$X3A6u;(|d6G$QFa$1XaBBG(@!UB-sb$ zaaM)4PMh_Q-z_#7C-E?)4- zUf8Lc!t}+OU$S4|H`7^?h#9YoNDH-&U zRnKnM)QJWF`Ro7%ydAyTiK^tGvd3DK^Y(`o1cU`3gdYN}tkyR7S>TR-CleHw6)yHJ9-f>n2v-+B> zP2LH1u#RmcgYWJl8GMK3kZsB;A*8Jf>tHY8Uf$mz`7D(}eP9(3N}~FQlIZ)vq+IsO zJKK`YRu%XN{6FvWy$T_m8uW6=4QQ8W@_gz-_`x);E4j+1^Lbp^&gkrByRXU%OM1-MIIyuo3L7qxmTR)3g|Ax0nA)D#d`Z~x#X}Q=3=u>=90y1#>MCN z%O#FQGZ#zN(qg+t@WfU?eg-VzDRM;|Z=#1iUgx6kW4pFch4SM#^^{OT$(>5!ho z->Ry-#akCYdFA(4ytLM;Vh6@yw!hkLH%G2>NaS^z&!5A1wOw8tUag{$WJPIKlw{da zH2<*bIr4W7b=%UHxInb@CAzLJBtw0XWL;mPBl;2@(U<6OU#Lp^l2*lF?Nk+r!w%H} zfE|DqCw+_4zQt+Z^4@s;**mVi_N`mKr8_ZIw1ehGYjdNuxr_z79dGkjn%hB|>kD|K zxt_Y_k_(SQzD-a{ijj3xc$xw48S=Zc{h~~yb zG&d&PT&mLMW>&E&_^_%#3e8OhU>wj=q`4{D+!WK?7uRk2{=O^b-_vSlAQt>eYh$#v zG1^)=1WQ`WUuiAQlU&OV_@uSIy4I2mwN{dKt@TB;))&!QU%0hYrLApM#aL}u#g_nR zcK}QVnonBm)7JV-Ygc`-_~z$dU-`h%Re>bh}Oo2TT4~i+SZ)(Wzz!MYWo0~BG3+Cg_~+_TzSiLFYf&S z&ZTf811$!s%z>-oq`B;7%e8v{5zWo0LgLbb6i_0~^$D~CSYhY3n=gOtfjhQ+4d+t0 z(Sat-#c(Cf<(Q3JYrr4T+$@m`wBXRZuxtOT%NF0W>)VZ{xlIi;Wrjh2M04AUT%fs! zW`^f}`TnyXmff(A;K7t_YM?1E4E`fp+eSt)EjTnUJonL>2d>}t-kP*#4K!tip?^ec zvx5We(5$dv=e0lWc;e$l%q8@!sd1*9F!GORZ9;II9hwuifBx%(&#t=TvUiPGXlk4( zD~$dlnj0S+XNP8mZ?66Kb#Jb?@uTldbDJ7x$_wNFh~|2OWmg^X0+G0eDc(@tWNiDiaK74WGFKGlF<@x@c~K7Hk$hubRn zrbbSzoi5R3UQvsg@_%s2Zrr^^I_}dc~EkE3Q!<|pPh8U!+P4Ql)oh9(I6n>V%M+;++r3w5rg`Z~N zLlxz{47-)x8u+b%pCRxw6n=(*zwxKbzj*!WrJJ@I_)RfiE4!`0Z>#XzDty!`Mp?SR zPgnTq20mm_=F7skB=B1UKTF_eDf}!0|FQdCTD0Vr?fZT-@SEbk)^;0#-$voLQTXUd z46{supQ-RO4SeXL+}9TPS-{T#ep`XxR^hib@ZVj%W5HYRe!1;41Z6YWFT>6j_}L0S zTj3*j7-y{nek+CF%D{&%%6@HdEVl)I7Vz5${5A@|je)=WmItq0{_s_wy>H+*#eZ3L zg1}Eu_z4Oh!NWjnE$~|_{MH6ObW#4xX5)pxZwvfvfuF7Lvkm+;&tA9c$IBl7^-Tl6 zDgJ9~#|!*;g&(i*kvxpF41u4a@G}g2=%W0WAR9k`-v;;z0zX0FCm8s*Zhv9k+{ze6PYs^f1)21b&vn&oc0#i}GK*ouKfufgdmM;}w3qf&bjL53gN+ z>He#aR`NH+e%Z_`fM+h&DMn@4_-q3{Mdkx#K0&^K_cn_B-CLjBuzT5S z*Jm_K_QeW#mdb#SRq%)%23aGMz7R!u@6gEK_tCn?H*Q$FrK^H(iuIBNe3F7sQt(I} z##kehz93&&@6gD<_u5-NuD);Gl|2=FQ>>RN;8PWRs)9%8FvJ>}^ac6KdWS~-*Y7TT z@1^H&`NtbZ@-{i~3j70Au102k!M^g|p|StbXYYOW4u-StoUZn%VHO5&de+P z*Ff)TeBKxQEB_rD|F{19^rA1ntgiXcz;BBG8q>QPpZ5j-%72H(f9)MV-S*<+pMDpd z`J3Xu#`Lbn=Y7F{aOORv?B8(P-tVrtZS!%8{-)TkF}17lXGcH zfBEWw=1sgp{RUcB$PCs2l>sIcvs!^%?)#|TJo5$ zSrcyy=6#UgjEQ&Mov*+A<>HlZw`tbI+k$x? zX3V=cz5n#SH$K1ZZlm=y#d-&^v@|yDgZySpyGyS5dcnW`@!+N-wf9Z2UJGV@kl&11 z_mfBOS@Fz2=3IrV2jn*;^;$6LgZySpy071G+083nUHa8Oo44F;!K4rNn=$Er|MJyO z|Mcp^|J>3%rLP5(KIm`8q}j6T*MdnO{5NCL-S)4oi}rlI>FvD+epCF{f=M6zH)Gbl>i%bUKeqqlTYhPt($|7n zAN)6C+P!|kH_Lu~?)h84Z=TZEn6c#`(?0lb#=N`fh3|KKID2)?H_cP}S}^Z}|7J|Q zH_rXxinZH!yuZc3Z%X{NVB!b=&6s(=yzOwDuh6W!ZlJzJ=GlwC&nV1>Y3! z#k1N6{DDjUM6vfIs=X)C*n3p=0shclmU$n(xZu)-%hn{!48%7*^&VvA_X=>Y0{0r= zX=473VbuZh>%1%nBLAt6K3sU;4>#?_)~g`Qqde zFUx_*zxScV|Jc0hqlXd{d{fqz7EJss0;2@{p^?AhmK{I6KKs)@q6w9g1@#KtekC#Y0Y$e;VmHH+T<^~0|@Wt6f_NxjBq zeMVR#CVsKJE9)H^`PaRA>t&CAvvemXngYHl)@y9iXM{Ck;TO(V);l!kKePYd6?d+A z@XceZ0&rhbtk>*0AE&0U9#x9iIXLI9zj^hxSNDE!)eGo6SbCe{y=Kq(cr}IhsPfR* zf4utV55BtbhwbYP{HB=iAankK4mK4$9)ZucqOg0{BQ}1I+W0-j#=msm4WGRE$ZOBb zeyvOfifk{7)$L`my1k4u#Ui)vvCBi`ZiJa%jr<2V*aZ7ASRvTx>Iq{%Mxe(i^cVyE zs~@(!_s9=hc76nOcCjRbu~>u@e|0aLG$vUalPrzFo{dQv@DXNyHS!Cwvwzpq==(5FM0Y0UQJ*~-X9%P4Wl-*wZmTZ8HW%DCDU*qf!RqTq5X6L5A z6CJaw*edI>J68ESvPD^fy08;gHsngojE?<11Gv~GPDTffjbXRfZ`kcl8gtb4YXnmJ zFpc43w__W)x7O{Bu8UBk;S~mP$fSle4aQaA3;9I-%AG%n6MXAk?m_NB62`(Njs!b! zNp<3oLbe2RHiM^LNmEMCb8yLL;#5WKQ;F0j0UNYp7jY)o$IT_n@2dB59T2kH)dhSq z$1MRgz-coYFD^%7b_uL3iGfDADFH&$IG0_eI>goK4&s5ZPL%b1Q+Oa@Tbq1z1%9-SoJYgz@2)3H6cZt)S zZE}~WcQMn#kCPma9IhGpMoPmn;VMFPCTWSZX-@1^zPXTU9X&Cb*2kgxNGDE-8bqrJ zH!9)8wO4YqO&|*1bu7p7?S%-$3MI2bKM3czI1c9FD-S2`46Y^)FZ@MNVuJSZSJ+Cq z4nAX3yg5#hZ@}ey81qGW#suFE{mds06!5i=ek9~mNP6p+m~Xr-$fi2JO@f^|5zRxw z;A;_yBN2%f(`it*+Vt2hhjla9z!5iKhr1kn0Kz%TrprkUatX56sBNDnSU5TB@2Pd%#CRz_Bmo~ZOI|!Q32NTjUgx*Ai9wOtk zVAq&MIQUh%Mx;ZD+Q1h<5{Xv(XPu68;jSX!akAuO;}|IzPy92#3$UJvl8cWBS{e*U zTwBm!6ImSjLku6AI7xyOJ$;J)6U-LC!Xt2^1g_+3iwRnvAke%nZ#MFdOTsTo*J)ZX z03!?#q$A-O84Bi!?b627>$Qk_a3P;Jg{exgOJZ_Lk2n$2P33$~6Yf0mccpoab)Ijb z8tpv&jw1%P>34z&q))%)8?GQvD5Zq~wRVKQ-zDAFcY-}`SXvMT2hmm#<>ytMMI^d^ zu#@t6S%_zW6zrrYgyvXb4I=%~6~I90MR5yw!rpR;MqDAUnMj4gTogXFnZxqv86ZVWN-(Kdtppj>I0YGr#Fz|IFh*Kt z#{@e^V`T&cI~Q#RjC|k0xQweuL65|CSN083kh=UdVL5Lw!5#|Z^xSQrX&>ZJ^XW)Kh=E3>T2nIluA zI~bdWh;p}cE8&aG)BoJbt;7xT$}B6Bo24nl;Lk4avvIB-vxK{yEQxsRl9_}XPlb?~ z&y-fX`0kVIA~`&l>l8l!`Nj{E3qUCy)xcGdP>udt5$#o=OnR4k(fD$foe5=Z(#>Ka) zT&EMRgv(IASmlyK&=M||KO15tvK@=vm~2X7Z;)!x>D3r+*d&H3j*9M@U(Htb*3}X< zq}q0~pR^jo3ZE3k=%X0+vif_XD`!^cx#tILv|6^e^1Tp>INKcgh9}Tg3&vLG^`9T` z!yFuvRm~nesnc66AN%O@xaz#)=LZ6LmsHQG29e2RvQZ1^omHKeJD=zwG1QpXb$+0u z6ycjIx}QQdc?t6aoq%~*H9JBAozb4ttMgLk2fCP=2_2fEsw0N$n=JwK3R z9%hk|Se=(PKfqZC^f)hOejwN8)bDDb2fCR;snpP}IxlX1fX{(hF|arYbk{cIR)ced zRdwER^BMUu^fxbKKEhf|PkHU;2jWc)X>^$?d(3CN6NJQM%JL(r8v99rNsZ6LwBH$& z^lIInY6!`Q*PHliC>9I;^D+fcv{1@p_smPCM)P7k?N6xAJA6LpVldB|%;>!C^I4G+ z`^DT#Y^<6Oh-C%s*^QK>xi*lp?Hs$S+}WKWHtdVCp|??R1Pc?$s<+T17XIzZiPloM z3v2)zcf$lGw})55%r<+!!_Jl4 zYWR~giCN$B@g5JdpO0yvfXkB21m=ti5i4QHmfLK ze?~aBDg7DYTvPjdrf^B??-|S`#;mxqWpTyCP=rxrq z$U5I);nb1dSY(cGx7+(&j5|hFXM<2-HxTbybXd2DBNi;O`COtK+T;+k@N_PAKjP}@ z^TAwXA<@r$lF2yIT)M*pltbl{D$PpIA%L|T0qS%|%VISa;4|N~w2mW?SWyLtN}m{r zl7$aKjGIJZg*gO3oLEUbX#n~>|)FR3ku=)UqTcIe)Y)>KXq zM2>(k2hakZYMFWEBIn9+lWNf>hDKgpnBB8!5Ls~%k$5GmenU`XHQ>AaVFe-0)`+S^ zssq`q3+Y1)3lDIeB_Gf0`F#P^aUn~t+YZ2ZK0A&>??n}im)Qk9TU7Q0-&S2xWHFdn zQuzD~3$7UfU_v(MG1i5-merq@>oIxHa^K6cj^Q4~!{IY$z?fBvZ(tzWcZ|FpCmMi~ z*A{@XYB1pVtk;0c@S}jp(!36;07Sw?neYDTG0M5tt!>uh(t~Yw*Kad*A$KH-?cXy( z?c(!zc^AAG0D)LpPP$CUZHWx-kme=UMTC$SMNiWlV(_zv!)TLGdjab^Rt~KB>5T%B1`mcJbsXlZqx6l~m+c6qlCRWknU0WhF(0 zc7BOnR9046W>=OJO`lR!P*GGkX-2QI%JPbWUWL8;_U&KLFTc;x1$_(q6%8mXC>k@M ze?kBJzWw|6D=g?crcdv}zWKe6>@}%)Oj&-}j9&SZCY2WSDlg+#QC3_su4h@fWsS0Y z)@iiGlVDlNTu&Bo&ZKdrWyKZaC)a8?M8O$CXgGJvP61l04c+zAu=cPp^vXX+>qlV~Yz+PfanYcwA9Q zQCVbWPrHxHXSL?tQ}xj#g9@MxB|n9H!K3^;M{1mLc2Rldq>5ohWfi3pL7L*Ncb~pT z9C=i~{sWHAA5&0RG`6DPX5N+eZV6uV?ee0jl|>~5MV18$!c_AH(@<^G9H@4KTi#0I z_rHN^t=)}Kt=EY1qO$T{Q!Dd(^(@FQ8&}$^tY{o$gY-i5;*!Fm={*a;aZ!2C;?f@d z#`fu7*thSPG5LLt>fO7~*k0p{ruXRG^T?h@XmPkk8N`|atl{+g6@H!hMc!iy*;@^E zZd2?C|3oz6q@roPipxsJ=l7V9KP|t!psaXGMXxFO1rzhf6_p2{l$TbP6%_UAspWc^ z#+gT>3d&|osVLR9jL$D0FOBi|tP6l4{3@{IpNug12|xVSfl*LeR%FJ-q+%LVTv1e} zU9SS(pQ(2%!#R`dwEVK-{E`a0bgW%eQaRb)%5&lEhFmtJWLo~D;=;Vjv15zMh815_ z#K@lqmfp~j&n#h$sT^xhDk>RQG2SjNw_(8iNp?l4U0PW&rLtmFIj=M|5_?K%ad{~s4j9oss~hid z*Q26%vbUZu1b+E-EM>C|}xzrOt1@eARmJ?X>vAsO~w0ad?@lHPaV_rF0h^p9yoG87wz zv@2#zDH@2b9GXjP%esm3!Ugwn6`2<*s^lJMTQ8C?V=MH0a&dXN%J9qC)?=?23Z6g1-&S^<;jn8S_$&Z}V z>e?#2UtT$7N@*FhKQ4fU@LaT@8s%_b_y+U+f@^s4mP;P_`TbrAQczk_UOK60luo3h zrsS6t7mONTS~^i=N&}H%T~F(afhprfxG6-r;zD#9W_xD#vaiYM`PxvQ{S3PB4Sk+>9Zxc)%K?7!PehhX z2&_|<$ion-R)udcSFe+shjh}CDQ$FR$%SS4Q$|&cFDt!pbWnFWQ8XRVeF}@1S5+V( zoBADTi#o<-Y+31K1YutBxFIqpR92MJTPZMb;2A^y+_NWTNI4_zF{PCyh2?#Kb7X=U zBqYP_>_XaTK{5l3EuJ*VzHmHvx0xfDKCG@h4~d=}(vkOQ?v~_DqFxc9b@g0``c_oG zBAyGLT(pRNHd9NvD%m4`B-W+H$ z8mPng$#nlm!JAxKSTw1;*Vrk&NC9_$ts7|Z)7)0#i(YHbmrsp+W!Slk29G-V+_R?) z8~M)*Cx3O$;v2JLFSu^U?Ek#**B>)$XyDm z-!J*9c=eu|!>-KuCdOTRe3wTOqFUNsSpQ}S*t_NL&Aauty|?6c-dp1Og9(TRRVb^6 zf>A}&D~d|WSw*P|XFae~&L92t$=cds5B*yEz+s(!T=`?o+r7sBe1F+# zCq8~(+tY6T^pc~$NOfhif~%py^IRttO{&PZC$rQ-f0@SAW0wPj`KPS3v;s=yr1-2# zu6ID`j$8|RM;0zYi(#QtUKB1@Lpd3{Eyw(-J895ue>4WeLtvH9uyg`a)TY6q`zzp6 z5i)oJ!UCx$>0bPL;~ZX0EAP?SM?~HK23_cm)JAk6+UByHg?H21S6w6Cg*h&%-CA3F z|H#_f5h-aGkGyzj@uEjY&0jlX?LEglJn_AI{9E3+vhx|=Ki}?$c~;UN#lSIdhaTNakG91OlO>GdL>B01O?G)cI(1MTLlKuO zos55PUv$AR!_^bk8VO7)L?}b@j zRM3ZB_YbbjSvr+e80lsv9Z`2=l@ijuQKPK8X~VhXt>Gssj{K8y@;ic`Q(n^NL|tJI zmFi9|DJU&Oug8=kvh#NfoASyr6_bj3^zGTNXYYEe&vP?PyPkn3#0K_#ttdBLmnK+8 z?(1uR`@ZDZfj^vi&n0IkpS56o^eqp3FsDPCH@5wy<>I(zIRkC_p;RqV1R_{8ZifJjE{?X;P-5L0GYVl3Kl=i6j%Ol6%fAfnk-Sn^Y z(Wfq$y3@b-g|5e6K5x_6=kIu|?6rvl{_f-t`diGyx9x?4zX;r&FktFOeb<$g-22#Z zgRXB|@>Kct_YFJt`N|^`x;w@9ymQ=JXKty``BT3Q}`;ZcbBj4SW#bPojHS?%8Y zuav|%*Rwwk`ee)P^FDLM^yzX||FgUgob*cTa~Hkm9yk1p8J|CDr=7L*hntg^7WI0e z)!f5+oPNq>+xtBG#5FrFSXK4s?;g9R-N#*z%Gx(^b4mZ4>h`faUl=i5mxl04i^o|G z9>u-cX1Vq=S6LSP61*=iVRk95n1OTcaXL}?d*%DV7DEjeCqvsB&CF~Yikh;1_84le{S5wak!Eb3{W)$`<@ zC;c~QR8RL1WsM257k0>LMWZI?Pbu$Jeqm)$cRQ@T&nkgqO8K?ocmB!49hQCvZzV?2 zg8a&IQPjremlaB1CgaU0HpVjSoWX8TSEz2$YW)0wY6E_XprRBEsCs~ndaSB?+B|D7 z?dcft?n2Ts`(D@>E=!7V{S=i^6_yTdxh#7wDk>`tHln9>Zk_fiRZSKr!HmE5wU4u>|MdtK{`uXe^LLE>-{8Z>3@1TZ5oZ7T>)?Ak zn8oTnh%s5i$-kDaeOjtfG^Kf&Rv4qyvD}p7IW!)^(kb;lfxj1L;hND$`v&z<$un-A z&9=|_AK?4=iJkxVLTf^r7gUZp&`L4b@3W=?djPAHe*dL5G%Bs&>`@h^qm0lp>rGin ztOvfxs^j>{`Z9EXyxuztUt*^D{J&!KtJkV#tlt&}>Z^v1({ICqzrOwaF*So9{B-Mz zr+yXlPQ<_8t-l^*<#JTV`s)@DV>QL$EgdmZr~I?|{Zakc-=H5t;m}&;1k!`}p=!^4 zRkX8M*wJ$M{co`5ywIt>s$GT~k<~u7cTvW`T4&?Q`mKJzuot+XXwsyRBapripkA@R zbOIT9Ty=*8SHX?^`*SJonS$|lerVH#SXidy&zMx2UucUfS0?jf*4OMwD5w}%=bq}0 zi670Sw8FNY1cn&$KjxaiwWzS~QAhPTnuY(AzDM<&*az#vs1jzC{7I53=Q>H-5~AFR zyfd_N47MM8B6}(7JQl`KeP%A!7s2b7!K;;S60YDiK6p(CUSoMII+@U4uKVBx z54cI>*NR_@rHNDX7K3>7)ZJ4r+wrRBjkoW4qr)kI2ma@Vw$<-Em^WqQ?XN%OdM^3# ztKJ^EVNS`+pFPgy1;dN%-C4T||30H_zi)eYJO7`v9{6z8_di{j`SQTmmbALXy}x2_ zuL)~Q+D#cf_KAM|M(4Nf^uXP1qgl$mEpS@ezLvI&O%xjiPD|U@(stqFdKWmoUpToE zyd}+l_nzv$!vf!T>ptt2-ecqD4ejKcH)}!Lq{ZVGZrOh3?j0Ees|zzvn7lIs6YP8P zUd#KnTilo_0g3=dLanx*tzY6D$6zEmYh_1aau+CoMlmug<)!6nM#1fV@PijW%1v1`agt z-kjXgHk<9(V>g-sJlgDViI8=_Y2VFnF@IS{^sKMsoJ#9MB5*M2A^ez>H+@KNK2V4D zpUC;&Fe$h0Rew^ZSz#e7e%sJwDf!)l&rX*c{)NoZGPzDytPt6)GU?3X!ZY$GnY~9+Gz{x((mWhtcC3^Z7Y-|`I4QKnh4h(a zh3p+D8FwZV*Vsv=7s?gzZ2UUAD4$2e^T(Zm3p)5dcYm&&Jf^5@h}p2CpwvGs{5^~x zB}Rm|f`+@sptV8wbX5eSB6S@E_vW!E&DZ1P<5j2Cla)XNTM^j|x}#b&y{ z5|&P?{`9j^Ly}59f9#v57kB<#O~ZYd)8I^=UD%`RKRdDCp!@ZzD|FudSwtwN}k6iFW z?X;W5?Q1=K&7H?&ymG^tnWuiX;rllxtk^wh&ldmsl7D_(`HS~<=R#N7)WBzn?_Rg; zsjK#9&B!hYEcj>V*mKiIo%iAOXAK&fJ961stIxBRpRk}^@`S~4L-!s3Oc;)g8~NAp zTBlSZ1q$s+`KY=wY;xp}tqL|4FieXjcAvfjawiuT+Q+LC^+=y8XAwO1-&2Xz;wKuZ z85`4ql~3E}^6SR$B;C?!mK3VL%f6z9nc=;pMkoXwzmcU7YHVs6TP*7)^ykU}5q-qx*M#bs27{T%Ec)w8%oP`qq{6YiV6pctrl&(XF+Mv z*si+M$y)nCL%!Wy~f8n__>c{>Y)-7vw@=MMacKnE| zXQ#KcJhSoFz*+6uF!l5iBS!2Tb=T4f9Y3r+;qt7XOCD}>%ESpL54k*U?!2}BmmXN) zzVD5GInSQI|32RluOz%M^*qWaCahR`J4U(0EjP}X(f;~gzdY2g#Q7#K_8;%;IVXDU z_CeMY#~gj>&iv`OW$YSo@6x49zkBek5szK-@7g;~Tu{~jgT%XzdTjCCCr0I+^zp*& zBTl*Wow04N|LgK!ht0dGAo}ahuS{+C%F;nseKPl=5hLQ;yzqc?bwYIOO%Ih`vTkE_ z;imI8RPUYfXi4$g?%91Svaf2xhPrRGBR4*fjvZxShvRGSYM;OFFW<#I+-AV*=k|Xs z>#GH&{kj$&KY!&7qt{)0qv!1Vk3Qj{+kTAdIif2FpLUXM4LH9`@#UmX?_89!+51T(<)u-aAZNn~U)l$*OHohss=b#W~%55m4vgvC61 z4J?-M{Qd#cu6TRI)hO?(K&ke!+do?09cp`pm?N zcEh0j&+ji;x_R(VwQu@QdG3};m%VlK`DeZDcl#Gl8T@UxyH*!JlJuts&#BFQas5N? z{#Px7^3mJR88KsgthIIDhy64Ep6&WaV#%O_Zwu~^Y4_=+Oa6BHo+Q_oSI4;iYR^UI|K++@N3<&(SFwBh>L0rfU$``< ze{zQ{^hMb&+&EVbLsI{JiFzB0oC*8FCF{AE647baqPg3Z|u45;~O)VcN}}hVc+z> z?Bc&Az5VYV52r4ld-+W-T^t{K+F0-4fg|(od3pTKE~|^D?z{J~O@Hq5&Emg&w%dKy z>T8DoWro#l=9HUCKI$}L^!tZp&W&}t{xl`W|K}n8-giISYv(Nw9C!LB*Uvcjhc2U^ z{ifTlUvG<=fA-Lv=^t(``ZC+~MW2n=C7*o8eea!i;lCGFKlHrw_ja2vD%{igkzw<* zQ!bdjqpiQw>AtHk`l8J{M_<$G$HRwRwLJN|_$Rvb+q3<;4<|qS{`xy_?mqaQXZOs> zDmb}s#+KEyep-KhLeDz}pOZYeN6yOJ`TZV!{rNpv`+E!;_Ui7JI(~lUKSvhVo_JBg zNB8tNF6rp*DewRM@uCYp+Hm8;W%m>>+En}NuFkz)sl71m-X$?9Lw4_(aq0fvvzJ`I zx7t^D#Y4k;Z%!*pnipMk$vxY@wRVjDuA=7YoDKdTXN-9w&b#v6=}(q$2{`skI&DW{`zGpcRg91x&7b2j`(Klt@lPRyXT{uKfLMF_}HmGJb&&BJCh#v zWlvo3Xi~zJZ#?qIxTnwAe&)ls{rTK;HvWBvvw!HQYfg-+EV$xdKb^K9{*~MhX3olA z`DtbOu)K}^OMbn5@I~pH|Mg(|FRP}Vu>7rWcD(s<$|Ykro%N@7e{28zX&;>#eetv_ zi-vaFQugj6=Pv%wHP8S3)CUUt&v~!-^DpCl-7=;)r}TQR_m-uuGave&se?+ZC#=Xi z`RA4UFRU5!WKH_!Z&E7mzxSk<-aCH5IcKanKK+V?7r$`AqpcR6m;35K@2#U!mtQw& zX_4!LH8J-bb92{@6IvHtpYYn7*VgVH(f^@8wkWG z>DTYgIU;V~S9hFr@7n4`yN|f=o%O>H|5M(Y0hjN;V{_~M|9PZu*ZY2{NgIFK&VFb1 ztKHr)dhD@la#Nh$)Bl#be#j@kMD^`;b>Q-iL(lrx&2u}y^Xf-yGjDzG@cU2Pak2Bv zNz=QxOFSud&)l=zX%|PoK4C@CB_li7gU;&v%}E(UHcv_W?1rCz$(wLu+31+f>mQz& zm2&37xQfixKYm?s?33wsn~XOCmtFJAqaVI@d|u({f9mqfPhE36e(7C%+`zp*p7C?< zdEd`|zthIASA6;O_3!o=v_9tQ6COS*by|mwkF+`W#G+33_kFVa%ky^i+f%sX<#T_! z^ZqFxU3&U?f4TCmBZ_0jKH9(RlG4PV)=isU5qE6y?%8kt?5%z^&}q%kCpS-BcvZ&- zFK+kVm}lm9ta^9zrtK4-3EY{n^z!0sTJLX_e(Q;~pR~R2qp6hxI~Cn@=^Hl3cbDK%4N?^izq1;Z zyr=slo65I-dGhf5<>eJVwnOZdIsEz`LpwF>wW7{XR)@{OXxhQ}t5a zv8i>Fhb^x%aIi+&;B27M)x3Fdi)ArU`)3b$p4|qbUL|8=XHFUy`>@B6;D&NHpI@wt z&JCWvylz6@sGxxT7uQZu`#p7W@X6uw`g_LxVftsq9lO@=nf|(Sw9+QB=kl&g9n(y`o^3up+&3a^$ctwSudV;H zVb$=UNv+V@$IUPPVXJBL4r5CX$D4M2ef+!38zJp<+{$mJ9d~<>64SKb^hE_%(#+K;d%WFr-XWK>9D@{kXFefEIpq3PFp#+D6xI< zFvH}(p5%2){&i`?bLz+#^U#9&)|1^grF2-@q4~+A^a%e>L%K8_=CNYc($gdV@{YRq zXze+RRa3Ki_Hmmx&$`-_3QacbZrIAEZ9Vm0Pv=~|cgO42u8C1|TCEGK_UQS7#Q4ii z8tSic`QKlfygzpjn! zua7Xd+i^2~%%*Rz9j;*0Y^-VFo}OC{@KdVY&AnXmqRQUC`Y1V(xgB=ShJ)9WCSKKk9 zW{Z+m!%sWhm^W;olX<09Kl*G*F`4Q&%x-$sx(zal!a8*Q{i~!&E+&7`J)&0`|C>Wimwh{?$<0cIokYd zuJeq;0+3utl#kOS|q{;^5uD?9>;#dswv}ebZUrHeu_NY8SrQ zG_FJzFt4Q3k`?>;kxO$LKX^XyadYL-{@GsR#>9lWj8AcHQS&dan>Ikc>q2nO^9zMdpYUjh&N{0 zc?W*FQqePbxUcgdHD2~7CqM= z3*G<1;$!>&uf|@SCG$GEC#m)#xld7k&*9(j-){5m9JFibwD_q9zHfAVTBzCM?`4Cd zM%8K`>tU%Fs=vQiUKnm2H+azN8UA&oV=8{78h@hGFqaw4bB1_1X5873QZoC_TJM7k ztfCSZud%_DRrt}4D%3?Gah^xAIZTLMkUx*hhS&}^<&v|rpsP;&O+PK;Ye4xaIia_p zz;09@P0fH_IyfHW7YtFsw=>tJwT5#>DkFgk;CLV{Y{j{A07bH;QSzh z2i_=&=Ru@WkPyHfn7_!yO8E`5w~Q-18sX`iXPYnh1~T9&vln!f(Yrv8Q;eV1&^+A7 zzW0yc+I>E2-{;Vp`;bY80U>YOb0|*-pm6m2*aBiNdJZz2FDv(||6^YAheX86ZySZT zXM0Ap2ih7=q+8*-B^>=ewgB(5qy@>HCQUK!K!k@W@--xz&A$NJ!w$3gg+^rRDM?8A;7#xxR{L~D)L zqs=nKuMCpn{nQsymI2xhb9MF z+*&$?bqeYj5!@}vDKH|^=~J7|-wDFLt?Y^N-3XBt_Sk(lZUW`L+=LyiqX*J$K| zT@;#|&`i)s2_Gmt34&lrIq3<)juK?;%DQiR?pKtJ#0&ZXbAZ8c^jWb@f9)Ho@V9pS z+m3|hpV?tiAg>*sg}*DV@+<&ykGzFrtj8uU)uio>K?yOy;1#6(#s8&wH~Wl{dhBE zZJ%eG?hXomm9nTsmuY8a*Eu`A&54t@R{C$BXS;9A&x>w;U(v^T{m_EZmmXMHeY|AQ zqLo6%PR)s4)}xC{v*G#sMmDvd*22v@e%z5jN1rOqG*w?WSUY9g!$E7pLi6m7^c*($ z)s%Clmn@fdTe9NBz(GT%G}!mE&E-eCLsKqHP`Ru)n|*1N_PbMdJCDyu>bk_~^r+W6 z?hR>Z@$sTgzpN56mU^hgWA(Rnz5AAIJ+*pYgF#EI+iicT^j}op+9SzrP=^O8wN8iX zw@>G;{5kU2-M%*@&5L)MKW%bh*d%`b)re;KOY*Pjn=Je8;i2gz;S)NZsFRa2Ht$LJ zy%BA9-G83?dXb&Y#}Dv}z7#U{v9IQ1U;W1mqy4f*$k@lenvZ?;A1__EXdN>4g8$f8 z^Rch~bM$&2n!)^&lCq)m+wx!W=pDpvn?_bzr$GLzXaj2Cwh8(lVfFHVLH;YD%iHo_ z!phDly~H}%&V@!7|0=ZCj3b>#^N69P|?e^8?nv79kN%5y7pU+68rO9Te&m5fBpT zgxkW8zU^eV*o>64Six`_&3KHu14dyUF}{ZIM*{P-NTn>$+BQv}l||4!&xR$ z8o|FHwS8m{BCmg+pUziTcb8O*p3VK(?kpeta31exZZ7>jFHo{ApgK25-%!$Rdkty@ zd-oy$wSvNZxQP4I3jK#R2?;#vreP-7nBrZ!aMf-2DQJ#%>aC&Q-RfsOc6HNAcM7Hy z7pC6&A?54}`_m&`zb)RQUNtl_!*R3)|KpIB#b~(SBHRdNzo7@luG`$N(jmpu`D;`a zY8`mTW1~(Ro38vpe?HA4TX|6JIQCs_wiClEY|$J!@ymYS!xLX^GpsC{doTC(jf>rC zo>!L5RWI(7^S2nh;}Y9G`w zATlU0DzcSNgkX*}BB(=DP-x4bh@eQYvN7>YVE4m`RUQ|gs%K=Ro)jYnFrpL2-;6RU zIKY$Lj*4ta+7_*u>1A*$6N&5uZfIFFE!u}Ozhtxznj8J0W&o3~nK@*pdP5T1R@w$M zMQH=V!$X2w21Evjg=)L^&^p$~y|Z{m6W?n;~0LZPt)%2c_%^cuDqy^6ZCHBpX7X8oq4)=;tSN zY}$c?%WkpO`l)R*9+tmToR~#P#>i!g4NM8MLT|PRS%*5I3F@b&MvOm!VejPbLx!t7 zj5_y%)_ImoPIj^|%5nyzOA9@k?A3u2Y5GQ}U5Iqucj#L0(4?>f<&j&b@s-DZEGyS zE{7TLp79%N5Wv9EA6m&cMpM@zT;&_@o3Q(avG7E{(F{1;H_)Zp=pW$)dK}%vy)g!c zQX@)?$bd7bjTgr71~EN@(Vv(P6^qyKsr8hiPe_PkW_Q{43;SvVV2Ki&oH4M-4;}bk z*c8GZ5K~!c7u2$4K)aY$F&)FALIY!3;{Qm}LMN?}GW{w0MX799y3eu6AFVXY6k*;7 zP6)i3KQ;5@yXEa zA~We8#;q;f$iW?#xWq(384=5Y=SYuuH9ELza3URxYwC*r)qIdSicIM87!8^l(%Bk$ zDAJ`alYTM=!q8d1p3E}-ck4-u^vc)MzgjQlts@z2z0N}V>8J}@IFKP1oPm&;r_C^G zUTPC_ND=cbvq~B1_V8DwucoXn#W;u;D2Eg2Hn_GeM~A;dJK>|JVM_F`dxv&=hn@N#C?(8X{6(_v*{zG z&pR=>KbeY%&lAi(!Ec*>%oO^+`c5fTqvhUIq(^0F3-_;o>qfg0wDK=Ty2PWUy=*O9 zLT?zOXDWAs-3%Czf=aLx?cj6KnHr%@h+*8}A7g^>6YE@j7K8bw7EeT454uV@`b*GM zPVsp?%!jG{iS(~{PHkGGZ-J(1lSuypn%aj*{|K66w0;8%>?@>Rc5Mgz_g zQON{0e-!ZPzm?&N07^OF2|e^ApOg&^+A0-Ehwnlt8m3%?ld;ey)XZSG?;v5o=HC!F zM^_QY%HZJ>5O-Zo;OirrsqM0$-BF3yMtj94E{gYFj^@r4l+u{xsrr;O-t#^{YkbihoQp3gR- z#)8pfj3~pWOwaQL4A}fTm0p^!VRvO#M&Cx%pwS4i8PNgni0F+*^vC?4=u<{atiNE6jz|g88 z!(tFq0de8a-i77R^VGSuKpqWe{Y7&^3K zsB6v8zYW6}lY;iFWB{^<;+b6T``y8B*U&`Fr#=!=h~ryY679*~ReaZiWSW83ycU$Q@uv!w|(&aF}86QHGlD z8D2cbu;@6$ekU3FpJr%vmSOQZhTG0FEWF4t`6q^fR~Xt~WyoD)cdJHy1g3_ILs=>L$R?lD7$Ck(4TW2kw~(Bvp&?_A#9<{16TVFbX@rfE|5P&j&6#?cak(+zfMOEa8*zpp zeJNf!mHE@-M!ZJxxC6$xr>oco&wm6%MB$_jh zC$^IyOK)UN#W`~ehiZhgay)<-fCZzYa-c}}z%|jIqa1i=`d<1>;(0rJcnQMGbbbpd zHE^$xJ|-00aP$}W$F+kc7=Un1GzMwmC$>8SsFpYnCL@h@9`&TN0^z1s#DojiX9@?S zWuyn{)6wg|q+mLXJ%VY|QJ(~}&Trkw(r3SU9uO~_>xGDn_wV~CjFlr?;Gp8^1X~MvW%X}k>6_k-A$R}w~Rx3D5BbouJP1AifoVgL{z9}5KBjGt+ z)4QYR3k@1>1>DzgN8rxG-GX}p_ZrR|ixe9;2RLUqKe!;c_Hdox;^30t?wxsB{dAS7 z+zij(?1FavVb>m#0Lu&ZbEc3NsW3mr)W+7jM$@4aDs}d5Zk>NVv+AHbF0!VF?^mzU zzDkWWnVh@#qP>+gE3VpjlR=ifba|E2^{;C}8l;@F{9qbWMj#E0UmF%#NKPLe$c)PEP_~^?& z@+DRJNvtmnW1PFYJ5Se1NlA1qrF*y*o}-wXM6N4w>ONfky*xMT zRvy2j$s*~je#iOJt=A=AnYW>O{bnpuSY`RXnh30c3g>ldp(+wZC%(bDvY;g5SpQS| zulUrs6uleUu47$Snax!F2)0Fnb&1ejy`L{8B>#6=d*6Rn9PBSa0}tvYCt=tjmu0BdTB0fBooo}Mp<3pM4F~}MAMJDAL^!u z!G#3}LP_+Eu|Cm%8lKVA;@`-u_+nlmuUNx!E8(o+!s7d27zi#q1(CMBdyitLUFHF4 zm?1|$X9hw!s4T2 zyd#Q>n6kH59-JhrYZ|5b$SavPa z=!!I(!_hElwEd_R^DrLIY1j>mD7(cK;T{dUz4X`&LjRlQhpjhKbs;T97;<}OYY&5a zdWIjk`0S)^cAPjCKg`0WIBR}$rZ^bfFpNpll?Z)8M{`#_UiI7Ca^G9xW5BfV`zxd0!?iWsO|b|~SDv{pFxGXe(?8*?N2 z3lifKS2#G06dF+pbXaQHMs6bM0sx|#AD z^4xReGy!RWw<|C#030To!msZH4OAoNB2W2zvM8zh{&CFQX!s*$#|$7%rj6e&eeFCK^x{3T&R=%(&3J4zNh6&44g;3i;(6zSbx`5J!+0p=>dAC;Y$*KE(x@|# z>eIO7)W+hv_dCyE0vO#aUJyH^C$<33X-Or9ee*5Eaz%JXEkJx`Y~$Qs+*jg0<%_XD z!ukq5qi|$*x;~dq`KI&P(P4^3h0zQ;RM{9rI8|HpXgsPp8%B$Xn<6}8fkg@$nlL+n z#Dp`TKhKAxb9QxhbM+M#&RB&miFzC+m6%GWJY>*umpDa{Rh01-CNv+InhW}{&6={!>V`PF zAU%d;A9^D%ToKBMB6BOz4NzPCyWp7m3(+8W+<-U1%fhcicc7U=+oG=fu8^$4j8R!9FeVl+YxSlW-(B z#EFDE^AM&1;_U?I2q(-Mf!pE47KPmsZYLaeOHiAP z(Os4(?mb5w#M}|zi0~#DZ>)@oZ9R?UjaEz$2RO14rCKiN&0y~Z;|1A5$3}zj3Sep+ z9V?kzr!JPY2R3fuyTGS{=_o$i+}?V2U>5jgFoK>(LFv5ejq!(yY9qKQRhX~N#DsADz{Ug#e??u`2L@MXj0d+AS(Ke!z8XN0`$ zt-n=0NvYXxFcXiD6Uz7cUU@D!O}m#MSM`2XC&Dr_M$%?lSI%{YMwlz+p!~%4`=ICK z^qefgH|C8-|NZ~Lf8SK*UG$4e{+qZV&urvG;I+38=n@01x|qP=*1?ex2qT97!Wdqp z_kpH&F4BMDn))Y^rcc)k^asm=f;$@z9*hAi+!1v_#j8&Ssk2}<9|MaRPafj<+d3&9 z4_Nt#hl*W3nzDEX7~>J+rAZsbE7GR#&}Q$@{XjdE^WPtI=W;Z$zp1=pe0tF3>!Tg$ zTIHTwfG(fDxskpaRIRD>M73Y{y*yR|@7#BX<{Y*u>HFp7muCe!?DEdtuQukEK6`mt zpv`_v33xEM({8I*#RA>r)zHGVHBU}x^y;oa51$jIbBykArq!z_0=?zv^0kxJ^qU{| z>Xkr$Kkk0*+*Ed~Dr}S7rj;`S{izc@>%r+xW^_puIc2Z0|Kq zv;X^7)df0iRvVv;-)9v5`pQ9|5Bm+P^ZkhI^W5u30{vv>o|!+K7`e#ywTD38T+_g2 zmfGWi=j$c{J#mv~gO|O0Hif?q6zImy51qbx_DDg>>kxt7{==DS^#ZRP9Pv6*pl2Md zv*Y-}l&OneM+qAnRE(Bs+;N|ndNkE&BrAkY!6`#fSxcOGqCGG3sg>TaJrenjYuZY9$M zde@NpeI0UNT+J?-C(x6=x%th)U00V+Dk&1^X@j#zpNLuYd{xOBfj%*J<)o>71GgP0 z*(}g0l`Qu>f2bOJwPdG2Z`JAaQFS)_@S@~^K(84(@Z_QE&1YMe9usIqP8TC4$v{<0;RI{3rsJgjxNax2y`QT)$3hszCQI;>8nyMpkxa=M!EmI-0o9Gb{{!~ zA1}~Nd(1d;Fv9c58h)BUf3;}lU(uTzOh3%idXM97#4MV>n&-m&_bi}EPE4NCD1-eP# zilU2y=Ds{Bxhv3`z@il)A^msUkvtLTYV-WJKA8CBIED0;KsPGryj=63=1HwohW-Zv zX}Za`Zx(6hHkMNV$8qz`<}H3XSMytxl*9w@{7K{Zi(1DueWld}dc=tpU-WDjXc#AT z5NM|>Yoz|g_Is8|8wvEJ(!icB^LkC(EAt$ZI7ykzR#s>TN}uR=4G8 zTHThXX%}mMMuqg=s3;JMUoR<;jhr<}B9_6wwhPh%4Bho(`X@I~vO$6SOVzv%8 z)}oO-=ikDTGt2;YzZb>N`8XIetDaJ^@E7wZLhI8M*CqvW4|Y z9NVteVy_!_>A(+e*&@c>qxVBUzwQZGhG4xA%eWcu9@3?aB^6QQAzknI7OcacGyuyi$L^F@LgL%!Ts4urFk4@DlWoxyW$-R1K#~PWsYAupU!U>RSb|1Ac z32_qtXCcrAxD`mP?d^aR!Wb0K#4s0(VQ(43h+z?JS?yRaVVaHzR<=4kgzLj_w6@XG zZy@+3+JWju>cQHF}pScbV^5rvM*bpY21aoQqmG92aE)zww!>gMY1>f!3? z>gDR~>f`FGbJgi|ZaR0Jht5;yrSsPL=zQH=-E?klZtiX#Zk}#lZr*M_ZoclW?mBlj zYDDLyK3Hq)%T9_*h0q7iu^GRV)!k6M^OMmJW+^D>NSp4?&dxpJ_0S`u zopY*pN4lub7#>s)#Oa8QJ-Cc<_Rj#R|2Pk%Z~r$S^-ltCnY}V`yD3iC9AO<5SZ9r4 z=8+y@JB+k*w8CLkSx50-L9A{D#bb*RE(?Ay{JKQmZs{{Yk=4tII(rR2&``{Ej zFXd$txl$=nsZ1nlxv9iLrs1t5733AItoce38%b63>T)|(P2Pd;BTJF2mu{5ol$?;9 zlAJX=XY!-uyyO!9i~O48H`y)8eeFZpbID)Qm%LfM#?3;*CM{U7aNxM9GnQ=HK60Z% zY2wwiS*Jfvo|0Kt@$&A}dFbkO>vwtnQeo7Xi3?=r7FHGN>pc8|S_QWa4NKHVZ~fY~ zx>BV!wYKr{^;@~>!bKDB!pSR@>c-8Ik|#~E%81!>|3SC-C$CB)BInF?cB$tWHGk3K zr9~@NuHC-#fWp+QlAT}kpbpDd9Q$FBvTC(jb(%H*?e2rpgNJ0=+I8wWy8HOGX&VwA z5!I(-}d?4H`Q)Kaz8f{c+!}6ZBf=ty4^NM~7wO1pVjbU4p#0axCChAr} zwrx}q=D|v};aMxSowRkZx70$VR`@E_`Ce6(jiuE)@s@7p!{;XDm>Ld@4M{LBaMe_v zw0clHc;(EqObIg-n${ zevB+dZZ0)ZYNo`tHpy;cc&5%$^{v$E3u`lLv(6?}4Wsf~OGmV@tW*$QQ=u@NYbbAK z&-ZnbR+CBc{cBqJ$@%<~4Tk+{__Kb9Of8cPw+aktYS`aI!ONoLwjPpvi$=0UvrcNm zIv+dpMlutn#6n@1GyHAK4M(a^4)t59zJpDr#7>8{cz~`iQv$%&Ru)PjF~uT^pS$yj5kJ?$OWw zEGadl_51m%Ma}e#>UJ@MhpbyabjQxhHZ^LtY8@Iz?SIJ7EeFq@yZrFc)6A?%**P=n zI=ie`|Mi~3C(d7;!}-sg9fa6L&LgtSE?*E^<3^hNYC(Y+PpWM~{xooORkHHE3vum+D@bnT^v zB2^QqrL>9CN7Yb1tkkNC%Eih_YHw+8X&5gXHnXZ}rP0&mF7n1`YE?`OyK7~e8Gfvm zuaO(Bnm%42^)|_mwl;jDGJG#rS7|I&D|}R~RA!27(;CulvaTkE;Z>@uE1QJK3}Y2v z7Ma<|bc<#Am+C6b9epI!OZSmKv?Sg+r!byAmw~usgjVB3P!oGc3|hKVoyVx z3*%PLM&9t#KA2eFjuz{<# zQO5FL8c9~hI@Nd?>&%sCy%vh-d|e8`MOkD?CV-RuFW4c7KiwI z#DzcXv$#W8hJDBRI~RB4PQ*p%Pc4q%F4;$Nzg&x2cRjB2-D3N$CvPq8s^#u?eaH{( z#`VSau@fd<68!OPOkFE!cs-i6M8eBz^EGU{oBElU@Kt2I35H;KLunILgDSk%8v$f0 zG+(7!V#oVYaG45T)RJnvMBUc~he0@W5M3Dq|#vZ^W(Ql~T2&2HzNA z%@EQN(IZx=93PTWVk*Q+Swf-`qN_`Mkv}mNJH8Ds;}JQp;ydsXrI{+8mzbC;gC(|z zkLSHDc%&#d{B$`dMJZ*D;Cd}X{G23Q+R9WX8_0WE z)<-$jQXS${@=c` ziv01CJII>?Xe)_Q(Vae2A9$*l;-$(t6JGKZZyqgzFGPAWUaNLg2yaRukvgNoIVCED z?^qdGK`dV=kO1l&t&Ni6IlNsDxty+eg(ZicjpLikI^aI%EV1EG2Qs-zB~jLpO_Oro zGB*`(!B>{^mWb6#h*6%%FG856GSq-FP07U?9%75~I;P{il*={gn+c(<1c<6iRH;}{ z<-i~!FY8Df?`C+E027J&M5p*Xshl?B6Y9VWJH!#3(rK*@xhls*S2s8B1g|)q7E4wS zCs!{govywj7fg(tECq=zIJ=vb7X+ev&c1G3BTFWZ7n1~291zsWk~FkT%Mt7@IrU1- Rh{qzZp^6OqIKgDbe*q(gzIFfr diff --git a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts b/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts deleted file mode 100644 index 87052445..00000000 --- a/packages/crypto/crypto-rs/wasm-pkg-bundler/iroha_crypto_bg.wasm.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -export const memory: WebAssembly.Memory; -export function algorithm_default(): number; -export function __wbg_hash_free(a: number): void; -export function hash_zeroed(): number; -export function hash_new(a: number, b: number): void; -export function hash_bytes(a: number, b: number): void; -export function hash_bytes_hex(a: number, b: number): void; -export function __wbg_publickey_free(a: number): void; -export function publickey_from_multihash_hex(a: number, b: number, c: number): void; -export function publickey_from_bytes(a: number, b: number, c: number): void; -export function publickey_from_private_key(a: number): number; -export function publickey_to_multihash_hex(a: number, b: number): void; -export function publickey_algorithm(a: number): number; -export function publickey_payload(a: number, b: number): void; -export function publickey_payload_hex(a: number, b: number): void; -export function __wbg_privatekey_free(a: number): void; -export function privatekey_from_multihash_hex(a: number, b: number, c: number): void; -export function privatekey_from_bytes(a: number, b: number, c: number): void; -export function privatekey_algorithm(a: number): number; -export function privatekey_payload(a: number, b: number): void; -export function privatekey_payload_hex(a: number, b: number): void; -export function privatekey_to_multihash_hex(a: number, b: number): void; -export function __wbg_keypair_free(a: number): void; -export function keypair_random(a: number, b: number): void; -export function keypair_from_parts(a: number, b: number, c: number): void; -export function keypair_derive_from_seed(a: number, b: number, c: number): void; -export function keypair_derive_from_private_key(a: number, b: number): void; -export function keypair_algorithm(a: number): number; -export function keypair_public_key(a: number): number; -export function keypair_private_key(a: number): number; -export function __wbg_signature_free(a: number): void; -export function signature_from_bytes(a: number, b: number): void; -export function signature_new(a: number, b: number, c: number): void; -export function signature_verify(a: number, b: number, c: number, d: number): void; -export function signature_payload(a: number, b: number): void; -export function signature_payload_hex(a: number, b: number): void; -export function main_js(): void; -export function __wbindgen_malloc(a: number, b: number): number; -export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; -export function __wbindgen_add_to_stack_pointer(a: number): number; -export function __wbindgen_free(a: number, b: number, c: number): void; -export function __wbindgen_exn_store(a: number): void; -export function __wbindgen_start(): void; diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts deleted file mode 100644 index 664491b4..00000000 --- a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.d.ts +++ /dev/null @@ -1,222 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** -* @returns {Algorithm} -*/ -export function algorithm_default(): Algorithm; -/** -*/ -export function main_js(): void; - -export type Algorithm = - | 'ed25519' - | 'secp256k1' - | 'bls_normal' - | 'bls_small' - - - -export type VerifyResult = - | { t: 'ok' } - | { t: 'err', error: string } - - - -export type Bytes = - | { t: 'array', c: Uint8Array } - | { t: 'hex', c: string } - - -/** -*/ -export class Hash { - free(): void; -/** -* Construct zeroed hash -* @returns {Hash} -*/ - static zeroed(): Hash; -/** -* Hash the given bytes. -* -* # Errors -* If failed to parse bytes input -* @param {Binary} payload -*/ - constructor(payload: Binary); -/** -* @returns {Uint8Array} -*/ - bytes(): Uint8Array; -/** -* @returns {string} -*/ - bytes_hex(): string; -} -/** -* Pair of Public and Private keys. -*/ -export class KeyPair { - free(): void; -/** -* Generate a random key pair -* -* # Errors -* If passed algorithm is not valid. -* @param {Algorithm | undefined} [algorithm] -* @returns {KeyPair} -*/ - static random(algorithm?: Algorithm): KeyPair; -/** -* Construct a key pair from its components -* -* # Errors -* If public and private keys don’t match, i.e. if they don’t make a pair -* @param {PublicKey} public_key -* @param {PrivateKey} private_key -* @returns {KeyPair} -*/ - static from_parts(public_key: PublicKey, private_key: PrivateKey): KeyPair; -/** -* @param {Binary} seed -* @param {Algorithm | undefined} [algorithm] -* @returns {KeyPair} -*/ - static derive_from_seed(seed: Binary, algorithm?: Algorithm): KeyPair; -/** -* @param {PrivateKey} key -* @returns {KeyPair} -*/ - static derive_from_private_key(key: PrivateKey): KeyPair; -/** -* @returns {PublicKey} -*/ - public_key(): PublicKey; -/** -* @returns {PrivateKey} -*/ - private_key(): PrivateKey; -/** -*/ - readonly algorithm: Algorithm; -} -/** -* Private Key used in signatures. -*/ -export class PrivateKey { - free(): void; -/** -* # Errors -* Fails if multihash parsing fails -* @param {string} multihash -* @returns {PrivateKey} -*/ - static from_multihash_hex(multihash: string): PrivateKey; -/** -* # Errors -* Fails if parsing of digest function or payload byte input fails -* @param {Algorithm} algorithm -* @param {Binary} payload -* @returns {PrivateKey} -*/ - static from_bytes(algorithm: Algorithm, payload: Binary): PrivateKey; -/** -* @returns {Uint8Array} -*/ - payload(): Uint8Array; -/** -* @returns {string} -*/ - payload_hex(): string; -/** -* @returns {string} -*/ - to_multihash_hex(): string; -/** -*/ - readonly algorithm: Algorithm; -} -/** -* Public Key used in signatures. -*/ -export class PublicKey { - free(): void; -/** -* # Errors -* Fails if multihash parsing fails -* @param {string} multihash -* @returns {PublicKey} -*/ - static from_multihash_hex(multihash: string): PublicKey; -/** -* # Errors -* Fails if parsing of algorithm or payload byte input fails -* @param {Algorithm} algorithm -* @param {Binary} payload -* @returns {PublicKey} -*/ - static from_bytes(algorithm: Algorithm, payload: Binary): PublicKey; -/** -* @param {PrivateKey} key -* @returns {PublicKey} -*/ - static from_private_key(key: PrivateKey): PublicKey; -/** -* @returns {string} -*/ - to_multihash_hex(): string; -/** -* @returns {Uint8Array} -*/ - payload(): Uint8Array; -/** -* @returns {string} -*/ - payload_hex(): string; -/** -*/ - readonly algorithm: Algorithm; -} -/** -* Represents the signature of the data -*/ -export class Signature { - free(): void; -/** -* Construct the signature from raw components received from elsewhere -* -* # Errors -* - Invalid bytes input -* @param {Binary} payload -* @returns {Signature} -*/ - static from_bytes(payload: Binary): Signature; -/** -* Creates new signature by signing the payload via the key pair's private key. -* -* # Errors -* If parsing bytes input fails -* @param {PrivateKey} private_key -* @param {Binary} payload -*/ - constructor(private_key: PrivateKey, payload: Binary); -/** -* Verify that the signature is signed by the given public key -* -* # Errors -* - If parsing of bytes input fails -* - If failed to construct verify error -* @param {PublicKey} public_key -* @param {Binary} payload -* @returns {VerifyResult} -*/ - verify(public_key: PublicKey, payload: Binary): VerifyResult; -/** -* @returns {Uint8Array} -*/ - payload(): Uint8Array; -/** -* @returns {string} -*/ - payload_hex(): string; -} diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js deleted file mode 100644 index 77634ccc..00000000 --- a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto.js +++ /dev/null @@ -1,1264 +0,0 @@ -let imports = {}; -imports['__wbindgen_placeholder__'] = module.exports; -let wasm; -const { TextDecoder, TextEncoder } = require(`util`); - -let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); - -cachedTextDecoder.decode(); - -let cachedUint8Memory0 = null; - -function getUint8Memory0() { - if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; -} - -function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} - -const heap = new Array(128).fill(undefined); - -heap.push(undefined, null, true, false); - -let heap_next = heap.length; - -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; -} - -function getObject(idx) { return heap[idx]; } - -function dropObject(idx) { - if (idx < 132) return; - heap[idx] = heap_next; - heap_next = idx; -} - -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} - -let WASM_VECTOR_LEN = 0; - -let cachedTextEncoder = new TextEncoder('utf-8'); - -const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); -} - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; -}); - -function passStringToWasm0(arg, malloc, realloc) { - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length, 1) >>> 0; - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len, 1) >>> 0; - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - ptr = realloc(ptr, len, offset, 1) >>> 0; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - -let cachedFloat64Memory0 = null; - -function getFloat64Memory0() { - if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { - cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); - } - return cachedFloat64Memory0; -} - -let cachedBigInt64Memory0 = null; - -function getBigInt64Memory0() { - if (cachedBigInt64Memory0 === null || cachedBigInt64Memory0.byteLength === 0) { - cachedBigInt64Memory0 = new BigInt64Array(wasm.memory.buffer); - } - return cachedBigInt64Memory0; -} - -function debugString(val) { - // primitive types - const type = typeof val; - if (type == 'number' || type == 'boolean' || val == null) { - return `${val}`; - } - if (type == 'string') { - return `"${val}"`; - } - if (type == 'symbol') { - const description = val.description; - if (description == null) { - return 'Symbol'; - } else { - return `Symbol(${description})`; - } - } - if (type == 'function') { - const name = val.name; - if (typeof name == 'string' && name.length > 0) { - return `Function(${name})`; - } else { - return 'Function'; - } - } - // objects - if (Array.isArray(val)) { - const length = val.length; - let debug = '['; - if (length > 0) { - debug += debugString(val[0]); - } - for(let i = 1; i < length; i++) { - debug += ', ' + debugString(val[i]); - } - debug += ']'; - return debug; - } - // Test for built-in - const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); - let className; - if (builtInMatches.length > 1) { - className = builtInMatches[1]; - } else { - // Failed to match the standard '[object ClassName]' - return toString.call(val); - } - if (className == 'Object') { - // we're a user defined class or Object - // JSON.stringify avoids problems with cycles, and is generally much - // easier than looping through ownProperties of `val`. - try { - return 'Object(' + JSON.stringify(val) + ')'; - } catch (_) { - return 'Object'; - } - } - // errors - if (val instanceof Error) { - return `${val.name}: ${val.message}\n${val.stack}`; - } - // TODO we could test for more things here, like `Set`s and `Map`s. - return className; -} -/** -* @returns {Algorithm} -*/ -module.exports.algorithm_default = function() { - const ret = wasm.algorithm_default(); - return takeObject(ret); -}; - -function getArrayU8FromWasm0(ptr, len) { - ptr = ptr >>> 0; - return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); -} - -function _assertClass(instance, klass) { - if (!(instance instanceof klass)) { - throw new Error(`expected instance of ${klass.name}`); - } - return instance.ptr; -} -/** -*/ -module.exports.main_js = function() { - wasm.main_js(); -}; - -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - wasm.__wbindgen_exn_store(addHeapObject(e)); - } -} - -const HashFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_hash_free(ptr >>> 0)); -/** -*/ -class Hash { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Hash.prototype); - obj.__wbg_ptr = ptr; - HashFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - HashFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_hash_free(ptr); - } - /** - * Construct zeroed hash - * @returns {Hash} - */ - static zeroed() { - const ret = wasm.hash_zeroed(); - return Hash.__wrap(ret); - } - /** - * Hash the given bytes. - * - * # Errors - * If failed to parse bytes input - * @param {Binary} payload - */ - constructor(payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_new(retptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - this.__wbg_ptr = r0 >>> 0; - return this; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Uint8Array} - */ - bytes() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_bytes(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - bytes_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_bytes_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} -module.exports.Hash = Hash; - -const KeyPairFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_keypair_free(ptr >>> 0)); -/** -* Pair of Public and Private keys. -*/ -class KeyPair { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(KeyPair.prototype); - obj.__wbg_ptr = ptr; - KeyPairFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - KeyPairFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_keypair_free(ptr); - } - /** - * Generate a random key pair - * - * # Errors - * If passed algorithm is not valid. - * @param {Algorithm | undefined} [algorithm] - * @returns {KeyPair} - */ - static random(algorithm) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_random(retptr, isLikeNone(algorithm) ? 0 : addHeapObject(algorithm)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Construct a key pair from its components - * - * # Errors - * If public and private keys don’t match, i.e. if they don’t make a pair - * @param {PublicKey} public_key - * @param {PrivateKey} private_key - * @returns {KeyPair} - */ - static from_parts(public_key, private_key) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - _assertClass(private_key, PrivateKey); - wasm.keypair_from_parts(retptr, public_key.__wbg_ptr, private_key.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {Binary} seed - * @param {Algorithm | undefined} [algorithm] - * @returns {KeyPair} - */ - static derive_from_seed(seed, algorithm) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_derive_from_seed(retptr, addHeapObject(seed), isLikeNone(algorithm) ? 0 : addHeapObject(algorithm)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {PrivateKey} key - * @returns {KeyPair} - */ - static derive_from_private_key(key) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(key, PrivateKey); - wasm.keypair_derive_from_private_key(retptr, key.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.keypair_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {PublicKey} - */ - public_key() { - const ret = wasm.keypair_public_key(this.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** - * @returns {PrivateKey} - */ - private_key() { - const ret = wasm.keypair_private_key(this.__wbg_ptr); - return PrivateKey.__wrap(ret); - } -} -module.exports.KeyPair = KeyPair; - -const PrivateKeyFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_privatekey_free(ptr >>> 0)); -/** -* Private Key used in signatures. -*/ -class PrivateKey { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(PrivateKey.prototype); - obj.__wbg_ptr = ptr; - PrivateKeyFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - PrivateKeyFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_privatekey_free(ptr); - } - /** - * # Errors - * Fails if multihash parsing fails - * @param {string} multihash - * @returns {PrivateKey} - */ - static from_multihash_hex(multihash) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.privatekey_from_multihash_hex(retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PrivateKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * # Errors - * Fails if parsing of digest function or payload byte input fails - * @param {Algorithm} algorithm - * @param {Binary} payload - * @returns {PrivateKey} - */ - static from_bytes(algorithm, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_from_bytes(retptr, addHeapObject(algorithm), addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PrivateKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.privatekey_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** - * @returns {string} - */ - to_multihash_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_to_multihash_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} -module.exports.PrivateKey = PrivateKey; - -const PublicKeyFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_publickey_free(ptr >>> 0)); -/** -* Public Key used in signatures. -*/ -class PublicKey { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(PublicKey.prototype); - obj.__wbg_ptr = ptr; - PublicKeyFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - PublicKeyFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_publickey_free(ptr); - } - /** - * # Errors - * Fails if multihash parsing fails - * @param {string} multihash - * @returns {PublicKey} - */ - static from_multihash_hex(multihash) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.publickey_from_multihash_hex(retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PublicKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * # Errors - * Fails if parsing of algorithm or payload byte input fails - * @param {Algorithm} algorithm - * @param {Binary} payload - * @returns {PublicKey} - */ - static from_bytes(algorithm, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_from_bytes(retptr, addHeapObject(algorithm), addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PublicKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {PrivateKey} key - * @returns {PublicKey} - */ - static from_private_key(key) { - _assertClass(key, PrivateKey); - const ret = wasm.publickey_from_private_key(key.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** - * @returns {string} - */ - to_multihash_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_to_multihash_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.publickey_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} -module.exports.PublicKey = PublicKey; - -const SignatureFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_signature_free(ptr >>> 0)); -/** -* Represents the signature of the data -*/ -class Signature { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Signature.prototype); - obj.__wbg_ptr = ptr; - SignatureFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - SignatureFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_signature_free(ptr); - } - /** - * Construct the signature from raw components received from elsewhere - * - * # Errors - * - Invalid bytes input - * @param {Binary} payload - * @returns {Signature} - */ - static from_bytes(payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_from_bytes(retptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return Signature.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Creates new signature by signing the payload via the key pair's private key. - * - * # Errors - * If parsing bytes input fails - * @param {PrivateKey} private_key - * @param {Binary} payload - */ - constructor(private_key, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(private_key, PrivateKey); - wasm.signature_new(retptr, private_key.__wbg_ptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - this.__wbg_ptr = r0 >>> 0; - return this; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Verify that the signature is signed by the given public key - * - * # Errors - * - If parsing of bytes input fails - * - If failed to construct verify error - * @param {PublicKey} public_key - * @param {Binary} payload - * @returns {VerifyResult} - */ - verify(public_key, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - wasm.signature_verify(retptr, this.__wbg_ptr, public_key.__wbg_ptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} -module.exports.Signature = Signature; - -module.exports.__wbindgen_string_new = function(arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return addHeapObject(ret); -}; - -module.exports.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); -}; - -module.exports.__wbindgen_is_object = function(arg0) { - const val = getObject(arg0); - const ret = typeof(val) === 'object' && val !== null; - return ret; -}; - -module.exports.__wbindgen_error_new = function(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - -module.exports.__wbindgen_string_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -module.exports.__wbindgen_boolean_get = function(arg0) { - const v = getObject(arg0); - const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; - return ret; -}; - -module.exports.__wbindgen_is_bigint = function(arg0) { - const ret = typeof(getObject(arg0)) === 'bigint'; - return ret; -}; - -module.exports.__wbindgen_number_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'number' ? obj : undefined; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -}; - -module.exports.__wbindgen_in = function(arg0, arg1) { - const ret = getObject(arg0) in getObject(arg1); - return ret; -}; - -module.exports.__wbindgen_bigint_from_i64 = function(arg0) { - const ret = arg0; - return addHeapObject(ret); -}; - -module.exports.__wbindgen_jsval_eq = function(arg0, arg1) { - const ret = getObject(arg0) === getObject(arg1); - return ret; -}; - -module.exports.__wbindgen_bigint_from_u64 = function(arg0) { - const ret = BigInt.asUintN(64, arg0); - return addHeapObject(ret); -}; - -module.exports.__wbindgen_is_undefined = function(arg0) { - const ret = getObject(arg0) === undefined; - return ret; -}; - -module.exports.__wbindgen_is_string = function(arg0) { - const ret = typeof(getObject(arg0)) === 'string'; - return ret; -}; - -module.exports.__wbg_crypto_1d1f22824a6a080c = function(arg0) { - const ret = getObject(arg0).crypto; - return addHeapObject(ret); -}; - -module.exports.__wbg_process_4a72847cc503995b = function(arg0) { - const ret = getObject(arg0).process; - return addHeapObject(ret); -}; - -module.exports.__wbg_versions_f686565e586dd935 = function(arg0) { - const ret = getObject(arg0).versions; - return addHeapObject(ret); -}; - -module.exports.__wbg_node_104a2ff8d6ea03a2 = function(arg0) { - const ret = getObject(arg0).node; - return addHeapObject(ret); -}; - -module.exports.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () { - const ret = module.require; - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbindgen_is_function = function(arg0) { - const ret = typeof(getObject(arg0)) === 'function'; - return ret; -}; - -module.exports.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) { - const ret = getObject(arg0).msCrypto; - return addHeapObject(ret); -}; - -module.exports.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) { - getObject(arg0).randomFillSync(takeObject(arg1)); -}, arguments) }; - -module.exports.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) { - getObject(arg0).getRandomValues(getObject(arg1)); -}, arguments) }; - -module.exports.__wbindgen_jsval_loose_eq = function(arg0, arg1) { - const ret = getObject(arg0) == getObject(arg1); - return ret; -}; - -module.exports.__wbindgen_as_number = function(arg0) { - const ret = +getObject(arg0); - return ret; -}; - -module.exports.__wbindgen_object_clone_ref = function(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); -}; - -module.exports.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { - const ret = getObject(arg0)[getObject(arg1)]; - return addHeapObject(ret); -}; - -module.exports.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { - getObject(arg0)[takeObject(arg1)] = takeObject(arg2); -}; - -module.exports.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { - const ret = String(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -module.exports.__wbg_get_bd8e338fbd5f5cc8 = function(arg0, arg1) { - const ret = getObject(arg0)[arg1 >>> 0]; - return addHeapObject(ret); -}; - -module.exports.__wbg_length_cd7af8117672b8b8 = function(arg0) { - const ret = getObject(arg0).length; - return ret; -}; - -module.exports.__wbg_newnoargs_e258087cd0daa0ea = function(arg0, arg1) { - const ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -}; - -module.exports.__wbg_next_40fc327bfc8770e6 = function(arg0) { - const ret = getObject(arg0).next; - return addHeapObject(ret); -}; - -module.exports.__wbg_next_196c84450b364254 = function() { return handleError(function (arg0) { - const ret = getObject(arg0).next(); - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbg_done_298b57d23c0fc80c = function(arg0) { - const ret = getObject(arg0).done; - return ret; -}; - -module.exports.__wbg_value_d93c65011f51a456 = function(arg0) { - const ret = getObject(arg0).value; - return addHeapObject(ret); -}; - -module.exports.__wbg_iterator_2cee6dadfd956dfa = function() { - const ret = Symbol.iterator; - return addHeapObject(ret); -}; - -module.exports.__wbg_get_e3c254076557e348 = function() { return handleError(function (arg0, arg1) { - const ret = Reflect.get(getObject(arg0), getObject(arg1)); - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbg_call_27c0f87801dedf93 = function() { return handleError(function (arg0, arg1) { - const ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbg_new_72fb9a18b5ae2624 = function() { - const ret = new Object(); - return addHeapObject(ret); -}; - -module.exports.__wbg_self_ce0dbfc45cf2f5be = function() { return handleError(function () { - const ret = self.self; - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbg_window_c6fb939a7f436783 = function() { return handleError(function () { - const ret = window.window; - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbg_globalThis_d1e6af4856ba331b = function() { return handleError(function () { - const ret = globalThis.globalThis; - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbg_global_207b558942527489 = function() { return handleError(function () { - const ret = global.global; - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbg_isArray_2ab64d95e09ea0ae = function(arg0) { - const ret = Array.isArray(getObject(arg0)); - return ret; -}; - -module.exports.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof ArrayBuffer; - } catch (_) { - result = false; - } - const ret = result; - return ret; -}; - -module.exports.__wbg_call_b3ca7c6051f9bec1 = function() { return handleError(function (arg0, arg1, arg2) { - const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); -}, arguments) }; - -module.exports.__wbg_instanceof_Map_87917e0a7aaf4012 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof Map; - } catch (_) { - result = false; - } - const ret = result; - return ret; -}; - -module.exports.__wbg_isSafeInteger_f7b04ef02296c4d2 = function(arg0) { - const ret = Number.isSafeInteger(getObject(arg0)); - return ret; -}; - -module.exports.__wbg_entries_95cc2c823b285a09 = function(arg0) { - const ret = Object.entries(getObject(arg0)); - return addHeapObject(ret); -}; - -module.exports.__wbg_buffer_12d079cc21e14bdb = function(arg0) { - const ret = getObject(arg0).buffer; - return addHeapObject(ret); -}; - -module.exports.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb = function(arg0, arg1, arg2) { - const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); -}; - -module.exports.__wbg_new_63b92bc8671ed464 = function(arg0) { - const ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); -}; - -module.exports.__wbg_set_a47bac70306a19a7 = function(arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); -}; - -module.exports.__wbg_length_c20a40f15020d68a = function(arg0) { - const ret = getObject(arg0).length; - return ret; -}; - -module.exports.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof Uint8Array; - } catch (_) { - result = false; - } - const ret = result; - return ret; -}; - -module.exports.__wbg_newwithlength_e9b4878cebadb3d3 = function(arg0) { - const ret = new Uint8Array(arg0 >>> 0); - return addHeapObject(ret); -}; - -module.exports.__wbg_subarray_a1f73cd4b5b42fe1 = function(arg0, arg1, arg2) { - const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); -}; - -module.exports.__wbg_new_abda76e883ba8a5f = function() { - const ret = new Error(); - return addHeapObject(ret); -}; - -module.exports.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { - const ret = getObject(arg1).stack; - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -module.exports.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { - let deferred0_0; - let deferred0_1; - try { - deferred0_0 = arg0; - deferred0_1 = arg1; - console.error(getStringFromWasm0(arg0, arg1)); - } finally { - wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); - } -}; - -module.exports.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) { - const v = getObject(arg1); - const ret = typeof(v) === 'bigint' ? v : undefined; - getBigInt64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? BigInt(0) : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -}; - -module.exports.__wbindgen_debug_string = function(arg0, arg1) { - const ret = debugString(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; -}; - -module.exports.__wbindgen_throw = function(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); -}; - -module.exports.__wbindgen_memory = function() { - const ret = wasm.memory; - return addHeapObject(ret); -}; - -const path = require('path').join(__dirname, 'iroha_crypto_bg.wasm'); -const bytes = require('fs').readFileSync(path); - -const wasmModule = new WebAssembly.Module(bytes); -const wasmInstance = new WebAssembly.Instance(wasmModule, imports); -wasm = wasmInstance.exports; -module.exports.__wasm = wasm; - -wasm.__wbindgen_start(); - diff --git a/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-nodejs/iroha_crypto_bg.wasm deleted file mode 100644 index 2f78ba376c9a5195ad399bfe5f5cc5cd71f66309..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653725 zcmeFa3zS?}dFNYoPE}XGyZR-yTC#lV_$6Z-TCZ-2WX*MH79m{LtS}xfH*4-)OSGhx z?Us>jNj7koWHk?yc7UKHhBS{%I>8|dk3}rZ(-4C1 z@Bi&{>g=lSu5KCTX2_KVed_GjxA*sb`+M!j$&H_QQ9hT;<-e5Q`oiGMnVkOQ&%7`^ zQ+woIm{&@kyaK5_a=aGxliw}&d0kKk=vszdwtzxcr2M-SaO zadiK^_lzH$xa-(GhbE5i-#_SOoH%*>?xT0^KRWT^Tz=IG!(N4B2PP*Dp4@-v__2HU zAD=j!E3R5=z^irliT$o(uCT816UUDqJHAG*Rv5;e6DM=IRRL`9I&|RJv3n-QkM38E z^>v9M9Ju?=yN@<2?|13w{VzHIwwrgU%j?qJN7qRL*Ny#$j~{!{{<}wa<+@fKalhC6 z>X@)e`D+B?&ix0Ezx3Xd$M$bO zwEggo9eZ}{8Xp}W*)wvmNyV+M;=RX@9h^9EV*jr3u^oGMjU7C=dt~R{y}J)Isd=rd z`M|{S6L%jwdSd_K(LJNPM|V%`-ZOgW(B7T9n^fKGsvbRdXk!2NkzM0E4j_2#LeDBDC?c;lQjgRcuOMRZgj`Tj~+VqqMy3^o_qeoOOGDhzx&|c zgL`-H9v|O5dSG;9*WM=6@J81F6XOnR;|1gQ+&^(*|4!8%A0M4KG;wgx*sg<3TG*r( z63OP+`krIQPE0gsZeJXYpV;rFXRdcuq#6|yAc@dBc+at;6DIXm7a7;rM)%^oPu_)u zJTmdp{S$`{?l`z-@94w9Nsgwckkix@dG<2nxN7|`<;?f`wtx2GqH2$p2G(Y?LNHw;K4mj zI+=jGXX5CcC-2&S@X*-!;XT{8kByG)II!nHGv=`?F zXynlN_{hX~6QJp|ns~{{{kujEAKbZP?7(4IWo%?(v1a zv3u9r)eec`JNE85uzT##j-3Yq+g#vmaRWru-aoM)IdO1w_sI6`hj(uu-?h70FOvy* z_sNOl<0nylI}T1vj2;?4bokKT-J^#Nk2jh99tkIQ9%NJ_W23uwk4@~{)r^D*S`Loi zbI<-AV+?H1*q)K?hb9gk-n+925fWe!aR1nj!w2?`ZwEEw6FWwC>}t}*1lWm*dk*hE zI5Bbvy6xJ1@bHeqyAMn>sg|(WiP_BMf<2=Kd4 zRF5AYf9d`m;|E4}LB5HRy~zIYi6+c;o9pl0M^Bs_KYDQD*x~)w#J>9vAI5~(vvYLM z4lp$`c4*hZy@#6V5TB|Cb{-rbJ2*PBd;8(N2PO_~&jqWBk3^<>@c-TTz55X$+s7tG z#>d9N+{pH3a1*I__lf^7et6n+13M4EC5J|K z?mV=8@8M>$Dj_y9K$uJVF|qf+E=0(|i38(@4(vR%vq?V^S$E?81LHPP#Od?Amd7q8X!lcpg7+XnbsRV$YtP2gdh|?>^jQVkSbF$#w9^{?Xlgc8u*kJb@b6 zwf!IiUEN_w>N#iR@SfeaSx z3cX2{vS^xs!rVCa;wEK#y|OQwc+s)rFU^(0HxwQzw1tIYE?4La`-{0S7l!=SzcAOz z8?JJg%jW`~tu0Cn!xp^fTv#BTYD!R{^r4^bzXI7|QMq9Ye`uqHp8k(W zkUCxr_*J0S#a0_u0W_+(z?Sl)>%U@$rCBqDpvc&Qj+T7b(oU-?)6znrPR1oDfx4A1 zcIWe(TH7~op*ti8xnhy@&O%5Zg1n8BcbZnW=y!qtc%v_BrT)LLKq|zu)LcggPwE8v zPd{m(P$=aJrTo45KjvRC%;$Pr+K7l$r>5p}9i`8fZfSAs6Xbfw@455XaiqYD_T%-9 z-+#}^+~*2CPR`sle&Q~i)QO4QUxXd@^8ZX6KZalUTVbocD(Em5wA*jV-xIli47#(o z{dY~gBsUwF-G1l(d+$GR&)o-QOk0zWhFkm;JmD7s{BEnQdVd%UG~_!7e;*7tq~Ck| z?gz$CPVA@Y+~4NCTs+PCHa`&bXLV}>&%H0~&64jOf9XBP#t-HGDi~arXaoAaz=8w} z$ic0R=+A>|>XMcX>F;RLuR{ShrtdP=EFh1?7T>Rq11Pt+W z!L=*pC7m(K{As>7Es_oJ-C+%qL$(!tWze4%^;`IMKH;Pjci(w*{N(+(*fxLTd_-EP=Sd-G^VA`?H`oOG`2QKZ3z!iH6`02c;K{-+grdY%kPv$>g&_7q^Hwyo$@QK3Xh1u|}g+~iNPwGR3R~0^0IQa6Uz&i`S zS$IV_N8_I={8IRLc~|Xig?AVJtNs4f;I}Bb7=AkZCRJVTxxycZPvqYbej@y0_}TEc z3-2iWPWb-tAH!b{|0(!h@H&3|hPC&(@a^_=wcb^Dd*Q9&E5qL@JQRK){NwN|`FGL6 zm%`6m3%?uwLHN1wo#9O3_X^(%&M~aF7d{dGb@-j|eTA9F!aoiFJX{LC8C)n# z6}}pNEw~hZHT=u)AHuJPm-zQL;opUS3%vR8O~LyMA1Hhyd{g1C!jA@z1`ikhYxsRy z{LS!N;Rl1Sg?~_(E<99t6J`G}d~@*O!fSbdEc}JS--jOx{yBIJqx?wt(ZYP;vBD3+ zslw|DXA6H4zNYZz!k^^-bNI1B`v?E|`bP?X^nV3|XMzW>%T+H2N8*<2bHVNIUue%L zES!mgZ9(o?UHK?1R&yPdauifrJM$e;SPf2A3r8xYYOc~2-X4{n)m4mg)xu;Y7nLj{ zYOCfaD{WDr#MY=ab}i*PqP((>JhyPWejTaMwjO0Q+ZN@kPh5N~SAIj7>u`OEiq9(C z4wRzu3$8c(sD!+eT#AaWD{=6wu7WzAb_2jiDgnKr8>Of~H{!5Th(em^%0)p}zO$u6 zouNR|nUXqFjCdHZ5}o;4+L@?KPBAJ!XLF^C4!7#}bK}D1N+-X=h#vuegLaO@#i)Z;luEBB z=z)KV|QZ>ZDCo4VlGB{aLs}J5+>E@BYuhOgT>Hp8&Y}lEs2v<<3 z(wb73kr(MCofcu@!m~h1mlBV}<>%7XoFR6y(oTskNU$$g*=!_uS7i%rwdq~Jp3Oiz zL2zpY>_>%Yb5z(J zH@p%|#%<5;!la0L)yZ}xos2yq$sWuRp2qW!SQ&HF?$?58{TSDAxQI@ zKTo(hYN_T%gG&L={Alomo-=>?7)gu#+*cS2E-Gm;n5<5V(4P{a*I(t&vMRKGPEF>< zg1^-BWejhg7Xvv@+XBg)FCU3>*XNim3zpUi#apW9g2~aKmBd#1@%_h?-I@GyoqJrJ zdsRT^axjaSwo_d204!W3p&-8Jp_$aB2RsMyjb4Zb(Wz2^jhMk8=llOXMGjNtff(lf zcjCwZj*GgF#DlcXW5Z;;QDkVBASgKb(@v96qrLhh|K*V-uw+kT1SI->d89@YK19+s5@b$p=g73F5VOkmaA@#@b^p=euLt}6mE?+iib>m z45#z!Ih)g8&)qEc>SoFxfn%)~!Aai3lSe9r;C7g+P(AfiwT_zDQ7KqWvx7pkEan1K zDQbUiSAJNXhxh0_!+jtsNo2Z#gP{`GpifjS{~~`JTI`*sh41orL!lr{S`kk;6m&$T z4vCGZ`#Fdv`*9@hdu|tGH+�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%0DxM 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 z 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 number; - readonly __wbg_hash_free: (a: number) => void; - readonly hash_zeroed: () => number; - readonly hash_new: (a: number, b: number) => void; - readonly hash_bytes: (a: number, b: number) => void; - readonly hash_bytes_hex: (a: number, b: number) => void; - readonly __wbg_publickey_free: (a: number) => void; - readonly publickey_from_multihash_hex: (a: number, b: number, c: number) => void; - readonly publickey_from_bytes: (a: number, b: number, c: number) => void; - readonly publickey_from_private_key: (a: number) => number; - readonly publickey_to_multihash_hex: (a: number, b: number) => void; - readonly publickey_algorithm: (a: number) => number; - readonly publickey_payload: (a: number, b: number) => void; - readonly publickey_payload_hex: (a: number, b: number) => void; - readonly __wbg_privatekey_free: (a: number) => void; - readonly privatekey_from_multihash_hex: (a: number, b: number, c: number) => void; - readonly privatekey_from_bytes: (a: number, b: number, c: number) => void; - readonly privatekey_algorithm: (a: number) => number; - readonly privatekey_payload: (a: number, b: number) => void; - readonly privatekey_payload_hex: (a: number, b: number) => void; - readonly privatekey_to_multihash_hex: (a: number, b: number) => void; - readonly __wbg_keypair_free: (a: number) => void; - readonly keypair_random: (a: number, b: number) => void; - readonly keypair_from_parts: (a: number, b: number, c: number) => void; - readonly keypair_derive_from_seed: (a: number, b: number, c: number) => void; - readonly keypair_derive_from_private_key: (a: number, b: number) => void; - readonly keypair_algorithm: (a: number) => number; - readonly keypair_public_key: (a: number) => number; - readonly keypair_private_key: (a: number) => number; - readonly __wbg_signature_free: (a: number) => void; - readonly signature_from_bytes: (a: number, b: number) => void; - readonly signature_new: (a: number, b: number, c: number) => void; - readonly signature_verify: (a: number, b: number, c: number, d: number) => void; - readonly signature_payload: (a: number, b: number) => void; - readonly signature_payload_hex: (a: number, b: number) => void; - readonly main_js: () => void; - readonly __wbindgen_malloc: (a: number, b: number) => number; - readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; - readonly __wbindgen_add_to_stack_pointer: (a: number) => number; - readonly __wbindgen_free: (a: number, b: number, c: number) => void; - readonly __wbindgen_exn_store: (a: number) => void; - readonly __wbindgen_start: () => void; -} - -export type SyncInitInput = BufferSource | WebAssembly.Module; -/** -* Instantiates the given `module`, which can either be bytes or -* a precompiled `WebAssembly.Module`. -* -* @param {SyncInitInput} module -* -* @returns {InitOutput} -*/ -export function initSync(module: SyncInitInput): InitOutput; - -/** -* If `module_or_path` is {RequestInfo} or {URL}, makes a request and -* for everything else, calls `WebAssembly.instantiate` directly. -* -* @param {InitInput | Promise} module_or_path -* -* @returns {Promise} -*/ -export default function __wbg_init (module_or_path?: InitInput | Promise): Promise; diff --git a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js deleted file mode 100644 index e7d928ee..00000000 --- a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto.js +++ /dev/null @@ -1,1272 +0,0 @@ -let wasm; - -const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); - -if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; - -let cachedUint8Memory0 = null; - -function getUint8Memory0() { - if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; -} - -function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} - -const heap = new Array(128).fill(undefined); - -heap.push(undefined, null, true, false); - -let heap_next = heap.length; - -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; -} - -function getObject(idx) { return heap[idx]; } - -function dropObject(idx) { - if (idx < 132) return; - heap[idx] = heap_next; - heap_next = idx; -} - -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} - -let WASM_VECTOR_LEN = 0; - -const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); - -const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); -} - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; -}); - -function passStringToWasm0(arg, malloc, realloc) { - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length, 1) >>> 0; - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len, 1) >>> 0; - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - ptr = realloc(ptr, len, offset, 1) >>> 0; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - -let cachedFloat64Memory0 = null; - -function getFloat64Memory0() { - if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { - cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); - } - return cachedFloat64Memory0; -} - -let cachedBigInt64Memory0 = null; - -function getBigInt64Memory0() { - if (cachedBigInt64Memory0 === null || cachedBigInt64Memory0.byteLength === 0) { - cachedBigInt64Memory0 = new BigInt64Array(wasm.memory.buffer); - } - return cachedBigInt64Memory0; -} - -function debugString(val) { - // primitive types - const type = typeof val; - if (type == 'number' || type == 'boolean' || val == null) { - return `${val}`; - } - if (type == 'string') { - return `"${val}"`; - } - if (type == 'symbol') { - const description = val.description; - if (description == null) { - return 'Symbol'; - } else { - return `Symbol(${description})`; - } - } - if (type == 'function') { - const name = val.name; - if (typeof name == 'string' && name.length > 0) { - return `Function(${name})`; - } else { - return 'Function'; - } - } - // objects - if (Array.isArray(val)) { - const length = val.length; - let debug = '['; - if (length > 0) { - debug += debugString(val[0]); - } - for(let i = 1; i < length; i++) { - debug += ', ' + debugString(val[i]); - } - debug += ']'; - return debug; - } - // Test for built-in - const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); - let className; - if (builtInMatches.length > 1) { - className = builtInMatches[1]; - } else { - // Failed to match the standard '[object ClassName]' - return toString.call(val); - } - if (className == 'Object') { - // we're a user defined class or Object - // JSON.stringify avoids problems with cycles, and is generally much - // easier than looping through ownProperties of `val`. - try { - return 'Object(' + JSON.stringify(val) + ')'; - } catch (_) { - return 'Object'; - } - } - // errors - if (val instanceof Error) { - return `${val.name}: ${val.message}\n${val.stack}`; - } - // TODO we could test for more things here, like `Set`s and `Map`s. - return className; -} -/** -* @returns {Algorithm} -*/ -export function algorithm_default() { - const ret = wasm.algorithm_default(); - return takeObject(ret); -} - -function getArrayU8FromWasm0(ptr, len) { - ptr = ptr >>> 0; - return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); -} - -function _assertClass(instance, klass) { - if (!(instance instanceof klass)) { - throw new Error(`expected instance of ${klass.name}`); - } - return instance.ptr; -} -/** -*/ -export function main_js() { - wasm.main_js(); -} - -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - wasm.__wbindgen_exn_store(addHeapObject(e)); - } -} - -const HashFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_hash_free(ptr >>> 0)); -/** -*/ -export class Hash { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Hash.prototype); - obj.__wbg_ptr = ptr; - HashFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - HashFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_hash_free(ptr); - } - /** - * Construct zeroed hash - * @returns {Hash} - */ - static zeroed() { - const ret = wasm.hash_zeroed(); - return Hash.__wrap(ret); - } - /** - * Hash the given bytes. - * - * # Errors - * If failed to parse bytes input - * @param {Binary} payload - */ - constructor(payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_new(retptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - this.__wbg_ptr = r0 >>> 0; - return this; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Uint8Array} - */ - bytes() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_bytes(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - bytes_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.hash_bytes_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} - -const KeyPairFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_keypair_free(ptr >>> 0)); -/** -* Pair of Public and Private keys. -*/ -export class KeyPair { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(KeyPair.prototype); - obj.__wbg_ptr = ptr; - KeyPairFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - KeyPairFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_keypair_free(ptr); - } - /** - * Generate a random key pair - * - * # Errors - * If passed algorithm is not valid. - * @param {Algorithm | undefined} [algorithm] - * @returns {KeyPair} - */ - static random(algorithm) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_random(retptr, isLikeNone(algorithm) ? 0 : addHeapObject(algorithm)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Construct a key pair from its components - * - * # Errors - * If public and private keys don’t match, i.e. if they don’t make a pair - * @param {PublicKey} public_key - * @param {PrivateKey} private_key - * @returns {KeyPair} - */ - static from_parts(public_key, private_key) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - _assertClass(private_key, PrivateKey); - wasm.keypair_from_parts(retptr, public_key.__wbg_ptr, private_key.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {Binary} seed - * @param {Algorithm | undefined} [algorithm] - * @returns {KeyPair} - */ - static derive_from_seed(seed, algorithm) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.keypair_derive_from_seed(retptr, addHeapObject(seed), isLikeNone(algorithm) ? 0 : addHeapObject(algorithm)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {PrivateKey} key - * @returns {KeyPair} - */ - static derive_from_private_key(key) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(key, PrivateKey); - wasm.keypair_derive_from_private_key(retptr, key.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return KeyPair.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.keypair_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {PublicKey} - */ - public_key() { - const ret = wasm.keypair_public_key(this.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** - * @returns {PrivateKey} - */ - private_key() { - const ret = wasm.keypair_private_key(this.__wbg_ptr); - return PrivateKey.__wrap(ret); - } -} - -const PrivateKeyFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_privatekey_free(ptr >>> 0)); -/** -* Private Key used in signatures. -*/ -export class PrivateKey { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(PrivateKey.prototype); - obj.__wbg_ptr = ptr; - PrivateKeyFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - PrivateKeyFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_privatekey_free(ptr); - } - /** - * # Errors - * Fails if multihash parsing fails - * @param {string} multihash - * @returns {PrivateKey} - */ - static from_multihash_hex(multihash) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.privatekey_from_multihash_hex(retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PrivateKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * # Errors - * Fails if parsing of digest function or payload byte input fails - * @param {Algorithm} algorithm - * @param {Binary} payload - * @returns {PrivateKey} - */ - static from_bytes(algorithm, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_from_bytes(retptr, addHeapObject(algorithm), addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PrivateKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.privatekey_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** - * @returns {string} - */ - to_multihash_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.privatekey_to_multihash_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} - -const PublicKeyFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_publickey_free(ptr >>> 0)); -/** -* Public Key used in signatures. -*/ -export class PublicKey { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(PublicKey.prototype); - obj.__wbg_ptr = ptr; - PublicKeyFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - PublicKeyFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_publickey_free(ptr); - } - /** - * # Errors - * Fails if multihash parsing fails - * @param {string} multihash - * @returns {PublicKey} - */ - static from_multihash_hex(multihash) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(multihash, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.publickey_from_multihash_hex(retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PublicKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * # Errors - * Fails if parsing of algorithm or payload byte input fails - * @param {Algorithm} algorithm - * @param {Binary} payload - * @returns {PublicKey} - */ - static from_bytes(algorithm, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_from_bytes(retptr, addHeapObject(algorithm), addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return PublicKey.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @param {PrivateKey} key - * @returns {PublicKey} - */ - static from_private_key(key) { - _assertClass(key, PrivateKey); - const ret = wasm.publickey_from_private_key(key.__wbg_ptr); - return PublicKey.__wrap(ret); - } - /** - * @returns {string} - */ - to_multihash_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_to_multihash_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** - * @returns {Algorithm} - */ - get algorithm() { - const ret = wasm.publickey_algorithm(this.__wbg_ptr); - return takeObject(ret); - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.publickey_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} - -const SignatureFinalization = (typeof FinalizationRegistry === 'undefined') - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry(ptr => wasm.__wbg_signature_free(ptr >>> 0)); -/** -* Represents the signature of the data -*/ -export class Signature { - - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Signature.prototype); - obj.__wbg_ptr = ptr; - SignatureFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - SignatureFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_signature_free(ptr); - } - /** - * Construct the signature from raw components received from elsewhere - * - * # Errors - * - Invalid bytes input - * @param {Binary} payload - * @returns {Signature} - */ - static from_bytes(payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_from_bytes(retptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return Signature.__wrap(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Creates new signature by signing the payload via the key pair's private key. - * - * # Errors - * If parsing bytes input fails - * @param {PrivateKey} private_key - * @param {Binary} payload - */ - constructor(private_key, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(private_key, PrivateKey); - wasm.signature_new(retptr, private_key.__wbg_ptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - this.__wbg_ptr = r0 >>> 0; - return this; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * Verify that the signature is signed by the given public key - * - * # Errors - * - If parsing of bytes input fails - * - If failed to construct verify error - * @param {PublicKey} public_key - * @param {Binary} payload - * @returns {VerifyResult} - */ - verify(public_key, payload) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - _assertClass(public_key, PublicKey); - wasm.signature_verify(retptr, this.__wbg_ptr, public_key.__wbg_ptr, addHeapObject(payload)); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var r2 = getInt32Memory0()[retptr / 4 + 2]; - if (r2) { - throw takeObject(r1); - } - return takeObject(r0); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {Uint8Array} - */ - payload() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_payload(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU8FromWasm0(r0, r1).slice(); - wasm.__wbindgen_free(r0, r1 * 1, 1); - return v1; - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - } - } - /** - * @returns {string} - */ - payload_hex() { - let deferred1_0; - let deferred1_1; - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.signature_payload_hex(retptr, this.__wbg_ptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - deferred1_0 = r0; - deferred1_1 = r1; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } -} - -async function __wbg_load(module, imports) { - if (typeof Response === 'function' && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); - - } else { - throw e; - } - } - } - - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - - } else { - const instance = await WebAssembly.instantiate(module, imports); - - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; - - } else { - return instance; - } - } -} - -function __wbg_get_imports() { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_string_new = function(arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); - }; - imports.wbg.__wbindgen_is_object = function(arg0) { - const val = getObject(arg0); - const ret = typeof(val) === 'object' && val !== null; - return ret; - }; - imports.wbg.__wbindgen_error_new = function(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_string_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'string' ? obj : undefined; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; - }; - imports.wbg.__wbindgen_boolean_get = function(arg0) { - const v = getObject(arg0); - const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; - return ret; - }; - imports.wbg.__wbindgen_is_bigint = function(arg0) { - const ret = typeof(getObject(arg0)) === 'bigint'; - return ret; - }; - imports.wbg.__wbindgen_number_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'number' ? obj : undefined; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); - }; - imports.wbg.__wbindgen_in = function(arg0, arg1) { - const ret = getObject(arg0) in getObject(arg1); - return ret; - }; - imports.wbg.__wbindgen_bigint_from_i64 = function(arg0) { - const ret = arg0; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_jsval_eq = function(arg0, arg1) { - const ret = getObject(arg0) === getObject(arg1); - return ret; - }; - imports.wbg.__wbindgen_bigint_from_u64 = function(arg0) { - const ret = BigInt.asUintN(64, arg0); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_undefined = function(arg0) { - const ret = getObject(arg0) === undefined; - return ret; - }; - imports.wbg.__wbindgen_is_string = function(arg0) { - const ret = typeof(getObject(arg0)) === 'string'; - return ret; - }; - imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) { - const ret = getObject(arg0).crypto; - return addHeapObject(ret); - }; - imports.wbg.__wbg_process_4a72847cc503995b = function(arg0) { - const ret = getObject(arg0).process; - return addHeapObject(ret); - }; - imports.wbg.__wbg_versions_f686565e586dd935 = function(arg0) { - const ret = getObject(arg0).versions; - return addHeapObject(ret); - }; - imports.wbg.__wbg_node_104a2ff8d6ea03a2 = function(arg0) { - const ret = getObject(arg0).node; - return addHeapObject(ret); - }; - imports.wbg.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () { - const ret = module.require; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbindgen_is_function = function(arg0) { - const ret = typeof(getObject(arg0)) === 'function'; - return ret; - }; - imports.wbg.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) { - const ret = getObject(arg0).msCrypto; - return addHeapObject(ret); - }; - imports.wbg.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) { - getObject(arg0).randomFillSync(takeObject(arg1)); - }, arguments) }; - imports.wbg.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) { - getObject(arg0).getRandomValues(getObject(arg1)); - }, arguments) }; - imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { - const ret = getObject(arg0) == getObject(arg1); - return ret; - }; - imports.wbg.__wbindgen_as_number = function(arg0) { - const ret = +getObject(arg0); - return ret; - }; - imports.wbg.__wbindgen_object_clone_ref = function(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { - const ret = getObject(arg0)[getObject(arg1)]; - return addHeapObject(ret); - }; - imports.wbg.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { - getObject(arg0)[takeObject(arg1)] = takeObject(arg2); - }; - imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { - const ret = String(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; - }; - imports.wbg.__wbg_get_bd8e338fbd5f5cc8 = function(arg0, arg1) { - const ret = getObject(arg0)[arg1 >>> 0]; - return addHeapObject(ret); - }; - imports.wbg.__wbg_length_cd7af8117672b8b8 = function(arg0) { - const ret = getObject(arg0).length; - return ret; - }; - imports.wbg.__wbg_newnoargs_e258087cd0daa0ea = function(arg0, arg1) { - const ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_next_40fc327bfc8770e6 = function(arg0) { - const ret = getObject(arg0).next; - return addHeapObject(ret); - }; - imports.wbg.__wbg_next_196c84450b364254 = function() { return handleError(function (arg0) { - const ret = getObject(arg0).next(); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_done_298b57d23c0fc80c = function(arg0) { - const ret = getObject(arg0).done; - return ret; - }; - imports.wbg.__wbg_value_d93c65011f51a456 = function(arg0) { - const ret = getObject(arg0).value; - return addHeapObject(ret); - }; - imports.wbg.__wbg_iterator_2cee6dadfd956dfa = function() { - const ret = Symbol.iterator; - return addHeapObject(ret); - }; - imports.wbg.__wbg_get_e3c254076557e348 = function() { return handleError(function (arg0, arg1) { - const ret = Reflect.get(getObject(arg0), getObject(arg1)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_call_27c0f87801dedf93 = function() { return handleError(function (arg0, arg1) { - const ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_new_72fb9a18b5ae2624 = function() { - const ret = new Object(); - return addHeapObject(ret); - }; - imports.wbg.__wbg_self_ce0dbfc45cf2f5be = function() { return handleError(function () { - const ret = self.self; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_window_c6fb939a7f436783 = function() { return handleError(function () { - const ret = window.window; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_globalThis_d1e6af4856ba331b = function() { return handleError(function () { - const ret = globalThis.globalThis; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_global_207b558942527489 = function() { return handleError(function () { - const ret = global.global; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_isArray_2ab64d95e09ea0ae = function(arg0) { - const ret = Array.isArray(getObject(arg0)); - return ret; - }; - imports.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof ArrayBuffer; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }; - imports.wbg.__wbg_call_b3ca7c6051f9bec1 = function() { return handleError(function (arg0, arg1, arg2) { - const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_instanceof_Map_87917e0a7aaf4012 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof Map; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }; - imports.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2 = function(arg0) { - const ret = Number.isSafeInteger(getObject(arg0)); - return ret; - }; - imports.wbg.__wbg_entries_95cc2c823b285a09 = function(arg0) { - const ret = Object.entries(getObject(arg0)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_buffer_12d079cc21e14bdb = function(arg0) { - const ret = getObject(arg0).buffer; - return addHeapObject(ret); - }; - imports.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb = function(arg0, arg1, arg2) { - const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_new_63b92bc8671ed464 = function(arg0) { - const ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_set_a47bac70306a19a7 = function(arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); - }; - imports.wbg.__wbg_length_c20a40f15020d68a = function(arg0) { - const ret = getObject(arg0).length; - return ret; - }; - imports.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof Uint8Array; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }; - imports.wbg.__wbg_newwithlength_e9b4878cebadb3d3 = function(arg0) { - const ret = new Uint8Array(arg0 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_subarray_a1f73cd4b5b42fe1 = function(arg0, arg1, arg2) { - const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_new_abda76e883ba8a5f = function() { - const ret = new Error(); - return addHeapObject(ret); - }; - imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { - const ret = getObject(arg1).stack; - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; - }; - imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { - let deferred0_0; - let deferred0_1; - try { - deferred0_0 = arg0; - deferred0_1 = arg1; - console.error(getStringFromWasm0(arg0, arg1)); - } finally { - wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); - } - }; - imports.wbg.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) { - const v = getObject(arg1); - const ret = typeof(v) === 'bigint' ? v : undefined; - getBigInt64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? BigInt(0) : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); - }; - imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { - const ret = debugString(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len1; - getInt32Memory0()[arg0 / 4 + 0] = ptr1; - }; - imports.wbg.__wbindgen_throw = function(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - imports.wbg.__wbindgen_memory = function() { - const ret = wasm.memory; - return addHeapObject(ret); - }; - - return imports; -} - -function __wbg_init_memory(imports, maybe_memory) { - -} - -function __wbg_finalize_init(instance, module) { - wasm = instance.exports; - __wbg_init.__wbindgen_wasm_module = module; - cachedBigInt64Memory0 = null; - cachedFloat64Memory0 = null; - cachedInt32Memory0 = null; - cachedUint8Memory0 = null; - - wasm.__wbindgen_start(); - return wasm; -} - -function initSync(module) { - if (wasm !== undefined) return wasm; - - const imports = __wbg_get_imports(); - - __wbg_init_memory(imports); - - if (!(module instanceof WebAssembly.Module)) { - module = new WebAssembly.Module(module); - } - - const instance = new WebAssembly.Instance(module, imports); - - return __wbg_finalize_init(instance, module); -} - -async function __wbg_init(input) { - if (wasm !== undefined) return wasm; - - if (typeof input === 'undefined') { - input = new URL('iroha_crypto_bg.wasm', import.meta.url); - } - const imports = __wbg_get_imports(); - - if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { - input = fetch(input); - } - - __wbg_init_memory(imports); - - const { instance, module } = await __wbg_load(await input, imports); - - return __wbg_finalize_init(instance, module); -} - -export { initSync } -export default __wbg_init; diff --git a/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm b/packages/crypto/crypto-rs/wasm-pkg-web/iroha_crypto_bg.wasm deleted file mode 100644 index 9210bf6ab160adcc05ef37924d26135f292abffb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 652360 zcmeFa37B11b?1BUIrrABxo%BTsU*wi9#1m1p)^%VB;R|!dLJP?zWzeHdAxl6-uH=; zR5F%~WlO?__eoYUn3MwqB{8HJ(y0U|Q5X^>KvNI`Wgv8gp%GK30F$UQio^jC2wf0@ z-|xTnIrr>yYm}j1H+iz4&OLjtz1QArt-bbIYY(R|e&WT&LZMLna&hYmgEMCe`cpjf z!thMvQFvidDMj*1r1B{6TGmf~x7d>(E`gjv0;e($@+X1dSLw`yDpGMpT&2ZR!u4R5 zT6kfb%YX1eQbS5mvLh*?2e087VUD5%&5uf_w%j@>;me$ReoE~yiA2kyG_u6vR!zs`GJ z^5O#%$E}#v+2z%F*F8(S=IYsh`1r9G@4stwSD{M{>Guj9IdT8^-TNo*TfOK@(xMx^ zqBQd*_Z*ryeAhh_hnDSxqq)nvMg{NOfAILr?mc;I|Mo-M5AWEqXUDGb(eaTzBL^MK zRtIzM@nZ)kPMp}kYkX|So?T-H5AGh>xp(jG0}kj~2Xz0$@e_9)yXVCI!=rmfcaQF# z*u7`;(4oCMcRQ%f4(gs`hbH!KAK5j&9N4{cWPJPXkv$IT z2G^3~+ZY%-OKJdxPSM-y$AR1-aS6Pd-TBQ$gaIkLT+@h2*n)+{(|wl zUovrG|4xC8kB?3qnmD*;Y}Y{tyh*@`bUQBIeeBqYi3Try0UkfG-$_oPSKTt|Bt;Y9 zKX~`CdnQc!O&qUpwB&)iPQHjiadhHk`zH<^+;MQv-qDf6BZs$d-@DzDnLGENm^iur z@ZPcA+edcn*g1M=CtTZ62!$^w*dM#e^W z?;e}jxho+}(w~Flci+8##~6*+Gqz`B`=N{&(atM0t+I{fwj>EeTOgM;y{tqBE#~#>!aFkkh?j0XHyldy^*q)sZ zrj`iJ-Nz1$-~Id-F<=gDpBNoKylW3qKE8A3_GDBgb=_%j`*)0t9oW5l&t8bTV{F%+ zy{@iA7ui%YwGQk&I6ii8bY%DT!+Q@*9Nbrq0Q1Fi?#cN`iS+Y8+GiS4@%97;6c_J){iY#w;oNjiR* z;fKmdhR68$uJP?-2Y2oq9~qt4eei(mS0YG~g3+A^_U<@vaL?%2_K8EgQ0_M969A3m z@m*sF#t)8->>L>#-wvO1BRL&}J4VJCKd8DLBZo%!jJry1UBZ+9gPCkk!o~wT4?yTc zBRh8<+P?R2G7b_V(lB)>seNMafn5ml!HEOohYsvKwA0m|44D%zIWTT=F~0rq*v^B8 zb{*J#VAqbr6A1^so{k?lG(I*uv1iZD1LJ$fcOQ1rl?+bA=HSu&qr3O)7~6YzfHaH`9hQ|Fw(y5KTKE|N+)9cHw1nM-9so!#6op$g zg9#9zizOby3{p!hmWqN8UH_FkEX}GZ1!ejcbhH%1mUe0tOiK$uo%Bms0yV2x?k*NLwYG2G zLUTwC3gt5Cou!aA1V!s7?^La3(e4ue@kU!zOa8yGL@La))IvuGPs#-PPd}-kRH_t8 zmEyg{KjB|FEEalO+A!Yhlaq6Wj>_jMx3oC%2@1XAci(yJIHT*u`?1)@Uvl@!!skmp zZm7O!{KSi}5GN)Ie;Ibz%l|WR{1`UfZ-=e+%D^nl2JQA+>gGh@pMvh}ZU2iVURsz5 z%-*KZu{I2`QPfqNo z>cZa@ybRQ-6+m8DBm zeoG5%W%xPn6tYZfYe;gWx z6U}{m!liyOwAm?19Y1tvKdf<6%)Q5$11F9b-s;9&0%G0zm(VxVCtfO7_1N)=!fQ(Y z>_9cgPtusSH!{lW#g6&n(@%3EWIv#Md{a*_sP=7 zi@#EOviOCP{yCW6DE)`hCrY0x&4h0&JzDyCQXeY4y7cMN!B->z?=1ah>6PIum4CYQ zOX1%aU9sOPy}R_E?f0(+zYXL<_?hsV6m_}hN`DeQUVKORiSSF|=fdA9y`%KI;rqjX z3V%KP=iqz6>-qH?R^R8tx7*W|dROV~rMHEz3V*lsQ22rHPr|Pj-$e~y4!>YE{9gEn z;pfA5hSR0rFMTUGN4MTy`b79Q;djFKmA)E$0{Bmae-{2lxEOphxKNrbeJy+@;z`1iNr--mw(zPa$t!TU=eD19S*bLp?cj|Pth510OP_eVLaOL0L_t@vv!z3g0U&8iMU5#( zJPcWd#ypWWCaRKCj;hbuTs9mg|L1Nt>Kv(wR&c1+nsS()muV!8 z7GvVlvmi>B5|75!=hD=I5%x%}9f&Siu&+?tY%F+JZ3}g^>0QX4O-DN+aBB_fN2O?U zRN5UBPDK^|Mq3^{6>t7u_+jMli~5wfd0#X|J`Bl$D48lN^;X9(9;K)oSqYBBZO`t) zq=2j3G@0WI}Taw4KXU)Hx#$eUtoGeSTMg=EH!W z>T037R@GjCFyc~WH0c502)bHQmQ;x=$QaV#WW2|OJr16YY_$mp*1YyF5^0WF>V?tZ zQoyq~8a%G&^q)OO(gHvCmBxaLN?Hhx)ThMgPm9s(FY@PE5o$lDDhp%5U+MXBx;Mv* zp`4>`p=8WgkH&@T3yhX|OY4N=E%kH3kVU=-5Ecn- zr=;M1M7T~uNpjCaBdJRdWDe#VzfcY0Q>}y;F@hn^_y2239EQsMF~a+AB#{9U7j++v z2dSOMh9mJtv7udxpyc#VJ5|Ds_WG0jS45W}l9kS&gM1t7)mN3`R`eD$jM_(o^AI9x z9Sz>8C+`rb6`=^C?nIP^q7Bx#cvCc3t-CS8-!paO4UP{3+!}3^44L{EPRG}CHmARy zyIJDZ&5%Ee#9AwYle~u~kJd`T?Fd(?e(I+h4K=kRC`3)810ZUaaDl24wLiD3IIPAa zdo-Tz-XB$@GF``^Pz7qxCW=;nkw16Zpz$X6nUkh+!(cQ^L^F+b24=mU+h zpXA$s-_kVT`@I2g{ESM~MU91SCzQR*-E2RQfiV6PKuOI7VksYk^Gg(nNGwFa+(;KmOHQM(?)m! zg=$obF)lPj(J%-(LMBf-N4@+K_Zn8_liWh-vL^ekuXTWOxL9 z4d)o2C#xSXK}GaS+mWd22nlYas!Ut75xYh6C9{EaHhPf?k&3d7MJ$f2Rahro1&zj3 z7EL`Ey=x(aXpDLKq`J-r8bcu_hiZ>1&0{}|%FktvYl%XGrO)MBm{>xfvF^vn*8Nc^ z;j6e|FJY6C!7^|vlJ+>oAgbAKaC%Asxib{LQou@i4)Tj}A=3hB)%4aZt)Zl~2ij=< z-(nh|u!aWcYDjC>x}>$osOP49nqOyBIt@^!!-bU2m`PHdZp@c?oLXkg7hJEy#+VO} z)(UXNEZS_eL+gU9MlwY^5;@Ov5Ts2}>}gQY9VJ<&;X65{1;8 z>dAs@vDrwzo@`SCtUGNhP)T#LHP8&B9;k|8RFPo>m9S-_R@w)*#pidG z0yuYa^}A&Z7CB0)~J!EqskFe1cBIJsGm6zwPT9Z zEB6^Mf}{0{GTQ4ey|30DG6J2(2`3wuAB+)*9wBC}QL$zjh77^H|7RF=63_-Vah-yy%9;@uW$u)^^jpABigR2wUorQZz`JyKv1&bo|0V?s3!L$Pva- zhoHOo*Krh4S5M_X;#(ex@jHuDbi2eIKv$Kk`~qr1_IqH7T~VO=fxSpNPeWgQxk_Iq zg;87wS?E$Gi)vX*y?UhjAdj=WqLHf)){C_g|0nCVLT3zTf2s>%&_AX8WE|K4ZYjc! zknsx}LQGWnBOcl0h|^Yot%zd2F5RlXHGQiGwLqZG41*J`aR`6-u_rE@v0uN41NG=% zJXS!uZ04@Nm6w}?!dSQvXfgzL7s|%zZ1eDtN>gA_OZDgV^E|pteWj*Y9-vhdwcL!? zG!|;Yl#>J*{*ur^RQ3SK^sr!&OR%x_qE>)1ED-TWh)AjzwHK-_)i(uDCMt;}QY9B5 zHiLjJFAxlIasYVs5yej6I-He$-V8z2D_Cf~_PeA$&j1&do>_P&y2LTpG4oc(-hyMV zOZ&eQ2A5I>ODn*c27~$8%*1Ue6Myy!nE3pan8=X%5t4UXaQ%vWWcd6DF|El+ByUYd z%C4)=ri_dg>q^BJ`5z0=mY_?VFBOj10Aa?Jn7`1ZTq9v9mtK`{lRAmO z*%&~fxS79P{f(k2gT;JJ_cm&p&u848RCSiB2yUr(OMTIrJsrryc0>1qVVcTP)V#BF zOz)r+r3y5oNjaK!5sjOAryd!VHLL^a z7^~W%mN`zEBDzcvs-%e*$@rA)tVH2RE9J0wR848Pek}8ZGaMGvd|-juB`F&kXPLr( zxfsi6CQF`1GFd975eM{}A6Q#ihUusCP}=FIbEcmVKw&^XSJA#iyW=rl?6ubXzc8yaJu{NO47_#B}*1)D_!;R~1)OOH9Q- zLR4$2rFG9Q3k|iTL68&X3kgRbFPa+JmeV^?G9r)+ckePxc z4p4U7=dbAjcJte7wScfHEMn&!Fx7vk~|%B)L2m`SuD4qY?*b14A zE1MO=phJj%)b`B6Th#^vfYW;7q&}i2Z8^)+6o{U!IbxZeL#k8KjrPW2_2(RI7xJ3; zc{$?BiVLq2R!rWLBkM?>OsN=%sOiMzDXRJf1DMLGE@beECa(9O99N&X9CsVjabx0| zzM_eXsbPhQ>+BCZaZ&ZsiOYm{-4mBbRZU#Z!iMJF^tdt>o11KUtczAZx`}JLF>#%3 zOk7|{Caz1SqG*<{=47^9Ow`;Hk{b1ZQEaetsO(=O@wNg{lQa@yQ4^viwqhq$a}l#c zGi+Jzb36J)K|l0IKtzC0=aE>RT=itsX_IcfdjD}!IRxPg;!+l+8|WkBZ%fv=+mx8 zo5gJ0IH6f=O>m3KG?Srrge?RbXUMA+3aGtHgO;5IdW6rWja|av8qrbLIwV>h!vO9S z@9PeNF!ef?r;E7<=s$81X8uY&y(5uMUN4w-iZO7UbO!T@<6#mXY&KeT$XB;91xJF= zq6BcF{wmh3Q;)I!{jX;6l~xV6)Occ!YNr!@}-x-s&6*~ief9TGb@tAc6 z(^dhq)qCJL!e7^ZgwyLj5u2i0){nFUdq>OD(wXKQLv+0P^i^Picd)01{OGliWBGNN7(wL_S<^@LPHU@n< z<3WieEJ$QjSr$gYf9f1>!Px=M}j2{3ys z=F(FCTN)9h6G7B&I^XPqizUeCJB^qYi^Q25FnJstK!>HXEGr9iReiXM1fD~2?geP)<2k*;I||L zRh;I7XK=vMf}`F9Hn`O&6tr$P8O20KP@4c(MkaMOPH# z;}`aIuHcl0E``|F*EFb^E~3q58{ZsG2IPA~c~Y`SrWr8}F#rNBV}8=MV6xHHS1m=E zv{j2fs0{gyYU?D5q4}SiE^I&tiVzoVfh@)iC`Sd;?5tL@jZJ-fk1=_+$U32Tk%1Oh z20g0<8T}KY?-Q?-AtlYB(&61g#G+&qqHi0b#bVVt;2CIXWl+{GGek+uyMd^P!Lb}7 z#gpU-c!(V6QbY|@FF28?XUAJD+EO2WfIou|oZxTeffGlf ztj_)*{b0Dt-^71rA+g^o~CU`c_Jm;l4* zniKcw?|oEztr~^XsYaEvMwJ_lB1ett(|S_Oe&J|Kw3XspDchz-wpkeyQoDu`0EFlIt!rPC2j3V}huzPF^#kWwl zU3l9KFWW`vX8rf4zW-UGE1)h3Z^`hM46iJ}vf(WY?-t?hj9G#^i6Aua675a!k|VqW zY!ryD(O%`YsGZ_%l&uJF#qd@f-mlD``vbO!bkk+wZ85wphF5N>@bXu9+l03ow+e4- zhPSnWmmJ|8B(N7zUmNI!w_RnI(D^H``pPFlHd7J~5nhkwl*a5cye-1pF1!P5s{wC& zhL?>mNq@-^-VNGxKz-UG+eYz<$}XYvH{bTL&y)@CvT`N77(&9!?!|3|AvPLRX-8m)`zgKg_`q;MS5Wqx1D^(|Jg8MSZKw^UMF^>mI>- z2W~C7GCFTto6a4HT&+&$554B&zm7oz-nHb)=zQzibnZ;#YIQn)^q+tKoRjCZ*>8nMV-66kC0Bj*O%FtU^=@X!zIu57iKzET#F%NT_h^diBDt;J ze*Xy#AYupQh$?&8KwSlOH>i7sy4O(mI@BM2=P!MQsR6jPM5|w@`wex!p=PdS*t83E zyP{~{OVUY)N4uCfKU$@>H$OD&z?7ww@_CM zb;Y5krxGwwv(rB619dN``-QsSQ1?63AOFKw|9~BBz^$dY28DXiP!AevW?TkOt5CNZ z>Q;xEo=V23a)6zv{h;mx^?*J(ZYI2I)Pq7jXs8Dr>TfJO`VEJAEiv0D)Ef=;MnlcK%SQRCP*)9g z)uE=RiI{DO2BJYw4}f}uP;W5Q8yxDlKm57RV+qp4wZv?bP;WBSn+!EmFQd0tsCx}{ zuR~2w6EWM!R^kny9t8D9q26eyH#*dhfBqwXjq(KbT4FXV)We2)*ibY3GJyMpy3bJe zIn?wt5wlI~c-{!=4WQm6)SC?TCWrdVzxX%rLw|yLEioGs>LEitWT=^d8NmHQ-EXM- z9cp@-h}m$oG1>&`ji4SD>S04Y>`?#iS6}@hR2it(60;7W?l9E2q^K112?KaQs0R%7 zfJ04B6EPcN_x3QTH-UOcsD}*okVE~;-On(2 z=up$sM9ezaWG>XhpzaXr4ny7HP|u$K){_|6pk7PNx`evRP;(j+)aVli@CKpYV5m1Z z)bunFGd9mgL!cf4b*E5w8tP7m`u&q{e#oI-OU!zNy2nuW7;5wh19+oQZ#2{!9qM7R z!n7ItdZSKIcYwM}sJjexmqY!!OHa0>Q1YZK}=L(O_Gy+)t(OL9TI$xv@{sE5P~ z(`F!!x?~DXR)~)lgRrHR?pFRH&P#YY5IU!?g(h{jdD~*O)zkTT7Ys3U#lc z=2AU+jXIGk73!wx8iJdYtxoV?e)GjQF?)b|EiqfcG+S=EhTtYEiqfpG+SZ1hTtY*mI-<-K*y2c(@VY-Ik>zFei|JGYR=}@mF zW>+v>L-2J>n*aRBfBN%+@p>&WyMp-|g0ExJygc{zSGxInEp5hK9_yX4A-IVdC*T`K z%F@W|8(;CupLVF%5;HD5SnrGt!A;B*MCnMZ!lgl!sfDk8)1h8Vn{_Z*FFRv*YTE2H z6RFdgND$n_Z1p(Gr@sE{A6TEGxx#$iCB$8ZxXU5txU0kr%bv(aBb2g~;P3tJM}Cu# zGa;9?#B7E6xPgR3c+!Z=#$ zU_)>dv(|9ICmYc6}_?EiY8zkW^IxNc2Y6J_HO8676|FbV)n{8ZM z%vPAMm%0E%CnaW7sXLVvr&O>ol#d&lj~hB4ck!S9@=Y!zT+vce#g?#$`VsNuXobI& zRK=--;7!34X6&WDJ;n>i)x~R&gIdwqrBUHmPrmAVn1y}IiWz%nD9B%1JriQzy>|2U z(%6-$lrmmF2TfT=qlOUFW%asjy)L_6zu~t&^i^y#;9Aw|R_iqZM|!P2LPE`7Lyc1h za?imw_j*ahjw=Bm7ZtML*U)7pAubu>l0*FP?3<>DW}wcvz{_aEU)M$2(Pr%+(ySF< zZN>w$7sfI7dP%1pqZzO1l4F^|EyCPlm|Gm?U-*R&d74LFXJHq;RQ74^?(RI)6vg7hmZ8Tv0JGyo>7~-*Y zG#KEqWi+Vrh)07?9+BO66kVfzcx={UlUv6(4+QOJs=66%64n>5XBRvyYjpCJ^AEk ze*W*DeDaH1RejICw}0^m>{|WslkY$Cf_(PBHOU3yi*L94!zMpoIOXWaiHr09^vLAo z+sCpk@kY8?RkJVUx0X3e^$bMR!(1sJFUaOoCR;Xx6ec6?3<#!TN}ls%b%t?X-3_3|D`i&4<+=0BMSqAG&SG zlqmB~;0jBFvRz3poC2%9)?|AwFr_CkpAArU=s9kxG^Ixp2P<4sUn7YVvMy<3BWWg0 zVl@Dftw9}BXCUcyigPdGTHY^SME?q5Nutx+}%c2HXSYp3y!}12mUq z0Q=c0o9RVv8QSQnndY+a*w0qkOlNW~XUJ2L`6fplwQija@gVMiFrErMPGw#nvzls9 zkiwELN_Z+YW{R0%8eDelbmWyPm`}w+wkx*C+8?h!`>wd-GV_b})(7iUfQ7D8rC zu%#B+^^B6l($IL&Wm>6m;7XXeWVm)!m4`U|gGCyex@AGom6d$s~}%9f1EX>0+AH-$+_WlZG2f7t*9n zmQ?HYrE<}v(ix^3GBxAuNG}1677cg>YR(}TDp>Rnm!Zpdn?ZL-29mAyH|iwS=L zmM<%ny?Mpk8ErZhZ^8zZh`_CA6N3AcyrvUnqOH?jk!=_IG?DeQ*X742d z4rq�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