From 393574aa8d44aaebba5d00ae41d0525db4565ae3 Mon Sep 17 00:00:00 2001 From: Daniel Shiposha Date: Mon, 30 Jun 2025 12:48:06 +0200 Subject: [PATCH 001/172] fix: fast track proposal script --- js-packages/scripts/blocktimes.ts | 5 +++++ js-packages/scripts/proposefasttrack.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 js-packages/scripts/blocktimes.ts diff --git a/js-packages/scripts/blocktimes.ts b/js-packages/scripts/blocktimes.ts new file mode 100644 index 0000000000..04a3ed8927 --- /dev/null +++ b/js-packages/scripts/blocktimes.ts @@ -0,0 +1,5 @@ +export const MILLISECS_PER_BLOCK = 6000; + +export const MINUTES = 60_000 / MILLISECS_PER_BLOCK; +export const HOURS = 60 * MINUTES; +export const DAYS = 24 * HOURS; diff --git a/js-packages/scripts/proposefasttrack.ts b/js-packages/scripts/proposefasttrack.ts index 9e06d33a34..51ce3ff70c 100644 --- a/js-packages/scripts/proposefasttrack.ts +++ b/js-packages/scripts/proposefasttrack.ts @@ -1,5 +1,6 @@ import {ApiPromise, WsProvider} from '@polkadot/api'; import {blake2AsHex} from '@polkadot/util-crypto'; +import {DAYS} from './blocktimes'; async function main() { if(process.argv.length != 4) { @@ -28,7 +29,7 @@ async function main() { proposalHash = proposal; } - const voringPeriod = 7200; + const voringPeriod = 1 * DAYS; const delay = 10; const democracyFastTrack = api.tx.democracy.fastTrack(proposalHash, voringPeriod, delay); From 1d146c947173ba80af198555721f38ac3de3ede5 Mon Sep 17 00:00:00 2001 From: Lach Date: Tue, 8 Jul 2025 10:54:51 +0200 Subject: [PATCH 002/172] build: update flake --- flake.lock | 8 ++++---- flake.nix | 9 ++++++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index bcc2dc32ed..4d9d496f9f 100644 --- a/flake.lock +++ b/flake.lock @@ -101,16 +101,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1742937945, - "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", + "lastModified": 1751960864, + "narHash": "sha256-gw9VCpLkAFk9dCinpttSxueUYln5yt+2wRLZmQ1Xfnc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", + "rev": "dbf10a6743fe8e005c9ee3f6a6e2b49a8737e1c0", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 5a2474131f..5db5c65bbc 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "Unique Network Node"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/release-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/release-25.05"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; @@ -62,6 +62,9 @@ # Build cargo-edit rustPlatform.bindgenHook + pkg-config + # TODO: OpenSSL seems to be optional, switch usage (fc-db) to rustls, or disable irrelevant database backends (we use sqlite for storage, why do we even bring openssl dependency?) + openssl # Solidity stubs solc @@ -72,8 +75,8 @@ inputs'.chainql.packages.chainql # Test - nodejs_23 - (yarn-berry.override { nodejs = nodejs_23; }) + nodejs_24 + (yarn-berry.override { nodejs = nodejs_24; }) # Format taplo-cli From 6a9adf2f3704ec4a0b2d075c33b0af1e8b0b5d95 Mon Sep 17 00:00:00 2001 From: Lach Date: Tue, 8 Jul 2025 10:55:48 +0200 Subject: [PATCH 003/172] build: update Cargo.lock --- Cargo.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7cb74c1282..268d38fcce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7232,7 +7232,7 @@ checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" [[package]] name = "opal-runtime" -version = "1.17.0" +version = "1.18.0" dependencies = [ "app-promotion-rpc", "cumulus-pallet-aura-ext", @@ -11142,7 +11142,7 @@ dependencies = [ [[package]] name = "quartz-runtime" -version = "1.17.0" +version = "1.18.0" dependencies = [ "app-promotion-rpc", "cumulus-pallet-aura-ext", @@ -16537,7 +16537,7 @@ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] name = "unique-node" -version = "1.17.0" +version = "1.18.0" dependencies = [ "app-promotion-rpc", "clap", @@ -16624,7 +16624,7 @@ dependencies = [ [[package]] name = "unique-runtime" -version = "1.17.0" +version = "1.18.0" dependencies = [ "app-promotion-rpc", "cumulus-pallet-aura-ext", @@ -16784,7 +16784,7 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "up-common" -version = "1.17.0" +version = "1.18.0" dependencies = [ "cumulus-primitives-core", "fp-rpc", From bb80d781de1ea27a2ac29c02997ec3852425fd96 Mon Sep 17 00:00:00 2001 From: Lach Date: Tue, 8 Jul 2025 10:55:59 +0200 Subject: [PATCH 004/172] feat: configurable CheckAssociatedRelayNumber --- Cargo.lock | 2 ++ Cargo.toml | 1 + pallets/configuration/Cargo.toml | 5 ++++ pallets/configuration/src/benchmarking.rs | 13 ++++++++ pallets/configuration/src/lib.rs | 36 ++++++++++++++++++++++- pallets/configuration/src/weights.rs | 10 +++++++ runtime/common/config/parachain.rs | 3 +- 7 files changed, 67 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 268d38fcce..f4014c83ed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7965,6 +7965,7 @@ dependencies = [ name = "pallet-configuration" version = "0.2.0" dependencies = [ + "cumulus-pallet-parachain-system", "fp-evm", "frame-benchmarking", "frame-support", @@ -7972,6 +7973,7 @@ dependencies = [ "hex-literal", "log", "parity-scale-codec", + "polkadot-core-primitives", "scale-info", "smallvec", "sp-arithmetic", diff --git a/Cargo.toml b/Cargo.toml index c519281cdb..9a0f4c6e6a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -151,6 +151,7 @@ parachains-common = { default-features = false, version = "21.0.0" } parity-scale-codec = { version = "3.6.12", features = ["derive"], default-features = false } polkadot-cli = { default-features = false, version = "23.0.0" } polkadot-parachain-primitives = { default-features = false, version = "16.1.0" } +polkadot-core-primitives = { default-features = false, version = "17.1.0" } polkadot-primitives = { default-features = false, version = "18.1.0" } polkadot-runtime-common = { default-features = false, version = "19.1.0" } polkadot-service = { default-features = false, version = "23.0.0" } diff --git a/pallets/configuration/Cargo.toml b/pallets/configuration/Cargo.toml index 0a774481fa..cfb8a5cec8 100644 --- a/pallets/configuration/Cargo.toml +++ b/pallets/configuration/Cargo.toml @@ -20,6 +20,9 @@ sp-std = { workspace = true } staging-xcm = { workspace = true } up-common = { workspace = true } +cumulus-pallet-parachain-system = { workspace = true } +polkadot-core-primitives = { workspace = true } + hex-literal = { workspace = true } log = { workspace = true } @@ -37,5 +40,7 @@ std = [ "sp-io/std", "sp-runtime/std", "sp-std/std", + "cumulus-pallet-parachain-system/std", + "polkadot-core-primitives/std", ] try-runtime = ["frame-support/try-runtime"] diff --git a/pallets/configuration/src/benchmarking.rs b/pallets/configuration/src/benchmarking.rs index c9b118c356..9bdc6ba334 100644 --- a/pallets/configuration/src/benchmarking.rs +++ b/pallets/configuration/src/benchmarking.rs @@ -146,4 +146,17 @@ mod benchmarks { Ok(()) } + + #[benchmark] + fn set_relay_block_number_checks() -> Result<(), BenchmarkError> { + #[block] + { + assert_ok!(>::set_relay_block_number_checks( + RawOrigin::Root.into(), + false + )); + } + + Ok(()) + } } diff --git a/pallets/configuration/src/lib.rs b/pallets/configuration/src/lib.rs index 6f8fa4bb1b..eb1eb15068 100644 --- a/pallets/configuration/src/lib.rs +++ b/pallets/configuration/src/lib.rs @@ -20,11 +20,12 @@ use core::marker::PhantomData; use frame_support::{ pallet, - traits::Get, + traits::{ConstBool, Get}, weights::{Weight, WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial}, }; pub use pallet::*; use parity_scale_codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen}; +use polkadot_core_primitives::BlockNumber as RelayChainBlockNumber; use scale_info::TypeInfo; use smallvec::smallvec; use sp_arithmetic::{ @@ -185,6 +186,10 @@ mod pallet { OnEmpty = T::DefaultCollatorSelectionKickThreshold, >; + #[pallet::storage] + pub type RelayBlockNumberChecks = + StorageValue>; + #[pallet::call] impl Pallet { #[pallet::call_index(0)] @@ -288,6 +293,21 @@ mod pallet { }); Ok(()) } + + #[pallet::call_index(7)] + #[pallet::weight(T::WeightInfo::set_collator_selection_kick_threshold())] + pub fn set_relay_block_number_checks( + origin: OriginFor, + enabled: bool, + ) -> DispatchResult { + ensure_root(origin)?; + if enabled { + >::kill(); + } else { + >::set(false); + } + Ok(()) + } } #[pallet::pallet] @@ -348,3 +368,17 @@ pub struct AppPromotionConfiguration { /// Maximum allowable number of stakers calculated per call of the `app-promotion::PayoutStakers` extrinsic. pub max_stakers_per_calculation: Option, } + +pub struct CheckAssociatedRelayNumber(PhantomData); +impl cumulus_pallet_parachain_system::CheckAssociatedRelayNumber + for CheckAssociatedRelayNumber +{ + fn check_associated_relay_number( + current: RelayChainBlockNumber, + previous: RelayChainBlockNumber, + ) { + if >::get() { + cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases::check_associated_relay_number(current, previous) + } + } +} diff --git a/pallets/configuration/src/weights.rs b/pallets/configuration/src/weights.rs index 26920bc39e..4f24128dc1 100644 --- a/pallets/configuration/src/weights.rs +++ b/pallets/configuration/src/weights.rs @@ -39,6 +39,8 @@ pub trait WeightInfo { fn set_collator_selection_desired_collators() -> Weight; fn set_collator_selection_license_bond() -> Weight; fn set_collator_selection_kick_threshold() -> Weight; + // TODO: Stubbed, need to re-run benchmarks + fn set_relay_block_number_checks() -> Weight; } /// Weights for pallet_configuration using the Substrate node and recommended hardware. @@ -108,6 +110,10 @@ impl WeightInfo for SubstrateWeight { Weight::from_parts(5_201_000, 0) .saturating_add(T::DbWeight::get().writes(1_u64)) } + fn set_relay_block_number_checks() -> Weight { + Weight::from_parts(5_201_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } } // For backwards compatibility and tests @@ -176,5 +182,9 @@ impl WeightInfo for () { Weight::from_parts(5_201_000, 0) .saturating_add(RocksDbWeight::get().writes(1_u64)) } + fn set_relay_block_number_checks() -> Weight { + Weight::from_parts(5_201_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } } diff --git a/runtime/common/config/parachain.rs b/runtime/common/config/parachain.rs index 644ce588d8..90b1632088 100644 --- a/runtime/common/config/parachain.rs +++ b/runtime/common/config/parachain.rs @@ -39,8 +39,7 @@ impl cumulus_pallet_parachain_system::Config for Runtime { type ReservedDmpWeight = ReservedDmpWeight; type ReservedXcmpWeight = ReservedXcmpWeight; type XcmpMessageHandler = XcmpQueue; - type CheckAssociatedRelayNumber = - cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases; + type CheckAssociatedRelayNumber = pallet_configuration::CheckAssociatedRelayNumber; type ConsensusHook = ConsensusHookWrapper; type SelectCore = cumulus_pallet_parachain_system::DefaultCoreSelector; } From efb403e8fb28249f4eaaddaedff69632b4c1b2f0 Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Tue, 12 Aug 2025 10:19:01 +0000 Subject: [PATCH 005/172] increase `MaxMemoryPages` for relay --- .baedeker/xcm-opal.jsonnet | 37 ++++++++++++++++++++---------------- .baedeker/xcm-quartz.jsonnet | 35 +++++++++++++++++++--------------- .baedeker/xcm-unique.jsonnet | 35 +++++++++++++++++++--------------- 3 files changed, 61 insertions(+), 46 deletions(-) diff --git a/.baedeker/xcm-opal.jsonnet b/.baedeker/xcm-opal.jsonnet index a9c4f135c4..ff8a4c0fff 100644 --- a/.baedeker/xcm-opal.jsonnet +++ b/.baedeker/xcm-opal.jsonnet @@ -15,22 +15,27 @@ local relay = { m.simplifyGenesisName(), { _genesis+: { - configuration+: { - config+: { - async_backing_params+: { - allowed_ancestry_len: 3, - max_candidate_depth: 4, - }, - validation_upgrade_cooldown: 200, - validation_upgrade_delay: 100, - minimum_validation_upgrade_delay: 15, - minimum_backing_votes: 2, - needed_approvals: 2, - scheduler_params+: { - lookahead: 3, - }, - }, - }, + configuration+: { + config+: { + async_backing_params+: { + allowed_ancestry_len: 3, + max_candidate_depth: 4, + }, + validation_upgrade_cooldown: 200, + validation_upgrade_delay: 100, + minimum_validation_upgrade_delay: 15, + minimum_backing_votes: 2, + needed_approvals: 2, + scheduler_params+: { + lookahead: 3, + }, + executor_params: [ + { MaxMemoryPages: 8192 }, + { PvfExecTimeout: [ "Backing", 2500 ] }, + { PvfExecTimeout: [ "Approval", 15000 ] } + ], + }, + }, }, }, m.unsimplifyGenesisName(), diff --git a/.baedeker/xcm-quartz.jsonnet b/.baedeker/xcm-quartz.jsonnet index 1053266439..e9a2199d23 100644 --- a/.baedeker/xcm-quartz.jsonnet +++ b/.baedeker/xcm-quartz.jsonnet @@ -23,22 +23,27 @@ local relay = { m.simplifyGenesisName(), { _genesis+: { - configuration+: { - config+: { - async_backing_params+: { - allowed_ancestry_len: 3, - max_candidate_depth: 4, - }, - validation_upgrade_cooldown: 200, - validation_upgrade_delay: 100, - minimum_validation_upgrade_delay: 15, - minimum_backing_votes: 2, - needed_approvals: 2, - scheduler_params+: { - lookahead: 3, - }, - }, + configuration+: { + config+: { + async_backing_params+: { + allowed_ancestry_len: 3, + max_candidate_depth: 4, }, + validation_upgrade_cooldown: 200, + validation_upgrade_delay: 100, + minimum_validation_upgrade_delay: 15, + minimum_backing_votes: 2, + needed_approvals: 2, + scheduler_params+: { + lookahead: 3, + }, + executor_params: [ + { MaxMemoryPages: 8192 }, + { PvfExecTimeout: [ "Backing", 2500 ] }, + { PvfExecTimeout: [ "Approval", 15000 ] } + ], + }, + }, }, }, m.unsimplifyGenesisName(), diff --git a/.baedeker/xcm-unique.jsonnet b/.baedeker/xcm-unique.jsonnet index 0aa0602c28..b8b7b23bd3 100644 --- a/.baedeker/xcm-unique.jsonnet +++ b/.baedeker/xcm-unique.jsonnet @@ -23,22 +23,27 @@ local relay = { m.simplifyGenesisName(), { _genesis+: { - configuration+: { - config+: { - async_backing_params+: { - allowed_ancestry_len: 3, - max_candidate_depth: 4, - }, - validation_upgrade_cooldown: 200, - validation_upgrade_delay: 100, - minimum_validation_upgrade_delay: 15, - minimum_backing_votes: 2, - needed_approvals: 2, - scheduler_params+: { - lookahead: 3, - }, - }, + configuration+: { + config+: { + async_backing_params+: { + allowed_ancestry_len: 3, + max_candidate_depth: 4, }, + validation_upgrade_cooldown: 200, + validation_upgrade_delay: 100, + minimum_validation_upgrade_delay: 15, + minimum_backing_votes: 2, + needed_approvals: 2, + scheduler_params+: { + lookahead: 3, + }, + executor_params: [ + { MaxMemoryPages: 8192 }, + { PvfExecTimeout: [ "Backing", 2500 ] }, + { PvfExecTimeout: [ "Approval", 15000 ] } + ], + }, + }, }, }, m.unsimplifyGenesisName(), From 6bbee86b520822cce41559b7fb610fa93f397fad Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Thu, 17 Jul 2025 07:45:24 +0000 Subject: [PATCH 006/172] switch project to deno --- js-packages/deno.json | 19 + js-packages/deno.lock | 2084 +++++++++++++++++ js-packages/import_map.json | 13 + js-packages/package.json | 5 +- js-packages/playgrounds/types.ts | 6 +- js-packages/playgrounds/unique.ts | 30 +- js-packages/scripts/authorizeEnactUpgrade.ts | 2 +- .../scripts/benchmarks/mintFee/index.ts | 3 +- .../scripts/benchmarks/nesting/index.ts | 2 +- .../scripts/benchmarks/opsFee/index.ts | 2 +- .../scripts/benchmarks/utils/common.ts | 1 + js-packages/scripts/calibrate.ts | 4 +- js-packages/scripts/calibrateApply.ts | 4 +- js-packages/scripts/fetchMetadata.ts | 8 +- js-packages/scripts/generateEnv.ts | 4 +- js-packages/scripts/identitySetter.ts | 2 +- js-packages/scripts/leaseStatus.ts | 2 +- js-packages/scripts/proposeupgrade.ts | 2 +- js-packages/scripts/relayIdentitiesChecker.ts | 10 +- js-packages/scripts/setCode.ts | 2 +- js-packages/scripts/transfer.nload.ts | 4 +- js-packages/test-utils/eth/index.ts | 13 +- js-packages/test-utils/eth/types.ts | 5 +- js-packages/test-utils/eth/util.ts | 10 +- js-packages/test-utils/globalSetup.ts | 8 +- js-packages/test-utils/governance.ts | 4 +- js-packages/test-utils/index.ts | 45 +- js-packages/test-utils/package.json | 2 +- js-packages/test-utils/util.ts | 15 +- js-packages/test-utils/xcm/index.ts | 6 +- js-packages/tests/addCollectionAdmin.test.ts | 8 +- js-packages/tests/config.ts | 2 +- js-packages/tests/createMultipleItems.test.ts | 2 +- js-packages/tests/eth/collectionAdmin.test.ts | 10 +- .../tests/eth/collectionProperties.test.ts | 1 + .../tests/eth/collectionSponsoring.test.ts | 1 + .../tests/eth/createCollection.test.ts | 1 + .../eth/fractionalizer/fractionalizer.test.ts | 2 +- .../eth/marketplace-v2/marketplace.test.ts | 2 +- .../tests/eth/marketplace/marketplace.test.ts | 10 +- js-packages/tests/eth/nonFungible.test.ts | 1 + .../tests/eth/proxy/fungibleProxy.test.ts | 2 +- .../tests/eth/proxy/nonFungibleProxy.test.ts | 2 +- js-packages/tests/eth/reFungible.test.ts | 1 + js-packages/tests/eth/reFungibleToken.test.ts | 1 + js-packages/tests/eth/tokenProperties.test.ts | 1 + js-packages/tests/maintenance.seqtest.ts | 2 +- js-packages/tests/nativeFungible.test.ts | 6 +- .../sub/appPromotion/appPromotion.test.ts | 4 +- js-packages/tests/sub/governance/util.ts | 7 +- .../sub/nesting/collectionProperties.test.ts | 2 +- .../sub/nesting/propertyPermissions.test.ts | 2 +- js-packages/tests/sub/nesting/unnest.test.ts | 2 +- js-packages/tests/tx-version-presence.test.ts | 4 +- js-packages/tests/xcm/unique.test.ts | 6 +- js-packages/tests/xcm/xcm.types.ts | 6 +- js-packages/tsconfig.json | 3 + js-packages/types/augment-api.ts | 14 +- js-packages/types/default/definitions.ts | 2 +- js-packages/types/definitions.ts | 8 +- 60 files changed, 2289 insertions(+), 143 deletions(-) create mode 100644 js-packages/deno.json create mode 100644 js-packages/deno.lock create mode 100644 js-packages/import_map.json diff --git a/js-packages/deno.json b/js-packages/deno.json new file mode 100644 index 0000000000..dd66008a98 --- /dev/null +++ b/js-packages/deno.json @@ -0,0 +1,19 @@ +{ + "version": "1.0.0", + "workspace": [ + "./evm-abi", + "./types", + "./test-utils", + "./playgrounds", + "./scripts", + "./tests" + ], + "compilerOptions": { + "checkJs": false, + "strict": true, + "noImplicitAny": false + }, + "unstable": [ + "sloppy-imports" + ] + } \ No newline at end of file diff --git a/js-packages/deno.lock b/js-packages/deno.lock new file mode 100644 index 0000000000..22a240f02a --- /dev/null +++ b/js-packages/deno.lock @@ -0,0 +1,2084 @@ +{ + "version": "5", + "specifiers": { + "npm:@openzeppelin/contracts@^4.9.2": "4.9.6", + "npm:@polkadot/api-base@^16.4.1": "16.4.1", + "npm:@polkadot/api@15.5.2": "15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "npm:@polkadot/keyring@^13.5.3": "13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "npm:@polkadot/rpc-core@^16.4.1": "16.4.1", + "npm:@polkadot/typegen@15.5.2": "15.5.2_@polkadot+util@13.5.3", + "npm:@polkadot/types-codec@^16.4.1": "16.4.1", + "npm:@polkadot/util-crypto@^13.3.1": "13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "npm:@polkadot/util@^13.3.1": "13.5.3", + "npm:@types/chai-as-promised@^7.1.8": "7.1.8", + "npm:@types/chai-like@^1.1.3": "1.1.3", + "npm:@types/chai-subset@^1.3.6": "1.3.6_@types+chai@4.3.20", + "npm:@types/chai@^4.3.20": "4.3.20", + "npm:@types/mocha@^10.0.10": "10.0.10", + "npm:@types/node@^20.8.10": "20.19.7", + "npm:@typescript-eslint/eslint-plugin@8.27.0": "8.27.0_@typescript-eslint+parser@8.27.0__eslint@8.57.1__typescript@5.8.3_eslint@8.57.1_typescript@5.8.3", + "npm:@typescript-eslint/parser@8.27.0": "8.27.0_eslint@8.57.1_typescript@5.8.3", + "npm:chai-as-promised@^7.1.1": "7.1.2_chai@4.5.0", + "npm:chai-like@^1.1.1": "1.1.3_chai@4.5.0", + "npm:chai-subset@^1.6.0": "1.6.0", + "npm:chai@^4.5.0": "4.5.0", + "npm:csv-writer@^1.6.0": "1.6.0", + "npm:eslint-plugin-mocha@^10.2.0": "10.5.0_eslint@8.57.1", + "npm:eslint@^8.53.0": "8.57.1", + "npm:ethers@6.13.5": "6.13.5", + "npm:mocha@^10.1.0": "10.8.2", + "npm:solc@~0.8.22": "0.8.30", + "npm:tsx@4.19.3": "4.19.3", + "npm:typescript@5.8.3": "5.8.3" + }, + "npm": { + "@adraffy/ens-normalize@1.10.1": { + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" + }, + "@esbuild/aix-ppc64@0.25.6": { + "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", + "os": ["aix"], + "cpu": ["ppc64"] + }, + "@esbuild/android-arm64@0.25.6": { + "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", + "os": ["android"], + "cpu": ["arm64"] + }, + "@esbuild/android-arm@0.25.6": { + "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", + "os": ["android"], + "cpu": ["arm"] + }, + "@esbuild/android-x64@0.25.6": { + "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", + "os": ["android"], + "cpu": ["x64"] + }, + "@esbuild/darwin-arm64@0.25.6": { + "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", + "os": ["darwin"], + "cpu": ["arm64"] + }, + "@esbuild/darwin-x64@0.25.6": { + "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", + "os": ["darwin"], + "cpu": ["x64"] + }, + "@esbuild/freebsd-arm64@0.25.6": { + "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", + "os": ["freebsd"], + "cpu": ["arm64"] + }, + "@esbuild/freebsd-x64@0.25.6": { + "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", + "os": ["freebsd"], + "cpu": ["x64"] + }, + "@esbuild/linux-arm64@0.25.6": { + "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", + "os": ["linux"], + "cpu": ["arm64"] + }, + "@esbuild/linux-arm@0.25.6": { + "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", + "os": ["linux"], + "cpu": ["arm"] + }, + "@esbuild/linux-ia32@0.25.6": { + "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", + "os": ["linux"], + "cpu": ["ia32"] + }, + "@esbuild/linux-loong64@0.25.6": { + "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", + "os": ["linux"], + "cpu": ["loong64"] + }, + "@esbuild/linux-mips64el@0.25.6": { + "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", + "os": ["linux"], + "cpu": ["mips64el"] + }, + "@esbuild/linux-ppc64@0.25.6": { + "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", + "os": ["linux"], + "cpu": ["ppc64"] + }, + "@esbuild/linux-riscv64@0.25.6": { + "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", + "os": ["linux"], + "cpu": ["riscv64"] + }, + "@esbuild/linux-s390x@0.25.6": { + "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", + "os": ["linux"], + "cpu": ["s390x"] + }, + "@esbuild/linux-x64@0.25.6": { + "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", + "os": ["linux"], + "cpu": ["x64"] + }, + "@esbuild/netbsd-arm64@0.25.6": { + "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", + "os": ["netbsd"], + "cpu": ["arm64"] + }, + "@esbuild/netbsd-x64@0.25.6": { + "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", + "os": ["netbsd"], + "cpu": ["x64"] + }, + "@esbuild/openbsd-arm64@0.25.6": { + "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", + "os": ["openbsd"], + "cpu": ["arm64"] + }, + "@esbuild/openbsd-x64@0.25.6": { + "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", + "os": ["openbsd"], + "cpu": ["x64"] + }, + "@esbuild/openharmony-arm64@0.25.6": { + "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", + "os": ["openharmony"], + "cpu": ["arm64"] + }, + "@esbuild/sunos-x64@0.25.6": { + "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", + "os": ["sunos"], + "cpu": ["x64"] + }, + "@esbuild/win32-arm64@0.25.6": { + "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", + "os": ["win32"], + "cpu": ["arm64"] + }, + "@esbuild/win32-ia32@0.25.6": { + "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", + "os": ["win32"], + "cpu": ["ia32"] + }, + "@esbuild/win32-x64@0.25.6": { + "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", + "os": ["win32"], + "cpu": ["x64"] + }, + "@eslint-community/eslint-utils@4.7.0_eslint@8.57.1": { + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dependencies": [ + "eslint", + "eslint-visitor-keys@3.4.3" + ] + }, + "@eslint-community/regexpp@4.12.1": { + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==" + }, + "@eslint/eslintrc@2.1.4": { + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dependencies": [ + "ajv", + "debug", + "espree", + "globals", + "ignore", + "import-fresh", + "js-yaml", + "minimatch@3.1.2", + "strip-json-comments" + ] + }, + "@eslint/js@8.57.1": { + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==" + }, + "@humanwhocodes/config-array@0.13.0": { + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "dependencies": [ + "@humanwhocodes/object-schema", + "debug", + "minimatch@3.1.2" + ], + "deprecated": true + }, + "@humanwhocodes/module-importer@1.0.1": { + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@humanwhocodes/object-schema@2.0.3": { + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": true + }, + "@noble/curves@1.2.0": { + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "dependencies": [ + "@noble/hashes@1.3.2" + ] + }, + "@noble/curves@1.9.2": { + "integrity": "sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==", + "dependencies": [ + "@noble/hashes@1.8.0" + ] + }, + "@noble/hashes@1.3.2": { + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" + }, + "@noble/hashes@1.8.0": { + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==" + }, + "@nodelib/fs.scandir@2.1.5": { + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": [ + "@nodelib/fs.stat", + "run-parallel" + ] + }, + "@nodelib/fs.stat@2.0.5": { + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk@1.2.8": { + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": [ + "@nodelib/fs.scandir", + "fastq" + ] + }, + "@openzeppelin/contracts@4.9.6": { + "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" + }, + "@polkadot-api/json-rpc-provider-proxy@0.1.0": { + "integrity": "sha512-8GSFE5+EF73MCuLQm8tjrbCqlgclcHBSRaswvXziJ0ZW7iw3UEMsKkkKvELayWyBuOPa2T5i1nj6gFOeIsqvrg==" + }, + "@polkadot-api/json-rpc-provider@0.0.1": { + "integrity": "sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==" + }, + "@polkadot-api/metadata-builders@0.3.2": { + "integrity": "sha512-TKpfoT6vTb+513KDzMBTfCb/ORdgRnsS3TDFpOhAhZ08ikvK+hjHMt5plPiAX/OWkm1Wc9I3+K6W0hX5Ab7MVg==", + "dependencies": [ + "@polkadot-api/substrate-bindings", + "@polkadot-api/utils" + ] + }, + "@polkadot-api/observable-client@0.3.2_@polkadot-api+substrate-client@0.1.4_rxjs@7.8.2": { + "integrity": "sha512-HGgqWgEutVyOBXoGOPp4+IAq6CNdK/3MfQJmhCJb8YaJiaK4W6aRGrdQuQSTPHfERHCARt9BrOmEvTXAT257Ug==", + "dependencies": [ + "@polkadot-api/metadata-builders", + "@polkadot-api/substrate-bindings", + "@polkadot-api/substrate-client", + "@polkadot-api/utils", + "rxjs" + ] + }, + "@polkadot-api/substrate-bindings@0.6.0": { + "integrity": "sha512-lGuhE74NA1/PqdN7fKFdE5C1gNYX357j1tWzdlPXI0kQ7h3kN0zfxNOpPUN7dIrPcOFZ6C0tRRVrBylXkI6xPw==", + "dependencies": [ + "@noble/hashes@1.8.0", + "@polkadot-api/utils", + "@scure/base", + "scale-ts" + ] + }, + "@polkadot-api/substrate-client@0.1.4": { + "integrity": "sha512-MljrPobN0ZWTpn++da9vOvt+Ex+NlqTlr/XT7zi9sqPtDJiQcYl+d29hFAgpaeTqbeQKZwz3WDE9xcEfLE8c5A==", + "dependencies": [ + "@polkadot-api/json-rpc-provider", + "@polkadot-api/utils" + ] + }, + "@polkadot-api/utils@0.1.0": { + "integrity": "sha512-MXzWZeuGxKizPx2Xf/47wx9sr/uxKw39bVJUptTJdsaQn/TGq+z310mHzf1RCGvC1diHM8f593KrnDgc9oNbJA==" + }, + "@polkadot/api-augment@15.5.2": { + "integrity": "sha512-EuE13KeifPj6PBfR3qMtqCq+Clbly/VX5adh53ljw7XTtHt8MKTlvhTK9pO9WHnixL6hUVH1f/Ekuzt8ROhpAg==", + "dependencies": [ + "@polkadot/api-base@15.5.2", + "@polkadot/rpc-augment@15.5.2", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-augment@15.5.2", + "@polkadot/types-codec@15.5.2", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/api-base@15.5.2": { + "integrity": "sha512-e8W2KRwn6pkI/JIOrOCT2RsVil072vxQ95X2HCqu5eMmn5vwyOHB2OaMWezXikMegnCF3XEDeIzSP/VxGWW+zA==", + "dependencies": [ + "@polkadot/rpc-core@15.5.2", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/util", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/api-base@16.4.1": { + "integrity": "sha512-3Dms/nbyqgObMqqhKi9n9FVewb5Is2zCLRLXJaEEYPF4MpbwyTvzORtJn3PlltlGJbLC9d2sIM41jrpYZRrXXw==", + "dependencies": [ + "@polkadot/rpc-core@16.4.1", + "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/util", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/api-derive@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-eSSPE0O9LE9jsRJIBqrPfHa7vCjE3NR+3ATdwAKBwK9LUfeCEEWud7c53njW8wLMSOiczxcX3JS2J9Rb0q7HCA==", + "dependencies": [ + "@polkadot/api", + "@polkadot/api-augment", + "@polkadot/api-base@15.5.2", + "@polkadot/rpc-core@15.5.2", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-codec@15.5.2", + "@polkadot/util", + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/api@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-TZPJlnoYr5kAfINooSmbvUcUCQnKDmTdLKNJmMh7CvCOYqQSJjFnMyfxhjM1bBTIcqnP9nFIGkldy19ErZHtcQ==", + "dependencies": [ + "@polkadot/api-augment", + "@polkadot/api-base@15.5.2", + "@polkadot/api-derive", + "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/rpc-augment@15.5.2", + "@polkadot/rpc-core@15.5.2", + "@polkadot/rpc-provider@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-augment@15.5.2", + "@polkadot/types-codec@15.5.2", + "@polkadot/types-create@15.5.2", + "@polkadot/types-known", + "@polkadot/util", + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "eventemitter3", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/keyring@13.5.3": { + "integrity": "sha512-b9vxcb29jMHEc9OrWRxOstkOIWjIBsSzF9Zg5EsUeYtfwxzKinDccI5uAbkx0R6x7+IjJ6xeFJGpbX2A2U/nWg==" + }, + "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-b9vxcb29jMHEc9OrWRxOstkOIWjIBsSzF9Zg5EsUeYtfwxzKinDccI5uAbkx0R6x7+IjJ6xeFJGpbX2A2U/nWg==", + "dependencies": [ + "@polkadot/util", + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "tslib@2.8.1" + ] + }, + "@polkadot/networks@13.5.3": { + "integrity": "sha512-90UbcIYZArg0DcP+6ZRWKy6Xqo0r46WfBuaKvYJIvfObgr5Pm4aPnAagEKehLJAStRdhEOpYozmKT1v3z8dHcw==", + "dependencies": [ + "@polkadot/util", + "@substrate/ss58-registry", + "tslib@2.8.1" + ] + }, + "@polkadot/rpc-augment@15.5.2": { + "integrity": "sha512-eDCcmgrb/csOcav/RRBPFkOdPRvRXVYlksCGlQuzobYkPZfPz5tIKmgenip/5qnviR6gag6tK9ara+8kZ/7tpw==", + "dependencies": [ + "@polkadot/rpc-core@15.5.2", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-codec@15.5.2", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/rpc-augment@16.4.1": { + "integrity": "sha512-kwkAunE/yG5SXZfLOjJEHo76zOs7LMYl0DQk94ntU5xPkXc9z59Dqt5hc19mfPk3Jm6VTzPguT7a1wEn3JnMVQ==", + "dependencies": [ + "@polkadot/rpc-core@16.4.1", + "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-codec@16.4.1", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/rpc-core@15.5.2": { + "integrity": "sha512-a4Xq3iEJvRA9gHE+QxMaIEOkgjuZUfW+uI3XLDtPgtxu2yF3hceyRl/K1m6E4AXR383VaxQ45wvDS1odPbmwaw==", + "dependencies": [ + "@polkadot/rpc-augment@15.5.2", + "@polkadot/rpc-provider@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/util", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/rpc-core@16.4.1": { + "integrity": "sha512-xlw05Ln4Ffu7AcSCb141SVYnuRJ1aqQaBRF9eXV4aOlyocbFYoXNW3rTy/nPzGkRG15+DEgICTqHqHNWXOqM0g==", + "dependencies": [ + "@polkadot/rpc-augment@16.4.1", + "@polkadot/rpc-provider@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/util", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/rpc-provider@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-LHDG4mY5moFdVyUuEyuF9hMVWgA+DoLeNYZjtOL88gSALpfjhBLt1Hjbm3R6VwvcxeVNTkteVGvCo0AlH123JQ==", + "dependencies": [ + "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-support@15.5.2", + "@polkadot/util", + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/x-fetch", + "@polkadot/x-global", + "@polkadot/x-ws", + "eventemitter3", + "mock-socket", + "nock", + "tslib@2.8.1" + ], + "optionalDependencies": [ + "@substrate/connect" + ] + }, + "@polkadot/rpc-provider@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-gCjh44+Zd1CBnqlXrsQGiOHYrKyVbw5VehPSlYzeZBPdjLu5F5VsqPikY14uHtIvpZrkUYAJKk3FVK6uFEoMjQ==", + "dependencies": [ + "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-support@16.4.1", + "@polkadot/util", + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/x-fetch", + "@polkadot/x-global", + "@polkadot/x-ws", + "eventemitter3", + "mock-socket", + "nock", + "tslib@2.8.1" + ], + "optionalDependencies": [ + "@substrate/connect" + ] + }, + "@polkadot/typegen@15.5.2_@polkadot+util@13.5.3": { + "integrity": "sha512-viJyxdonYORmSBfZkBNySZqg7nbnfV5MJZLfPxhjE5psWqLrZGyhjHW1iCLZSyOhKv6h+AClIl8ojQJqEA93OQ==", + "dependencies": [ + "@polkadot/api", + "@polkadot/api-augment", + "@polkadot/rpc-augment@15.5.2", + "@polkadot/rpc-provider@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-augment@15.5.2", + "@polkadot/types-codec@15.5.2", + "@polkadot/types-create@15.5.2", + "@polkadot/types-support@15.5.2", + "@polkadot/util", + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/x-ws", + "handlebars", + "tslib@2.8.1", + "yargs@17.7.2" + ], + "bin": true + }, + "@polkadot/types-augment@15.5.2": { + "integrity": "sha512-Za5ifsiu2gSQkOBjwcCtCr5nz+PojsBoptdHKjMm0JHLgilNn0kNqriqRRrCiPkUO1656UXRQNCHpP6Vs8tncg==", + "dependencies": [ + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-codec@15.5.2", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/types-augment@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-Za5ifsiu2gSQkOBjwcCtCr5nz+PojsBoptdHKjMm0JHLgilNn0kNqriqRRrCiPkUO1656UXRQNCHpP6Vs8tncg==", + "dependencies": [ + "@polkadot/types@15.5.2", + "@polkadot/types-codec@15.5.2", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/types-augment@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-GT1tvtKWFVdWRxPCzfSN8iiYaKxLPZWWtLz+fwb/Og2d23lreZQ9SxjGC8xIgYLgmHbEyhN/cR/LkSdOeEbZAw==", + "dependencies": [ + "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-codec@16.4.1", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/types-codec@15.5.2": { + "integrity": "sha512-caQNGQ+QHVZV4hGSolYN9L9pMRZeo9rJzYoybT5LMIxX8QVdW3RM5HDesj1SKGSrgIJmooN4/5JzPjrFZ4C7Vw==", + "dependencies": [ + "@polkadot/util", + "@polkadot/x-bigint", + "tslib@2.8.1" + ] + }, + "@polkadot/types-codec@16.4.1": { + "integrity": "sha512-ADUlH4++X4Qk29KFE3wmAn6cUDzjSoIuTfaC3ClsYmYEKOEEJAgjIaUfa6CVg+PFyt4fWQ4r3PbFFDQSbYBcjg==", + "dependencies": [ + "@polkadot/util", + "@polkadot/x-bigint", + "tslib@2.8.1" + ] + }, + "@polkadot/types-create@15.5.2": { + "integrity": "sha512-PbrT2mP5x7VTpwCZa/BCl8jl3y/s6UOwrjBL+pq8TErLEbkackn5a3cR4GaH9toeP5qlEaLbSWRFm24YcW8FOg==", + "dependencies": [ + "@polkadot/types-codec@15.5.2", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/types-create@16.4.1": { + "integrity": "sha512-XYTAUrJa9eYwNcYkvbdtydUsbAje449eShHn04+r17PD1yKz3UCnBvpkA20ti1RZja/5U6bvifzkm3QkBP/2mA==", + "dependencies": [ + "@polkadot/types-codec@16.4.1", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/types-known@15.5.2": { + "integrity": "sha512-4yk1DnIeAy4uImFf4yDyRRdgkf5nAagQzPZWO61uxhEA+Q2MxLHLDeLbUwFiLxLLvpM09Xke8rGbem/vPRg9nA==", + "dependencies": [ + "@polkadot/networks", + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-codec@15.5.2", + "@polkadot/types-create@15.5.2", + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/types-support@15.5.2": { + "integrity": "sha512-PT3MTSy69euAPtRQ3c2I7vM0OfAIQXU1yIWpYTcEkG+spTn4d0fcYeJjfxvAmcROJlpJoXf10YMsXKwx+gvOig==", + "dependencies": [ + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/types-support@16.4.1": { + "integrity": "sha512-0RpAB+Eoqu+83rA12QDjf4OlVBit+iYjUoXvXwy1NRcqjHEeVCmgHeXFqEbVUtFMb7Z2Ybrql6eZJkVIS0KOuQ==", + "dependencies": [ + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/types@15.5.2": { + "integrity": "sha512-TANrhfovLgbG00ldFvZbOuwyzqibOOMAU9egGqnoFwz4x4vTNTBgNJRvQGF5w4+FhjcEepdxlLU/3yqFM98yzA==", + "dependencies": [ + "@polkadot/keyring@13.5.3", + "@polkadot/types-augment@15.5.2", + "@polkadot/types-codec@15.5.2", + "@polkadot/types-create@15.5.2", + "@polkadot/util", + "@polkadot/util-crypto@13.5.3", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-TANrhfovLgbG00ldFvZbOuwyzqibOOMAU9egGqnoFwz4x4vTNTBgNJRvQGF5w4+FhjcEepdxlLU/3yqFM98yzA==", + "dependencies": [ + "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-augment@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-codec@15.5.2", + "@polkadot/types-create@15.5.2", + "@polkadot/util", + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { + "integrity": "sha512-4DqmUiUnNEe2jooQ+wby+st7w2a+2TVeKC9ax0AvowZ5YdKYl+2v+6xeoi8Agm7bmKT9jML+TghF38iGc2QKQQ==", + "dependencies": [ + "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-augment@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/types-codec@16.4.1", + "@polkadot/types-create@16.4.1", + "@polkadot/util", + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "rxjs", + "tslib@2.8.1" + ] + }, + "@polkadot/util-crypto@13.5.3": { + "integrity": "sha512-/GLv2+DpiyciN7yAwFTjQdFA5JDMVVLUrP5a6YuAVUGQywRnGC1k940d2pFsqdwNvGa2Xcf50DFNxvnfQiyZlQ==", + "dependencies": [ + "@noble/curves@1.9.2", + "@noble/hashes@1.8.0", + "@polkadot/networks" + ] + }, + "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3": { + "integrity": "sha512-/GLv2+DpiyciN7yAwFTjQdFA5JDMVVLUrP5a6YuAVUGQywRnGC1k940d2pFsqdwNvGa2Xcf50DFNxvnfQiyZlQ==", + "dependencies": [ + "@noble/curves@1.9.2", + "@noble/hashes@1.8.0", + "@polkadot/networks", + "@polkadot/util", + "@polkadot/wasm-crypto", + "@polkadot/wasm-util", + "@polkadot/x-bigint", + "@polkadot/x-randomvalues", + "@scure/base", + "tslib@2.8.1" + ] + }, + "@polkadot/util@13.5.3": { + "integrity": "sha512-dPqXvkzICTNz9vL85RdPyLzTDgB0/KtmROF8DB8taQksWyQp1RH3uU5mHHOmHtb0IJQBA5O/kumaXUfMQNo9Qw==", + "dependencies": [ + "@polkadot/x-bigint", + "@polkadot/x-global", + "@polkadot/x-textdecoder", + "@polkadot/x-textencoder", + "@types/bn.js", + "bn.js", + "tslib@2.8.1" + ] + }, + "@polkadot/wasm-bridge@7.4.1_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3": { + "integrity": "sha512-tdkJaV453tezBxhF39r4oeG0A39sPKGDJmN81LYLf+Fihb7astzwju+u75BRmDrHZjZIv00un3razJEWCxze6g==", + "dependencies": [ + "@polkadot/util", + "@polkadot/wasm-util", + "@polkadot/x-randomvalues", + "tslib@2.8.1" + ] + }, + "@polkadot/wasm-crypto-asmjs@7.4.1_@polkadot+util@13.5.3": { + "integrity": "sha512-pwU8QXhUW7IberyHJIQr37IhbB6DPkCG5FhozCiNTq4vFBsFPjm9q8aZh7oX1QHQaiAZa2m2/VjIVE+FHGbvHQ==", + "dependencies": [ + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/wasm-crypto-init@7.4.1_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3": { + "integrity": "sha512-AVka33+f7MvXEEIGq5U0dhaA2SaXMXnxVCQyhJTaCnJ5bRDj0Xlm3ijwDEQUiaDql7EikbkkRtmlvs95eSUWYQ==", + "dependencies": [ + "@polkadot/util", + "@polkadot/wasm-bridge", + "@polkadot/wasm-crypto-asmjs", + "@polkadot/wasm-crypto-wasm", + "@polkadot/wasm-util", + "@polkadot/x-randomvalues", + "tslib@2.8.1" + ] + }, + "@polkadot/wasm-crypto-wasm@7.4.1_@polkadot+util@13.5.3": { + "integrity": "sha512-PE1OAoupFR0ZOV2O8tr7D1FEUAwaggzxtfs3Aa5gr+yxlSOaWUKeqsOYe1KdrcjmZVV3iINEAXxgrbzCmiuONg==", + "dependencies": [ + "@polkadot/util", + "@polkadot/wasm-util", + "tslib@2.8.1" + ] + }, + "@polkadot/wasm-crypto@7.4.1_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3": { + "integrity": "sha512-kHN/kF7hYxm1y0WeFLWeWir6oTzvcFmR4N8fJJokR+ajYbdmrafPN+6iLgQVbhZnDdxyv9jWDuRRsDnBx8tPMQ==", + "dependencies": [ + "@polkadot/util", + "@polkadot/wasm-bridge", + "@polkadot/wasm-crypto-asmjs", + "@polkadot/wasm-crypto-init", + "@polkadot/wasm-crypto-wasm", + "@polkadot/wasm-util", + "@polkadot/x-randomvalues", + "tslib@2.8.1" + ] + }, + "@polkadot/wasm-util@7.4.1_@polkadot+util@13.5.3": { + "integrity": "sha512-RAcxNFf3zzpkr+LX/ItAsvj+QyM56TomJ0xjUMo4wKkHjwsxkz4dWJtx5knIgQz/OthqSDMR59VNEycQeNuXzA==", + "dependencies": [ + "@polkadot/util", + "tslib@2.8.1" + ] + }, + "@polkadot/x-bigint@13.5.3": { + "integrity": "sha512-o408qh3P+st/3ghTgVd4ATrePqExd7UgWHXPTJ0i74Q7/3iI1cWMNloNQFNDZxnSNIPB/AnFk8sfEWfpfPLucw==", + "dependencies": [ + "@polkadot/x-global", + "tslib@2.8.1" + ] + }, + "@polkadot/x-fetch@13.5.3": { + "integrity": "sha512-+AFbo8JthkIEZtseOG8WhogAg0HnkvK4fUrCqn5YB8L7TJrIWxaAmccCarMLYQEAwYT7OKlBMbrMwRllGI9yRg==", + "dependencies": [ + "@polkadot/x-global", + "node-fetch", + "tslib@2.8.1" + ] + }, + "@polkadot/x-global@13.5.3": { + "integrity": "sha512-b8zEhDk6XDIXRGaPXnSxamQ3sVObm0xPRbkxbk2l9QiMB4MO1pOtAm5knQkHpC2Z+tVTy1SrSqUN5iqVnavicQ==", + "dependencies": [ + "tslib@2.8.1" + ] + }, + "@polkadot/x-randomvalues@13.5.3_@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3": { + "integrity": "sha512-BrKE5Q4dzHWNjwq0PX08uWlJIQOztVCJIYuZiIAj0ic33oLRrQuPojXFWhw/3McjXlVXscFNtsgIXsRli+boiQ==", + "dependencies": [ + "@polkadot/util", + "@polkadot/wasm-util", + "@polkadot/x-global", + "tslib@2.8.1" + ] + }, + "@polkadot/x-textdecoder@13.5.3": { + "integrity": "sha512-qXQ0qxlKAl7FLCHgeKdHbtLFQgkBGNYp1RXtbUSIWGE1qKwTMTSQkrsXegwSXG3YM1MiJk2qHc7nlyuCK0xWVw==", + "dependencies": [ + "@polkadot/x-global", + "tslib@2.8.1" + ] + }, + "@polkadot/x-textencoder@13.5.3": { + "integrity": "sha512-Gb3jW/pMdWd1P0Q+K7NYbeo8ivbeGn+UBkCYYIEcShun8u8XlHMiGBnYE9fFcx9GRAzoViZJ7htL5KaFzLtUkg==", + "dependencies": [ + "@polkadot/x-global", + "tslib@2.8.1" + ] + }, + "@polkadot/x-ws@13.5.3": { + "integrity": "sha512-vIi9im6Zeo0eAagPSUF8WhdFBI1oomj4jF1R2jepiKmBVkT5HVn39MK2mix5fNjLESSa2K79iWYzS5VoVi0gxA==", + "dependencies": [ + "@polkadot/x-global", + "tslib@2.8.1", + "ws@8.18.3" + ] + }, + "@scure/base@1.2.6": { + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==" + }, + "@substrate/connect-extension-protocol@2.2.2": { + "integrity": "sha512-t66jwrXA0s5Goq82ZtjagLNd7DPGCNjHeehRlE/gcJmJ+G56C0W+2plqOMRicJ8XGR1/YFnUSEqUFiSNbjGrAA==" + }, + "@substrate/connect-known-chains@1.10.3": { + "integrity": "sha512-OJEZO1Pagtb6bNE3wCikc2wrmvEU5x7GxFFLqqbz1AJYYxSlrPCGu4N2og5YTExo4IcloNMQYFRkBGue0BKZ4w==" + }, + "@substrate/connect@0.8.11_smoldot@2.0.26": { + "integrity": "sha512-ofLs1PAO9AtDdPbdyTYj217Pe+lBfTLltdHDs3ds8no0BseoLeAGxpz1mHfi7zB4IxI3YyAiLjH6U8cw4pj4Nw==", + "dependencies": [ + "@substrate/connect-extension-protocol", + "@substrate/connect-known-chains", + "@substrate/light-client-extension-helpers", + "smoldot" + ], + "deprecated": true + }, + "@substrate/light-client-extension-helpers@1.0.0_smoldot@2.0.26_@polkadot-api+substrate-client@0.1.4_rxjs@7.8.2": { + "integrity": "sha512-TdKlni1mBBZptOaeVrKnusMg/UBpWUORNDv5fdCaJklP4RJiFOzBCrzC+CyVI5kQzsXBisZ+2pXm+rIjS38kHg==", + "dependencies": [ + "@polkadot-api/json-rpc-provider", + "@polkadot-api/json-rpc-provider-proxy", + "@polkadot-api/observable-client", + "@polkadot-api/substrate-client", + "@substrate/connect-extension-protocol", + "@substrate/connect-known-chains", + "rxjs", + "smoldot" + ] + }, + "@substrate/ss58-registry@1.51.0": { + "integrity": "sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==" + }, + "@types/bn.js@5.2.0": { + "integrity": "sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==", + "dependencies": [ + "@types/node@22.15.15" + ] + }, + "@types/chai-as-promised@7.1.8": { + "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", + "dependencies": [ + "@types/chai" + ] + }, + "@types/chai-like@1.1.3": { + "integrity": "sha512-AEGBQz8wcPhvytKR5EP3HiQrmUeg6HP/ZgNnGWnLaQA4fyZ7kDS1/wbSBLN4CBTMobK4wM2SpksVWzTXWQ8r3w==", + "dependencies": [ + "@types/chai" + ] + }, + "@types/chai-subset@1.3.6_@types+chai@4.3.20": { + "integrity": "sha512-m8lERkkQj+uek18hXOZuec3W/fCRTrU4hrnXjH3qhHy96ytuPaPiWGgu7sJb7tZxZonO75vYAjCvpe/e4VUwRw==", + "dependencies": [ + "@types/chai" + ] + }, + "@types/chai@4.3.20": { + "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==" + }, + "@types/mocha@10.0.10": { + "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==" + }, + "@types/node@20.19.7": { + "integrity": "sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==", + "dependencies": [ + "undici-types@6.21.0" + ] + }, + "@types/node@22.15.15": { + "integrity": "sha512-R5muMcZob3/Jjchn5LcO8jdKwSCbzqmPB6ruBxMcf9kbxtniZHP327s6C37iOfuw8mbKK3cAQa7sEl7afLrQ8A==", + "dependencies": [ + "undici-types@6.21.0" + ] + }, + "@types/node@22.7.5": { + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", + "dependencies": [ + "undici-types@6.19.8" + ] + }, + "@typescript-eslint/eslint-plugin@8.27.0_@typescript-eslint+parser@8.27.0__eslint@8.57.1__typescript@5.8.3_eslint@8.57.1_typescript@5.8.3": { + "integrity": "sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==", + "dependencies": [ + "@eslint-community/regexpp", + "@typescript-eslint/parser", + "@typescript-eslint/scope-manager", + "@typescript-eslint/type-utils", + "@typescript-eslint/utils", + "@typescript-eslint/visitor-keys", + "eslint", + "graphemer", + "ignore", + "natural-compare", + "ts-api-utils", + "typescript" + ] + }, + "@typescript-eslint/parser@8.27.0_eslint@8.57.1_typescript@5.8.3": { + "integrity": "sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==", + "dependencies": [ + "@typescript-eslint/scope-manager", + "@typescript-eslint/types", + "@typescript-eslint/typescript-estree", + "@typescript-eslint/visitor-keys", + "debug", + "eslint", + "typescript" + ] + }, + "@typescript-eslint/scope-manager@8.27.0": { + "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==", + "dependencies": [ + "@typescript-eslint/types", + "@typescript-eslint/visitor-keys" + ] + }, + "@typescript-eslint/type-utils@8.27.0_eslint@8.57.1_typescript@5.8.3": { + "integrity": "sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==", + "dependencies": [ + "@typescript-eslint/typescript-estree", + "@typescript-eslint/utils", + "debug", + "eslint", + "ts-api-utils", + "typescript" + ] + }, + "@typescript-eslint/types@8.27.0": { + "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==" + }, + "@typescript-eslint/typescript-estree@8.27.0_typescript@5.8.3": { + "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==", + "dependencies": [ + "@typescript-eslint/types", + "@typescript-eslint/visitor-keys", + "debug", + "fast-glob", + "is-glob", + "minimatch@9.0.5", + "semver@7.7.2", + "ts-api-utils", + "typescript" + ] + }, + "@typescript-eslint/utils@8.27.0_eslint@8.57.1_typescript@5.8.3": { + "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==", + "dependencies": [ + "@eslint-community/eslint-utils", + "@typescript-eslint/scope-manager", + "@typescript-eslint/types", + "@typescript-eslint/typescript-estree", + "eslint", + "typescript" + ] + }, + "@typescript-eslint/visitor-keys@8.27.0": { + "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==", + "dependencies": [ + "@typescript-eslint/types", + "eslint-visitor-keys@4.2.1" + ] + }, + "@ungap/structured-clone@1.3.0": { + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==" + }, + "acorn-jsx@5.3.2_acorn@8.15.0": { + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dependencies": [ + "acorn" + ] + }, + "acorn@8.15.0": { + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "bin": true + }, + "aes-js@4.0.0-beta.5": { + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + }, + "ajv@6.12.6": { + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": [ + "fast-deep-equal", + "fast-json-stable-stringify", + "json-schema-traverse", + "uri-js" + ] + }, + "ansi-colors@4.1.3": { + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + }, + "ansi-regex@5.0.1": { + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles@4.3.0": { + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": [ + "color-convert" + ] + }, + "anymatch@3.1.3": { + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": [ + "normalize-path", + "picomatch" + ] + }, + "argparse@2.0.1": { + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "assertion-error@1.1.0": { + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + }, + "balanced-match@1.0.2": { + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "binary-extensions@2.3.0": { + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + }, + "bn.js@5.2.2": { + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==" + }, + "brace-expansion@1.1.12": { + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dependencies": [ + "balanced-match", + "concat-map" + ] + }, + "brace-expansion@2.0.2": { + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dependencies": [ + "balanced-match" + ] + }, + "braces@3.0.3": { + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": [ + "fill-range" + ] + }, + "browser-stdout@1.3.1": { + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "callsites@3.1.0": { + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase@6.3.0": { + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "chai-as-promised@7.1.2_chai@4.5.0": { + "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", + "dependencies": [ + "chai", + "check-error" + ] + }, + "chai-like@1.1.3_chai@4.5.0": { + "integrity": "sha512-JGsxE2PBhXeXxfzkAobp8KcyVdXHa96/I/4oJf6GKtQccTugVaVD68TvPDiCUo+hBC2meR68riSeABHkn+Hyug==", + "dependencies": [ + "chai" + ] + }, + "chai-subset@1.6.0": { + "integrity": "sha512-K3d+KmqdS5XKW5DWPd5sgNffL3uxdDe+6GdnJh3AYPhwnBGRY5urfvfcbRtWIvvpz+KxkL9FeBB6MZewLUNwug==", + "deprecated": true + }, + "chai@4.5.0": { + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "dependencies": [ + "assertion-error", + "check-error", + "deep-eql", + "get-func-name", + "loupe", + "pathval", + "type-detect" + ] + }, + "chalk@4.1.2": { + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": [ + "ansi-styles", + "supports-color@7.2.0" + ] + }, + "check-error@1.0.3": { + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dependencies": [ + "get-func-name" + ] + }, + "chokidar@3.6.0": { + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": [ + "anymatch", + "braces", + "glob-parent@5.1.2", + "is-binary-path", + "is-glob", + "normalize-path", + "readdirp" + ], + "optionalDependencies": [ + "fsevents" + ] + }, + "cliui@7.0.4": { + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": [ + "string-width", + "strip-ansi", + "wrap-ansi" + ] + }, + "cliui@8.0.1": { + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": [ + "string-width", + "strip-ansi", + "wrap-ansi" + ] + }, + "color-convert@2.0.1": { + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": [ + "color-name" + ] + }, + "color-name@1.1.4": { + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "command-exists@1.2.9": { + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander@8.3.0": { + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "concat-map@0.0.1": { + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "cross-spawn@7.0.6": { + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dependencies": [ + "path-key", + "shebang-command", + "which" + ] + }, + "csv-writer@1.6.0": { + "integrity": "sha512-NOx7YDFWEsM/fTRAJjRpPp8t+MKRVvniAg9wQlUKx20MFrPs73WLJhFf5iteqrxNYnsy924K3Iroh3yNHeYd2g==" + }, + "data-uri-to-buffer@4.0.1": { + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==" + }, + "debug@4.4.1": { + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dependencies": [ + "ms" + ] + }, + "decamelize@4.0.0": { + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + }, + "deep-eql@4.1.4": { + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dependencies": [ + "type-detect" + ] + }, + "deep-is@0.1.4": { + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "diff@5.2.0": { + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==" + }, + "doctrine@3.0.0": { + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": [ + "esutils" + ] + }, + "emoji-regex@8.0.0": { + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "esbuild@0.25.6": { + "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", + "optionalDependencies": [ + "@esbuild/aix-ppc64", + "@esbuild/android-arm", + "@esbuild/android-arm64", + "@esbuild/android-x64", + "@esbuild/darwin-arm64", + "@esbuild/darwin-x64", + "@esbuild/freebsd-arm64", + "@esbuild/freebsd-x64", + "@esbuild/linux-arm", + "@esbuild/linux-arm64", + "@esbuild/linux-ia32", + "@esbuild/linux-loong64", + "@esbuild/linux-mips64el", + "@esbuild/linux-ppc64", + "@esbuild/linux-riscv64", + "@esbuild/linux-s390x", + "@esbuild/linux-x64", + "@esbuild/netbsd-arm64", + "@esbuild/netbsd-x64", + "@esbuild/openbsd-arm64", + "@esbuild/openbsd-x64", + "@esbuild/openharmony-arm64", + "@esbuild/sunos-x64", + "@esbuild/win32-arm64", + "@esbuild/win32-ia32", + "@esbuild/win32-x64" + ], + "scripts": true, + "bin": true + }, + "escalade@3.2.0": { + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" + }, + "escape-string-regexp@4.0.0": { + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "eslint-plugin-mocha@10.5.0_eslint@8.57.1": { + "integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==", + "dependencies": [ + "eslint", + "eslint-utils", + "globals", + "rambda" + ] + }, + "eslint-scope@7.2.2": { + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dependencies": [ + "esrecurse", + "estraverse" + ] + }, + "eslint-utils@3.0.0_eslint@8.57.1": { + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dependencies": [ + "eslint", + "eslint-visitor-keys@2.1.0" + ] + }, + "eslint-visitor-keys@2.1.0": { + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "eslint-visitor-keys@3.4.3": { + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" + }, + "eslint-visitor-keys@4.2.1": { + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==" + }, + "eslint@8.57.1": { + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "dependencies": [ + "@eslint-community/eslint-utils", + "@eslint-community/regexpp", + "@eslint/eslintrc", + "@eslint/js", + "@humanwhocodes/config-array", + "@humanwhocodes/module-importer", + "@nodelib/fs.walk", + "@ungap/structured-clone", + "ajv", + "chalk", + "cross-spawn", + "debug", + "doctrine", + "escape-string-regexp", + "eslint-scope", + "eslint-visitor-keys@3.4.3", + "espree", + "esquery", + "esutils", + "fast-deep-equal", + "file-entry-cache", + "find-up", + "glob-parent@6.0.2", + "globals", + "graphemer", + "ignore", + "imurmurhash", + "is-glob", + "is-path-inside", + "js-yaml", + "json-stable-stringify-without-jsonify", + "levn", + "lodash.merge", + "minimatch@3.1.2", + "natural-compare", + "optionator", + "strip-ansi", + "text-table" + ], + "deprecated": true, + "bin": true + }, + "espree@9.6.1_acorn@8.15.0": { + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dependencies": [ + "acorn", + "acorn-jsx", + "eslint-visitor-keys@3.4.3" + ] + }, + "esquery@1.6.0": { + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dependencies": [ + "estraverse" + ] + }, + "esrecurse@4.3.0": { + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": [ + "estraverse" + ] + }, + "estraverse@5.3.0": { + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "esutils@2.0.3": { + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "ethers@6.13.5": { + "integrity": "sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ==", + "dependencies": [ + "@adraffy/ens-normalize", + "@noble/curves@1.2.0", + "@noble/hashes@1.3.2", + "@types/node@22.7.5", + "aes-js", + "tslib@2.7.0", + "ws@8.17.1" + ] + }, + "eventemitter3@5.0.1": { + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, + "fast-deep-equal@3.1.3": { + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob@3.3.3": { + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dependencies": [ + "@nodelib/fs.stat", + "@nodelib/fs.walk", + "glob-parent@5.1.2", + "merge2", + "micromatch" + ] + }, + "fast-json-stable-stringify@2.1.0": { + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein@2.0.6": { + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fastq@1.19.1": { + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dependencies": [ + "reusify" + ] + }, + "fetch-blob@3.2.0": { + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dependencies": [ + "node-domexception", + "web-streams-polyfill" + ] + }, + "file-entry-cache@6.0.1": { + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": [ + "flat-cache" + ] + }, + "fill-range@7.1.1": { + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": [ + "to-regex-range" + ] + }, + "find-up@5.0.0": { + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": [ + "locate-path", + "path-exists" + ] + }, + "flat-cache@3.2.0": { + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dependencies": [ + "flatted", + "keyv", + "rimraf" + ] + }, + "flat@5.0.2": { + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": true + }, + "flatted@3.3.3": { + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==" + }, + "follow-redirects@1.15.9": { + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" + }, + "formdata-polyfill@4.0.10": { + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": [ + "fetch-blob" + ] + }, + "fs.realpath@1.0.0": { + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents@2.3.3": { + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "os": ["darwin"], + "scripts": true + }, + "get-caller-file@2.0.5": { + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-func-name@2.0.2": { + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" + }, + "get-tsconfig@4.10.1": { + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", + "dependencies": [ + "resolve-pkg-maps" + ] + }, + "glob-parent@5.1.2": { + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": [ + "is-glob" + ] + }, + "glob-parent@6.0.2": { + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": [ + "is-glob" + ] + }, + "glob@7.2.3": { + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": [ + "fs.realpath", + "inflight", + "inherits", + "minimatch@3.1.2", + "once", + "path-is-absolute" + ], + "deprecated": true + }, + "glob@8.1.0": { + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dependencies": [ + "fs.realpath", + "inflight", + "inherits", + "minimatch@5.1.6", + "once" + ], + "deprecated": true + }, + "globals@13.24.0": { + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": [ + "type-fest" + ] + }, + "graphemer@1.4.0": { + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "handlebars@4.7.8": { + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dependencies": [ + "minimist", + "neo-async", + "source-map", + "wordwrap" + ], + "optionalDependencies": [ + "uglify-js" + ], + "bin": true + }, + "has-flag@4.0.0": { + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "he@1.2.0": { + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": true + }, + "ignore@5.3.2": { + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==" + }, + "import-fresh@3.3.1": { + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dependencies": [ + "parent-module", + "resolve-from" + ] + }, + "imurmurhash@0.1.4": { + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "inflight@1.0.6": { + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": [ + "once", + "wrappy" + ], + "deprecated": true + }, + "inherits@2.0.4": { + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-binary-path@2.1.0": { + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": [ + "binary-extensions" + ] + }, + "is-extglob@2.1.1": { + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point@3.0.0": { + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob@4.0.3": { + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": [ + "is-extglob" + ] + }, + "is-number@7.0.0": { + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-path-inside@3.0.3": { + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-plain-obj@2.1.0": { + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "is-unicode-supported@0.1.0": { + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "isexe@2.0.0": { + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "js-sha3@0.8.0": { + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-yaml@4.1.0": { + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": [ + "argparse" + ], + "bin": true + }, + "json-buffer@3.0.1": { + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "json-schema-traverse@0.4.1": { + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify@1.0.1": { + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "json-stringify-safe@5.0.1": { + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "keyv@4.5.4": { + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": [ + "json-buffer" + ] + }, + "levn@0.4.1": { + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": [ + "prelude-ls", + "type-check" + ] + }, + "locate-path@6.0.0": { + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": [ + "p-locate" + ] + }, + "lodash.merge@4.6.2": { + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "log-symbols@4.1.0": { + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": [ + "chalk", + "is-unicode-supported" + ] + }, + "loupe@2.3.7": { + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dependencies": [ + "get-func-name" + ] + }, + "memorystream@0.3.1": { + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" + }, + "merge2@1.4.1": { + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch@4.0.8": { + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": [ + "braces", + "picomatch" + ] + }, + "minimatch@3.1.2": { + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": [ + "brace-expansion@1.1.12" + ] + }, + "minimatch@5.1.6": { + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": [ + "brace-expansion@2.0.2" + ] + }, + "minimatch@9.0.5": { + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": [ + "brace-expansion@2.0.2" + ] + }, + "minimist@1.2.8": { + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mocha@10.8.2": { + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", + "dependencies": [ + "ansi-colors", + "browser-stdout", + "chokidar", + "debug", + "diff", + "escape-string-regexp", + "find-up", + "glob@8.1.0", + "he", + "js-yaml", + "log-symbols", + "minimatch@5.1.6", + "ms", + "serialize-javascript", + "strip-json-comments", + "supports-color@8.1.1", + "workerpool", + "yargs@16.2.0", + "yargs-parser@20.2.9", + "yargs-unparser" + ], + "bin": true + }, + "mock-socket@9.3.1": { + "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==" + }, + "ms@2.1.3": { + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "natural-compare@1.4.0": { + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "neo-async@2.6.2": { + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "nock@13.5.6": { + "integrity": "sha512-o2zOYiCpzRqSzPj0Zt/dQ/DqZeYoaQ7TUonc/xUPjCGl9WeHpNbxgVvOquXYAaJzI0M9BXV3HTzG0p8IUAbBTQ==", + "dependencies": [ + "debug", + "json-stringify-safe", + "propagate" + ] + }, + "node-domexception@1.0.0": { + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": true + }, + "node-fetch@3.3.2": { + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dependencies": [ + "data-uri-to-buffer", + "fetch-blob", + "formdata-polyfill" + ] + }, + "normalize-path@3.0.0": { + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "once@1.4.0": { + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": [ + "wrappy" + ] + }, + "optionator@0.9.4": { + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dependencies": [ + "deep-is", + "fast-levenshtein", + "levn", + "prelude-ls", + "type-check", + "word-wrap" + ] + }, + "os-tmpdir@1.0.2": { + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "p-limit@3.1.0": { + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": [ + "yocto-queue" + ] + }, + "p-locate@5.0.0": { + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": [ + "p-limit" + ] + }, + "parent-module@1.0.1": { + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": [ + "callsites" + ] + }, + "path-exists@4.0.0": { + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute@1.0.1": { + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key@3.1.1": { + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "pathval@1.1.1": { + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + }, + "picomatch@2.3.1": { + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "prelude-ls@1.2.1": { + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "propagate@2.0.1": { + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==" + }, + "punycode@2.3.1": { + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + }, + "queue-microtask@1.2.3": { + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "rambda@7.5.0": { + "integrity": "sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==" + }, + "randombytes@2.1.0": { + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": [ + "safe-buffer" + ] + }, + "readdirp@3.6.0": { + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": [ + "picomatch" + ] + }, + "require-directory@2.1.1": { + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "resolve-from@4.0.0": { + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-pkg-maps@1.0.0": { + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==" + }, + "reusify@1.1.0": { + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" + }, + "rimraf@3.0.2": { + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": [ + "glob@7.2.3" + ], + "deprecated": true, + "bin": true + }, + "run-parallel@1.2.0": { + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dependencies": [ + "queue-microtask" + ] + }, + "rxjs@7.8.2": { + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dependencies": [ + "tslib@2.8.1" + ] + }, + "safe-buffer@5.2.1": { + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "scale-ts@1.6.1": { + "integrity": "sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==" + }, + "semver@5.7.2": { + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": true + }, + "semver@7.7.2": { + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "bin": true + }, + "serialize-javascript@6.0.2": { + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": [ + "randombytes" + ] + }, + "shebang-command@2.0.0": { + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": [ + "shebang-regex" + ] + }, + "shebang-regex@3.0.0": { + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "smoldot@2.0.26": { + "integrity": "sha512-F+qYmH4z2s2FK+CxGj8moYcd1ekSIKH8ywkdqlOz88Dat35iB1DIYL11aILN46YSGMzQW/lbJNS307zBSDN5Ig==", + "dependencies": [ + "ws@8.18.3" + ] + }, + "solc@0.8.30": { + "integrity": "sha512-9Srk/gndtBmoUbg4CE6ypAzPQlElv8ntbnl6SigUBAzgXKn35v87sj04uZeoZWjtDkdzT0qKFcIo/wl63UMxdw==", + "dependencies": [ + "command-exists", + "commander", + "follow-redirects", + "js-sha3", + "memorystream", + "semver@5.7.2", + "tmp" + ], + "bin": true + }, + "source-map@0.6.1": { + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "string-width@4.2.3": { + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": [ + "emoji-regex", + "is-fullwidth-code-point", + "strip-ansi" + ] + }, + "strip-ansi@6.0.1": { + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": [ + "ansi-regex" + ] + }, + "strip-json-comments@3.1.1": { + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color@7.2.0": { + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": [ + "has-flag" + ] + }, + "supports-color@8.1.1": { + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": [ + "has-flag" + ] + }, + "text-table@0.2.0": { + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "tmp@0.0.33": { + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": [ + "os-tmpdir" + ] + }, + "to-regex-range@5.0.1": { + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": [ + "is-number" + ] + }, + "ts-api-utils@2.1.0_typescript@5.8.3": { + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dependencies": [ + "typescript" + ] + }, + "tslib@2.7.0": { + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + }, + "tslib@2.8.1": { + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "tsx@4.19.3": { + "integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==", + "dependencies": [ + "esbuild", + "get-tsconfig" + ], + "optionalDependencies": [ + "fsevents" + ], + "bin": true + }, + "type-check@0.4.0": { + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": [ + "prelude-ls" + ] + }, + "type-detect@4.1.0": { + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==" + }, + "type-fest@0.20.2": { + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "typescript@5.8.3": { + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "bin": true + }, + "uglify-js@3.19.3": { + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "bin": true + }, + "undici-types@6.19.8": { + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, + "undici-types@6.21.0": { + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==" + }, + "uri-js@4.4.1": { + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": [ + "punycode" + ] + }, + "web-streams-polyfill@3.3.3": { + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==" + }, + "which@2.0.2": { + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": [ + "isexe" + ], + "bin": true + }, + "word-wrap@1.2.5": { + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" + }, + "wordwrap@1.0.0": { + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "workerpool@6.5.1": { + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==" + }, + "wrap-ansi@7.0.0": { + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": [ + "ansi-styles", + "string-width", + "strip-ansi" + ] + }, + "wrappy@1.0.2": { + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "ws@8.17.1": { + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==" + }, + "ws@8.18.3": { + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==" + }, + "y18n@5.0.8": { + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs-parser@20.2.9": { + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yargs-parser@21.1.1": { + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + }, + "yargs-unparser@2.0.0": { + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": [ + "camelcase", + "decamelize", + "flat", + "is-plain-obj" + ] + }, + "yargs@16.2.0": { + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": [ + "cliui@7.0.4", + "escalade", + "get-caller-file", + "require-directory", + "string-width", + "y18n", + "yargs-parser@20.2.9" + ] + }, + "yargs@17.7.2": { + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": [ + "cliui@8.0.1", + "escalade", + "get-caller-file", + "require-directory", + "string-width", + "y18n", + "yargs-parser@21.1.1" + ] + }, + "yocto-queue@0.1.0": { + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } + }, + "redirects": { + "https://deno.land/x/deno_mocha/mod.ts": "https://deno.land/x/deno_mocha@0.3.1/mod.ts" + }, + "remote": { + "https://deno.land/x/deno_mocha@0.3.1/lib/bdd.ts": "c6fc49113b7724876e61e133019bf2ab79c5d1f3aa17303a8e34d2d0331c8d86", + "https://deno.land/x/deno_mocha@0.3.1/lib/types.ts": "fbe984308b6bf4e264edcd2b75dfc74a288dc04932ced49461535aee25cfb368", + "https://deno.land/x/deno_mocha@0.3.1/mod.ts": "22095a9ad953ba9b24204be4828b363491d465879b70a462becbdb240f8a224c" + }, + "workspace": { + "packageJson": { + "dependencies": [ + "npm:@openzeppelin/contracts@^4.9.2", + "npm:@polkadot/api-base@^16.4.1", + "npm:@polkadot/keyring@^13.5.3", + "npm:@polkadot/rpc-core@^16.4.1", + "npm:@polkadot/types-codec@^16.4.1", + "npm:@types/chai-as-promised@^7.1.8", + "npm:@types/chai-like@^1.1.3", + "npm:@types/chai-subset@^1.3.6", + "npm:@types/chai@^4.3.20", + "npm:@types/mocha@^10.0.10", + "npm:@types/node@^20.8.10", + "npm:@typescript-eslint/eslint-plugin@8.27.0", + "npm:@typescript-eslint/parser@8.27.0", + "npm:chai-as-promised@^7.1.1", + "npm:chai-like@^1.1.1", + "npm:chai-subset@^1.6.0", + "npm:chai@^4.5.0", + "npm:csv-writer@^1.6.0", + "npm:eslint-plugin-mocha@^10.2.0", + "npm:eslint@^8.53.0", + "npm:ethers@6.13.5", + "npm:solc@~0.8.22", + "npm:tsx@4.19.3", + "npm:typescript@5.8.3" + ] + }, + "members": { + "playgrounds": { + "packageJson": { + "dependencies": [ + "npm:@polkadot/api@15.5.2", + "npm:@polkadot/util-crypto@^13.3.1", + "npm:@polkadot/util@^13.3.1" + ] + } + }, + "scripts": { + "packageJson": { + "dependencies": [ + "npm:tsx@4.19.3" + ] + } + }, + "test-utils": { + "packageJson": { + "dependencies": [ + "npm:@polkadot/api@15.5.2", + "npm:@polkadot/util-crypto@^13.3.1", + "npm:@polkadot/util@^13.3.1" + ] + } + }, + "tests": { + "packageJson": { + "dependencies": [ + "npm:mocha@^10.1.0", + "npm:tsx@4.19.3" + ] + } + }, + "types": { + "packageJson": { + "dependencies": [ + "npm:@polkadot/typegen@15.5.2" + ] + } + } + } + } +} diff --git a/js-packages/import_map.json b/js-packages/import_map.json new file mode 100644 index 0000000000..4c4e9a0d10 --- /dev/null +++ b/js-packages/import_map.json @@ -0,0 +1,13 @@ +{ + "imports": { + "@unique-nft/playgrounds/": "./playgrounds/", + "@unique/test-utils/": "./test-utils/", + "@unique-nft/evm-abi/": "./evm-abi/", + "@unique-nft/opal-testnet-types/": "./types/", + "@unique-nft/tests/": "./tests/", + "@unique/scripts": "./scripts/", + "@unique-nft/opal-testnet-types/types-lookup.js": "./types/lookup.js", + "@unique-nft/opal-testnet-types/augment-types.js": "./types/augment-types.js" + + } +} \ No newline at end of file diff --git a/js-packages/package.json b/js-packages/package.json index 22dcf5f05e..ad3a1e5493 100644 --- a/js-packages/package.json +++ b/js-packages/package.json @@ -9,6 +9,10 @@ "private": true, "dependencies": { "@openzeppelin/contracts": "^4.9.2", + "@polkadot/api-base": "^16.4.1", + "@polkadot/keyring": "^13.5.3", + "@polkadot/rpc-core": "^16.4.1", + "@polkadot/types-codec": "^16.4.1", "chai-as-promised": "^7.1.1", "chai-like": "^1.1.1", "csv-writer": "^1.6.0", @@ -49,7 +53,6 @@ "decode-uri-component": "^0.2.1" }, "type": "module", - "packageManager": "yarn@3.6.1", "workspaces": [ "types", "evm-abi", diff --git a/js-packages/playgrounds/types.ts b/js-packages/playgrounds/types.ts index 8bf3b3500f..0a15466984 100644 --- a/js-packages/playgrounds/types.ts +++ b/js-packages/playgrounds/types.ts @@ -23,8 +23,10 @@ export interface IPhasicEvent { event: IEvent; } +export type ITransactionStatus = 'Fail' | 'Success'; + export interface ITransactionResult { - status: 'Fail' | 'Success'; + status: ITransactionStatus; result: { dispatchError: any, events: IPhasicEvent[]; @@ -55,7 +57,7 @@ export interface IUniqueHelperLog { executedAt: number; executionTime: number; type: 'extrinsic' | 'rpc'; - status: 'Fail' | 'Success'; + status: ITransactionStatus; call: string; params: any[]; moduleError?: string; diff --git a/js-packages/playgrounds/unique.ts b/js-packages/playgrounds/unique.ts index 1347d87d94..c19548b432 100644 --- a/js-packages/playgrounds/unique.ts +++ b/js-packages/playgrounds/unique.ts @@ -39,7 +39,8 @@ import type { TNetworks, IEthCrossAccountId, IPhasicEvent, -} from './types.js'; + ITransactionStatus, +} from './types.ts'; import type {RuntimeDispatchInfo} from '@polkadot/types/interfaces'; import {HDNodeWallet} from 'ethers'; @@ -146,7 +147,7 @@ const nesting = { }; class UniqueUtil { - static transactionStatus = { + static readonly transactionStatus : {NOT_READY: 'NotReady', FAIL: ITransactionStatus, SUCCESS: ITransactionStatus} = { NOT_READY: 'NotReady', FAIL: 'Fail', SUCCESS: 'Success', @@ -198,7 +199,7 @@ class UniqueUtil { throw Error(`Unable to create collection! Status: ${status}`); } - let collectionId = null; + let collectionId: number | null = null; creationResult.result.events.forEach(({event: {data, method, section}}) => { if((section === 'common') && (method === 'CollectionCreated')) { collectionId = parseInt(data[0].toString(), 10); @@ -261,7 +262,7 @@ class UniqueUtil { } static findCollectionInEvents(events: { event: IEvent }[], collectionId: number, expectedSection: string, expectedMethod: string): boolean { - let eventId = null; + let eventId: number | null = null; events.forEach(({event: {data, method, section}}) => { if((section === expectedSection) && (method === expectedMethod)) { eventId = parseInt(data[0].toString(), 10); @@ -618,7 +619,7 @@ export class ChainHelperBase { return null; } - async signTransaction(sender: TSigner, transaction: any, options: Partial | null = null, label = 'transaction') { + async signTransaction(sender: TSigner, transaction: any, options: Partial | null = null, label = 'transaction'): Promise { const sign = (callback: any) => { if(options !== null) return transaction.signAndSend(sender, options, callback); return transaction.signAndSend(sender, callback); @@ -641,9 +642,9 @@ export class ChainHelperBase { this.logger.log(`${label} successful`); unsub(); //resolve({result, status, blockHash: result.status.asInBlock.toHuman()}); - resolve({result, status, blockHash: result.status.toHuman().Finalized, fee}); + resolve({result, status, blockHash: result.status.toHuman().Finalized, fee: fee!}); } else if(status === this.transactionStatus.FAIL) { - let moduleError = null; + let moduleError: string | null = null; if(result.hasOwnProperty('dispatchError')) { const dispatchError = result['dispatchError']; @@ -834,7 +835,7 @@ export class ChainHelperBase { const startTime = (new Date()).getTime(); let result; - let error = null; + let error: unknown = null; const log = { type: this.chainLogType.RPC, call: rpc, @@ -851,7 +852,7 @@ export class ChainHelperBase { const endTime = (new Date()).getTime(); log.executedAt = endTime; - log.status = (error === null ? this.transactionStatus.SUCCESS : this.transactionStatus.FAIL) as 'Fail' | 'Success'; + log.status = error === null ? this.transactionStatus.SUCCESS : this.transactionStatus.FAIL; log.executionTime = endTime - startTime; this.chainLog.push(log); @@ -878,12 +879,12 @@ export class ChainHelperBase { async fetchPhasicEventsFromBlock(blockHash: string) { const apiAt = await this.getApi().at(blockHash); - const eventRecords = (await apiAt.query.system.events()).toArray(); + const result: any = await apiAt.query.system.events; + const eventRecords = result.toArray(); return this.eventHelper.extractPhasicEvents(eventRecords); } } - export class HelperGroup { helper: T; @@ -892,7 +893,6 @@ export class HelperGroup { } } - class CollectionGroup extends HelperGroup { /** * Get number of blocks when sponsored transaction is available. @@ -1924,7 +1924,7 @@ class NFTGroup extends NFTnRFT { * @returns array of newly created tokens */ async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, owner: ICrossAccountId, tokens: { properties?: IProperty[] }[]): Promise { - const rawTokens = []; + const rawTokens: {NFT: any}[] = []; for(const token of tokens) { const raw = {NFT: {properties: token.properties}}; rawTokens.push(raw); @@ -2089,7 +2089,7 @@ class RFTGroup extends NFTnRFT { * @returns array of newly created RFT tokens */ async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, owner: ICrossAccountId, tokens: { pieces: bigint, properties?: IProperty[] }[]): Promise { - const rawTokens = []; + const rawTokens: { ReFungible: any }[] = []; for(const token of tokens) { const raw = {ReFungible: {pieces: token.pieces, properties: token.properties}}; rawTokens.push(raw); @@ -2248,7 +2248,7 @@ class FTGroup extends CollectionGroup { * @returns ```true``` if extrinsic success, otherwise ```false``` */ async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, tokens: { value: bigint }[], owner: ICrossAccountId): Promise { - const rawTokens = []; + const rawTokens: { Fungible: any}[] = []; for(const token of tokens) { const raw = {Fungible: {Value: token.value}}; rawTokens.push(raw); diff --git a/js-packages/scripts/authorizeEnactUpgrade.ts b/js-packages/scripts/authorizeEnactUpgrade.ts index 0433cdb250..9ebb118fe9 100644 --- a/js-packages/scripts/authorizeEnactUpgrade.ts +++ b/js-packages/scripts/authorizeEnactUpgrade.ts @@ -1,4 +1,4 @@ -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import {u8aToHex} from '@polkadot/util'; import {usingPlaygrounds} from '@unique/test-utils/util.js'; import {blake2AsHex} from '@polkadot/util-crypto'; diff --git a/js-packages/scripts/benchmarks/mintFee/index.ts b/js-packages/scripts/benchmarks/mintFee/index.ts index 5437ef0968..67b0316089 100644 --- a/js-packages/scripts/benchmarks/mintFee/index.ts +++ b/js-packages/scripts/benchmarks/mintFee/index.ts @@ -1,6 +1,7 @@ import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {readFile} from 'fs/promises'; +import {Buffer} from "node:buffer"; +import {readFile} from 'node:fs/promises'; import type {ICrossAccountId} from '@unique-nft/playgrounds/types.js'; import type {IKeyringPair} from '@polkadot/types/types'; import {UniqueNFTCollection} from '@unique-nft/playgrounds/unique.js'; diff --git a/js-packages/scripts/benchmarks/nesting/index.ts b/js-packages/scripts/benchmarks/nesting/index.ts index aeaf8ebc97..af52e8d9d4 100644 --- a/js-packages/scripts/benchmarks/nesting/index.ts +++ b/js-packages/scripts/benchmarks/nesting/index.ts @@ -1,6 +1,6 @@ import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; import {Contract, HDNodeWallet} from 'ethers'; import {convertToTokens} from '../utils/common.js'; diff --git a/js-packages/scripts/benchmarks/opsFee/index.ts b/js-packages/scripts/benchmarks/opsFee/index.ts index a95694c3a8..6e299a7142 100644 --- a/js-packages/scripts/benchmarks/opsFee/index.ts +++ b/js-packages/scripts/benchmarks/opsFee/index.ts @@ -1,6 +1,6 @@ import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import {CollectionLimitField, CreateCollectionData, TokenPermissionField} from '@unique/test-utils/eth/types.js'; import type {IKeyringPair} from '@polkadot/types/types'; import {UniqueFTCollection, UniqueNFTCollection} from '@unique-nft/playgrounds/unique.js'; diff --git a/js-packages/scripts/benchmarks/utils/common.ts b/js-packages/scripts/benchmarks/utils/common.ts index 5001bb71f4..e68da338a8 100644 --- a/js-packages/scripts/benchmarks/utils/common.ts +++ b/js-packages/scripts/benchmarks/utils/common.ts @@ -2,6 +2,7 @@ import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; import {UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; import type {ITokenPropertyPermission, TCollectionMode} from '@unique-nft/playgrounds/types.js'; import type {IKeyringPair} from '@polkadot/types/types'; +import {Buffer} from "node:buffer"; export const PROPERTIES = Array(40) .fill(0) diff --git a/js-packages/scripts/calibrate.ts b/js-packages/scripts/calibrate.ts index 31bfd82b78..fc59a169c4 100644 --- a/js-packages/scripts/calibrate.ts +++ b/js-packages/scripts/calibrate.ts @@ -187,7 +187,7 @@ const hypothesisLinear = (a: Fract, b: Fract) => (x: Fract) => rpn(x, a, '*', b, async function calibrateWeightToFee(helper: EthUniqueHelper, privateKey: (account: string) => Promise) { const alice = await privateKey('//Alice'); const bob = await privateKey('//Bob'); - const dataPoints = []; + const dataPoints: {x: Fract, y: Fract}[] = []; { const collection = await helper.nft.mintCollection(alice, {name: 'New', description: 'New collection', tokenPrefix: 'NEW'}); @@ -240,7 +240,7 @@ async function calibrateMinGasPrice(helper: EthUniqueHelper, privateKey: (accoun const alice = await privateKey('//Alice'); const caller = await helper.eth.createAccountWithBalance(alice); const receiver = helper.eth.createAccount(); - const dataPoints = []; + const dataPoints: { x: Fract, y: Fract }[] = []; { const collection = await helper.nft.mintCollection(alice, {name: 'New', description: 'New collection', tokenPrefix: 'NEW'}); diff --git a/js-packages/scripts/calibrateApply.ts b/js-packages/scripts/calibrateApply.ts index 25539f74fb..6104ab0415 100644 --- a/js-packages/scripts/calibrateApply.ts +++ b/js-packages/scripts/calibrateApply.ts @@ -1,5 +1,5 @@ -import {readFile, writeFile} from 'fs/promises'; -import path from 'path'; +import {readFile, writeFile} from 'node:fs/promises'; +import path from 'node:path'; import {makeNames, usingPlaygrounds} from '@unique/test-utils/util.js'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/scripts/fetchMetadata.ts b/js-packages/scripts/fetchMetadata.ts index 2bb6f6a332..566fae4b7e 100644 --- a/js-packages/scripts/fetchMetadata.ts +++ b/js-packages/scripts/fetchMetadata.ts @@ -1,7 +1,7 @@ -import {writeFile} from 'fs/promises'; -import {join} from 'path'; -import {exit} from 'process'; -import {fileURLToPath} from 'url'; +import {writeFile} from 'node:fs/promises'; +import {join} from 'node:path'; +import {exit} from 'node:process'; +import {fileURLToPath} from 'node:url'; // TODO: Extract metadata statically with chainql. const url = process.env.RELAY_OPAL_HTTP_URL || process.env.RELAY_QUARTZ_HTTP_URL || process.env.RELAY_UNIQUE_HTTP_URL || process.env.RELAY_SAPPHIRE_HTTP_URL || 'http://127.0.0.1:9944'; diff --git a/js-packages/scripts/generateEnv.ts b/js-packages/scripts/generateEnv.ts index 6ce6db13ab..e0a81bad6a 100644 --- a/js-packages/scripts/generateEnv.ts +++ b/js-packages/scripts/generateEnv.ts @@ -1,6 +1,6 @@ import {ApiPromise, WsProvider} from '@polkadot/api'; -import {readFile} from 'fs/promises'; -import {join} from 'path'; +import {readFile} from 'node:fs/promises'; +import {join} from 'node:path'; import {makeNames} from '@unique/test-utils/util.js'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/scripts/identitySetter.ts b/js-packages/scripts/identitySetter.ts index f7180104d4..9695fe9fe0 100644 --- a/js-packages/scripts/identitySetter.ts +++ b/js-packages/scripts/identitySetter.ts @@ -74,7 +74,7 @@ export function constructSubInfo(identityAccount: string, subQuery: any, supers: ]; } -export async function getSubs(helper: ChainHelperBase) { +export async function getSubs(helper: ChainHelperBase): Promise<[string, any][]> { return (await helper.getApi().query.identity.subsOf.entries()).map(([key, value]) => [extractAccountId(key), value as any]); } diff --git a/js-packages/scripts/leaseStatus.ts b/js-packages/scripts/leaseStatus.ts index b5bfd6b5e3..c8b1446ee9 100644 --- a/js-packages/scripts/leaseStatus.ts +++ b/js-packages/scripts/leaseStatus.ts @@ -77,7 +77,7 @@ function secondsToTime(seconds: number) { {name: 's', seconds: second}, ]; - const time = []; + const time: string[] = []; for(const unit of units) { const value = Math.floor(seconds / unit.seconds); diff --git a/js-packages/scripts/proposeupgrade.ts b/js-packages/scripts/proposeupgrade.ts index 7529e86643..ae8dca5301 100644 --- a/js-packages/scripts/proposeupgrade.ts +++ b/js-packages/scripts/proposeupgrade.ts @@ -1,6 +1,6 @@ import {ApiPromise, WsProvider} from '@polkadot/api'; import {blake2AsHex} from '@polkadot/util-crypto'; -import {readFileSync} from 'fs'; +import {readFileSync} from 'node:fs'; async function main() { if(process.argv.length != 4) { diff --git a/js-packages/scripts/relayIdentitiesChecker.ts b/js-packages/scripts/relayIdentitiesChecker.ts index 95653cc415..ee0aa9f3c2 100644 --- a/js-packages/scripts/relayIdentitiesChecker.ts +++ b/js-packages/scripts/relayIdentitiesChecker.ts @@ -13,9 +13,9 @@ import {getIdentities, getSubs, getSupers, constructSubInfo} from './identitySet const relay1Url = process.argv[2] ?? 'ws://localhost:9844'; const relay2Url = process.argv[3] ?? 'ws://localhost:9844'; -async function pullIdentities(relayUrl: string): Promise<[any[], any[]]> { - const identities: any[] = []; - const subs: any[] = []; +async function pullIdentities(relayUrl: string): Promise<[[string, any][], [string, any][]]> { + const identities: [string, any][] = []; + const subs: [string, any][] = []; await usingPlaygrounds(async helper => { try { @@ -31,7 +31,7 @@ async function pullIdentities(relayUrl: string): Promise<[any[], any[]]> { // iterate over every sub-identity for(const [key, value] of await getSubs(helper)) { // only get subs of the identities interesting to us - if(identities.find((x: any) => x[0] == key) == -1) continue; + if(!identities.some(([k, _]: [string, any]) => k == key)) continue; subs.push(constructSubInfo(key, value, supersOfSubs)); } } catch (error) { @@ -79,7 +79,7 @@ const checkRelayIdentities = async (): Promise => { console.log(`Sub-identities with conflicting information:\t${Object.entries(inequalIdentities).length}`); console.log(); - const inequalSubIdentities = []; + const inequalSubIdentities: [any, any][] = []; let matchesFound = 0; for(const address of matchingAddresses) { const sub1 = subIdentitiesOnRelay1.find(([key1, _value1]) => address === encodeAddress(key1)); diff --git a/js-packages/scripts/setCode.ts b/js-packages/scripts/setCode.ts index 9b3917be70..8f3bba15c3 100644 --- a/js-packages/scripts/setCode.ts +++ b/js-packages/scripts/setCode.ts @@ -1,4 +1,4 @@ -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import {u8aToHex} from '@polkadot/util'; import {usingPlaygrounds} from '@unique/test-utils/util.js'; diff --git a/js-packages/scripts/transfer.nload.ts b/js-packages/scripts/transfer.nload.ts index 5ef0b71fb2..8eff480e55 100644 --- a/js-packages/scripts/transfer.nload.ts +++ b/js-packages/scripts/transfer.nload.ts @@ -15,11 +15,11 @@ // along with Unique Network. If not, see . /* eslint-disable @typescript-eslint/no-floating-promises */ -import os from 'os'; +import os from 'node:os'; import type {IKeyringPair} from '@polkadot/types/types'; import {usingPlaygrounds} from '@unique/test-utils/util.js'; import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; -import * as notReallyCluster from 'cluster'; // https://github.com/nodejs/node/issues/42271#issuecomment-1063415346 +import * as notReallyCluster from 'node:cluster'; // https://github.com/nodejs/node/issues/42271#issuecomment-1063415346 const cluster = notReallyCluster as unknown as notReallyCluster.Cluster; async function findUnusedAddress(helper: UniqueHelper, privateKey: (account: string) => Promise, seedAddition = ''): Promise { diff --git a/js-packages/test-utils/eth/index.ts b/js-packages/test-utils/eth/index.ts index 35f0b9c2b7..08fccc903c 100644 --- a/js-packages/test-utils/eth/index.ts +++ b/js-packages/test-utils/eth/index.ts @@ -3,7 +3,7 @@ /* eslint-disable function-call-argument-newline */ -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import {ContractTransactionReceipt, ethers, EventLog, getAddress, HDNodeWallet, hexlify, Log, Wallet, JsonRpcProvider} from 'ethers'; @@ -13,10 +13,10 @@ import solc from 'solc'; import {evmToAddress} from '@polkadot/util-crypto'; import type {IKeyringPair} from '@polkadot/types/types'; -import {ArrangeGroup, DevUniqueHelper} from '@unique/test-utils/index.js'; +import {ArrangeGroup, DevUniqueHelper} from '@unique/test-utils/index.ts'; -import type {ContractImports, CompiledContract, CrossAddress, NormalizedEvent, EthProperty} from './types.js'; -import {CollectionMode, CreateCollectionData} from './types.js'; +import type {ContractImports, CompiledContract, CrossAddress, NormalizedEvent, EthProperty} from './types.ts'; +import {CollectionMode, CreateCollectionData} from './types.ts'; // Native contracts ABI import collectionHelpersAbi from '@unique-nft/evm-abi/abi/collectionHelpers.json' with {type: 'json'}; @@ -30,9 +30,10 @@ import refungibleDeprecatedAbi from '@unique-nft/evm-abi/abi/reFungibleDeprecate import refungibleTokenAbi from '@unique-nft/evm-abi/abi/reFungibleToken.json' with {type: 'json'}; import refungibleTokenDeprecatedAbi from '@unique-nft/evm-abi/abi/reFungibleTokenDeprecated.json' with {type: 'json'}; import contractHelpersAbi from '@unique-nft/evm-abi/abi/contractHelpers.json' with {type: 'json'}; -import type {ICrossAccountId, TCollectionMode} from '@unique-nft/playgrounds/types.js'; +import type {ICrossAccountId, TCollectionMode} from '@unique-nft/playgrounds/types.ts'; +import {Buffer} from "node:buffer"; import {Contract} from 'ethers'; -import {waitParams} from './util.js'; +import {waitParams} from './util.ts'; class EthGroupBase { helper: EthUniqueHelper; diff --git a/js-packages/test-utils/eth/types.ts b/js-packages/test-utils/eth/types.ts index ac6d923614..46777b2e81 100644 --- a/js-packages/test-utils/eth/types.ts +++ b/js-packages/test-utils/eth/types.ts @@ -1,5 +1,6 @@ -import {CollectionFlag} from '@unique-nft/playgrounds/types.js'; -import type {TCollectionMode} from '@unique-nft/playgrounds/types.js'; +import {CollectionFlag} from '@unique-nft/playgrounds/types.ts'; +import type {TCollectionMode} from '@unique-nft/playgrounds/types.ts'; +import {Buffer} from "node:buffer"; export interface ContractImports { solPath: string; diff --git a/js-packages/test-utils/eth/util.ts b/js-packages/test-utils/eth/util.ts index b3f3131424..92400dacf4 100644 --- a/js-packages/test-utils/eth/util.ts +++ b/js-packages/test-utils/eth/util.ts @@ -1,19 +1,19 @@ // Copyright 2019-2022 Unique Network (Gibraltar) Ltd. // SPDX-License-Identifier: Apache-2.0 -import * as path from 'path'; +import * as path from 'node:path'; import type {IKeyringPair} from '@polkadot/types/types'; -import config from '../../tests/config.js'; +import config from '../../tests/config.ts'; -import {EthUniqueHelper} from './index.js'; +import {EthUniqueHelper} from './index.ts'; import {SilentLogger, SilentConsole} from '@unique/test-utils'; -import type {SchedKind} from '@unique/test-utils/util.js'; +import type {SchedKind} from '@unique/test-utils/util.ts'; import chai from 'chai'; import chaiAsPromised from 'chai-as-promised'; import chaiLike from 'chai-like'; -import {getTestSeed, MINIMUM_DONOR_FUND, requirePalletsOrSkip, makeNames} from '@unique/test-utils/util.js'; +import {getTestSeed, MINIMUM_DONOR_FUND, requirePalletsOrSkip, makeNames} from '@unique/test-utils/util.ts'; import {hexlify, toUtf8Bytes} from 'ethers'; chai.use(chaiAsPromised); diff --git a/js-packages/test-utils/globalSetup.ts b/js-packages/test-utils/globalSetup.ts index 0f6c513716..858f1f1096 100644 --- a/js-packages/test-utils/globalSetup.ts +++ b/js-packages/test-utils/globalSetup.ts @@ -4,10 +4,10 @@ import { usingPlaygrounds, Pallets, DONOR_FUNDING, MINIMUM_DONOR_FUND, LOCKING_PERIOD, UNLOCKING_PERIOD, makeNames, INTERVAL_INCOME, -} from './util.js'; -import * as path from 'path'; -import {promises as fs} from 'fs'; -import {DevUniqueHelper} from './index.js'; +} from './util.ts'; +import * as path from 'node:path'; +import {promises as fs} from 'node:fs'; +import {DevUniqueHelper} from './index.ts'; import type {IKeyringPair} from '@polkadot/types/types'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/test-utils/governance.ts b/js-packages/test-utils/governance.ts index fef76e7122..2e1c7b6a2d 100644 --- a/js-packages/test-utils/governance.ts +++ b/js-packages/test-utils/governance.ts @@ -1,7 +1,7 @@ import {blake2AsHex} from '@polkadot/util-crypto'; import type {PalletDemocracyConviction} from '@polkadot/types/lookup'; -import type {IPhasicEvent, TSigner} from '@unique-nft/playgrounds/types.js'; -import {HelperGroup, UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import type {IPhasicEvent, TSigner} from '@unique-nft/playgrounds/types.ts'; +import {HelperGroup, UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; export class CollectiveGroup extends HelperGroup { /** diff --git a/js-packages/test-utils/index.ts b/js-packages/test-utils/index.ts index 1600210229..acbf10c52d 100644 --- a/js-packages/test-utils/index.ts +++ b/js-packages/test-utils/index.ts @@ -1,25 +1,26 @@ // Copyright 2019-2022 Unique Network (Gibraltar) Ltd. // SPDX-License-Identifier: Apache-2.0 -import '@unique-nft/opal-testnet-types/augment-api.js'; -import '@unique-nft/opal-testnet-types/augment-types.js'; -import '@unique-nft/opal-testnet-types/types-lookup.js'; +import '@unique-nft/opal-testnet-types/augment-api.ts'; +import '@unique-nft/opal-testnet-types/augment-types.ts'; +import '@unique-nft/opal-testnet-types/types-lookup.ts'; import {stringToU8a} from '@polkadot/util'; import {blake2AsHex, encodeAddress, mnemonicGenerate} from '@polkadot/util-crypto'; -import type {ChainHelperBaseConstructor, UniqueHelperConstructor} from '@unique-nft/playgrounds/unique.js'; -import {UniqueHelper, ChainHelperBase, HelperGroup} from '@unique-nft/playgrounds/unique.js'; +import type {ChainHelperBaseConstructor, UniqueHelperConstructor} from '@unique-nft/playgrounds/unique.ts'; +import {UniqueHelper, ChainHelperBase, HelperGroup} from '@unique-nft/playgrounds/unique.ts'; import {ApiPromise, Keyring, WsProvider} from '@polkadot/api'; -import * as defs from '@unique-nft/opal-testnet-types/definitions.js'; -import type {IKeyringPair} from '@polkadot/types/types'; +import * as defs from '@unique-nft/opal-testnet-types/definitions.ts'; +import type {AnyJson, IKeyringPair} from '@polkadot/types/types'; import type {EventRecord} from '@polkadot/types/interfaces'; -import type {ICrossAccountId, ILogger, IPovInfo, ISchedulerOptions, ITransactionResult, TSigner} from '@unique-nft/playgrounds/types.js'; +import type {ICrossAccountId, ILogger, IPovInfo, ISchedulerOptions, ITransactionResult, TSigner} from '@unique-nft/playgrounds/types.ts'; import type {FrameSystemEventRecord, XcmV3TraitsError, StagingXcmV5TraitsOutcome} from '@polkadot/types/lookup'; import type {SignerOptions, VoidFn} from '@polkadot/api/types'; -import {spawnSync} from 'child_process'; -import {AcalaHelper, AstarHelper, MoonbeamHelper, RelayHelper, WestmintHelper, ForeignAssetsGroup, XcmGroup, XTokensGroup, TokensGroup, HydraDxHelper} from './xcm/index.js'; -import {CollectiveGroup, CollectiveMembershipGroup, DemocracyGroup, RankedCollectiveGroup, ReferendaGroup} from './governance.js'; -import type {ICollectiveGroup, IFellowshipGroup} from './governance.js'; +import {Buffer} from "node:buffer"; +import {spawnSync} from 'node:child_process'; +import {AcalaHelper, AstarHelper, MoonbeamHelper, RelayHelper, WestmintHelper, ForeignAssetsGroup, XcmGroup, XTokensGroup, TokensGroup, HydraDxHelper} from './xcm/index.ts'; +import {CollectiveGroup, CollectiveMembershipGroup, DemocracyGroup, RankedCollectiveGroup, ReferendaGroup} from './governance.ts'; +import type {ICollectiveGroup, IFellowshipGroup} from './governance.ts'; export class SilentLogger { log(_msg: any, _level: any): void { } @@ -616,7 +617,7 @@ export class DevRelayHelper extends RelayHelper { options.helperBase = options.helperBase ?? DevRelayHelper; super(logger, options); - this.wait = new WaitGroup(this); + this.wait = new WaitGroup(this as ChainHelperBase); } getSudo() { @@ -736,7 +737,7 @@ export class ArrangeGroup { const wait = new WaitGroup(this.helper); const ss58Format = this.helper.chain.getChainProperties().ss58Format; const tokenNominal = this.helper.balance.getOneTokenNominal(); - const transactions = []; + const transactions: Promise[] = []; const accounts: IKeyringPair[] = []; for(const balance of balances) { const recipient = this.helper.util.fromSeed(mnemonicGenerate(), ss58Format); @@ -801,7 +802,7 @@ export class ArrangeGroup { } } - const fullfilledAccounts = []; + const fullfilledAccounts: IKeyringPair[] = []; await Promise.allSettled(transactions); for(const account of accounts) { const accountBalance = await this.helper.balance.getSubstrate(account.address); @@ -919,7 +920,7 @@ export class ArrangeGroup { return scheduledId; } - const ids = []; + const ids: string[] = []; for(let i = 0; i < num; i++) { ids.push(makeId(this.scheduledIdSlider)); this.scheduledIdSlider += 1; @@ -1386,11 +1387,12 @@ class WaitGroup { // eslint-disable-next-line no-async-promise-executor const promise = new Promise(async (resolve) => { const unsubscribe = await this.helper.getApi().rpc.chain.subscribeNewHeads((data: any) => { - lastBlock = data.number.toNumber(); - if(lastBlock >= blockNumber) { + const newlastBlock = data.number.toNumber(); + if(newlastBlock >= blockNumber) { unsubscribe(); resolve(); } + lastBlock = newlastBlock; }); }); @@ -1409,12 +1411,13 @@ class WaitGroup { // eslint-disable-next-line no-async-promise-executor const promise = new Promise(async (resolve) => { const unsubscribe = await this.helper.getApi().query.parachainSystem.validationData((data: any) => { - lastBlock = data.value.relayParentNumber.toNumber(); - if(lastBlock >= blockNumber) { + const newlastBlock = data.value.relayParentNumber.toNumber(); + if(newlastBlock >= blockNumber) { // @ts-ignore unsubscribe(); resolve(); } + lastBlock = newlastBlock; }); }); @@ -1571,7 +1574,7 @@ class TestUtilGroup { await this.helper.executeExtrinsic(signer, 'api.tx.testUtils.setTestValueAndRollback', [testVal], true); } - async testValue(blockIdx?: number) { + async testValue(blockIdx?: number): Promise { const api = blockIdx ? await this.helper.getApi().at(await this.helper.callRpc('api.rpc.chain.getBlockHash', [blockIdx])) : this.helper.getApi(); diff --git a/js-packages/test-utils/package.json b/js-packages/test-utils/package.json index 786efd2ed9..51d75f8d41 100644 --- a/js-packages/test-utils/package.json +++ b/js-packages/test-utils/package.json @@ -8,7 +8,7 @@ "name": "@unique/test-utils", "type": "module", "version": "1.0.0", - "main": "index.js", + "main": "index.ts", "dependencies": { "@polkadot/api": "15.5.2", "@polkadot/util": "^13.3.1", diff --git a/js-packages/test-utils/util.ts b/js-packages/test-utils/util.ts index 858bb064ca..3eb3fefca2 100644 --- a/js-packages/test-utils/util.ts +++ b/js-packages/test-utils/util.ts @@ -1,19 +1,20 @@ // Copyright 2019-2022 Unique Network (Gibraltar) Ltd. // SPDX-License-Identifier: Apache-2.0 +import {it} from "https://deno.land/x/deno_mocha/mod.ts"; -import * as path from 'path'; -import * as crypto from 'crypto'; +import * as path from 'node:path'; +import * as crypto from 'node:crypto'; import type {IKeyringPair} from '@polkadot/types/types/interfaces'; import chai from 'chai'; import chaiAsPromised from 'chai-as-promised'; import chaiSubset from 'chai-subset'; import {Context} from 'mocha'; -import config from '../tests/config.js'; -import {ChainHelperBase} from '@unique-nft/playgrounds/unique.js'; -import type {ILogger} from '@unique-nft/playgrounds/types.js'; +import config from '../tests/config.ts'; +import {ChainHelperBase} from '@unique-nft/playgrounds/unique.ts'; +import type {ILogger} from '@unique-nft/playgrounds/types.ts'; import {DevUniqueHelper, SilentLogger, SilentConsole, DevMoonbeamHelper, DevMoonriverHelper, DevAcalaHelper, DevKaruraHelper, DevRelayHelper, DevWestmintHelper, DevStatemineHelper, DevStatemintHelper, DevAstarHelper, DevShidenHelper, DevHydraDxHelper} from '@unique/test-utils'; -import {dirname} from 'path'; -import {fileURLToPath} from 'url'; +import {dirname} from 'node:path'; +import {fileURLToPath} from 'node:url'; chai.config.truncateThreshold = 0; chai.use(chaiAsPromised); diff --git a/js-packages/test-utils/xcm/index.ts b/js-packages/test-utils/xcm/index.ts index 5c7fca40b8..45c09f14e7 100644 --- a/js-packages/test-utils/xcm/index.ts +++ b/js-packages/test-utils/xcm/index.ts @@ -1,8 +1,8 @@ import {ApiPromise, WsProvider} from '@polkadot/api'; import type {IKeyringPair} from '@polkadot/types/types'; -import {ChainHelperBase, EthereumBalanceGroup, HelperGroup, SubstrateBalanceGroup, UniqueHelper} from '@unique-nft/playgrounds/unique.js'; -import type {ILogger, TSigner} from '@unique-nft/playgrounds/types.js'; -import type {AcalaAssetMetadata, DemocracyStandardAccountVote, MoonbeamAssetInfo} from './types.js'; +import {ChainHelperBase, EthereumBalanceGroup, HelperGroup, SubstrateBalanceGroup, UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; +import type {ILogger, TSigner} from '@unique-nft/playgrounds/types.ts'; +import type {AcalaAssetMetadata, DemocracyStandardAccountVote, MoonbeamAssetInfo} from './types.ts'; export class XcmChainHelper extends ChainHelperBase { diff --git a/js-packages/tests/addCollectionAdmin.test.ts b/js-packages/tests/addCollectionAdmin.test.ts index aaa91d2a15..3ec37d7fdd 100644 --- a/js-packages/tests/addCollectionAdmin.test.ts +++ b/js-packages/tests/addCollectionAdmin.test.ts @@ -13,10 +13,14 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . +import { + before, + describe, +} from "https://deno.land/x/deno_mocha/mod.ts"; import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.ts'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test addCollectionAdmin(collection_id, new_admin_id):', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/config.ts b/js-packages/tests/config.ts index 91cf20ca53..7a2aaa243f 100644 --- a/js-packages/tests/config.ts +++ b/js-packages/tests/config.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import process from 'process'; +import process from 'node:process'; const config = { relayUrl: process.env.RELAY_URL || 'ws://127.0.0.1:9844', diff --git a/js-packages/tests/createMultipleItems.test.ts b/js-packages/tests/createMultipleItems.test.ts index 4acdbba8cc..dfc68855f8 100644 --- a/js-packages/tests/createMultipleItems.test.ts +++ b/js-packages/tests/createMultipleItems.test.ts @@ -356,7 +356,7 @@ describe('Negative Integration Test createMultipleItems(collection_id, owner, it description: 'descr', tokenPrefix: 'COL', }); - const prps = []; + const prps: {key: string, value: string}[] = []; for(let i = 0; i < 65; i++) { prps.push({key: `key${i}`, value: `value${i}`}); diff --git a/js-packages/tests/eth/collectionAdmin.test.ts b/js-packages/tests/eth/collectionAdmin.test.ts index ef5e87dc13..dee4a642fc 100644 --- a/js-packages/tests/eth/collectionAdmin.test.ts +++ b/js-packages/tests/eth/collectionAdmin.test.ts @@ -15,11 +15,11 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {expect} from 'chai'; -import {Pallets} from '@unique/test-utils/util.js'; -import type {IEthCrossAccountId} from '@unique-nft/playgrounds/types.js'; -import {usingEthPlaygrounds, itEth, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; +import {Pallets} from '@unique/test-utils/util.ts'; +import type {IEthCrossAccountId} from '@unique-nft/playgrounds/types.ts'; +import {usingEthPlaygrounds, itEth, waitParams} from '@unique/test-utils/eth/util.ts'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index.ts'; +import {CreateCollectionData} from '@unique/test-utils/eth/types.ts'; import {Contract} from 'ethers'; async function recordEthFee(helper: EthUniqueHelper, userAddress: string, call: () => Promise) { diff --git a/js-packages/tests/eth/collectionProperties.test.ts b/js-packages/tests/eth/collectionProperties.test.ts index e5dd7ec5ff..fc5300f152 100644 --- a/js-packages/tests/eth/collectionProperties.test.ts +++ b/js-packages/tests/eth/collectionProperties.test.ts @@ -18,6 +18,7 @@ import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@un import {Pallets} from '@unique/test-utils/util.js'; import type {IProperty, ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; import type {IKeyringPair} from '@polkadot/types/types'; +import {Buffer} from "node:buffer"; describe('EVM collection properties', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/collectionSponsoring.test.ts b/js-packages/tests/eth/collectionSponsoring.test.ts index 1b2be4cbc9..446792dd83 100644 --- a/js-packages/tests/eth/collectionSponsoring.test.ts +++ b/js-packages/tests/eth/collectionSponsoring.test.ts @@ -18,6 +18,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; import {itEth, expect, waitParams} from '@unique/test-utils/eth/util.js'; import {CollectionLimitField, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import {Buffer} from "node:buffer"; import {Contract} from 'ethers'; describe('evm nft collection sponsoring', () => { diff --git a/js-packages/tests/eth/createCollection.test.ts b/js-packages/tests/eth/createCollection.test.ts index a3345de61b..65af9e3f8c 100644 --- a/js-packages/tests/eth/createCollection.test.ts +++ b/js-packages/tests/eth/createCollection.test.ts @@ -21,6 +21,7 @@ import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils import {CREATE_COLLECTION_DATA_DEFAULTS, CollectionLimitField, CollectionMode, CreateCollectionData, TokenPermissionField, emptyAddress} from '@unique/test-utils/eth/types.js'; import {CollectionFlag} from '@unique-nft/playgrounds/types.js'; import type {IEthCrossAccountId, TCollectionMode} from '@unique-nft/playgrounds/types.js'; +import {Buffer} from "node:buffer"; const DECIMALS = 18; const CREATE_COLLECTION_DATA_DEFAULTS_ARRAY = [ diff --git a/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts b/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts index 274a13b4f3..d6a16d7a01 100644 --- a/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts +++ b/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; import {evmToAddress} from '@polkadot/util-crypto'; diff --git a/js-packages/tests/eth/marketplace-v2/marketplace.test.ts b/js-packages/tests/eth/marketplace-v2/marketplace.test.ts index 34fb7c25ed..c1df87a768 100644 --- a/js-packages/tests/eth/marketplace-v2/marketplace.test.ts +++ b/js-packages/tests/eth/marketplace-v2/marketplace.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import {SponsoringMode, waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; import {makeNames, expect} from '@unique/test-utils/util.js'; diff --git a/js-packages/tests/eth/marketplace/marketplace.test.ts b/js-packages/tests/eth/marketplace/marketplace.test.ts index 70b8b3a2ce..f95d117db0 100644 --- a/js-packages/tests/eth/marketplace/marketplace.test.ts +++ b/js-packages/tests/eth/marketplace/marketplace.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import {itEth, usingEthPlaygrounds, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; import {makeNames} from '@unique/test-utils/util.js'; @@ -23,7 +23,7 @@ const {dirname} = makeNames(import.meta.url); const EVM_ABI_DIR = `${dirname}/../../../evm-abi`; describe('Matcher contract usage', () => { - const PRICE = 2000n; + const PRICE: bigint = 2000n; let donor: IKeyringPair; let alice: IKeyringPair; let aliceMirror: string; @@ -88,7 +88,8 @@ describe('Matcher contract usage', () => { { const sellerBalanceBeforePurchase = await helper.balance.getSubstrate(seller.address); await helper.eth.sendEVM(alice, await matcher.getAddress(), (await matcher.buy.populateTransaction(await evmCollection.getAddress(), token.tokenId)).data, PRICE.toString()); - expect(await helper.balance.getSubstrate(seller.address) - sellerBalanceBeforePurchase === PRICE); + const sellerBalanceAfterPurchase: bigint = await helper.balance.getSubstrate(seller.address); + expect(sellerBalanceAfterPurchase - sellerBalanceBeforePurchase === PRICE); } // Token is transferred to evm account of alice @@ -193,7 +194,8 @@ describe('Matcher contract usage', () => { { const sellerBalanceBeforePurchase = await helper.balance.getSubstrate(seller.address); await helper.eth.sendEVM(alice, await matcher.getAddress(), (await matcher.buy.populateTransaction(await evmCollection.getAddress(), token.tokenId)).data, PRICE.toString()); - expect(await helper.balance.getSubstrate(seller.address) - sellerBalanceBeforePurchase === PRICE); + const sellerBalanceAfterPurchase: bigint = await helper.balance.getSubstrate(seller.address); + expect(sellerBalanceAfterPurchase - sellerBalanceBeforePurchase === PRICE); } // Token is transferred to evm account of alice diff --git a/js-packages/tests/eth/nonFungible.test.ts b/js-packages/tests/eth/nonFungible.test.ts index f96e657aeb..927399bf60 100644 --- a/js-packages/tests/eth/nonFungible.test.ts +++ b/js-packages/tests/eth/nonFungible.test.ts @@ -20,6 +20,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {Contract} from 'ethers'; import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; import {CREATE_COLLECTION_DATA_DEFAULTS, NormalizedEvent, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import {Buffer} from "node:buffer"; describe('Check ERC721 token URI for NFT', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/proxy/fungibleProxy.test.ts b/js-packages/tests/eth/proxy/fungibleProxy.test.ts index 1d9b9bf43b..21a9612466 100644 --- a/js-packages/tests/eth/proxy/fungibleProxy.test.ts +++ b/js-packages/tests/eth/proxy/fungibleProxy.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import {expect} from 'chai'; -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; import {waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; diff --git a/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts b/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts index 5a41db91ea..6ffa3fa2ea 100644 --- a/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts +++ b/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {readFile} from 'fs/promises'; +import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; diff --git a/js-packages/tests/eth/reFungible.test.ts b/js-packages/tests/eth/reFungible.test.ts index bae8656581..776908e493 100644 --- a/js-packages/tests/eth/reFungible.test.ts +++ b/js-packages/tests/eth/reFungible.test.ts @@ -19,6 +19,7 @@ import {waitParams, expect, itEth, usingEthPlaygrounds, hexlifyString} from '@un import type {IKeyringPair} from '@polkadot/types/types'; import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; import {CREATE_COLLECTION_DATA_DEFAULTS, NormalizedEvent, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import {Buffer} from "node:buffer"; import {Contract} from 'ethers'; import {HDNodeWallet} from 'ethers'; diff --git a/js-packages/tests/eth/reFungibleToken.test.ts b/js-packages/tests/eth/reFungibleToken.test.ts index 7b4442b935..e1b43693f4 100644 --- a/js-packages/tests/eth/reFungibleToken.test.ts +++ b/js-packages/tests/eth/reFungibleToken.test.ts @@ -18,6 +18,7 @@ import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; import type {IKeyringPair} from '@polkadot/types/types'; +import {Buffer} from "node:buffer"; import {Contract} from 'ethers'; // FIXME: Need erc721 for ReFubgible. diff --git a/js-packages/tests/eth/tokenProperties.test.ts b/js-packages/tests/eth/tokenProperties.test.ts index e6c3402c6f..dd88285a04 100644 --- a/js-packages/tests/eth/tokenProperties.test.ts +++ b/js-packages/tests/eth/tokenProperties.test.ts @@ -21,6 +21,7 @@ import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; import {Pallets} from '@unique/test-utils/util.js'; import {UniqueNFTCollection, UniqueNFToken, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; import {CreateCollectionData, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import {Buffer} from "node:buffer"; describe('EVM token properties', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/maintenance.seqtest.ts b/js-packages/tests/maintenance.seqtest.ts index 02b8fab6d1..d987f51fbe 100644 --- a/js-packages/tests/maintenance.seqtest.ts +++ b/js-packages/tests/maintenance.seqtest.ts @@ -18,7 +18,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {ApiPromise} from '@polkadot/api'; import {expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; import {itEth} from '@unique/test-utils/eth/util.js'; -import {main as correctState} from '@unique/scripts/correctStateAfterMaintenance.js'; +import {main as correctState} from '../@unique/scripts/correctStateAfterMaintenance.js'; import type {FrameSupportTokensMiscIdAmount} from '@polkadot/types/lookup'; import type {Vec} from '@polkadot/types-codec'; diff --git a/js-packages/tests/nativeFungible.test.ts b/js-packages/tests/nativeFungible.test.ts index 5504845061..ad6aee6f4d 100644 --- a/js-packages/tests/nativeFungible.test.ts +++ b/js-packages/tests/nativeFungible.test.ts @@ -138,7 +138,7 @@ describe('Native fungible', () => { const balanceBobBefore = await helper.balance.getSubstrate(bob.address); await collection.transfer(alice, {Substrate: bob.address}, 100n); const balanceAliceAfter = await helper.balance.getSubstrate(alice.address); - const balanceBobAfter = await helper.balance.getSubstrate(bob.address); + const balanceBobAfter: bigint = await helper.balance.getSubstrate(bob.address); expect(balanceAliceBefore - balanceAliceAfter > 100n).to.be.true; expect(balanceBobAfter - balanceBobBefore === 100n).to.be.true; }); @@ -150,8 +150,8 @@ describe('Native fungible', () => { await collection.transferFrom(alice, {Substrate: alice.address}, {Substrate: bob.address}, 100n); - const balanceAliceAfter = await helper.balance.getSubstrate(alice.address); - const balanceBobAfter = await helper.balance.getSubstrate(bob.address); + const balanceAliceAfter: bigint = await helper.balance.getSubstrate(alice.address); + const balanceBobAfter: bigint = await helper.balance.getSubstrate(bob.address); expect(balanceAliceBefore - balanceAliceAfter > 100n).to.be.true; expect(balanceBobAfter - balanceBobBefore === 100n).to.be.true; diff --git a/js-packages/tests/sub/appPromotion/appPromotion.test.ts b/js-packages/tests/sub/appPromotion/appPromotion.test.ts index a1a3328da0..4b8d6816ce 100644 --- a/js-packages/tests/sub/appPromotion/appPromotion.test.ts +++ b/js-packages/tests/sub/appPromotion/appPromotion.test.ts @@ -65,7 +65,7 @@ describe('App promotion', () => { await usingPlaygrounds(async (helper) => { const totalStakedBefore = await helper.staking.getTotalStaked(); let stakedByUsedAccs = 0n; - let unstakeTxs = []; + let unstakeTxs: Promise[] = []; for(const account of usedAccounts) { if(unstakeTxs.length === 3) { await Promise.all(unstakeTxs); @@ -923,7 +923,7 @@ describe('App promotion', () => { // Create 30 stakes: await Promise.all(stakers.map(staker => helper.staking.stake(staker, 100n * nominal))); - let unstakingTxs = []; + let unstakingTxs: Promise[] = []; for(const staker of stakers) { if(unstakingTxs.length == 3) { await Promise.all(unstakingTxs); diff --git a/js-packages/tests/sub/governance/util.ts b/js-packages/tests/sub/governance/util.ts index 8e891e45c7..5556a1251f 100644 --- a/js-packages/tests/sub/governance/util.ts +++ b/js-packages/tests/sub/governance/util.ts @@ -1,8 +1,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {xxhashAsHex} from '@polkadot/util-crypto'; import type {u32} from '@polkadot/types-codec'; -import {usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import {usingPlaygrounds, expect} from '@unique/test-utils/util.ts'; +import {UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; import {DevUniqueHelper} from '@unique/test-utils'; export const democracyLaunchPeriod = 35; @@ -224,7 +224,8 @@ export async function clearFellowship(sudoer: IKeyringPair) { export async function clearFellowshipReferenda(sudoer: IKeyringPair) { await usingPlaygrounds(async (helper) => { - const proposalsCount = (await helper.getApi().query.fellowshipReferenda.referendumCount()) as u32; + const result: unknown = await helper.getApi().query.fellowshipReferenda.referendumCount(); + const proposalsCount = result as u32; for(let i = 0; i < proposalsCount.toNumber(); i++) { await helper.getSudo().fellowship.referenda.cancel(sudoer, i); } diff --git a/js-packages/tests/sub/nesting/collectionProperties.test.ts b/js-packages/tests/sub/nesting/collectionProperties.test.ts index 82a94c8aaf..c15f593f9d 100644 --- a/js-packages/tests/sub/nesting/collectionProperties.test.ts +++ b/js-packages/tests/sub/nesting/collectionProperties.test.ts @@ -291,7 +291,7 @@ describe('Negative Integration Test: Collection Properties', () => { itSub('Fails to set more properties than it is allowed', async ({helper}) => { const collection = await helper[testSuite.mode].mintCollection(alice); - const propertiesToBeSet = []; + const propertiesToBeSet: {key: string, value: string}[] = []; for(let i = 0; i < 65; i++) { propertiesToBeSet.push({ key: 'electron_' + i, diff --git a/js-packages/tests/sub/nesting/propertyPermissions.test.ts b/js-packages/tests/sub/nesting/propertyPermissions.test.ts index e936b5fa38..aeeaf9ba53 100644 --- a/js-packages/tests/sub/nesting/propertyPermissions.test.ts +++ b/js-packages/tests/sub/nesting/propertyPermissions.test.ts @@ -109,7 +109,7 @@ describe('Negative Integration Test: Access Rights to Token Properties', () => { }); async function testPreventFromAddingTooManyPossibleProperties(collection: UniqueNFTCollection | UniqueRFTCollection) { - const constitution = []; + const constitution: {key: string, permission: any}[] = []; for(let i = 0; i < 65; i++) { constitution.push({ key: 'property_' + i, diff --git a/js-packages/tests/sub/nesting/unnest.test.ts b/js-packages/tests/sub/nesting/unnest.test.ts index 7a1eb18c27..88fc733241 100644 --- a/js-packages/tests/sub/nesting/unnest.test.ts +++ b/js-packages/tests/sub/nesting/unnest.test.ts @@ -136,7 +136,7 @@ describe('Integration Test: Unnesting', () => { const senders = ['owner', 'admin']; const ops = ['transfer', 'burn']; - const cases = []; + const cases: any[] = []; for(const mode of modes) { const requiredPallets = (mode === 'rft') ? [Pallets.ReFungible] diff --git a/js-packages/tests/tx-version-presence.test.ts b/js-packages/tests/tx-version-presence.test.ts index 31698767a6..55e33100ef 100644 --- a/js-packages/tests/tx-version-presence.test.ts +++ b/js-packages/tests/tx-version-presence.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import {Metadata} from '@polkadot/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.ts'; let metadata: Metadata; @@ -27,6 +27,6 @@ describe('TxVersion is present', () => { }); itSub('Signed extension CheckTxVersion is present', () => { - expect(metadata.asLatest.extrinsic.signedExtensions.map(se => se.identifier.toString())).to.include('CheckTxVersion'); + expect(metadata.asLatest.extrinsic.transactionExtensions.map(se => se.identifier.toString())).to.include('CheckTxVersion'); }); }); diff --git a/js-packages/tests/xcm/unique.test.ts b/js-packages/tests/xcm/unique.test.ts index 1e017dc777..642f884224 100644 --- a/js-packages/tests/xcm/unique.test.ts +++ b/js-packages/tests/xcm/unique.test.ts @@ -15,10 +15,10 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import config from '../config.js'; -import {itSub, describeXCM, usingPlaygrounds, usingAcalaPlaygrounds, usingMoonbeamPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingRelayPlaygrounds, usingPolkadotAssetHubPlaygrounds} from '@unique/test-utils/util.js'; +import config from '../config.ts'; +import {itSub, describeXCM, usingPlaygrounds, usingAcalaPlaygrounds, usingMoonbeamPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingRelayPlaygrounds, usingPolkadotAssetHubPlaygrounds} from '@unique/test-utils/util.ts'; import {hexToString} from '@polkadot/util'; -import {ASSET_HUB_PALLET_ASSETS, ASTAR_DECIMALS, POLKADOT_ASSETHUB_CHAIN, SAFE_XCM_VERSION, SENDBACK_AMOUNT, SENDER_BUDGET, SENDTO_AMOUNT, UNIQUE_CHAIN, UNQ_DECIMALS, USDT_ASSET_ID, USDT_DECIMALS, XcmTestHelper} from './xcm.types.js'; +import {ASSET_HUB_PALLET_ASSETS, ASTAR_DECIMALS, POLKADOT_ASSETHUB_CHAIN, SAFE_XCM_VERSION, SENDBACK_AMOUNT, SENDER_BUDGET, SENDTO_AMOUNT, UNIQUE_CHAIN, UNQ_DECIMALS, USDT_ASSET_ID, USDT_DECIMALS, XcmTestHelper} from './xcm.types.ts'; const testHelper = new XcmTestHelper; diff --git a/js-packages/tests/xcm/xcm.types.ts b/js-packages/tests/xcm/xcm.types.ts index 5350a87ea0..7d2c640407 100644 --- a/js-packages/tests/xcm/xcm.types.ts +++ b/js-packages/tests/xcm/xcm.types.ts @@ -1,8 +1,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, usingAcalaPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingKaruraPlaygrounds, usingKusamaAssetHubPlaygrounds, usingMoonbeamPlaygrounds, usingMoonriverPlaygrounds, usingPlaygrounds, usingPolkadotAssetHubPlaygrounds, usingRelayPlaygrounds, usingShidenPlaygrounds} from '@unique/test-utils/util.js'; +import {expect, usingAcalaPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingKaruraPlaygrounds, usingKusamaAssetHubPlaygrounds, usingMoonbeamPlaygrounds, usingMoonriverPlaygrounds, usingPlaygrounds, usingPolkadotAssetHubPlaygrounds, usingRelayPlaygrounds, usingShidenPlaygrounds} from '@unique/test-utils/util.ts'; import {DevAcalaHelper, DevAstarHelper, DevHydraDxHelper, DevMoonbeamHelper, DevRelayHelper, DevUniqueHelper, DevWestmintHelper, Event} from '@unique/test-utils'; -import {AcalaHelper, AstarHelper} from '@unique/test-utils/xcm/index.js'; -import {IEvent} from '@unique-nft/playgrounds/types.js'; +import {AcalaHelper, AstarHelper} from '@unique/test-utils/xcm/index.ts'; +import {IEvent} from '@unique-nft/playgrounds/types.ts'; export const UNIQUE_CHAIN = +(process.env.RELAY_UNIQUE_ID || 2037); export const POLKADOT_ASSETHUB_CHAIN = +(process.env.RELAY_ASSETHUB_ID || 1000); diff --git a/js-packages/tsconfig.json b/js-packages/tsconfig.json index eecbacfb81..a6e3434d6d 100644 --- a/js-packages/tsconfig.json +++ b/js-packages/tsconfig.json @@ -11,6 +11,9 @@ "checkJs": false, "strict": true, "resolveJsonModule": true, + "noImplicitAny": false, + "emitDeclarationOnly": true, + "allowImportingTsExtensions": true, }, "include": [ "./**/*.ts" diff --git a/js-packages/types/augment-api.ts b/js-packages/types/augment-api.ts index 53c9c77017..b7555fb99c 100644 --- a/js-packages/types/augment-api.ts +++ b/js-packages/types/augment-api.ts @@ -1,10 +1,10 @@ // Auto-generated via `yarn polkadot-types-from-chain`, do not edit /* eslint-disable */ -import './augment-api-consts.js'; -import './augment-api-errors.js'; -import './augment-api-events.js'; -import './augment-api-query.js'; -import './augment-api-tx.js'; -import './augment-api-rpc.js'; -import './augment-api-runtime.js'; +import './augment-api-consts.ts'; +import './augment-api-errors.ts'; +import './augment-api-events.ts'; +import './augment-api-query.ts'; +import './augment-api-tx.ts'; +import './augment-api-rpc.ts'; +import './augment-api-runtime.ts'; diff --git a/js-packages/types/default/definitions.ts b/js-packages/types/default/definitions.ts index 3bd94db299..763863be8d 100644 --- a/js-packages/types/default/definitions.ts +++ b/js-packages/types/default/definitions.ts @@ -1,4 +1,4 @@ -import types from '../lookup.js'; +import types from '../lookup.ts'; export default { types, diff --git a/js-packages/types/definitions.ts b/js-packages/types/definitions.ts index 97e6efe3ea..e2e5b69c9a 100644 --- a/js-packages/types/definitions.ts +++ b/js-packages/types/definitions.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -export {default as unique} from './unique/definitions.js'; -export {default as appPromotion} from './appPromotion/definitions.js'; -export {default as povinfo} from './povinfo/definitions.js'; -export {default as default} from './default/definitions.js'; +export {default as unique} from './unique/definitions.ts'; +export {default as appPromotion} from './appPromotion/definitions.ts'; +export {default as povinfo} from './povinfo/definitions.ts'; +export {default as default} from './default/definitions.ts'; From 9fd6ba8e80ac46b46759683513bdd19e66421556 Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Thu, 24 Jul 2025 07:56:55 +0000 Subject: [PATCH 007/172] refactor typescript tests --- js-packages/deno.lock | 1139 ++--------------- js-packages/import_map.json | 9 +- js-packages/package.json | 11 +- js-packages/test-utils/eth/util.ts | 144 ++- js-packages/test-utils/util.ts | 255 +++- js-packages/tests/addCollectionAdmin.test.ts | 7 +- .../tests/adminTransferAndBurn.test.ts | 2 +- js-packages/tests/allowLists.test.ts | 2 +- js-packages/tests/apiConsts.test.ts | 2 +- js-packages/tests/approve.test.ts | 2 +- js-packages/tests/burnItem.test.ts | 2 +- .../tests/change-collection-owner.test.ts | 2 +- js-packages/tests/confirmSponsorship.test.ts | 2 +- js-packages/tests/connection.test.ts | 3 +- js-packages/tests/createCollection.test.ts | 2 +- js-packages/tests/createItem.test.ts | 2 +- js-packages/tests/createMultipleItems.test.ts | 2 +- .../tests/createMultipleItemsEx.test.ts | 2 +- .../tests/creditFeesToTreasury.seqtest.ts | 4 +- js-packages/tests/destroyCollection.test.ts | 2 +- .../tests/enableDisableTransfer.test.ts | 2 +- js-packages/tests/eth/allowlist.test.ts | 2 +- js-packages/tests/eth/base.test.ts | 1 + js-packages/tests/eth/collectionAdmin.test.ts | 2 +- .../tests/eth/collectionHelperAddress.test.ts | 2 +- .../tests/eth/collectionLimits.test.ts | 2 +- .../tests/eth/collectionProperties.test.ts | 2 +- .../tests/eth/collectionSponsoring.test.ts | 6 +- .../tests/eth/contractSponsoring.test.ts | 6 +- .../tests/eth/createCollection.test.ts | 8 +- .../tests/eth/createFTCollection.seqtest.ts | 4 +- .../tests/eth/createFTCollection.test.ts | 6 +- .../tests/eth/createNFTCollection.seqtest.ts | 1 + .../tests/eth/createNFTCollection.test.ts | 1 + .../tests/eth/createRFTCollection.test.ts | 6 +- js-packages/tests/eth/crossTransfer.test.ts | 1 + .../tests/eth/destroyCollection.test.ts | 2 +- .../tests/eth/ethFeesAreCorrect.test.ts | 1 + js-packages/tests/eth/events.test.ts | 4 +- js-packages/tests/eth/evmCoder.test.ts | 1 + .../eth/fractionalizer/fractionalizer.test.ts | 4 +- js-packages/tests/eth/fungible.test.ts | 1 + js-packages/tests/eth/getCode.test.ts | 2 +- js-packages/tests/eth/helpersSmoke.test.ts | 1 + .../eth/marketplace-v2/marketplace.test.ts | 2 +- .../tests/eth/marketplace/marketplace.test.ts | 2 +- js-packages/tests/eth/migration.seqtest.ts | 1 + js-packages/tests/eth/nativeFungible.test.ts | 1 + .../tests/eth/nativeRpc/estimateGas.test.ts | 1 + js-packages/tests/eth/nesting/nest.test.ts | 1 + js-packages/tests/eth/nonFungible.test.ts | 3 +- js-packages/tests/eth/payable.test.ts | 2 +- js-packages/tests/eth/precompile.test.ts | 1 + .../tests/eth/proxy/fungibleProxy.test.ts | 2 +- .../tests/eth/proxy/nonFungibleProxy.test.ts | 2 +- js-packages/tests/eth/proxyContract.test.ts | 1 + js-packages/tests/eth/reFungible.test.ts | 10 +- js-packages/tests/eth/reFungibleToken.test.ts | 12 +- js-packages/tests/eth/sponsoring.test.ts | 2 +- js-packages/tests/eth/tokenProperties.test.ts | 2 +- .../tests/eth/tokens/callMethodsERC20.test.ts | 4 +- .../eth/tokens/callMethodsERC721.test.ts | 2 +- js-packages/tests/eth/tokens/minting.test.ts | 2 +- js-packages/tests/eth/transferValue.test.ts | 1 + js-packages/tests/fungible.test.ts | 4 +- js-packages/tests/getPropertiesRpc.test.ts | 2 +- js-packages/tests/inflation.seqtest.ts | 2 +- js-packages/tests/limits.test.ts | 6 +- js-packages/tests/maintenance.seqtest.ts | 10 +- js-packages/tests/nativeFungible.test.ts | 2 +- js-packages/tests/nextSponsoring.test.ts | 2 +- js-packages/tests/package.json | 48 +- js-packages/tests/pallet-presence.test.ts | 2 +- js-packages/tests/performance.seq.test.ts | 2 +- js-packages/tests/refungible.test.ts | 4 +- .../tests/removeCollectionAdmin.test.ts | 2 +- .../tests/removeCollectionSponsor.test.ts | 2 +- js-packages/tests/rpc.test.ts | 2 +- js-packages/tests/setCollectionLimits.test.ts | 2 +- .../tests/setCollectionSponsor.test.ts | 2 +- js-packages/tests/setPermissions.test.ts | 2 +- .../sub/appPromotion/appPromotion.seqtest.ts | 4 +- .../sub/appPromotion/appPromotion.test.ts | 5 +- .../sub/check-event/burnItemEvent.test.ts | 2 +- .../check-event/createCollectionEvent.test.ts | 2 +- .../sub/check-event/createItemEvent.test.ts | 2 +- .../createMultipleItemsEvent.test.ts | 2 +- .../destroyCollectionEvent.test.ts | 2 +- .../sub/check-event/transferEvent.test.ts | 2 +- .../sub/check-event/transferFromEvent.test.ts | 2 +- .../collatorSelection.seqtest.ts | 11 +- .../collator-selection/identity.seqtest.ts | 8 +- .../tests/sub/governance/council.test.ts | 7 +- .../tests/sub/governance/democracy.test.ts | 6 +- .../tests/sub/governance/electsudo.test.ts | 6 +- .../tests/sub/governance/fellowship.test.ts | 6 +- .../sub/governance/financialCouncil.test.ts | 4 +- js-packages/tests/sub/governance/init.test.ts | 6 +- .../sub/governance/technicalCommittee.test.ts | 6 +- js-packages/tests/sub/nesting/admin.test.ts | 2 +- .../nesting/collectionProperties.seqtest.ts | 4 +- .../sub/nesting/collectionProperties.test.ts | 6 +- js-packages/tests/sub/nesting/common.test.ts | 2 +- js-packages/tests/sub/nesting/e2e.test.ts | 2 +- js-packages/tests/sub/nesting/graphs.test.ts | 2 +- .../sub/nesting/nesting.negative.test.ts | 2 +- .../sub/nesting/propertyPermissions.test.ts | 2 +- .../tests/sub/nesting/refungible.test.ts | 2 +- .../sub/nesting/tokenProperties.seqtest.ts | 4 +- .../tests/sub/nesting/tokenProperties.test.ts | 4 +- js-packages/tests/sub/nesting/unnest.test.ts | 4 +- .../sub/nesting/unnesting.negative.test.ts | 2 +- js-packages/tests/sub/refungible/burn.test.ts | 6 +- .../tests/sub/refungible/nesting.test.ts | 6 +- .../tests/sub/refungible/repartition.test.ts | 4 +- .../tests/sub/refungible/transfer.test.ts | 4 +- js-packages/tests/transfer.test.ts | 2 +- js-packages/tests/transferFrom.test.ts | 2 +- js-packages/tests/tx-version-presence.test.ts | 4 +- js-packages/tests/vesting.test.ts | 6 +- js-packages/tests/xcm/quartz.test.ts | 14 +- js-packages/tests/xcm/unique.test.ts | 16 +- js-packages/tests/xcm/xcm.types.ts | 1 + 123 files changed, 606 insertions(+), 1394 deletions(-) diff --git a/js-packages/deno.lock b/js-packages/deno.lock index 22a240f02a..9d7babcbc4 100644 --- a/js-packages/deno.lock +++ b/js-packages/deno.lock @@ -1,35 +1,47 @@ { "version": "5", "specifiers": { + "jsr:@std/assert@^1.0.13": "1.0.13", + "jsr:@std/internal@^1.0.10": "1.0.10", + "jsr:@std/testing@*": "1.0.15", "npm:@openzeppelin/contracts@^4.9.2": "4.9.6", - "npm:@polkadot/api-base@^16.4.1": "16.4.1", + "npm:@polkadot/api-base@15.5.2": "15.5.2", "npm:@polkadot/api@15.5.2": "15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", "npm:@polkadot/keyring@^13.5.3": "13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "npm:@polkadot/rpc-core@^16.4.1": "16.4.1", + "npm:@polkadot/rpc-core@15.5.2": "15.5.2", "npm:@polkadot/typegen@15.5.2": "15.5.2_@polkadot+util@13.5.3", - "npm:@polkadot/types-codec@^16.4.1": "16.4.1", + "npm:@polkadot/types-codec@15.5.2": "15.5.2", + "npm:@polkadot/types@15.5.2": "15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", "npm:@polkadot/util-crypto@^13.3.1": "13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", "npm:@polkadot/util@^13.3.1": "13.5.3", "npm:@types/chai-as-promised@^7.1.8": "7.1.8", "npm:@types/chai-like@^1.1.3": "1.1.3", "npm:@types/chai-subset@^1.3.6": "1.3.6_@types+chai@4.3.20", "npm:@types/chai@^4.3.20": "4.3.20", - "npm:@types/mocha@^10.0.10": "10.0.10", "npm:@types/node@^20.8.10": "20.19.7", - "npm:@typescript-eslint/eslint-plugin@8.27.0": "8.27.0_@typescript-eslint+parser@8.27.0__eslint@8.57.1__typescript@5.8.3_eslint@8.57.1_typescript@5.8.3", - "npm:@typescript-eslint/parser@8.27.0": "8.27.0_eslint@8.57.1_typescript@5.8.3", "npm:chai-as-promised@^7.1.1": "7.1.2_chai@4.5.0", "npm:chai-like@^1.1.1": "1.1.3_chai@4.5.0", "npm:chai-subset@^1.6.0": "1.6.0", "npm:chai@^4.5.0": "4.5.0", "npm:csv-writer@^1.6.0": "1.6.0", - "npm:eslint-plugin-mocha@^10.2.0": "10.5.0_eslint@8.57.1", - "npm:eslint@^8.53.0": "8.57.1", "npm:ethers@6.13.5": "6.13.5", - "npm:mocha@^10.1.0": "10.8.2", "npm:solc@~0.8.22": "0.8.30", - "npm:tsx@4.19.3": "4.19.3", - "npm:typescript@5.8.3": "5.8.3" + "npm:tsx@4.19.3": "4.19.3" + }, + "jsr": { + "@std/assert@1.0.13": { + "integrity": "ae0d31e41919b12c656c742b22522c32fb26ed0cba32975cb0de2a273cb68b29" + }, + "@std/internal@1.0.10": { + "integrity": "e3be62ce42cab0e177c27698e5d9800122f67b766a0bea6ca4867886cbde8cf7" + }, + "@std/testing@1.0.15": { + "integrity": "a490169f5ccb0f3ae9c94fbc69d2cd43603f2cffb41713a85f99bbb0e3087cbc", + "dependencies": [ + "jsr:@std/assert", + "jsr:@std/internal" + ] + } }, "npm": { "@adraffy/ens-normalize@1.10.1": { @@ -165,49 +177,6 @@ "os": ["win32"], "cpu": ["x64"] }, - "@eslint-community/eslint-utils@4.7.0_eslint@8.57.1": { - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", - "dependencies": [ - "eslint", - "eslint-visitor-keys@3.4.3" - ] - }, - "@eslint-community/regexpp@4.12.1": { - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==" - }, - "@eslint/eslintrc@2.1.4": { - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dependencies": [ - "ajv", - "debug", - "espree", - "globals", - "ignore", - "import-fresh", - "js-yaml", - "minimatch@3.1.2", - "strip-json-comments" - ] - }, - "@eslint/js@8.57.1": { - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==" - }, - "@humanwhocodes/config-array@0.13.0": { - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "dependencies": [ - "@humanwhocodes/object-schema", - "debug", - "minimatch@3.1.2" - ], - "deprecated": true - }, - "@humanwhocodes/module-importer@1.0.1": { - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - }, - "@humanwhocodes/object-schema@2.0.3": { - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": true - }, "@noble/curves@1.2.0": { "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "dependencies": [ @@ -226,23 +195,6 @@ "@noble/hashes@1.8.0": { "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==" }, - "@nodelib/fs.scandir@2.1.5": { - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": [ - "@nodelib/fs.stat", - "run-parallel" - ] - }, - "@nodelib/fs.stat@2.0.5": { - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk@1.2.8": { - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": [ - "@nodelib/fs.scandir", - "fastq" - ] - }, "@openzeppelin/contracts@4.9.6": { "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" }, @@ -291,11 +243,11 @@ "@polkadot/api-augment@15.5.2": { "integrity": "sha512-EuE13KeifPj6PBfR3qMtqCq+Clbly/VX5adh53ljw7XTtHt8MKTlvhTK9pO9WHnixL6hUVH1f/Ekuzt8ROhpAg==", "dependencies": [ - "@polkadot/api-base@15.5.2", - "@polkadot/rpc-augment@15.5.2", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/api-base", + "@polkadot/rpc-augment", + "@polkadot/types", "@polkadot/types-augment@15.5.2", - "@polkadot/types-codec@15.5.2", + "@polkadot/types-codec", "@polkadot/util", "tslib@2.8.1" ] @@ -303,18 +255,8 @@ "@polkadot/api-base@15.5.2": { "integrity": "sha512-e8W2KRwn6pkI/JIOrOCT2RsVil072vxQ95X2HCqu5eMmn5vwyOHB2OaMWezXikMegnCF3XEDeIzSP/VxGWW+zA==", "dependencies": [ - "@polkadot/rpc-core@15.5.2", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/util", - "rxjs", - "tslib@2.8.1" - ] - }, - "@polkadot/api-base@16.4.1": { - "integrity": "sha512-3Dms/nbyqgObMqqhKi9n9FVewb5Is2zCLRLXJaEEYPF4MpbwyTvzORtJn3PlltlGJbLC9d2sIM41jrpYZRrXXw==", - "dependencies": [ - "@polkadot/rpc-core@16.4.1", - "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/rpc-core", + "@polkadot/types", "@polkadot/util", "rxjs", "tslib@2.8.1" @@ -325,12 +267,12 @@ "dependencies": [ "@polkadot/api", "@polkadot/api-augment", - "@polkadot/api-base@15.5.2", - "@polkadot/rpc-core@15.5.2", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-codec@15.5.2", + "@polkadot/api-base", + "@polkadot/rpc-core", + "@polkadot/types", + "@polkadot/types-codec", "@polkadot/util", - "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/util-crypto", "rxjs", "tslib@2.8.1" ] @@ -339,32 +281,29 @@ "integrity": "sha512-TZPJlnoYr5kAfINooSmbvUcUCQnKDmTdLKNJmMh7CvCOYqQSJjFnMyfxhjM1bBTIcqnP9nFIGkldy19ErZHtcQ==", "dependencies": [ "@polkadot/api-augment", - "@polkadot/api-base@15.5.2", + "@polkadot/api-base", "@polkadot/api-derive", - "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/rpc-augment@15.5.2", - "@polkadot/rpc-core@15.5.2", - "@polkadot/rpc-provider@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/keyring", + "@polkadot/rpc-augment", + "@polkadot/rpc-core", + "@polkadot/rpc-provider", + "@polkadot/types", "@polkadot/types-augment@15.5.2", - "@polkadot/types-codec@15.5.2", - "@polkadot/types-create@15.5.2", + "@polkadot/types-codec", + "@polkadot/types-create", "@polkadot/types-known", "@polkadot/util", - "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/util-crypto", "eventemitter3", "rxjs", "tslib@2.8.1" ] }, - "@polkadot/keyring@13.5.3": { - "integrity": "sha512-b9vxcb29jMHEc9OrWRxOstkOIWjIBsSzF9Zg5EsUeYtfwxzKinDccI5uAbkx0R6x7+IjJ6xeFJGpbX2A2U/nWg==" - }, "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { "integrity": "sha512-b9vxcb29jMHEc9OrWRxOstkOIWjIBsSzF9Zg5EsUeYtfwxzKinDccI5uAbkx0R6x7+IjJ6xeFJGpbX2A2U/nWg==", "dependencies": [ "@polkadot/util", - "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/util-crypto", "tslib@2.8.1" ] }, @@ -379,19 +318,9 @@ "@polkadot/rpc-augment@15.5.2": { "integrity": "sha512-eDCcmgrb/csOcav/RRBPFkOdPRvRXVYlksCGlQuzobYkPZfPz5tIKmgenip/5qnviR6gag6tK9ara+8kZ/7tpw==", "dependencies": [ - "@polkadot/rpc-core@15.5.2", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-codec@15.5.2", - "@polkadot/util", - "tslib@2.8.1" - ] - }, - "@polkadot/rpc-augment@16.4.1": { - "integrity": "sha512-kwkAunE/yG5SXZfLOjJEHo76zOs7LMYl0DQk94ntU5xPkXc9z59Dqt5hc19mfPk3Jm6VTzPguT7a1wEn3JnMVQ==", - "dependencies": [ - "@polkadot/rpc-core@16.4.1", - "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-codec@16.4.1", + "@polkadot/rpc-core", + "@polkadot/types", + "@polkadot/types-codec", "@polkadot/util", "tslib@2.8.1" ] @@ -399,20 +328,9 @@ "@polkadot/rpc-core@15.5.2": { "integrity": "sha512-a4Xq3iEJvRA9gHE+QxMaIEOkgjuZUfW+uI3XLDtPgtxu2yF3hceyRl/K1m6E4AXR383VaxQ45wvDS1odPbmwaw==", "dependencies": [ - "@polkadot/rpc-augment@15.5.2", - "@polkadot/rpc-provider@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/util", - "rxjs", - "tslib@2.8.1" - ] - }, - "@polkadot/rpc-core@16.4.1": { - "integrity": "sha512-xlw05Ln4Ffu7AcSCb141SVYnuRJ1aqQaBRF9eXV4aOlyocbFYoXNW3rTy/nPzGkRG15+DEgICTqHqHNWXOqM0g==", - "dependencies": [ - "@polkadot/rpc-augment@16.4.1", - "@polkadot/rpc-provider@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/rpc-augment", + "@polkadot/rpc-provider", + "@polkadot/types", "@polkadot/util", "rxjs", "tslib@2.8.1" @@ -421,31 +339,11 @@ "@polkadot/rpc-provider@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { "integrity": "sha512-LHDG4mY5moFdVyUuEyuF9hMVWgA+DoLeNYZjtOL88gSALpfjhBLt1Hjbm3R6VwvcxeVNTkteVGvCo0AlH123JQ==", "dependencies": [ - "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-support@15.5.2", + "@polkadot/keyring", + "@polkadot/types", + "@polkadot/types-support", "@polkadot/util", - "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", - "@polkadot/x-fetch", - "@polkadot/x-global", - "@polkadot/x-ws", - "eventemitter3", - "mock-socket", - "nock", - "tslib@2.8.1" - ], - "optionalDependencies": [ - "@substrate/connect" - ] - }, - "@polkadot/rpc-provider@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { - "integrity": "sha512-gCjh44+Zd1CBnqlXrsQGiOHYrKyVbw5VehPSlYzeZBPdjLu5F5VsqPikY14uHtIvpZrkUYAJKk3FVK6uFEoMjQ==", - "dependencies": [ - "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-support@16.4.1", - "@polkadot/util", - "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/util-crypto", "@polkadot/x-fetch", "@polkadot/x-global", "@polkadot/x-ws", @@ -463,27 +361,27 @@ "dependencies": [ "@polkadot/api", "@polkadot/api-augment", - "@polkadot/rpc-augment@15.5.2", - "@polkadot/rpc-provider@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/rpc-augment", + "@polkadot/rpc-provider", + "@polkadot/types", "@polkadot/types-augment@15.5.2", - "@polkadot/types-codec@15.5.2", - "@polkadot/types-create@15.5.2", - "@polkadot/types-support@15.5.2", + "@polkadot/types-codec", + "@polkadot/types-create", + "@polkadot/types-support", "@polkadot/util", - "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/util-crypto", "@polkadot/x-ws", "handlebars", "tslib@2.8.1", - "yargs@17.7.2" + "yargs" ], "bin": true }, "@polkadot/types-augment@15.5.2": { "integrity": "sha512-Za5ifsiu2gSQkOBjwcCtCr5nz+PojsBoptdHKjMm0JHLgilNn0kNqriqRRrCiPkUO1656UXRQNCHpP6Vs8tncg==", "dependencies": [ - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-codec@15.5.2", + "@polkadot/types", + "@polkadot/types-codec", "@polkadot/util", "tslib@2.8.1" ] @@ -491,17 +389,8 @@ "@polkadot/types-augment@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { "integrity": "sha512-Za5ifsiu2gSQkOBjwcCtCr5nz+PojsBoptdHKjMm0JHLgilNn0kNqriqRRrCiPkUO1656UXRQNCHpP6Vs8tncg==", "dependencies": [ - "@polkadot/types@15.5.2", - "@polkadot/types-codec@15.5.2", - "@polkadot/util", - "tslib@2.8.1" - ] - }, - "@polkadot/types-augment@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { - "integrity": "sha512-GT1tvtKWFVdWRxPCzfSN8iiYaKxLPZWWtLz+fwb/Og2d23lreZQ9SxjGC8xIgYLgmHbEyhN/cR/LkSdOeEbZAw==", - "dependencies": [ - "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-codec@16.4.1", + "@polkadot/types", + "@polkadot/types-codec", "@polkadot/util", "tslib@2.8.1" ] @@ -514,26 +403,10 @@ "tslib@2.8.1" ] }, - "@polkadot/types-codec@16.4.1": { - "integrity": "sha512-ADUlH4++X4Qk29KFE3wmAn6cUDzjSoIuTfaC3ClsYmYEKOEEJAgjIaUfa6CVg+PFyt4fWQ4r3PbFFDQSbYBcjg==", - "dependencies": [ - "@polkadot/util", - "@polkadot/x-bigint", - "tslib@2.8.1" - ] - }, "@polkadot/types-create@15.5.2": { "integrity": "sha512-PbrT2mP5x7VTpwCZa/BCl8jl3y/s6UOwrjBL+pq8TErLEbkackn5a3cR4GaH9toeP5qlEaLbSWRFm24YcW8FOg==", "dependencies": [ - "@polkadot/types-codec@15.5.2", - "@polkadot/util", - "tslib@2.8.1" - ] - }, - "@polkadot/types-create@16.4.1": { - "integrity": "sha512-XYTAUrJa9eYwNcYkvbdtydUsbAje449eShHn04+r17PD1yKz3UCnBvpkA20ti1RZja/5U6bvifzkm3QkBP/2mA==", - "dependencies": [ - "@polkadot/types-codec@16.4.1", + "@polkadot/types-codec", "@polkadot/util", "tslib@2.8.1" ] @@ -542,9 +415,9 @@ "integrity": "sha512-4yk1DnIeAy4uImFf4yDyRRdgkf5nAagQzPZWO61uxhEA+Q2MxLHLDeLbUwFiLxLLvpM09Xke8rGbem/vPRg9nA==", "dependencies": [ "@polkadot/networks", - "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-codec@15.5.2", - "@polkadot/types-create@15.5.2", + "@polkadot/types", + "@polkadot/types-codec", + "@polkadot/types-create", "@polkadot/util", "tslib@2.8.1" ] @@ -556,60 +429,19 @@ "tslib@2.8.1" ] }, - "@polkadot/types-support@16.4.1": { - "integrity": "sha512-0RpAB+Eoqu+83rA12QDjf4OlVBit+iYjUoXvXwy1NRcqjHEeVCmgHeXFqEbVUtFMb7Z2Ybrql6eZJkVIS0KOuQ==", - "dependencies": [ - "@polkadot/util", - "tslib@2.8.1" - ] - }, - "@polkadot/types@15.5.2": { - "integrity": "sha512-TANrhfovLgbG00ldFvZbOuwyzqibOOMAU9egGqnoFwz4x4vTNTBgNJRvQGF5w4+FhjcEepdxlLU/3yqFM98yzA==", - "dependencies": [ - "@polkadot/keyring@13.5.3", - "@polkadot/types-augment@15.5.2", - "@polkadot/types-codec@15.5.2", - "@polkadot/types-create@15.5.2", - "@polkadot/util", - "@polkadot/util-crypto@13.5.3", - "rxjs", - "tslib@2.8.1" - ] - }, "@polkadot/types@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { "integrity": "sha512-TANrhfovLgbG00ldFvZbOuwyzqibOOMAU9egGqnoFwz4x4vTNTBgNJRvQGF5w4+FhjcEepdxlLU/3yqFM98yzA==", "dependencies": [ - "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", + "@polkadot/keyring", "@polkadot/types-augment@15.5.2_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-codec@15.5.2", - "@polkadot/types-create@15.5.2", - "@polkadot/util", - "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", - "rxjs", - "tslib@2.8.1" - ] - }, - "@polkadot/types@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3": { - "integrity": "sha512-4DqmUiUnNEe2jooQ+wby+st7w2a+2TVeKC9ax0AvowZ5YdKYl+2v+6xeoi8Agm7bmKT9jML+TghF38iGc2QKQQ==", - "dependencies": [ - "@polkadot/keyring@13.5.3_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-augment@16.4.1_@polkadot+util@13.5.3_@polkadot+util-crypto@13.5.3__@polkadot+util@13.5.3__@polkadot+x-randomvalues@13.5.3___@polkadot+util@13.5.3___@polkadot+wasm-util@7.4.1____@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3", - "@polkadot/types-codec@16.4.1", - "@polkadot/types-create@16.4.1", + "@polkadot/types-codec", + "@polkadot/types-create", "@polkadot/util", - "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3", + "@polkadot/util-crypto", "rxjs", "tslib@2.8.1" ] }, - "@polkadot/util-crypto@13.5.3": { - "integrity": "sha512-/GLv2+DpiyciN7yAwFTjQdFA5JDMVVLUrP5a6YuAVUGQywRnGC1k940d2pFsqdwNvGa2Xcf50DFNxvnfQiyZlQ==", - "dependencies": [ - "@noble/curves@1.9.2", - "@noble/hashes@1.8.0", - "@polkadot/networks" - ] - }, "@polkadot/util-crypto@13.5.3_@polkadot+util@13.5.3_@polkadot+x-randomvalues@13.5.3__@polkadot+util@13.5.3__@polkadot+wasm-util@7.4.1___@polkadot+util@13.5.3_@polkadot+wasm-util@7.4.1__@polkadot+util@13.5.3": { "integrity": "sha512-/GLv2+DpiyciN7yAwFTjQdFA5JDMVVLUrP5a6YuAVUGQywRnGC1k940d2pFsqdwNvGa2Xcf50DFNxvnfQiyZlQ==", "dependencies": [ @@ -807,9 +639,6 @@ "@types/chai@4.3.20": { "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==" }, - "@types/mocha@10.0.10": { - "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==" - }, "@types/node@20.19.7": { "integrity": "sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==", "dependencies": [ @@ -828,116 +657,9 @@ "undici-types@6.19.8" ] }, - "@typescript-eslint/eslint-plugin@8.27.0_@typescript-eslint+parser@8.27.0__eslint@8.57.1__typescript@5.8.3_eslint@8.57.1_typescript@5.8.3": { - "integrity": "sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==", - "dependencies": [ - "@eslint-community/regexpp", - "@typescript-eslint/parser", - "@typescript-eslint/scope-manager", - "@typescript-eslint/type-utils", - "@typescript-eslint/utils", - "@typescript-eslint/visitor-keys", - "eslint", - "graphemer", - "ignore", - "natural-compare", - "ts-api-utils", - "typescript" - ] - }, - "@typescript-eslint/parser@8.27.0_eslint@8.57.1_typescript@5.8.3": { - "integrity": "sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==", - "dependencies": [ - "@typescript-eslint/scope-manager", - "@typescript-eslint/types", - "@typescript-eslint/typescript-estree", - "@typescript-eslint/visitor-keys", - "debug", - "eslint", - "typescript" - ] - }, - "@typescript-eslint/scope-manager@8.27.0": { - "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==", - "dependencies": [ - "@typescript-eslint/types", - "@typescript-eslint/visitor-keys" - ] - }, - "@typescript-eslint/type-utils@8.27.0_eslint@8.57.1_typescript@5.8.3": { - "integrity": "sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==", - "dependencies": [ - "@typescript-eslint/typescript-estree", - "@typescript-eslint/utils", - "debug", - "eslint", - "ts-api-utils", - "typescript" - ] - }, - "@typescript-eslint/types@8.27.0": { - "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==" - }, - "@typescript-eslint/typescript-estree@8.27.0_typescript@5.8.3": { - "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==", - "dependencies": [ - "@typescript-eslint/types", - "@typescript-eslint/visitor-keys", - "debug", - "fast-glob", - "is-glob", - "minimatch@9.0.5", - "semver@7.7.2", - "ts-api-utils", - "typescript" - ] - }, - "@typescript-eslint/utils@8.27.0_eslint@8.57.1_typescript@5.8.3": { - "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==", - "dependencies": [ - "@eslint-community/eslint-utils", - "@typescript-eslint/scope-manager", - "@typescript-eslint/types", - "@typescript-eslint/typescript-estree", - "eslint", - "typescript" - ] - }, - "@typescript-eslint/visitor-keys@8.27.0": { - "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==", - "dependencies": [ - "@typescript-eslint/types", - "eslint-visitor-keys@4.2.1" - ] - }, - "@ungap/structured-clone@1.3.0": { - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==" - }, - "acorn-jsx@5.3.2_acorn@8.15.0": { - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dependencies": [ - "acorn" - ] - }, - "acorn@8.15.0": { - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "bin": true - }, "aes-js@4.0.0-beta.5": { "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" }, - "ajv@6.12.6": { - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": [ - "fast-deep-equal", - "fast-json-stable-stringify", - "json-schema-traverse", - "uri-js" - ] - }, - "ansi-colors@4.1.3": { - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - }, "ansi-regex@5.0.1": { "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, @@ -947,56 +669,12 @@ "color-convert" ] }, - "anymatch@3.1.3": { - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": [ - "normalize-path", - "picomatch" - ] - }, - "argparse@2.0.1": { - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, "assertion-error@1.1.0": { "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, - "balanced-match@1.0.2": { - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "binary-extensions@2.3.0": { - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" - }, "bn.js@5.2.2": { "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==" }, - "brace-expansion@1.1.12": { - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dependencies": [ - "balanced-match", - "concat-map" - ] - }, - "brace-expansion@2.0.2": { - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dependencies": [ - "balanced-match" - ] - }, - "braces@3.0.3": { - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dependencies": [ - "fill-range" - ] - }, - "browser-stdout@1.3.1": { - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "callsites@3.1.0": { - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase@6.3.0": { - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, "chai-as-promised@7.1.2_chai@4.5.0": { "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", "dependencies": [ @@ -1026,42 +704,12 @@ "type-detect" ] }, - "chalk@4.1.2": { - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": [ - "ansi-styles", - "supports-color@7.2.0" - ] - }, "check-error@1.0.3": { "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dependencies": [ "get-func-name" ] }, - "chokidar@3.6.0": { - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dependencies": [ - "anymatch", - "braces", - "glob-parent@5.1.2", - "is-binary-path", - "is-glob", - "normalize-path", - "readdirp" - ], - "optionalDependencies": [ - "fsevents" - ] - }, - "cliui@7.0.4": { - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": [ - "string-width", - "strip-ansi", - "wrap-ansi" - ] - }, "cliui@8.0.1": { "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dependencies": [ @@ -1085,17 +733,6 @@ "commander@8.3.0": { "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, - "concat-map@0.0.1": { - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "cross-spawn@7.0.6": { - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dependencies": [ - "path-key", - "shebang-command", - "which" - ] - }, "csv-writer@1.6.0": { "integrity": "sha512-NOx7YDFWEsM/fTRAJjRpPp8t+MKRVvniAg9wQlUKx20MFrPs73WLJhFf5iteqrxNYnsy924K3Iroh3yNHeYd2g==" }, @@ -1108,27 +745,12 @@ "ms" ] }, - "decamelize@4.0.0": { - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - }, "deep-eql@4.1.4": { "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dependencies": [ "type-detect" ] }, - "deep-is@0.1.4": { - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "diff@5.2.0": { - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==" - }, - "doctrine@3.0.0": { - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": [ - "esutils" - ] - }, "emoji-regex@8.0.0": { "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, @@ -1168,112 +790,6 @@ "escalade@3.2.0": { "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" }, - "escape-string-regexp@4.0.0": { - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "eslint-plugin-mocha@10.5.0_eslint@8.57.1": { - "integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==", - "dependencies": [ - "eslint", - "eslint-utils", - "globals", - "rambda" - ] - }, - "eslint-scope@7.2.2": { - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dependencies": [ - "esrecurse", - "estraverse" - ] - }, - "eslint-utils@3.0.0_eslint@8.57.1": { - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dependencies": [ - "eslint", - "eslint-visitor-keys@2.1.0" - ] - }, - "eslint-visitor-keys@2.1.0": { - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "eslint-visitor-keys@3.4.3": { - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" - }, - "eslint-visitor-keys@4.2.1": { - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==" - }, - "eslint@8.57.1": { - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "dependencies": [ - "@eslint-community/eslint-utils", - "@eslint-community/regexpp", - "@eslint/eslintrc", - "@eslint/js", - "@humanwhocodes/config-array", - "@humanwhocodes/module-importer", - "@nodelib/fs.walk", - "@ungap/structured-clone", - "ajv", - "chalk", - "cross-spawn", - "debug", - "doctrine", - "escape-string-regexp", - "eslint-scope", - "eslint-visitor-keys@3.4.3", - "espree", - "esquery", - "esutils", - "fast-deep-equal", - "file-entry-cache", - "find-up", - "glob-parent@6.0.2", - "globals", - "graphemer", - "ignore", - "imurmurhash", - "is-glob", - "is-path-inside", - "js-yaml", - "json-stable-stringify-without-jsonify", - "levn", - "lodash.merge", - "minimatch@3.1.2", - "natural-compare", - "optionator", - "strip-ansi", - "text-table" - ], - "deprecated": true, - "bin": true - }, - "espree@9.6.1_acorn@8.15.0": { - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dependencies": [ - "acorn", - "acorn-jsx", - "eslint-visitor-keys@3.4.3" - ] - }, - "esquery@1.6.0": { - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dependencies": [ - "estraverse" - ] - }, - "esrecurse@4.3.0": { - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": [ - "estraverse" - ] - }, - "estraverse@5.3.0": { - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "esutils@2.0.3": { - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, "ethers@6.13.5": { "integrity": "sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ==", "dependencies": [ @@ -1289,31 +805,6 @@ "eventemitter3@5.0.1": { "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, - "fast-deep-equal@3.1.3": { - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob@3.3.3": { - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dependencies": [ - "@nodelib/fs.stat", - "@nodelib/fs.walk", - "glob-parent@5.1.2", - "merge2", - "micromatch" - ] - }, - "fast-json-stable-stringify@2.1.0": { - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein@2.0.6": { - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fastq@1.19.1": { - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dependencies": [ - "reusify" - ] - }, "fetch-blob@3.2.0": { "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", "dependencies": [ @@ -1321,40 +812,6 @@ "web-streams-polyfill" ] }, - "file-entry-cache@6.0.1": { - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": [ - "flat-cache" - ] - }, - "fill-range@7.1.1": { - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dependencies": [ - "to-regex-range" - ] - }, - "find-up@5.0.0": { - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": [ - "locate-path", - "path-exists" - ] - }, - "flat-cache@3.2.0": { - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dependencies": [ - "flatted", - "keyv", - "rimraf" - ] - }, - "flat@5.0.2": { - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "bin": true - }, - "flatted@3.3.3": { - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==" - }, "follow-redirects@1.15.9": { "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" }, @@ -1364,9 +821,6 @@ "fetch-blob" ] }, - "fs.realpath@1.0.0": { - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, "fsevents@2.3.3": { "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "os": ["darwin"], @@ -1384,50 +838,6 @@ "resolve-pkg-maps" ] }, - "glob-parent@5.1.2": { - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": [ - "is-glob" - ] - }, - "glob-parent@6.0.2": { - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": [ - "is-glob" - ] - }, - "glob@7.2.3": { - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": [ - "fs.realpath", - "inflight", - "inherits", - "minimatch@3.1.2", - "once", - "path-is-absolute" - ], - "deprecated": true - }, - "glob@8.1.0": { - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dependencies": [ - "fs.realpath", - "inflight", - "inherits", - "minimatch@5.1.6", - "once" - ], - "deprecated": true - }, - "globals@13.24.0": { - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dependencies": [ - "type-fest" - ] - }, - "graphemer@1.4.0": { - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" - }, "handlebars@4.7.8": { "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dependencies": [ @@ -1441,121 +851,15 @@ ], "bin": true }, - "has-flag@4.0.0": { - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "he@1.2.0": { - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": true - }, - "ignore@5.3.2": { - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==" - }, - "import-fresh@3.3.1": { - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dependencies": [ - "parent-module", - "resolve-from" - ] - }, - "imurmurhash@0.1.4": { - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "inflight@1.0.6": { - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": [ - "once", - "wrappy" - ], - "deprecated": true - }, - "inherits@2.0.4": { - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-binary-path@2.1.0": { - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": [ - "binary-extensions" - ] - }, - "is-extglob@2.1.1": { - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, "is-fullwidth-code-point@3.0.0": { "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, - "is-glob@4.0.3": { - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": [ - "is-extglob" - ] - }, - "is-number@7.0.0": { - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-path-inside@3.0.3": { - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj@2.1.0": { - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "is-unicode-supported@0.1.0": { - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - }, - "isexe@2.0.0": { - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, "js-sha3@0.8.0": { "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "js-yaml@4.1.0": { - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": [ - "argparse" - ], - "bin": true - }, - "json-buffer@3.0.1": { - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "json-schema-traverse@0.4.1": { - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify@1.0.1": { - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, "json-stringify-safe@5.0.1": { "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, - "keyv@4.5.4": { - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dependencies": [ - "json-buffer" - ] - }, - "levn@0.4.1": { - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": [ - "prelude-ls", - "type-check" - ] - }, - "locate-path@6.0.0": { - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": [ - "p-locate" - ] - }, - "lodash.merge@4.6.2": { - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "log-symbols@4.1.0": { - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": [ - "chalk", - "is-unicode-supported" - ] - }, "loupe@2.3.7": { "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dependencies": [ @@ -1565,72 +869,15 @@ "memorystream@0.3.1": { "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" }, - "merge2@1.4.1": { - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromatch@4.0.8": { - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dependencies": [ - "braces", - "picomatch" - ] - }, - "minimatch@3.1.2": { - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": [ - "brace-expansion@1.1.12" - ] - }, - "minimatch@5.1.6": { - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": [ - "brace-expansion@2.0.2" - ] - }, - "minimatch@9.0.5": { - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dependencies": [ - "brace-expansion@2.0.2" - ] - }, "minimist@1.2.8": { "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, - "mocha@10.8.2": { - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", - "dependencies": [ - "ansi-colors", - "browser-stdout", - "chokidar", - "debug", - "diff", - "escape-string-regexp", - "find-up", - "glob@8.1.0", - "he", - "js-yaml", - "log-symbols", - "minimatch@5.1.6", - "ms", - "serialize-javascript", - "strip-json-comments", - "supports-color@8.1.1", - "workerpool", - "yargs@16.2.0", - "yargs-parser@20.2.9", - "yargs-unparser" - ], - "bin": true - }, "mock-socket@9.3.1": { "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==" }, "ms@2.1.3": { "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "natural-compare@1.4.0": { - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, "neo-async@2.6.2": { "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, @@ -1654,124 +901,27 @@ "formdata-polyfill" ] }, - "normalize-path@3.0.0": { - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "once@1.4.0": { - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": [ - "wrappy" - ] - }, - "optionator@0.9.4": { - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dependencies": [ - "deep-is", - "fast-levenshtein", - "levn", - "prelude-ls", - "type-check", - "word-wrap" - ] - }, "os-tmpdir@1.0.2": { "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" }, - "p-limit@3.1.0": { - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": [ - "yocto-queue" - ] - }, - "p-locate@5.0.0": { - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": [ - "p-limit" - ] - }, - "parent-module@1.0.1": { - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": [ - "callsites" - ] - }, - "path-exists@4.0.0": { - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute@1.0.1": { - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key@3.1.1": { - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, "pathval@1.1.1": { "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" }, - "picomatch@2.3.1": { - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "prelude-ls@1.2.1": { - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, "propagate@2.0.1": { "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==" }, - "punycode@2.3.1": { - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" - }, - "queue-microtask@1.2.3": { - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "rambda@7.5.0": { - "integrity": "sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==" - }, - "randombytes@2.1.0": { - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": [ - "safe-buffer" - ] - }, - "readdirp@3.6.0": { - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": [ - "picomatch" - ] - }, "require-directory@2.1.1": { "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, - "resolve-from@4.0.0": { - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, "resolve-pkg-maps@1.0.0": { "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==" }, - "reusify@1.1.0": { - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" - }, - "rimraf@3.0.2": { - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": [ - "glob@7.2.3" - ], - "deprecated": true, - "bin": true - }, - "run-parallel@1.2.0": { - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dependencies": [ - "queue-microtask" - ] - }, "rxjs@7.8.2": { "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dependencies": [ "tslib@2.8.1" ] }, - "safe-buffer@5.2.1": { - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, "scale-ts@1.6.1": { "integrity": "sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==" }, @@ -1779,25 +929,6 @@ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": true }, - "semver@7.7.2": { - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "bin": true - }, - "serialize-javascript@6.0.2": { - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dependencies": [ - "randombytes" - ] - }, - "shebang-command@2.0.0": { - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": [ - "shebang-regex" - ] - }, - "shebang-regex@3.0.0": { - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, "smoldot@2.0.26": { "integrity": "sha512-F+qYmH4z2s2FK+CxGj8moYcd1ekSIKH8ywkdqlOz88Dat35iB1DIYL11aILN46YSGMzQW/lbJNS307zBSDN5Ig==", "dependencies": [ @@ -1812,7 +943,7 @@ "follow-redirects", "js-sha3", "memorystream", - "semver@5.7.2", + "semver", "tmp" ], "bin": true @@ -1834,42 +965,12 @@ "ansi-regex" ] }, - "strip-json-comments@3.1.1": { - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "supports-color@7.2.0": { - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": [ - "has-flag" - ] - }, - "supports-color@8.1.1": { - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": [ - "has-flag" - ] - }, - "text-table@0.2.0": { - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, "tmp@0.0.33": { "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dependencies": [ "os-tmpdir" ] }, - "to-regex-range@5.0.1": { - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": [ - "is-number" - ] - }, - "ts-api-utils@2.1.0_typescript@5.8.3": { - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", - "dependencies": [ - "typescript" - ] - }, "tslib@2.7.0": { "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, @@ -1887,22 +988,9 @@ ], "bin": true }, - "type-check@0.4.0": { - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": [ - "prelude-ls" - ] - }, "type-detect@4.1.0": { "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==" }, - "type-fest@0.20.2": { - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - }, - "typescript@5.8.3": { - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "bin": true - }, "uglify-js@3.19.3": { "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "bin": true @@ -1913,31 +1001,12 @@ "undici-types@6.21.0": { "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==" }, - "uri-js@4.4.1": { - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": [ - "punycode" - ] - }, "web-streams-polyfill@3.3.3": { "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==" }, - "which@2.0.2": { - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": [ - "isexe" - ], - "bin": true - }, - "word-wrap@1.2.5": { - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" - }, "wordwrap@1.0.0": { "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" }, - "workerpool@6.5.1": { - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==" - }, "wrap-ansi@7.0.0": { "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": [ @@ -1946,9 +1015,6 @@ "strip-ansi" ] }, - "wrappy@1.0.2": { - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, "ws@8.17.1": { "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==" }, @@ -1958,70 +1024,35 @@ "y18n@5.0.8": { "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, - "yargs-parser@20.2.9": { - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, "yargs-parser@21.1.1": { "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" }, - "yargs-unparser@2.0.0": { - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dependencies": [ - "camelcase", - "decamelize", - "flat", - "is-plain-obj" - ] - }, - "yargs@16.2.0": { - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": [ - "cliui@7.0.4", - "escalade", - "get-caller-file", - "require-directory", - "string-width", - "y18n", - "yargs-parser@20.2.9" - ] - }, "yargs@17.7.2": { "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": [ - "cliui@8.0.1", + "cliui", "escalade", "get-caller-file", "require-directory", "string-width", "y18n", - "yargs-parser@21.1.1" + "yargs-parser" ] - }, - "yocto-queue@0.1.0": { - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" } }, - "redirects": { - "https://deno.land/x/deno_mocha/mod.ts": "https://deno.land/x/deno_mocha@0.3.1/mod.ts" - }, - "remote": { - "https://deno.land/x/deno_mocha@0.3.1/lib/bdd.ts": "c6fc49113b7724876e61e133019bf2ab79c5d1f3aa17303a8e34d2d0331c8d86", - "https://deno.land/x/deno_mocha@0.3.1/lib/types.ts": "fbe984308b6bf4e264edcd2b75dfc74a288dc04932ced49461535aee25cfb368", - "https://deno.land/x/deno_mocha@0.3.1/mod.ts": "22095a9ad953ba9b24204be4828b363491d465879b70a462becbdb240f8a224c" - }, "workspace": { "packageJson": { "dependencies": [ "npm:@openzeppelin/contracts@^4.9.2", - "npm:@polkadot/api-base@^16.4.1", + "npm:@polkadot/api-base@15.5.2", "npm:@polkadot/keyring@^13.5.3", - "npm:@polkadot/rpc-core@^16.4.1", - "npm:@polkadot/types-codec@^16.4.1", + "npm:@polkadot/rpc-core@15.5.2", + "npm:@polkadot/types-codec@15.5.2", + "npm:@polkadot/types@15.5.2", "npm:@types/chai-as-promised@^7.1.8", "npm:@types/chai-like@^1.1.3", "npm:@types/chai-subset@^1.3.6", "npm:@types/chai@^4.3.20", - "npm:@types/mocha@^10.0.10", "npm:@types/node@^20.8.10", "npm:@typescript-eslint/eslint-plugin@8.27.0", "npm:@typescript-eslint/parser@8.27.0", @@ -2064,14 +1095,6 @@ ] } }, - "tests": { - "packageJson": { - "dependencies": [ - "npm:mocha@^10.1.0", - "npm:tsx@4.19.3" - ] - } - }, "types": { "packageJson": { "dependencies": [ diff --git a/js-packages/import_map.json b/js-packages/import_map.json index 4c4e9a0d10..ce12b7c9bd 100644 --- a/js-packages/import_map.json +++ b/js-packages/import_map.json @@ -3,11 +3,12 @@ "@unique-nft/playgrounds/": "./playgrounds/", "@unique/test-utils/": "./test-utils/", "@unique-nft/evm-abi/": "./evm-abi/", - "@unique-nft/opal-testnet-types/": "./types/", "@unique-nft/tests/": "./tests/", "@unique/scripts": "./scripts/", - "@unique-nft/opal-testnet-types/types-lookup.js": "./types/lookup.js", - "@unique-nft/opal-testnet-types/augment-types.js": "./types/augment-types.js" - + "@unique-nft/opal-testnet-types/": "./types/", + "@unique-nft/opal-testnet-types/types-lookup.js": "./types/lookup.ts", + "@unique-nft/opal-testnet-types/augment-types.js": "./types/augment-types.ts", + "@unique-nft/quartz-mainnet-types/definitions": "./types/definitions.ts", + "@unique-nft/unique-mainnet-types/definitions": "./types/definitions.ts" } } \ No newline at end of file diff --git a/js-packages/package.json b/js-packages/package.json index ad3a1e5493..a330f09881 100644 --- a/js-packages/package.json +++ b/js-packages/package.json @@ -9,10 +9,11 @@ "private": true, "dependencies": { "@openzeppelin/contracts": "^4.9.2", - "@polkadot/api-base": "^16.4.1", + "@polkadot/api-base": "15.5.2", "@polkadot/keyring": "^13.5.3", - "@polkadot/rpc-core": "^16.4.1", - "@polkadot/types-codec": "^16.4.1", + "@polkadot/rpc-core": "15.5.2", + "@polkadot/types-codec": "15.5.2", + "@polkadot/types": "15.5.2", "chai-as-promised": "^7.1.1", "chai-like": "^1.1.1", "csv-writer": "^1.6.0", @@ -24,7 +25,6 @@ "@types/chai-as-promised": "^7.1.8", "@types/chai-like": "^1.1.3", "@types/chai-subset": "^1.3.6", - "@types/mocha": "^10.0.10", "@types/node": "^20.8.10", "@typescript-eslint/eslint-plugin": "8.27.0", "@typescript-eslint/parser": "8.27.0", @@ -60,5 +60,6 @@ "scripts", "test-utils", "tests" - ] + ], + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/js-packages/test-utils/eth/util.ts b/js-packages/test-utils/eth/util.ts index 92400dacf4..ae759bdd01 100644 --- a/js-packages/test-utils/eth/util.ts +++ b/js-packages/test-utils/eth/util.ts @@ -8,13 +8,14 @@ import config from '../../tests/config.ts'; import {EthUniqueHelper} from './index.ts'; import {SilentLogger, SilentConsole} from '@unique/test-utils'; -import type {SchedKind} from '@unique/test-utils/util.ts'; +import type {Pallets, SchedKind, UniqueTestContext} from '@unique/test-utils/util.ts'; import chai from 'chai'; import chaiAsPromised from 'chai-as-promised'; import chaiLike from 'chai-like'; -import {getTestSeed, MINIMUM_DONOR_FUND, requirePalletsOrSkip, makeNames} from '@unique/test-utils/util.ts'; +import {getTestSeed, MINIMUM_DONOR_FUND, requirePalletsOrSkip, makeNames, fullTitle, SkipError} from '@unique/test-utils/util.ts'; import {hexlify, toUtf8Bytes} from 'ethers'; +import { it } from "jsr:@std/testing/bdd"; chai.use(chaiAsPromised); chai.use(chaiLike); @@ -74,60 +75,101 @@ export const usingEthPlaygrounds = async (code: (helper: EthUniqueHelper, privat } }; -export function itEth(name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) { - (opts.only ? it.only : - opts.skip ? it.skip : it)(name, async function() { - await usingEthPlaygrounds(async (helper, privateKey) => { - if(opts.requiredPallets) { - requirePalletsOrSkip(this, helper, opts.requiredPallets); - } +export type ItEthArgs = [ + name: string, + cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string) => Promise }) => void | Promise, + opts: {skip: boolean, only: boolean, requiredPallets?: Pallets[]} +] | [ + name: string, + cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string) => Promise }) => void | Promise, +]; - // HACK: Retry if we got "TypeError: non-canonical s" - // https://github.com/ethers-io/ethers.js/issues/4223 - // eslint-disable-next-line no-constant-condition - while(true) { - try { - console.log(`# /// run test ${this.test?.fullTitle()}`); - await cb({helper, privateKey}); - console.log(`# +++ complete ${this.test?.fullTitle()}`); - - break; - } catch (error: any) { - if(error.message.startsWith('non-canonical s')) { - console.warn(`Catch error "non-canonical signature" in test "${this.test?.title}" (issue https://github.com/ethers-io/ethers.js/issues/4223). Retry after 1 second`); - await new Promise(resolve => setTimeout(resolve, 1000)); + +export interface itEth { + (...args: ItEthArgs): void; + only(...args: ItEthArgs): void; + skip(...args: ItEthArgs): void; +} + +const defaultOptions = { + skip: false, + only: false, + requiredPallets: [] +}; + +export function itEth(...args: ItEthArgs) { + const [name, cb, options] = args; + + const opts = options || defaultOptions; + (opts.only ? it.only : + opts.skip ? it.skip : it)(name, async function (t) { + try { + if (this.missingPallets) + throw new SkipError(this.missingPallets); + await usingEthPlaygrounds(async (helper, privateKey) => { + if(opts.requiredPallets) { + requirePalletsOrSkip(helper, opts.requiredPallets); + } + while(true) { + try { + await cb({helper, privateKey}); + + break; + } catch (error: any) { + if(error.message.startsWith('non-canonical s')) { + console.warn(`Catch error "non-canonical signature" in test "${fullTitle(t)}" (issue https://github.com/ethers-io/ethers.js/issues/4223). Retry after 1 second`); + await new Promise(resolve => setTimeout(resolve, 1000)); + } else { + throw error; + } + } + }; + }) + } catch(e) { + if (e instanceof SkipError) { + if (e.missingPallets) { + const skipMsg = `\tSkipping test '${fullTitle(t)}'.\n\tThe following pallets are missing:\n\t- ${e.missingPallets.join('\n\t- ')}`; + console.warn('\x1b[38:5:208m%s\x1b[0m', skipMsg); } else { - throw error; + const skipMsg = `\tSkipping test '${fullTitle(t)}'.\n\tMessage:\n\t- ${e.message}`; + console.warn('\x1b[38:5:208m%s\x1b[0m', skipMsg); } + } else { + throw e; } } - }); - }); -} - -export function itEthIfWithPallet(name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) { - return itEth(name, cb, {requiredPallets: required, ...opts}); + } + ); } -itEth.only = (name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any) => itEth(name, cb, {only: true}); -itEth.skip = (name: string, cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise }) => any) => itEth(name, cb, {skip: true}); - -itEthIfWithPallet.only = (name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any) => itEthIfWithPallet(name, required, cb, {only: true}); -itEthIfWithPallet.skip = (name: string, required: string[], cb: (apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any) => itEthIfWithPallet(name, required, cb, {skip: true}); -itEth.ifWithPallets = itEthIfWithPallet; - -export function itSchedEth( - name: string, - cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any, - opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}, -) { - itEth(name + ' (anonymous scheduling)', (apis) => cb('anon', apis), opts); - itEth(name + ' (named scheduling)', (apis) => cb('named', apis), opts); -} -itSchedEth.only = (name: string, cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise }) => any) => itSchedEth(name, cb, {only: true}); -itSchedEth.skip = (name: string, cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise }) => any) => itSchedEth(name, cb, {skip: true}); -itSchedEth.ifWithPallets = itSchedIfWithPallets; +itEth.only = (...args: ItEthArgs) => { + const [name, cb, opts] = args; + const options = opts || { ...defaultOptions}; + options.only = true; + itEth(name, cb, options); +}; +itEth.skip = (...args: ItEthArgs) => { + const [name, cb, opts] = args; + const options = opts || { ...defaultOptions}; + options.skip = true; + itEth(name, cb, options); +}; +itEth.ifWithPallets = (name: string, requiredPallets: Pallets[], cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string) => Promise }) => void | Promise) => { + itEth(name, cb, {requiredPallets, skip: false, only: false}); +}; -function itSchedIfWithPallets(name: string, required: string[], cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) { - return itSchedEth(name, cb, {requiredPallets: required, ...opts}); -} +// export function itSchedEth( +// name: string, +// cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any, +// opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}, +// ) { +// itEth(name + ' (anonymous scheduling)', (apis) => cb('anon', apis), opts); +// itEth(name + ' (named scheduling)', (apis) => cb('named', apis), opts); +// } +// itSchedEth.only = (name: string, cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise }) => any) => itSchedEth(name, cb, {only: true}); +// itSchedEth.skip = (name: string, cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise }) => any) => itSchedEth(name, cb, {skip: true}); +// itSchedEth.ifWithPallets = itSchedIfWithPallets; + +// function itSchedIfWithPallets(name: string, required: string[], cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) { +// return itSchedEth(name, cb, {requiredPallets: required, ...opts}); +// } diff --git a/js-packages/test-utils/util.ts b/js-packages/test-utils/util.ts index 3eb3fefca2..788a1065b7 100644 --- a/js-packages/test-utils/util.ts +++ b/js-packages/test-utils/util.ts @@ -1,20 +1,32 @@ // Copyright 2019-2022 Unique Network (Gibraltar) Ltd. // SPDX-License-Identifier: Apache-2.0 -import {it} from "https://deno.land/x/deno_mocha/mod.ts"; - import * as path from 'node:path'; import * as crypto from 'node:crypto'; import type {IKeyringPair} from '@polkadot/types/types/interfaces'; import chai from 'chai'; import chaiAsPromised from 'chai-as-promised'; import chaiSubset from 'chai-subset'; -import {Context} from 'mocha'; import config from '../tests/config.ts'; import {ChainHelperBase} from '@unique-nft/playgrounds/unique.ts'; import type {ILogger} from '@unique-nft/playgrounds/types.ts'; import {DevUniqueHelper, SilentLogger, SilentConsole, DevMoonbeamHelper, DevMoonriverHelper, DevAcalaHelper, DevKaruraHelper, DevRelayHelper, DevWestmintHelper, DevStatemineHelper, DevStatemintHelper, DevAstarHelper, DevShidenHelper, DevHydraDxHelper} from '@unique/test-utils'; import {dirname} from 'node:path'; import {fileURLToPath} from 'node:url'; +import { + afterEach as afterEachBdd, + beforeEach as beforeEachBdd, + describe as describeBdd, + before as beforeBdd, + after as afterBdd, + it, + DescribeArgs, + TestSuite, +} from "jsr:@std/testing/bdd"; +import { + configureGlobalSanitizers, + type ConfigureGlobalSanitizersOptions +} from "jsr:@std/testing/unstable-bdd"; +import process from "node:process"; chai.config.truncateThreshold = 0; chai.use(chaiAsPromised); @@ -117,7 +129,7 @@ export enum Pallets { Identity = 'identity', Democracy = 'democracy', Council = 'council', - //CouncilMembership = 'councilmembership', + CouncilMembership = 'councilmembership', TechnicalCommittee = 'technicalcommittee', Fellowship = 'fellowshipcollective', Preimage = 'preimage', @@ -125,73 +137,210 @@ export enum Pallets { TestUtils = 'testutils', } -export function requirePalletsOrSkip(test: Context, helper: DevUniqueHelper, requiredPallets: readonly string[]) { - const missingPallets = helper.fetchMissingPalletNames(requiredPallets); - - if(missingPallets.length > 0) { - const skipMsg = `\tSkipping test '${test.test?.title}'.\n\tThe following pallets are missing:\n\t- ${missingPallets.join('\n\t- ')}`; - console.warn('\x1b[38:5:208m%s\x1b[0m', skipMsg); - test.skip(); +configureGlobalSanitizers({ + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: true +} as ConfigureGlobalSanitizersOptions); + +export type FixedDescribe = { + (...args: DescribeArgs): TestSuite; + only: (...args: DescribeArgs) => TestSuite; + ignore: (...args: DescribeArgs) => TestSuite; + skip: (...args: DescribeArgs) => void; + ifRunGov: (...args: DescribeArgs) => TestSuite; + ifRunXcm: (...args: DescribeArgs) => TestSuite; +}; + +// Create a new function object by rebinding methods +export const describe: FixedDescribe = Object.assign( + (...args: DescribeArgs) => describeBdd(...args), + { + only: (...args: DescribeArgs) => describeBdd.only(...args), + ignore: (...args: DescribeArgs) => describeBdd.ignore(...args), + skip: (...args: DescribeArgs) => describeBdd.skip(...args), + ifRunGov: (...args: DescribeArgs) => { + return process.env.RUN_GOV_TESTS + ? describeBdd(...args) + : describeBdd.skip(...args); + }, + ifRunXcm: (...args: DescribeArgs) => { + return process.env.RUN_XCM_TESTS + ? describeBdd(...args) + : describeBdd.skip(...args); + }, } +); + +export const before = (fn: (this: UniqueTestContext) => void | Promise) => { + beforeBdd(wrapBddFunctionCallback(fn)); } -export function itSub(name: string, cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: readonly string[] } = {}) { - (opts.only ? it.only : - opts.skip ? it.skip : it)(name, async function () { - await usingPlaygrounds(async (helper, privateKey) => { - if(opts.requiredPallets) { - requirePalletsOrSkip(this, helper, opts.requiredPallets); - } +export const after = (fn: (this: UniqueTestContext) => void | Promise) => { + afterBdd(wrapBddFunctionCallback(fn)); +} - console.log(`# /// run test ${this.test?.fullTitle()}`); - await cb({helper, privateKey}); - console.log(`# +++ complete ${this.test?.fullTitle()}`); - }); - }); +export const beforeEach = (fn: (this: UniqueTestContext) => void | Promise) => { + beforeEachBdd(wrapBddFunctionCallback(fn)); } -export function itSubIfWithPallet(name: string, required: readonly string[], cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: readonly string[] } = {}) { - return itSub(name, cb, {requiredPallets: required, ...opts}); + +export const afterEach = (fn: (this: UniqueTestContext) => void | Promise) => { + afterEachBdd(wrapBddFunctionCallback(fn)); } -itSub.only = (name: string, cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSub(name, cb, {only: true}); -itSub.skip = (name: string, cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSub(name, cb, {skip: true}); -itSubIfWithPallet.only = (name: string, required: readonly string[], cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSubIfWithPallet(name, required, cb, {only: true}); -itSubIfWithPallet.skip = (name: string, required: readonly string[], cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSubIfWithPallet(name, required, cb, {skip: true}); -itSub.ifWithPallets = itSubIfWithPallet; +function wrapBddFunctionCallback(cb: (this: UniqueTestContext) => void | Promise): (this: UniqueTestContext) => void | Promise { + return function (this: UniqueTestContext): void | Promise { + if (!(this instanceof UniqueTestContext)) { + const ctx = new UniqueTestContext(); + Object.assign(this, ctx); + Object.setPrototypeOf(this, Object.getPrototypeOf(ctx)); + } + try { + const result = cb.call(this); + if (result instanceof Promise) { + return result.catch((e) => { + handleSkipError(this, e); + }); + } + return result; + } catch (e) { + handleSkipError(this, e); + } + } +} -export type SchedKind = 'anon' | 'named'; +function handleSkipError(ctx:UniqueTestContext, e) { + if (e instanceof SkipError) { + ctx.missingPallets = e.missingPallets; + } else { + throw e; + } +} -export function itSched( - name: string, - cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any, - opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}, -) { - itSub(name + ' (anonymous scheduling)', (apis) => cb('anon', apis), opts); - itSub(name + ' (named scheduling)', (apis) => cb('named', apis), opts); +export function requirePalletsOrSkip(helper: DevUniqueHelper, requiredPallets: readonly Pallets[]) { + const missingPallets = helper.fetchMissingPalletNames(requiredPallets); + if(missingPallets.length > 0) { + throw new SkipError(missingPallets); + } } -itSched.only = (name: string, cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSched(name, cb, {only: true}); -itSched.skip = (name: string, cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSched(name, cb, {skip: true}); -itSched.ifWithPallets = itSchedIfWithPallets; -function itSchedIfWithPallets(name: string, required: string[], cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) { - return itSched(name, cb, {requiredPallets: required, ...opts}); +export class SkipError { + public missingPallets: string[] | undefined; + public message: string | undefined; + constructor(missingPalletsOrMessage: string[] | string) { + if (typeof missingPalletsOrMessage === "string") + this.message = missingPalletsOrMessage; + else + this.missingPallets = missingPalletsOrMessage; + } } -export function describeXCM(title: string, fn: (this: Mocha.Suite) => void, opts: {skip?: boolean} = {}) { - (process.env.RUN_XCM_TESTS && !opts.skip - ? describe - : describe.skip)(title, fn); +export function fullTitle(t: Deno.TestContext, suffix?: string): string { + let title: string; + if (suffix) + title = `${t.name} ${suffix}`; + else + title = t.name; + if (!t.parent) + return title; + else + return fullTitle(t.parent, title); } -describeXCM.skip = (name: string, fn: (this: Mocha.Suite) => void) => describeXCM(name, fn, {skip: true}); +export type ItSubArgs = [ + name: string, + cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => void | Promise, + opts: {skip: boolean, only: boolean, requiredPallets?: readonly Pallets[]} +] | [ + name: string, + cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => void | Promise, +]; + -export function describeGov(title: string, fn: (this: Mocha.Suite) => void, opts: {skip?: boolean} = {}) { - (process.env.RUN_GOV_TESTS && !opts.skip - ? describe - : describe.skip)(title, fn); +export interface itSub { + (...args: ItSubArgs): void; + only(...args: ItSubArgs): void; + skip(...args: ItSubArgs): void; } -describeGov.skip = (name: string, fn: (this: Mocha.Suite) => void) => describeGov(name, fn, {skip: true}); +const defaultOptions = { + skip: false, + only: false, + requiredPallets: undefined +}; + +export function itSub(...args: ItSubArgs) { + const [name, cb, options] = args; + + const opts = options || defaultOptions; + (opts.only ? it.only : + opts.skip ? it.skip : it)(name, async function (t) { + try { + if (this.missingPallets) + throw new SkipError(this.missingPallets); + await usingPlaygrounds(async (helper, privateKey) => { + if(opts.requiredPallets) { + requirePalletsOrSkip(helper, opts.requiredPallets); + } + await cb({helper, privateKey}); + }); + } catch(e) { + if (e instanceof SkipError) { + if (e.missingPallets) { + const skipMsg = `\tSkipping test '${fullTitle(t)}'.\n\tThe following pallets are missing:\n\t- ${e.missingPallets.join('\n\t- ')}`; + console.warn('\x1b[38:5:208m%s\x1b[0m', skipMsg); + } else { + const skipMsg = `\tSkipping test '${fullTitle(t)}'.\n\tMessage:\n\t- ${e.message}`; + console.warn('\x1b[38:5:208m%s\x1b[0m', skipMsg); + } + } else { + throw e; + } + } + }); +} + +itSub.only = (...args: ItSubArgs) => { + const [name, cb, opts] = args; + const options = opts || { ...defaultOptions}; + options.only = true; + itSub(name, cb, options); +}; +itSub.skip = (...args: ItSubArgs) => { + const [name, cb, opts] = args; + const options = opts || { ...defaultOptions}; + options.skip = true; + itSub(name, cb, options); +}; +itSub.ifWithPallets = (name: string, requiredPallets: readonly Pallets[], cb: (apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => void | Promise) => { + itSub(name, cb, {requiredPallets, skip: false, only: false}); +}; + +export class UniqueTestContext { + public missingPallets: string[] | undefined; + + public skip(message: string) { + throw new SkipError(message); + } +} + +export type SchedKind = 'anon' | 'named'; + +// export function itSched( +// name: string, +// cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any, +// opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}, +// ) { +// itSub(name + ' (anonymous scheduling)', (apis) => cb('anon', apis), opts); +// itSub(name + ' (named scheduling)', (apis) => cb('named', apis), opts); +// } +// itSched.only = (name: string, cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSched(name, cb, {only: true}); +// itSched.skip = (name: string, cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSched(name, cb, {skip: true}); +// itSched.ifWithPallets = itSchedIfWithPallets; + +// function itSchedIfWithPallets(name: string, required: string[], cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) { +// return itSched(name, cb, {requiredPallets: required, ...opts}); +// } export function sizeOfInt(i: number) { if(i < 0 || i > 0xffffffff) throw new Error('out of range'); diff --git a/js-packages/tests/addCollectionAdmin.test.ts b/js-packages/tests/addCollectionAdmin.test.ts index 3ec37d7fdd..9db4225f4b 100644 --- a/js-packages/tests/addCollectionAdmin.test.ts +++ b/js-packages/tests/addCollectionAdmin.test.ts @@ -13,13 +13,8 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import { - before, - describe, -} from "https://deno.land/x/deno_mocha/mod.ts"; - import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.ts'; +import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util.ts'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test addCollectionAdmin(collection_id, new_admin_id):', () => { diff --git a/js-packages/tests/adminTransferAndBurn.test.ts b/js-packages/tests/adminTransferAndBurn.test.ts index 7b1f4f606d..4fa15468ab 100644 --- a/js-packages/tests/adminTransferAndBurn.test.ts +++ b/js-packages/tests/adminTransferAndBurn.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util.js'; describe('Integration Test: ownerCanTransfer allows admins to use only transferFrom/burnFrom:', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/allowLists.test.ts b/js-packages/tests/allowLists.test.ts index 498b1b88df..15b9441b04 100644 --- a/js-packages/tests/allowLists.test.ts +++ b/js-packages/tests/allowLists.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util.js'; import type {ICollectionPermissions} from '@unique-nft/playgrounds/types.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; diff --git a/js-packages/tests/apiConsts.test.ts b/js-packages/tests/apiConsts.test.ts index c54deef5d9..26c8db37de 100644 --- a/js-packages/tests/apiConsts.test.ts +++ b/js-packages/tests/apiConsts.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import {ApiPromise} from '@polkadot/api'; -import {usingPlaygrounds, itSub, expect, COLLECTION_HELPER, CONTRACT_HELPER} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, COLLECTION_HELPER, CONTRACT_HELPER, describe, before} from '@unique/test-utils/util.js'; const MAX_COLLECTION_DESCRIPTION_LENGTH = 256n; diff --git a/js-packages/tests/approve.test.ts b/js-packages/tests/approve.test.ts index 074f07d51e..c367ad3c9f 100644 --- a/js-packages/tests/approve.test.ts +++ b/js-packages/tests/approve.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {expect, itSub, Pallets, usingPlaygrounds, describe, before} from '@unique/test-utils/util.js'; import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; diff --git a/js-packages/tests/burnItem.test.ts b/js-packages/tests/burnItem.test.ts index 4046c03ad9..fef129aa31 100644 --- a/js-packages/tests/burnItem.test.ts +++ b/js-packages/tests/burnItem.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {expect, itSub, usingPlaygrounds, describe, before} from '@unique/test-utils/util.js'; describe('integration test: ext. burnItem():', () => { diff --git a/js-packages/tests/change-collection-owner.test.ts b/js-packages/tests/change-collection-owner.test.ts index 9ca3479d09..2113c33f01 100644 --- a/js-packages/tests/change-collection-owner.test.ts +++ b/js-packages/tests/change-collection-owner.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; describe('Integration Test changeCollectionOwner(collection_id, new_owner):', () => { diff --git a/js-packages/tests/confirmSponsorship.test.ts b/js-packages/tests/confirmSponsorship.test.ts index 4bcbbac065..ca628768ba 100644 --- a/js-packages/tests/confirmSponsorship.test.ts +++ b/js-packages/tests/confirmSponsorship.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, Pallets} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; async function setSponsorHelper(collection: any, signer: IKeyringPair, sponsorAddress: string) { diff --git a/js-packages/tests/connection.test.ts b/js-packages/tests/connection.test.ts index 848efa1b67..033123fffc 100644 --- a/js-packages/tests/connection.test.ts +++ b/js-packages/tests/connection.test.ts @@ -14,7 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {itSub, expect, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {itSub, expect, usingPlaygrounds, describe} from '@unique/test-utils/util.js'; +import { it } from "jsr:@std/testing/bdd"; describe('Connection smoke test', () => { itSub('Connection can be established', async ({helper}) => { diff --git a/js-packages/tests/createCollection.test.ts b/js-packages/tests/createCollection.test.ts index 81cb5234cc..57cc588e2e 100644 --- a/js-packages/tests/createCollection.test.ts +++ b/js-packages/tests/createCollection.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, Pallets} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util.js'; import {CollectionFlag} from '@unique-nft/playgrounds/types.js'; import type {ICollectionCreationOptions, IProperty} from '@unique-nft/playgrounds/types.js'; import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; diff --git a/js-packages/tests/createItem.test.ts b/js-packages/tests/createItem.test.ts index 8252b6d6ce..a49f1b0a09 100644 --- a/js-packages/tests/createItem.test.ts +++ b/js-packages/tests/createItem.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, Pallets} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util.js'; import type {IProperty, ICrossAccountId} from '@unique-nft/playgrounds/types.js'; import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; diff --git a/js-packages/tests/createMultipleItems.test.ts b/js-packages/tests/createMultipleItems.test.ts index dfc68855f8..a884ea8265 100644 --- a/js-packages/tests/createMultipleItems.test.ts +++ b/js-packages/tests/createMultipleItems.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, Pallets, itSub} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, Pallets, itSub, describe, before} from '@unique/test-utils/util.js'; describe('Integration Test createMultipleItems(collection_id, owner, items_data):', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/createMultipleItemsEx.test.ts b/js-packages/tests/createMultipleItemsEx.test.ts index fb924de7bb..45673b0f1e 100644 --- a/js-packages/tests/createMultipleItemsEx.test.ts +++ b/js-packages/tests/createMultipleItemsEx.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, Pallets, itSub} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, Pallets, itSub, describe, before} from '@unique/test-utils/util.js'; import type {IProperty} from '@unique-nft/playgrounds/types.js'; describe('Integration Test: createMultipleItemsEx', () => { diff --git a/js-packages/tests/creditFeesToTreasury.seqtest.ts b/js-packages/tests/creditFeesToTreasury.seqtest.ts index b3808cb209..cd145e3a58 100644 --- a/js-packages/tests/creditFeesToTreasury.seqtest.ts +++ b/js-packages/tests/creditFeesToTreasury.seqtest.ts @@ -16,7 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {ApiPromise} from '@polkadot/api'; -import {usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util.js'; import type {u32} from '@polkadot/types-codec'; import {itEth} from '@unique/test-utils/eth/util.js'; import {ITransactionResult} from '@unique-nft/playgrounds/types'; @@ -169,7 +169,7 @@ describe('integration test: Fees must be credited to Treasury:', () => { itEth('Evm Transactions send fees to Treasury', async ({helper}) => { const value = helper.balance.getOneTokenNominal(); const gasPrice = await helper.getGasPrice(); - let result = null; + let result; const lambda = async () => { result = await helper.executeExtrinsic(alice, 'api.tx.evm.call', [ diff --git a/js-packages/tests/destroyCollection.test.ts b/js-packages/tests/destroyCollection.test.ts index f2a8e6e248..c480902dd7 100644 --- a/js-packages/tests/destroyCollection.test.ts +++ b/js-packages/tests/destroyCollection.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, expect, usingPlaygrounds, Pallets} from '@unique/test-utils/util.js'; +import {itSub, expect, usingPlaygrounds, Pallets, describe, before} from '@unique/test-utils/util.js'; describe('integration test: ext. destroyCollection():', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/enableDisableTransfer.test.ts b/js-packages/tests/enableDisableTransfer.test.ts index 4880c450f8..8375bf65dc 100644 --- a/js-packages/tests/enableDisableTransfer.test.ts +++ b/js-packages/tests/enableDisableTransfer.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util.js'; describe('Enable/Disable Transfers', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/eth/allowlist.test.ts b/js-packages/tests/eth/allowlist.test.ts index 3183e2a964..bb9c10e19e 100644 --- a/js-packages/tests/eth/allowlist.test.ts +++ b/js-packages/tests/eth/allowlist.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {Pallets} from '@unique/test-utils/util.js'; +import {before, describe, Pallets} from '@unique/test-utils/util.js'; import {itEth, usingEthPlaygrounds, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; diff --git a/js-packages/tests/eth/base.test.ts b/js-packages/tests/eth/base.test.ts index 062aa91b78..4c8d9f33df 100644 --- a/js-packages/tests/eth/base.test.ts +++ b/js-packages/tests/eth/base.test.ts @@ -18,6 +18,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; import {HDNodeWallet} from 'ethers'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('Contract calls', () => { diff --git a/js-packages/tests/eth/collectionAdmin.test.ts b/js-packages/tests/eth/collectionAdmin.test.ts index dee4a642fc..18ed216bc4 100644 --- a/js-packages/tests/eth/collectionAdmin.test.ts +++ b/js-packages/tests/eth/collectionAdmin.test.ts @@ -15,7 +15,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {expect} from 'chai'; -import {Pallets} from '@unique/test-utils/util.ts'; +import {before, describe, Pallets} from '@unique/test-utils/util.ts'; import type {IEthCrossAccountId} from '@unique-nft/playgrounds/types.ts'; import {usingEthPlaygrounds, itEth, waitParams} from '@unique/test-utils/eth/util.ts'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.ts'; diff --git a/js-packages/tests/eth/collectionHelperAddress.test.ts b/js-packages/tests/eth/collectionHelperAddress.test.ts index 18f925b555..db0ca0ef13 100644 --- a/js-packages/tests/eth/collectionHelperAddress.test.ts +++ b/js-packages/tests/eth/collectionHelperAddress.test.ts @@ -16,7 +16,7 @@ import {itEth, usingEthPlaygrounds, expect} from '@unique/test-utils/eth/util.js'; import type {IKeyringPair} from '@polkadot/types/types'; -import {COLLECTION_HELPER, Pallets} from '@unique/test-utils/util.js'; +import {before, describe, COLLECTION_HELPER, Pallets} from '@unique/test-utils/util.js'; describe('[eth]CollectionHelperAddress test: ERC20/ERC721 ', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/collectionLimits.test.ts b/js-packages/tests/eth/collectionLimits.test.ts index 5656b089d7..043e80c790 100644 --- a/js-packages/tests/eth/collectionLimits.test.ts +++ b/js-packages/tests/eth/collectionLimits.test.ts @@ -1,5 +1,5 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {Pallets} from '@unique/test-utils/util.js'; +import {before, describe, Pallets} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {CollectionLimitField, CreateCollectionData} from '@unique/test-utils/eth/types.js'; diff --git a/js-packages/tests/eth/collectionProperties.test.ts b/js-packages/tests/eth/collectionProperties.test.ts index fc5300f152..4d4fdadc1f 100644 --- a/js-packages/tests/eth/collectionProperties.test.ts +++ b/js-packages/tests/eth/collectionProperties.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util.js'; -import {Pallets} from '@unique/test-utils/util.js'; +import {before, describe, Pallets} from '@unique/test-utils/util.js'; import type {IProperty, ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; import type {IKeyringPair} from '@polkadot/types/types'; import {Buffer} from "node:buffer"; diff --git a/js-packages/tests/eth/collectionSponsoring.test.ts b/js-packages/tests/eth/collectionSponsoring.test.ts index 446792dd83..13a494bace 100644 --- a/js-packages/tests/eth/collectionSponsoring.test.ts +++ b/js-packages/tests/eth/collectionSponsoring.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; import {itEth, expect, waitParams} from '@unique/test-utils/eth/util.js'; import {CollectionLimitField, TokenPermissionField} from '@unique/test-utils/eth/types.js'; import {Buffer} from "node:buffer"; @@ -440,7 +440,7 @@ describe('evm RFT collection sponsoring', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice] = await helper.arrange.createAccounts([100n], donor); nominal = helper.balance.getOneTokenNominal(); @@ -913,7 +913,7 @@ describe('evm RFT token sponsoring', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); }); }); diff --git a/js-packages/tests/eth/contractSponsoring.test.ts b/js-packages/tests/eth/contractSponsoring.test.ts index 94a2c693ed..68382d789e 100644 --- a/js-packages/tests/eth/contractSponsoring.test.ts +++ b/js-packages/tests/eth/contractSponsoring.test.ts @@ -17,7 +17,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; import {itEth, expect, SponsoringMode, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds} from '@unique/test-utils/util.js'; import type {CompiledContract} from '@unique/test-utils/eth/types.js'; import {HDNodeWallet} from 'ethers'; import {Contract} from 'ethers'; @@ -385,10 +385,6 @@ describe('Sponsoring EVM contracts', () => { }); itEth('Sponsoring is limited, with setContractRateLimit. The limitation is working if transactions are sent more often, the sender pays the commission.', async ({helper}) => { - // Skip this test when running with parallel testing to avoid `Do not know how to serialize a BigInt` error - // that happens outside test when comparing bigints in `expect` fails. - if(process.env.MOCHA_WORKER_ID != undefined) - return; const owner = await helper.eth.createAccountWithBalance(donor); const sponsor = await helper.eth.createAccountWithBalance(donor); const caller = await helper.eth.createAccountWithBalance(donor); diff --git a/js-packages/tests/eth/createCollection.test.ts b/js-packages/tests/eth/createCollection.test.ts index 65af9e3f8c..338eda1129 100644 --- a/js-packages/tests/eth/createCollection.test.ts +++ b/js-packages/tests/eth/createCollection.test.ts @@ -16,7 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {evmToAddress} from '@polkadot/util-crypto'; -import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {CREATE_COLLECTION_DATA_DEFAULTS, CollectionLimitField, CollectionMode, CreateCollectionData, TokenPermissionField, emptyAddress} from '@unique/test-utils/eth/types.js'; import {CollectionFlag} from '@unique-nft/playgrounds/types.js'; @@ -57,7 +57,7 @@ describe('Create collection from EVM', () => { describe('Fungible collection', () => { before(async function() { await usingEthPlaygrounds((helper) => { - requirePalletsOrSkip(this, helper, [Pallets.Fungible]); + requirePalletsOrSkip(helper, [Pallets.Fungible]); return Promise.resolve(); }); }); @@ -180,7 +180,7 @@ describe('Create collection from EVM', () => { describe('Nonfungible collection', () => { before(async function() { await usingEthPlaygrounds((helper) => { - requirePalletsOrSkip(this, helper, [Pallets.NFT]); + requirePalletsOrSkip(helper, [Pallets.NFT]); return Promise.resolve(); }); }); @@ -256,7 +256,7 @@ describe('Create collection from EVM', () => { describe('Create RFT collection from EVM', () => { before(async function() { await usingEthPlaygrounds((helper) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); return Promise.resolve(); }); }); diff --git a/js-packages/tests/eth/createFTCollection.seqtest.ts b/js-packages/tests/eth/createFTCollection.seqtest.ts index 47fdda901e..d8b2502eb2 100644 --- a/js-packages/tests/eth/createFTCollection.seqtest.ts +++ b/js-packages/tests/eth/createFTCollection.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; const DECIMALS = 18; @@ -25,7 +25,7 @@ describe('Create FT collection from EVM', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Fungible]); + requirePalletsOrSkip(helper, [Pallets.Fungible]); donor = await privateKey({url: import.meta.url}); }); }); diff --git a/js-packages/tests/eth/createFTCollection.test.ts b/js-packages/tests/eth/createFTCollection.test.ts index bd4cacc814..f396bd8e94 100644 --- a/js-packages/tests/eth/createFTCollection.test.ts +++ b/js-packages/tests/eth/createFTCollection.test.ts @@ -16,7 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {evmToAddress} from '@polkadot/util-crypto'; -import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {CollectionLimitField} from '@unique/test-utils/eth/types.js'; @@ -27,7 +27,7 @@ describe('Create FT collection from EVM', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Fungible]); + requirePalletsOrSkip(helper, [Pallets.Fungible]); donor = await privateKey({url: import.meta.url}); }); }); @@ -124,7 +124,7 @@ describe('(!negative tests!) Create FT collection from EVM', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Fungible]); + requirePalletsOrSkip(helper, [Pallets.Fungible]); donor = await privateKey({url: import.meta.url}); }); }); diff --git a/js-packages/tests/eth/createNFTCollection.seqtest.ts b/js-packages/tests/eth/createNFTCollection.seqtest.ts index 1d5a0adace..5d4776472f 100644 --- a/js-packages/tests/eth/createNFTCollection.seqtest.ts +++ b/js-packages/tests/eth/createNFTCollection.seqtest.ts @@ -16,6 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('Create NFT collection from EVM', () => { diff --git a/js-packages/tests/eth/createNFTCollection.test.ts b/js-packages/tests/eth/createNFTCollection.test.ts index df93032043..b35faca812 100644 --- a/js-packages/tests/eth/createNFTCollection.test.ts +++ b/js-packages/tests/eth/createNFTCollection.test.ts @@ -18,6 +18,7 @@ import {evmToAddress} from '@polkadot/util-crypto'; import type {IKeyringPair} from '@polkadot/types/types'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {CollectionLimitField} from '@unique/test-utils/eth/types.js'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('Create NFT collection from EVM', () => { diff --git a/js-packages/tests/eth/createRFTCollection.test.ts b/js-packages/tests/eth/createRFTCollection.test.ts index 4b0f0925ed..2e74e0eaa1 100644 --- a/js-packages/tests/eth/createRFTCollection.test.ts +++ b/js-packages/tests/eth/createRFTCollection.test.ts @@ -16,7 +16,7 @@ import {evmToAddress} from '@polkadot/util-crypto'; import type {IKeyringPair} from '@polkadot/types/types'; -import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {CollectionLimitField} from '@unique/test-utils/eth/types.js'; @@ -26,7 +26,7 @@ describe('Create RFT collection from EVM', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); }); }); @@ -156,7 +156,7 @@ describe('(!negative tests!) Create RFT collection from EVM', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); nominal = helper.balance.getOneTokenNominal(); }); diff --git a/js-packages/tests/eth/crossTransfer.test.ts b/js-packages/tests/eth/crossTransfer.test.ts index fcc4f41023..72ef4ccba4 100644 --- a/js-packages/tests/eth/crossTransfer.test.ts +++ b/js-packages/tests/eth/crossTransfer.test.ts @@ -17,6 +17,7 @@ import {waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; import type {IKeyringPair} from '@polkadot/types/types'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('Token transfer between substrate address and EVM address. Fungible', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/destroyCollection.test.ts b/js-packages/tests/eth/destroyCollection.test.ts index b083e9e445..c41e3dd9bf 100644 --- a/js-packages/tests/eth/destroyCollection.test.ts +++ b/js-packages/tests/eth/destroyCollection.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {Pallets} from '@unique/test-utils/util.js'; +import {before, describe, Pallets} from '@unique/test-utils/util.js'; import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import type {TCollectionMode} from '@unique-nft/playgrounds/types.js'; import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; diff --git a/js-packages/tests/eth/ethFeesAreCorrect.test.ts b/js-packages/tests/eth/ethFeesAreCorrect.test.ts index 9844e3fdce..41c8f67fb3 100644 --- a/js-packages/tests/eth/ethFeesAreCorrect.test.ts +++ b/js-packages/tests/eth/ethFeesAreCorrect.test.ts @@ -16,6 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('Eth fees are correct', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/events.test.ts b/js-packages/tests/eth/events.test.ts index 762eeb9a06..c738c4a062 100644 --- a/js-packages/tests/eth/events.test.ts +++ b/js-packages/tests/eth/events.test.ts @@ -19,7 +19,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; import type {IEvent, TCollectionMode} from '@unique-nft/playgrounds/types.js'; -import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {CollectionLimitField, TokenPermissionField, CreateCollectionData} from '@unique/test-utils/eth/types.js'; import type {NormalizedEvent} from '@unique/test-utils/eth/types.js'; @@ -573,7 +573,7 @@ describe('[RFT] Sync sub & eth events', () => { before(async function() { await usingEthPlaygrounds((helper) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); return Promise.resolve(); }); }); diff --git a/js-packages/tests/eth/evmCoder.test.ts b/js-packages/tests/eth/evmCoder.test.ts index f1428515e2..ee78fa832f 100644 --- a/js-packages/tests/eth/evmCoder.test.ts +++ b/js-packages/tests/eth/evmCoder.test.ts @@ -16,6 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; +import {before, describe} from "@unique/test-utils/util.ts"; const getContractSource = (collectionAddress: string, contractAddress: string): string => ` // SPDX-License-Identifier: MIT diff --git a/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts b/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts index d6a16d7a01..298869e2a3 100644 --- a/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts +++ b/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts @@ -25,7 +25,7 @@ import {Contract, HDNodeWallet} from 'ethers'; import {usingEthPlaygrounds, expect, itEth, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; import type {CompiledContract} from '@unique/test-utils/eth/types.js'; -import {requirePalletsOrSkip, Pallets, makeNames} from '@unique/test-utils/util.js'; +import {before, describe, requirePalletsOrSkip, Pallets, makeNames} from '@unique/test-utils/util.js'; const {dirname} = makeNames(import.meta.url); @@ -95,7 +95,7 @@ describe('Fractionalizer contract usage', () => { before(async function() { await usingEthPlaygrounds(async (helper: EthUniqueHelper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); }); }); diff --git a/js-packages/tests/eth/fungible.test.ts b/js-packages/tests/eth/fungible.test.ts index 83b9cf7477..4c84d59634 100644 --- a/js-packages/tests/eth/fungible.test.ts +++ b/js-packages/tests/eth/fungible.test.ts @@ -17,6 +17,7 @@ import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import type {IKeyringPair} from '@polkadot/types/types'; import {Contract} from 'ethers'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('Fungible: Plain calls', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/getCode.test.ts b/js-packages/tests/eth/getCode.test.ts index f1cc37d9fb..4095ef44a4 100644 --- a/js-packages/tests/eth/getCode.test.ts +++ b/js-packages/tests/eth/getCode.test.ts @@ -16,7 +16,7 @@ import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import type {IKeyringPair} from '@polkadot/types/types'; -import {COLLECTION_HELPER, CONTRACT_HELPER} from '@unique/test-utils/util.js'; +import {before, describe, COLLECTION_HELPER, CONTRACT_HELPER} from '@unique/test-utils/util.js'; describe('RPC eth_getCode', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/helpersSmoke.test.ts b/js-packages/tests/eth/helpersSmoke.test.ts index 199ff9ba45..9bfb481579 100644 --- a/js-packages/tests/eth/helpersSmoke.test.ts +++ b/js-packages/tests/eth/helpersSmoke.test.ts @@ -16,6 +16,7 @@ import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import type {IKeyringPair} from '@polkadot/types/types'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('Helpers sanity check', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/marketplace-v2/marketplace.test.ts b/js-packages/tests/eth/marketplace-v2/marketplace.test.ts index c1df87a768..78de1b4247 100644 --- a/js-packages/tests/eth/marketplace-v2/marketplace.test.ts +++ b/js-packages/tests/eth/marketplace-v2/marketplace.test.ts @@ -18,7 +18,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {readFile} from 'node:fs/promises'; import {SponsoringMode, waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {makeNames, expect} from '@unique/test-utils/util.js'; +import {before, describe, makeNames, expect} from '@unique/test-utils/util.js'; import {Contract, HDNodeWallet, toBeHex, zeroPadBytes} from 'ethers'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/marketplace/marketplace.test.ts b/js-packages/tests/eth/marketplace/marketplace.test.ts index f95d117db0..6e03436461 100644 --- a/js-packages/tests/eth/marketplace/marketplace.test.ts +++ b/js-packages/tests/eth/marketplace/marketplace.test.ts @@ -17,7 +17,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {readFile} from 'node:fs/promises'; import {itEth, usingEthPlaygrounds, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; -import {makeNames} from '@unique/test-utils/util.js'; +import {before, beforeEach, describe, makeNames} from '@unique/test-utils/util.js'; const {dirname} = makeNames(import.meta.url); const EVM_ABI_DIR = `${dirname}/../../../evm-abi`; diff --git a/js-packages/tests/eth/migration.seqtest.ts b/js-packages/tests/eth/migration.seqtest.ts index 71944cd2de..191a8a3c88 100644 --- a/js-packages/tests/eth/migration.seqtest.ts +++ b/js-packages/tests/eth/migration.seqtest.ts @@ -15,6 +15,7 @@ // along with Unique Network. If not, see . import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {before, describe} from "@unique/test-utils/util.ts"; import type {IKeyringPair} from '@polkadot/types/types'; import {Struct} from '@polkadot/types'; diff --git a/js-packages/tests/eth/nativeFungible.test.ts b/js-packages/tests/eth/nativeFungible.test.ts index 4bf88d90d4..9e45a674dc 100644 --- a/js-packages/tests/eth/nativeFungible.test.ts +++ b/js-packages/tests/eth/nativeFungible.test.ts @@ -17,6 +17,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('NativeFungible: ERC20 calls', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/nativeRpc/estimateGas.test.ts b/js-packages/tests/eth/nativeRpc/estimateGas.test.ts index 9d5b5c12b6..a3d597cf5b 100644 --- a/js-packages/tests/eth/nativeRpc/estimateGas.test.ts +++ b/js-packages/tests/eth/nativeRpc/estimateGas.test.ts @@ -15,6 +15,7 @@ // along with Unique Network. If not, see . import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {before, describe} from "@unique/test-utils/util.ts"; import type {IKeyringPair} from '@polkadot/types/types'; import {Contract} from 'ethers'; diff --git a/js-packages/tests/eth/nesting/nest.test.ts b/js-packages/tests/eth/nesting/nest.test.ts index fd257d0b1c..a678733ce2 100644 --- a/js-packages/tests/eth/nesting/nest.test.ts +++ b/js-packages/tests/eth/nesting/nest.test.ts @@ -3,6 +3,7 @@ import {Contract, HDNodeWallet} from 'ethers'; import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {before, describe} from "@unique/test-utils/util.ts"; const createNestingCollection = async ( helper: EthUniqueHelper, diff --git a/js-packages/tests/eth/nonFungible.test.ts b/js-packages/tests/eth/nonFungible.test.ts index 927399bf60..2cf23927d0 100644 --- a/js-packages/tests/eth/nonFungible.test.ts +++ b/js-packages/tests/eth/nonFungible.test.ts @@ -16,10 +16,11 @@ import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {before, describe} from "@unique/test-utils/util.ts"; import type {IKeyringPair} from '@polkadot/types/types'; import {Contract} from 'ethers'; import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; -import {CREATE_COLLECTION_DATA_DEFAULTS, NormalizedEvent, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import {CREATE_COLLECTION_DATA_DEFAULTS, TokenPermissionField} from '@unique/test-utils/eth/types.js'; import {Buffer} from "node:buffer"; describe('Check ERC721 token URI for NFT', () => { diff --git a/js-packages/tests/eth/payable.test.ts b/js-packages/tests/eth/payable.test.ts index 42af7ffbf6..a4b27b374b 100644 --- a/js-packages/tests/eth/payable.test.ts +++ b/js-packages/tests/eth/payable.test.ts @@ -18,7 +18,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {makeNames} from '@unique/test-utils/util.js'; +import {before, describe, makeNames} from '@unique/test-utils/util.js'; import {Contract, HDNodeWallet} from 'ethers'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/precompile.test.ts b/js-packages/tests/eth/precompile.test.ts index eb9e82dc98..226eec8071 100644 --- a/js-packages/tests/eth/precompile.test.ts +++ b/js-packages/tests/eth/precompile.test.ts @@ -17,6 +17,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {before, describe} from "@unique/test-utils/util.ts"; describe('Precompiles', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/proxy/fungibleProxy.test.ts b/js-packages/tests/eth/proxy/fungibleProxy.test.ts index 21a9612466..8c8519e233 100644 --- a/js-packages/tests/eth/proxy/fungibleProxy.test.ts +++ b/js-packages/tests/eth/proxy/fungibleProxy.test.ts @@ -19,7 +19,7 @@ import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; import {waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {makeNames} from '@unique/test-utils/util.js'; +import {before, describe, makeNames} from '@unique/test-utils/util.js'; import {Contract} from 'ethers'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts b/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts index 6ffa3fa2ea..9d9e3b3da2 100644 --- a/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts +++ b/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts @@ -18,7 +18,7 @@ import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {makeNames} from '@unique/test-utils/util.js'; +import {before, describe, makeNames} from '@unique/test-utils/util.js'; import {Contract} from 'ethers'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/proxyContract.test.ts b/js-packages/tests/eth/proxyContract.test.ts index 788b79051c..fc6cf4e97d 100644 --- a/js-packages/tests/eth/proxyContract.test.ts +++ b/js-packages/tests/eth/proxyContract.test.ts @@ -18,6 +18,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {before, describe} from "@unique/test-utils/util.ts"; import {HDNodeWallet} from 'ethers'; import {Contract} from 'ethers'; diff --git a/js-packages/tests/eth/reFungible.test.ts b/js-packages/tests/eth/reFungible.test.ts index 776908e493..645f8d9f46 100644 --- a/js-packages/tests/eth/reFungible.test.ts +++ b/js-packages/tests/eth/reFungible.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds, hexlifyString} from '@unique/test-utils/eth/util.js'; import type {IKeyringPair} from '@polkadot/types/types'; import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; @@ -31,7 +31,7 @@ describe('Refungible: Plain calls', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [minter] = await helper.arrange.createAccounts([100n], donor); @@ -823,7 +823,7 @@ describe('RFT: Fees', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); }); @@ -870,7 +870,7 @@ describe('Common metadata', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice] = await helper.arrange.createAccounts([1000n], donor); @@ -935,7 +935,7 @@ describe('Negative tests', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [minter, alice] = await helper.arrange.createAccounts([100n, 100n], donor); diff --git a/js-packages/tests/eth/reFungibleToken.test.ts b/js-packages/tests/eth/reFungibleToken.test.ts index e1b43693f4..0748145680 100644 --- a/js-packages/tests/eth/reFungibleToken.test.ts +++ b/js-packages/tests/eth/reFungibleToken.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; import type {IKeyringPair} from '@polkadot/types/types'; @@ -27,7 +27,7 @@ describe('Check ERC721 token URI for ReFungible', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); }); @@ -92,7 +92,7 @@ describe('Refungible: Plain calls', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice] = await helper.arrange.createAccounts([50n], donor); @@ -550,7 +550,7 @@ describe('Refungible: Fees', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice] = await helper.arrange.createAccounts([50n], donor); @@ -615,7 +615,7 @@ describe('Refungible: Substrate calls', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice] = await helper.arrange.createAccounts([50n], donor); @@ -715,7 +715,7 @@ describe('ERC 1633 implementation', () => { before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); }); diff --git a/js-packages/tests/eth/sponsoring.test.ts b/js-packages/tests/eth/sponsoring.test.ts index d9c13c33ba..60f99df936 100644 --- a/js-packages/tests/eth/sponsoring.test.ts +++ b/js-packages/tests/eth/sponsoring.test.ts @@ -16,7 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; -import {usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds} from '@unique/test-utils/util.js'; describe('EVM sponsoring', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/tokenProperties.test.ts b/js-packages/tests/eth/tokenProperties.test.ts index dd88285a04..75f4940c60 100644 --- a/js-packages/tests/eth/tokenProperties.test.ts +++ b/js-packages/tests/eth/tokenProperties.test.ts @@ -18,7 +18,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {Contract, HDNodeWallet} from 'ethers'; import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util.js'; import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; -import {Pallets} from '@unique/test-utils/util.js'; +import {before, beforeEach, describe, Pallets} from '@unique/test-utils/util.js'; import {UniqueNFTCollection, UniqueNFToken, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; import {CreateCollectionData, TokenPermissionField} from '@unique/test-utils/eth/types.js'; import {Buffer} from "node:buffer"; diff --git a/js-packages/tests/eth/tokens/callMethodsERC20.test.ts b/js-packages/tests/eth/tokens/callMethodsERC20.test.ts index 9d2f780eac..1dce345cc0 100644 --- a/js-packages/tests/eth/tokens/callMethodsERC20.test.ts +++ b/js-packages/tests/eth/tokens/callMethodsERC20.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import type {IKeyringPair} from '@polkadot/types/types'; import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; @@ -28,7 +28,7 @@ import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; before(async function() { await usingEthPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, testCase.requiredPallets); + requirePalletsOrSkip(helper, testCase.requiredPallets); donor = await privateKey({url: import.meta.url}); }); }); diff --git a/js-packages/tests/eth/tokens/callMethodsERC721.test.ts b/js-packages/tests/eth/tokens/callMethodsERC721.test.ts index 7ca0cda50a..262d553391 100644 --- a/js-packages/tests/eth/tokens/callMethodsERC721.test.ts +++ b/js-packages/tests/eth/tokens/callMethodsERC721.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {Pallets} from '@unique/test-utils/util.js'; +import {before, describe, Pallets} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import type {IKeyringPair} from '@polkadot/types/types'; import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; diff --git a/js-packages/tests/eth/tokens/minting.test.ts b/js-packages/tests/eth/tokens/minting.test.ts index 8885932195..dae145ea65 100644 --- a/js-packages/tests/eth/tokens/minting.test.ts +++ b/js-packages/tests/eth/tokens/minting.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {Pallets} from '@unique/test-utils/util.js'; +import {before, describe, Pallets} from '@unique/test-utils/util.js'; import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; diff --git a/js-packages/tests/eth/transferValue.test.ts b/js-packages/tests/eth/transferValue.test.ts index 8e5ce8e779..84d1564d91 100644 --- a/js-packages/tests/eth/transferValue.test.ts +++ b/js-packages/tests/eth/transferValue.test.ts @@ -16,6 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {before, describe} from "@unique/test-utils/util.ts"; import {expect} from 'chai'; describe('Send value to contract', () => { diff --git a/js-packages/tests/fungible.test.ts b/js-packages/tests/fungible.test.ts index d07270cdf0..913027ec99 100644 --- a/js-packages/tests/fungible.test.ts +++ b/js-packages/tests/fungible.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect, requirePalletsOrSkip, Pallets} from '@unique/test-utils/util.js'; +import {itSub, usingPlaygrounds, expect, requirePalletsOrSkip, Pallets, describe, before} from '@unique/test-utils/util.js'; const U128_MAX = (1n << 128n) - 1n; @@ -154,7 +154,7 @@ describe('Fungible negative tests', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Fungible]); + requirePalletsOrSkip(helper, [Pallets.Fungible]); donor = await privateKey({url: import.meta.url}); [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor); diff --git a/js-packages/tests/getPropertiesRpc.test.ts b/js-packages/tests/getPropertiesRpc.test.ts index 015c353828..e896be33f8 100644 --- a/js-packages/tests/getPropertiesRpc.test.ts +++ b/js-packages/tests/getPropertiesRpc.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util.js'; import {UniqueHelper, UniqueNFTCollection} from '@unique-nft/playgrounds/unique.js'; const collectionProps = [ diff --git a/js-packages/tests/inflation.seqtest.ts b/js-packages/tests/inflation.seqtest.ts index a385d1b2d6..1fe03961e8 100644 --- a/js-packages/tests/inflation.seqtest.ts +++ b/js-packages/tests/inflation.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {expect, itSub, usingPlaygrounds, describe, before} from '@unique/test-utils/util.js'; const TREASURY = '5EYCAe5ijiYfyeZ2JJCGq56LmPyNRAKzpG4QkoQkkQNB5e6Z'; diff --git a/js-packages/tests/limits.test.ts b/js-packages/tests/limits.test.ts index 7d6126f271..abc58a0266 100644 --- a/js-packages/tests/limits.test.ts +++ b/js-packages/tests/limits.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, describe, before} from '@unique/test-utils/util.js'; describe('Number of tokens per address (NFT)', () => { let alice: IKeyringPair; @@ -82,7 +82,7 @@ describe('Number of tokens per address (ReFungible)', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); const donor = await privateKey({url: import.meta.url}); [alice, bob] = await helper.arrange.createAccounts([10n, 0n], donor); @@ -410,7 +410,7 @@ describe('Collection zero limits (ReFungible)', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); const donor = await privateKey({url: import.meta.url}); [alice, bob, charlie] = await helper.arrange.createAccounts([10n, 10n, 10n], donor); diff --git a/js-packages/tests/maintenance.seqtest.ts b/js-packages/tests/maintenance.seqtest.ts index d987f51fbe..a8cd8fa158 100644 --- a/js-packages/tests/maintenance.seqtest.ts +++ b/js-packages/tests/maintenance.seqtest.ts @@ -16,9 +16,9 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {ApiPromise} from '@polkadot/api'; -import {expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; -import {itEth} from '@unique/test-utils/eth/util.js'; -import {main as correctState} from '../@unique/scripts/correctStateAfterMaintenance.js'; +import {expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, describe, before, afterEach, after} from '@unique/test-utils/util'; +import {itEth} from '@unique/test-utils/eth/util'; +import {main as correctState} from '../@unique/scripts/correctStateAfterMaintenance'; import type {FrameSupportTokensMiscIdAmount} from '@polkadot/types/lookup'; import type {Vec} from '@polkadot/types-codec'; @@ -33,7 +33,7 @@ describe('Integration Test: Maintenance Functionality', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Maintenance]); + requirePalletsOrSkip(helper, [Pallets.Maintenance]); superuser = await privateKey('//Alice'); donor = await privateKey({url: import.meta.url}); [bob] = await helper.arrange.createAccounts([10000n], donor); @@ -227,7 +227,7 @@ describe('Integration Test: Maintenance Functionality', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Maintenance]); + requirePalletsOrSkip(helper, [Pallets.Maintenance]); superuser = await privateKey('//Alice'); }); }); diff --git a/js-packages/tests/nativeFungible.test.ts b/js-packages/tests/nativeFungible.test.ts index ad6aee6f4d..7e8a9bcf05 100644 --- a/js-packages/tests/nativeFungible.test.ts +++ b/js-packages/tests/nativeFungible.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; describe('Native fungible', () => { let root: IKeyringPair; diff --git a/js-packages/tests/nextSponsoring.test.ts b/js-packages/tests/nextSponsoring.test.ts index 3dbefc6444..849d4ad39f 100644 --- a/js-packages/tests/nextSponsoring.test.ts +++ b/js-packages/tests/nextSponsoring.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; const SPONSORING_TIMEOUT = 5; diff --git a/js-packages/tests/package.json b/js-packages/tests/package.json index e87407013f..d407437ac0 100644 --- a/js-packages/tests/package.json +++ b/js-packages/tests/package.json @@ -2,46 +2,32 @@ "author": "", "license": "SEE LICENSE IN ../../LICENSE", "description": "Interfaces for interacting with contracts and contract ABIs", - "engines": { - "node": ">=20" - }, "name": "@unique/tests", "type": "module", "version": "1.0.0", "main": "", - "devDependencies": { - "mocha": "^10.1.0", - "tsx": "4.19.3" - }, "scripts": { - "setup": "yarn tsx ../test-utils/globalSetup.ts", - "setIdentities": "yarn tsx ../scripts/identitySetter.ts", - "checkRelayIdentities": "yarn tsx ../scripts/relayIdentitiesChecker.ts", + "setup": "deno --allow-env --allow-net --allow-read ../test-utils/globalSetup.ts", + "setIdentities": "deno ../scripts/identitySetter.ts", + "checkRelayIdentities": "deno ../scripts/relayIdentitiesChecker.ts", - "_test": "yarn setup && yarn mocha", - "_testParallel": "yarn setup && yarn mocha --parallel --jobs 128", + "_test": "deno task setup && deno test --import-map=../import_map.json --allow-env --allow-net --allow-read", + "_testParallel": "deno task setup && deno test --import-map=../import_map.json --allow-env --allow-net --allow-read --parallel", - "test": "yarn _test './**/*.*test.ts'", - "testParallel": "yarn _testParallel './**/*.test.ts'", - "testSequential": "yarn _test './**/*.seqtest.ts'", + "test": "deno task _test './**/*.*test.ts'", + "testParallel": "deno task _testParallel './**/*.test.ts'", + "testSequential": "deno task _test './**/*.seqtest.ts'", - "testSubParallel": "yarn _testParallel './*.test.ts' './sub/**/*.test.ts'", - "testSubSequential": "yarn _test './*.seqtest.ts' './sub/**/*.seqtest.ts'", + "testSubParallel": "deno task _testParallel './*.test.ts' './sub/**/*.test.ts'", + "testSubSequential": "deno task _test './*.seqtest.ts' './sub/**/*.seqtest.ts'", - "testEthParallel": "yarn _testParallel './eth/**/*.test.ts'", - "testEthSequential": "yarn _test './eth/**/*.seqtest.ts'", + "testEthParallel": "deno task _testParallel './eth/**/*.test.ts'", + "testEthSequential": "deno task _test './eth/**/*.seqtest.ts'", - "testGovernance": "RUN_GOV_TESTS=1 && yarn _test './**/sub/governance/*.*test.ts'", - "testCollators": "RUN_COLLATOR_TESTS=1 yarn _test './sub/collator-selection/*.seqtest.ts'", - "testXcmUnique": "RUN_XCM_TESTS=1 yarn _test './**/xcm/unique.test.ts'", - "testXcmQuartz": "RUN_XCM_TESTS=1 yarn _test './**/xcm/quartz.test.ts'", - "load": "yarn _test './**/*.load.ts'" - }, - "mocha": { - "timeout": 9999999, - "retries": 3, - "node-option": [ - "import=tsx" - ] + "testGovernance": "RUN_GOV_TESTS=1 && deno task _test './**/sub/governance/*.*test.ts'", + "testCollators": "RUN_COLLATOR_TESTS=1 deno task _test './sub/collator-selection/*.seqtest.ts'", + "testXcmUnique": "RUN_XCM_TESTS=1 deno task _test './**/xcm/unique.test.ts'", + "testXcmQuartz": "RUN_XCM_TESTS=1 deno task _test './**/xcm/quartz.test.ts'", + "load": "deno task _test './**/*.load.ts'" } } diff --git a/js-packages/tests/pallet-presence.test.ts b/js-packages/tests/pallet-presence.test.ts index 62e84e06ce..b3bcc7e74f 100644 --- a/js-packages/tests/pallet-presence.test.ts +++ b/js-packages/tests/pallet-presence.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; // Pallets that must always be present const requiredPallets = [ diff --git a/js-packages/tests/performance.seq.test.ts b/js-packages/tests/performance.seq.test.ts index d4e7b3fb99..5eac001a97 100644 --- a/js-packages/tests/performance.seq.test.ts +++ b/js-packages/tests/performance.seq.test.ts @@ -16,7 +16,7 @@ import {ApiPromise} from '@polkadot/api'; import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; import type {ICrossAccountId, IProperty} from '@unique-nft/playgrounds/types.js'; import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; diff --git a/js-packages/tests/refungible.test.ts b/js-packages/tests/refungible.test.ts index 2b2def90b8..585391d2e3 100644 --- a/js-packages/tests/refungible.test.ts +++ b/js-packages/tests/refungible.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; const MAX_REFUNGIBLE_PIECES = 1_000_000_000_000_000_000_000n; @@ -26,7 +26,7 @@ describe('integration test: Refungible functionality:', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice, bob] = await helper.arrange.createAccounts([100n, 10n], donor); diff --git a/js-packages/tests/removeCollectionAdmin.test.ts b/js-packages/tests/removeCollectionAdmin.test.ts index 122d4faf2e..f2756f42f2 100644 --- a/js-packages/tests/removeCollectionAdmin.test.ts +++ b/js-packages/tests/removeCollectionAdmin.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; describe('Integration Test removeCollectionAdmin(collection_id, account_id):', () => { diff --git a/js-packages/tests/removeCollectionSponsor.test.ts b/js-packages/tests/removeCollectionSponsor.test.ts index 7593960285..aa881d3be5 100644 --- a/js-packages/tests/removeCollectionSponsor.test.ts +++ b/js-packages/tests/removeCollectionSponsor.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; describe('integration test: ext. removeCollectionSponsor():', () => { diff --git a/js-packages/tests/rpc.test.ts b/js-packages/tests/rpc.test.ts index 13eb787b02..036e7b4b49 100644 --- a/js-packages/tests/rpc.test.ts +++ b/js-packages/tests/rpc.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; import {ICrossAccountId} from '@unique-nft/playgrounds/types.js'; describe('integration test: RPC methods', () => { diff --git a/js-packages/tests/setCollectionLimits.test.ts b/js-packages/tests/setCollectionLimits.test.ts index e392b5c571..b22fc6d91f 100644 --- a/js-packages/tests/setCollectionLimits.test.ts +++ b/js-packages/tests/setCollectionLimits.test.ts @@ -16,7 +16,7 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; const accountTokenOwnershipLimit = 0; diff --git a/js-packages/tests/setCollectionSponsor.test.ts b/js-packages/tests/setCollectionSponsor.test.ts index 630e3eccd2..16ffcecf9c 100644 --- a/js-packages/tests/setCollectionSponsor.test.ts +++ b/js-packages/tests/setCollectionSponsor.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect, Pallets} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect, Pallets} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; describe('integration test: ext. setCollectionSponsor():', () => { diff --git a/js-packages/tests/setPermissions.test.ts b/js-packages/tests/setPermissions.test.ts index c972abe2db..d1123bbf53 100644 --- a/js-packages/tests/setPermissions.test.ts +++ b/js-packages/tests/setPermissions.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; describe('Integration Test: Set Permissions', () => { diff --git a/js-packages/tests/sub/appPromotion/appPromotion.seqtest.ts b/js-packages/tests/sub/appPromotion/appPromotion.seqtest.ts index 76b7fab774..c2f6b0bbca 100644 --- a/js-packages/tests/sub/appPromotion/appPromotion.seqtest.ts +++ b/js-packages/tests/sub/appPromotion/appPromotion.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util.js'; import {expect} from '@unique/test-utils/eth/util.js'; let superuser: IKeyringPair; @@ -25,7 +25,7 @@ let palletAdmin: IKeyringPair; describe('App promotion', () => { before(async function () { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.AppPromotion]); + requirePalletsOrSkip(helper, [Pallets.AppPromotion]); superuser = await privateKey('//Alice'); donor = await privateKey({url: import.meta.url}); palletAdmin = await privateKey('//PromotionAdmin'); diff --git a/js-packages/tests/sub/appPromotion/appPromotion.test.ts b/js-packages/tests/sub/appPromotion/appPromotion.test.ts index 4b8d6816ce..ddf678bd9a 100644 --- a/js-packages/tests/sub/appPromotion/appPromotion.test.ts +++ b/js-packages/tests/sub/appPromotion/appPromotion.test.ts @@ -16,9 +16,10 @@ import type {IKeyringPair} from '@polkadot/types/types'; import { - itSub, usingPlaygrounds, Pallets, requirePalletsOrSkip, LOCKING_PERIOD, + before, describe, itSub, usingPlaygrounds, Pallets, requirePalletsOrSkip, LOCKING_PERIOD, CALCULATION_PERIOD, INTERVAL_INCOME, + afterEach, } from '@unique/test-utils/util.js'; import {DevUniqueHelper} from '@unique/test-utils'; import {itEth, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; @@ -49,7 +50,7 @@ async function getAccounts(accountsNumber: number, balance?: bigint) { describe('App promotion', () => { before(async function () { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.AppPromotion]); + requirePalletsOrSkip(helper, [Pallets.AppPromotion]); donor = await privateKey({url: import.meta.url}); palletAddress = helper.arrange.calculatePalletAddress('appstake'); palletAdmin = await privateKey('//PromotionAdmin'); diff --git a/js-packages/tests/sub/check-event/burnItemEvent.test.ts b/js-packages/tests/sub/check-event/burnItemEvent.test.ts index 3f504e669a..0e4ca6fd4c 100644 --- a/js-packages/tests/sub/check-event/burnItemEvent.test.ts +++ b/js-packages/tests/sub/check-event/burnItemEvent.test.ts @@ -16,7 +16,7 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; import type {IEvent} from '@unique-nft/playgrounds/types.js'; diff --git a/js-packages/tests/sub/check-event/createCollectionEvent.test.ts b/js-packages/tests/sub/check-event/createCollectionEvent.test.ts index aec5454221..7a4e337fae 100644 --- a/js-packages/tests/sub/check-event/createCollectionEvent.test.ts +++ b/js-packages/tests/sub/check-event/createCollectionEvent.test.ts @@ -16,7 +16,7 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; import type {IEvent} from '@unique-nft/playgrounds/types.js'; describe('Create collection event ', () => { diff --git a/js-packages/tests/sub/check-event/createItemEvent.test.ts b/js-packages/tests/sub/check-event/createItemEvent.test.ts index 6bfa4de221..7b37c01286 100644 --- a/js-packages/tests/sub/check-event/createItemEvent.test.ts +++ b/js-packages/tests/sub/check-event/createItemEvent.test.ts @@ -16,7 +16,7 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; import type {IEvent} from '@unique-nft/playgrounds/types.js'; describe('Create Item event ', () => { diff --git a/js-packages/tests/sub/check-event/createMultipleItemsEvent.test.ts b/js-packages/tests/sub/check-event/createMultipleItemsEvent.test.ts index 318eb59e05..7e6f596a06 100644 --- a/js-packages/tests/sub/check-event/createMultipleItemsEvent.test.ts +++ b/js-packages/tests/sub/check-event/createMultipleItemsEvent.test.ts @@ -16,7 +16,7 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; import type {IEvent} from '@unique-nft/playgrounds/types.js'; describe('Create Multiple Items Event event ', () => { diff --git a/js-packages/tests/sub/check-event/destroyCollectionEvent.test.ts b/js-packages/tests/sub/check-event/destroyCollectionEvent.test.ts index bb87d273e6..c10f64874f 100644 --- a/js-packages/tests/sub/check-event/destroyCollectionEvent.test.ts +++ b/js-packages/tests/sub/check-event/destroyCollectionEvent.test.ts @@ -16,7 +16,7 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; import type {IEvent} from '@unique-nft/playgrounds/types.js'; describe('Destroy collection event ', () => { diff --git a/js-packages/tests/sub/check-event/transferEvent.test.ts b/js-packages/tests/sub/check-event/transferEvent.test.ts index 3e9c805907..2016194a52 100644 --- a/js-packages/tests/sub/check-event/transferEvent.test.ts +++ b/js-packages/tests/sub/check-event/transferEvent.test.ts @@ -16,7 +16,7 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; import type {IEvent} from '@unique-nft/playgrounds/types.js'; describe('Transfer event ', () => { diff --git a/js-packages/tests/sub/check-event/transferFromEvent.test.ts b/js-packages/tests/sub/check-event/transferFromEvent.test.ts index 1195efc037..59c281e22c 100644 --- a/js-packages/tests/sub/check-event/transferFromEvent.test.ts +++ b/js-packages/tests/sub/check-event/transferFromEvent.test.ts @@ -16,7 +16,7 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; import type {IEvent} from '@unique-nft/playgrounds/types.js'; describe('Transfer event ', () => { diff --git a/js-packages/tests/sub/collator-selection/collatorSelection.seqtest.ts b/js-packages/tests/sub/collator-selection/collatorSelection.seqtest.ts index 4e49e95add..3b6ef4d720 100644 --- a/js-packages/tests/sub/collator-selection/collatorSelection.seqtest.ts +++ b/js-packages/tests/sub/collator-selection/collatorSelection.seqtest.ts @@ -15,7 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util.js'; +import process from "node:process"; async function nodeAddress(name: string) { // eslint-disable-next-line require-await @@ -72,13 +73,14 @@ describe('Integration Test: Collator Selection', () => { let licenseBond = 0n; before(async function() { - if(!process.env.RUN_COLLATOR_TESTS) this.skip(); + if(!process.env.RUN_COLLATOR_TESTS) + this.skip("RUN_COLLATOR_TESTS not set"); // Check env vars await getInitialInvulnerables(); await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.CollatorSelection]); + requirePalletsOrSkip(helper, [Pallets.CollatorSelection]); superuser = await privateKey('//Alice'); previousLicenseBond = await helper.collatorSelection.getLicenseBond(); @@ -102,7 +104,8 @@ describe('Integration Test: Collator Selection', () => { await usingPlaygrounds(async (helper) => { // todo:collator see again if blocks start to be finalized in dev mode // Skip the collator block production in dev mode, since the blocks are sealed automatically. - if(await helper.arrange.isDevNode()) this.skip(); + if(await helper.arrange.isDevNode()) + this.skip("Disabled for dev node"); [alphaNode, betaNode, gammaNode, deltaNode] = await getInitialInvulnerables(); diff --git a/js-packages/tests/sub/collator-selection/identity.seqtest.ts b/js-packages/tests/sub/collator-selection/identity.seqtest.ts index 686103ae88..7fae6f809b 100644 --- a/js-packages/tests/sub/collator-selection/identity.seqtest.ts +++ b/js-packages/tests/sub/collator-selection/identity.seqtest.ts @@ -15,8 +15,9 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util.js'; import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import process from "node:process"; async function getIdentities(helper: UniqueHelper) { const identities: [string, any][] = []; @@ -41,10 +42,11 @@ describe('Integration Test: Identities Manipulation', () => { let superuser: IKeyringPair; before(async function() { - if(!process.env.RUN_COLLATOR_TESTS) this.skip(); + if(!process.env.RUN_COLLATOR_TESTS) + this.skip("RUN_COLLATOR_TESTS not set"); await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Identity]); + requirePalletsOrSkip(helper, [Pallets.Identity]); superuser = await privateKey('//Alice'); }); }); diff --git a/js-packages/tests/sub/governance/council.test.ts b/js-packages/tests/sub/governance/council.test.ts index d963370276..be448d4613 100644 --- a/js-packages/tests/sub/governance/council.test.ts +++ b/js-packages/tests/sub/governance/council.test.ts @@ -1,11 +1,10 @@ - import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, beforeEach, afterEach} from '@unique/test-utils/util.js'; import {Event} from '@unique/test-utils'; import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, councilMotionDuration, democracyFastTrackVotingPeriod, fellowshipRankLimit, clearCouncil, clearTechComm, initTechComm, clearFellowship, dummyProposal, dummyProposalCall, initFellowship, defaultEnactmentMoment, fellowshipPropositionOrigin, initFinCouncil} from './util.js'; import type {ICounselors} from './util.js'; -describeGov('Governance: Council tests', () => { +describe.ifRunGov('Governance: Council tests', () => { let donor: IKeyringPair; let counselors: ICounselors; let sudoer: IKeyringPair; @@ -14,7 +13,7 @@ describeGov('Governance: Council tests', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Council]); + requirePalletsOrSkip(helper, [Pallets.Council]); donor = await privateKey({url: import.meta.url}); sudoer = await privateKey('//Alice'); diff --git a/js-packages/tests/sub/governance/democracy.test.ts b/js-packages/tests/sub/governance/democracy.test.ts index 37f91a6be9..91517dc491 100644 --- a/js-packages/tests/sub/governance/democracy.test.ts +++ b/js-packages/tests/sub/governance/democracy.test.ts @@ -1,16 +1,16 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, before, describe} from '@unique/test-utils/util.js'; import {clearFellowship, democracyLaunchPeriod, democracyTrackMinRank, dummyProposalCall, fellowshipConfirmPeriod, fellowshipMinEnactPeriod, fellowshipPreparePeriod, fellowshipPropositionOrigin, initFellowship, voteUnanimouslyInFellowship} from './util.js'; import {Event} from '@unique/test-utils'; -describeGov('Governance: Democracy tests', () => { +describe.ifRunGov('Governance: Democracy tests', () => { let regularUser: IKeyringPair; let donor: IKeyringPair; let sudoer: IKeyringPair; before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Democracy]); + requirePalletsOrSkip(helper, [Pallets.Democracy]); donor = await privateKey({url: import.meta.url}); sudoer = await privateKey('//Alice'); diff --git a/js-packages/tests/sub/governance/electsudo.test.ts b/js-packages/tests/sub/governance/electsudo.test.ts index dd5566c941..7520e8b82f 100644 --- a/js-packages/tests/sub/governance/electsudo.test.ts +++ b/js-packages/tests/sub/governance/electsudo.test.ts @@ -1,10 +1,10 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after, afterEach} from '@unique/test-utils/util.js'; import {Event} from '@unique/test-utils'; import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, clearCouncil, clearTechComm, initTechComm, ITechComms} from './util.js'; import type {ICounselors} from './util.js'; -describeGov('Governance: Elect Sudo', () => { +describe.ifRunGov('Governance: Elect Sudo', () => { let sudoer: IKeyringPair; let donor: IKeyringPair; let counselors: ICounselors; @@ -14,7 +14,7 @@ describeGov('Governance: Elect Sudo', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Council]); + requirePalletsOrSkip(helper, [Pallets.Council]); sudoer = await privateKey('//Alice'); donor = await privateKey({url: import.meta.url}); diff --git a/js-packages/tests/sub/governance/fellowship.test.ts b/js-packages/tests/sub/governance/fellowship.test.ts index f44126b528..4f0ee70ae6 100644 --- a/js-packages/tests/sub/governance/fellowship.test.ts +++ b/js-packages/tests/sub/governance/fellowship.test.ts @@ -1,10 +1,10 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util.js'; import {DevUniqueHelper, Event} from '@unique/test-utils'; import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyFastTrackVotingPeriod, fellowshipRankLimit, clearCouncil, clearTechComm, clearFellowship, defaultEnactmentMoment, dummyProposal, dummyProposalCall, fellowshipPropositionOrigin, initFellowship, initTechComm, voteUnanimouslyInFellowship, democracyTrackMinRank, fellowshipPreparePeriod, fellowshipConfirmPeriod, fellowshipMinEnactPeriod, democracyTrackId, hardResetFellowshipReferenda, hardResetDemocracy, hardResetGovScheduler} from './util.js'; import type {ICounselors, ITechComms} from './util.js'; -describeGov('Governance: Fellowship tests', () => { +describe.ifRunGov('Governance: Fellowship tests', () => { let members: IKeyringPair[][]; let rank1Proposer: IKeyringPair; @@ -50,7 +50,7 @@ describeGov('Governance: Fellowship tests', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Democracy, Pallets.Fellowship, Pallets.TechnicalCommittee, Pallets.Council]); + requirePalletsOrSkip(helper, [Pallets.Democracy, Pallets.Fellowship, Pallets.TechnicalCommittee, Pallets.Council]); sudoer = await privateKey('//Alice'); donor = await privateKey({url: import.meta.url}); diff --git a/js-packages/tests/sub/governance/financialCouncil.test.ts b/js-packages/tests/sub/governance/financialCouncil.test.ts index 3a9a3f1e09..f1a40514cb 100644 --- a/js-packages/tests/sub/governance/financialCouncil.test.ts +++ b/js-packages/tests/sub/governance/financialCouncil.test.ts @@ -1,10 +1,10 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, describeGov} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, describe, before, beforeEach, afterEach} from '@unique/test-utils/util.js'; import {Event} from '@unique/test-utils'; import {democracyFastTrackVotingPeriod, IFinCounselors, clearTechComm, dummyProposalCall, initFinCouncil, clearFinCouncil, democracyLaunchPeriod, initFellowship, dummyProposal, fellowshipPropositionOrigin, defaultEnactmentMoment, initCouncil, clearCouncil, clearFellowship} from './util.js'; -describeGov('Governance: Financial Council tests', () => { +describe.ifRunGov('Governance: Financial Council tests', () => { let donor: IKeyringPair; let finCounselors: IFinCounselors; let sudoer: IKeyringPair; diff --git a/js-packages/tests/sub/governance/init.test.ts b/js-packages/tests/sub/governance/init.test.ts index 9b4c645f22..5a04c40944 100644 --- a/js-packages/tests/sub/governance/init.test.ts +++ b/js-packages/tests/sub/governance/init.test.ts @@ -1,10 +1,10 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util.js'; import {Event} from '@unique/test-utils'; import {democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, clearCouncil, clearTechComm, clearFellowship} from './util.js'; import type {ICounselors, ITechComms} from './util.js'; -describeGov('Governance: Initialization', () => { +describe.ifRunGov('Governance: Initialization', () => { let donor: IKeyringPair; let sudoer: IKeyringPair; let counselors: ICounselors; @@ -16,7 +16,7 @@ describeGov('Governance: Initialization', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Democracy, Pallets.Council, Pallets.TechnicalCommittee]); + requirePalletsOrSkip(helper, [Pallets.Democracy, Pallets.Council, Pallets.TechnicalCommittee]); const councilMembers = await helper.council.membership.getMembers(); const techcommMembers = await helper.technicalCommittee.membership.getMembers(); diff --git a/js-packages/tests/sub/governance/technicalCommittee.test.ts b/js-packages/tests/sub/governance/technicalCommittee.test.ts index 9d7231f6d2..62a180b2f9 100644 --- a/js-packages/tests/sub/governance/technicalCommittee.test.ts +++ b/js-packages/tests/sub/governance/technicalCommittee.test.ts @@ -1,10 +1,10 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util.js'; import {Event} from '@unique/test-utils'; import {initCouncil, democracyLaunchPeriod, democracyFastTrackVotingPeriod, clearCouncil, clearTechComm, clearFellowship, defaultEnactmentMoment, dummyProposal, dummyProposalCall, fellowshipPropositionOrigin, initFellowship, initTechComm, hardResetFellowshipReferenda, hardResetDemocracy, hardResetGovScheduler} from './util.js'; import type {ITechComms} from './util.js'; -describeGov('Governance: Technical Committee tests', () => { +describe.ifRunGov('Governance: Technical Committee tests', () => { let sudoer: IKeyringPair; let techcomms: ITechComms; let donor: IKeyringPair; @@ -15,7 +15,7 @@ describeGov('Governance: Technical Committee tests', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.TechnicalCommittee]); + requirePalletsOrSkip(helper, [Pallets.TechnicalCommittee]); sudoer = await privateKey('//Alice'); donor = await privateKey({url: import.meta.url}); diff --git a/js-packages/tests/sub/nesting/admin.test.ts b/js-packages/tests/sub/nesting/admin.test.ts index 8ac9be23c6..f789ef1123 100644 --- a/js-packages/tests/sub/nesting/admin.test.ts +++ b/js-packages/tests/sub/nesting/admin.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; describe('Nesting by collection admin', () => { diff --git a/js-packages/tests/sub/nesting/collectionProperties.seqtest.ts b/js-packages/tests/sub/nesting/collectionProperties.seqtest.ts index ec373c99f2..1573ace036 100644 --- a/js-packages/tests/sub/nesting/collectionProperties.seqtest.ts +++ b/js-packages/tests/sub/nesting/collectionProperties.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; describe('Integration Test: Collection Properties with sudo', () => { let superuser: IKeyringPair; @@ -37,7 +37,7 @@ describe('Integration Test: Collection Properties with sudo', () => { before(async function() { // eslint-disable-next-line require-await await usingPlaygrounds(async helper => { - requirePalletsOrSkip(this, helper, testSuite.requiredPallets); + requirePalletsOrSkip(helper, testSuite.requiredPallets); }); }); diff --git a/js-packages/tests/sub/nesting/collectionProperties.test.ts b/js-packages/tests/sub/nesting/collectionProperties.test.ts index c15f593f9d..09adb80046 100644 --- a/js-packages/tests/sub/nesting/collectionProperties.test.ts +++ b/js-packages/tests/sub/nesting/collectionProperties.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; describe('Integration Test: Collection Properties', () => { let alice: IKeyringPair; @@ -41,7 +41,7 @@ describe('Integration Test: Collection Properties', () => { before(async function() { // eslint-disable-next-line require-await await usingPlaygrounds(async helper => { - requirePalletsOrSkip(this, helper, testSuite.requiredPallets); + requirePalletsOrSkip(helper, testSuite.requiredPallets); }); }); @@ -252,7 +252,7 @@ describe('Negative Integration Test: Collection Properties', () => { before(async function() { // eslint-disable-next-line require-await await usingPlaygrounds(async helper => { - requirePalletsOrSkip(this, helper, testSuite.requiredPallets); + requirePalletsOrSkip(helper, testSuite.requiredPallets); }); }); diff --git a/js-packages/tests/sub/nesting/common.test.ts b/js-packages/tests/sub/nesting/common.test.ts index aaf8435af9..e975850a69 100644 --- a/js-packages/tests/sub/nesting/common.test.ts +++ b/js-packages/tests/sub/nesting/common.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; import {CrossAccountId, UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; let alice: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/e2e.test.ts b/js-packages/tests/sub/nesting/e2e.test.ts index dbc0baea51..a88c25a4db 100644 --- a/js-packages/tests/sub/nesting/e2e.test.ts +++ b/js-packages/tests/sub/nesting/e2e.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; describe('Composite nesting tests', () => { diff --git a/js-packages/tests/sub/nesting/graphs.test.ts b/js-packages/tests/sub/nesting/graphs.test.ts index d1a0c551cd..e6e371ea8a 100644 --- a/js-packages/tests/sub/nesting/graphs.test.ts +++ b/js-packages/tests/sub/nesting/graphs.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; import {UniqueHelper, UniqueNFTCollection, UniqueNFToken} from '@unique-nft/playgrounds/unique.js'; /** diff --git a/js-packages/tests/sub/nesting/nesting.negative.test.ts b/js-packages/tests/sub/nesting/nesting.negative.test.ts index ec2d492c90..fa50ba5247 100644 --- a/js-packages/tests/sub/nesting/nesting.negative.test.ts +++ b/js-packages/tests/sub/nesting/nesting.negative.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; import {UniqueFTCollection, UniqueNFTCollection, UniqueNFToken, UniqueRFTCollection, UniqueRFToken} from '@unique-nft/playgrounds/unique.js'; import {itEth} from '@unique/test-utils/eth/util.js'; diff --git a/js-packages/tests/sub/nesting/propertyPermissions.test.ts b/js-packages/tests/sub/nesting/propertyPermissions.test.ts index aeeaf9ba53..78a2c9be65 100644 --- a/js-packages/tests/sub/nesting/propertyPermissions.test.ts +++ b/js-packages/tests/sub/nesting/propertyPermissions.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; import {UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; describe('Integration Test: Access Rights to Token Properties', () => { diff --git a/js-packages/tests/sub/nesting/refungible.test.ts b/js-packages/tests/sub/nesting/refungible.test.ts index ae45a213ed..66efbf0a90 100644 --- a/js-packages/tests/sub/nesting/refungible.test.ts +++ b/js-packages/tests/sub/nesting/refungible.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; describe('ReFungible-specific nesting tests', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/tokenProperties.seqtest.ts b/js-packages/tests/sub/nesting/tokenProperties.seqtest.ts index 7513d1dc2f..76937ea146 100644 --- a/js-packages/tests/sub/nesting/tokenProperties.seqtest.ts +++ b/js-packages/tests/sub/nesting/tokenProperties.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; describe('Integration Test: Token Properties with sudo', () => { let superuser: IKeyringPair; @@ -36,7 +36,7 @@ describe('Integration Test: Token Properties with sudo', () => { before(async function() { // eslint-disable-next-line require-await await usingPlaygrounds(async helper => { - requirePalletsOrSkip(this, helper, testSuite.requiredPallets); + requirePalletsOrSkip(helper, testSuite.requiredPallets); }); }); diff --git a/js-packages/tests/sub/nesting/tokenProperties.test.ts b/js-packages/tests/sub/nesting/tokenProperties.test.ts index 620847bb86..ecd8ddbeaf 100644 --- a/js-packages/tests/sub/nesting/tokenProperties.test.ts +++ b/js-packages/tests/sub/nesting/tokenProperties.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect, sizeOfProperty} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect, sizeOfProperty} from '@unique/test-utils/util.js'; import {UniqueHelper, UniqueNFToken, UniqueRFToken} from '@unique-nft/playgrounds/unique.js'; describe('Integration Test: Token Properties', () => { @@ -744,7 +744,7 @@ describe('ReFungible token properties permissions tests', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); const donor = await privateKey({url: import.meta.url}); [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor); diff --git a/js-packages/tests/sub/nesting/unnest.test.ts b/js-packages/tests/sub/nesting/unnest.test.ts index 88fc733241..5453208bcb 100644 --- a/js-packages/tests/sub/nesting/unnest.test.ts +++ b/js-packages/tests/sub/nesting/unnest.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {expect, Pallets, usingPlaygrounds, describe, before, itSub} from '@unique/test-utils/util.js'; import {CrossAccountId, UniqueFTCollection, UniqueNFToken, UniqueRFToken} from '@unique-nft/playgrounds/unique.js'; describe('Integration Test: Unnesting', () => { @@ -23,7 +23,7 @@ describe('Integration Test: Unnesting', () => { let bob: IKeyringPair; let charlie: IKeyringPair; - before(async () => { + before(async function() { await usingPlaygrounds(async (helper, privateKey) => { const donor = await privateKey({url: import.meta.url}); [alice, bob, charlie] = await helper.arrange.createAccounts([200n, 50n, 50n], donor); diff --git a/js-packages/tests/sub/nesting/unnesting.negative.test.ts b/js-packages/tests/sub/nesting/unnesting.negative.test.ts index 32d16bc52e..fb54abaf63 100644 --- a/js-packages/tests/sub/nesting/unnesting.negative.test.ts +++ b/js-packages/tests/sub/nesting/unnesting.negative.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; describe('Negative Test: Unnesting', () => { diff --git a/js-packages/tests/sub/refungible/burn.test.ts b/js-packages/tests/sub/refungible/burn.test.ts index 4cee1cb9a6..e6e463f713 100644 --- a/js-packages/tests/sub/refungible/burn.test.ts +++ b/js-packages/tests/sub/refungible/burn.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; describe('Refungible: burn', () => { let donor: IKeyringPair; @@ -24,7 +24,7 @@ describe('Refungible: burn', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice, bob] = await helper.arrange.createAccounts([100n, 10n], donor); @@ -94,7 +94,7 @@ describe('Refungible: burn negative tests', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice, bob] = await helper.arrange.createAccounts([100n, 100n], donor); }); diff --git a/js-packages/tests/sub/refungible/nesting.test.ts b/js-packages/tests/sub/refungible/nesting.test.ts index 7c1644d9cb..acc5fec513 100644 --- a/js-packages/tests/sub/refungible/nesting.test.ts +++ b/js-packages/tests/sub/refungible/nesting.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; describe('Refungible nesting', () => { let alice: IKeyringPair; @@ -23,7 +23,7 @@ describe('Refungible nesting', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); const donor = await privateKey({url: import.meta.url}); [alice, charlie] = await helper.arrange.createAccounts([50n, 10n], donor); }); @@ -110,7 +110,7 @@ describe('Refungible nesting negative tests', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); const donor = await privateKey({url: import.meta.url}); [alice, bob] = await helper.arrange.createAccounts([100n, 50n], donor); }); diff --git a/js-packages/tests/sub/refungible/repartition.test.ts b/js-packages/tests/sub/refungible/repartition.test.ts index 648761f8ba..5a50a302a2 100644 --- a/js-packages/tests/sub/refungible/repartition.test.ts +++ b/js-packages/tests/sub/refungible/repartition.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; describe('integration test: Refungible functionality:', () => { let donor: IKeyringPair; @@ -24,7 +24,7 @@ describe('integration test: Refungible functionality:', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice, bob] = await helper.arrange.createAccounts([100n, 10n], donor); diff --git a/js-packages/tests/sub/refungible/transfer.test.ts b/js-packages/tests/sub/refungible/transfer.test.ts index 6ab8d4b1fc..6f6d575ba5 100644 --- a/js-packages/tests/sub/refungible/transfer.test.ts +++ b/js-packages/tests/sub/refungible/transfer.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; describe('Refungible transfer tests', () => { let donor: IKeyringPair; @@ -25,7 +25,7 @@ describe('Refungible transfer tests', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.ReFungible]); + requirePalletsOrSkip(helper, [Pallets.ReFungible]); donor = await privateKey({url: import.meta.url}); [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor); diff --git a/js-packages/tests/transfer.test.ts b/js-packages/tests/transfer.test.ts index 15f8f4d403..c22a264f8f 100644 --- a/js-packages/tests/transfer.test.ts +++ b/js-packages/tests/transfer.test.ts @@ -16,7 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; describe('Integration Test Transfer(recipient, collection_id, item_id, value)', () => { diff --git a/js-packages/tests/transferFrom.test.ts b/js-packages/tests/transferFrom.test.ts index 277693e7a5..f725d99970 100644 --- a/js-packages/tests/transferFrom.test.ts +++ b/js-packages/tests/transferFrom.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; describe('Integration Test transferFrom(from, recipient, collection_id, item_id, value):', () => { diff --git a/js-packages/tests/tx-version-presence.test.ts b/js-packages/tests/tx-version-presence.test.ts index 55e33100ef..9a3b8f0dbc 100644 --- a/js-packages/tests/tx-version-presence.test.ts +++ b/js-packages/tests/tx-version-presence.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import {Metadata} from '@polkadot/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.ts'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.ts'; let metadata: Metadata; @@ -27,6 +27,6 @@ describe('TxVersion is present', () => { }); itSub('Signed extension CheckTxVersion is present', () => { - expect(metadata.asLatest.extrinsic.transactionExtensions.map(se => se.identifier.toString())).to.include('CheckTxVersion'); + expect(metadata.asLatest.extrinsic.signedExtensions.map(se => se.identifier.toString())).to.include('CheckTxVersion'); }); }); diff --git a/js-packages/tests/vesting.test.ts b/js-packages/tests/vesting.test.ts index 1ae35b3929..1587a57577 100644 --- a/js-packages/tests/vesting.test.ts +++ b/js-packages/tests/vesting.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; describe('Vesting', () => { let donor: IKeyringPair; @@ -29,10 +29,6 @@ describe('Vesting', () => { }); itSub('can perform vestedTransfer and claim tokens', async ({helper}) => { - // Skip this test when running with parallel testing to avoid `Do not know how to serialize a BigInt` error - // that happens outside test when comparing bigints in `expect` fails. - if(process.env.MOCHA_WORKER_ID != undefined) - return; // arrange const [sender, recepient] = await helper.arrange.createAccounts([1000n, 1n], donor); const currentRelayBlock = await helper.chain.getRelayBlockNumber(); diff --git a/js-packages/tests/xcm/quartz.test.ts b/js-packages/tests/xcm/quartz.test.ts index 3a4bdfbf1f..7eec223db4 100644 --- a/js-packages/tests/xcm/quartz.test.ts +++ b/js-packages/tests/xcm/quartz.test.ts @@ -15,13 +15,13 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, describeXCM, usingPlaygrounds, usingKaruraPlaygrounds, usingShidenPlaygrounds, usingMoonriverPlaygrounds, usingRelayPlaygrounds, usingKusamaAssetHubPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, usingKaruraPlaygrounds, usingShidenPlaygrounds, usingMoonriverPlaygrounds, usingRelayPlaygrounds, usingKusamaAssetHubPlaygrounds} from '@unique/test-utils/util.js'; import {QUARTZ_CHAIN, SAFE_XCM_VERSION, XcmTestHelper, SENDER_BUDGET, SENDTO_AMOUNT, SENDBACK_AMOUNT, SHIDEN_DECIMALS, UNQ_DECIMALS, POLKADOT_ASSETHUB_CHAIN, USDT_ASSET_ID, USDT_DECIMALS, ASSET_HUB_PALLET_ASSETS} from './xcm.types.js'; import {hexToString} from '@polkadot/util'; const testHelper = new XcmTestHelper; -describeXCM('[XCM] Integration test: Exchanging tokens with Relay', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with Relay', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; let dotDerivativeCollectionId: number; @@ -93,7 +93,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Relay', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging tokens with AssetHub', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with AssetHub', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; let usdtDerivativeCollectionId: number; @@ -234,7 +234,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with AssetHub', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging tokens with Karura', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with Karura', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; @@ -319,7 +319,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Karura', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging QTZ with Moonriver', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging QTZ with Moonriver', () => { let alice: IKeyringPair; let randomAccountQuartz: IKeyringPair; @@ -385,7 +385,7 @@ describeXCM('[XCM] Integration test: Exchanging QTZ with Moonriver', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging tokens with Shiden', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with Shiden', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; @@ -486,7 +486,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Shiden', () => { // These tests are relevant only when // the the corresponding foreign assets are not registered -describeXCM('[XCM] Integration test: Quartz rejects non-native tokens', () => { +describe.ifRunXcm('[XCM] Integration test: Quartz rejects non-native tokens', () => { let alice: IKeyringPair; before(async () => { diff --git a/js-packages/tests/xcm/unique.test.ts b/js-packages/tests/xcm/unique.test.ts index 642f884224..160ea2065e 100644 --- a/js-packages/tests/xcm/unique.test.ts +++ b/js-packages/tests/xcm/unique.test.ts @@ -16,13 +16,13 @@ import type {IKeyringPair} from '@polkadot/types/types'; import config from '../config.ts'; -import {itSub, describeXCM, usingPlaygrounds, usingAcalaPlaygrounds, usingMoonbeamPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingRelayPlaygrounds, usingPolkadotAssetHubPlaygrounds} from '@unique/test-utils/util.ts'; +import {itSub, describe, usingPlaygrounds, usingAcalaPlaygrounds, usingMoonbeamPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingRelayPlaygrounds, usingPolkadotAssetHubPlaygrounds, before} from '@unique/test-utils/util.ts'; import {hexToString} from '@polkadot/util'; import {ASSET_HUB_PALLET_ASSETS, ASTAR_DECIMALS, POLKADOT_ASSETHUB_CHAIN, SAFE_XCM_VERSION, SENDBACK_AMOUNT, SENDER_BUDGET, SENDTO_AMOUNT, UNIQUE_CHAIN, UNQ_DECIMALS, USDT_ASSET_ID, USDT_DECIMALS, XcmTestHelper} from './xcm.types.ts'; const testHelper = new XcmTestHelper; -describeXCM('[XCM] Integration test: Exchanging tokens with Relay', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with Relay', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; let dotDerivativeCollectionId: number; @@ -94,7 +94,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Relay', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging tokens with AssetHub', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with AssetHub', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; let usdtDerivativeCollectionId: number; @@ -235,7 +235,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with AssetHub', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging tokens with Acala', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with Acala', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; @@ -320,7 +320,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Acala', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging UNQ with Moonbeam', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging UNQ with Moonbeam', () => { let alice: IKeyringPair; let randomAccountUnique: IKeyringPair; @@ -386,7 +386,7 @@ describeXCM('[XCM] Integration test: Exchanging UNQ with Moonbeam', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging tokens with Astar', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with Astar', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; @@ -487,7 +487,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Astar', () => { }); }); -describeXCM('[XCM] Integration test: Exchanging tokens with HydraDx', () => { +describe.ifRunXcm('[XCM] Integration test: Exchanging tokens with HydraDx', () => { let alice: IKeyringPair; let randomAccount: IKeyringPair; @@ -547,7 +547,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with HydraDx', () => { // These tests are relevant only when // the the corresponding foreign assets are not registered -describeXCM('[XCM] Integration test: Unique rejects non-native tokens', () => { +describe.ifRunXcm('[XCM] Integration test: Unique rejects non-native tokens', () => { let alice: IKeyringPair; before(async () => { diff --git a/js-packages/tests/xcm/xcm.types.ts b/js-packages/tests/xcm/xcm.types.ts index 7d2c640407..e470f01976 100644 --- a/js-packages/tests/xcm/xcm.types.ts +++ b/js-packages/tests/xcm/xcm.types.ts @@ -3,6 +3,7 @@ import {expect, usingAcalaPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygr import {DevAcalaHelper, DevAstarHelper, DevHydraDxHelper, DevMoonbeamHelper, DevRelayHelper, DevUniqueHelper, DevWestmintHelper, Event} from '@unique/test-utils'; import {AcalaHelper, AstarHelper} from '@unique/test-utils/xcm/index.ts'; import {IEvent} from '@unique-nft/playgrounds/types.ts'; +import process from "node:process"; export const UNIQUE_CHAIN = +(process.env.RELAY_UNIQUE_ID || 2037); export const POLKADOT_ASSETHUB_CHAIN = +(process.env.RELAY_ASSETHUB_ID || 1000); From 972ff6deb537e6f5370166f69703561a6ec32418 Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Tue, 12 Aug 2025 10:16:45 +0000 Subject: [PATCH 008/172] test fixes --- .baedeker/up.sh | 2 +- .baedeker/xcm-opal.jsonnet | 1 + Cargo.lock | 36 +++++++++---------- Cargo.toml | 28 +++++++-------- js-packages/playgrounds/unique.ts | 32 +++++++++++++---- js-packages/test-utils/eth/util.ts | 2 +- js-packages/test-utils/index.ts | 1 + .../tests/eth/collectionProperties.test.ts | 2 +- .../tests/eth/collectionSponsoring.test.ts | 2 +- js-packages/tests/maintenance.seqtest.ts | 2 +- 10 files changed, 64 insertions(+), 44 deletions(-) diff --git a/.baedeker/up.sh b/.baedeker/up.sh index d66a21913d..a5f069f83d 100755 --- a/.baedeker/up.sh +++ b/.baedeker/up.sh @@ -11,7 +11,7 @@ baedeker \ --secret=file=$BDK_DIR/.bdk-env/secret \ --tla-str=relay_spec=westend-local \ --tla-code=assethub_spec="import 'assethub-spec.json'" \ ---input-modules='lib:baedeker-library/ops/nginx.libsonnet' \ +--input-modules='lib:baedeker-library/ops/nginx-dev.libsonnet' \ --input-modules='lib:baedeker-library/ops/devtools.libsonnet' \ --tla-str=repoDir=$(realpath $BDK_DIR/..) \ $@ \ diff --git a/.baedeker/xcm-opal.jsonnet b/.baedeker/xcm-opal.jsonnet index a9c4f135c4..e6cf0f0394 100644 --- a/.baedeker/xcm-opal.jsonnet +++ b/.baedeker/xcm-opal.jsonnet @@ -60,6 +60,7 @@ local opal = { extraArgs: [ '--increase-future-pool', '--pool-type=fork-aware', + '--pruning=archive', ], }, for name in ['alice', 'bob', 'charlie'] diff --git a/Cargo.lock b/Cargo.lock index f4014c83ed..8ef5b7c58c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3524,7 +3524,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "async-trait", "fp-storage", @@ -3536,7 +3536,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "async-trait", "fp-consensus", @@ -3552,7 +3552,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "async-trait", "ethereum", @@ -3582,7 +3582,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "fc-db", "fc-storage", @@ -3605,7 +3605,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "ethereum", "ethereum-types", @@ -3655,7 +3655,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "ethereum", "ethereum-types", @@ -3670,7 +3670,7 @@ dependencies = [ [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "ethereum", "ethereum-types", @@ -3851,7 +3851,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "hex", "impl-serde", @@ -3870,7 +3870,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "ethereum", "parity-scale-codec", @@ -3881,7 +3881,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "ethereum", "ethereum-types", @@ -3893,7 +3893,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "environmental", "evm", @@ -3910,7 +3910,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "ethereum", "ethereum-types", @@ -3926,7 +3926,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "frame-support", "parity-scale-codec", @@ -3938,7 +3938,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "parity-scale-codec", "serde", @@ -7762,7 +7762,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "fp-evm", "frame-support", @@ -8095,7 +8095,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "ethereum", "ethereum-types", @@ -8118,7 +8118,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "environmental", @@ -8198,7 +8198,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503#f76ebdf2b75587160115a319b346f9c4f7b7147c" +source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-2503-2#2e703b47314c0a248fb0e3a63ca8ebe5e48c3b3c" dependencies = [ "fp-evm", "ripemd", diff --git a/Cargo.toml b/Cargo.toml index 9a0f4c6e6a..cfadb83ef1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -74,26 +74,26 @@ quartz-runtime = { path = "runtime/quartz" } unique-runtime = { path = "runtime/unique" } # Frontier (Unique patches over the Parity version) -fc-api = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } +fc-api = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } fc-db = { default-features = false, features = [ 'sql', -], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } +], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } fc-mapping-sync = { features = [ 'sql', -], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } +], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } fp-self-contained = { default-features = false, features = [ "serde", -], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } -pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503" } +], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } +pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-2503-2" } # Parity codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.7.5" } diff --git a/js-packages/playgrounds/unique.ts b/js-packages/playgrounds/unique.ts index c19548b432..0241dd6cad 100644 --- a/js-packages/playgrounds/unique.ts +++ b/js-packages/playgrounds/unique.ts @@ -425,6 +425,7 @@ export class ChainHelperBase { forcedNetwork: TNetworks | null; network: TNetworks | null; wsEndpoint: string | null; + wsProvider: WsProvider | null; chainLog: IUniqueHelperLog[]; children: ChainHelperBase[]; address: AddressGroup; @@ -441,6 +442,7 @@ export class ChainHelperBase { this.forcedNetwork = null; this.network = null; this.wsEndpoint = null; + this.wsProvider = null; this.chainLog = []; this.children = []; this.address = new AddressGroup(this); @@ -506,14 +508,25 @@ export class ChainHelperBase { child.clearApi(); } - if(this.api === null) return; - await this.api.disconnect(); + const promises: Promise[] = []; + if(this.api != null) { + const api = this.api; + api.disconnect(); + promises.push(new Promise((resolve) => api.on('disconnected', resolve))); + } + if (this.wsProvider != null) { + const wsProvider = this.wsProvider; + wsProvider.disconnect(); + promises.push(new Promise((resolve) => wsProvider.on('disconnected', resolve))); + } + await Promise.all(promises); this.clearApi(); } clearApi() { this.api = null; this.network = null; + this.wsProvider = null; } static async detectNetwork(api: ApiPromise): Promise { @@ -528,18 +541,23 @@ export class ChainHelperBase { static async detectNetworkByWsEndpoint(wsEndpoint: string): Promise { if(!wsEndpoint) throw new Error('wsEndpoint was not set'); - const api = new ApiPromise({provider: new WsProvider(wsEndpoint)}); + const provider = new WsProvider(wsEndpoint); + const api = new ApiPromise({provider}); await api.isReady; const network = await this.detectNetwork(api); - await api.disconnect(); + api.disconnect(); + await new Promise((resolve) => api.on('disconnected', resolve)); + provider.disconnect(); + await new Promise((resolve) => provider.on('disconnected', resolve)); return network; } static async createConnection(wsEndpoint: string, listeners?: IApiListeners, network?: TNetworks | null): Promise<{ api: ApiPromise; + provider: WsProvider, network: TNetworks; }> { if(typeof network === 'undefined' || network === null) network = 'opal'; @@ -567,8 +585,8 @@ export class ChainHelperBase { // TODO: investigate how to replace rpc in runtime // api._rpcCore.addUserInterfaces(rpc); - - const api = new ApiPromise({provider: new WsProvider(wsEndpoint), rpc}); + const provider = new WsProvider(wsEndpoint); + const api = new ApiPromise({provider, rpc}); await api.isReadyOrError; @@ -578,7 +596,7 @@ export class ChainHelperBase { api.on(event as ApiInterfaceEvents, listeners[event as TApiAllowedListeners] as (...args: any[]) => any); } - return {api, network}; + return {api, provider, network}; } getTransactionStatus(data: { events: { event: IEvent }[], status: any }) { diff --git a/js-packages/test-utils/eth/util.ts b/js-packages/test-utils/eth/util.ts index ae759bdd01..74a63e4d7c 100644 --- a/js-packages/test-utils/eth/util.ts +++ b/js-packages/test-utils/eth/util.ts @@ -22,7 +22,7 @@ chai.use(chaiLike); export const expect = chai.expect; // FIXME: 4? 12? 24? How to select confirmations count? -const confirmations = 4; +const confirmations = 7; // 2 min timeout, ~30 blocks const timeout = 2 * 60 * 1000; export const waitParams = [confirmations, timeout]; diff --git a/js-packages/test-utils/index.ts b/js-packages/test-utils/index.ts index acbf10c52d..91ee3ad599 100644 --- a/js-packages/test-utils/index.ts +++ b/js-packages/test-utils/index.ts @@ -602,6 +602,7 @@ export class DevUniqueHelper extends UniqueHelper { await this.api.isReadyOrError; this.network = await UniqueHelper.detectNetwork(this.api); this.wsEndpoint = wsEndpoint; + this.wsProvider = wsProvider; } getSudo() { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/js-packages/tests/eth/collectionProperties.test.ts b/js-packages/tests/eth/collectionProperties.test.ts index 4d4fdadc1f..27ce110286 100644 --- a/js-packages/tests/eth/collectionProperties.test.ts +++ b/js-packages/tests/eth/collectionProperties.test.ts @@ -146,7 +146,7 @@ describe('Supports ERC721Metadata', () => { }); [ - {case: 'nft' as const}, + {case: 'nft' as const, requiredPallets: []}, {case: 'rft' as const, requiredPallets: [Pallets.ReFungible]}, ].map(testCase => itEth.ifWithPallets(`ERC721Metadata property can be set for ${testCase.case} collection`, testCase.requiredPallets || [], async ({helper}) => { diff --git a/js-packages/tests/eth/collectionSponsoring.test.ts b/js-packages/tests/eth/collectionSponsoring.test.ts index 13a494bace..3aae59ebe8 100644 --- a/js-packages/tests/eth/collectionSponsoring.test.ts +++ b/js-packages/tests/eth/collectionSponsoring.test.ts @@ -352,7 +352,7 @@ describe('evm nft collection sponsoring', () => { 'setCollectionSponsorCross', 'setCollectionSponsor', // Soft-deprecated ].map(testCase => - itEth(`[${testCase}] Check that transaction via EVM spend money from sponsor address`, async ({helper}) => { + itEth.only(`[${testCase}] Check that transaction via EVM spend money from sponsor address`, async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const sponsor = await helper.eth.createAccountWithBalance(donor); diff --git a/js-packages/tests/maintenance.seqtest.ts b/js-packages/tests/maintenance.seqtest.ts index a8cd8fa158..7bcc17b878 100644 --- a/js-packages/tests/maintenance.seqtest.ts +++ b/js-packages/tests/maintenance.seqtest.ts @@ -23,7 +23,7 @@ import type {FrameSupportTokensMiscIdAmount} from '@polkadot/types/lookup'; import type {Vec} from '@polkadot/types-codec'; async function maintenanceEnabled(api: ApiPromise): Promise { - return (await api.query.maintenance.enabled()).toJSON() as boolean; + return (await api.query.maintenance.enabled()).toPrimitive(); } describe('Integration Test: Maintenance Functionality', () => { From 9e2995582f074c35205c3d15875b2957287b057f Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Wed, 13 Aug 2025 14:36:27 +0000 Subject: [PATCH 009/172] update imports --- js-packages/playgrounds/unique.ts | 6 +++--- js-packages/scripts/authorizeEnactUpgrade.ts | 2 +- js-packages/scripts/benchmarks/mintFee/index.ts | 14 +++++++------- js-packages/scripts/benchmarks/nesting/index.ts | 10 +++++----- js-packages/scripts/benchmarks/opsFee/index.ts | 16 ++++++++-------- js-packages/scripts/benchmarks/utils/common.ts | 6 +++--- js-packages/scripts/calibrate.ts | 4 ++-- js-packages/scripts/calibrateApply.ts | 2 +- .../scripts/correctStateAfterMaintenance.ts | 4 ++-- js-packages/scripts/createHrmp.ts | 4 ++-- js-packages/scripts/generateEnv.ts | 2 +- js-packages/scripts/identitySetter.ts | 4 ++-- js-packages/scripts/relayIdentitiesChecker.ts | 5 +++-- js-packages/scripts/runCheckState.ts | 2 +- js-packages/scripts/setCode.ts | 2 +- js-packages/scripts/transfer.nload.ts | 4 ++-- js-packages/test-utils/eth/index.ts | 2 +- js-packages/test-utils/eth/util.ts | 6 +++--- js-packages/tests/addCollectionAdmin.test.ts | 2 +- js-packages/tests/adminTransferAndBurn.test.ts | 2 +- js-packages/tests/allowLists.test.ts | 6 +++--- js-packages/tests/apiConsts.test.ts | 2 +- js-packages/tests/approve.test.ts | 4 ++-- js-packages/tests/burnItem.test.ts | 2 +- .../tests/change-collection-owner.test.ts | 4 ++-- js-packages/tests/confirmSponsorship.test.ts | 4 ++-- js-packages/tests/connection.test.ts | 2 +- js-packages/tests/createCollection.test.ts | 8 ++++---- js-packages/tests/createItem.test.ts | 6 +++--- js-packages/tests/createMultipleItems.test.ts | 2 +- js-packages/tests/createMultipleItemsEx.test.ts | 4 ++-- .../tests/creditFeesToTreasury.seqtest.ts | 6 +++--- js-packages/tests/destroyCollection.test.ts | 2 +- js-packages/tests/enableDisableTransfer.test.ts | 2 +- js-packages/tests/eth/allowlist.test.ts | 6 +++--- js-packages/tests/eth/base.test.ts | 4 ++-- js-packages/tests/eth/collectionAdmin.test.ts | 8 ++++---- .../tests/eth/collectionHelperAddress.test.ts | 4 ++-- js-packages/tests/eth/collectionLimits.test.ts | 6 +++--- .../tests/eth/collectionProperties.test.ts | 6 +++--- .../tests/eth/collectionSponsoring.test.ts | 8 ++++---- js-packages/tests/eth/contractSponsoring.test.ts | 8 ++++---- js-packages/tests/eth/createCollection.test.ts | 10 +++++----- .../tests/eth/createFTCollection.seqtest.ts | 4 ++-- js-packages/tests/eth/createFTCollection.test.ts | 6 +++--- .../tests/eth/createNFTCollection.seqtest.ts | 2 +- .../tests/eth/createNFTCollection.test.ts | 4 ++-- .../tests/eth/createRFTCollection.test.ts | 6 +++--- js-packages/tests/eth/crossTransfer.test.ts | 6 +++--- js-packages/tests/eth/destroyCollection.test.ts | 8 ++++---- js-packages/tests/eth/ethFeesAreCorrect.test.ts | 4 ++-- js-packages/tests/eth/events.test.ts | 12 ++++++------ js-packages/tests/eth/evmCoder.test.ts | 2 +- .../eth/fractionalizer/fractionalizer.test.ts | 8 ++++---- js-packages/tests/eth/fungible.test.ts | 2 +- js-packages/tests/eth/getCode.test.ts | 4 ++-- js-packages/tests/eth/helpersSmoke.test.ts | 2 +- .../tests/eth/marketplace-v2/marketplace.test.ts | 6 +++--- .../tests/eth/marketplace/marketplace.test.ts | 4 ++-- js-packages/tests/eth/migration.seqtest.ts | 4 ++-- js-packages/tests/eth/nativeFungible.test.ts | 4 ++-- .../tests/eth/nativeRpc/estimateGas.test.ts | 2 +- js-packages/tests/eth/nesting/nest.test.ts | 4 ++-- js-packages/tests/eth/nonFungible.test.ts | 8 ++++---- js-packages/tests/eth/payable.test.ts | 6 +++--- js-packages/tests/eth/precompile.test.ts | 4 ++-- .../tests/eth/proxy/fungibleProxy.test.ts | 6 +++--- .../tests/eth/proxy/nonFungibleProxy.test.ts | 6 +++--- js-packages/tests/eth/proxyContract.test.ts | 6 +++--- js-packages/tests/eth/reFungible.test.ts | 8 ++++---- js-packages/tests/eth/reFungibleToken.test.ts | 8 ++++---- js-packages/tests/eth/sponsoring.test.ts | 4 ++-- js-packages/tests/eth/tokenProperties.test.ts | 10 +++++----- .../tests/eth/tokens/callMethodsERC20.test.ts | 6 +++--- .../tests/eth/tokens/callMethodsERC721.test.ts | 6 +++--- js-packages/tests/eth/tokens/minting.test.ts | 6 +++--- js-packages/tests/eth/transferValue.test.ts | 4 ++-- js-packages/tests/fungible.test.ts | 2 +- js-packages/tests/getPropertiesRpc.test.ts | 4 ++-- js-packages/tests/inflation.seqtest.ts | 2 +- js-packages/tests/limits.test.ts | 2 +- js-packages/tests/nativeFungible.test.ts | 2 +- js-packages/tests/nextSponsoring.test.ts | 2 +- js-packages/tests/pallet-presence.test.ts | 2 +- js-packages/tests/performance.seq.test.ts | 6 +++--- js-packages/tests/refungible.test.ts | 2 +- js-packages/tests/removeCollectionAdmin.test.ts | 4 ++-- .../tests/removeCollectionSponsor.test.ts | 4 ++-- js-packages/tests/rpc.test.ts | 4 ++-- js-packages/tests/setCollectionLimits.test.ts | 4 ++-- js-packages/tests/setCollectionSponsor.test.ts | 4 ++-- js-packages/tests/setPermissions.test.ts | 4 ++-- .../sub/appPromotion/appPromotion.seqtest.ts | 4 ++-- .../tests/sub/appPromotion/appPromotion.test.ts | 4 ++-- .../tests/sub/check-event/burnItemEvent.test.ts | 4 ++-- .../check-event/createCollectionEvent.test.ts | 4 ++-- .../sub/check-event/createItemEvent.test.ts | 4 ++-- .../check-event/createMultipleItemsEvent.test.ts | 4 ++-- .../check-event/destroyCollectionEvent.test.ts | 4 ++-- .../tests/sub/check-event/transferEvent.test.ts | 4 ++-- .../sub/check-event/transferFromEvent.test.ts | 4 ++-- .../collatorSelection.seqtest.ts | 2 +- .../sub/collator-selection/identity.seqtest.ts | 4 ++-- js-packages/tests/sub/governance/council.test.ts | 6 +++--- .../tests/sub/governance/democracy.test.ts | 4 ++-- .../tests/sub/governance/electsudo.test.ts | 6 +++--- .../tests/sub/governance/fellowship.test.ts | 6 +++--- .../sub/governance/financialCouncil.test.ts | 4 ++-- js-packages/tests/sub/governance/init.test.ts | 6 +++--- .../sub/governance/technicalCommittee.test.ts | 6 +++--- js-packages/tests/sub/governance/util.ts | 2 +- js-packages/tests/sub/nesting/admin.test.ts | 4 ++-- .../sub/nesting/collectionProperties.seqtest.ts | 2 +- .../sub/nesting/collectionProperties.test.ts | 2 +- js-packages/tests/sub/nesting/common.test.ts | 4 ++-- js-packages/tests/sub/nesting/e2e.test.ts | 4 ++-- js-packages/tests/sub/nesting/graphs.test.ts | 4 ++-- .../tests/sub/nesting/nesting.negative.test.ts | 6 +++--- .../sub/nesting/propertyPermissions.test.ts | 10 +++++----- js-packages/tests/sub/nesting/refungible.test.ts | 2 +- .../tests/sub/nesting/tokenProperties.seqtest.ts | 2 +- .../tests/sub/nesting/tokenProperties.test.ts | 4 ++-- js-packages/tests/sub/nesting/unnest.test.ts | 4 ++-- .../tests/sub/nesting/unnesting.negative.test.ts | 4 ++-- js-packages/tests/sub/refungible/burn.test.ts | 2 +- js-packages/tests/sub/refungible/nesting.test.ts | 2 +- .../tests/sub/refungible/repartition.test.ts | 2 +- .../tests/sub/refungible/transfer.test.ts | 2 +- js-packages/tests/transfer.test.ts | 6 +++--- js-packages/tests/transferFrom.test.ts | 4 ++-- js-packages/tests/tx-version-presence.test.ts | 2 +- js-packages/tests/vesting.test.ts | 2 +- js-packages/tests/xcm/quartz.test.ts | 4 ++-- js-packages/tests/xcm/unique.test.ts | 2 +- js-packages/tests/xcm/xcm.types.ts | 4 ++-- js-packages/types/appPromotion/index.ts | 2 +- js-packages/types/augment-types.ts | 2 +- js-packages/types/default/index.ts | 2 +- js-packages/types/index.ts | 2 +- js-packages/types/povinfo/index.ts | 2 +- js-packages/types/types.ts | 8 ++++---- js-packages/types/unique/index.ts | 2 +- 142 files changed, 315 insertions(+), 314 deletions(-) diff --git a/js-packages/playgrounds/unique.ts b/js-packages/playgrounds/unique.ts index 0241dd6cad..579256aab6 100644 --- a/js-packages/playgrounds/unique.ts +++ b/js-packages/playgrounds/unique.ts @@ -564,13 +564,13 @@ export class ChainHelperBase { if(!wsEndpoint) throw new Error('wsEndpoint was not set'); const supportedRPC = { opal: { - unique: require('@unique-nft/opal-testnet-types/definitions').unique.rpc, + unique: require('@unique-nft/opal-testnet-types/definitions.ts').unique.rpc, }, quartz: { - unique: require('@unique-nft/quartz-mainnet-types/definitions').unique.rpc, + unique: require('@unique-nft/quartz-mainnet-types/definitions.ts').unique.rpc, }, unique: { - unique: require('@unique-nft/unique-mainnet-types/definitions').unique.rpc, + unique: require('@unique-nft/unique-mainnet-types/definitions.ts').unique.rpc, }, rococo: {}, westend: {}, diff --git a/js-packages/scripts/authorizeEnactUpgrade.ts b/js-packages/scripts/authorizeEnactUpgrade.ts index 9ebb118fe9..a0c304069d 100644 --- a/js-packages/scripts/authorizeEnactUpgrade.ts +++ b/js-packages/scripts/authorizeEnactUpgrade.ts @@ -1,6 +1,6 @@ import {readFile} from 'node:fs/promises'; import {u8aToHex} from '@polkadot/util'; -import {usingPlaygrounds} from '@unique/test-utils/util.js'; +import {usingPlaygrounds} from '@unique/test-utils/util'; import {blake2AsHex} from '@polkadot/util-crypto'; diff --git a/js-packages/scripts/benchmarks/mintFee/index.ts b/js-packages/scripts/benchmarks/mintFee/index.ts index 67b0316089..37916e0b6d 100644 --- a/js-packages/scripts/benchmarks/mintFee/index.ts +++ b/js-packages/scripts/benchmarks/mintFee/index.ts @@ -1,15 +1,15 @@ -import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; import {Buffer} from "node:buffer"; import {readFile} from 'node:fs/promises'; -import type {ICrossAccountId} from '@unique-nft/playgrounds/types.js'; +import type {ICrossAccountId} from '@unique-nft/playgrounds/types.ts'; import type {IKeyringPair} from '@polkadot/types/types'; -import {UniqueNFTCollection} from '@unique-nft/playgrounds/unique.js'; +import {UniqueNFTCollection} from '@unique-nft/playgrounds/unique.ts'; import {Contract, hexlify} from 'ethers'; import {createObjectCsvWriter} from 'csv-writer'; -import {convertToTokens, createCollectionForBenchmarks, PERMISSIONS, PROPERTIES} from '../utils/common.js'; -import {makeNames} from '@unique/test-utils/util.js'; -import type {ContractImports} from '@unique/test-utils/eth/types.js'; +import {convertToTokens, createCollectionForBenchmarks, PERMISSIONS, PROPERTIES} from '../utils/common.ts'; +import {makeNames} from '@unique/test-utils/util'; +import type {ContractImports} from '@unique/test-utils/eth/types'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/scripts/benchmarks/nesting/index.ts b/js-packages/scripts/benchmarks/nesting/index.ts index af52e8d9d4..a6ac8048e4 100644 --- a/js-packages/scripts/benchmarks/nesting/index.ts +++ b/js-packages/scripts/benchmarks/nesting/index.ts @@ -1,11 +1,11 @@ -import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; import {Contract, HDNodeWallet} from 'ethers'; -import {convertToTokens} from '../utils/common.js'; -import {makeNames} from '@unique/test-utils/util.js'; -import type {ContractImports} from '@unique/test-utils/eth/types.js'; +import {convertToTokens} from '../utils/common.ts'; +import {makeNames} from '@unique/test-utils/util'; +import type {ContractImports} from '@unique/test-utils/eth/types'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/scripts/benchmarks/opsFee/index.ts b/js-packages/scripts/benchmarks/opsFee/index.ts index 6e299a7142..cf2d4aeb98 100644 --- a/js-packages/scripts/benchmarks/opsFee/index.ts +++ b/js-packages/scripts/benchmarks/opsFee/index.ts @@ -1,15 +1,15 @@ -import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; import {readFile} from 'node:fs/promises'; -import {CollectionLimitField, CreateCollectionData, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import {CollectionLimitField, CreateCollectionData, TokenPermissionField} from '@unique/test-utils/eth/types'; import type {IKeyringPair} from '@polkadot/types/types'; -import {UniqueFTCollection, UniqueNFTCollection} from '@unique-nft/playgrounds/unique.js'; +import {UniqueFTCollection, UniqueNFTCollection} from '@unique-nft/playgrounds/unique.ts'; import {Contract} from 'ethers'; import {createObjectCsvWriter} from 'csv-writer'; -import {FunctionFeeVM} from '../utils/types.js'; -import type {IFunctionFee} from '../utils/types.js'; -import {convertToTokens, createCollectionForBenchmarks, PERMISSIONS, PROPERTIES, SUBS_PROPERTIES} from '../utils/common.js'; -import {makeNames} from '@unique/test-utils/util.js'; +import {FunctionFeeVM} from '../utils/types.ts'; +import type {IFunctionFee} from '../utils/types.ts'; +import {convertToTokens, createCollectionForBenchmarks, PERMISSIONS, PROPERTIES, SUBS_PROPERTIES} from '../utils/common.ts'; +import {makeNames} from '@unique/test-utils/util'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/scripts/benchmarks/utils/common.ts b/js-packages/scripts/benchmarks/utils/common.ts index e68da338a8..9d21042ee0 100644 --- a/js-packages/scripts/benchmarks/utils/common.ts +++ b/js-packages/scripts/benchmarks/utils/common.ts @@ -1,6 +1,6 @@ -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; -import type {ITokenPropertyPermission, TCollectionMode} from '@unique-nft/playgrounds/types.js'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import {UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.ts'; +import type {ITokenPropertyPermission, TCollectionMode} from '@unique-nft/playgrounds/types.ts'; import type {IKeyringPair} from '@polkadot/types/types'; import {Buffer} from "node:buffer"; diff --git a/js-packages/scripts/calibrate.ts b/js-packages/scripts/calibrate.ts index fc59a169c4..699a9a690b 100644 --- a/js-packages/scripts/calibrate.ts +++ b/js-packages/scripts/calibrate.ts @@ -1,6 +1,6 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; class Fract { static ZERO = new Fract(0n); diff --git a/js-packages/scripts/calibrateApply.ts b/js-packages/scripts/calibrateApply.ts index 6104ab0415..8e93c6a2ca 100644 --- a/js-packages/scripts/calibrateApply.ts +++ b/js-packages/scripts/calibrateApply.ts @@ -1,6 +1,6 @@ import {readFile, writeFile} from 'node:fs/promises'; import path from 'node:path'; -import {makeNames, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {makeNames, usingPlaygrounds} from '@unique/test-utils/util'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/scripts/correctStateAfterMaintenance.ts b/js-packages/scripts/correctStateAfterMaintenance.ts index 13135381b8..ef61704796 100644 --- a/js-packages/scripts/correctStateAfterMaintenance.ts +++ b/js-packages/scripts/correctStateAfterMaintenance.ts @@ -1,5 +1,5 @@ -import config from '../tests/config.js'; -import {usingPlaygrounds} from '@unique/test-utils/util.js'; +import config from '../tests/config.ts'; +import {usingPlaygrounds} from '@unique/test-utils/util'; import type {u32} from '@polkadot/types-codec'; const WS_ENDPOINT = config.substrateUrl; diff --git a/js-packages/scripts/createHrmp.ts b/js-packages/scripts/createHrmp.ts index 2f6bfb4bad..e6c3c615c5 100644 --- a/js-packages/scripts/createHrmp.ts +++ b/js-packages/scripts/createHrmp.ts @@ -1,5 +1,5 @@ -import {usingPlaygrounds} from '@unique/test-utils/util.js'; -import config from '../tests/config.js'; +import {usingPlaygrounds} from '@unique/test-utils/util'; +import config from '../tests/config.ts'; const profile = process.argv[2]; if(!profile) throw new Error('missing profile/relay argument'); diff --git a/js-packages/scripts/generateEnv.ts b/js-packages/scripts/generateEnv.ts index e0a81bad6a..89a3d33846 100644 --- a/js-packages/scripts/generateEnv.ts +++ b/js-packages/scripts/generateEnv.ts @@ -1,7 +1,7 @@ import {ApiPromise, WsProvider} from '@polkadot/api'; import {readFile} from 'node:fs/promises'; import {join} from 'node:path'; -import {makeNames} from '@unique/test-utils/util.js'; +import {makeNames} from '@unique/test-utils/util'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/scripts/identitySetter.ts b/js-packages/scripts/identitySetter.ts index 9695fe9fe0..7e9957f2b0 100644 --- a/js-packages/scripts/identitySetter.ts +++ b/js-packages/scripts/identitySetter.ts @@ -9,8 +9,8 @@ import {encodeAddress} from '@polkadot/keyring'; import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, Pallets} from '@unique/test-utils/util.js'; -import {ChainHelperBase} from '@unique-nft/playgrounds/unique.js'; +import {usingPlaygrounds, Pallets} from '@unique/test-utils/util'; +import {ChainHelperBase} from '@unique-nft/playgrounds/unique.ts'; const relayUrl = process.argv[2] ?? 'ws://localhost:9844'; const paraUrl = process.argv[3] ?? 'ws://localhost:9944'; diff --git a/js-packages/scripts/relayIdentitiesChecker.ts b/js-packages/scripts/relayIdentitiesChecker.ts index ee0aa9f3c2..0673aeaf62 100644 --- a/js-packages/scripts/relayIdentitiesChecker.ts +++ b/js-packages/scripts/relayIdentitiesChecker.ts @@ -7,8 +7,9 @@ // Example: `yarn checkRelayIdentities wss://polkadot-rpc.dwellir.com wss://kusama-rpc.dwellir.com` import {encodeAddress} from '@polkadot/keyring'; -import {usingPlaygrounds} from '@unique/test-utils/util.js'; -import {getIdentities, getSubs, getSupers, constructSubInfo} from './identitySetter.js'; +import {usingPlaygrounds} from '@unique/test-utils/util'; +import {getIdentities, getSubs, getSupers, constructSubInfo} from './identitySetter.ts'; +import process from "node:process"; const relay1Url = process.argv[2] ?? 'ws://localhost:9844'; const relay2Url = process.argv[3] ?? 'ws://localhost:9844'; diff --git a/js-packages/scripts/runCheckState.ts b/js-packages/scripts/runCheckState.ts index 143ad92975..fd273114bb 100644 --- a/js-packages/scripts/runCheckState.ts +++ b/js-packages/scripts/runCheckState.ts @@ -1,4 +1,4 @@ -import {main} from './correctStateAfterMaintenance.js'; +import {main} from './correctStateAfterMaintenance.ts'; main({ wsEndpoint: process.env.WS_RPC!, diff --git a/js-packages/scripts/setCode.ts b/js-packages/scripts/setCode.ts index 8f3bba15c3..15a1b25553 100644 --- a/js-packages/scripts/setCode.ts +++ b/js-packages/scripts/setCode.ts @@ -1,6 +1,6 @@ import {readFile} from 'node:fs/promises'; import {u8aToHex} from '@polkadot/util'; -import {usingPlaygrounds} from '@unique/test-utils/util.js'; +import {usingPlaygrounds} from '@unique/test-utils/util'; const codePath = process.argv[2]; if(!codePath) throw new Error('missing code path argument'); diff --git a/js-packages/scripts/transfer.nload.ts b/js-packages/scripts/transfer.nload.ts index 8eff480e55..95406c644a 100644 --- a/js-packages/scripts/transfer.nload.ts +++ b/js-packages/scripts/transfer.nload.ts @@ -17,8 +17,8 @@ /* eslint-disable @typescript-eslint/no-floating-promises */ import os from 'node:os'; import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds} from '@unique/test-utils/util.js'; -import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import {usingPlaygrounds} from '@unique/test-utils/util'; +import {UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; import * as notReallyCluster from 'node:cluster'; // https://github.com/nodejs/node/issues/42271#issuecomment-1063415346 const cluster = notReallyCluster as unknown as notReallyCluster.Cluster; diff --git a/js-packages/test-utils/eth/index.ts b/js-packages/test-utils/eth/index.ts index 08fccc903c..19db639c66 100644 --- a/js-packages/test-utils/eth/index.ts +++ b/js-packages/test-utils/eth/index.ts @@ -13,7 +13,7 @@ import solc from 'solc'; import {evmToAddress} from '@polkadot/util-crypto'; import type {IKeyringPair} from '@polkadot/types/types'; -import {ArrangeGroup, DevUniqueHelper} from '@unique/test-utils/index.ts'; +import {ArrangeGroup, DevUniqueHelper} from '@unique/test-utils/index'; import type {ContractImports, CompiledContract, CrossAddress, NormalizedEvent, EthProperty} from './types.ts'; import {CollectionMode, CreateCollectionData} from './types.ts'; diff --git a/js-packages/test-utils/eth/util.ts b/js-packages/test-utils/eth/util.ts index 74a63e4d7c..7b26477e1a 100644 --- a/js-packages/test-utils/eth/util.ts +++ b/js-packages/test-utils/eth/util.ts @@ -8,12 +8,12 @@ import config from '../../tests/config.ts'; import {EthUniqueHelper} from './index.ts'; import {SilentLogger, SilentConsole} from '@unique/test-utils'; -import type {Pallets, SchedKind, UniqueTestContext} from '@unique/test-utils/util.ts'; +import type {Pallets, SchedKind, UniqueTestContext} from '@unique/test-utils/util'; import chai from 'chai'; import chaiAsPromised from 'chai-as-promised'; import chaiLike from 'chai-like'; -import {getTestSeed, MINIMUM_DONOR_FUND, requirePalletsOrSkip, makeNames, fullTitle, SkipError} from '@unique/test-utils/util.ts'; +import {getTestSeed, MINIMUM_DONOR_FUND, requirePalletsOrSkip, makeNames, fullTitle, SkipError} from '@unique/test-utils/util'; import {hexlify, toUtf8Bytes} from 'ethers'; import { it } from "jsr:@std/testing/bdd"; @@ -22,7 +22,7 @@ chai.use(chaiLike); export const expect = chai.expect; // FIXME: 4? 12? 24? How to select confirmations count? -const confirmations = 7; +const confirmations = 4; // 2 min timeout, ~30 blocks const timeout = 2 * 60 * 1000; export const waitParams = [confirmations, timeout]; diff --git a/js-packages/tests/addCollectionAdmin.test.ts b/js-packages/tests/addCollectionAdmin.test.ts index 9db4225f4b..ad4b683f3a 100644 --- a/js-packages/tests/addCollectionAdmin.test.ts +++ b/js-packages/tests/addCollectionAdmin.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util.ts'; +import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util'; import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test addCollectionAdmin(collection_id, new_admin_id):', () => { diff --git a/js-packages/tests/adminTransferAndBurn.test.ts b/js-packages/tests/adminTransferAndBurn.test.ts index 4fa15468ab..d147f6adc3 100644 --- a/js-packages/tests/adminTransferAndBurn.test.ts +++ b/js-packages/tests/adminTransferAndBurn.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util'; describe('Integration Test: ownerCanTransfer allows admins to use only transferFrom/burnFrom:', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/allowLists.test.ts b/js-packages/tests/allowLists.test.ts index 15b9441b04..eb982824bc 100644 --- a/js-packages/tests/allowLists.test.ts +++ b/js-packages/tests/allowLists.test.ts @@ -15,9 +15,9 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util.js'; -import type {ICollectionPermissions} from '@unique-nft/playgrounds/types.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util'; +import type {ICollectionPermissions} from '@unique-nft/playgrounds/types.ts'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test ext. Allow list tests', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/apiConsts.test.ts b/js-packages/tests/apiConsts.test.ts index 26c8db37de..68e618b527 100644 --- a/js-packages/tests/apiConsts.test.ts +++ b/js-packages/tests/apiConsts.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import {ApiPromise} from '@polkadot/api'; -import {usingPlaygrounds, itSub, expect, COLLECTION_HELPER, CONTRACT_HELPER, describe, before} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, COLLECTION_HELPER, CONTRACT_HELPER, describe, before} from '@unique/test-utils/util'; const MAX_COLLECTION_DESCRIPTION_LENGTH = 256n; diff --git a/js-packages/tests/approve.test.ts b/js-packages/tests/approve.test.ts index c367ad3c9f..3fb0252652 100644 --- a/js-packages/tests/approve.test.ts +++ b/js-packages/tests/approve.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, usingPlaygrounds, describe, before} from '@unique/test-utils/util.js'; -import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; +import {expect, itSub, Pallets, usingPlaygrounds, describe, before} from '@unique/test-utils/util'; +import {CrossAccountId} from '@unique-nft/playgrounds/unique.ts'; diff --git a/js-packages/tests/burnItem.test.ts b/js-packages/tests/burnItem.test.ts index fef129aa31..46bdf69519 100644 --- a/js-packages/tests/burnItem.test.ts +++ b/js-packages/tests/burnItem.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds, describe, before} from '@unique/test-utils/util.js'; +import {expect, itSub, usingPlaygrounds, describe, before} from '@unique/test-utils/util'; describe('integration test: ext. burnItem():', () => { diff --git a/js-packages/tests/change-collection-owner.test.ts b/js-packages/tests/change-collection-owner.test.ts index 2113c33f01..1e66ad21a4 100644 --- a/js-packages/tests/change-collection-owner.test.ts +++ b/js-packages/tests/change-collection-owner.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test changeCollectionOwner(collection_id, new_owner):', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/confirmSponsorship.test.ts b/js-packages/tests/confirmSponsorship.test.ts index ca628768ba..3a1f9111d2 100644 --- a/js-packages/tests/confirmSponsorship.test.ts +++ b/js-packages/tests/confirmSponsorship.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; async function setSponsorHelper(collection: any, signer: IKeyringPair, sponsorAddress: string) { await collection.setSponsor(signer, sponsorAddress); diff --git a/js-packages/tests/connection.test.ts b/js-packages/tests/connection.test.ts index 033123fffc..bf5c4a0668 100644 --- a/js-packages/tests/connection.test.ts +++ b/js-packages/tests/connection.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {itSub, expect, usingPlaygrounds, describe} from '@unique/test-utils/util.js'; +import {itSub, expect, usingPlaygrounds, describe} from '@unique/test-utils/util'; import { it } from "jsr:@std/testing/bdd"; describe('Connection smoke test', () => { diff --git a/js-packages/tests/createCollection.test.ts b/js-packages/tests/createCollection.test.ts index 57cc588e2e..2b05a05d1e 100644 --- a/js-packages/tests/createCollection.test.ts +++ b/js-packages/tests/createCollection.test.ts @@ -15,10 +15,10 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util.js'; -import {CollectionFlag} from '@unique-nft/playgrounds/types.js'; -import type {ICollectionCreationOptions, IProperty} from '@unique-nft/playgrounds/types.js'; -import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util'; +import {CollectionFlag} from '@unique-nft/playgrounds/types.ts'; +import type {ICollectionCreationOptions, IProperty} from '@unique-nft/playgrounds/types.ts'; +import {UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; async function mintCollectionHelper(helper: UniqueHelper, signer: IKeyringPair, options: ICollectionCreationOptions, type?: 'nft' | 'fungible' | 'refungible') { let collection; diff --git a/js-packages/tests/createItem.test.ts b/js-packages/tests/createItem.test.ts index a49f1b0a09..227d8b3c80 100644 --- a/js-packages/tests/createItem.test.ts +++ b/js-packages/tests/createItem.test.ts @@ -15,9 +15,9 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util.js'; -import type {IProperty, ICrossAccountId} from '@unique-nft/playgrounds/types.js'; -import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import {usingPlaygrounds, expect, itSub, Pallets, describe, before} from '@unique/test-utils/util'; +import type {IProperty, ICrossAccountId} from '@unique-nft/playgrounds/types.ts'; +import {UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; async function mintTokenHelper(helper: UniqueHelper, collection: any, signer: IKeyringPair, owner: ICrossAccountId, type: 'nft' | 'fungible' | 'refungible'='nft', properties?: IProperty[]) { let token; diff --git a/js-packages/tests/createMultipleItems.test.ts b/js-packages/tests/createMultipleItems.test.ts index a884ea8265..34e590ad49 100644 --- a/js-packages/tests/createMultipleItems.test.ts +++ b/js-packages/tests/createMultipleItems.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, Pallets, itSub, describe, before} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, Pallets, itSub, describe, before} from '@unique/test-utils/util'; describe('Integration Test createMultipleItems(collection_id, owner, items_data):', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/createMultipleItemsEx.test.ts b/js-packages/tests/createMultipleItemsEx.test.ts index 45673b0f1e..640f2ac307 100644 --- a/js-packages/tests/createMultipleItemsEx.test.ts +++ b/js-packages/tests/createMultipleItemsEx.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, expect, Pallets, itSub, describe, before} from '@unique/test-utils/util.js'; -import type {IProperty} from '@unique-nft/playgrounds/types.js'; +import {usingPlaygrounds, expect, Pallets, itSub, describe, before} from '@unique/test-utils/util'; +import type {IProperty} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test: createMultipleItemsEx', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/creditFeesToTreasury.seqtest.ts b/js-packages/tests/creditFeesToTreasury.seqtest.ts index cd145e3a58..7376ece07d 100644 --- a/js-packages/tests/creditFeesToTreasury.seqtest.ts +++ b/js-packages/tests/creditFeesToTreasury.seqtest.ts @@ -16,10 +16,10 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {ApiPromise} from '@polkadot/api'; -import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, expect, itSub, describe, before} from '@unique/test-utils/util'; import type {u32} from '@polkadot/types-codec'; -import {itEth} from '@unique/test-utils/eth/util.js'; -import {ITransactionResult} from '@unique-nft/playgrounds/types'; +import {itEth} from '@unique/test-utils/eth/util'; +import {ITransactionResult} from '@unique-nft/playgrounds/types.ts'; const TREASURY = '5EYCAe5ijiYfyeZ2JJCGq56LmPyNRAKzpG4QkoQkkQNB5e6Z'; const saneMinimumFee = 0.05; diff --git a/js-packages/tests/destroyCollection.test.ts b/js-packages/tests/destroyCollection.test.ts index c480902dd7..2305e911b1 100644 --- a/js-packages/tests/destroyCollection.test.ts +++ b/js-packages/tests/destroyCollection.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, expect, usingPlaygrounds, Pallets, describe, before} from '@unique/test-utils/util.js'; +import {itSub, expect, usingPlaygrounds, Pallets, describe, before} from '@unique/test-utils/util'; describe('integration test: ext. destroyCollection():', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/enableDisableTransfer.test.ts b/js-packages/tests/enableDisableTransfer.test.ts index 8375bf65dc..8ee98b8a1c 100644 --- a/js-packages/tests/enableDisableTransfer.test.ts +++ b/js-packages/tests/enableDisableTransfer.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util.js'; +import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util'; describe('Enable/Disable Transfers', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/eth/allowlist.test.ts b/js-packages/tests/eth/allowlist.test.ts index bb9c10e19e..ce8eca3a73 100644 --- a/js-packages/tests/eth/allowlist.test.ts +++ b/js-packages/tests/eth/allowlist.test.ts @@ -15,9 +15,9 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, Pallets} from '@unique/test-utils/util.js'; -import {itEth, usingEthPlaygrounds, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; -import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; +import {before, describe, Pallets} from '@unique/test-utils/util'; +import {itEth, usingEthPlaygrounds, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util'; +import {CreateCollectionData} from '@unique/test-utils/eth/types'; describe('EVM contract allowlist', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/base.test.ts b/js-packages/tests/eth/base.test.ts index 4c8d9f33df..e29af4eb06 100644 --- a/js-packages/tests/eth/base.test.ts +++ b/js-packages/tests/eth/base.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; import {HDNodeWallet} from 'ethers'; import {before, describe} from "@unique/test-utils/util.ts"; diff --git a/js-packages/tests/eth/collectionAdmin.test.ts b/js-packages/tests/eth/collectionAdmin.test.ts index 18ed216bc4..dce6181ae6 100644 --- a/js-packages/tests/eth/collectionAdmin.test.ts +++ b/js-packages/tests/eth/collectionAdmin.test.ts @@ -15,11 +15,11 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {expect} from 'chai'; -import {before, describe, Pallets} from '@unique/test-utils/util.ts'; +import {before, describe, Pallets} from '@unique/test-utils/util'; import type {IEthCrossAccountId} from '@unique-nft/playgrounds/types.ts'; -import {usingEthPlaygrounds, itEth, waitParams} from '@unique/test-utils/eth/util.ts'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.ts'; -import {CreateCollectionData} from '@unique/test-utils/eth/types.ts'; +import {usingEthPlaygrounds, itEth, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import {CreateCollectionData} from '@unique/test-utils/eth/types'; import {Contract} from 'ethers'; async function recordEthFee(helper: EthUniqueHelper, userAddress: string, call: () => Promise) { diff --git a/js-packages/tests/eth/collectionHelperAddress.test.ts b/js-packages/tests/eth/collectionHelperAddress.test.ts index db0ca0ef13..a7edc9e1a4 100644 --- a/js-packages/tests/eth/collectionHelperAddress.test.ts +++ b/js-packages/tests/eth/collectionHelperAddress.test.ts @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {itEth, usingEthPlaygrounds, expect} from '@unique/test-utils/eth/util.js'; +import {itEth, usingEthPlaygrounds, expect} from '@unique/test-utils/eth/util'; import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, COLLECTION_HELPER, Pallets} from '@unique/test-utils/util.js'; +import {before, describe, COLLECTION_HELPER, Pallets} from '@unique/test-utils/util'; describe('[eth]CollectionHelperAddress test: ERC20/ERC721 ', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/collectionLimits.test.ts b/js-packages/tests/eth/collectionLimits.test.ts index 043e80c790..f66a36e1fc 100644 --- a/js-packages/tests/eth/collectionLimits.test.ts +++ b/js-packages/tests/eth/collectionLimits.test.ts @@ -1,7 +1,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, Pallets} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {CollectionLimitField, CreateCollectionData} from '@unique/test-utils/eth/types.js'; +import {before, describe, Pallets} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {CollectionLimitField, CreateCollectionData} from '@unique/test-utils/eth/types'; describe('Can set collection limits', () => { diff --git a/js-packages/tests/eth/collectionProperties.test.ts b/js-packages/tests/eth/collectionProperties.test.ts index 27ce110286..332d9db171 100644 --- a/js-packages/tests/eth/collectionProperties.test.ts +++ b/js-packages/tests/eth/collectionProperties.test.ts @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util.js'; -import {before, describe, Pallets} from '@unique/test-utils/util.js'; -import type {IProperty, ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; +import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util'; +import {before, describe, Pallets} from '@unique/test-utils/util'; +import type {IProperty, ITokenPropertyPermission} from '@unique-nft/playgrounds/types.ts'; import type {IKeyringPair} from '@polkadot/types/types'; import {Buffer} from "node:buffer"; diff --git a/js-packages/tests/eth/collectionSponsoring.test.ts b/js-packages/tests/eth/collectionSponsoring.test.ts index 3aae59ebe8..6a3d24b626 100644 --- a/js-packages/tests/eth/collectionSponsoring.test.ts +++ b/js-packages/tests/eth/collectionSponsoring.test.ts @@ -15,9 +15,9 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; -import {itEth, expect, waitParams} from '@unique/test-utils/eth/util.js'; -import {CollectionLimitField, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import {before, describe, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util'; +import {itEth, expect, waitParams} from '@unique/test-utils/eth/util'; +import {CollectionLimitField, TokenPermissionField} from '@unique/test-utils/eth/types'; import {Buffer} from "node:buffer"; import {Contract} from 'ethers'; @@ -352,7 +352,7 @@ describe('evm nft collection sponsoring', () => { 'setCollectionSponsorCross', 'setCollectionSponsor', // Soft-deprecated ].map(testCase => - itEth.only(`[${testCase}] Check that transaction via EVM spend money from sponsor address`, async ({helper}) => { + itEth(`[${testCase}] Check that transaction via EVM spend money from sponsor address`, async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const sponsor = await helper.eth.createAccountWithBalance(donor); diff --git a/js-packages/tests/eth/contractSponsoring.test.ts b/js-packages/tests/eth/contractSponsoring.test.ts index 68382d789e..9ef9471fc6 100644 --- a/js-packages/tests/eth/contractSponsoring.test.ts +++ b/js-packages/tests/eth/contractSponsoring.test.ts @@ -15,10 +15,10 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {itEth, expect, SponsoringMode, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {before, describe, usingPlaygrounds} from '@unique/test-utils/util.js'; -import type {CompiledContract} from '@unique/test-utils/eth/types.js'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import {itEth, expect, SponsoringMode, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; +import {before, describe, usingPlaygrounds} from '@unique/test-utils/util'; +import type {CompiledContract} from '@unique/test-utils/eth/types'; import {HDNodeWallet} from 'ethers'; import {Contract} from 'ethers'; diff --git a/js-packages/tests/eth/createCollection.test.ts b/js-packages/tests/eth/createCollection.test.ts index 338eda1129..e2c6db1a0c 100644 --- a/js-packages/tests/eth/createCollection.test.ts +++ b/js-packages/tests/eth/createCollection.test.ts @@ -16,11 +16,11 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {evmToAddress} from '@polkadot/util-crypto'; -import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {CREATE_COLLECTION_DATA_DEFAULTS, CollectionLimitField, CollectionMode, CreateCollectionData, TokenPermissionField, emptyAddress} from '@unique/test-utils/eth/types.js'; -import {CollectionFlag} from '@unique-nft/playgrounds/types.js'; -import type {IEthCrossAccountId, TCollectionMode} from '@unique-nft/playgrounds/types.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {CREATE_COLLECTION_DATA_DEFAULTS, CollectionLimitField, CollectionMode, CreateCollectionData, TokenPermissionField, emptyAddress} from '@unique/test-utils/eth/types'; +import {CollectionFlag} from '@unique-nft/playgrounds/types.ts'; +import type {IEthCrossAccountId, TCollectionMode} from '@unique-nft/playgrounds/types.ts'; import {Buffer} from "node:buffer"; const DECIMALS = 18; diff --git a/js-packages/tests/eth/createFTCollection.seqtest.ts b/js-packages/tests/eth/createFTCollection.seqtest.ts index d8b2502eb2..af88750e17 100644 --- a/js-packages/tests/eth/createFTCollection.seqtest.ts +++ b/js-packages/tests/eth/createFTCollection.seqtest.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; -import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util'; +import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; const DECIMALS = 18; diff --git a/js-packages/tests/eth/createFTCollection.test.ts b/js-packages/tests/eth/createFTCollection.test.ts index f396bd8e94..e5abbb09a6 100644 --- a/js-packages/tests/eth/createFTCollection.test.ts +++ b/js-packages/tests/eth/createFTCollection.test.ts @@ -16,9 +16,9 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {evmToAddress} from '@polkadot/util-crypto'; -import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {CollectionLimitField} from '@unique/test-utils/eth/types.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {CollectionLimitField} from '@unique/test-utils/eth/types'; const DECIMALS = 18; diff --git a/js-packages/tests/eth/createNFTCollection.seqtest.ts b/js-packages/tests/eth/createNFTCollection.seqtest.ts index 5d4776472f..e4e920e735 100644 --- a/js-packages/tests/eth/createNFTCollection.seqtest.ts +++ b/js-packages/tests/eth/createNFTCollection.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; import {before, describe} from "@unique/test-utils/util.ts"; diff --git a/js-packages/tests/eth/createNFTCollection.test.ts b/js-packages/tests/eth/createNFTCollection.test.ts index b35faca812..aff95b3815 100644 --- a/js-packages/tests/eth/createNFTCollection.test.ts +++ b/js-packages/tests/eth/createNFTCollection.test.ts @@ -16,8 +16,8 @@ import {evmToAddress} from '@polkadot/util-crypto'; import type {IKeyringPair} from '@polkadot/types/types'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {CollectionLimitField} from '@unique/test-utils/eth/types.js'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {CollectionLimitField} from '@unique/test-utils/eth/types'; import {before, describe} from "@unique/test-utils/util.ts"; diff --git a/js-packages/tests/eth/createRFTCollection.test.ts b/js-packages/tests/eth/createRFTCollection.test.ts index 2e74e0eaa1..03c770db6b 100644 --- a/js-packages/tests/eth/createRFTCollection.test.ts +++ b/js-packages/tests/eth/createRFTCollection.test.ts @@ -16,9 +16,9 @@ import {evmToAddress} from '@polkadot/util-crypto'; import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {CollectionLimitField} from '@unique/test-utils/eth/types.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {CollectionLimitField} from '@unique/test-utils/eth/types'; describe('Create RFT collection from EVM', () => { diff --git a/js-packages/tests/eth/crossTransfer.test.ts b/js-packages/tests/eth/crossTransfer.test.ts index 72ef4ccba4..fef8a55e6e 100644 --- a/js-packages/tests/eth/crossTransfer.test.ts +++ b/js-packages/tests/eth/crossTransfer.test.ts @@ -14,10 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; +import {waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {CrossAccountId} from '@unique-nft/playgrounds/unique.ts'; import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe} from "@unique/test-utils/util.ts"; +import {before, describe} from "@unique/test-utils/util"; describe('Token transfer between substrate address and EVM address. Fungible', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/destroyCollection.test.ts b/js-packages/tests/eth/destroyCollection.test.ts index c41e3dd9bf..42f28ac038 100644 --- a/js-packages/tests/eth/destroyCollection.test.ts +++ b/js-packages/tests/eth/destroyCollection.test.ts @@ -15,10 +15,10 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, Pallets} from '@unique/test-utils/util.js'; -import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import type {TCollectionMode} from '@unique-nft/playgrounds/types.js'; -import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; +import {before, describe, Pallets} from '@unique/test-utils/util'; +import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import type {TCollectionMode} from '@unique-nft/playgrounds/types.ts'; +import {CreateCollectionData} from '@unique/test-utils/eth/types'; describe('Destroy Collection from EVM', function() { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/ethFeesAreCorrect.test.ts b/js-packages/tests/eth/ethFeesAreCorrect.test.ts index 41c8f67fb3..12ef3ed0a5 100644 --- a/js-packages/tests/eth/ethFeesAreCorrect.test.ts +++ b/js-packages/tests/eth/ethFeesAreCorrect.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; -import {before, describe} from "@unique/test-utils/util.ts"; +import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util'; +import {before, describe} from "@unique/test-utils/util"; describe('Eth fees are correct', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/events.test.ts b/js-packages/tests/eth/events.test.ts index c738c4a062..354d727c47 100644 --- a/js-packages/tests/eth/events.test.ts +++ b/js-packages/tests/eth/events.test.ts @@ -16,12 +16,12 @@ import {expect} from 'chai'; import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import type {IEvent, TCollectionMode} from '@unique-nft/playgrounds/types.js'; -import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; -import {CollectionLimitField, TokenPermissionField, CreateCollectionData} from '@unique/test-utils/eth/types.js'; -import type {NormalizedEvent} from '@unique/test-utils/eth/types.js'; +import {itEth, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import type {IEvent, TCollectionMode} from '@unique-nft/playgrounds/types.ts'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util'; +import {CollectionLimitField, TokenPermissionField, CreateCollectionData} from '@unique/test-utils/eth/types'; +import type {NormalizedEvent} from '@unique/test-utils/eth/types'; let donor: IKeyringPair; diff --git a/js-packages/tests/eth/evmCoder.test.ts b/js-packages/tests/eth/evmCoder.test.ts index ee78fa832f..47bf2f29d1 100644 --- a/js-packages/tests/eth/evmCoder.test.ts +++ b/js-packages/tests/eth/evmCoder.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; +import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; import {before, describe} from "@unique/test-utils/util.ts"; const getContractSource = (collectionAddress: string, contractAddress: string): string => ` diff --git a/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts b/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts index 298869e2a3..d0c89d376e 100644 --- a/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts +++ b/js-packages/tests/eth/fractionalizer/fractionalizer.test.ts @@ -22,10 +22,10 @@ import {evmToAddress} from '@polkadot/util-crypto'; import {Contract, HDNodeWallet} from 'ethers'; -import {usingEthPlaygrounds, expect, itEth, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import type {CompiledContract} from '@unique/test-utils/eth/types.js'; -import {before, describe, requirePalletsOrSkip, Pallets, makeNames} from '@unique/test-utils/util.js'; +import {usingEthPlaygrounds, expect, itEth, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import type {CompiledContract} from '@unique/test-utils/eth/types'; +import {before, describe, requirePalletsOrSkip, Pallets, makeNames} from '@unique/test-utils/util'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/fungible.test.ts b/js-packages/tests/eth/fungible.test.ts index 4c84d59634..6972c7aa42 100644 --- a/js-packages/tests/eth/fungible.test.ts +++ b/js-packages/tests/eth/fungible.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; import type {IKeyringPair} from '@polkadot/types/types'; import {Contract} from 'ethers'; import {before, describe} from "@unique/test-utils/util.ts"; diff --git a/js-packages/tests/eth/getCode.test.ts b/js-packages/tests/eth/getCode.test.ts index 4095ef44a4..283b78d3aa 100644 --- a/js-packages/tests/eth/getCode.test.ts +++ b/js-packages/tests/eth/getCode.test.ts @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, COLLECTION_HELPER, CONTRACT_HELPER} from '@unique/test-utils/util.js'; +import {before, describe, COLLECTION_HELPER, CONTRACT_HELPER} from '@unique/test-utils/util'; describe('RPC eth_getCode', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/helpersSmoke.test.ts b/js-packages/tests/eth/helpersSmoke.test.ts index 9bfb481579..ad32d220b8 100644 --- a/js-packages/tests/eth/helpersSmoke.test.ts +++ b/js-packages/tests/eth/helpersSmoke.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; import type {IKeyringPair} from '@polkadot/types/types'; import {before, describe} from "@unique/test-utils/util.ts"; diff --git a/js-packages/tests/eth/marketplace-v2/marketplace.test.ts b/js-packages/tests/eth/marketplace-v2/marketplace.test.ts index 78de1b4247..3e19084a39 100644 --- a/js-packages/tests/eth/marketplace-v2/marketplace.test.ts +++ b/js-packages/tests/eth/marketplace-v2/marketplace.test.ts @@ -16,9 +16,9 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {readFile} from 'node:fs/promises'; -import {SponsoringMode, waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {before, describe, makeNames, expect} from '@unique/test-utils/util.js'; +import {SponsoringMode, waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import {before, describe, makeNames, expect} from '@unique/test-utils/util'; import {Contract, HDNodeWallet, toBeHex, zeroPadBytes} from 'ethers'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/marketplace/marketplace.test.ts b/js-packages/tests/eth/marketplace/marketplace.test.ts index 6e03436461..1d81a07899 100644 --- a/js-packages/tests/eth/marketplace/marketplace.test.ts +++ b/js-packages/tests/eth/marketplace/marketplace.test.ts @@ -16,8 +16,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {readFile} from 'node:fs/promises'; -import {itEth, usingEthPlaygrounds, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; -import {before, beforeEach, describe, makeNames} from '@unique/test-utils/util.js'; +import {itEth, usingEthPlaygrounds, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util'; +import {before, beforeEach, describe, makeNames} from '@unique/test-utils/util'; const {dirname} = makeNames(import.meta.url); const EVM_ABI_DIR = `${dirname}/../../../evm-abi`; diff --git a/js-packages/tests/eth/migration.seqtest.ts b/js-packages/tests/eth/migration.seqtest.ts index 191a8a3c88..57f0eee12d 100644 --- a/js-packages/tests/eth/migration.seqtest.ts +++ b/js-packages/tests/eth/migration.seqtest.ts @@ -14,12 +14,12 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; import {before, describe} from "@unique/test-utils/util.ts"; import type {IKeyringPair} from '@polkadot/types/types'; import {Struct} from '@polkadot/types'; -import type {IEvent} from '@unique-nft/playgrounds/types.js'; +import type {IEvent} from '@unique-nft/playgrounds/types.ts'; import type {InterfaceTypes} from '@polkadot/types/types/registry'; import {ApiPromise} from '@polkadot/api'; import {Contract} from 'ethers'; diff --git a/js-packages/tests/eth/nativeFungible.test.ts b/js-packages/tests/eth/nativeFungible.test.ts index 9e45a674dc..9b5bde64ef 100644 --- a/js-packages/tests/eth/nativeFungible.test.ts +++ b/js-packages/tests/eth/nativeFungible.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; import {before, describe} from "@unique/test-utils/util.ts"; describe('NativeFungible: ERC20 calls', () => { diff --git a/js-packages/tests/eth/nativeRpc/estimateGas.test.ts b/js-packages/tests/eth/nativeRpc/estimateGas.test.ts index a3d597cf5b..ac95aab653 100644 --- a/js-packages/tests/eth/nativeRpc/estimateGas.test.ts +++ b/js-packages/tests/eth/nativeRpc/estimateGas.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; import {before, describe} from "@unique/test-utils/util.ts"; import type {IKeyringPair} from '@polkadot/types/types'; import {Contract} from 'ethers'; diff --git a/js-packages/tests/eth/nesting/nest.test.ts b/js-packages/tests/eth/nesting/nest.test.ts index a678733ce2..00ff9621ab 100644 --- a/js-packages/tests/eth/nesting/nest.test.ts +++ b/js-packages/tests/eth/nesting/nest.test.ts @@ -1,8 +1,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {Contract, HDNodeWallet} from 'ethers'; -import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; import {before, describe} from "@unique/test-utils/util.ts"; const createNestingCollection = async ( diff --git a/js-packages/tests/eth/nonFungible.test.ts b/js-packages/tests/eth/nonFungible.test.ts index 2cf23927d0..c5d9b0f240 100644 --- a/js-packages/tests/eth/nonFungible.test.ts +++ b/js-packages/tests/eth/nonFungible.test.ts @@ -14,13 +14,13 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; import {before, describe} from "@unique/test-utils/util.ts"; import type {IKeyringPair} from '@polkadot/types/types'; import {Contract} from 'ethers'; -import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; -import {CREATE_COLLECTION_DATA_DEFAULTS, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.ts'; +import {CREATE_COLLECTION_DATA_DEFAULTS, TokenPermissionField} from '@unique/test-utils/eth/types'; import {Buffer} from "node:buffer"; describe('Check ERC721 token URI for NFT', () => { diff --git a/js-packages/tests/eth/payable.test.ts b/js-packages/tests/eth/payable.test.ts index a4b27b374b..35a50ff073 100644 --- a/js-packages/tests/eth/payable.test.ts +++ b/js-packages/tests/eth/payable.test.ts @@ -16,9 +16,9 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {before, describe, makeNames} from '@unique/test-utils/util.js'; +import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import {before, describe, makeNames} from '@unique/test-utils/util'; import {Contract, HDNodeWallet} from 'ethers'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/precompile.test.ts b/js-packages/tests/eth/precompile.test.ts index 226eec8071..2670a3504a 100644 --- a/js-packages/tests/eth/precompile.test.ts +++ b/js-packages/tests/eth/precompile.test.ts @@ -16,8 +16,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {before, describe} from "@unique/test-utils/util.ts"; +import {expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {before, describe} from "@unique/test-utils/util"; describe('Precompiles', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/proxy/fungibleProxy.test.ts b/js-packages/tests/eth/proxy/fungibleProxy.test.ts index 8c8519e233..35241c8a96 100644 --- a/js-packages/tests/eth/proxy/fungibleProxy.test.ts +++ b/js-packages/tests/eth/proxy/fungibleProxy.test.ts @@ -17,9 +17,9 @@ import {expect} from 'chai'; import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; -import {waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {before, describe, makeNames} from '@unique/test-utils/util.js'; +import {waitParams, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import {before, describe, makeNames} from '@unique/test-utils/util'; import {Contract} from 'ethers'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts b/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts index 9d9e3b3da2..400c6b0746 100644 --- a/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts +++ b/js-packages/tests/eth/proxy/nonFungibleProxy.test.ts @@ -16,9 +16,9 @@ import {readFile} from 'node:fs/promises'; import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {before, describe, makeNames} from '@unique/test-utils/util.js'; +import {itEth, usingEthPlaygrounds, expect, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import {before, describe, makeNames} from '@unique/test-utils/util'; import {Contract} from 'ethers'; const {dirname} = makeNames(import.meta.url); diff --git a/js-packages/tests/eth/proxyContract.test.ts b/js-packages/tests/eth/proxyContract.test.ts index fc6cf4e97d..d1feb183cf 100644 --- a/js-packages/tests/eth/proxyContract.test.ts +++ b/js-packages/tests/eth/proxyContract.test.ts @@ -16,9 +16,9 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; -import {before, describe} from "@unique/test-utils/util.ts"; +import {itEth, expect, usingEthPlaygrounds, waitParams} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; +import {before, describe} from "@unique/test-utils/util"; import {HDNodeWallet} from 'ethers'; import {Contract} from 'ethers'; diff --git a/js-packages/tests/eth/reFungible.test.ts b/js-packages/tests/eth/reFungible.test.ts index 645f8d9f46..72be697bd1 100644 --- a/js-packages/tests/eth/reFungible.test.ts +++ b/js-packages/tests/eth/reFungible.test.ts @@ -14,11 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds, hexlifyString} from '@unique/test-utils/eth/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds, hexlifyString} from '@unique/test-utils/eth/util'; import type {IKeyringPair} from '@polkadot/types/types'; -import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; -import {CREATE_COLLECTION_DATA_DEFAULTS, NormalizedEvent, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.ts'; +import {CREATE_COLLECTION_DATA_DEFAULTS, NormalizedEvent, TokenPermissionField} from '@unique/test-utils/eth/types'; import {Buffer} from "node:buffer"; import {Contract} from 'ethers'; import {HDNodeWallet} from 'ethers'; diff --git a/js-packages/tests/eth/reFungibleToken.test.ts b/js-packages/tests/eth/reFungibleToken.test.ts index 0748145680..728044a3ea 100644 --- a/js-packages/tests/eth/reFungibleToken.test.ts +++ b/js-packages/tests/eth/reFungibleToken.test.ts @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {EthUniqueHelper} from '@unique/test-utils/eth/index.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {EthUniqueHelper} from '@unique/test-utils/eth/index'; import type {IKeyringPair} from '@polkadot/types/types'; import {Buffer} from "node:buffer"; import {Contract} from 'ethers'; @@ -491,7 +491,7 @@ describe('Refungible: Plain calls', () => { { await (await contract.approveCross.send(spenderCrossEth, 100)).wait(...waitParams); - await expect(spenderContract.burnFromCross.send(ownerCross, 50)).to.be.fulfilled; + await expect((await spenderContract.burnFromCross.send(ownerCross, 50)).wait(...waitParams)).to.be.fulfilled; await expect(spenderContract.burnFromCross.send(ownerCross, 100)).to.be.rejected; expect(await contract.balanceOf.staticCall(owner.address)).to.be.equal(150n); } diff --git a/js-packages/tests/eth/sponsoring.test.ts b/js-packages/tests/eth/sponsoring.test.ts index 60f99df936..cecc5813cb 100644 --- a/js-packages/tests/eth/sponsoring.test.ts +++ b/js-packages/tests/eth/sponsoring.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; -import {before, describe, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {itEth, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util'; +import {before, describe, usingPlaygrounds} from '@unique/test-utils/util'; describe('EVM sponsoring', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/eth/tokenProperties.test.ts b/js-packages/tests/eth/tokenProperties.test.ts index 75f4940c60..1ed63d2ecc 100644 --- a/js-packages/tests/eth/tokenProperties.test.ts +++ b/js-packages/tests/eth/tokenProperties.test.ts @@ -16,11 +16,11 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {Contract, HDNodeWallet} from 'ethers'; -import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util.js'; -import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.js'; -import {before, beforeEach, describe, Pallets} from '@unique/test-utils/util.js'; -import {UniqueNFTCollection, UniqueNFToken, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; -import {CreateCollectionData, TokenPermissionField} from '@unique/test-utils/eth/types.js'; +import {itEth, usingEthPlaygrounds, expect, waitParams, hexlifyString} from '@unique/test-utils/eth/util'; +import type {ITokenPropertyPermission} from '@unique-nft/playgrounds/types.ts'; +import {before, beforeEach, describe, Pallets} from '@unique/test-utils/util'; +import {UniqueNFTCollection, UniqueNFToken, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.ts'; +import {CreateCollectionData, TokenPermissionField} from '@unique/test-utils/eth/types'; import {Buffer} from "node:buffer"; describe('EVM token properties', () => { diff --git a/js-packages/tests/eth/tokens/callMethodsERC20.test.ts b/js-packages/tests/eth/tokens/callMethodsERC20.test.ts index 1dce345cc0..661e94f7fe 100644 --- a/js-packages/tests/eth/tokens/callMethodsERC20.test.ts +++ b/js-packages/tests/eth/tokens/callMethodsERC20.test.ts @@ -14,10 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {before, describe, Pallets, requirePalletsOrSkip} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; import type {IKeyringPair} from '@polkadot/types/types'; -import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; +import {CreateCollectionData} from '@unique/test-utils/eth/types'; [ {mode: 'ft' as const, requiredPallets: []}, diff --git a/js-packages/tests/eth/tokens/callMethodsERC721.test.ts b/js-packages/tests/eth/tokens/callMethodsERC721.test.ts index 262d553391..a4f5f2d008 100644 --- a/js-packages/tests/eth/tokens/callMethodsERC721.test.ts +++ b/js-packages/tests/eth/tokens/callMethodsERC721.test.ts @@ -14,10 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {before, describe, Pallets} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; +import {before, describe, Pallets} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; import type {IKeyringPair} from '@polkadot/types/types'; -import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; +import {CreateCollectionData} from '@unique/test-utils/eth/types'; describe('ERC-721 call methods', () => { diff --git a/js-packages/tests/eth/tokens/minting.test.ts b/js-packages/tests/eth/tokens/minting.test.ts index dae145ea65..888c05611f 100644 --- a/js-packages/tests/eth/tokens/minting.test.ts +++ b/js-packages/tests/eth/tokens/minting.test.ts @@ -15,9 +15,9 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, Pallets} from '@unique/test-utils/util.js'; -import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {CreateCollectionData} from '@unique/test-utils/eth/types.js'; +import {before, describe, Pallets} from '@unique/test-utils/util'; +import {waitParams, expect, itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {CreateCollectionData} from '@unique/test-utils/eth/types'; describe('Minting tokens', () => { diff --git a/js-packages/tests/eth/transferValue.test.ts b/js-packages/tests/eth/transferValue.test.ts index 84d1564d91..b5704a5b39 100644 --- a/js-packages/tests/eth/transferValue.test.ts +++ b/js-packages/tests/eth/transferValue.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {before, describe} from "@unique/test-utils/util.ts"; +import {itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {before, describe} from "@unique/test-utils/util"; import {expect} from 'chai'; describe('Send value to contract', () => { diff --git a/js-packages/tests/fungible.test.ts b/js-packages/tests/fungible.test.ts index 913027ec99..89f4b8dcba 100644 --- a/js-packages/tests/fungible.test.ts +++ b/js-packages/tests/fungible.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect, requirePalletsOrSkip, Pallets, describe, before} from '@unique/test-utils/util.js'; +import {itSub, usingPlaygrounds, expect, requirePalletsOrSkip, Pallets, describe, before} from '@unique/test-utils/util'; const U128_MAX = (1n << 128n) - 1n; diff --git a/js-packages/tests/getPropertiesRpc.test.ts b/js-packages/tests/getPropertiesRpc.test.ts index e896be33f8..808fb4cc26 100644 --- a/js-packages/tests/getPropertiesRpc.test.ts +++ b/js-packages/tests/getPropertiesRpc.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util.js'; -import {UniqueHelper, UniqueNFTCollection} from '@unique-nft/playgrounds/unique.js'; +import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util'; +import {UniqueHelper, UniqueNFTCollection} from '@unique-nft/playgrounds/unique.ts'; const collectionProps = [ {key: 'col-0', value: 'col-0-value'}, diff --git a/js-packages/tests/inflation.seqtest.ts b/js-packages/tests/inflation.seqtest.ts index 1fe03961e8..d367202e07 100644 --- a/js-packages/tests/inflation.seqtest.ts +++ b/js-packages/tests/inflation.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, usingPlaygrounds, describe, before} from '@unique/test-utils/util.js'; +import {expect, itSub, usingPlaygrounds, describe, before} from '@unique/test-utils/util'; const TREASURY = '5EYCAe5ijiYfyeZ2JJCGq56LmPyNRAKzpG4QkoQkkQNB5e6Z'; diff --git a/js-packages/tests/limits.test.ts b/js-packages/tests/limits.test.ts index abc58a0266..d58722258c 100644 --- a/js-packages/tests/limits.test.ts +++ b/js-packages/tests/limits.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, describe, before} from '@unique/test-utils/util.js'; +import {expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, describe, before} from '@unique/test-utils/util'; describe('Number of tokens per address (NFT)', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/nativeFungible.test.ts b/js-packages/tests/nativeFungible.test.ts index 7e8a9bcf05..9fb9f8ea6f 100644 --- a/js-packages/tests/nativeFungible.test.ts +++ b/js-packages/tests/nativeFungible.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util'; describe('Native fungible', () => { let root: IKeyringPair; diff --git a/js-packages/tests/nextSponsoring.test.ts b/js-packages/tests/nextSponsoring.test.ts index 849d4ad39f..37689f88d3 100644 --- a/js-packages/tests/nextSponsoring.test.ts +++ b/js-packages/tests/nextSponsoring.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util'; const SPONSORING_TIMEOUT = 5; diff --git a/js-packages/tests/pallet-presence.test.ts b/js-packages/tests/pallet-presence.test.ts index b3bcc7e74f..b149e07283 100644 --- a/js-packages/tests/pallet-presence.test.ts +++ b/js-packages/tests/pallet-presence.test.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Unique Network. If not, see . -import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util'; // Pallets that must always be present const requiredPallets = [ diff --git a/js-packages/tests/performance.seq.test.ts b/js-packages/tests/performance.seq.test.ts index 5eac001a97..828b5064fc 100644 --- a/js-packages/tests/performance.seq.test.ts +++ b/js-packages/tests/performance.seq.test.ts @@ -16,9 +16,9 @@ import {ApiPromise} from '@polkadot/api'; import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; -import type {ICrossAccountId, IProperty} from '@unique-nft/playgrounds/types.js'; -import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util'; +import type {ICrossAccountId, IProperty} from '@unique-nft/playgrounds/types.ts'; +import {UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; describe('Performace tests', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/refungible.test.ts b/js-packages/tests/refungible.test.ts index 585391d2e3..87ed783af6 100644 --- a/js-packages/tests/refungible.test.ts +++ b/js-packages/tests/refungible.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util'; const MAX_REFUNGIBLE_PIECES = 1_000_000_000_000_000_000_000n; diff --git a/js-packages/tests/removeCollectionAdmin.test.ts b/js-packages/tests/removeCollectionAdmin.test.ts index f2756f42f2..30b1b7a38e 100644 --- a/js-packages/tests/removeCollectionAdmin.test.ts +++ b/js-packages/tests/removeCollectionAdmin.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test removeCollectionAdmin(collection_id, account_id):', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/removeCollectionSponsor.test.ts b/js-packages/tests/removeCollectionSponsor.test.ts index aa881d3be5..f085f77301 100644 --- a/js-packages/tests/removeCollectionSponsor.test.ts +++ b/js-packages/tests/removeCollectionSponsor.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('integration test: ext. removeCollectionSponsor():', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/rpc.test.ts b/js-packages/tests/rpc.test.ts index 036e7b4b49..39d271594c 100644 --- a/js-packages/tests/rpc.test.ts +++ b/js-packages/tests/rpc.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; -import {ICrossAccountId} from '@unique-nft/playgrounds/types.js'; +import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util'; +import {ICrossAccountId} from '@unique-nft/playgrounds/types.ts'; describe('integration test: RPC methods', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/setCollectionLimits.test.ts b/js-packages/tests/setCollectionLimits.test.ts index b22fc6d91f..4a958a4d18 100644 --- a/js-packages/tests/setCollectionLimits.test.ts +++ b/js-packages/tests/setCollectionLimits.test.ts @@ -16,8 +16,8 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; const accountTokenOwnershipLimit = 0; const sponsoredDataSize = 0; diff --git a/js-packages/tests/setCollectionSponsor.test.ts b/js-packages/tests/setCollectionSponsor.test.ts index 16ffcecf9c..88059c8726 100644 --- a/js-packages/tests/setCollectionSponsor.test.ts +++ b/js-packages/tests/setCollectionSponsor.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, expect, Pallets} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {before, describe, itSub, usingPlaygrounds, expect, Pallets} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('integration test: ext. setCollectionSponsor():', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/setPermissions.test.ts b/js-packages/tests/setPermissions.test.ts index d1123bbf53..d0d0c1795d 100644 --- a/js-packages/tests/setPermissions.test.ts +++ b/js-packages/tests/setPermissions.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {itSub, usingPlaygrounds, expect, describe, before} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test: Set Permissions', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/appPromotion/appPromotion.seqtest.ts b/js-packages/tests/sub/appPromotion/appPromotion.seqtest.ts index c2f6b0bbca..2861bbbf4a 100644 --- a/js-packages/tests/sub/appPromotion/appPromotion.seqtest.ts +++ b/js-packages/tests/sub/appPromotion/appPromotion.seqtest.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util.js'; -import {expect} from '@unique/test-utils/eth/util.js'; +import {before, describe, itSub, usingPlaygrounds, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util'; +import {expect} from '@unique/test-utils/eth/util'; let superuser: IKeyringPair; let donor: IKeyringPair; diff --git a/js-packages/tests/sub/appPromotion/appPromotion.test.ts b/js-packages/tests/sub/appPromotion/appPromotion.test.ts index ddf678bd9a..3aa844f067 100644 --- a/js-packages/tests/sub/appPromotion/appPromotion.test.ts +++ b/js-packages/tests/sub/appPromotion/appPromotion.test.ts @@ -20,9 +20,9 @@ import { CALCULATION_PERIOD, INTERVAL_INCOME, afterEach, -} from '@unique/test-utils/util.js'; +} from '@unique/test-utils/util'; import {DevUniqueHelper} from '@unique/test-utils'; -import {itEth, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util.js'; +import {itEth, expect, SponsoringMode, waitParams} from '@unique/test-utils/eth/util'; let donor: IKeyringPair; let palletAdmin: IKeyringPair; diff --git a/js-packages/tests/sub/check-event/burnItemEvent.test.ts b/js-packages/tests/sub/check-event/burnItemEvent.test.ts index 0e4ca6fd4c..bde1776426 100644 --- a/js-packages/tests/sub/check-event/burnItemEvent.test.ts +++ b/js-packages/tests/sub/check-event/burnItemEvent.test.ts @@ -16,8 +16,8 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; -import type {IEvent} from '@unique-nft/playgrounds/types.js'; +import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util'; +import type {IEvent} from '@unique-nft/playgrounds/types.ts'; describe('Burn Item event ', () => { diff --git a/js-packages/tests/sub/check-event/createCollectionEvent.test.ts b/js-packages/tests/sub/check-event/createCollectionEvent.test.ts index 7a4e337fae..8bad506907 100644 --- a/js-packages/tests/sub/check-event/createCollectionEvent.test.ts +++ b/js-packages/tests/sub/check-event/createCollectionEvent.test.ts @@ -16,8 +16,8 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; -import type {IEvent} from '@unique-nft/playgrounds/types.js'; +import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util'; +import type {IEvent} from '@unique-nft/playgrounds/types.ts'; describe('Create collection event ', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/check-event/createItemEvent.test.ts b/js-packages/tests/sub/check-event/createItemEvent.test.ts index 7b37c01286..e42da58af1 100644 --- a/js-packages/tests/sub/check-event/createItemEvent.test.ts +++ b/js-packages/tests/sub/check-event/createItemEvent.test.ts @@ -16,8 +16,8 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import type {IEvent} from '@unique-nft/playgrounds/types.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util'; +import type {IEvent} from '@unique-nft/playgrounds/types.ts'; describe('Create Item event ', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/check-event/createMultipleItemsEvent.test.ts b/js-packages/tests/sub/check-event/createMultipleItemsEvent.test.ts index 7e6f596a06..34ff3aac17 100644 --- a/js-packages/tests/sub/check-event/createMultipleItemsEvent.test.ts +++ b/js-packages/tests/sub/check-event/createMultipleItemsEvent.test.ts @@ -16,8 +16,8 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util.js'; -import type {IEvent} from '@unique-nft/playgrounds/types.js'; +import {before, describe, usingPlaygrounds, itSub, expect} from '@unique/test-utils/util'; +import type {IEvent} from '@unique-nft/playgrounds/types.ts'; describe('Create Multiple Items Event event ', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/check-event/destroyCollectionEvent.test.ts b/js-packages/tests/sub/check-event/destroyCollectionEvent.test.ts index c10f64874f..ceeee67c28 100644 --- a/js-packages/tests/sub/check-event/destroyCollectionEvent.test.ts +++ b/js-packages/tests/sub/check-event/destroyCollectionEvent.test.ts @@ -16,8 +16,8 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import type {IEvent} from '@unique-nft/playgrounds/types.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util'; +import type {IEvent} from '@unique-nft/playgrounds/types.ts'; describe('Destroy collection event ', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/check-event/transferEvent.test.ts b/js-packages/tests/sub/check-event/transferEvent.test.ts index 2016194a52..d8d2b9fe79 100644 --- a/js-packages/tests/sub/check-event/transferEvent.test.ts +++ b/js-packages/tests/sub/check-event/transferEvent.test.ts @@ -16,8 +16,8 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; -import type {IEvent} from '@unique-nft/playgrounds/types.js'; +import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util'; +import type {IEvent} from '@unique-nft/playgrounds/types.ts'; describe('Transfer event ', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/check-event/transferFromEvent.test.ts b/js-packages/tests/sub/check-event/transferFromEvent.test.ts index 59c281e22c..67cb5750ed 100644 --- a/js-packages/tests/sub/check-event/transferFromEvent.test.ts +++ b/js-packages/tests/sub/check-event/transferFromEvent.test.ts @@ -16,8 +16,8 @@ // https://unique-network.readthedocs.io/en/latest/jsapi.html#setchainlimits import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util.js'; -import type {IEvent} from '@unique-nft/playgrounds/types.js'; +import {before, describe, usingPlaygrounds, expect, itSub} from '@unique/test-utils/util'; +import type {IEvent} from '@unique-nft/playgrounds/types.ts'; describe('Transfer event ', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/collator-selection/collatorSelection.seqtest.ts b/js-packages/tests/sub/collator-selection/collatorSelection.seqtest.ts index 3b6ef4d720..1cb77b2d8f 100644 --- a/js-packages/tests/sub/collator-selection/collatorSelection.seqtest.ts +++ b/js-packages/tests/sub/collator-selection/collatorSelection.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util'; import process from "node:process"; async function nodeAddress(name: string) { diff --git a/js-packages/tests/sub/collator-selection/identity.seqtest.ts b/js-packages/tests/sub/collator-selection/identity.seqtest.ts index 7fae6f809b..0f819c866f 100644 --- a/js-packages/tests/sub/collator-selection/identity.seqtest.ts +++ b/js-packages/tests/sub/collator-selection/identity.seqtest.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util.js'; -import {UniqueHelper} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip, after} from '@unique/test-utils/util'; +import {UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; import process from "node:process"; async function getIdentities(helper: UniqueHelper) { diff --git a/js-packages/tests/sub/governance/council.test.ts b/js-packages/tests/sub/governance/council.test.ts index be448d4613..43ee16027b 100644 --- a/js-packages/tests/sub/governance/council.test.ts +++ b/js-packages/tests/sub/governance/council.test.ts @@ -1,8 +1,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, beforeEach, afterEach} from '@unique/test-utils/util.js'; +import {before, describe, usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, beforeEach, afterEach} from '@unique/test-utils/util'; import {Event} from '@unique/test-utils'; -import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, councilMotionDuration, democracyFastTrackVotingPeriod, fellowshipRankLimit, clearCouncil, clearTechComm, initTechComm, clearFellowship, dummyProposal, dummyProposalCall, initFellowship, defaultEnactmentMoment, fellowshipPropositionOrigin, initFinCouncil} from './util.js'; -import type {ICounselors} from './util.js'; +import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, councilMotionDuration, democracyFastTrackVotingPeriod, fellowshipRankLimit, clearCouncil, clearTechComm, initTechComm, clearFellowship, dummyProposal, dummyProposalCall, initFellowship, defaultEnactmentMoment, fellowshipPropositionOrigin, initFinCouncil} from './util.ts'; +import type {ICounselors} from './util.ts'; describe.ifRunGov('Governance: Council tests', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/sub/governance/democracy.test.ts b/js-packages/tests/sub/governance/democracy.test.ts index 91517dc491..de12895cea 100644 --- a/js-packages/tests/sub/governance/democracy.test.ts +++ b/js-packages/tests/sub/governance/democracy.test.ts @@ -1,6 +1,6 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, before, describe} from '@unique/test-utils/util.js'; -import {clearFellowship, democracyLaunchPeriod, democracyTrackMinRank, dummyProposalCall, fellowshipConfirmPeriod, fellowshipMinEnactPeriod, fellowshipPreparePeriod, fellowshipPropositionOrigin, initFellowship, voteUnanimouslyInFellowship} from './util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, before, describe} from '@unique/test-utils/util'; +import {clearFellowship, democracyLaunchPeriod, democracyTrackMinRank, dummyProposalCall, fellowshipConfirmPeriod, fellowshipMinEnactPeriod, fellowshipPreparePeriod, fellowshipPropositionOrigin, initFellowship, voteUnanimouslyInFellowship} from './util.ts'; import {Event} from '@unique/test-utils'; describe.ifRunGov('Governance: Democracy tests', () => { diff --git a/js-packages/tests/sub/governance/electsudo.test.ts b/js-packages/tests/sub/governance/electsudo.test.ts index 7520e8b82f..4496853a91 100644 --- a/js-packages/tests/sub/governance/electsudo.test.ts +++ b/js-packages/tests/sub/governance/electsudo.test.ts @@ -1,8 +1,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after, afterEach} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after, afterEach} from '@unique/test-utils/util'; import {Event} from '@unique/test-utils'; -import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, clearCouncil, clearTechComm, initTechComm, ITechComms} from './util.js'; -import type {ICounselors} from './util.js'; +import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, clearCouncil, clearTechComm, initTechComm, ITechComms} from './util.ts'; +import type {ICounselors} from './util.ts'; describe.ifRunGov('Governance: Elect Sudo', () => { let sudoer: IKeyringPair; diff --git a/js-packages/tests/sub/governance/fellowship.test.ts b/js-packages/tests/sub/governance/fellowship.test.ts index 4f0ee70ae6..3ac57b08c1 100644 --- a/js-packages/tests/sub/governance/fellowship.test.ts +++ b/js-packages/tests/sub/governance/fellowship.test.ts @@ -1,8 +1,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util'; import {DevUniqueHelper, Event} from '@unique/test-utils'; -import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyFastTrackVotingPeriod, fellowshipRankLimit, clearCouncil, clearTechComm, clearFellowship, defaultEnactmentMoment, dummyProposal, dummyProposalCall, fellowshipPropositionOrigin, initFellowship, initTechComm, voteUnanimouslyInFellowship, democracyTrackMinRank, fellowshipPreparePeriod, fellowshipConfirmPeriod, fellowshipMinEnactPeriod, democracyTrackId, hardResetFellowshipReferenda, hardResetDemocracy, hardResetGovScheduler} from './util.js'; -import type {ICounselors, ITechComms} from './util.js'; +import {initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyFastTrackVotingPeriod, fellowshipRankLimit, clearCouncil, clearTechComm, clearFellowship, defaultEnactmentMoment, dummyProposal, dummyProposalCall, fellowshipPropositionOrigin, initFellowship, initTechComm, voteUnanimouslyInFellowship, democracyTrackMinRank, fellowshipPreparePeriod, fellowshipConfirmPeriod, fellowshipMinEnactPeriod, democracyTrackId, hardResetFellowshipReferenda, hardResetDemocracy, hardResetGovScheduler} from './util.ts'; +import type {ICounselors, ITechComms} from './util.ts'; describe.ifRunGov('Governance: Fellowship tests', () => { let members: IKeyringPair[][]; diff --git a/js-packages/tests/sub/governance/financialCouncil.test.ts b/js-packages/tests/sub/governance/financialCouncil.test.ts index f1a40514cb..95487764ef 100644 --- a/js-packages/tests/sub/governance/financialCouncil.test.ts +++ b/js-packages/tests/sub/governance/financialCouncil.test.ts @@ -1,7 +1,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, describe, before, beforeEach, afterEach} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, describe, before, beforeEach, afterEach} from '@unique/test-utils/util'; import {Event} from '@unique/test-utils'; -import {democracyFastTrackVotingPeriod, IFinCounselors, clearTechComm, dummyProposalCall, initFinCouncil, clearFinCouncil, democracyLaunchPeriod, initFellowship, dummyProposal, fellowshipPropositionOrigin, defaultEnactmentMoment, initCouncil, clearCouncil, clearFellowship} from './util.js'; +import {democracyFastTrackVotingPeriod, IFinCounselors, clearTechComm, dummyProposalCall, initFinCouncil, clearFinCouncil, democracyLaunchPeriod, initFellowship, dummyProposal, fellowshipPropositionOrigin, defaultEnactmentMoment, initCouncil, clearCouncil, clearFellowship} from './util.ts'; describe.ifRunGov('Governance: Financial Council tests', () => { diff --git a/js-packages/tests/sub/governance/init.test.ts b/js-packages/tests/sub/governance/init.test.ts index 5a04c40944..ad3274f988 100644 --- a/js-packages/tests/sub/governance/init.test.ts +++ b/js-packages/tests/sub/governance/init.test.ts @@ -1,8 +1,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util'; import {Event} from '@unique/test-utils'; -import {democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, clearCouncil, clearTechComm, clearFellowship} from './util.js'; -import type {ICounselors, ITechComms} from './util.js'; +import {democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, clearCouncil, clearTechComm, clearFellowship} from './util.ts'; +import type {ICounselors, ITechComms} from './util.ts'; describe.ifRunGov('Governance: Initialization', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/sub/governance/technicalCommittee.test.ts b/js-packages/tests/sub/governance/technicalCommittee.test.ts index 62a180b2f9..2676064cce 100644 --- a/js-packages/tests/sub/governance/technicalCommittee.test.ts +++ b/js-packages/tests/sub/governance/technicalCommittee.test.ts @@ -1,8 +1,8 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util.js'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describe, before, after} from '@unique/test-utils/util'; import {Event} from '@unique/test-utils'; -import {initCouncil, democracyLaunchPeriod, democracyFastTrackVotingPeriod, clearCouncil, clearTechComm, clearFellowship, defaultEnactmentMoment, dummyProposal, dummyProposalCall, fellowshipPropositionOrigin, initFellowship, initTechComm, hardResetFellowshipReferenda, hardResetDemocracy, hardResetGovScheduler} from './util.js'; -import type {ITechComms} from './util.js'; +import {initCouncil, democracyLaunchPeriod, democracyFastTrackVotingPeriod, clearCouncil, clearTechComm, clearFellowship, defaultEnactmentMoment, dummyProposal, dummyProposalCall, fellowshipPropositionOrigin, initFellowship, initTechComm, hardResetFellowshipReferenda, hardResetDemocracy, hardResetGovScheduler} from './util.ts'; +import type {ITechComms} from './util.ts'; describe.ifRunGov('Governance: Technical Committee tests', () => { let sudoer: IKeyringPair; diff --git a/js-packages/tests/sub/governance/util.ts b/js-packages/tests/sub/governance/util.ts index 5556a1251f..00217ce3e5 100644 --- a/js-packages/tests/sub/governance/util.ts +++ b/js-packages/tests/sub/governance/util.ts @@ -1,7 +1,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import {xxhashAsHex} from '@polkadot/util-crypto'; import type {u32} from '@polkadot/types-codec'; -import {usingPlaygrounds, expect} from '@unique/test-utils/util.ts'; +import {usingPlaygrounds, expect} from '@unique/test-utils/util'; import {UniqueHelper} from '@unique-nft/playgrounds/unique.ts'; import {DevUniqueHelper} from '@unique/test-utils'; diff --git a/js-packages/tests/sub/nesting/admin.test.ts b/js-packages/tests/sub/nesting/admin.test.ts index f789ef1123..6c53850b1f 100644 --- a/js-packages/tests/sub/nesting/admin.test.ts +++ b/js-packages/tests/sub/nesting/admin.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; -import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util'; +import {CrossAccountId} from '@unique-nft/playgrounds/unique.ts'; describe('Nesting by collection admin', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/collectionProperties.seqtest.ts b/js-packages/tests/sub/nesting/collectionProperties.seqtest.ts index 1573ace036..543f997543 100644 --- a/js-packages/tests/sub/nesting/collectionProperties.seqtest.ts +++ b/js-packages/tests/sub/nesting/collectionProperties.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util'; describe('Integration Test: Collection Properties with sudo', () => { let superuser: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/collectionProperties.test.ts b/js-packages/tests/sub/nesting/collectionProperties.test.ts index 09adb80046..f6564e5485 100644 --- a/js-packages/tests/sub/nesting/collectionProperties.test.ts +++ b/js-packages/tests/sub/nesting/collectionProperties.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util'; describe('Integration Test: Collection Properties', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/common.test.ts b/js-packages/tests/sub/nesting/common.test.ts index e975850a69..170deffdba 100644 --- a/js-packages/tests/sub/nesting/common.test.ts +++ b/js-packages/tests/sub/nesting/common.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; -import {CrossAccountId, UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util'; +import {CrossAccountId, UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.ts'; let alice: IKeyringPair; let bob: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/e2e.test.ts b/js-packages/tests/sub/nesting/e2e.test.ts index a88c25a4db..275f5082f3 100644 --- a/js-packages/tests/sub/nesting/e2e.test.ts +++ b/js-packages/tests/sub/nesting/e2e.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; -import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util'; +import {CrossAccountId} from '@unique-nft/playgrounds/unique.ts'; describe('Composite nesting tests', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/graphs.test.ts b/js-packages/tests/sub/nesting/graphs.test.ts index e6e371ea8a..686ce14b72 100644 --- a/js-packages/tests/sub/nesting/graphs.test.ts +++ b/js-packages/tests/sub/nesting/graphs.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; -import {UniqueHelper, UniqueNFTCollection, UniqueNFToken} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util'; +import {UniqueHelper, UniqueNFTCollection, UniqueNFToken} from '@unique-nft/playgrounds/unique.ts'; /** * ```dot diff --git a/js-packages/tests/sub/nesting/nesting.negative.test.ts b/js-packages/tests/sub/nesting/nesting.negative.test.ts index fa50ba5247..9c9656fc0a 100644 --- a/js-packages/tests/sub/nesting/nesting.negative.test.ts +++ b/js-packages/tests/sub/nesting/nesting.negative.test.ts @@ -15,9 +15,9 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; -import {UniqueFTCollection, UniqueNFTCollection, UniqueNFToken, UniqueRFTCollection, UniqueRFToken} from '@unique-nft/playgrounds/unique.js'; -import {itEth} from '@unique/test-utils/eth/util.js'; +import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util'; +import {UniqueFTCollection, UniqueNFTCollection, UniqueNFToken, UniqueRFTCollection, UniqueRFToken} from '@unique-nft/playgrounds/unique.ts'; +import {itEth} from '@unique/test-utils/eth/util'; let alice: IKeyringPair; let bob: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/propertyPermissions.test.ts b/js-packages/tests/sub/nesting/propertyPermissions.test.ts index 78a2c9be65..986a08ff69 100644 --- a/js-packages/tests/sub/nesting/propertyPermissions.test.ts +++ b/js-packages/tests/sub/nesting/propertyPermissions.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import {UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util'; +import {UniqueNFTCollection, UniqueRFTCollection} from '@unique-nft/playgrounds/unique.ts'; describe('Integration Test: Access Rights to Token Properties', () => { let alice: IKeyringPair; @@ -35,7 +35,7 @@ describe('Integration Test: Access Rights to Token Properties', () => { expect(propertyRights).to.be.empty; }); - async function testSetsAccessRightsToProperties(collection: UniqueNFTCollection | UniqueRFTCollection) { + async function tetsAccessRightsToProperties(collection: UniqueNFTCollection | UniqueRFTCollection) { await expect(collection.setTokenPropertyPermissions(alice, [{key: 'skullduggery', permission: {mutable: true}}])) .to.be.fulfilled; @@ -52,11 +52,11 @@ describe('Integration Test: Access Rights to Token Properties', () => { } itSub('Sets access rights to properties of a collection (NFT)', async ({helper}) => { - await testSetsAccessRightsToProperties(await helper.nft.mintCollection(alice)); + await tetsAccessRightsToProperties(await helper.nft.mintCollection(alice)); }); itSub.ifWithPallets('Sets access rights to properties of a collection (ReFungible)', [Pallets.ReFungible], async ({helper}) => { - await testSetsAccessRightsToProperties(await helper.rft.mintCollection(alice)); + await tetsAccessRightsToProperties(await helper.rft.mintCollection(alice)); }); async function testChangesAccessRightsToProperty(collection: UniqueNFTCollection | UniqueRFTCollection) { diff --git a/js-packages/tests/sub/nesting/refungible.test.ts b/js-packages/tests/sub/nesting/refungible.test.ts index 66efbf0a90..0a7fa54e0c 100644 --- a/js-packages/tests/sub/nesting/refungible.test.ts +++ b/js-packages/tests/sub/nesting/refungible.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, Pallets, usingPlaygrounds} from '@unique/test-utils/util'; describe('ReFungible-specific nesting tests', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/tokenProperties.seqtest.ts b/js-packages/tests/sub/nesting/tokenProperties.seqtest.ts index 76937ea146..aba0ad539c 100644 --- a/js-packages/tests/sub/nesting/tokenProperties.seqtest.ts +++ b/js-packages/tests/sub/nesting/tokenProperties.seqtest.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect, requirePalletsOrSkip, sizeOfProperty} from '@unique/test-utils/util'; describe('Integration Test: Token Properties with sudo', () => { let superuser: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/tokenProperties.test.ts b/js-packages/tests/sub/nesting/tokenProperties.test.ts index ecd8ddbeaf..1b9311fa03 100644 --- a/js-packages/tests/sub/nesting/tokenProperties.test.ts +++ b/js-packages/tests/sub/nesting/tokenProperties.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect, sizeOfProperty} from '@unique/test-utils/util.js'; -import {UniqueHelper, UniqueNFToken, UniqueRFToken} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect, sizeOfProperty} from '@unique/test-utils/util'; +import {UniqueHelper, UniqueNFToken, UniqueRFToken} from '@unique-nft/playgrounds/unique.ts'; describe('Integration Test: Token Properties', () => { let alice: IKeyringPair; // collection owner diff --git a/js-packages/tests/sub/nesting/unnest.test.ts b/js-packages/tests/sub/nesting/unnest.test.ts index 5453208bcb..3a52d2b538 100644 --- a/js-packages/tests/sub/nesting/unnest.test.ts +++ b/js-packages/tests/sub/nesting/unnest.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, Pallets, usingPlaygrounds, describe, before, itSub} from '@unique/test-utils/util.js'; -import {CrossAccountId, UniqueFTCollection, UniqueNFToken, UniqueRFToken} from '@unique-nft/playgrounds/unique.js'; +import {expect, Pallets, usingPlaygrounds, describe, before, itSub} from '@unique/test-utils/util'; +import {CrossAccountId, UniqueFTCollection, UniqueNFToken, UniqueRFToken} from '@unique-nft/playgrounds/unique.ts'; describe('Integration Test: Unnesting', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/nesting/unnesting.negative.test.ts b/js-packages/tests/sub/nesting/unnesting.negative.test.ts index fb54abaf63..ae22397d23 100644 --- a/js-packages/tests/sub/nesting/unnesting.negative.test.ts +++ b/js-packages/tests/sub/nesting/unnesting.negative.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util.js'; -import {CrossAccountId} from '@unique-nft/playgrounds/unique.js'; +import {before, describe, expect, itSub, usingPlaygrounds} from '@unique/test-utils/util'; +import {CrossAccountId} from '@unique-nft/playgrounds/unique.ts'; describe('Negative Test: Unnesting', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/refungible/burn.test.ts b/js-packages/tests/sub/refungible/burn.test.ts index e6e463f713..85372f69e5 100644 --- a/js-packages/tests/sub/refungible/burn.test.ts +++ b/js-packages/tests/sub/refungible/burn.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util'; describe('Refungible: burn', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/sub/refungible/nesting.test.ts b/js-packages/tests/sub/refungible/nesting.test.ts index acc5fec513..9ba3ef34ed 100644 --- a/js-packages/tests/sub/refungible/nesting.test.ts +++ b/js-packages/tests/sub/refungible/nesting.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util.js'; +import {before, describe, expect, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from '@unique/test-utils/util'; describe('Refungible nesting', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/sub/refungible/repartition.test.ts b/js-packages/tests/sub/refungible/repartition.test.ts index 5a50a302a2..44256af948 100644 --- a/js-packages/tests/sub/refungible/repartition.test.ts +++ b/js-packages/tests/sub/refungible/repartition.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util'; describe('integration test: Refungible functionality:', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/sub/refungible/transfer.test.ts b/js-packages/tests/sub/refungible/transfer.test.ts index 6f6d575ba5..7256c451ec 100644 --- a/js-packages/tests/sub/refungible/transfer.test.ts +++ b/js-packages/tests/sub/refungible/transfer.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds, expect} from '@unique/test-utils/util'; describe('Refungible transfer tests', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/transfer.test.ts b/js-packages/tests/transfer.test.ts index c22a264f8f..5445762f09 100644 --- a/js-packages/tests/transfer.test.ts +++ b/js-packages/tests/transfer.test.ts @@ -15,9 +15,9 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util.js'; -import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {itEth, usingEthPlaygrounds} from '@unique/test-utils/eth/util'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test Transfer(recipient, collection_id, item_id, value)', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/transferFrom.test.ts b/js-packages/tests/transferFrom.test.ts index f725d99970..3587aebc85 100644 --- a/js-packages/tests/transferFrom.test.ts +++ b/js-packages/tests/transferFrom.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; -import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.js'; +import {before, describe, itSub, Pallets, usingPlaygrounds, expect} from '@unique/test-utils/util'; +import {NON_EXISTENT_COLLECTION_ID} from '@unique-nft/playgrounds/types.ts'; describe('Integration Test transferFrom(from, recipient, collection_id, item_id, value):', () => { let alice: IKeyringPair; diff --git a/js-packages/tests/tx-version-presence.test.ts b/js-packages/tests/tx-version-presence.test.ts index 9a3b8f0dbc..d5a69c05f1 100644 --- a/js-packages/tests/tx-version-presence.test.ts +++ b/js-packages/tests/tx-version-presence.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import {Metadata} from '@polkadot/types'; -import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.ts'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util'; let metadata: Metadata; diff --git a/js-packages/tests/vesting.test.ts b/js-packages/tests/vesting.test.ts index 1587a57577..17a145e4b4 100644 --- a/js-packages/tests/vesting.test.ts +++ b/js-packages/tests/vesting.test.ts @@ -15,7 +15,7 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util.js'; +import {before, describe, itSub, usingPlaygrounds, expect} from '@unique/test-utils/util'; describe('Vesting', () => { let donor: IKeyringPair; diff --git a/js-packages/tests/xcm/quartz.test.ts b/js-packages/tests/xcm/quartz.test.ts index 7eec223db4..011c0feda1 100644 --- a/js-packages/tests/xcm/quartz.test.ts +++ b/js-packages/tests/xcm/quartz.test.ts @@ -15,8 +15,8 @@ // along with Unique Network. If not, see . import type {IKeyringPair} from '@polkadot/types/types'; -import {before, describe, itSub, usingPlaygrounds, usingKaruraPlaygrounds, usingShidenPlaygrounds, usingMoonriverPlaygrounds, usingRelayPlaygrounds, usingKusamaAssetHubPlaygrounds} from '@unique/test-utils/util.js'; -import {QUARTZ_CHAIN, SAFE_XCM_VERSION, XcmTestHelper, SENDER_BUDGET, SENDTO_AMOUNT, SENDBACK_AMOUNT, SHIDEN_DECIMALS, UNQ_DECIMALS, POLKADOT_ASSETHUB_CHAIN, USDT_ASSET_ID, USDT_DECIMALS, ASSET_HUB_PALLET_ASSETS} from './xcm.types.js'; +import {before, describe, itSub, usingPlaygrounds, usingKaruraPlaygrounds, usingShidenPlaygrounds, usingMoonriverPlaygrounds, usingRelayPlaygrounds, usingKusamaAssetHubPlaygrounds} from '@unique/test-utils/util'; +import {QUARTZ_CHAIN, SAFE_XCM_VERSION, XcmTestHelper, SENDER_BUDGET, SENDTO_AMOUNT, SENDBACK_AMOUNT, SHIDEN_DECIMALS, UNQ_DECIMALS, POLKADOT_ASSETHUB_CHAIN, USDT_ASSET_ID, USDT_DECIMALS, ASSET_HUB_PALLET_ASSETS} from './xcm.types.ts'; import {hexToString} from '@polkadot/util'; const testHelper = new XcmTestHelper; diff --git a/js-packages/tests/xcm/unique.test.ts b/js-packages/tests/xcm/unique.test.ts index 160ea2065e..505fdb51e4 100644 --- a/js-packages/tests/xcm/unique.test.ts +++ b/js-packages/tests/xcm/unique.test.ts @@ -16,7 +16,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; import config from '../config.ts'; -import {itSub, describe, usingPlaygrounds, usingAcalaPlaygrounds, usingMoonbeamPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingRelayPlaygrounds, usingPolkadotAssetHubPlaygrounds, before} from '@unique/test-utils/util.ts'; +import {itSub, describe, usingPlaygrounds, usingAcalaPlaygrounds, usingMoonbeamPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingRelayPlaygrounds, usingPolkadotAssetHubPlaygrounds, before} from '@unique/test-utils/util'; import {hexToString} from '@polkadot/util'; import {ASSET_HUB_PALLET_ASSETS, ASTAR_DECIMALS, POLKADOT_ASSETHUB_CHAIN, SAFE_XCM_VERSION, SENDBACK_AMOUNT, SENDER_BUDGET, SENDTO_AMOUNT, UNIQUE_CHAIN, UNQ_DECIMALS, USDT_ASSET_ID, USDT_DECIMALS, XcmTestHelper} from './xcm.types.ts'; diff --git a/js-packages/tests/xcm/xcm.types.ts b/js-packages/tests/xcm/xcm.types.ts index e470f01976..ab5c20c516 100644 --- a/js-packages/tests/xcm/xcm.types.ts +++ b/js-packages/tests/xcm/xcm.types.ts @@ -1,7 +1,7 @@ import type {IKeyringPair} from '@polkadot/types/types'; -import {expect, usingAcalaPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingKaruraPlaygrounds, usingKusamaAssetHubPlaygrounds, usingMoonbeamPlaygrounds, usingMoonriverPlaygrounds, usingPlaygrounds, usingPolkadotAssetHubPlaygrounds, usingRelayPlaygrounds, usingShidenPlaygrounds} from '@unique/test-utils/util.ts'; +import {expect, usingAcalaPlaygrounds, usingAstarPlaygrounds, usingHydraDxPlaygrounds, usingKaruraPlaygrounds, usingKusamaAssetHubPlaygrounds, usingMoonbeamPlaygrounds, usingMoonriverPlaygrounds, usingPlaygrounds, usingPolkadotAssetHubPlaygrounds, usingRelayPlaygrounds, usingShidenPlaygrounds} from '@unique/test-utils/util'; import {DevAcalaHelper, DevAstarHelper, DevHydraDxHelper, DevMoonbeamHelper, DevRelayHelper, DevUniqueHelper, DevWestmintHelper, Event} from '@unique/test-utils'; -import {AcalaHelper, AstarHelper} from '@unique/test-utils/xcm/index.ts'; +import {AcalaHelper, AstarHelper} from '@unique/test-utils/xcm/index'; import {IEvent} from '@unique-nft/playgrounds/types.ts'; import process from "node:process"; diff --git a/js-packages/types/appPromotion/index.ts b/js-packages/types/appPromotion/index.ts index 7f1de782f7..4f68c7f53c 100644 --- a/js-packages/types/appPromotion/index.ts +++ b/js-packages/types/appPromotion/index.ts @@ -1,4 +1,4 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -export * from './types.js'; +export * from './types.ts'; diff --git a/js-packages/types/augment-types.ts b/js-packages/types/augment-types.ts index cf26aa6dc1..b2060b5353 100644 --- a/js-packages/types/augment-types.ts +++ b/js-packages/types/augment-types.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueueMigrationState, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity, CumulusPalletParachainSystemUnincludedSegmentAncestor, CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate, CumulusPalletParachainSystemUnincludedSegmentSegmentTracker, CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth, CumulusPalletXcmCall, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesCoreAggregateMessageOrigin, CumulusPrimitivesParachainInherentParachainInherentData, CumulusPrimitivesStorageWeightReclaimAllowDeprecatedStorageWeightReclaim, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionEip1559Eip1559Transaction, EthereumTransactionEip2930AccessListItem, EthereumTransactionEip2930Eip2930Transaction, EthereumTransactionLegacyLegacyTransaction, EthereumTransactionLegacyTransactionAction, EthereumTransactionLegacyTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameMetadataHashExtensionCheckMetadataHash, FrameMetadataHashExtensionMode, FrameSupportDispatchDispatchClass, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportMessagesProcessMessageError, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, FrameSupportStorageDisabled, FrameSupportTokensMiscBalanceStatus, FrameSupportTokensMiscIdAmount, FrameSystemAccountInfo, FrameSystemCall, FrameSystemCodeUpgradeAuthorization, FrameSystemDispatchEventInfo, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonFeeCoefficientCalculator, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OpalRuntimeRuntimeHoldReason, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesAdjustmentDirection, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCollatorSelectionHoldReason, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveHoldReason, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsForeignCollectionMode, PalletForeignAssetsMigrationStatus, PalletForeignAssetsMigrationStatusV3ToV5, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletFungibleError, PalletGovOriginsOrigin, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletMessageQueueBookState, PalletMessageQueueCall, PalletMessageQueueError, PalletMessageQueueEvent, PalletMessageQueueNeighbours, PalletMessageQueuePage, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageHoldReason, PalletPreimageOldRequestStatus, PalletPreimageRequestStatus, PalletRankedCollectiveCall, PalletRankedCollectiveError, PalletRankedCollectiveEvent, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletReferendaCall, PalletReferendaCurve, PalletReferendaDecidingStatus, PalletReferendaDeposit, PalletReferendaError, PalletReferendaEvent, PalletReferendaReferendumInfo, PalletReferendaReferendumStatus, PalletReferendaTrackDetails, PalletRefungibleError, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerRetryConfig, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletSponsoringChargeTransactionPayment, PalletSponsoringCheckNonce, PalletStateTrieMigrationCall, PalletStateTrieMigrationError, PalletStateTrieMigrationEvent, PalletStateTrieMigrationHoldReason, PalletStateTrieMigrationMigrationCompute, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryPaymentState, PalletTreasuryProposal, PalletTreasurySpendStatus, PalletUniqueCall, PalletUniqueError, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletXcmAuthorizedAliasesEntry, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmHoldReason, PalletXcmMaxAuthorizedAliases, PalletXcmOrigin, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV8AbridgedHostConfiguration, PolkadotPrimitivesV8AbridgedHrmpChannel, PolkadotPrimitivesV8AsyncBackingAsyncBackingParams, PolkadotPrimitivesV8PersistedValidationData, PolkadotPrimitivesV8UpgradeGoAhead, PolkadotPrimitivesV8UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeProvingTrieTrieError, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, StagingParachainInfoCall, StagingXcmExecutorAssetTransferTransferType, StagingXcmV3MultiLocation, StagingXcmV4Asset, StagingXcmV4AssetAssetFilter, StagingXcmV4AssetAssetId, StagingXcmV4AssetAssetInstance, StagingXcmV4AssetAssets, StagingXcmV4AssetFungibility, StagingXcmV4AssetWildAsset, StagingXcmV4AssetWildFungibility, StagingXcmV4Instruction, StagingXcmV4Junction, StagingXcmV4JunctionNetworkId, StagingXcmV4Junctions, StagingXcmV4Location, StagingXcmV4PalletInfo, StagingXcmV4QueryResponseInfo, StagingXcmV4Response, StagingXcmV4Xcm, StagingXcmV5Asset, StagingXcmV5AssetAssetFilter, StagingXcmV5AssetAssetId, StagingXcmV5AssetAssetInstance, StagingXcmV5AssetAssetTransferFilter, StagingXcmV5AssetAssets, StagingXcmV5AssetFungibility, StagingXcmV5AssetWildAsset, StagingXcmV5AssetWildFungibility, StagingXcmV5Hint, StagingXcmV5Instruction, StagingXcmV5Junction, StagingXcmV5JunctionNetworkId, StagingXcmV5Junctions, StagingXcmV5Location, StagingXcmV5PalletInfo, StagingXcmV5QueryResponseInfo, StagingXcmV5Response, StagingXcmV5TraitsOutcome, StagingXcmV5Xcm, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmRuntimeApisAuthorizedAliasesOriginAliaser, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3OriginKind, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsSendError, XcmV3WeightLimit, XcmV3Xcm, XcmV5TraitsError, XcmVersionedAsset, XcmVersionedAssetId, XcmVersionedAssets, XcmVersionedLocation, XcmVersionedResponse, XcmVersionedXcm } from './default'; +import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueueMigrationState, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispatchQueueRemainingCapacity, CumulusPalletParachainSystemUnincludedSegmentAncestor, CumulusPalletParachainSystemUnincludedSegmentHrmpChannelUpdate, CumulusPalletParachainSystemUnincludedSegmentSegmentTracker, CumulusPalletParachainSystemUnincludedSegmentUsedBandwidth, CumulusPalletXcmCall, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesCoreAggregateMessageOrigin, CumulusPrimitivesParachainInherentParachainInherentData, CumulusPrimitivesStorageWeightReclaimAllowDeprecatedStorageWeightReclaim, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionEip1559Eip1559Transaction, EthereumTransactionEip2930AccessListItem, EthereumTransactionEip2930Eip2930Transaction, EthereumTransactionLegacyLegacyTransaction, EthereumTransactionLegacyTransactionAction, EthereumTransactionLegacyTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameMetadataHashExtensionCheckMetadataHash, FrameMetadataHashExtensionMode, FrameSupportDispatchDispatchClass, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportMessagesProcessMessageError, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, FrameSupportStorageDisabled, FrameSupportTokensMiscBalanceStatus, FrameSupportTokensMiscIdAmount, FrameSystemAccountInfo, FrameSystemCall, FrameSystemCodeUpgradeAuthorization, FrameSystemDispatchEventInfo, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonFeeCoefficientCalculator, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OpalRuntimeRuntimeHoldReason, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesAdjustmentDirection, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCollatorSelectionHoldReason, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveHoldReason, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsForeignCollectionMode, PalletForeignAssetsMigrationStatus, PalletForeignAssetsMigrationStatusV3ToV5, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletFungibleError, PalletGovOriginsOrigin, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletMessageQueueBookState, PalletMessageQueueCall, PalletMessageQueueError, PalletMessageQueueEvent, PalletMessageQueueNeighbours, PalletMessageQueuePage, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageHoldReason, PalletPreimageOldRequestStatus, PalletPreimageRequestStatus, PalletRankedCollectiveCall, PalletRankedCollectiveError, PalletRankedCollectiveEvent, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletReferendaCall, PalletReferendaCurve, PalletReferendaDecidingStatus, PalletReferendaDeposit, PalletReferendaError, PalletReferendaEvent, PalletReferendaReferendumInfo, PalletReferendaReferendumStatus, PalletReferendaTrackDetails, PalletRefungibleError, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerRetryConfig, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletSponsoringChargeTransactionPayment, PalletSponsoringCheckNonce, PalletStateTrieMigrationCall, PalletStateTrieMigrationError, PalletStateTrieMigrationEvent, PalletStateTrieMigrationHoldReason, PalletStateTrieMigrationMigrationCompute, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryPaymentState, PalletTreasuryProposal, PalletTreasurySpendStatus, PalletUniqueCall, PalletUniqueError, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletXcmAuthorizedAliasesEntry, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmHoldReason, PalletXcmMaxAuthorizedAliases, PalletXcmOrigin, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV8AbridgedHostConfiguration, PolkadotPrimitivesV8AbridgedHrmpChannel, PolkadotPrimitivesV8AsyncBackingAsyncBackingParams, PolkadotPrimitivesV8PersistedValidationData, PolkadotPrimitivesV8UpgradeGoAhead, PolkadotPrimitivesV8UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeProvingTrieTrieError, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, StagingParachainInfoCall, StagingXcmExecutorAssetTransferTransferType, StagingXcmV3MultiLocation, StagingXcmV4Asset, StagingXcmV4AssetAssetFilter, StagingXcmV4AssetAssetId, StagingXcmV4AssetAssetInstance, StagingXcmV4AssetAssets, StagingXcmV4AssetFungibility, StagingXcmV4AssetWildAsset, StagingXcmV4AssetWildFungibility, StagingXcmV4Instruction, StagingXcmV4Junction, StagingXcmV4JunctionNetworkId, StagingXcmV4Junctions, StagingXcmV4Location, StagingXcmV4PalletInfo, StagingXcmV4QueryResponseInfo, StagingXcmV4Response, StagingXcmV4Xcm, StagingXcmV5Asset, StagingXcmV5AssetAssetFilter, StagingXcmV5AssetAssetId, StagingXcmV5AssetAssetInstance, StagingXcmV5AssetAssetTransferFilter, StagingXcmV5AssetAssets, StagingXcmV5AssetFungibility, StagingXcmV5AssetWildAsset, StagingXcmV5AssetWildFungibility, StagingXcmV5Hint, StagingXcmV5Instruction, StagingXcmV5Junction, StagingXcmV5JunctionNetworkId, StagingXcmV5Junctions, StagingXcmV5Location, StagingXcmV5PalletInfo, StagingXcmV5QueryResponseInfo, StagingXcmV5Response, StagingXcmV5TraitsOutcome, StagingXcmV5Xcm, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmRuntimeApisAuthorizedAliasesOriginAliaser, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3OriginKind, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsSendError, XcmV3WeightLimit, XcmV3Xcm, XcmV5TraitsError, XcmVersionedAsset, XcmVersionedAssetId, XcmVersionedAssets, XcmVersionedLocation, XcmVersionedResponse, XcmVersionedXcm } from './default/index.ts'; import type { Data, StorageKey } from '@polkadot/types'; import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, ISize, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, isize, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; import type { TAssetConversion } from '@polkadot/types/interfaces/assetConversion'; diff --git a/js-packages/types/default/index.ts b/js-packages/types/default/index.ts index 7f1de782f7..4f68c7f53c 100644 --- a/js-packages/types/default/index.ts +++ b/js-packages/types/default/index.ts @@ -1,4 +1,4 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -export * from './types.js'; +export * from './types.ts'; diff --git a/js-packages/types/index.ts b/js-packages/types/index.ts index 7f1de782f7..4f68c7f53c 100644 --- a/js-packages/types/index.ts +++ b/js-packages/types/index.ts @@ -1,4 +1,4 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -export * from './types.js'; +export * from './types.ts'; diff --git a/js-packages/types/povinfo/index.ts b/js-packages/types/povinfo/index.ts index 7f1de782f7..4f68c7f53c 100644 --- a/js-packages/types/povinfo/index.ts +++ b/js-packages/types/povinfo/index.ts @@ -1,4 +1,4 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -export * from './types.js'; +export * from './types.ts'; diff --git a/js-packages/types/types.ts b/js-packages/types/types.ts index 22cceb98d4..0373ec0f1e 100644 --- a/js-packages/types/types.ts +++ b/js-packages/types/types.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -export * from './appPromotion/types.js'; -export * from './default/types.js'; -export * from './povinfo/types.js'; -export * from './unique/types.js'; +export * from './appPromotion/types.ts'; +export * from './default/types.ts'; +export * from './povinfo/types.ts'; +export * from './unique/types.ts'; diff --git a/js-packages/types/unique/index.ts b/js-packages/types/unique/index.ts index 7f1de782f7..4f68c7f53c 100644 --- a/js-packages/types/unique/index.ts +++ b/js-packages/types/unique/index.ts @@ -1,4 +1,4 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -export * from './types.js'; +export * from './types.ts'; From cb9ae11279fde3da45a0a9a3f0985dcecb806f6b Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Wed, 13 Aug 2025 14:38:32 +0000 Subject: [PATCH 010/172] Revert debug code --- .baedeker/up.sh | 2 +- .baedeker/xcm-opal.jsonnet | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.baedeker/up.sh b/.baedeker/up.sh index a5f069f83d..d66a21913d 100755 --- a/.baedeker/up.sh +++ b/.baedeker/up.sh @@ -11,7 +11,7 @@ baedeker \ --secret=file=$BDK_DIR/.bdk-env/secret \ --tla-str=relay_spec=westend-local \ --tla-code=assethub_spec="import 'assethub-spec.json'" \ ---input-modules='lib:baedeker-library/ops/nginx-dev.libsonnet' \ +--input-modules='lib:baedeker-library/ops/nginx.libsonnet' \ --input-modules='lib:baedeker-library/ops/devtools.libsonnet' \ --tla-str=repoDir=$(realpath $BDK_DIR/..) \ $@ \ diff --git a/.baedeker/xcm-opal.jsonnet b/.baedeker/xcm-opal.jsonnet index e6cf0f0394..a9c4f135c4 100644 --- a/.baedeker/xcm-opal.jsonnet +++ b/.baedeker/xcm-opal.jsonnet @@ -60,7 +60,6 @@ local opal = { extraArgs: [ '--increase-future-pool', '--pool-type=fork-aware', - '--pruning=archive', ], }, for name in ['alice', 'bob', 'charlie'] From b72c7c2842d9fcad5866b1fb15697d1731aacfee Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Wed, 13 Aug 2025 14:53:10 +0000 Subject: [PATCH 011/172] switch CI to deno --- .github/workflows/main-process-update.yml | 2 +- .github/workflows/make-bench.yml | 4 ++-- .github/workflows/xcm.yml | 2 +- .github/workflows/yarn-dev.yml | 4 ++-- js-packages/package.json | 7 +++---- js-packages/scripts/authorizeEnactUpgrade.ts | 2 +- js-packages/scripts/package.json | 19 ++++++++----------- js-packages/test-utils/eth/util.ts | 18 +----------------- js-packages/test-utils/util.ts | 16 ---------------- 9 files changed, 19 insertions(+), 55 deletions(-) diff --git a/.github/workflows/main-process-update.yml b/.github/workflows/main-process-update.yml index adf070c0e9..dda33de08f 100644 --- a/.github/workflows/main-process-update.yml +++ b/.github/workflows/main-process-update.yml @@ -235,7 +235,7 @@ jobs: if: ${{ !cancelled() && steps.alive2.outcome == 'success' }} run: | echo "Executing upgrade" - yarn tsx ../scripts/authorizeEnactUpgrade.ts ${{ steps.wasms.outputs.dir }}/${{ matrix.network }}-runtime/${{ matrix.network }}_runtime.compact.compressed.wasm + deno --allow-env ../scripts/authorizeEnactUpgrade.ts ${{ steps.wasms.outputs.dir }}/${{ matrix.network }}-runtime/${{ matrix.network }}_runtime.compact.compressed.wasm env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} diff --git a/.github/workflows/make-bench.yml b/.github/workflows/make-bench.yml index 280502abc1..cec9323e0b 100644 --- a/.github/workflows/make-bench.yml +++ b/.github/workflows/make-bench.yml @@ -43,8 +43,8 @@ jobs: working-directory: js-packages/scripts run: | yarn - yarn tsx calibrate.ts - yarn tsx calibrateApply.ts + deno --allow-env calibrate.ts + deno --allow-env calibrateApply.ts - name: show git diff run: | diff --git a/.github/workflows/xcm.yml b/.github/workflows/xcm.yml index 2e6bc59ff5..0f6e9d75c7 100644 --- a/.github/workflows/xcm.yml +++ b/.github/workflows/xcm.yml @@ -242,7 +242,7 @@ jobs: id: hrmp if: ${{ !cancelled() && steps.alive1.outcome == 'success' }} run: | - yarn tsx createHrmp.ts ${{matrix.network}} + deno --allow-env createHrmp.ts ${{matrix.network}} - name: Run XCM tests working-directory: js-packages/tests diff --git a/.github/workflows/yarn-dev.yml b/.github/workflows/yarn-dev.yml index da7f4e4f58..334fdd37b8 100644 --- a/.github/workflows/yarn-dev.yml +++ b/.github/workflows/yarn-dev.yml @@ -74,13 +74,13 @@ jobs: working-directory: js-packages/scripts run: | yarn install - yarn tsx ./benchmarks/mintFee/index.ts + deno --allow-env ./benchmarks/mintFee/index.ts - name: Run benchmark opsFee tests working-directory: js-packages/scripts run: | yarn install - yarn tsx ./benchmarks/opsFee/index.ts + deno --allow-env ./benchmarks/opsFee/index.ts - name: Stop running containers if: always() # run this step always diff --git a/js-packages/package.json b/js-packages/package.json index a330f09881..167f0af779 100644 --- a/js-packages/package.json +++ b/js-packages/package.json @@ -36,7 +36,6 @@ "chai-subset": "^1.6.0", "eslint": "^8.53.0", "eslint-plugin-mocha": "^10.2.0", - "tsx": "4.19.3", "typescript": "5.8.3" }, "scripts": { @@ -44,9 +43,9 @@ "ts-check": "yarn tsc --noEmit true", "lint": "eslint --ext .ts .", "fix": "yarn lint --fix", - "polkadot-types-fetch-metadata": "yarn tsx scripts/fetchMetadata.ts", - "polkadot-types-from-defs": "yarn tsx ./node_modules/.bin/polkadot-types-from-defs --endpoint scripts/metadata.json --input types/ --package .", - "polkadot-types-from-chain": "yarn tsx ./node_modules/.bin/polkadot-types-from-chain --endpoint scripts/metadata.json --output types/ --package .", + "polkadot-types-fetch-metadata": "deno --allow-env scripts/fetchMetadata.ts", + "polkadot-types-from-defs": "deno --allow-env ./node_modules/.bin/polkadot-types-from-defs --endpoint scripts/metadata.json --input types/ --package .", + "polkadot-types-from-chain": "deno --allow-env ./node_modules/.bin/polkadot-types-from-chain --endpoint scripts/metadata.json --output types/ --package .", "polkadot-types": "echo \"export default {}\" > types/lookup.ts && yarn polkadot-types-fetch-metadata && yarn polkadot-types-from-defs && yarn polkadot-types-from-defs && yarn polkadot-types-from-chain && rm types/registry.ts" }, "resolutions": { diff --git a/js-packages/scripts/authorizeEnactUpgrade.ts b/js-packages/scripts/authorizeEnactUpgrade.ts index a0c304069d..666ae1ac40 100644 --- a/js-packages/scripts/authorizeEnactUpgrade.ts +++ b/js-packages/scripts/authorizeEnactUpgrade.ts @@ -1,6 +1,6 @@ import {readFile} from 'node:fs/promises'; import {u8aToHex} from '@polkadot/util'; -import {usingPlaygrounds} from '@unique/test-utils/util'; +import {usingPlaygrounds} from '@unique/test-utils/util.ts'; import {blake2AsHex} from '@polkadot/util-crypto'; diff --git a/js-packages/scripts/package.json b/js-packages/scripts/package.json index 55e129920c..c7b0c34f87 100644 --- a/js-packages/scripts/package.json +++ b/js-packages/scripts/package.json @@ -9,17 +9,14 @@ "type": "module", "version": "1.0.0", "main": "", - "devDependencies": { - "tsx": "4.19.3" - }, "scripts": { - "benchMintingFee": "yarn tsx benchmarks/mintFee/benchmark.ts", - "loadTransfer": "yarn tsx transfer.nload.ts", - "generateEnv": "yarn tsx ./generateEnv.ts", - "proposeUpgrade": "yarn tsx ./proposeupgrade.ts", - "proposeFastTrack": "yarn tsx ./proposefasttrack.ts", - "councilDemocracyProposal": "yarn tsx ./councilproposal.ts", - "hrmpChannel": "yarn tsx ./hrmpchannel.ts", - "leaseStatus": "yarn tsx ./leaseStatus.ts" + "benchMintingFee": "deno --allow-env benchmarks/mintFee/benchmark.ts", + "loadTransfer": "deno --allow-env transfer.nload.ts", + "generateEnv": "deno --allow-env ./generateEnv.ts", + "proposeUpgrade": "deno --allow-env ./proposeupgrade.ts", + "proposeFastTrack": "deno --allow-env./proposefasttrack.ts", + "councilDemocracyProposal": "deno --allow-env ./councilproposal.ts", + "hrmpChannel": "deno --allow-env ./hrmpchannel.ts", + "leaseStatus": "deno --allow-env ./leaseStatus.ts" } } diff --git a/js-packages/test-utils/eth/util.ts b/js-packages/test-utils/eth/util.ts index 7b26477e1a..4431c3fe10 100644 --- a/js-packages/test-utils/eth/util.ts +++ b/js-packages/test-utils/eth/util.ts @@ -156,20 +156,4 @@ itEth.skip = (...args: ItEthArgs) => { }; itEth.ifWithPallets = (name: string, requiredPallets: Pallets[], cb: (apis: { helper: EthUniqueHelper, privateKey: (seed: string) => Promise }) => void | Promise) => { itEth(name, cb, {requiredPallets, skip: false, only: false}); -}; - -// export function itSchedEth( -// name: string, -// cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any, -// opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}, -// ) { -// itEth(name + ' (anonymous scheduling)', (apis) => cb('anon', apis), opts); -// itEth(name + ' (named scheduling)', (apis) => cb('named', apis), opts); -// } -// itSchedEth.only = (name: string, cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise }) => any) => itSchedEth(name, cb, {only: true}); -// itSchedEth.skip = (name: string, cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: (seed: string | {filename: string}) => Promise }) => any) => itSchedEth(name, cb, {skip: true}); -// itSchedEth.ifWithPallets = itSchedIfWithPallets; - -// function itSchedIfWithPallets(name: string, required: string[], cb: (schedKind: SchedKind, apis: { helper: EthUniqueHelper, privateKey: PrivateKeyFn }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) { -// return itSchedEth(name, cb, {requiredPallets: required, ...opts}); -// } +}; \ No newline at end of file diff --git a/js-packages/test-utils/util.ts b/js-packages/test-utils/util.ts index 788a1065b7..3da461c8f0 100644 --- a/js-packages/test-utils/util.ts +++ b/js-packages/test-utils/util.ts @@ -326,22 +326,6 @@ export class UniqueTestContext { export type SchedKind = 'anon' | 'named'; -// export function itSched( -// name: string, -// cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any, -// opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}, -// ) { -// itSub(name + ' (anonymous scheduling)', (apis) => cb('anon', apis), opts); -// itSub(name + ' (named scheduling)', (apis) => cb('named', apis), opts); -// } -// itSched.only = (name: string, cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSched(name, cb, {only: true}); -// itSched.skip = (name: string, cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any) => itSched(name, cb, {skip: true}); -// itSched.ifWithPallets = itSchedIfWithPallets; - -// function itSchedIfWithPallets(name: string, required: string[], cb: (schedKind: SchedKind, apis: { helper: DevUniqueHelper, privateKey: (seed: string) => Promise }) => any, opts: { only?: boolean, skip?: boolean, requiredPallets?: string[] } = {}) { -// return itSched(name, cb, {requiredPallets: required, ...opts}); -// } - export function sizeOfInt(i: number) { if(i < 0 || i > 0xffffffff) throw new Error('out of range'); if(i < 0b11_1111) { From adf3a342013a7923b13adb87bf78445d8c6ab998 Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Wed, 13 Aug 2025 15:11:31 +0000 Subject: [PATCH 012/172] switch codestyle check to deno --- .github/workflows/ci-develop.yml | 4 +- .github/workflows/ci-master.yml | 4 +- .github/workflows/codestyle.yml | 23 +- .github/workflows/collator-selection.yml | 9 +- .../workflows/{yarn-dev.yml => deno-dev.yml} | 15 +- .github/workflows/governance.yml | 9 +- .github/workflows/main-process-update.yml | 24 +- .github/workflows/make-bench.yml | 7 +- .github/workflows/polkadot-types.yml | 7 +- .github/workflows/xcm.yml | 9 +- Makefile | 2 +- README.md | 4 +- js-packages/.yarn/releases/yarn-3.6.1.cjs | 874 ------------------ js-packages/README.md | 4 +- js-packages/deno.lock | 730 +++++++++++++-- js-packages/package.json | 11 +- js-packages/scripts/authorizeEnactUpgrade.ts | 1 + .../scripts/benchmarks/mintFee/index.ts | 1 + .../scripts/benchmarks/nesting/index.ts | 1 + .../scripts/benchmarks/opsFee/index.ts | 1 + js-packages/scripts/councilproposal.ts | 3 +- js-packages/scripts/createHrmp.ts | 1 + js-packages/scripts/fetchMetadata.ts | 1 + js-packages/scripts/generateEnv.ts | 1 + .../generate_types/generate_types_package.sh | 6 +- js-packages/scripts/hrmpchannel.ts | 3 +- js-packages/scripts/identitySetter.ts | 5 +- js-packages/scripts/leaseStatus.ts | 3 +- js-packages/scripts/proposefasttrack.ts | 3 +- js-packages/scripts/proposeupgrade.ts | 1 + js-packages/scripts/relayIdentitiesChecker.ts | 4 +- js-packages/scripts/runCheckState.ts | 1 + js-packages/scripts/setCode.ts | 1 + js-packages/scripts/transfer.nload.ts | 3 +- js-packages/test-utils/globalSetup.ts | 1 + js-packages/types/augment-api-rpc.ts | 2 +- js-packages/update_types.sh | 2 +- 37 files changed, 774 insertions(+), 1007 deletions(-) rename .github/workflows/{yarn-dev.yml => deno-dev.yml} (93%) delete mode 100755 js-packages/.yarn/releases/yarn-3.6.1.cjs diff --git a/.github/workflows/ci-develop.yml b/.github/workflows/ci-develop.yml index 48573bae47..25eca9a126 100644 --- a/.github/workflows/ci-develop.yml +++ b/.github/workflows/ci-develop.yml @@ -16,9 +16,9 @@ concurrency: # List of a jobs included into Workflow. jobs: - yarn-dev: + deno-dev: if: github.event.pull_request.draft == false && !contains(github.event.pull_request.labels.*.name, 'CI-minimal') - uses: ./.github/workflows/yarn-dev.yml + uses: ./.github/workflows/deno-dev.yml secrets: inherit unit-test: diff --git a/.github/workflows/ci-master.yml b/.github/workflows/ci-master.yml index 5be9a2f5e2..d6d3ace322 100644 --- a/.github/workflows/ci-master.yml +++ b/.github/workflows/ci-master.yml @@ -16,8 +16,8 @@ concurrency: # List of a jobs included into Workflow. jobs: - yarn-dev: - uses: ./.github/workflows/yarn-dev.yml + deno-dev: + uses: ./.github/workflows/deno-dev.yml secrets: inherit unit-test: diff --git a/.github/workflows/codestyle.yml b/.github/workflows/codestyle.yml index 02f14203a9..cb133b6544 100644 --- a/.github/workflows/codestyle.yml +++ b/.github/workflows/codestyle.yml @@ -30,7 +30,7 @@ jobs: if: success() run: echo "Nothing to do. Command 'cargo fmt -- --check' returned exit code 0." - yarn_eslint: + deno_lint: runs-on: [ ci ] steps: - name: Clean Workspace @@ -38,16 +38,16 @@ jobs: - uses: actions/checkout@v4.1.7 with: ref: ${{ github.head_ref }} - - uses: actions/setup-node@v4.0.2 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true - name: Install modules - run: cd js-packages && yarn + run: cd js-packages && deno install - name: Run ESLint - # run: cd js-packages && yarn lint --max-warnings=0 - run: cd js-packages && yarn lint + run: cd js-packages && deno lint - yarn_types_check: + deno_types_check: runs-on: [ ci ] steps: - name: Clean Workspace @@ -55,13 +55,14 @@ jobs: - uses: actions/checkout@v4.1.7 with: ref: ${{ github.head_ref }} - - uses: actions/setup-node@v4.0.2 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true - name: Install modules - run: cd js-packages && yarn + run: cd js-packages && deno install - name: Run tsc - run: cd js-packages && yarn ts-check + run: cd js-packages && deno check clippy: runs-on: [ ci ] diff --git a/.github/workflows/collator-selection.yml b/.github/workflows/collator-selection.yml index fbe858cb0a..8b8fd90b17 100644 --- a/.github/workflows/collator-selection.yml +++ b/.github/workflows/collator-selection.yml @@ -104,9 +104,10 @@ jobs: dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }} dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }} - - uses: actions/setup-node@v4.0.2 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true - name: Install baedeker uses: UniqueNetwork/baedeker-action/setup@v1.2 @@ -143,7 +144,7 @@ jobs: id: alive1 if: ${{ !cancelled() && steps.bdk.outcome == 'success' }} run: | - yarn + deno install ../scripts/wait_for_first_block.sh env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -153,7 +154,7 @@ jobs: if: ${{ !cancelled() && steps.alive1.outcome == 'success' }} run: | echo "Ready to start tests" - NOW=$(date +%s) && yarn testCollators --reporter tap + NOW=$(date +%s) && deno task testCollators env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} diff --git a/.github/workflows/yarn-dev.yml b/.github/workflows/deno-dev.yml similarity index 93% rename from .github/workflows/yarn-dev.yml rename to .github/workflows/deno-dev.yml index 334fdd37b8..b8051bf542 100644 --- a/.github/workflows/yarn-dev.yml +++ b/.github/workflows/deno-dev.yml @@ -1,6 +1,6 @@ # Integration test in --dev mode # https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586411104/Integration+tests -name: yarn-dev +name: deno-dev # Triger: only call from main workflow(re-usable workflows) on: @@ -52,17 +52,18 @@ jobs: - name: Build the stack run: docker compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans - - uses: actions/setup-node@v4.0.2 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true - name: Run tests working-directory: js-packages/tests run: | - yarn install + deno install ../scripts/wait_for_first_block.sh echo "Ready to start tests" - NOW=$(date +%s) && yarn test --reporter tap + NOW=$(date +%s) && deno test env: RPC_URL: http://127.0.0.1:9944/ @@ -73,13 +74,13 @@ jobs: - name: Run benchmark mintFee tests working-directory: js-packages/scripts run: | - yarn install + deno install deno --allow-env ./benchmarks/mintFee/index.ts - name: Run benchmark opsFee tests working-directory: js-packages/scripts run: | - yarn install + deno install deno --allow-env ./benchmarks/opsFee/index.ts - name: Stop running containers diff --git a/.github/workflows/governance.yml b/.github/workflows/governance.yml index d5529f4a73..fcf418b297 100644 --- a/.github/workflows/governance.yml +++ b/.github/workflows/governance.yml @@ -75,17 +75,18 @@ jobs: - name: Build the stack run: docker compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans - - uses: actions/setup-node@v4.0.2 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true - name: Run tests working-directory: js-packages/tests run: | - yarn install + deno install ../scripts/wait_for_first_block.sh echo "Ready to start tests" - NOW=$(date +%s) && yarn testGovernance --reporter tap + NOW=$(date +%s) && deno task testGovernance env: RPC_URL: http://127.0.0.1:9944/ diff --git a/.github/workflows/main-process-update.yml b/.github/workflows/main-process-update.yml index dda33de08f..bb08999c51 100644 --- a/.github/workflows/main-process-update.yml +++ b/.github/workflows/main-process-update.yml @@ -134,9 +134,10 @@ jobs: dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }} dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }} - - uses: actions/setup-node@v4.0.2 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true - name: Install baedeker uses: UniqueNetwork/baedeker-action/setup@v1.2 @@ -180,8 +181,7 @@ jobs: id: alive1 if: ${{ !cancelled() && steps.bdk.outcome == 'success' }} run: | - yarn - yarn install + deno install ../scripts/wait_for_first_block.sh env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -203,7 +203,7 @@ jobs: if: ${{ !cancelled() && steps.reconcile0.outcome == 'success' }} id: alive1_1 run: | - yarn + deno install ../scripts/wait_for_first_block.sh env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -224,7 +224,7 @@ jobs: id: alive2 if: ${{ !cancelled() && steps.reconcile1.outcome == 'success' }} run: | - yarn + deno install ../scripts/wait_for_first_block.sh env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -253,7 +253,7 @@ jobs: id: alive3 if: ${{ !cancelled() && steps.reconcile2.outcome == 'success' }} run: | - yarn + deno install ../scripts/wait_for_first_block.sh env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -265,7 +265,7 @@ jobs: working-directory: js-packages/tests if: ${{ !cancelled() && steps.alive3.outcome == 'success' }} run: | - yarn testParallel --grep 'decimals' || true + deno task testParallel --filter 'decimals' || true env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -278,7 +278,7 @@ jobs: working-directory: js-packages/tests if: ${{ !cancelled() && steps.alive3.outcome == 'success' }} run: | - NOW=$(date +%s) && yarn testSubParallel --reporter tap + NOW=$(date +%s) && deno task testSubParallel env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -286,7 +286,7 @@ jobs: working-directory: js-packages/tests if: ${{ !cancelled() && steps.alive3.outcome == 'success' }} run: | - NOW=$(date +%s) && yarn testSubSequential --reporter tap + NOW=$(date +%s) && deno task testSubSequential env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -294,7 +294,7 @@ jobs: working-directory: js-packages/tests if: ${{ !cancelled() && steps.alive3.outcome == 'success' }} run: | - NOW=$(date +%s) && yarn testEthParallel --reporter tap + NOW=$(date +%s) && deno task testEthParallel env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -302,7 +302,7 @@ jobs: working-directory: js-packages/tests if: ${{ !cancelled() && steps.alive3.outcome == 'success' }} run: | - NOW=$(date +%s) && yarn testEthSequential --reporter tap + NOW=$(date +%s) && deno task testEthSequential env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} diff --git a/.github/workflows/make-bench.yml b/.github/workflows/make-bench.yml index cec9323e0b..edcbb2cb57 100644 --- a/.github/workflows/make-bench.yml +++ b/.github/workflows/make-bench.yml @@ -27,9 +27,10 @@ jobs: - name: Install substrate dependencies run: sudo apt install -y curl cmake make libssl-dev pkg-config libclang-dev clang protobuf-compiler - - uses: actions/setup-node@v3 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true - name: RUN benchmarking run: | @@ -42,7 +43,7 @@ jobs: - name: RUN Calibrate working-directory: js-packages/scripts run: | - yarn + deno install deno --allow-env calibrate.ts deno --allow-env calibrateApply.ts diff --git a/.github/workflows/polkadot-types.yml b/.github/workflows/polkadot-types.yml index 625a1b07a3..7b17859024 100644 --- a/.github/workflows/polkadot-types.yml +++ b/.github/workflows/polkadot-types.yml @@ -63,9 +63,10 @@ jobs: - name: Build the stack run: docker compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans - - uses: actions/setup-node@v4.0.2 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true # - name: Install jq # run: sudo apt install jq -y @@ -73,7 +74,7 @@ jobs: - name: Run generate_types_package script working-directory: js-packages run: | - yarn install + deno install ./scripts/wait_for_first_block.sh git config --global user.name "Unique" git config --global user.email github-actions@usetech.com diff --git a/.github/workflows/xcm.yml b/.github/workflows/xcm.yml index 0f6e9d75c7..6978e445b9 100644 --- a/.github/workflows/xcm.yml +++ b/.github/workflows/xcm.yml @@ -175,9 +175,10 @@ jobs: dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }} dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }} - - uses: actions/setup-node@v4.0.2 + - uses: denoland/setup-deno@v2 with: - node-version: 20 + deno-version: v2.x + cache: true - name: Install baedeker uses: UniqueNetwork/baedeker-action/setup@v1.2 @@ -232,7 +233,7 @@ jobs: id: alive1 if: ${{ !cancelled() && steps.bdk.outcome == 'success' }} run: | - yarn + deno install ../scripts/wait_for_first_block.sh env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} @@ -250,7 +251,7 @@ jobs: if: ${{ !cancelled() && steps.hrmp.outcome == 'success' }} run: | echo "Ready to start tests" - NOW=$(date +%s) && yarn ${{ matrix.runtest }} --reporter tap + NOW=$(date +%s) && deno task ${{ matrix.runtest }} env: RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }} diff --git a/Makefile b/Makefile index ab7f5c7f2a..4ca765daa7 100644 --- a/Makefile +++ b/Makefile @@ -170,4 +170,4 @@ git-blame: init: make git-hooks cd tests - yarn install + deno install diff --git a/README.md b/README.md index 1db8c06954..39f814ea39 100644 --- a/README.md +++ b/README.md @@ -133,12 +133,12 @@ You can launch the node in the dev mode where blocks are sealed automatically ea 1. Install all needed dependencies ``` cd tests -yarn install +deno install ``` 2. Run tests ``` -yarn test +deno task test ``` diff --git a/js-packages/.yarn/releases/yarn-3.6.1.cjs b/js-packages/.yarn/releases/yarn-3.6.1.cjs deleted file mode 100755 index 5227385a9e..0000000000 --- a/js-packages/.yarn/releases/yarn-3.6.1.cjs +++ /dev/null @@ -1,874 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -//prettier-ignore -(()=>{var xge=Object.create;var lS=Object.defineProperty;var Pge=Object.getOwnPropertyDescriptor;var Dge=Object.getOwnPropertyNames;var kge=Object.getPrototypeOf,Rge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Fge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)lS(r,t,{get:e[t],enumerable:!0})},Nge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Dge(e))!Rge.call(r,n)&&n!==t&&lS(r,n,{get:()=>e[n],enumerable:!(i=Pge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?xge(kge(r)):{},Nge(e||!r||!r.__esModule?lS(t,"default",{value:r,enumerable:!0}):t,r));var vK=w((JXe,SK)=>{SK.exports=QK;QK.sync=tfe;var BK=J("fs");function efe(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{kK.exports=PK;PK.sync=rfe;var xK=J("fs");function PK(r,e,t){xK.stat(r,function(i,n){t(i,i?!1:DK(n,e))})}function rfe(r,e){return DK(xK.statSync(r),e)}function DK(r,e){return r.isFile()&&ife(r,e)}function ife(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var NK=w((VXe,FK)=>{var zXe=J("fs"),lI;process.platform==="win32"||global.TESTING_WINDOWS?lI=vK():lI=RK();FK.exports=SS;SS.sync=nfe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}lI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function nfe(r,e){try{return lI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var HK=w((XXe,UK)=>{var Dg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",TK=J("path"),sfe=Dg?";":":",LK=NK(),MK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),OK=(r,e)=>{let t=e.colon||sfe,i=r.match(/\//)||Dg&&r.match(/\\/)?[""]:[...Dg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Dg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Dg?n.split(t):[""];return Dg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},KK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=OK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(MK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=TK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];LK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},ofe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=OK(r,e),s=[];for(let o=0;o{"use strict";var GK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=GK;vS.exports.default=GK});var WK=w((_Xe,JK)=>{"use strict";var jK=J("path"),afe=HK(),Afe=YK();function qK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=afe.sync(r.command,{path:t[Afe({env:t})],pathExt:e?jK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=jK.resolve(n?r.options.cwd:"",o)),o}function lfe(r){return qK(r)||qK(r,!0)}JK.exports=lfe});var zK=w(($Xe,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function cfe(r){return r=r.replace(xS,"^$1"),r}function ufe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=cfe;PS.exports.argument=ufe});var XK=w((eZe,VK)=>{"use strict";VK.exports=/^#!(.*)/});var _K=w((tZe,ZK)=>{"use strict";var gfe=XK();ZK.exports=(r="")=>{let e=r.match(gfe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var eU=w((rZe,$K)=>{"use strict";var DS=J("fs"),ffe=_K();function hfe(r){let t=Buffer.alloc(150),i;try{i=DS.openSync(r,"r"),DS.readSync(i,t,0,150,0),DS.closeSync(i)}catch{}return ffe(t.toString())}$K.exports=hfe});var nU=w((iZe,iU)=>{"use strict";var pfe=J("path"),tU=WK(),rU=zK(),dfe=eU(),Cfe=process.platform==="win32",mfe=/\.(?:com|exe)$/i,Efe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Ife(r){r.file=tU(r);let e=r.file&&dfe(r.file);return e?(r.args.unshift(r.file),r.command=e,tU(r)):r.file}function yfe(r){if(!Cfe)return r;let e=Ife(r),t=!mfe.test(e);if(r.options.forceShell||t){let i=Efe.test(e);r.command=pfe.normalize(r.command),r.command=rU.command(r.command),r.args=r.args.map(s=>rU.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function wfe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:yfe(i)}iU.exports=wfe});var aU=w((nZe,oU)=>{"use strict";var kS=process.platform==="win32";function RS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Bfe(r,e){if(!kS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=sU(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function sU(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawn"):null}function bfe(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawnSync"):null}oU.exports={hookChildProcess:Bfe,verifyENOENT:sU,verifyENOENTSync:bfe,notFoundError:RS}});var TS=w((sZe,kg)=>{"use strict";var AU=J("child_process"),FS=nU(),NS=aU();function lU(r,e,t){let i=FS(r,e,t),n=AU.spawn(i.command,i.args,i.options);return NS.hookChildProcess(n,i),n}function Qfe(r,e,t){let i=FS(r,e,t),n=AU.spawnSync(i.command,i.args,i.options);return n.error=n.error||NS.verifyENOENTSync(n.status,i),n}kg.exports=lU;kg.exports.spawn=lU;kg.exports.sync=Qfe;kg.exports._parse=FS;kg.exports._enoent=NS});var uU=w((oZe,cU)=>{"use strict";function Sfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Zl)}Sfe(Zl,Error);Zl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",_e=me(">&",!1),Pt=">",It=me(">",!1),Mr="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Ks=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ii="$'",rs=me("$'",!1),fa="'",CA=me("'",!1),cg=function(m){return[{type:"text",text:m}]},is='""',mA=me('""',!1),ha=function(){return{type:"text",text:""}},wp='"',EA=me('"',!1),IA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},Tl=function(m){return{type:"shell",shell:m,quoted:!0}},ug=function(m){return{type:"variable",...m,quoted:!0}},Io=function(m){return{type:"text",text:m}},gg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},Bp=function(m){return{type:"shell",shell:m,quoted:!1}},bp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,yo=Je(["'"],!0,!1),Fn=function(m){return m.join("")},fg=/^[^$"]/,bt=Je(["$",'"'],!0,!1),Ll=`\\ -`,Nn=me(`\\ -`,!1),ns=function(){return""},ss="\\",gt=me("\\",!1),wo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),ln=function(m){return m},S="\\a",Lt=me("\\a",!1),hg=function(){return"a"},Ml="\\b",Qp=me("\\b",!1),Sp=function(){return"\b"},vp=/^[Ee]/,xp=Je(["E","e"],!1,!1),Pp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),yA=function(){return"\f"},zi="\\n",Ol=me("\\n",!1),Xe=function(){return` -`},pa="\\r",pg=me("\\r",!1),ME=function(){return"\r"},Dp="\\t",OE=me("\\t",!1),ar=function(){return" "},Tn="\\v",Kl=me("\\v",!1),kp=function(){return"\v"},Us=/^[\\'"?]/,da=Je(["\\","'",'"',"?"],!1,!1),cn=function(m){return String.fromCharCode(parseInt(m,16))},Le="\\x",dg=me("\\x",!1),Ul="\\u",Hs=me("\\u",!1),Hl="\\U",wA=me("\\U",!1),Cg=function(m){return String.fromCodePoint(parseInt(m,16))},mg=/^[0-7]/,Ca=Je([["0","7"]],!1,!1),ma=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),Bo=nt(),BA="-",Gl=me("-",!1),Gs="+",Yl=me("+",!1),KE=".",Rp=me(".",!1),Eg=function(m,Q,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(Q.join("")+"."+N.join(""))}},Fp=function(m,Q){return{type:"number",value:(m==="-"?-1:1)*parseInt(Q.join(""))}},UE=function(m){return{type:"variable",...m}},jl=function(m){return{type:"variable",name:m}},HE=function(m){return m},Ig="*",bA=me("*",!1),Rr="/",GE=me("/",!1),Ys=function(m,Q,N){return{type:Q==="*"?"multiplication":"division",right:N}},js=function(m,Q){return Q.reduce((N,U)=>({left:N,...U}),m)},yg=function(m,Q,N){return{type:Q==="+"?"addition":"subtraction",right:N}},QA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Ln=me("${",!1),JQ=":-",P1=me(":-",!1),D1=function(m,Q){return{name:m,defaultValue:Q}},WQ=":-}",k1=me(":-}",!1),R1=function(m){return{name:m,defaultValue:[]}},zQ=":+",F1=me(":+",!1),N1=function(m,Q){return{name:m,alternativeValue:Q}},VQ=":+}",T1=me(":+}",!1),L1=function(m){return{name:m,alternativeValue:[]}},XQ=function(m){return{name:m}},M1="$",O1=me("$",!1),K1=function(m){return e.isGlobPattern(m)},U1=function(m){return m},ZQ=/^[a-zA-Z0-9_]/,_Q=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$Q=function(){return L()},eS=/^[$@*?#a-zA-Z0-9_\-]/,tS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),H1=/^[(){}<>$|&; \t"']/,wg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rS=/^[<>&; \t"']/,iS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),YE=/^[ \t]/,jE=Je([" "," "],!1,!1),b=0,Oe=0,SA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function L(){return r.substring(Oe,b)}function Z(){return Et(Oe,b)}function te(m,Q){throw Q=Q!==void 0?Q:Et(Oe,b),Ri([lt(m)],r.substring(Oe,b),Q)}function we(m,Q){throw Q=Q!==void 0?Q:Et(Oe,b),Mn(m,Q)}function me(m,Q){return{type:"literal",text:m,ignoreCase:Q}}function Je(m,Q,N){return{type:"class",parts:m,inverted:Q,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var Q=SA[m],N;if(Q)return Q;for(N=m-1;!SA[N];)N--;for(Q=SA[N],Q={line:Q.line,column:Q.column};Nd&&(d=b,E=[]),E.push(m))}function Mn(m,Q){return new Zl(m,null,null,Q)}function Ri(m,Q,N){return new Zl(Zl.buildMessage(m,Q),m,Q,N)}function vA(){var m,Q;return m=b,Q=Or(),Q===t&&(Q=null),Q!==t&&(Oe=m,Q=s(Q)),m=Q,m}function Or(){var m,Q,N,U,ce;if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U!==t?(ce=os(),ce===t&&(ce=null),ce!==t?(Oe=m,Q=o(Q,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;if(m===t)if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U===t&&(U=null),U!==t?(Oe=m,Q=a(Q,U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function os(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=Or(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=l(N),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function Ea(){var m;return r.charCodeAt(b)===59?(m=c,b++):(m=t,I===0&&be(u)),m===t&&(r.charCodeAt(b)===38?(m=g,b++):(m=t,I===0&&be(f))),m}function Kr(){var m,Q,N;return m=b,Q=G1(),Q!==t?(N=uge(),N===t&&(N=null),N!==t?(Oe=m,Q=h(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function uge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=gge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=p(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function gge(){var m;return r.substr(b,2)===C?(m=C,b+=2):(m=t,I===0&&be(y)),m===t&&(r.substr(b,2)===B?(m=B,b+=2):(m=t,I===0&&be(v))),m}function G1(){var m,Q,N;return m=b,Q=pge(),Q!==t?(N=fge(),N===t&&(N=null),N!==t?(Oe=m,Q=D(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function fge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=hge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=G1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=T(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function hge(){var m;return r.substr(b,2)===H?(m=H,b+=2):(m=t,I===0&&be(j)),m===t&&(r.charCodeAt(b)===124?(m=$,b++):(m=t,I===0&&be(V))),m}function qE(){var m,Q,N,U,ce,Se;if(m=b,Q=eK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t)if(U=q1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Oe=m,Q=A(Q,U),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;else b=m,m=t;if(m===t)if(m=b,Q=eK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=Ae(Q),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function pge(){var m,Q,N,U,ce,Se,ht,Bt,Jr,hi,as;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===40?(N=ge,b++):(N=t,I===0&&be(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Or(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===41?(ht=M,b++):(ht=t,I===0&&be(F)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Np();hi!==t;)Jr.push(hi),hi=Np();if(Jr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Oe=m,Q=ue(ce,Jr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===123?(N=pe,b++):(N=t,I===0&&be(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Or(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===125?(ht=Fe,b++):(ht=t,I===0&&be(Ne)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Np();hi!==t;)Jr.push(hi),hi=Np();if(Jr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Oe=m,Q=oe(ce,Jr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){for(N=[],U=qE();U!==t;)N.push(U),U=qE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=j1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=j1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=le(N,ce),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t}else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=qE(),U!==t)for(;U!==t;)N.push(U),U=qE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=Be(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}}}return m}function Y1(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=JE(),U!==t)for(;U!==t;)N.push(U),U=JE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=fe(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t;return m}function j1(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t?(N=Np(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();Q!==t?(N=JE(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t)}return m}function Np(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(qe.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(ne)),N===t&&(N=null),N!==t?(U=dge(),U!==t?(ce=JE(),ce!==t?(Oe=m,Q=Y(N,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function dge(){var m;return r.substr(b,2)===he?(m=he,b+=2):(m=t,I===0&&be(ie)),m===t&&(r.substr(b,2)===de?(m=de,b+=2):(m=t,I===0&&be(_e)),m===t&&(r.charCodeAt(b)===62?(m=Pt,b++):(m=t,I===0&&be(It)),m===t&&(r.substr(b,3)===Mr?(m=Mr,b+=3):(m=t,I===0&&be(ii)),m===t&&(r.substr(b,2)===gi?(m=gi,b+=2):(m=t,I===0&&be(hr)),m===t&&(r.charCodeAt(b)===60?(m=fi,b++):(m=t,I===0&&be(ni))))))),m}function JE(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(N=q1(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m}function q1(){var m,Q,N;if(m=b,Q=[],N=J1(),N!==t)for(;N!==t;)Q.push(N),N=J1();else Q=t;return Q!==t&&(Oe=m,Q=Ks(Q)),m=Q,m}function J1(){var m,Q;return m=b,Q=Cge(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=mge(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=Ege(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=Ige(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q))),m}function Cge(){var m,Q,N,U;return m=b,r.substr(b,2)===Ii?(Q=Ii,b+=2):(Q=t,I===0&&be(rs)),Q!==t?(N=Bge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(CA)),U!==t?(Oe=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function mge(){var m,Q,N,U;return m=b,r.charCodeAt(b)===39?(Q=fa,b++):(Q=t,I===0&&be(CA)),Q!==t?(N=yge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(CA)),U!==t?(Oe=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function Ege(){var m,Q,N,U;if(m=b,r.substr(b,2)===is?(Q=is,b+=2):(Q=t,I===0&&be(mA)),Q!==t&&(Oe=m,Q=ha()),m=Q,m===t)if(m=b,r.charCodeAt(b)===34?(Q=wp,b++):(Q=t,I===0&&be(EA)),Q!==t){for(N=[],U=W1();U!==t;)N.push(U),U=W1();N!==t?(r.charCodeAt(b)===34?(U=wp,b++):(U=t,I===0&&be(EA)),U!==t?(Oe=m,Q=IA(N),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function Ige(){var m,Q,N;if(m=b,Q=[],N=z1(),N!==t)for(;N!==t;)Q.push(N),N=z1();else Q=t;return Q!==t&&(Oe=m,Q=IA(Q)),m=Q,m}function W1(){var m,Q;return m=b,Q=_1(),Q!==t&&(Oe=m,Q=wr(Q)),m=Q,m===t&&(m=b,Q=$1(),Q!==t&&(Oe=m,Q=Tl(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=ug(Q)),m=Q,m===t&&(m=b,Q=wge(),Q!==t&&(Oe=m,Q=Io(Q)),m=Q))),m}function z1(){var m,Q;return m=b,Q=_1(),Q!==t&&(Oe=m,Q=gg(Q)),m=Q,m===t&&(m=b,Q=$1(),Q!==t&&(Oe=m,Q=Bp(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=bp(Q)),m=Q,m===t&&(m=b,Q=Sge(),Q!==t&&(Oe=m,Q=vr(Q)),m=Q,m===t&&(m=b,Q=Qge(),Q!==t&&(Oe=m,Q=Io(Q)),m=Q)))),m}function yge(){var m,Q,N;for(m=b,Q=[],se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(yo));N!==t;)Q.push(N),se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(yo));return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function wge(){var m,Q,N;if(m=b,Q=[],N=V1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt))),N!==t)for(;N!==t;)Q.push(N),N=V1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt)));else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function V1(){var m,Q,N;return m=b,r.substr(b,2)===Ll?(Q=Ll,b+=2):(Q=t,I===0&&be(Nn)),Q!==t&&(Oe=m,Q=ns()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(wo.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(At)),N!==t?(Oe=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t)),m}function Bge(){var m,Q,N;for(m=b,Q=[],N=X1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(yo)));N!==t;)Q.push(N),N=X1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(yo)));return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function X1(){var m,Q,N;return m=b,r.substr(b,2)===S?(Q=S,b+=2):(Q=t,I===0&&be(Lt)),Q!==t&&(Oe=m,Q=hg()),m=Q,m===t&&(m=b,r.substr(b,2)===Ml?(Q=Ml,b+=2):(Q=t,I===0&&be(Qp)),Q!==t&&(Oe=m,Q=Sp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(vp.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(xp)),N!==t?(Oe=m,Q=Pp(),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===G?(Q=G,b+=2):(Q=t,I===0&&be(yt)),Q!==t&&(Oe=m,Q=yA()),m=Q,m===t&&(m=b,r.substr(b,2)===zi?(Q=zi,b+=2):(Q=t,I===0&&be(Ol)),Q!==t&&(Oe=m,Q=Xe()),m=Q,m===t&&(m=b,r.substr(b,2)===pa?(Q=pa,b+=2):(Q=t,I===0&&be(pg)),Q!==t&&(Oe=m,Q=ME()),m=Q,m===t&&(m=b,r.substr(b,2)===Dp?(Q=Dp,b+=2):(Q=t,I===0&&be(OE)),Q!==t&&(Oe=m,Q=ar()),m=Q,m===t&&(m=b,r.substr(b,2)===Tn?(Q=Tn,b+=2):(Q=t,I===0&&be(Kl)),Q!==t&&(Oe=m,Q=kp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(Us.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(da)),N!==t?(Oe=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=bge()))))))))),m}function bge(){var m,Q,N,U,ce,Se,ht,Bt,Jr,hi,as,AS;return m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(N=nS(),N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Le?(Q=Le,b+=2):(Q=t,I===0&&be(dg)),Q!==t?(N=b,U=b,ce=nS(),ce!==t?(Se=On(),Se!==t?(ce=[ce,Se],U=ce):(b=U,U=t)):(b=U,U=t),U===t&&(U=nS()),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ul?(Q=Ul,b+=2):(Q=t,I===0&&be(Hs)),Q!==t?(N=b,U=b,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Hl?(Q=Hl,b+=2):(Q=t,I===0&&be(wA)),Q!==t?(N=b,U=b,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(Jr=On(),Jr!==t?(hi=On(),hi!==t?(as=On(),as!==t?(AS=On(),AS!==t?(ce=[ce,Se,ht,Bt,Jr,hi,as,AS],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=Cg(N),m=Q):(b=m,m=t)):(b=m,m=t)))),m}function nS(){var m;return mg.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(Ca)),m}function On(){var m;return ma.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(rt)),m}function Qge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=tK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t)),N!==t)for(;N!==t;)Q.push(N),N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=tK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t));else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function sS(){var m,Q,N,U,ce,Se;if(m=b,r.charCodeAt(b)===45?(Q=BA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;if(N!==t)if(r.charCodeAt(b)===46?(U=KE,b++):(U=t,I===0&&be(Rp)),U!==t){if(ce=[],qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne));else ce=t;ce!==t?(Oe=m,Q=Eg(Q,N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;if(m===t){if(m=b,r.charCodeAt(b)===45?(Q=BA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;N!==t?(Oe=m,Q=Fp(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;if(m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=UE(Q)),m=Q,m===t&&(m=b,Q=ql(),Q!==t&&(Oe=m,Q=jl(Q)),m=Q,m===t)))if(m=b,r.charCodeAt(b)===40?(Q=ge,b++):(Q=t,I===0&&be(re)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=Z1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(b)===41?(Se=M,b++):(Se=t,I===0&&be(F)),Se!==t?(Oe=m,Q=HE(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t}return m}function oS(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=sS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(bA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Oe=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(bA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Oe=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Oe=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function Z1(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=oS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=BA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Oe=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=BA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Oe=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Oe=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function _1(){var m,Q,N,U,ce,Se;if(m=b,r.substr(b,3)===QA?(Q=QA,b+=3):(Q=t,I===0&&be(R)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=Z1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(b,2)===q?(Se=q,b+=2):(Se=t,I===0&&be(Ce)),Se!==t?(Oe=m,Q=Ke(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;return m}function $1(){var m,Q,N,U;return m=b,r.substr(b,2)===Re?(Q=Re,b+=2):(Q=t,I===0&&be(ze)),Q!==t?(N=Or(),N!==t?(r.charCodeAt(b)===41?(U=M,b++):(U=t,I===0&&be(F)),U!==t?(Oe=m,Q=dt(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function aS(){var m,Q,N,U,ce,Se;return m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===JQ?(U=JQ,b+=2):(U=t,I===0&&be(P1)),U!==t?(ce=Y1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Oe=m,Q=D1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===WQ?(U=WQ,b+=3):(U=t,I===0&&be(k1)),U!==t?(Oe=m,Q=R1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===zQ?(U=zQ,b+=2):(U=t,I===0&&be(F1)),U!==t?(ce=Y1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Oe=m,Q=N1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===VQ?(U=VQ,b+=3):(U=t,I===0&&be(T1)),U!==t?(Oe=m,Q=L1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.charCodeAt(b)===125?(U=Fe,b++):(U=t,I===0&&be(Ne)),U!==t?(Oe=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.charCodeAt(b)===36?(Q=M1,b++):(Q=t,I===0&&be(O1)),Q!==t?(N=ql(),N!==t?(Oe=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)))))),m}function Sge(){var m,Q,N;return m=b,Q=vge(),Q!==t?(Oe=b,N=K1(Q),N?N=void 0:N=t,N!==t?(Oe=m,Q=U1(Q),m=Q):(b=m,m=t)):(b=m,m=t),m}function vge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,U=b,I++,ce=rK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N!==t)for(;N!==t;)Q.push(N),N=b,U=b,I++,ce=rK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t);else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function eK(){var m,Q,N;if(m=b,Q=[],ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q)),N!==t)for(;N!==t;)Q.push(N),ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q));else Q=t;return Q!==t&&(Oe=m,Q=$Q()),m=Q,m}function ql(){var m,Q,N;if(m=b,Q=[],eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS)),N!==t)for(;N!==t;)Q.push(N),eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS));else Q=t;return Q!==t&&(Oe=m,Q=$Q()),m=Q,m}function tK(){var m;return H1.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(wg)),m}function rK(){var m;return rS.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(iS)),m}function He(){var m,Q;if(m=[],YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE)),Q!==t)for(;Q!==t;)m.push(Q),YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE));else m=t;return m}if(k=n(),k!==t&&b===r.length)return k;throw k!==t&&b{"use strict";function xfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function $l(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,$l)}xfe($l,Error);$l.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new $l(ne,null,null,Y)}function oe(ne,Y,he){return new $l($l.buildMessage(ne,Y),ne,Y,he)}function le(){var ne,Y,he,ie;return ne=v,Y=Be(),Y!==t?(r.charCodeAt(v)===47?(he=s,v++):(he=t,$===0&&Fe(o)),he!==t?(ie=Be(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Be(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function Be(){var ne,Y,he,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(he=c,v++):(he=t,$===0&&Fe(u)),he!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,he,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(he=ae(),he!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function ae(){var ne,Y,he;if(ne=v,Y=[],p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C)),he!==t)for(;he!==t;)Y.push(he),p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,he;if(ne=v,Y=[],y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B)),he!==t)for(;he!==t;)Y.push(he),y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function dU(r){return typeof r>"u"||r===null}function Dfe(r){return typeof r=="object"&&r!==null}function kfe(r){return Array.isArray(r)?r:dU(r)?[]:[r]}function Rfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Vp(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Vp.prototype=Object.create(Error.prototype);Vp.prototype.constructor=Vp;Vp.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};CU.exports=Vp});var IU=w((bZe,EU)=>{"use strict";var mU=tc();function HS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}HS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),mU.repeat(" ",e)+i+a+s+` -`+mU.repeat(" ",e+this.position-n+i.length)+"^"};HS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: -`+t)),i};EU.exports=HS});var si=w((QZe,wU)=>{"use strict";var yU=Ng(),Tfe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Lfe=["scalar","sequence","mapping"];function Mfe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Ofe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(Tfe.indexOf(t)===-1)throw new yU('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Mfe(e.styleAliases||null),Lfe.indexOf(this.kind)===-1)throw new yU('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}wU.exports=Ofe});var rc=w((SZe,bU)=>{"use strict";var BU=tc(),dI=Ng(),Kfe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Ufe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var Hfe=si();QU.exports=new Hfe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var xU=w((xZe,vU)=>{"use strict";var Gfe=si();vU.exports=new Gfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var DU=w((PZe,PU)=>{"use strict";var Yfe=si();PU.exports=new Yfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var CI=w((DZe,kU)=>{"use strict";var jfe=rc();kU.exports=new jfe({explicit:[SU(),xU(),DU()]})});var FU=w((kZe,RU)=>{"use strict";var qfe=si();function Jfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Wfe(){return null}function zfe(r){return r===null}RU.exports=new qfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Jfe,construct:Wfe,predicate:zfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var TU=w((RZe,NU)=>{"use strict";var Vfe=si();function Xfe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Zfe(r){return r==="true"||r==="True"||r==="TRUE"}function _fe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}NU.exports=new Vfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Xfe,construct:Zfe,predicate:_fe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var MU=w((FZe,LU)=>{"use strict";var $fe=tc(),ehe=si();function the(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function rhe(r){return 48<=r&&r<=55}function ihe(r){return 48<=r&&r<=57}function nhe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var UU=w((NZe,KU)=>{"use strict";var OU=tc(),ahe=si(),Ahe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function lhe(r){return!(r===null||!Ahe.test(r)||r[r.length-1]==="_")}function che(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var uhe=/^[-+]?[0-9]+e/;function ghe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(OU.isNegativeZero(r))return"-0.0";return t=r.toString(10),uhe.test(t)?t.replace("e",".e"):t}function fhe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||OU.isNegativeZero(r))}KU.exports=new ahe("tag:yaml.org,2002:float",{kind:"scalar",resolve:lhe,construct:che,predicate:fhe,represent:ghe,defaultStyle:"lowercase"})});var YS=w((TZe,HU)=>{"use strict";var hhe=rc();HU.exports=new hhe({include:[CI()],implicit:[FU(),TU(),MU(),UU()]})});var jS=w((LZe,GU)=>{"use strict";var phe=rc();GU.exports=new phe({include:[YS()]})});var JU=w((MZe,qU)=>{"use strict";var dhe=si(),YU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),jU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Che(r){return r===null?!1:YU.exec(r)!==null||jU.exec(r)!==null}function mhe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=YU.exec(r),e===null&&(e=jU.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Ehe(r){return r.toISOString()}qU.exports=new dhe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Che,construct:mhe,instanceOf:Date,represent:Ehe})});var zU=w((OZe,WU)=>{"use strict";var Ihe=si();function yhe(r){return r==="<<"||r===null}WU.exports=new Ihe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:yhe})});var ZU=w((KZe,XU)=>{"use strict";var ic;try{VU=J,ic=VU("buffer").Buffer}catch{}var VU,whe=si(),qS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function Bhe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function bhe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),ic?ic.from?ic.from(a):new ic(a):a}function Qhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function She(r){return ic&&ic.isBuffer(r)}XU.exports=new whe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Bhe,construct:bhe,predicate:She,represent:Qhe})});var $U=w((HZe,_U)=>{"use strict";var vhe=si(),xhe=Object.prototype.hasOwnProperty,Phe=Object.prototype.toString;function Dhe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Rhe=si(),Fhe=Object.prototype.toString;function Nhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Lhe=si(),Mhe=Object.prototype.hasOwnProperty;function Ohe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Mhe.call(t,e)&&t[e]!==null)return!1;return!0}function Khe(r){return r!==null?r:{}}r2.exports=new Lhe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Ohe,construct:Khe})});var Lg=w((jZe,n2)=>{"use strict";var Uhe=rc();n2.exports=new Uhe({include:[jS()],implicit:[JU(),zU()],explicit:[ZU(),$U(),t2(),i2()]})});var o2=w((qZe,s2)=>{"use strict";var Hhe=si();function Ghe(){return!0}function Yhe(){}function jhe(){return""}function qhe(r){return typeof r>"u"}s2.exports=new Hhe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Ghe,construct:Yhe,predicate:qhe,represent:jhe})});var A2=w((JZe,a2)=>{"use strict";var Jhe=si();function Whe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function zhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Vhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function Xhe(r){return Object.prototype.toString.call(r)==="[object RegExp]"}a2.exports=new Jhe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Whe,construct:zhe,predicate:Xhe,represent:Vhe})});var u2=w((WZe,c2)=>{"use strict";var mI;try{l2=J,mI=l2("esprima")}catch{typeof window<"u"&&(mI=window.esprima)}var l2,Zhe=si();function _he(r){if(r===null)return!1;try{var e="("+r+")",t=mI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function $he(r){var e="("+r+")",t=mI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function epe(r){return r.toString()}function tpe(r){return Object.prototype.toString.call(r)==="[object Function]"}c2.exports=new Zhe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:_he,construct:$he,predicate:tpe,represent:epe})});var Xp=w((VZe,f2)=>{"use strict";var g2=rc();f2.exports=g2.DEFAULT=new g2({include:[Lg()],explicit:[o2(),A2(),u2()]})});var R2=w((XZe,Zp)=>{"use strict";var Ba=tc(),I2=Ng(),rpe=IU(),y2=Lg(),ipe=Xp(),RA=Object.prototype.hasOwnProperty,EI=1,w2=2,B2=3,II=4,JS=1,npe=2,h2=3,spe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ope=/[\x85\u2028\u2029]/,ape=/[,\[\]\{\}]/,b2=/^(?:!|!!|![a-z\-]+!)$/i,Q2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function p2(r){return Object.prototype.toString.call(r)}function vo(r){return r===10||r===13}function sc(r){return r===9||r===32}function fn(r){return r===9||r===32||r===10||r===13}function Mg(r){return r===44||r===91||r===93||r===123||r===125}function Ape(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function lpe(r){return r===120?2:r===117?4:r===85?8:0}function cpe(r){return 48<=r&&r<=57?r-48:-1}function d2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` -`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function upe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var S2=new Array(256),v2=new Array(256);for(nc=0;nc<256;nc++)S2[nc]=d2(nc)?1:0,v2[nc]=d2(nc);var nc;function gpe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||ipe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function x2(r,e){return new I2(e,new rpe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw x2(r,e)}function yI(r,e){r.onWarning&&r.onWarning.call(null,x2(r,e))}var C2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&yI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],b2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),RA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),Q2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function kA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=Ba.repeat(` -`,e-1))}function fpe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),fn(h)||Mg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Mg(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Mg(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),fn(i))break}else{if(r.position===r.lineStart&&wI(r)||t&&Mg(h))break;if(vo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(kA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),sc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return kA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function hpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(kA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else vo(t)?(kA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function ppe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return kA(r,t,r.position,!0),r.position++,!0;if(a===92){if(kA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),vo(a))zr(r,!1,e);else if(a<256&&S2[a])r.result+=v2[a],r.position++;else if((o=lpe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=Ape(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=upe(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else vo(a)?(kA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function dpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),fn(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Kg(r,e,EI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Kg(r,e,EI,!1,!0),C=r.result),g?Og(r,s,f,p,h,C):c?s.push(Og(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function Cpe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?h2:npe:ft(r,"repeat of a chomping mode identifier");else if((u=cpe(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(sc(g)){do g=r.input.charCodeAt(++r.position);while(sc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!vo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),vo(g)){l++;continue}if(r.lineIndente)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Kg(r,e,II,!0,n)&&(p?f=r.result:h=r.result),p||(Og(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function wpe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;sc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!vo(o));break}if(vo(o))break;for(t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&WS(r),RA.call(C2,i)?C2[i](r,i,n):yI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Kg(r,r.lineIndent-1,II,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&ope.test(r.input.slice(e,r.position))&&yI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&wI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=P2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),D2(r,e,Ba.extend({schema:y2},t))}function bpe(r,e){return k2(r,Ba.extend({schema:y2},e))}Zp.exports.loadAll=D2;Zp.exports.load=k2;Zp.exports.safeLoadAll=Bpe;Zp.exports.safeLoad=bpe});var tH=w((ZZe,_S)=>{"use strict";var $p=tc(),ed=Ng(),Qpe=Xp(),Spe=Lg(),U2=Object.prototype.toString,H2=Object.prototype.hasOwnProperty,vpe=9,_p=10,xpe=13,Ppe=32,Dpe=33,kpe=34,G2=35,Rpe=37,Fpe=38,Npe=39,Tpe=42,Y2=44,Lpe=45,j2=58,Mpe=61,Ope=62,Kpe=63,Upe=64,q2=91,J2=93,Hpe=96,W2=123,Gpe=124,z2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var Ype=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function jpe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&T2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Ug(o))return BI;a=s>0?r.charCodeAt(s-1):null,f=f&&T2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?X2:Z2:t>9&&V2(r)?BI:c?$2:_2}function Xpe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Ype.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Jpe(r,l)}switch(Vpe(e,o,r.indent,s,a)){case X2:return e;case Z2:return"'"+e.replace(/'/g,"''")+"'";case _2:return"|"+L2(e,r.indent)+M2(N2(e,n));case $2:return">"+L2(e,r.indent)+M2(N2(Zpe(e,s),n));case BI:return'"'+_pe(e,s)+'"';default:throw new ed("impossible error: invalid scalar style")}}()}function L2(r,e){var t=V2(r)?String(e):"",i=r[r.length-1]===` -`,n=i&&(r[r.length-2]===` -`||r===` -`),s=n?"+":i?"":"-";return t+s+` -`}function M2(r){return r[r.length-1]===` -`?r.slice(0,-1):r}function Zpe(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` -`);return c=c!==-1?c:r.length,t.lastIndex=c,O2(r.slice(0,c),e)}(),n=r[0]===` -`||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` -`:"")+O2(l,e),n=s}return i}function O2(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` -`+r.slice(n,s),n=s+1),o=a;return l+=` -`,r.length-n>e&&o>n?l+=r.slice(n,o)+` -`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function _pe(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=F2((t-55296)*1024+i-56320+65536),s++;continue}n=Ni[t],e+=!n&&Ug(t)?r[s]:n||F2(t)}return e}function $pe(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),oc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function rde(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new ed("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&_p===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=VS(r,e)),oc(r,e+1,u,!0,g)&&(r.dump&&_p===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function K2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function oc(r,e,t,i,n,s){r.tag=null,r.dump=t,K2(r,t,!1)||K2(r,t,!0);var o=U2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(rde(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(tde(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(ede(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):($pe(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&Xpe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new ed("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function ide(r,e){var t=[],i=[],n,s;for(XS(r,t,i),n=0,s=i.length;n{"use strict";var bI=R2(),rH=tH();function QI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=rc();Fr.exports.FAILSAFE_SCHEMA=CI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_FULL_SCHEMA=Xp();Fr.exports.load=bI.load;Fr.exports.loadAll=bI.loadAll;Fr.exports.safeLoad=bI.safeLoad;Fr.exports.safeLoadAll=bI.safeLoadAll;Fr.exports.dump=rH.dump;Fr.exports.safeDump=rH.safeDump;Fr.exports.YAMLException=Ng();Fr.exports.MINIMAL_SCHEMA=CI();Fr.exports.SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_SCHEMA=Xp();Fr.exports.scan=QI("scan");Fr.exports.parse=QI("parse");Fr.exports.compose=QI("compose");Fr.exports.addConstructor=QI("addConstructor")});var sH=w(($Ze,nH)=>{"use strict";var sde=iH();nH.exports=sde});var aH=w((e_e,oH)=>{"use strict";function ode(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ac(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}ode(ac,Error);ac.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Us("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===QA*yg},A=function(R){return R.length===(QA+1)*yg},Ae=function(){return QA++,!0},ge=function(){return QA--,!0},re=function(){return pg()},M=Us("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Tn(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,ke=Tn(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Fe=function(){return pg().replace(/^ *| *$/g,"")},Ne="--",oe=ar("--",!1),le=/^[a-zA-Z\/0-9]/,Be=Tn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,ae=Tn(["\r",` -`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},he="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Mr=Us("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Ks=/^[^"\\\0-\x1F\x7F]/,pr=Tn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',rs=ar('\\"',!1),fa=function(){return'"'},CA="\\\\",cg=ar("\\\\",!1),is=function(){return"\\"},mA="\\/",ha=ar("\\/",!1),wp=function(){return"/"},EA="\\b",IA=ar("\\b",!1),wr=function(){return"\b"},Tl="\\f",ug=ar("\\f",!1),Io=function(){return"\f"},gg="\\n",Bp=ar("\\n",!1),bp=function(){return` -`},vr="\\r",se=ar("\\r",!1),yo=function(){return"\r"},Fn="\\t",fg=ar("\\t",!1),bt=function(){return" "},Ll="\\u",Nn=ar("\\u",!1),ns=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},ss=/^[0-9a-fA-F]/,gt=Tn([["0","9"],["a","f"],["A","F"]],!1,!1),wo=Us("blank space"),At=/^[ \t]/,ln=Tn([" "," "],!1,!1),S=Us("white space"),Lt=/^[ \t\n\r]/,hg=Tn([" "," ",` -`,"\r"],!1,!1),Ml=`\r -`,Qp=ar(`\r -`,!1),Sp=` -`,vp=ar(` -`,!1),xp="\r",Pp=ar("\r",!1),G=0,yt=0,yA=[{line:1,column:1}],zi=0,Ol=[],Xe=0,pa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function pg(){return r.substring(yt,G)}function ME(){return cn(yt,G)}function Dp(R,q){throw q=q!==void 0?q:cn(yt,G),Ul([Us(R)],r.substring(yt,G),q)}function OE(R,q){throw q=q!==void 0?q:cn(yt,G),dg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Tn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Kl(){return{type:"any"}}function kp(){return{type:"end"}}function Us(R){return{type:"other",description:R}}function da(R){var q=yA[R],Ce;if(q)return q;for(Ce=R-1;!yA[Ce];)Ce--;for(q=yA[Ce],q={line:q.line,column:q.column};Cezi&&(zi=G,Ol=[]),Ol.push(R))}function dg(R,q){return new ac(R,null,null,q)}function Ul(R,q,Ce){return new ac(ac.buildMessage(R,q),R,q,Ce)}function Hs(){var R;return R=Cg(),R}function Hl(){var R,q,Ce;for(R=G,q=[],Ce=wA();Ce!==t;)q.push(Ce),Ce=wA();return q!==t&&(yt=R,q=s(q)),R=q,R}function wA(){var R,q,Ce,Ke,Re;return R=G,q=ma(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Le(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=Ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Cg(){var R,q,Ce;for(R=G,q=[],Ce=mg();Ce!==t;)q.push(Ce),Ce=mg();return q!==t&&(yt=R,q=c(q)),R=q,R}function mg(){var R,q,Ce,Ke,Re,ze,dt,Ft,Ln;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Le(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ys(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ys();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ma(),q!==t?(Ce=Gl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ma(),q!==t?(Ce=Gs(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=KE(),Re!==t){if(ze=[],dt=Ys(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ys();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Le(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=Ca(),Ft!==t?(yt=R,q=T(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function Ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=js(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Le(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ys(),Ce!==t?(Ke=Bo(),Ke!==t?(Re=Hl(),Re!==t?(ze=BA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=js(),q!==t?(Ce=Bo(),Ce!==t?(Ke=Cg(),Ke!==t?(Re=BA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Yl(),q!==t){if(Ce=[],Ke=Ys(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ys();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ma(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Le($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function Bo(){var R;return yt=G,R=Ae(),R?R=void 0:R=t,R}function BA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Gl(){var R;return R=jl(),R===t&&(R=Rp()),R}function Gs(){var R,q,Ce;if(R=jl(),R===t){if(R=G,q=[],Ce=Eg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Eg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Yl(){var R;return R=Fp(),R===t&&(R=UE(),R===t&&(R=jl(),R===t&&(R=Rp()))),R}function KE(){var R;return R=Fp(),R===t&&(R=jl(),R===t&&(R=Eg())),R}function Rp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(M)),R}function Eg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Le(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Le(Be)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function Fp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Le(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function UE(){var R,q;return R=G,r.substr(G,4)===he?(q=he,G+=4):(q=t,Xe===0&&Le(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===_e?(q=_e,G+=5):(q=t,Xe===0&&Le(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function jl(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Le(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(Ce=HE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Le(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Le(Mr)),R}function HE(){var R,q,Ce;if(R=G,q=[],Ce=Ig(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Ig();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function Ig(){var R,q,Ce,Ke,Re,ze;return Ks.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(pr)),R===t&&(R=G,r.substr(G,2)===Ii?(q=Ii,G+=2):(q=t,Xe===0&&Le(rs)),q!==t&&(yt=R,q=fa()),R=q,R===t&&(R=G,r.substr(G,2)===CA?(q=CA,G+=2):(q=t,Xe===0&&Le(cg)),q!==t&&(yt=R,q=is()),R=q,R===t&&(R=G,r.substr(G,2)===mA?(q=mA,G+=2):(q=t,Xe===0&&Le(ha)),q!==t&&(yt=R,q=wp()),R=q,R===t&&(R=G,r.substr(G,2)===EA?(q=EA,G+=2):(q=t,Xe===0&&Le(IA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===Tl?(q=Tl,G+=2):(q=t,Xe===0&&Le(ug)),q!==t&&(yt=R,q=Io()),R=q,R===t&&(R=G,r.substr(G,2)===gg?(q=gg,G+=2):(q=t,Xe===0&&Le(Bp)),q!==t&&(yt=R,q=bp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Le(se)),q!==t&&(yt=R,q=yo()),R=q,R===t&&(R=G,r.substr(G,2)===Fn?(q=Fn,G+=2):(q=t,Xe===0&&Le(fg)),q!==t&&(yt=R,q=bt()),R=q,R===t&&(R=G,r.substr(G,2)===Ll?(q=Ll,G+=2):(q=t,Xe===0&&Le(Nn)),q!==t?(Ce=bA(),Ce!==t?(Ke=bA(),Ke!==t?(Re=bA(),Re!==t?(ze=bA(),ze!==t?(yt=R,q=ns(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function bA(){var R;return ss.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(wo)),R}function GE(){var R,q;if(Xe++,R=[],Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg)),q!==t)for(;q!==t;)R.push(q),Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(S)),R}function Ys(){var R,q,Ce,Ke,Re,ze;if(R=G,q=js(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function js(){var R;return r.substr(G,2)===Ml?(R=Ml,G+=2):(R=t,Xe===0&&Le(Qp)),R===t&&(r.charCodeAt(G)===10?(R=Sp,G++):(R=t,Xe===0&&Le(vp)),R===t&&(r.charCodeAt(G)===13?(R=xp,G++):(R=t,Xe===0&&Le(Pp)))),R}let yg=2,QA=0;if(pa=n(),pa!==t&&G===r.length)return pa;throw pa!==t&&G{"use strict";var gde=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=gde(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};ev.exports=gH;ev.exports.default=gH});var hH=w((o_e,fde)=>{fde.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Ac=w(Un=>{"use strict";var dH=hH(),xo=process.env;Object.defineProperty(Un,"_vendors",{value:dH.map(function(r){return r.constant})});Un.name=null;Un.isPR=null;dH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return pH(i)});if(Un[r.constant]=t,t)switch(Un.name=r.name,typeof r.pr){case"string":Un.isPR=!!xo[r.pr];break;case"object":"env"in r.pr?Un.isPR=r.pr.env in xo&&xo[r.pr.env]!==r.pr.ne:"any"in r.pr?Un.isPR=r.pr.any.some(function(i){return!!xo[i]}):Un.isPR=pH(r.pr);break;default:Un.isPR=null}});Un.isCI=!!(xo.CI||xo.CONTINUOUS_INTEGRATION||xo.BUILD_NUMBER||xo.RUN_ID||Un.name);function pH(r){return typeof r=="string"?!!xo[r]:Object.keys(r).every(function(e){return xo[e]===r[e]})}});var hn={};ut(hn,{KeyRelationship:()=>lc,applyCascade:()=>od,base64RegExp:()=>yH,colorStringAlphaRegExp:()=>IH,colorStringRegExp:()=>EH,computeKey:()=>FA,getPrintable:()=>Vr,hasExactLength:()=>SH,hasForbiddenKeys:()=>qde,hasKeyRelationship:()=>av,hasMaxLength:()=>xde,hasMinLength:()=>vde,hasMutuallyExclusiveKeys:()=>Jde,hasRequiredKeys:()=>jde,hasUniqueItems:()=>Pde,isArray:()=>Ede,isAtLeast:()=>Rde,isAtMost:()=>Fde,isBase64:()=>Gde,isBoolean:()=>dde,isDate:()=>mde,isDict:()=>yde,isEnum:()=>Zi,isHexColor:()=>Hde,isISO8601:()=>Ude,isInExclusiveRange:()=>Tde,isInInclusiveRange:()=>Nde,isInstanceOf:()=>Bde,isInteger:()=>Lde,isJSON:()=>Yde,isLiteral:()=>hde,isLowerCase:()=>Mde,isNegative:()=>Dde,isNullable:()=>Sde,isNumber:()=>Cde,isObject:()=>wde,isOneOf:()=>bde,isOptional:()=>Qde,isPositive:()=>kde,isString:()=>sd,isTuple:()=>Ide,isUUID4:()=>Kde,isUnknown:()=>QH,isUpperCase:()=>Ode,iso8601RegExp:()=>ov,makeCoercionFn:()=>cc,makeSetter:()=>bH,makeTrait:()=>BH,makeValidator:()=>Qt,matchesRegExp:()=>ad,plural:()=>kI,pushError:()=>pt,simpleKeyRegExp:()=>mH,uuid4RegExp:()=>wH});function Qt({test:r}){return BH(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function FA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:mH.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function cc(r,e){return t=>{let i=r[e];return r[e]=t,cc(r,e).bind(null,i)}}function bH(r,e){return t=>{r[e]=t}}function kI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function hde(r){return Qt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Zi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return Qt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var mH,EH,IH,yH,wH,ov,BH,QH,sd,pde,dde,Cde,mde,Ede,Ide,yde,wde,Bde,bde,od,Qde,Sde,vde,xde,SH,Pde,Dde,kde,Rde,Fde,Nde,Tde,Lde,ad,Mde,Ode,Kde,Ude,Hde,Gde,Yde,jde,qde,Jde,lc,Wde,av,ls=Fge(()=>{mH=/^[a-zA-Z_][a-zA-Z0-9_]*$/,EH=/^#[0-9a-f]{6}$/i,IH=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,yH=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,wH=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ov=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,BH=r=>()=>r;QH=()=>Qt({test:(r,e)=>!0});sd=()=>Qt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});pde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),dde=()=>Qt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=pde.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),Cde=()=>Qt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),mde=()=>Qt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&ov.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),Ede=(r,{delimiter:e}={})=>Qt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=SH(r.length);return Qt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;aQt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return Qt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:FA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:FA(n,l),coercion:cc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:FA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:bH(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Bde=r=>Qt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),bde=(r,{exclusive:e=!1}={})=>Qt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),od=(r,e)=>Qt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?cc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Qde=r=>Qt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),Sde=r=>Qt({test:(e,t)=>e===null?!0:r(e,t)}),vde=r=>Qt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),xde=r=>Qt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),SH=r=>Qt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),Pde=({map:r}={})=>Qt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sQt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),kde=()=>Qt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Rde=r=>Qt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Fde=r=>Qt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),Nde=(r,e)=>Qt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),Tde=(r,e)=>Qt({test:(t,i)=>t>=r&&tQt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),ad=r=>Qt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Mde=()=>Qt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),Ode=()=>Qt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Kde=()=>Qt({test:(r,e)=>wH.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Ude=()=>Qt({test:(r,e)=>ov.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),Hde=({alpha:r=!1})=>Qt({test:(e,t)=>(r?EH.test(e):IH.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),Gde=()=>Qt({test:(r,e)=>yH.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),Yde=(r=QH())=>Qt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),jde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},qde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Jde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(lc||(lc={}));Wde={[lc.Forbids]:{expect:!1,message:"forbids using"},[lc.Requires]:{expect:!0,message:"requires using"}},av=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Wde[e];return Qt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${kI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var YH=w((o$e,GH)=>{"use strict";GH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Jg=w((a$e,pv)=>{"use strict";var cCe=YH(),jH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=cCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};pv.exports=jH;pv.exports.default=jH});var gd=w((l$e,qH)=>{var uCe="2.0.0",gCe=Number.MAX_SAFE_INTEGER||9007199254740991,fCe=16;qH.exports={SEMVER_SPEC_VERSION:uCe,MAX_LENGTH:256,MAX_SAFE_INTEGER:gCe,MAX_SAFE_COMPONENT_LENGTH:fCe}});var fd=w((c$e,JH)=>{var hCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};JH.exports=hCe});var uc=w((TA,WH)=>{var{MAX_SAFE_COMPONENT_LENGTH:dv}=gd(),pCe=fd();TA=WH.exports={};var dCe=TA.re=[],et=TA.src=[],tt=TA.t={},CCe=0,St=(r,e,t)=>{let i=CCe++;pCe(i,e),tt[r]=i,et[i]=e,dCe[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${et[tt.NUMERICIDENTIFIER]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${et[tt.NUMERICIDENTIFIERLOOSE]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${et[tt.PRERELEASEIDENTIFIER]}(?:\\.${et[tt.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${et[tt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${et[tt.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${et[tt.BUILDIDENTIFIER]}(?:\\.${et[tt.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${et[tt.MAINVERSION]}${et[tt.PRERELEASE]}?${et[tt.BUILD]}?`);St("FULL",`^${et[tt.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${et[tt.MAINVERSIONLOOSE]}${et[tt.PRERELEASELOOSE]}?${et[tt.BUILD]}?`);St("LOOSE",`^${et[tt.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${et[tt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${et[tt.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:${et[tt.PRERELEASE]})?${et[tt.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:${et[tt.PRERELEASELOOSE]})?${et[tt.BUILD]}?)?)?`);St("XRANGE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${dv}})(?:\\.(\\d{1,${dv}}))?(?:\\.(\\d{1,${dv}}))?(?:$|[^\\d])`);St("COERCERTL",et[tt.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${et[tt.LONETILDE]}\\s+`,!0);TA.tildeTrimReplace="$1~";St("TILDE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${et[tt.LONECARET]}\\s+`,!0);TA.caretTrimReplace="$1^";St("CARET",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${et[tt.GTLT]}\\s*(${et[tt.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]}|${et[tt.XRANGEPLAIN]})`,!0);TA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${et[tt.XRANGEPLAIN]})\\s+-\\s+(${et[tt.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${et[tt.XRANGEPLAINLOOSE]})\\s+-\\s+(${et[tt.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var hd=w((u$e,zH)=>{var mCe=["includePrerelease","loose","rtl"],ECe=r=>r?typeof r!="object"?{loose:!0}:mCe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};zH.exports=ECe});var MI=w((g$e,ZH)=>{var VH=/^[0-9]+$/,XH=(r,e)=>{let t=VH.test(r),i=VH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rXH(e,r);ZH.exports={compareIdentifiers:XH,rcompareIdentifiers:ICe}});var Li=w((f$e,tG)=>{var OI=fd(),{MAX_LENGTH:_H,MAX_SAFE_INTEGER:KI}=gd(),{re:$H,t:eG}=uc(),yCe=hd(),{compareIdentifiers:pd}=MI(),Yn=class{constructor(e,t){if(t=yCe(t),e instanceof Yn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>_H)throw new TypeError(`version is longer than ${_H} characters`);OI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?$H[eG.LOOSE]:$H[eG.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>KI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>KI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>KI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};tG.exports=Yn});var gc=w((h$e,sG)=>{var{MAX_LENGTH:wCe}=gd(),{re:rG,t:iG}=uc(),nG=Li(),BCe=hd(),bCe=(r,e)=>{if(e=BCe(e),r instanceof nG)return r;if(typeof r!="string"||r.length>wCe||!(e.loose?rG[iG.LOOSE]:rG[iG.FULL]).test(r))return null;try{return new nG(r,e)}catch{return null}};sG.exports=bCe});var aG=w((p$e,oG)=>{var QCe=gc(),SCe=(r,e)=>{let t=QCe(r,e);return t?t.version:null};oG.exports=SCe});var lG=w((d$e,AG)=>{var vCe=gc(),xCe=(r,e)=>{let t=vCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};AG.exports=xCe});var uG=w((C$e,cG)=>{var PCe=Li(),DCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new PCe(r,t).inc(e,i).version}catch{return null}};cG.exports=DCe});var cs=w((m$e,fG)=>{var gG=Li(),kCe=(r,e,t)=>new gG(r,t).compare(new gG(e,t));fG.exports=kCe});var UI=w((E$e,hG)=>{var RCe=cs(),FCe=(r,e,t)=>RCe(r,e,t)===0;hG.exports=FCe});var CG=w((I$e,dG)=>{var pG=gc(),NCe=UI(),TCe=(r,e)=>{if(NCe(r,e))return null;{let t=pG(r),i=pG(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};dG.exports=TCe});var EG=w((y$e,mG)=>{var LCe=Li(),MCe=(r,e)=>new LCe(r,e).major;mG.exports=MCe});var yG=w((w$e,IG)=>{var OCe=Li(),KCe=(r,e)=>new OCe(r,e).minor;IG.exports=KCe});var BG=w((B$e,wG)=>{var UCe=Li(),HCe=(r,e)=>new UCe(r,e).patch;wG.exports=HCe});var QG=w((b$e,bG)=>{var GCe=gc(),YCe=(r,e)=>{let t=GCe(r,e);return t&&t.prerelease.length?t.prerelease:null};bG.exports=YCe});var vG=w((Q$e,SG)=>{var jCe=cs(),qCe=(r,e,t)=>jCe(e,r,t);SG.exports=qCe});var PG=w((S$e,xG)=>{var JCe=cs(),WCe=(r,e)=>JCe(r,e,!0);xG.exports=WCe});var HI=w((v$e,kG)=>{var DG=Li(),zCe=(r,e,t)=>{let i=new DG(r,t),n=new DG(e,t);return i.compare(n)||i.compareBuild(n)};kG.exports=zCe});var FG=w((x$e,RG)=>{var VCe=HI(),XCe=(r,e)=>r.sort((t,i)=>VCe(t,i,e));RG.exports=XCe});var TG=w((P$e,NG)=>{var ZCe=HI(),_Ce=(r,e)=>r.sort((t,i)=>ZCe(i,t,e));NG.exports=_Ce});var dd=w((D$e,LG)=>{var $Ce=cs(),eme=(r,e,t)=>$Ce(r,e,t)>0;LG.exports=eme});var GI=w((k$e,MG)=>{var tme=cs(),rme=(r,e,t)=>tme(r,e,t)<0;MG.exports=rme});var Cv=w((R$e,OG)=>{var ime=cs(),nme=(r,e,t)=>ime(r,e,t)!==0;OG.exports=nme});var YI=w((F$e,KG)=>{var sme=cs(),ome=(r,e,t)=>sme(r,e,t)>=0;KG.exports=ome});var jI=w((N$e,UG)=>{var ame=cs(),Ame=(r,e,t)=>ame(r,e,t)<=0;UG.exports=Ame});var mv=w((T$e,HG)=>{var lme=UI(),cme=Cv(),ume=dd(),gme=YI(),fme=GI(),hme=jI(),pme=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return lme(r,t,i);case"!=":return cme(r,t,i);case">":return ume(r,t,i);case">=":return gme(r,t,i);case"<":return fme(r,t,i);case"<=":return hme(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};HG.exports=pme});var YG=w((L$e,GG)=>{var dme=Li(),Cme=gc(),{re:qI,t:JI}=uc(),mme=(r,e)=>{if(r instanceof dme)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(qI[JI.COERCE]);else{let i;for(;(i=qI[JI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),qI[JI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;qI[JI.COERCERTL].lastIndex=-1}return t===null?null:Cme(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};GG.exports=mme});var qG=w((M$e,jG)=>{"use strict";jG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var WI=w((O$e,JG)=>{"use strict";JG.exports=Ht;Ht.Node=fc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var wme=WI(),hc=Symbol("max"),va=Symbol("length"),Wg=Symbol("lengthCalculator"),md=Symbol("allowStale"),pc=Symbol("maxAge"),Sa=Symbol("dispose"),WG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Zs=Symbol("cache"),VG=Symbol("updateAgeOnGet"),Ev=()=>1,yv=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[hc]=e.max||1/0,i=e.length||Ev;if(this[Wg]=typeof i!="function"?Ev:i,this[md]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[pc]=e.maxAge||0,this[Sa]=e.dispose,this[WG]=e.noDisposeOnSet||!1,this[VG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[hc]=e||1/0,Cd(this)}get max(){return this[hc]}set allowStale(e){this[md]=!!e}get allowStale(){return this[md]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[pc]=e,Cd(this)}get maxAge(){return this[pc]}set lengthCalculator(e){typeof e!="function"&&(e=Ev),e!==this[Wg]&&(this[Wg]=e,this[va]=0,this[di].forEach(t=>{t.length=this[Wg](t.value,t.key),this[va]+=t.length})),Cd(this)}get lengthCalculator(){return this[Wg]}get length(){return this[va]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;zG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;zG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Sa]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Sa](e.key,e.value)),this[Zs]=new Map,this[di]=new wme,this[va]=0}dump(){return this[di].map(e=>zI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[pc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Wg](t,e);if(this[Zs].has(e)){if(s>this[hc])return zg(this,this[Zs].get(e)),!1;let l=this[Zs].get(e).value;return this[Sa]&&(this[WG]||this[Sa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[va]+=s-l.length,l.length=s,this.get(e),Cd(this),!0}let o=new wv(e,t,s,n,i);return o.length>this[hc]?(this[Sa]&&this[Sa](e,t),!1):(this[va]+=o.length,this[di].unshift(o),this[Zs].set(e,this[di].head),Cd(this),!0)}has(e){if(!this[Zs].has(e))return!1;let t=this[Zs].get(e).value;return!zI(this,t)}get(e){return Iv(this,e,!0)}peek(e){return Iv(this,e,!1)}pop(){let e=this[di].tail;return e?(zg(this,e),e.value):null}del(e){zg(this,this[Zs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Zs].forEach((e,t)=>Iv(this,t,!1))}},Iv=(r,e,t)=>{let i=r[Zs].get(e);if(i){let n=i.value;if(zI(r,n)){if(zg(r,i),!r[md])return}else t&&(r[VG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},zI=(r,e)=>{if(!e||!e.maxAge&&!r[pc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[pc]&&t>r[pc]},Cd=r=>{if(r[va]>r[hc])for(let e=r[di].tail;r[va]>r[hc]&&e!==null;){let t=e.prev;zg(r,e),e=t}},zg=(r,e)=>{if(e){let t=e.value;r[Sa]&&r[Sa](t.key,t.value),r[va]-=t.length,r[Zs].delete(t.key),r[di].removeNode(e)}},wv=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},zG=(r,e,t,i)=>{let n=t.value;zI(r,n)&&(zg(r,t),r[md]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};XG.exports=yv});var us=w((U$e,tY)=>{var dc=class{constructor(e,t){if(t=bme(t),e instanceof dc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new dc(e.raw,t);if(e instanceof Bv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!$G(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Pme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=_G.get(i);if(n)return n;let s=this.options.loose,o=s?Mi[bi.HYPHENRANGELOOSE]:Mi[bi.HYPHENRANGE];e=e.replace(o,Kme(this.options.includePrerelease)),Gr("hyphen replace",e),e=e.replace(Mi[bi.COMPARATORTRIM],Sme),Gr("comparator trim",e,Mi[bi.COMPARATORTRIM]),e=e.replace(Mi[bi.TILDETRIM],vme),e=e.replace(Mi[bi.CARETTRIM],xme),e=e.split(/\s+/).join(" ");let a=s?Mi[bi.COMPARATORLOOSE]:Mi[bi.COMPARATOR],l=e.split(" ").map(f=>Dme(f,this.options)).join(" ").split(/\s+/).map(f=>Ome(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Bv(f,this.options)),c=l.length,u=new Map;for(let f of l){if($G(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return _G.set(i,g),g}intersects(e,t){if(!(e instanceof dc))throw new TypeError("a Range is required");return this.set.some(i=>eY(i,t)&&e.set.some(n=>eY(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Qme(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",Pme=r=>r.value==="",eY=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},Dme=(r,e)=>(Gr("comp",r,e),r=Fme(r,e),Gr("caret",r),r=kme(r,e),Gr("tildes",r),r=Tme(r,e),Gr("xrange",r),r=Mme(r,e),Gr("stars",r),r),$i=r=>!r||r.toLowerCase()==="x"||r==="*",kme=(r,e)=>r.trim().split(/\s+/).map(t=>Rme(t,e)).join(" "),Rme=(r,e)=>{let t=e.loose?Mi[bi.TILDELOOSE]:Mi[bi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Gr("tilde",r,i,n,s,o,a);let l;return $i(n)?l="":$i(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:$i(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Gr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Gr("tilde return",l),l})},Fme=(r,e)=>r.trim().split(/\s+/).map(t=>Nme(t,e)).join(" "),Nme=(r,e)=>{Gr("caret",r,e);let t=e.loose?Mi[bi.CARETLOOSE]:Mi[bi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Gr("caret",r,n,s,o,a,l);let c;return $i(s)?c="":$i(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:$i(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Gr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Gr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Gr("caret return",c),c})},Tme=(r,e)=>(Gr("replaceXRanges",r,e),r.split(/\s+/).map(t=>Lme(t,e)).join(" ")),Lme=(r,e)=>{r=r.trim();let t=e.loose?Mi[bi.XRANGELOOSE]:Mi[bi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Gr("xRange",r,i,n,s,o,a,l);let c=$i(s),u=c||$i(o),g=u||$i(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Gr("xRange return",i),i})},Mme=(r,e)=>(Gr("replaceStars",r,e),r.trim().replace(Mi[bi.STAR],"")),Ome=(r,e)=>(Gr("replaceGTE0",r,e),r.trim().replace(Mi[e.includePrerelease?bi.GTE0PRE:bi.GTE0],"")),Kme=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>($i(i)?t="":$i(n)?t=`>=${i}.0.0${r?"-0":""}`:$i(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,$i(c)?l="":$i(u)?l=`<${+c+1}.0.0-0`:$i(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),Ume=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ed=w((H$e,oY)=>{var Id=Symbol("SemVer ANY"),Vg=class{static get ANY(){return Id}constructor(e,t){if(t=Hme(t),e instanceof Vg){if(e.loose===!!t.loose)return e;e=e.value}Qv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Id?this.value="":this.value=this.operator+this.semver.version,Qv("comp",this)}parse(e){let t=this.options.loose?rY[iY.COMPARATORLOOSE]:rY[iY.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new nY(i[2],this.options.loose):this.semver=Id}toString(){return this.value}test(e){if(Qv("Comparator.test",e,this.options.loose),this.semver===Id||e===Id)return!0;if(typeof e=="string")try{e=new nY(e,this.options)}catch{return!1}return bv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Vg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new sY(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new sY(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=bv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=bv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};oY.exports=Vg;var Hme=hd(),{re:rY,t:iY}=uc(),bv=mv(),Qv=fd(),nY=Li(),sY=us()});var yd=w((G$e,aY)=>{var Gme=us(),Yme=(r,e,t)=>{try{e=new Gme(e,t)}catch{return!1}return e.test(r)};aY.exports=Yme});var lY=w((Y$e,AY)=>{var jme=us(),qme=(r,e)=>new jme(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));AY.exports=qme});var uY=w((j$e,cY)=>{var Jme=Li(),Wme=us(),zme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Wme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new Jme(i,t))}),i};cY.exports=zme});var fY=w((q$e,gY)=>{var Vme=Li(),Xme=us(),Zme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Xme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new Vme(i,t))}),i};gY.exports=Zme});var dY=w((J$e,pY)=>{var Sv=Li(),_me=us(),hY=dd(),$me=(r,e)=>{r=new _me(r,e);let t=new Sv("0.0.0");if(r.test(t)||(t=new Sv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new Sv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||hY(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||hY(t,s))&&(t=s)}return t&&r.test(t)?t:null};pY.exports=$me});var mY=w((W$e,CY)=>{var eEe=us(),tEe=(r,e)=>{try{return new eEe(r,e).range||"*"}catch{return null}};CY.exports=tEe});var VI=w((z$e,wY)=>{var rEe=Li(),yY=Ed(),{ANY:iEe}=yY,nEe=us(),sEe=yd(),EY=dd(),IY=GI(),oEe=jI(),aEe=YI(),AEe=(r,e,t,i)=>{r=new rEe(r,i),e=new nEe(e,i);let n,s,o,a,l;switch(t){case">":n=EY,s=oEe,o=IY,a=">",l=">=";break;case"<":n=IY,s=aEe,o=EY,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(sEe(r,e,i))return!1;for(let c=0;c{h.semver===iEe&&(h=new yY(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};wY.exports=AEe});var bY=w((V$e,BY)=>{var lEe=VI(),cEe=(r,e,t)=>lEe(r,e,">",t);BY.exports=cEe});var SY=w((X$e,QY)=>{var uEe=VI(),gEe=(r,e,t)=>uEe(r,e,"<",t);QY.exports=gEe});var PY=w((Z$e,xY)=>{var vY=us(),fEe=(r,e,t)=>(r=new vY(r,t),e=new vY(e,t),r.intersects(e));xY.exports=fEe});var kY=w((_$e,DY)=>{var hEe=yd(),pEe=cs();DY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>pEe(u,g,t));for(let u of o)hEe(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var RY=us(),XI=Ed(),{ANY:vv}=XI,wd=yd(),xv=cs(),dEe=(r,e,t={})=>{if(r===e)return!0;r=new RY(r,t),e=new RY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=CEe(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},CEe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;t.includePrerelease?r=[new XI(">=0.0.0-0")]:r=[new XI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(t.includePrerelease)return!0;e=[new XI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=FY(n,h,t):h.operator==="<"||h.operator==="<="?s=NY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=xv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!wd(h,String(n),t)||s&&!wd(h,String(s),t))return null;for(let p of e)if(!wd(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=FY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!wd(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=NY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!wd(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},FY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},NY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};TY.exports=dEe});var Xr=w((eet,MY)=>{var Pv=uc();MY.exports={re:Pv.re,src:Pv.src,tokens:Pv.t,SEMVER_SPEC_VERSION:gd().SEMVER_SPEC_VERSION,SemVer:Li(),compareIdentifiers:MI().compareIdentifiers,rcompareIdentifiers:MI().rcompareIdentifiers,parse:gc(),valid:aG(),clean:lG(),inc:uG(),diff:CG(),major:EG(),minor:yG(),patch:BG(),prerelease:QG(),compare:cs(),rcompare:vG(),compareLoose:PG(),compareBuild:HI(),sort:FG(),rsort:TG(),gt:dd(),lt:GI(),eq:UI(),neq:Cv(),gte:YI(),lte:jI(),cmp:mv(),coerce:YG(),Comparator:Ed(),Range:us(),satisfies:yd(),toComparators:lY(),maxSatisfying:uY(),minSatisfying:fY(),minVersion:dY(),validRange:mY(),outside:VI(),gtr:bY(),ltr:SY(),intersects:PY(),simplifyRange:kY(),subset:LY()}});var Dv=w(ZI=>{"use strict";Object.defineProperty(ZI,"__esModule",{value:!0});ZI.VERSION=void 0;ZI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof _I=="object"&&_I.exports?_I.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:OY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` -`),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` -`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(y){C.push(y)}):C.push(p)}function o(p,C){if(p[C]===!0)throw"duplicate flag "+C;p[C]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` -`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ty=w(Xg=>{"use strict";Object.defineProperty(Xg,"__esModule",{value:!0});Xg.clearRegExpParserCache=Xg.getRegExpAst=void 0;var mEe=$I(),ey={},EEe=new mEe.RegExpParser;function IEe(r){var e=r.toString();if(ey.hasOwnProperty(e))return ey[e];var t=EEe.pattern(e);return ey[e]=t,t}Xg.getRegExpAst=IEe;function yEe(){ey={}}Xg.clearRegExpParserCache=yEe});var YY=w(Cn=>{"use strict";var wEe=Cn&&Cn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Cn,"__esModule",{value:!0});Cn.canMatchCharCode=Cn.firstCharOptimizedIndices=Cn.getOptimizedStartCodesIndices=Cn.failedOptimizationPrefixMsg=void 0;var UY=$I(),gs=Gt(),HY=ty(),xa=Rv(),GY="Complement Sets are not supported for first char optimization";Cn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: -`;function BEe(r,e){e===void 0&&(e=!1);try{var t=(0,HY.getRegExpAst)(r),i=iy(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===GY)e&&(0,gs.PRINT_WARNING)(""+Cn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > -`)+` Complement Sets cannot be automatically optimized. - This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` - This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,gs.PRINT_ERROR)(Cn.failedOptimizationPrefixMsg+` -`+(" Failed parsing: < "+r.toString()+` > -`)+(" Using the regexp-to-ast library version: "+UY.VERSION+` -`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Cn.getOptimizedStartCodesIndices=BEe;function iy(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=xa.minOptimizationVal)for(var f=u.from>=xa.minOptimizationVal?u.from:xa.minOptimizationVal,h=u.to,p=(0,xa.charCodeToOptimizedIndex)(f),C=(0,xa.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":iy(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&kv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,gs.values)(e)}Cn.firstCharOptimizedIndices=iy;function ry(r,e,t){var i=(0,xa.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&bEe(r,e)}function bEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,xa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,xa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function KY(r,e){return(0,gs.find)(r.value,function(t){if(typeof t=="number")return(0,gs.contains)(e,t);var i=t;return(0,gs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function kv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,gs.isArray)(r.value)?(0,gs.every)(r.value,kv):kv(r.value):!1}var QEe=function(r){wEe(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,gs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?KY(t,this.targetCharCodes)===void 0&&(this.found=!0):KY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(UY.BaseRegExpVisitor);function SEe(r,e){if(e instanceof RegExp){var t=(0,HY.getRegExpAst)(e),i=new QEe(r);return i.visit(t),i.found}else return(0,gs.find)(e,function(n){return(0,gs.contains)(r,n.charCodeAt(0))})!==void 0}Cn.canMatchCharCode=SEe});var Rv=w(Ve=>{"use strict";var jY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var qY=$I(),ir=Bd(),xe=Gt(),Zg=YY(),JY=ty(),Do="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function vEe(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=vEe;function xEe(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=xEe;function PEe(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){KEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[Do]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[Do];if((0,xe.isRegExp)(D)){var T=D.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!D.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Tv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Tv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var T=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return T}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=oj(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(nj(D,v)===!1)return(0,Zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Mv),h=(0,xe.map)(s,ij),p=(0,xe.reduce)(i,function(v,D){var T=D.GROUP;return(0,xe.isString)(T)&&T!==ir.Lexer.SKIPPED&&(v[T]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,T){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Lv(H);Fv(v,j,C[T])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Lv(_);$!==A&&($=A,Fv(v,A,C[T]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. -`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. - This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,Zg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){Fv(v,W,C[T])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. -`)+` This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=PEe;function DEe(r,e){var t=[],i=WY(r);t=t.concat(i.errors);var n=zY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(kEe(s)),t=t.concat(ej(s)),t=t.concat(tj(s,e)),t=t.concat(rj(s)),t}Ve.validatePatterns=DEe;function kEe(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[Do])});return e=e.concat(VY(t)),e=e.concat(ZY(t)),e=e.concat(_Y(t)),e=e.concat($Y(t)),e=e.concat(XY(t)),e}function WY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,Do)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=WY;function zY(r){var e=(0,xe.filter)(r,function(n){var s=n[Do];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,"exec")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=zY;var REe=/[^\\][\$]/;function VY(r){var e=function(n){jY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(qY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,JY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return REe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: - Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=VY;function XY(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=XY;var FEe=/[^\\[][\^]|^\^/;function ZY(r){var e=function(n){jY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(qY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,JY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return FEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: - Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=ZY;function _Y(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=_Y;function $Y(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=$Y;function ej(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=ej;function tj(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=tj;function rj(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&TEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=rj;function NEe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function TEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Tv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Tv;function LEe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.MODES+`> property in its definition -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ve.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> -`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=LEe;function MEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=oj(t);return e&&(0,xe.forEach)(o,function(l){var c=nj(l,a);if(c!==!1){var u=sj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. - This Lexer has been defined to track line and column information, - But none of the Token Types can be identified as matching a line terminator. - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=MEe;function OEe(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ve.cloneEmptyGroups=OEe;function Mv(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,"exec"))return!0;if((0,xe.isString)(e))return!1;throw Error("non exhaustive match")}Ve.isCustomPattern=Mv;function ij(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=ij;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type -`)+(" Root cause: "+e.errMsg+`. -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. -`+(" The problem is in the <"+r.name+`> Token Type -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=sj;function oj(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ny=[];function Lv(r){return r255?255+~~(r/255):r}}});var _g=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function UEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=UEe;function HEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=HEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function GEe(r){var e=aj(r);Aj(e),cj(e),lj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=GEe;function aj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=aj;function Aj(r){(0,Zr.forEach)(r,function(e){uj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Ov(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ov(e)||(e.CATEGORIES=[]),gj(e)||(e.categoryMatches=[]),fj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=Aj;function lj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=lj;function cj(r){(0,Zr.forEach)(r,function(e){Kv([],e)})}Nt.assignCategoriesMapProp=cj;function Kv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Kv(i,t)})}Nt.singleAssignCategoriesToksMap=Kv;function uj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=uj;function Ov(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Ov;function gj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=gj;function fj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=fj;function YEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=YEe});var Uv=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.defaultLexerErrorProvider=void 0;sy.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Bd=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.Lexer=Cc.LexerDefinitionErrorType=void 0;var _s=Rv(),nr=Gt(),jEe=_g(),qEe=Uv(),JEe=ty(),WEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(WEe=Cc.LexerDefinitionErrorType||(Cc.LexerDefinitionErrorType={}));var bd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:qEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(bd);var zEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=bd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(bd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===bd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=_s.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===bd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[_s.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[_s.DEFAULT_MODE]=_s.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,_s.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,jEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,_s.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- -`);throw new Error(`Errors detected in definition of Lexer: -`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(_s.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. - Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,JEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- -`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,T=e,H=T.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,Ae=this.trackStartLines?1:void 0,ge=(0,_s.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,M=this.config.lineTerminatorsPattern,F=0,ue=[],pe=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,_s.charCodeToOptimizedIndex)(pr),rs=pe[Ii];return rs===void 0?Fe:rs}var Be=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var rs=(0,nr.last)(ke);ue=i.patternIdxToConfig[rs],pe=i.charCodeToPatternIdxToConfig[rs],F=ue.length;var fa=i.canModeBeOptimized[rs]&&i.config.safeMode===!1;pe&&fa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),pe=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;pe&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var ae;jc.length){c=a,u=g,ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=ae.group,h!==void 0&&(p=ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,ae.tokenType,A,Ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,Ae=this.computeNewColumn(Ae,f),re===!0&&ae.canLineTerminator===!0){var It=0,Mr=void 0,ii=void 0;M.lastIndex=0;do Mr=M.test(c),Mr===!0&&(ii=M.lastIndex-1,It++);while(Mr===!0);It!==0&&(A=A+It,Ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,Ae,f))}this.handleModes(ae,Be,fe,C)}else{for(var gi=j,hr=A,fi=Ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();Cc.Lexer=zEe});var LA=w(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.tokenMatcher=Qi.createTokenInstance=Qi.EOF=Qi.createToken=Qi.hasTokenLabel=Qi.tokenName=Qi.tokenLabel=void 0;var $s=Gt(),VEe=Bd(),Hv=_g();function XEe(r){return wj(r)?r.LABEL:r.name}Qi.tokenLabel=XEe;function ZEe(r){return r.name}Qi.tokenName=ZEe;function wj(r){return(0,$s.isString)(r.LABEL)&&r.LABEL!==""}Qi.hasTokenLabel=wj;var _Ee="parent",hj="categories",pj="label",dj="group",Cj="push_mode",mj="pop_mode",Ej="longer_alt",Ij="line_breaks",yj="start_chars_hint";function Bj(r){return $Ee(r)}Qi.createToken=Bj;function $Ee(r){var e=r.pattern,t={};if(t.name=r.name,(0,$s.isUndefined)(e)||(t.PATTERN=e),(0,$s.has)(r,_Ee))throw`The parent property is no longer supported. -See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,$s.has)(r,hj)&&(t.CATEGORIES=r[hj]),(0,Hv.augmentTokenTypes)([t]),(0,$s.has)(r,pj)&&(t.LABEL=r[pj]),(0,$s.has)(r,dj)&&(t.GROUP=r[dj]),(0,$s.has)(r,mj)&&(t.POP_MODE=r[mj]),(0,$s.has)(r,Cj)&&(t.PUSH_MODE=r[Cj]),(0,$s.has)(r,Ej)&&(t.LONGER_ALT=r[Ej]),(0,$s.has)(r,Ij)&&(t.LINE_BREAKS=r[Ij]),(0,$s.has)(r,yj)&&(t.START_CHARS_HINT=r[yj]),t}Qi.EOF=Bj({name:"EOF",pattern:VEe.Lexer.NA});(0,Hv.augmentTokenTypes)([Qi.EOF]);function eIe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Qi.createTokenInstance=eIe;function tIe(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}Qi.tokenMatcher=tIe});var mn=w(zt=>{"use strict";var Pa=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),rIe=LA(),ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=ko;var bj=function(r){Pa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(ko);zt.NonTerminal=bj;var Qj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Rule=Qj;var Sj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Alternative=Sj;var vj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Option=vj;var xj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatory=xj;var Pj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatoryWithSeparator=Pj;var Dj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Repetition=Dj;var kj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionWithSeparator=kj;var Rj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(ko);zt.Alternation=Rj;var oy=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=oy;function iIe(r){return(0,Ar.map)(r,Qd)}zt.serializeGrammar=iIe;function Qd(r){function e(s){return(0,Ar.map)(s,Qd)}if(r instanceof bj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof Sj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof vj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof xj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Pj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof kj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Dj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Rj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof oy){var i={type:"Terminal",name:r.terminalType.name,label:(0,rIe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof Qj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}zt.serializeProduction=Qd});var Ay=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RestWalker=void 0;var Gv=Gt(),En=mn(),nIe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Gv.forEach)(e.definition,function(n,s){var o=(0,Gv.drop)(e.definition,s+1);if(n instanceof En.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof En.Terminal)i.walkTerminal(n,o,t);else if(n instanceof En.Alternative)i.walkFlat(n,o,t);else if(n instanceof En.Option)i.walkOption(n,o,t);else if(n instanceof En.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof En.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof En.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof En.Repetition)i.walkMany(n,o,t);else if(n instanceof En.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Fj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Fj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Gv.forEach)(e.definition,function(o){var a=new En.Alternative({definition:[o]});n.walk(a,s)})},r}();ay.RestWalker=nIe;function Fj(r,e,t){var i=[new En.Option({definition:[new En.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var $g=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.GAstVisitor=void 0;var Ro=mn(),sIe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Ro.NonTerminal:return this.visitNonTerminal(t);case Ro.Alternative:return this.visitAlternative(t);case Ro.Option:return this.visitOption(t);case Ro.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Ro.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Ro.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Ro.Repetition:return this.visitRepetition(t);case Ro.Alternation:return this.visitAlternation(t);case Ro.Terminal:return this.visitTerminal(t);case Ro.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();ly.GAstVisitor=sIe});var vd=w(Oi=>{"use strict";var oIe=Oi&&Oi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Oi,"__esModule",{value:!0});Oi.collectMethods=Oi.DslMethodsCollectorVisitor=Oi.getProductionDslName=Oi.isBranchingProd=Oi.isOptionalProd=Oi.isSequenceProd=void 0;var Sd=Gt(),br=mn(),aIe=$g();function AIe(r){return r instanceof br.Alternative||r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionMandatory||r instanceof br.RepetitionMandatoryWithSeparator||r instanceof br.RepetitionWithSeparator||r instanceof br.Terminal||r instanceof br.Rule}Oi.isSequenceProd=AIe;function Yv(r,e){e===void 0&&(e=[]);var t=r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionWithSeparator;return t?!0:r instanceof br.Alternation?(0,Sd.some)(r.definition,function(i){return Yv(i,e)}):r instanceof br.NonTerminal&&(0,Sd.contains)(e,r)?!1:r instanceof br.AbstractProduction?(r instanceof br.NonTerminal&&e.push(r),(0,Sd.every)(r.definition,function(i){return Yv(i,e)})):!1}Oi.isOptionalProd=Yv;function lIe(r){return r instanceof br.Alternation}Oi.isBranchingProd=lIe;function cIe(r){if(r instanceof br.NonTerminal)return"SUBRULE";if(r instanceof br.Option)return"OPTION";if(r instanceof br.Alternation)return"OR";if(r instanceof br.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof br.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof br.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof br.Repetition)return"MANY";if(r instanceof br.Terminal)return"CONSUME";throw Error("non exhaustive match")}Oi.getProductionDslName=cIe;var Nj=function(r){oIe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(aIe.GAstVisitor);Oi.DslMethodsCollectorVisitor=Nj;var cy=new Nj;function uIe(r){cy.reset(),r.accept(cy);var e=cy.dslMethods;return cy.reset(),e}Oi.collectMethods=uIe});var qv=w(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.firstForTerminal=Fo.firstForBranching=Fo.firstForSequence=Fo.first=void 0;var uy=Gt(),Tj=mn(),jv=vd();function gy(r){if(r instanceof Tj.NonTerminal)return gy(r.referencedRule);if(r instanceof Tj.Terminal)return Oj(r);if((0,jv.isSequenceProd)(r))return Lj(r);if((0,jv.isBranchingProd)(r))return Mj(r);throw Error("non exhaustive match")}Fo.first=gy;function Lj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,jv.isOptionalProd)(s),e=e.concat(gy(s)),i=i+1,n=t.length>i;return(0,uy.uniq)(e)}Fo.firstForSequence=Lj;function Mj(r){var e=(0,uy.map)(r.definition,function(t){return gy(t)});return(0,uy.uniq)((0,uy.flatten)(e))}Fo.firstForBranching=Mj;function Oj(r){return[r.terminalType]}Fo.firstForTerminal=Oj});var Jv=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.IN=void 0;fy.IN="_~IN~_"});var Yj=w(fs=>{"use strict";var gIe=fs&&fs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(fs,"__esModule",{value:!0});fs.buildInProdFollowPrefix=fs.buildBetweenProdsFollowPrefix=fs.computeAllProdsFollows=fs.ResyncFollowsWalker=void 0;var fIe=Ay(),hIe=qv(),Kj=Gt(),Uj=Jv(),pIe=mn(),Hj=function(r){gIe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=Gj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new pIe.Alternative({definition:o}),l=(0,hIe.first)(a);this.follows[s]=l},e}(fIe.RestWalker);fs.ResyncFollowsWalker=Hj;function dIe(r){var e={};return(0,Kj.forEach)(r,function(t){var i=new Hj(t).startWalking();(0,Kj.assign)(e,i)}),e}fs.computeAllProdsFollows=dIe;function Gj(r,e){return r.name+e+Uj.IN}fs.buildBetweenProdsFollowPrefix=Gj;function CIe(r){var e=r.terminalType.name;return e+r.idx+Uj.IN}fs.buildInProdFollowPrefix=CIe});var xd=w(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.defaultGrammarValidatorErrorProvider=Da.defaultGrammarResolverErrorProvider=Da.defaultParserErrorProvider=void 0;var ef=LA(),mIe=Gt(),eo=Gt(),Wv=mn(),jj=vd();Da.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,ef.hasTokenLabel)(e),o=s?"--> "+(0,ef.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,eo.first)(t).image,l=` -but found: '`+a+"'";if(n)return o+n+l;var c=(0,eo.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,eo.map)(c,function(h){return"["+(0,eo.map)(h,function(p){return(0,ef.tokenLabel)(p)}).join(", ")+"]"}),g=(0,eo.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: -`+g.join(` -`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,eo.first)(t).image,a=` -but found: '`+o+"'";if(i)return s+i+a;var l=(0,eo.map)(e,function(u){return"["+(0,eo.map)(u,function(g){return(0,ef.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: - `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Da.defaultParserErrorProvider);Da.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+r.name+"<-";return t}};Da.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Wv.Terminal?u.terminalType.name:u instanceof Wv.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,eo.first)(e),s=n.idx,o=(0,jj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` - appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. - For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES - `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` -`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar. -`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>. -`)+`To resolve this make sure each Terminal and Non-Terminal names are unique -This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,eo.map)(r.prefixPath,function(n){return(0,ef.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix -`+("in inside <"+r.topLevelRule.name+`> Rule, -`)+("<"+e+`> may appears as a prefix path in all these alternatives. -`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX -For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,eo.map)(r.prefixPath,function(n){return(0,ef.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, -`)+("<"+e+`> may appears as a prefix path in all these alternatives. -`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,jj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. -This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in inside <"+r.topLevelRule.name+`> Rule. -`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives: -`+(" inside <"+r.topLevelRule.name+`> Rule. - has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=mIe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. -`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) -`)+(`without consuming any Tokens. The grammar path that causes this is: - `+i+` -`)+` To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Wj=w(MA=>{"use strict";var EIe=MA&&MA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(MA,"__esModule",{value:!0});MA.GastRefResolverVisitor=MA.resolveGrammar=void 0;var IIe=jn(),qj=Gt(),yIe=$g();function wIe(r,e){var t=new Jj(r,e);return t.resolveRefs(),t.errors}MA.resolveGrammar=wIe;var Jj=function(r){EIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,qj.forEach)((0,qj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:IIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(yIe.GAstVisitor);MA.GastRefResolverVisitor=Jj});var Dd=w(Nr=>{"use strict";var mc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var zj=Ay(),Kt=Gt(),BIe=qv(),kt=mn(),Vj=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(zj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Vj;var bIe=function(r){mc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,BIe.first)(o),this.found=!0}},e}(Vj);Nr.NextAfterTokenWalker=bIe;var Pd=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(zj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=Pd;var QIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManyWalker=QIe;var SIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManySepWalker=SIe;var vIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneWalker=vIe;var xIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneSepWalker=xIe;function Xj(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=Xj(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],M={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(M),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(DIe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=PIe;function DIe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var kd=w(Zt=>{"use strict";var $j=Zt&&Zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.areTokenCategoriesNotUsed=Zt.isStrictPrefixOfPath=Zt.containsPath=Zt.getLookaheadPathsForOptionalProd=Zt.getLookaheadPathsForOr=Zt.lookAheadSequenceFromAlternatives=Zt.buildSingleAlternativeLookaheadFunction=Zt.buildAlternativesLookAheadFunc=Zt.buildLookaheadFuncForOptionalProd=Zt.buildLookaheadFuncForOr=Zt.getProdType=Zt.PROD_TYPE=void 0;var sr=Gt(),Zj=Dd(),kIe=Ay(),hy=_g(),OA=mn(),RIe=$g(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=Zt.PROD_TYPE||(Zt.PROD_TYPE={}));function FIe(r){if(r instanceof OA.Option)return oi.OPTION;if(r instanceof OA.Repetition)return oi.REPETITION;if(r instanceof OA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof OA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof OA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof OA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}Zt.getProdType=FIe;function NIe(r,e,t,i,n,s){var o=tq(r,e,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o,i,a,n)}Zt.buildLookaheadFuncForOr=NIe;function TIe(r,e,t,i,n,s){var o=rq(r,e,n,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o[0],a,i)}Zt.buildLookaheadFuncForOptionalProd=TIe;function LIe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Zv=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.checkPrefixAlternativesAmbiguities=Vt.validateSomeNonEmptyLookaheadPath=Vt.validateTooManyAlts=Vt.RepetionCollector=Vt.validateAmbiguousAlternationAlternatives=Vt.validateEmptyOrAlternative=Vt.getFirstNoneTerminal=Vt.validateNoLeftRecursion=Vt.validateRuleIsOverridden=Vt.validateRuleDoesNotAlreadyExist=Vt.OccurrenceValidationCollector=Vt.identifyProductionForDuplicates=Vt.validateGrammar=void 0;var er=Gt(),Qr=Gt(),No=jn(),_v=vd(),tf=kd(),HIe=Dd(),to=mn(),$v=$g();function GIe(r,e,t,i,n){var s=er.map(r,function(h){return YIe(h,i)}),o=er.map(r,function(h){return ex(h,h,i)}),a=[],l=[],c=[];(0,Qr.every)(o,Qr.isEmpty)&&(a=(0,Qr.map)(r,function(h){return Aq(h,i)}),l=(0,Qr.map)(r,function(h){return lq(h,e,i)}),c=gq(r,e,i));var u=JIe(r,t,i),g=(0,Qr.map)(r,function(h){return uq(h,i)}),f=(0,Qr.map)(r,function(h){return aq(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}Vt.validateGrammar=GIe;function YIe(r,e){var t=new oq;r.accept(t);var i=t.allProductions,n=er.groupBy(i,nq),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,_v.getProductionDslName)(l),g={message:c,type:No.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=sq(l);return f&&(g.parameter=f),g});return o}function nq(r){return(0,_v.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+sq(r)}Vt.identifyProductionForDuplicates=nq;function sq(r){return r instanceof to.Terminal?r.terminalType.name:r instanceof to.NonTerminal?r.nonTerminalName:""}var oq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.OccurrenceValidationCollector=oq;function aq(r,e,t,i){var n=[],s=(0,Qr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:No.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Vt.validateRuleDoesNotAlreadyExist=aq;function jIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:No.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Vt.validateRuleIsOverridden=jIe;function ex(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Rd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:No.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),ex(r,u,t,g)});return n.concat(er.flatten(c))}Vt.validateNoLeftRecursion=ex;function Rd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof to.NonTerminal)e.push(t.referencedRule);else if(t instanceof to.Alternative||t instanceof to.Option||t instanceof to.RepetitionMandatory||t instanceof to.RepetitionMandatoryWithSeparator||t instanceof to.RepetitionWithSeparator||t instanceof to.Repetition)e=e.concat(Rd(t.definition));else if(t instanceof to.Alternation)e=er.flatten(er.map(t.definition,function(o){return Rd(o.definition)}));else if(!(t instanceof to.Terminal))throw Error("non exhaustive match");var i=(0,_v.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(Rd(s))}else return e}Vt.getFirstNoneTerminal=Rd;var tx=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}($v.GAstVisitor);function Aq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,HIe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:No.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}Vt.validateEmptyOrAlternative=Aq;function lq(r,e,t){var i=new tx;r.accept(i);var n=i.alternations;n=(0,Qr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,tf.getLookaheadPathsForOr)(l,r,c,a),g=qIe(u,a,r,t),f=fq(u,a,r,t);return o.concat(g,f)},[]);return s}Vt.validateAmbiguousAlternationAlternatives=lq;var cq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.RepetionCollector=cq;function uq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:No.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Vt.validateTooManyAlts=uq;function gq(r,e,t){var i=[];return(0,Qr.forEach)(r,function(n){var s=new cq;n.accept(s);var o=s.allProductions;(0,Qr.forEach)(o,function(a){var l=(0,tf.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,tf.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Qr.isEmpty)((0,Qr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:No.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Vt.validateSomeNonEmptyLookaheadPath=gq;function qIe(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Qr.forEach)(l,function(u){var g=[c];(0,Qr.forEach)(r,function(f,h){c!==h&&(0,tf.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,tf.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,Qr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:No.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function fq(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(o,a,l){var c=(0,Qr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Qr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Qr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.validateGrammar=rf.resolveGrammar=void 0;var ix=Gt(),WIe=Wj(),zIe=rx(),hq=xd();function VIe(r){r=(0,ix.defaults)(r,{errMsgProvider:hq.defaultGrammarResolverErrorProvider});var e={};return(0,ix.forEach)(r.rules,function(t){e[t.name]=t}),(0,WIe.resolveGrammar)(e,r.errMsgProvider)}rf.resolveGrammar=VIe;function XIe(r){return r=(0,ix.defaults)(r,{errMsgProvider:hq.defaultGrammarValidatorErrorProvider}),(0,zIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}rf.validateGrammar=XIe});var nf=w(In=>{"use strict";var Fd=In&&In.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(In,"__esModule",{value:!0});In.EarlyExitException=In.NotAllInputParsedException=In.NoViableAltException=In.MismatchedTokenException=In.isRecognitionException=void 0;var ZIe=Gt(),dq="MismatchedTokenException",Cq="NoViableAltException",mq="EarlyExitException",Eq="NotAllInputParsedException",Iq=[dq,Cq,mq,Eq];Object.freeze(Iq);function _Ie(r){return(0,ZIe.contains)(Iq,r.name)}In.isRecognitionException=_Ie;var py=function(r){Fd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),$Ie=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=dq,s}return e}(py);In.MismatchedTokenException=$Ie;var eye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Cq,s}return e}(py);In.NoViableAltException=eye;var tye=function(r){Fd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=Eq,n}return e}(py);In.NotAllInputParsedException=tye;var rye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mq,s}return e}(py);In.EarlyExitException=rye});var sx=w(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var dy=LA(),hs=Gt(),iye=nf(),nye=Jv(),sye=jn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function nx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=nx;nx.prototype=Error.prototype;var oye=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,hs.has)(e,"recoveryEnabled")?e.recoveryEnabled:sye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=yq)},r.prototype.getTokenToInsert=function(e){var t=(0,dy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new iye.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,hs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new nx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,hs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,hs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,hs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,hs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,hs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,hs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,hs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[dy.EOF];var t=e.ruleName+e.idxInCallingRule+nye.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,dy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,hs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,hs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,hs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=oye;function yq(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=dy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=yq});var Cy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.LooksAhead=void 0;var ka=kd(),ro=Gt(),wq=jn(),Ra=Cy(),Ec=vd(),Aye=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,ro.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:wq.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,ro.has)(e,"maxLookahead")?e.maxLookahead:wq.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,ro.isES2015MapSupported)()?new Map:[],(0,ro.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,ro.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Ec.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,ro.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Ec.getProductionDslName)(g)+f,function(){var h=(0,ka.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Ra.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Ra.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,ro.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_IDX,ka.PROD_TYPE.REPETITION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Ra.OPTION_IDX,ka.PROD_TYPE.OPTION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_IDX,ka.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_SEP_IDX,ka.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_SEP_IDX,ka.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,ka.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Ra.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,ka.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,ka.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Ra.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();my.LooksAhead=Aye});var bq=w(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.addNoneTerminalToCst=To.addTerminalToCst=To.setNodeLocationFull=To.setNodeLocationOnlyOffset=void 0;function lye(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.defineNameProp=KA.functionName=KA.classNameFromInstance=void 0;var fye=Gt();function hye(r){return Sq(r.constructor)}KA.classNameFromInstance=hye;var Qq="name";function Sq(r){var e=r.name;return e||"anonymous"}KA.functionName=Sq;function pye(r,e){var t=Object.getOwnPropertyDescriptor(r,Qq);return(0,fye.isUndefined)(t)||t.configurable?(Object.defineProperty(r,Qq,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}KA.defineNameProp=pye});var kq=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.validateRedundantMethods=Si.validateMissingCstMethods=Si.validateVisitor=Si.CstVisitorDefinitionError=Si.createBaseVisitorConstructorWithDefaults=Si.createBaseSemanticVisitorConstructor=Si.defaultVisit=void 0;var ps=Gt(),Nd=ox();function vq(r,e){for(var t=(0,ps.keys)(r),i=t.length,n=0;n: - `+(""+s.join(` - -`).replace(/\n/g,` - `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Si.createBaseSemanticVisitorConstructor=dye;function Cye(r,e,t){var i=function(){};(0,Nd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,ps.forEach)(e,function(s){n[s]=vq}),i.prototype=n,i.prototype.constructor=i,i}Si.createBaseVisitorConstructorWithDefaults=Cye;var ax;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ax=Si.CstVisitorDefinitionError||(Si.CstVisitorDefinitionError={}));function xq(r,e){var t=Pq(r,e),i=Dq(r,e);return t.concat(i)}Si.validateVisitor=xq;function Pq(r,e){var t=(0,ps.map)(e,function(i){if(!(0,ps.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+" CST Visitor.",type:ax.MISSING_METHOD,methodName:i}});return(0,ps.compact)(t)}Si.validateMissingCstMethods=Pq;var mye=["constructor","visit","validateVisitor"];function Dq(r,e){var t=[];for(var i in r)(0,ps.isFunction)(r[i])&&!(0,ps.contains)(mye,i)&&!(0,ps.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+` CST Visitor -There is no Grammar Rule corresponding to this method's name. -`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=Dq});var Fq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.TreeBuilder=void 0;var sf=bq(),_r=Gt(),Rq=kq(),Eye=jn(),Iye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Eye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationFull,this.setNodeLocationFromNode=sf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=sf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Rq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Rq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Ey.TreeBuilder=Iye});var Tq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.LexerAdapter=void 0;var Nq=jn(),yye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Nq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Nq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();Iy.LexerAdapter=yye});var Mq=w(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.RecognizerApi=void 0;var Lq=Gt(),wye=nf(),Ax=jn(),Bye=xd(),bye=rx(),Qye=mn(),Sye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG),(0,Lq.contains)(this.definedRulesNames,e)){var n=Bye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Ax.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,bye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,wye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,Qye.serializeGrammar)((0,Lq.values)(this.gastProductionsCache))},r}();yy.RecognizerApi=Sye});var Hq=w(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});By.RecognizerEngine=void 0;var Pr=Gt(),qn=Cy(),wy=nf(),Oq=kd(),of=Dd(),Kq=jn(),vye=sx(),Uq=LA(),Td=_g(),xye=ox(),Pye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,xye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Td.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. - See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 - For Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. - Note that the first argument for the parser constructor - is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. - See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Td.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Uq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Td.tokenStructuredMatcherNoCategories:Td.tokenStructuredMatcher,(0,Td.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Kq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Kq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new wy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,wy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new wy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===vye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Uq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();By.RecognizerEngine=Pye});var Yq=w(by=>{"use strict";Object.defineProperty(by,"__esModule",{value:!0});by.ErrorHandler=void 0;var lx=nf(),cx=Gt(),Gq=kd(),Dye=jn(),kye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,cx.has)(e,"errorMessageProvider")?e.errorMessageProvider:Dye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,lx.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,cx.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,cx.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,Gq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new lx.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,Gq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lx.NoViableAltException(c,this.LA(1),l))},r}();by.ErrorHandler=kye});var Jq=w(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.ContentAssist=void 0;var jq=Dd(),qq=Gt(),Rye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,qq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,jq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,qq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new jq.NextAfterTokenWalker(n,e).startWalking();return s},r}();Qy.ContentAssist=Rye});var eJ=w(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});xy.GastRecorder=void 0;var yn=Gt(),Lo=mn(),Fye=Bd(),Xq=_g(),Zq=LA(),Nye=jn(),Tye=Cy(),vy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(vy);var Wq=!0,zq=Math.pow(2,Tye.BITS_FOR_OCCURRENCE_IDX)-1,_q=(0,Zq.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:Fye.Lexer.NA});(0,Xq.augmentTokenTypes)([_q]);var $q=(0,Zq.createTokenInstance)(_q,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze($q);var Lye={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Mye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Nye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Lo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` - This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Ld.call(this,Lo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionMandatoryWithSeparator,t,e,Wq)},r.prototype.manyInternalRecord=function(e,t){Ld.call(this,Lo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionWithSeparator,t,e,Wq)},r.prototype.orInternalRecord=function(e,t){return Oye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(Sy(t),!e||(0,yn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=e.ruleName,a=new Lo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Lye:vy},r.prototype.consumeInternalRecord=function(e,t,i){if(Sy(t),!(0,Xq.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=new Lo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),$q},r}();xy.GastRecorder=Mye;function Ld(r,e,t,i){i===void 0&&(i=!1),Sy(t);var n=(0,yn.peek)(this.recordingProdStack),s=(0,yn.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,yn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),vy}function Oye(r,e){var t=this;Sy(e);var i=(0,yn.peek)(this.recordingProdStack),n=(0,yn.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Lo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,yn.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,yn.some)(s,function(l){return(0,yn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,yn.forEach)(s,function(l){var c=new Lo.Alternative({definition:[]});o.definition.push(c),(0,yn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,yn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),vy}function Vq(r){return r===0?"":""+r}function Sy(r){if(r<0||r>zq){var e=new Error("Invalid DSL Method idx value: <"+r+`> - `+("Idx value must be a none negative value smaller than "+(zq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var rJ=w(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});Py.PerformanceTracer=void 0;var tJ=Gt(),Kye=jn(),Uye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,tJ.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Kye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,tJ.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();Py.PerformanceTracer=Uye});var iJ=w(Dy=>{"use strict";Object.defineProperty(Dy,"__esModule",{value:!0});Dy.applyMixins=void 0;function Hye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Dy.applyMixins=Hye});var jn=w(dr=>{"use strict";var oJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var en=Gt(),Gye=Yj(),nJ=LA(),aJ=xd(),sJ=pq(),Yye=sx(),jye=Bq(),qye=Fq(),Jye=Tq(),Wye=Mq(),zye=Hq(),Vye=Yq(),Xye=Jq(),Zye=eJ(),_ye=rJ(),$ye=iJ();dr.END_OF_FILE=(0,nJ.createTokenInstance)(nJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:aJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var ewe;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(ewe=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function twe(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=twe;var ky=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,en.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. - Please use the flag on the relevant DSL method instead. - See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=(0,en.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,en.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,en.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,sJ.resolveGrammar)({rules:(0,en.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,en.isEmpty)(n)&&e.skipValidations===!1){var s=(0,sJ.validateGrammar)({rules:(0,en.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,en.values)(e.tokensMap),errMsgProvider:aJ.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,en.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Gye.computeAllProdsFollows)((0,en.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,en.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,en.isEmpty)(e.definitionErrors))throw t=(0,en.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: - `+t.join(` -------------------------------- -`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=ky;(0,$ye.applyMixins)(ky,[Yye.Recoverable,jye.LooksAhead,qye.TreeBuilder,Jye.LexerAdapter,zye.RecognizerEngine,Wye.RecognizerApi,Vye.ErrorHandler,Xye.ContentAssist,Zye.GastRecorder,_ye.PerformanceTracer]);var rwe=function(r){oJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,en.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(ky);dr.CstParser=rwe;var iwe=function(r){oJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,en.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(ky);dr.EmbeddedActionsParser=iwe});var lJ=w(Ry=>{"use strict";Object.defineProperty(Ry,"__esModule",{value:!0});Ry.createSyntaxDiagramsCode=void 0;var AJ=Dv();function nwe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+AJ.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+AJ.VERSION+"/diagrams/diagrams.css":s,a=` - - - - - -`,l=` - -`,c=` -