From bb59c617331d16efe4b44379133c6dbfa2191e45 Mon Sep 17 00:00:00 2001 From: open-junius Date: Mon, 27 Oct 2025 18:56:09 +0800 Subject: [PATCH 01/21] add wasm test --- evm-tests/bittensor/.gitignore | 9 + evm-tests/bittensor/Cargo.toml | 26 + evm-tests/bittensor/lib.rs | 362 ++++++++++++++ evm-tests/get-metadata.sh | 2 +- evm-tests/package.json | 11 +- evm-tests/run-ci.sh | 7 + evm-tests/src/substrate.ts | 11 +- evm-tests/test/wasm.contract.test.ts | 72 +++ evm-tests/yarn.lock | 691 +++++++++++++-------------- 9 files changed, 812 insertions(+), 379 deletions(-) create mode 100755 evm-tests/bittensor/.gitignore create mode 100755 evm-tests/bittensor/Cargo.toml create mode 100755 evm-tests/bittensor/lib.rs create mode 100644 evm-tests/test/wasm.contract.test.ts diff --git a/evm-tests/bittensor/.gitignore b/evm-tests/bittensor/.gitignore new file mode 100755 index 0000000000..8de8f877e4 --- /dev/null +++ b/evm-tests/bittensor/.gitignore @@ -0,0 +1,9 @@ +# Ignore build artifacts from the local tests sub-crate. +/target/ + +# Ignore backup files creates by cargo fmt. +**/*.rs.bk + +# Remove Cargo.lock when creating an executable, leave it for libraries +# More information here http://doc.crates.io/guide.html#cargotoml-vs-cargolock +Cargo.lock diff --git a/evm-tests/bittensor/Cargo.toml b/evm-tests/bittensor/Cargo.toml new file mode 100755 index 0000000000..7d25b18e47 --- /dev/null +++ b/evm-tests/bittensor/Cargo.toml @@ -0,0 +1,26 @@ +[workspace] + +[package] +name = "bittensor" +version = "0.1.0" +authors = ["[your_name] <[your_email]>"] +edition = "2021" + +[dependencies] +ink = { version = "5.1.1", default-features = false } +parity-scale-codec = { version = "3.0.0", default-features = false } + +[dev-dependencies] +ink_e2e = { version = "5.1.1" } + +[lib] +path = "lib.rs" + +[features] +default = ["std"] +std = [ + "ink/std", + "parity-scale-codec/std", +] +ink-as-dependency = [] +e2e-tests = [] diff --git a/evm-tests/bittensor/lib.rs b/evm-tests/bittensor/lib.rs new file mode 100755 index 0000000000..087a528a98 --- /dev/null +++ b/evm-tests/bittensor/lib.rs @@ -0,0 +1,362 @@ +#![cfg_attr(not(feature = "std"), no_std, no_main)] + +use parity_scale_codec::{Compact, CompactAs, Error as CodecError}; + +#[derive(Debug, Clone)] +pub struct CustomEnvironment; + +// pub enum FunctionId { +// GetStakeInfoForHotkeyColdkeyNetuidV1 = 0, +// AddStakeV1 = 1, +// RemoveStakeV1 = 2, +// UnstakeAllV1 = 3, +// UnstakeAllAlphaV1 = 4, +// MoveStakeV1 = 5, +// TransferStakeV1 = 6, +// SwapStakeV1 = 7, +// AddStakeLimitV1 = 8, +// RemoveStakeLimitV1 = 9, +// SwapStakeLimitV1 = 10, +// RemoveStakeFullLimitV1 = 11, +// SetColdkeyAutoStakeHotkeyV1 = 12, +// AddProxyV1 = 13, +// RemoveProxyV1 = 14, +// } + +#[ink::chain_extension(extension = 0x1000)] +pub trait RuntimeReadWrite { + type ErrorCode = ReadWriteErrorCode; + + #[ink(function = 0)] + fn get_stake_info_for_hotkey_coldkey_netuid( + hotkey: ink::primitives::AccountId, + coldkey: ink::primitives::AccountId, + netuid: u16, + ) -> Option>; + + // #[ink(function = 1)] + // fn add_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 2)] + // fn remove_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 3)] + // fn unstake_all(hotkey: &[u8], netuid: &[u8]); + + // #[ink(function = 4)] + // fn unstake_all_alpha(hotkey: &[u8], netuid: &[u8]); + + // #[ink(function = 5)] + // fn move_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 6)] + // fn transfer_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 7)] + // fn swap_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 8)] + // fn add_stake_limit(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 9)] + // fn remove_stake_limit(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 10)] + // fn swap_stake_limit(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 11)] + // fn remove_stake_full_limit(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + + // #[ink(function = 12)] + // fn set_coldkey_auto_stake_hotkey(coldkey: &[u8], hotkey: &[u8]); + + // #[ink(function = 13)] + // fn add_proxy(hotkey: &[u8], netuid: &[u8]); + + // #[ink(function = 14)] + // fn remove_proxy(hotkey: &[u8], netuid: &[u8]); +} + +#[ink::scale_derive(Encode, Decode, TypeInfo)] +pub enum ReadWriteErrorCode { + ReadFailed, + WriteFailed, +} + +impl ink::env::chain_extension::FromStatusCode for ReadWriteErrorCode { + fn from_status_code(status_code: u32) -> Result<(), Self> { + match status_code { + 0 => Ok(()), + 1 => Err(ReadWriteErrorCode::ReadFailed), + 2 => Err(ReadWriteErrorCode::WriteFailed), + _ => Err(ReadWriteErrorCode::ReadFailed), + } + } +} + +impl ink::env::Environment for CustomEnvironment { + const MAX_EVENT_TOPICS: usize = 4; + + type AccountId = ink::primitives::AccountId; + type Balance = u64; + type Hash = ink::primitives::Hash; + type BlockNumber = u32; + type Timestamp = u64; + + type ChainExtension = RuntimeReadWrite; +} + +#[ink::scale_derive(Encode, Decode, TypeInfo)] + +pub struct NetUid(u16); +impl CompactAs for NetUid { + type As = u16; + + fn encode_as(&self) -> &Self::As { + &self.0 + } + + fn decode_from(v: Self::As) -> Result { + Ok(Self(v)) + } +} + +impl From> for NetUid { + fn from(c: Compact) -> Self { + c.0 + } +} + +impl From for u16 { + fn from(val: NetUid) -> Self { + val.0 + } +} + +impl From for NetUid { + fn from(value: u16) -> Self { + Self(value) + } +} + +#[ink::scale_derive(Encode, Decode, TypeInfo)] +pub struct AlphaCurrency(u64); +impl CompactAs for AlphaCurrency { + type As = u64; + + fn encode_as(&self) -> &Self::As { + &self.0 + } + + fn decode_from(v: Self::As) -> Result { + Ok(Self(v)) + } +} +impl From> for AlphaCurrency { + fn from(c: Compact) -> Self { + c.0 + } +} + +impl From for u64 { + fn from(val: AlphaCurrency) -> Self { + val.0 + } +} + +impl From for AlphaCurrency { + fn from(value: u64) -> Self { + Self(value) + } +} +#[ink::scale_derive(Encode, Decode, TypeInfo)] +pub struct TaoCurrency(u64); +impl CompactAs for TaoCurrency { + type As = u64; + + fn encode_as(&self) -> &Self::As { + &self.0 + } + + fn decode_from(v: Self::As) -> Result { + Ok(Self(v)) + } +} + +impl From> for TaoCurrency { + fn from(c: Compact) -> Self { + c.0 + } +} + +impl From for u64 { + fn from(val: TaoCurrency) -> Self { + val.0 + } +} + +impl From for TaoCurrency { + fn from(value: u64) -> Self { + Self(value) + } +} + +#[ink::scale_derive(Encode, Decode, TypeInfo)] +pub struct StakeInfo { + hotkey: AccountId, + coldkey: AccountId, + netuid: Compact, + stake: Compact, + locked: Compact, + emission: Compact, + tao_emission: Compact, + drain: Compact, + is_registered: bool, +} + +#[ink::contract(env = crate::CustomEnvironment)] +mod bittensor { + use super::*; + + /// Defines the storage of your contract. + /// Add new fields to the below struct in order + /// to add new static storage fields to your contract. + #[ink(storage)] + pub struct Bittensor {} + + impl Bittensor { + /// Constructor that initializes the `bool` value to the given `init_value`. + #[ink(constructor)] + pub fn new() -> Self { + Self {} + } + + /// Constructor that initializes the `bool` value to `false`. + /// + /// Constructors can delegate to other constructors. + #[ink(constructor)] + pub fn default() -> Self { + Self::new() + } + + /// A message that can be called on instantiated contracts. + /// This one flips the value of the stored `bool` from `true` + /// to `false` and vice versa. + #[ink(message)] + pub fn a(&self) -> bool { + true + } + + // pub fn get_stake_info_for_hotkey_coldkey_netuid( + // &mut self, + // hotkey: [u8; 32], + // coldkey: [u8; 32], + // netuid: u16, + // ) -> Result>, ReadWriteErrorCode> { + // self.env() + // .extension() + // .get_stake_info_for_hotkey_coldkey_netuid( + // hotkey.into(), + // coldkey.into(), + // netuid.into(), + // ) + // .map_err(|_e| ReadWriteErrorCode::ReadFailed) + // } + } + + /// Unit tests in Rust are normally defined within such a `#[cfg(test)]` + /// module and test functions are marked with a `#[test]` attribute. + /// The below code is technically just normal Rust code. + #[cfg(test)] + mod tests { + /// Imports all the definitions from the outer scope so we can use them here. + use super::*; + + /// We test if the default constructor does its job. + #[ink::test] + fn default_works() { + let bittensor = Bittensor::default(); + assert_eq!(bittensor.get(), false); + } + + /// We test a simple use case of our contract. + #[ink::test] + fn it_works() { + let mut bittensor = Bittensor::new(false); + assert_eq!(bittensor.get(), false); + bittensor.flip(); + assert_eq!(bittensor.get(), true); + } + } + + /// This is how you'd write end-to-end (E2E) or integration tests for ink! contracts. + /// + /// When running these you need to make sure that you: + /// - Compile the tests with the `e2e-tests` feature flag enabled (`--features e2e-tests`) + /// - Are running a Substrate node which contains `pallet-contracts` in the background + #[cfg(all(test, feature = "e2e-tests"))] + mod e2e_tests { + /// Imports all the definitions from the outer scope so we can use them here. + use super::*; + + /// A helper function used for calling contract messages. + use ink_e2e::ContractsBackend; + + /// The End-to-End test `Result` type. + type E2EResult = std::result::Result>; + + /// We test that we can upload and instantiate the contract using its default constructor. + #[ink_e2e::test] + async fn default_works(mut client: ink_e2e::Client) -> E2EResult<()> { + // Given + let mut constructor = BittensorRef::default(); + + // When + let contract = client + .instantiate("bittensor", &ink_e2e::alice(), &mut constructor) + .submit() + .await + .expect("instantiate failed"); + let call_builder = contract.call_builder::(); + + // Then + let get = call_builder.get(); + let get_result = client.call(&ink_e2e::alice(), &get).dry_run().await?; + assert!(matches!(get_result.return_value(), false)); + + Ok(()) + } + + /// We test that we can read and write a value from the on-chain contract. + #[ink_e2e::test] + async fn it_works(mut client: ink_e2e::Client) -> E2EResult<()> { + // Given + let mut constructor = BittensorRef::new(false); + let contract = client + .instantiate("bittensor", &ink_e2e::bob(), &mut constructor) + .submit() + .await + .expect("instantiate failed"); + let mut call_builder = contract.call_builder::(); + + let get = call_builder.get(); + let get_result = client.call(&ink_e2e::bob(), &get).dry_run().await?; + assert!(matches!(get_result.return_value(), false)); + + // When + let flip = call_builder.flip(); + let _flip_result = client + .call(&ink_e2e::bob(), &flip) + .submit() + .await + .expect("flip failed"); + + // Then + let get = call_builder.get(); + let get_result = client.call(&ink_e2e::bob(), &get).dry_run().await?; + assert!(matches!(get_result.return_value(), true)); + + Ok(()) + } + } +} diff --git a/evm-tests/get-metadata.sh b/evm-tests/get-metadata.sh index 6d7727009d..df5bc5bd54 100755 --- a/evm-tests/get-metadata.sh +++ b/evm-tests/get-metadata.sh @@ -1,3 +1,3 @@ rm -rf .papi npx papi add devnet -w ws://localhost:9944 - +npx papi ink add ./bittensor/target/ink/bittensor.json diff --git a/evm-tests/package.json b/evm-tests/package.json index ae756ae55f..70f4b5bc63 100644 --- a/evm-tests/package.json +++ b/evm-tests/package.json @@ -1,6 +1,6 @@ { "scripts": { - "test": "mocha --timeout 999999 --retries 3 --file src/setup.ts --require ts-node/register test/*test.ts" + "test": "mocha --timeout 999999 --retries 3 --file src/setup.ts --require ts-node/register test/wasm*test.ts" }, "keywords": [], "author": "", @@ -9,7 +9,7 @@ "@polkadot-api/descriptors": "file:.papi/descriptors", "@polkadot-labs/hdkd": "^0.0.23", "@polkadot-labs/hdkd-helpers": "^0.0.23", - "@polkadot/api": "^16.4.6", + "@polkadot/api": "^16.4.9", "@types/mocha": "^10.0.10", "dotenv": "17.2.1", "ethers": "^6.13.5", @@ -18,7 +18,9 @@ "rxjs": "^7.8.2", "scale-ts": "^1.6.1", "viem": "2.23.4", - "ws": "^8.18.2" + "ws": "^8.18.2", + "@polkadot-api/ink-contracts": "^0.4.1", + "@polkadot-api/sdk-ink": "^0.5.1" }, "devDependencies": { "@types/bun": "^1.1.13", @@ -28,7 +30,6 @@ "chai": "^6.0.1", "prettier": "^3.3.3", "ts-node": "^10.9.2", - "typescript": "^5.7.2", - "vite": "^7.1.4" + "typescript": "^5.7.2" } } diff --git a/evm-tests/run-ci.sh b/evm-tests/run-ci.sh index 7ad4bb2186..94d068edd2 100755 --- a/evm-tests/run-ci.sh +++ b/evm-tests/run-ci.sh @@ -28,6 +28,13 @@ fi cd evm-tests +cd bittensor + +cargo install contract +cargo contract build --release + +cd .. + # required for papi in get-metadata.sh, but we cannot run yarn before papi as it adds the descriptors to the package.json which won't resolve npm i -g polkadot-api diff --git a/evm-tests/src/substrate.ts b/evm-tests/src/substrate.ts index 6f3acc866c..6f6fa0cf5c 100644 --- a/evm-tests/src/substrate.ts +++ b/evm-tests/src/substrate.ts @@ -1,4 +1,4 @@ -import { devnet, MultiAddress } from '@polkadot-api/descriptors'; +import { devnet, MultiAddress, contracts } from '@polkadot-api/descriptors'; import { TypedApi, Transaction, PolkadotSigner, Binary } from 'polkadot-api'; import { sr25519CreateDerive } from "@polkadot-labs/hdkd" import { DEV_PHRASE, entropyToMiniSecret, mnemonicToEntropy, KeyPair } from "@polkadot-labs/hdkd-helpers" @@ -7,8 +7,10 @@ import { randomBytes } from 'crypto'; import { Keyring } from '@polkadot/keyring'; import { SS58_PREFIX, TX_TIMEOUT } from "./config"; import { getClient } from "./setup" +import { getInkClient, InkClient } from "@polkadot-api/ink-contracts" let api: TypedApi | undefined = undefined +let inkClient: InkClient | undefined = undefined // define url string as type to extend in the future // export type ClientUrlType = 'ws://localhost:9944' | 'wss://test.finney.opentensor.ai:443' | 'wss://dev.chain.opentensor.ai:443' | 'wss://archive.chain.opentensor.ai'; @@ -22,6 +24,13 @@ export async function getDevnetApi() { return api } +export async function gettInkClient() { + if (inkClient === undefined) { + inkClient = getInkClient(contracts.bittensor) + } + return inkClient +} + export function getKeypairFromPath(path: string) { const entropy = mnemonicToEntropy(DEV_PHRASE) const miniSecret = entropyToMiniSecret(entropy) diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts new file mode 100644 index 0000000000..19add1952a --- /dev/null +++ b/evm-tests/test/wasm.contract.test.ts @@ -0,0 +1,72 @@ +import * as assert from "assert"; +import { getDevnetApi, getRandomSubstrateKeypair, gettInkClient } from "../src/substrate" +import { devnet } from "@polkadot-api/descriptors" +import { Binary, Enum, PolkadotSigner, TypedApi } from "polkadot-api"; +import { convertPublicKeyToSs58, convertH160ToSS58 } from "../src/address-utils" +import { raoToEth, tao } from "../src/balance-math" +import { ethers } from "ethers" +import { generateRandomEthersWallet, getPublicClient } from "../src/utils" +import { convertH160ToPublicKey } from "../src/address-utils" +import { + forceSetBalanceToEthAddress, forceSetBalanceToSs58Address, addNewSubnetwork, burnedRegister, + sendProxyCall, + startCall, +} from "../src/subtensor" +import { ETH_LOCAL_URL } from "../src/config"; +import { ISTAKING_ADDRESS, ISTAKING_V2_ADDRESS, IStakingABI, IStakingV2ABI } from "../src/contracts/staking" +import { PublicClient } from "viem"; +import { getInkClient, InkClient } from "@polkadot-api/ink-contracts" +import { contracts } from "@polkadot-api/descriptors" +import fs from "fs" + +const Determinism = { + Enforced: Enum('Enforced'), + Relaxed: Enum('Relaxed') +} as const; + +describe("Test neuron precompile add remove stake", () => { + + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const proxy = getRandomSubstrateKeypair(); + + let api: TypedApi + + let inkClient: InkClient; + + // sudo account alice as signer + let alice: PolkadotSigner; + before(async () => { + // init variables got from await and async + api = await getDevnetApi() + inkClient = await gettInkClient() + + // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(alice.publicKey)) + await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey.publicKey)) + await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey)) + await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(proxy.publicKey)) + let netuid = await addNewSubnetwork(api, hotkey, coldkey) + await startCall(api, netuid, coldkey) + + console.log("test the case on subnet ", netuid) + }) + + it("Can upload contract", async () => { + let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + if (api === undefined) { + throw new Error("api is undefined") + } + const bytecode = fs.readFileSync("bittensor.wasm") + const upload = await api.tx.Contracts.upload_code({ + code: Binary.fromBytes(bytecode), + storage_deposit_limit: BigInt(0), + determinism: Determinism.Enforced + }) + // const contract = await inkClient.upload(netuid, "bittensor", "bittensor.json") + // assert.ok(contract !== undefined) + }) + + + + +}); \ No newline at end of file diff --git a/evm-tests/yarn.lock b/evm-tests/yarn.lock index 678576deb6..ac13f24807 100644 --- a/evm-tests/yarn.lock +++ b/evm-tests/yarn.lock @@ -12,6 +12,11 @@ resolved "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz" integrity sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg== +"@adraffy/ens-normalize@^1.11.0": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz#6c2d657d4b2dfb37f8ea811dcb3e60843d4ac24a" + integrity sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ== + "@babel/code-frame@^7.26.2": version "7.27.1" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz" @@ -163,6 +168,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz#7fc114af5f6563f19f73324b5d5ff36ece0803d1" integrity sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g== +"@ethereumjs/rlp@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-10.0.0.tgz#8305d99422b4cde522f5feeb77593687287633c1" + integrity sha512-h2SK6RxFBfN5ZGykbw8LTNNLckSXZeuUZ6xqnmtF22CzZbHflFMcIOyfVGdvyCVQqIoSbGMHtvyxMCWnOyB9RA== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" @@ -215,6 +225,11 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@noble/ciphers@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.3.0.tgz#f64b8ff886c240e644e5573c097f86e5b43676dc" + integrity sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw== + "@noble/curves@1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz" @@ -229,7 +244,14 @@ dependencies: "@noble/hashes" "1.7.1" -"@noble/curves@^1.3.0": +"@noble/curves@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.1.tgz#9654a0bc6c13420ae252ddcf975eaf0f58f0a35c" + integrity sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA== + dependencies: + "@noble/hashes" "1.8.0" + +"@noble/curves@^1.3.0", "@noble/curves@~1.9.0": version "1.9.7" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.7.tgz#79d04b4758a43e4bca2cbdc62e7771352fa6b951" integrity sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw== @@ -253,7 +275,7 @@ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz" integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== -"@noble/hashes@1.8.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3", "@noble/hashes@^1.8.0": +"@noble/hashes@1.8.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3", "@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0": version "1.8.0" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz" integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== @@ -263,6 +285,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-2.0.0.tgz#5c39388259a0868cadb17d688cd8cf07eae344a4" integrity sha512-h8VUBlE8R42+XIDO229cgisD287im3kdY6nbNZJFjc6ZvKIXPYXe6Vc/t+kyjFdMFyt5JpapzTsEg8n63w5/lw== +"@noble/hashes@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-2.0.1.tgz#fc1a928061d1232b0a52bb754393c37a5216c89e" + integrity sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw== + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" @@ -311,8 +338,13 @@ "@polkadot-api/substrate-bindings" "0.15.1" "@polkadot-api/utils" "0.2.0" +"@polkadot-api/common-sdk-utils@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/common-sdk-utils/-/common-sdk-utils-0.1.0.tgz#01e62f512c9e9bff2c938ecc69f508040521e64c" + integrity sha512-cgA9fh8dfBai9b46XaaQmj9vwzyHStQjc/xrAvQksgF6SqvZ0yAfxVqLvGrsz/Xi3dsAdKLg09PybC7MUAMv9w== + "@polkadot-api/descriptors@file:.papi/descriptors": - version "0.1.0-autogenerated.1855018811236749851" + version "0.1.0-autogenerated.15183337162334450753" "@polkadot-api/ink-contracts@0.3.7": version "0.3.7" @@ -323,6 +355,15 @@ "@polkadot-api/substrate-bindings" "0.15.1" "@polkadot-api/utils" "0.2.0" +"@polkadot-api/ink-contracts@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@polkadot-api/ink-contracts/-/ink-contracts-0.4.1.tgz#ff0a888919d740dcdd5d1aed4abf9c275bd23275" + integrity sha512-YQT7/asfp/kl8WERYe1dY+l1U/8X0KJKHFJZ6dpwTg6HlZ89w71A1BJadRX5TbLCJExeuE12YE1nDMvo6ZUaGg== + dependencies: + "@polkadot-api/metadata-builders" "0.13.6" + "@polkadot-api/substrate-bindings" "0.16.4" + "@polkadot-api/utils" "0.2.0" + "@polkadot-api/json-rpc-provider-proxy@0.2.4": version "0.2.4" resolved "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.2.4.tgz" @@ -377,6 +418,14 @@ "@polkadot-api/substrate-bindings" "0.15.1" "@polkadot-api/utils" "0.2.0" +"@polkadot-api/metadata-builders@0.13.6": + version "0.13.6" + resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-builders/-/metadata-builders-0.13.6.tgz#70020a3fffdebc733f338524435460b6923456b3" + integrity sha512-4VIdMkuSYldfzUNBj/fqx4zL4brqFcCVTcwZg0B5zdmAz8Bu2HaNqe06kG13H1qYN4lnEgNX0aBpKxNewsGHbQ== + dependencies: + "@polkadot-api/substrate-bindings" "0.16.4" + "@polkadot-api/utils" "0.2.0" + "@polkadot-api/metadata-builders@0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-builders/-/metadata-builders-0.3.2.tgz#007f158c9e0546cf79ba440befc0c753ab1a6629" @@ -441,6 +490,17 @@ dependencies: "@polkadot-api/json-rpc-provider" "workspace:*" +"@polkadot-api/sdk-ink@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@polkadot-api/sdk-ink/-/sdk-ink-0.5.1.tgz#a19c5d18e1adcfa2ceb8da07265c1d82d3c828f6" + integrity sha512-9pRnghjigivvgq7375hzkoazstvPDbc0YB01Jzw1/MYKcX+YJn1p/H8SAQTWbKlz2ohFgi1nwU52a0bsmKqb/Q== + dependencies: + "@ethereumjs/rlp" "^10.0.0" + "@polkadot-api/common-sdk-utils" "0.1.0" + "@polkadot-api/substrate-bindings" "^0.16.3" + abitype "^1.1.1" + viem "^2.37.9" + "@polkadot-api/signer@0.2.4": version "0.2.4" resolved "https://registry.yarnpkg.com/@polkadot-api/signer/-/signer-0.2.4.tgz#36a36bb4f7f0f2c1d1477798fff1ba4eb0da4d01" @@ -489,6 +549,16 @@ "@scure/base" "^1.2.6" scale-ts "^1.6.1" +"@polkadot-api/substrate-bindings@0.16.4", "@polkadot-api/substrate-bindings@^0.16.3": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-bindings/-/substrate-bindings-0.16.4.tgz#0cc24472d45d781b3961ab732e49b842366faf0a" + integrity sha512-J6xz4WzERKtH/WJZGTcaKxc9boUGfgq1YxzgBSmpUIKg0iqHTno2KE8p/ccSuuM9BIxG9mFRAKXyNvHq2tWWgw== + dependencies: + "@noble/hashes" "^2.0.1" + "@polkadot-api/utils" "0.2.0" + "@scure/base" "^2.0.0" + scale-ts "^1.6.1" + "@polkadot-api/substrate-bindings@0.6.0": version "0.6.0" resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-bindings/-/substrate-bindings-0.6.0.tgz#889b0c3ba19dc95282286506bf6e370a43ce119a" @@ -558,123 +628,123 @@ dependencies: "@polkadot-labs/hdkd-helpers" "~0.0.23" -"@polkadot/api-augment@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-16.4.6.tgz#9c23c100736ccf469091153b992547037a2b1e06" - integrity sha512-YoNOKNk5dca/32Lu5aaLdafGkkUbMHjKRSzrOUAx48jVUWaQYz0WXps2zfx1zDM2hqIgcmkgCQfMdzwHRnj63w== - dependencies: - "@polkadot/api-base" "16.4.6" - "@polkadot/rpc-augment" "16.4.6" - "@polkadot/types" "16.4.6" - "@polkadot/types-augment" "16.4.6" - "@polkadot/types-codec" "16.4.6" - "@polkadot/util" "^13.5.6" +"@polkadot/api-augment@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-16.4.9.tgz#4345a057389973ce1743ce22505d0529ca6a8af7" + integrity sha512-3C5g6VUjs3cOwZmI2QDxZnwyLXI7554+fxQ/Mi5q12l7/5D5UrvDcDxFKUMALEUJRixGUvQ5T0f8s4mTHO/QsQ== + dependencies: + "@polkadot/api-base" "16.4.9" + "@polkadot/rpc-augment" "16.4.9" + "@polkadot/types" "16.4.9" + "@polkadot/types-augment" "16.4.9" + "@polkadot/types-codec" "16.4.9" + "@polkadot/util" "^13.5.7" tslib "^2.8.1" -"@polkadot/api-base@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-16.4.6.tgz#223b28f93b58734b3d3cb37874de0cbaf535ba01" - integrity sha512-tR7rtNmK+NSqqYLzj0C0OPBqqTMOFiyIxKRj2D3/d1IiS6/pUUo455xdwDPTyuUj7adAinSSUOcTtFOcI5BLOA== +"@polkadot/api-base@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-16.4.9.tgz#7342a0af74a7ca2fbdc0deda535359b09f933ef0" + integrity sha512-pv1n3bhMaA83+OBIw/tInfpuoRnpTBqzQKrkSYTVlbF+tlK0X3zl7iX0vxy1YJaL2vVQUiPR2tP3wnzz1mv7qg== dependencies: - "@polkadot/rpc-core" "16.4.6" - "@polkadot/types" "16.4.6" - "@polkadot/util" "^13.5.6" + "@polkadot/rpc-core" "16.4.9" + "@polkadot/types" "16.4.9" + "@polkadot/util" "^13.5.7" rxjs "^7.8.1" tslib "^2.8.1" -"@polkadot/api-derive@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-16.4.6.tgz#bc7e9ba2695d6d5ed5347e911870aed89ca0912b" - integrity sha512-kh57AhyLtKU3dM2SLCitMEqUJ3cIjwtLtMpiMB7yNH/OvaE7BZ3VO1TuWoU2+kKgyL8DdX6vhdmM5G9/ni+B3w== - dependencies: - "@polkadot/api" "16.4.6" - "@polkadot/api-augment" "16.4.6" - "@polkadot/api-base" "16.4.6" - "@polkadot/rpc-core" "16.4.6" - "@polkadot/types" "16.4.6" - "@polkadot/types-codec" "16.4.6" - "@polkadot/util" "^13.5.6" - "@polkadot/util-crypto" "^13.5.6" +"@polkadot/api-derive@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-16.4.9.tgz#e4d45fb5cf8988867797c6cb2dbcd3f74fbb0a07" + integrity sha512-3SgE7QOGy/G48hrz3rumzyJ2So875b/9pZXnp0b1Jm0c7p/nKwdcNK1nuWp/nMZ8RiEZpicVYmmkuytEXOwmkA== + dependencies: + "@polkadot/api" "16.4.9" + "@polkadot/api-augment" "16.4.9" + "@polkadot/api-base" "16.4.9" + "@polkadot/rpc-core" "16.4.9" + "@polkadot/types" "16.4.9" + "@polkadot/types-codec" "16.4.9" + "@polkadot/util" "^13.5.7" + "@polkadot/util-crypto" "^13.5.7" rxjs "^7.8.1" tslib "^2.8.1" -"@polkadot/api@16.4.6", "@polkadot/api@^16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-16.4.6.tgz#86fbecb60867ae6eae1ed11a7962819e4abdfd80" - integrity sha512-/RYqejRoAgTR0PJpxRYWgYO7iKMXS/mIhFr7vLKzYNOzEA0nePUHE3iYkrhAj2Rluwy1gPcVoUU8/EYGVsWLGQ== - dependencies: - "@polkadot/api-augment" "16.4.6" - "@polkadot/api-base" "16.4.6" - "@polkadot/api-derive" "16.4.6" - "@polkadot/keyring" "^13.5.6" - "@polkadot/rpc-augment" "16.4.6" - "@polkadot/rpc-core" "16.4.6" - "@polkadot/rpc-provider" "16.4.6" - "@polkadot/types" "16.4.6" - "@polkadot/types-augment" "16.4.6" - "@polkadot/types-codec" "16.4.6" - "@polkadot/types-create" "16.4.6" - "@polkadot/types-known" "16.4.6" - "@polkadot/util" "^13.5.6" - "@polkadot/util-crypto" "^13.5.6" +"@polkadot/api@16.4.9", "@polkadot/api@^16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-16.4.9.tgz#ee3ca7e23a9e009ca64b5de67236e1e4a6c7d777" + integrity sha512-bcJebd7RFWZYNL6hBwwLOq3jly3C5VL8BADqY2yu+ZfoFYQqdg7VrYhcmnl8O5IiG1DOpYIbuekRpKuBMkjNmw== + dependencies: + "@polkadot/api-augment" "16.4.9" + "@polkadot/api-base" "16.4.9" + "@polkadot/api-derive" "16.4.9" + "@polkadot/keyring" "^13.5.7" + "@polkadot/rpc-augment" "16.4.9" + "@polkadot/rpc-core" "16.4.9" + "@polkadot/rpc-provider" "16.4.9" + "@polkadot/types" "16.4.9" + "@polkadot/types-augment" "16.4.9" + "@polkadot/types-codec" "16.4.9" + "@polkadot/types-create" "16.4.9" + "@polkadot/types-known" "16.4.9" + "@polkadot/util" "^13.5.7" + "@polkadot/util-crypto" "^13.5.7" eventemitter3 "^5.0.1" rxjs "^7.8.1" tslib "^2.8.1" -"@polkadot/keyring@^13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-13.5.6.tgz#b26d0cba323bb0520826211317701aa540428406" - integrity sha512-Ybe6Mflrh96FKR5tfEaf/93RxJD7x9UigseNOJW6Yd8LF+GesdxrqmZD7zh+53Hb7smGQWf/0FCfwhoWZVgPUQ== +"@polkadot/keyring@^13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-13.5.7.tgz#1ebe06b37317c5f78b24cefa7221b74038205c03" + integrity sha512-S75K2m2AoiTMnns7ko3t72jvyJRmrqdFFPldLdPdjRuds+E8OFewcwms/aXHGn9IwViWHFX6PSx0QAzWN/qWzQ== dependencies: - "@polkadot/util" "13.5.6" - "@polkadot/util-crypto" "13.5.6" + "@polkadot/util" "13.5.7" + "@polkadot/util-crypto" "13.5.7" tslib "^2.8.0" -"@polkadot/networks@13.5.6", "@polkadot/networks@^13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-13.5.6.tgz#fc74b556dc2aa03a49ee6543df0ae74a280da7a5" - integrity sha512-9HqUIBOHnz9x/ssPb0aOD/7XcU8vGokEYpLoNgexFNIJzqDgrDHXR197iFpkbMqA/+98zagrvYUyPYj1yYs9Jw== +"@polkadot/networks@13.5.7", "@polkadot/networks@^13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-13.5.7.tgz#df8180710ef1f2d9ddefbf2aa1711db5541582e2" + integrity sha512-RdQcgaPy68NRSI7UTBdxr1aw66MXVdbpGhpWQpLf3/7puUdwkem6KxqFNnC9/kJSXRlyYGeYHN9Hsf4+CTWBSQ== dependencies: - "@polkadot/util" "13.5.6" + "@polkadot/util" "13.5.7" "@substrate/ss58-registry" "^1.51.0" tslib "^2.8.0" -"@polkadot/rpc-augment@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-16.4.6.tgz#ee4c56c9c0feb281adbbdd23ec6768d487ff53e3" - integrity sha512-Fqx41st3KTCfk831OrAh69ftBzqxklEi5e5S/rB2l5F+OQYAsbGMfTSFWTRRVGgBliWZO+T/Tpw2zJqUwrgn3Q== +"@polkadot/rpc-augment@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-16.4.9.tgz#f0f74ab96104f65066c1cd56d3eef8c4b3ac0373" + integrity sha512-J/6A2NgM92K8vHKGqUo877dPEOzYDoAm/8Ixrbq64obYnaVl5kAN+cctyRR0ywOTrY1wyRJmVa6Y83IPMgbX/A== dependencies: - "@polkadot/rpc-core" "16.4.6" - "@polkadot/types" "16.4.6" - "@polkadot/types-codec" "16.4.6" - "@polkadot/util" "^13.5.6" + "@polkadot/rpc-core" "16.4.9" + "@polkadot/types" "16.4.9" + "@polkadot/types-codec" "16.4.9" + "@polkadot/util" "^13.5.7" tslib "^2.8.1" -"@polkadot/rpc-core@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-16.4.6.tgz#f46bd58e31f04846abc9e2bf02620f1cba1dc943" - integrity sha512-xi3VIGRXjebdz0jctZpa7y2A+JaI9LSBdUgkHoUOmGrpNzDpMXoE2xWdxg3M/0hql69mSLhatWS9JvSb5MrBTQ== +"@polkadot/rpc-core@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-16.4.9.tgz#b94ef7e7caf3275e42efdebe7ece4eb7c69b3921" + integrity sha512-yOe0envLjrAffxL5NI1U9XaSt7bst93TVQdOyPw0HKCLc3uCJWnrnq8CKvdmR7IfHop+A1rkLaWyfY3tWcUMrA== dependencies: - "@polkadot/rpc-augment" "16.4.6" - "@polkadot/rpc-provider" "16.4.6" - "@polkadot/types" "16.4.6" - "@polkadot/util" "^13.5.6" + "@polkadot/rpc-augment" "16.4.9" + "@polkadot/rpc-provider" "16.4.9" + "@polkadot/types" "16.4.9" + "@polkadot/util" "^13.5.7" rxjs "^7.8.1" tslib "^2.8.1" -"@polkadot/rpc-provider@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-16.4.6.tgz#d0b47f4c67076a89a60857e8cc47881bf7a15eba" - integrity sha512-/ZD1rOWBRoMxnp039pOa8Czpjr/l4+3YYY5OcW9WZj16dRcJK84qVi1m91Hro+Gfe9Dus8VeOD/ncJB+a+haRA== - dependencies: - "@polkadot/keyring" "^13.5.6" - "@polkadot/types" "16.4.6" - "@polkadot/types-support" "16.4.6" - "@polkadot/util" "^13.5.6" - "@polkadot/util-crypto" "^13.5.6" - "@polkadot/x-fetch" "^13.5.6" - "@polkadot/x-global" "^13.5.6" - "@polkadot/x-ws" "^13.5.6" +"@polkadot/rpc-provider@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-16.4.9.tgz#a4167cad8f1ed56d210975b103efbecd8da70f62" + integrity sha512-1q+KVu2t2eTe5pLE+KaXXlU9itMc7LHFqssPFZi5VIZG+ORjAy2FmxwxWZmDlo/P12ZTD5CpJiJchtJ9Z6X0Zw== + dependencies: + "@polkadot/keyring" "^13.5.7" + "@polkadot/types" "16.4.9" + "@polkadot/types-support" "16.4.9" + "@polkadot/util" "^13.5.7" + "@polkadot/util-crypto" "^13.5.7" + "@polkadot/x-fetch" "^13.5.7" + "@polkadot/x-global" "^13.5.7" + "@polkadot/x-ws" "^13.5.7" eventemitter3 "^5.0.1" mock-socket "^9.3.1" nock "^13.5.5" @@ -682,93 +752,93 @@ optionalDependencies: "@substrate/connect" "0.8.11" -"@polkadot/types-augment@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-16.4.6.tgz#6b9f712dd755b6bc1d771b6238521698e4ff0261" - integrity sha512-ZFe6j+HHK+ST4D2MwV7oC4y6pyBMZV1b8ZZT2htTtWf03PE0W2ziQVM+Fg42iSHpgmCyJLSABU11QkGSGtRfyQ== +"@polkadot/types-augment@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-16.4.9.tgz#5e0f7cd27cdab4a2afdb7d3bd036a63a1b4ce56a" + integrity sha512-uTl3kJ01v3POJzIruzVtWshWjpd8nUmeREE0FSyYS6nb99mEk3nVy3w6V3dsHjEBF2X7FdU2ePTbr9mK0MI5AA== dependencies: - "@polkadot/types" "16.4.6" - "@polkadot/types-codec" "16.4.6" - "@polkadot/util" "^13.5.6" + "@polkadot/types" "16.4.9" + "@polkadot/types-codec" "16.4.9" + "@polkadot/util" "^13.5.7" tslib "^2.8.1" -"@polkadot/types-codec@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-16.4.6.tgz#54ef45a84b807c73054d739cf77cb21f62acb462" - integrity sha512-KCDDJNPTrScQV1HEMNjBIvtx12/J+DPV/niC+klb39wqeBAt7+wYNd8zSnFQzrLvx+n2eWlJjq0dxQiK+Ljc5A== +"@polkadot/types-codec@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-16.4.9.tgz#9bff74850fd557f26bffbf7bded435ba731633cd" + integrity sha512-yw03qNA1QlXhvQ1zPE/+Km0t4tU3505chWJgR7m8sDehQkKXF0rNYURPuAVE+LpkzSyacJr9KU1X4Nkg42VfuQ== dependencies: - "@polkadot/util" "^13.5.6" - "@polkadot/x-bigint" "^13.5.6" + "@polkadot/util" "^13.5.7" + "@polkadot/x-bigint" "^13.5.7" tslib "^2.8.1" -"@polkadot/types-create@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-16.4.6.tgz#55bf3178daeb82345f9e858c007aac0b4aa4974d" - integrity sha512-+ABF/SKX+xuCPyKvcHIFNybQYQID7bTfvQPkRhK1QxssMwdVtpYCb6RxYU7gYQhlMBAyEZUwele6/JwT/J5VqA== +"@polkadot/types-create@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-16.4.9.tgz#0f51fa0b433dbda941dbdc32767ff3b94049b304" + integrity sha512-428fwkPmQnENZdbX8bmc4dSqkVm328c1/Byxaa67gNsexeYi3XCFqjFC4toDECHNWW2YYN0XuPK6ieunPZuFpQ== dependencies: - "@polkadot/types-codec" "16.4.6" - "@polkadot/util" "^13.5.6" + "@polkadot/types-codec" "16.4.9" + "@polkadot/util" "^13.5.7" tslib "^2.8.1" -"@polkadot/types-known@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-16.4.6.tgz#6b2c028f19dcf55dc5272b9038f99edd9177db9d" - integrity sha512-aYCWhn0l+19Vasn32SbXbxf19RX1IHaCizYtSW02FlNKpVlZGfOdqebtpQZUz5TmPIkvk1LGPo+qF0xiJSVlOA== +"@polkadot/types-known@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-16.4.9.tgz#74b78505f202476c52952cfacc23a6d11264359d" + integrity sha512-VzP0NZnthqz1hDXcF7VJbzMe/G589gaIVI5Y8NbGVYBwsR4BaxU3msLguM2MFlVCTOCCDlC8SJOezgaeWfg2DA== dependencies: - "@polkadot/networks" "^13.5.6" - "@polkadot/types" "16.4.6" - "@polkadot/types-codec" "16.4.6" - "@polkadot/types-create" "16.4.6" - "@polkadot/util" "^13.5.6" + "@polkadot/networks" "^13.5.7" + "@polkadot/types" "16.4.9" + "@polkadot/types-codec" "16.4.9" + "@polkadot/types-create" "16.4.9" + "@polkadot/util" "^13.5.7" tslib "^2.8.1" -"@polkadot/types-support@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-16.4.6.tgz#35fc46454193b73df150040b8f268c9e3c9f87c7" - integrity sha512-e83H4MzamzNzxZdxf104xqzsl1YUCF24i2pw19I/6zPVxpt6a9zn4+7VzSVMclaztxxSTITCLbks7/9dLiNhEw== +"@polkadot/types-support@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-16.4.9.tgz#f1768ebb592bd03c5f3c0f9eef0b6b213fcb132b" + integrity sha512-NiSGYEVeyXo/8a/O5kIEZDpHE6zrcZtFeyrWLIPtjbIV0PfuJzl1Bc0i8rGZWcn/ZdZjnSYg++l33sTb2GaJOQ== dependencies: - "@polkadot/util" "^13.5.6" + "@polkadot/util" "^13.5.7" tslib "^2.8.1" -"@polkadot/types@16.4.6": - version "16.4.6" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-16.4.6.tgz#9594f6f80e249f270f9092016957860a4554de5e" - integrity sha512-vfZSOxs64oy1XOcMY3fAbSCBwqLeWvsUYSOhDkZaaC5zIbKdtimPQgbV1QA2fMli568rehmmpLXpZZtj2CNnmA== - dependencies: - "@polkadot/keyring" "^13.5.6" - "@polkadot/types-augment" "16.4.6" - "@polkadot/types-codec" "16.4.6" - "@polkadot/types-create" "16.4.6" - "@polkadot/util" "^13.5.6" - "@polkadot/util-crypto" "^13.5.6" +"@polkadot/types@16.4.9": + version "16.4.9" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-16.4.9.tgz#36d6026689d6a91d6efb9036f8fbef0168f3ed3d" + integrity sha512-nfXIviIBohn603Q8t6vDQYrKDMeisVFN7EjDVOIYLXFMwbe9MvTW6i/NLyu9m42O8Z76O+yUisMazaE4046xJA== + dependencies: + "@polkadot/keyring" "^13.5.7" + "@polkadot/types-augment" "16.4.9" + "@polkadot/types-codec" "16.4.9" + "@polkadot/types-create" "16.4.9" + "@polkadot/util" "^13.5.7" + "@polkadot/util-crypto" "^13.5.7" rxjs "^7.8.1" tslib "^2.8.1" -"@polkadot/util-crypto@13.5.6", "@polkadot/util-crypto@^13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-13.5.6.tgz#aef44d6c201d7c47897288aa268532f396e4cd5f" - integrity sha512-1l+t5lVc9UWxvbJe7/3V+QK8CwrDPuQjDK6FKtDZgZCU0JRrjySOxV0J4PeDIv8TgXZtbIcQFVUhIsJTyKZZJQ== +"@polkadot/util-crypto@13.5.7", "@polkadot/util-crypto@^13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-13.5.7.tgz#f938c6575c8f2961cbd6f6dba72be0b60d4f6639" + integrity sha512-SNzfAmtSSfUnQesrGLxc1RDg1arsvFSsAkH0xulffByqJfLugB3rZWJXIKqKNfcRZtomsMMURPeW7lfpAomSug== dependencies: "@noble/curves" "^1.3.0" "@noble/hashes" "^1.3.3" - "@polkadot/networks" "13.5.6" - "@polkadot/util" "13.5.6" + "@polkadot/networks" "13.5.7" + "@polkadot/util" "13.5.7" "@polkadot/wasm-crypto" "^7.5.1" "@polkadot/wasm-util" "^7.5.1" - "@polkadot/x-bigint" "13.5.6" - "@polkadot/x-randomvalues" "13.5.6" + "@polkadot/x-bigint" "13.5.7" + "@polkadot/x-randomvalues" "13.5.7" "@scure/base" "^1.1.7" tslib "^2.8.0" -"@polkadot/util@13.5.6", "@polkadot/util@^13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-13.5.6.tgz#fceb7fe823724535516b304a5675566974cb60e6" - integrity sha512-V+CkW2VdhcMWvl7eXdmlCLGqLxrKvXZtXE76KBbPP5n0Z+8DqQ58IHNOE9xe2LOgqDwIzdLlOUwkyF9Zj19y+Q== +"@polkadot/util@13.5.7", "@polkadot/util@^13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-13.5.7.tgz#e30e48a77a3413e9db8776bb5c8ccc1760dcfd38" + integrity sha512-5Rhp6/FDI55iCJcGd/9bMQaF0E26OE+uZwz68JuRW75DW8v7zsN3bnjnVqk3KO/c4u5EgLSqbhXPuyW24BP1+Q== dependencies: - "@polkadot/x-bigint" "13.5.6" - "@polkadot/x-global" "13.5.6" - "@polkadot/x-textdecoder" "13.5.6" - "@polkadot/x-textencoder" "13.5.6" + "@polkadot/x-bigint" "13.5.7" + "@polkadot/x-global" "13.5.7" + "@polkadot/x-textdecoder" "13.5.7" + "@polkadot/x-textencoder" "13.5.7" "@types/bn.js" "^5.1.6" bn.js "^5.2.1" tslib "^2.8.0" @@ -826,60 +896,60 @@ dependencies: tslib "^2.7.0" -"@polkadot/x-bigint@13.5.6", "@polkadot/x-bigint@^13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-13.5.6.tgz#1468aab88e9bc41ea7ca118ab72d111681d7a4be" - integrity sha512-HpqZJ9ud94iK/+0Ofacw7QdtvzFp6SucBBml4XwWZTWoLaLOGDsO7FoWE7yCuwPbX8nLgIM6YmQBeUoZmBtVqQ== +"@polkadot/x-bigint@13.5.7", "@polkadot/x-bigint@^13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-13.5.7.tgz#bbbdbabb2953e9e3db5c48acd460460e54ec324d" + integrity sha512-NbN4EPbMBhjOXoWj0BVcT49/obzusFWPKbSyBxbZi8ITBaIIgpncgcCfXY4rII6Fqh74khx9jdevWge/6ycepQ== dependencies: - "@polkadot/x-global" "13.5.6" + "@polkadot/x-global" "13.5.7" tslib "^2.8.0" -"@polkadot/x-fetch@^13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-13.5.6.tgz#39393a4873199320c2474d48af883be853c6deca" - integrity sha512-gqx8c6lhnD7Qht+56J+4oeTA8YZ9bAPqzOt2cRJf9MTplMy44W6671T2p6hA3QMvzy4aBTxMie3uKc4tGpLu4A== +"@polkadot/x-fetch@^13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-13.5.7.tgz#e5bf5b88a1b60501255c06763452422fbf31dd04" + integrity sha512-ZlPtWJAq7xMMr8wo9API8l6mKRr/6kClF0Hm1CVhQgZruFTZd7A2XZfETMg49yaRouy16SRI85WhIw+pXfQd3g== dependencies: - "@polkadot/x-global" "13.5.6" + "@polkadot/x-global" "13.5.7" node-fetch "^3.3.2" tslib "^2.8.0" -"@polkadot/x-global@13.5.6", "@polkadot/x-global@^13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-13.5.6.tgz#37a52d1cd32fde6d385cb745c0cec534753be1e5" - integrity sha512-iw97n0Bnl2284WgAK732LYR4DW6w5+COfBfHzkhiHqs5xwPEwWMgWGrf2hM8WAQqNIz6Ni8w/jagucPyQBur3Q== +"@polkadot/x-global@13.5.7", "@polkadot/x-global@^13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-13.5.7.tgz#45af0a509c9ca71c5f758d2e2e20b89c874c3c2a" + integrity sha512-TkBxLfeKtj0laCzXp2lvRhwSIeXSxIu7LAWpfAUW4SYNFQvtgIS0x0Bq70CUW3lcy0wqTrSG2cqzfnbomB0Djw== dependencies: tslib "^2.8.0" -"@polkadot/x-randomvalues@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-13.5.6.tgz#a05e0e4fb188c99c5a84043668a27ae6f05259bc" - integrity sha512-w1F9G7FxrJ7+hGC8bh9/VpPH4KN8xmyzgiQdR7+rVB2V8KsKQBQidG69pj5Kwsh3oODOz0yQYsTG6Rm6TAJbGA== +"@polkadot/x-randomvalues@13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-13.5.7.tgz#af99f33d3cb37712a0b05525d724169fce1e398e" + integrity sha512-NEElpdu+Wqlr6USoh3abQfe0MaWlFlynPiqkA0/SJjK+0V0UOw0CyPwPgGrGa71/ju+1bsnu/ySshXqCR8HXTw== dependencies: - "@polkadot/x-global" "13.5.6" + "@polkadot/x-global" "13.5.7" tslib "^2.8.0" -"@polkadot/x-textdecoder@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-13.5.6.tgz#a9c37f1033e41747856674d47ce149f71a0cbb1b" - integrity sha512-jTGeYCxFh89KRrP7bNj1CPqKO36Onsi0iA6A+5YtRS5wjdQU+/OFM/EHLTP2nvkvZo/tOkOewMR9sausisUvVQ== +"@polkadot/x-textdecoder@13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-13.5.7.tgz#6e453157fab1d9ba0c9d28f03ec7bcae6606f636" + integrity sha512-wjSj+T2pBA1uW9dDYriZMAv4WgXl5zcWblxwOsZd3V/qxifMSlSLAy0WeC+08DD6TXGQYCOU0uOALsDivkUDZA== dependencies: - "@polkadot/x-global" "13.5.6" + "@polkadot/x-global" "13.5.7" tslib "^2.8.0" -"@polkadot/x-textencoder@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-13.5.6.tgz#e6468a0a97a0cb9e64363aae35e932baad1abe37" - integrity sha512-iVwz9+OrYCEF9QbNfr9M206mmWvY/AhDmGPfAIeTR4fRgKGVYqcP8RIF8iu/x0MVQWqiVO3vlhlUk7MfrmAnoQ== +"@polkadot/x-textencoder@13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-13.5.7.tgz#ae45d03b3f974bcac4a5297e729b494a77df9845" + integrity sha512-h6RsGUY8ZZrfqsbojD1VqTqmXcojDSfbXQHhVcAWqgceeh9JOOw8Q6yzhv+KpPelqKq/map3bobJaebQ8QNTMw== dependencies: - "@polkadot/x-global" "13.5.6" + "@polkadot/x-global" "13.5.7" tslib "^2.8.0" -"@polkadot/x-ws@^13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-13.5.6.tgz#394bc6c5408e2cecbd8742c883c1b73ce1b23258" - integrity sha512-247ktVp/iE57NTXjFpHaoPoDcvoEPb8+16r2Eq0IBQ2umOV7P6KmxvdNx5eFUvRsgXvBpNwUXE1WVnXjK/eDtA== +"@polkadot/x-ws@^13.5.7": + version "13.5.7" + resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-13.5.7.tgz#fc71b6a41281dc89f0daaf8cb74a9da5ac7ca11e" + integrity sha512-ZdmFhL3gDMRxJXqN7a88BIU1sm2IgAFnn+jMcjjJXwP5qEuP9ejwPHQL0EFOw6sqtylfQUFuWvahvIZT7MbQ5g== dependencies: - "@polkadot/x-global" "13.5.6" + "@polkadot/x-global" "13.5.7" tslib "^2.8.0" ws "^8.18.0" @@ -888,207 +958,102 @@ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz#731df27dfdb77189547bcef96ada7bf166bbb2fb" integrity sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw== -"@rollup/rollup-android-arm-eabi@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.50.0.tgz#939c1be9625d428d8513e4ab60d406fe8db23718" - integrity sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ== - "@rollup/rollup-android-arm64@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz#4bea6db78e1f6927405df7fe0faf2f5095e01343" integrity sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q== -"@rollup/rollup-android-arm64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.50.0.tgz#b74005775903f7a8f4e363d2840c1dcef3776ff3" - integrity sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw== - "@rollup/rollup-darwin-arm64@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz#a7aab77d44be3c44a20f946e10160f84e5450e7f" integrity sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q== -"@rollup/rollup-darwin-arm64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.50.0.tgz#8c04603cdcf1ec0cd6b27152b3827e49295f2962" - integrity sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg== - "@rollup/rollup-darwin-x64@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz#c572c024b57ee8ddd1b0851703ace9eb6cc0dd82" integrity sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw== -"@rollup/rollup-darwin-x64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.50.0.tgz#19ec976f1cc663def2692cd7ffb32981f2b0b733" - integrity sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw== - "@rollup/rollup-freebsd-arm64@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz#cf74f8113b5a83098a5c026c165742277cbfb88b" integrity sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA== -"@rollup/rollup-freebsd-arm64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.50.0.tgz#a96b4ad8346229f6fcbd9d57f1c53040b037c2da" - integrity sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ== - "@rollup/rollup-freebsd-x64@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz#39561f3a2f201a4ad6a01425b1ff5928154ecd7c" integrity sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q== -"@rollup/rollup-freebsd-x64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.50.0.tgz#fa565a282bc57967ee6668607b181678bdd74e4a" - integrity sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA== - "@rollup/rollup-linux-arm-gnueabihf@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz#980d6061e373bfdaeb67925c46d2f8f9b3de537f" integrity sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g== -"@rollup/rollup-linux-arm-gnueabihf@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.50.0.tgz#dfc88f7295e1f98d77f25296be787e8a5d6ced75" - integrity sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w== - "@rollup/rollup-linux-arm-musleabihf@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz#f91a90f30dc00d5a64ac2d9bbedc829cd3cfaa78" integrity sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA== -"@rollup/rollup-linux-arm-musleabihf@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.50.0.tgz#32cd70c87455ca031f0361090cf17da5a2ef66d5" - integrity sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg== - "@rollup/rollup-linux-arm64-gnu@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz#fac700fa5c38bc13a0d5d34463133093da4c92a0" integrity sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A== -"@rollup/rollup-linux-arm64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.50.0.tgz#0e7e1fe7241e3384f6c6b4ccdbcfa8ad8c78b869" - integrity sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g== - "@rollup/rollup-linux-arm64-musl@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz#f50ecccf8c78841ff6df1706bc4782d7f62bf9c3" integrity sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q== -"@rollup/rollup-linux-arm64-musl@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.50.0.tgz#5d421f2f3e4a84786c4dfd9ce97e595c9b59e7f4" - integrity sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ== - "@rollup/rollup-linux-loongarch64-gnu@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz#5869dc0b28242da6553e2b52af41374f4038cd6e" integrity sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ== -"@rollup/rollup-linux-loongarch64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.50.0.tgz#a0fb5c7d0e88319e18acfd9436f19ee39354b027" - integrity sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ== - "@rollup/rollup-linux-powerpc64le-gnu@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz#5cdd9f851ce1bea33d6844a69f9574de335f20b1" integrity sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw== -"@rollup/rollup-linux-ppc64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.50.0.tgz#a65b598af12f25210c3295da551a6e3616ea488d" - integrity sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg== - "@rollup/rollup-linux-riscv64-gnu@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz#ef5dc37f4388f5253f0def43e1440ec012af204d" integrity sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw== -"@rollup/rollup-linux-riscv64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.50.0.tgz#10ba776214ae2857c5bf4389690dabb2fbaf7d98" - integrity sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA== - -"@rollup/rollup-linux-riscv64-musl@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.50.0.tgz#c2a46cbaa329d5f21e5808f5a66bb9c78cf68aac" - integrity sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ== - "@rollup/rollup-linux-s390x-gnu@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz#7dbc3ccbcbcfb3e65be74538dfb6e8dd16178fde" integrity sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA== -"@rollup/rollup-linux-s390x-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.50.0.tgz#a07447be069d64462e30c66611be20c4513963ed" - integrity sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ== - "@rollup/rollup-linux-x64-gnu@4.34.8": version "4.34.8" resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz" integrity sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA== -"@rollup/rollup-linux-x64-gnu@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.0.tgz#8887c58bd51242754ae9c56947d6e883332dcc74" - integrity sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA== - "@rollup/rollup-linux-x64-musl@4.34.8": version "4.34.8" resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz" integrity sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ== -"@rollup/rollup-linux-x64-musl@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.50.0.tgz#6403fda72a2b3b9fbbeeff93d14f1c45ef9775f3" - integrity sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw== - -"@rollup/rollup-openharmony-arm64@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.50.0.tgz#52809afccaff47e731b965a0c16e5686be819d5f" - integrity sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q== - "@rollup/rollup-win32-arm64-msvc@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz#cbfee01f1fe73791c35191a05397838520ca3cdd" integrity sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ== -"@rollup/rollup-win32-arm64-msvc@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.50.0.tgz#23fe00ddbb40b27a3889bc1e99e6310d97353ad5" - integrity sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg== - "@rollup/rollup-win32-ia32-msvc@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz#95cdbdff48fe6c948abcf6a1d500b2bd5ce33f62" integrity sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w== -"@rollup/rollup-win32-ia32-msvc@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.50.0.tgz#520b588076b593413d919912d69dfd5728a1f305" - integrity sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw== - "@rollup/rollup-win32-x64-msvc@4.34.8": version "4.34.8" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz#4cdb2cfae69cdb7b1a3cc58778e820408075e928" integrity sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g== -"@rollup/rollup-win32-x64-msvc@4.50.0": - version "4.50.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.0.tgz#d81efe6a12060c7feddf9805e2a94c3ab0679f48" - integrity sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg== - "@rx-state/core@^0.1.4": version "0.1.4" resolved "https://registry.npmjs.org/@rx-state/core/-/core-0.1.4.tgz" integrity sha512-Z+3hjU2xh1HisLxt+W5hlYX/eGSDaXXP+ns82gq/PLZpkXLu0uwcNUh9RLY3Clq4zT+hSsA3vcpIGt6+UAb8rQ== -"@scure/base@^1.1.1", "@scure/base@^1.1.7", "@scure/base@^1.2.6": +"@scure/base@^1.1.1", "@scure/base@^1.1.7", "@scure/base@^1.2.6", "@scure/base@~1.2.5": version "1.2.6" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.6.tgz#ca917184b8231394dd8847509c67a0be522e59f6" integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg== @@ -1112,6 +1077,15 @@ "@noble/hashes" "~1.7.1" "@scure/base" "~1.2.2" +"@scure/bip32@1.7.0", "@scure/bip32@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.7.0.tgz#b8683bab172369f988f1589640e53c4606984219" + integrity sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw== + dependencies: + "@noble/curves" "~1.9.0" + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" + "@scure/bip39@1.5.4", "@scure/bip39@^1.4.0": version "1.5.4" resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.4.tgz" @@ -1120,6 +1094,14 @@ "@noble/hashes" "~1.7.1" "@scure/base" "~1.2.4" +"@scure/bip39@1.6.0", "@scure/bip39@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.6.0.tgz#475970ace440d7be87a6086cbee77cb8f1a684f9" + integrity sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A== + dependencies: + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" + "@scure/sr25519@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@scure/sr25519/-/sr25519-0.3.0.tgz#1fb075ef05086c1dc59f16bdda1327627a552352" @@ -1227,11 +1209,6 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== -"@types/estree@1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== - "@types/mocha@^10.0.10": version "10.0.10" resolved "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz" @@ -1289,6 +1266,16 @@ abitype@1.0.8, abitype@^1.0.6: resolved "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz" integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg== +abitype@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.1.0.tgz#510c5b3f92901877977af5e864841f443bf55406" + integrity sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A== + +abitype@^1.0.9, abitype@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.1.1.tgz#b50ed400f8bfca5452eb4033445c309d3e1117c8" + integrity sha512-Loe5/6tAgsBukY95eGaPSDmQHIjRZYQq8PB1MpsNccDIK8WiV+Uw6WzaIXipvaxTEL2yEB0OpEaQv3gs8pkS9Q== + acorn-walk@^8.1.1: version "8.3.4" resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz" @@ -1761,11 +1748,6 @@ fdir@^6.4.4: resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz" integrity sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg== -fdir@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" - integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== - fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" @@ -1837,7 +1819,7 @@ fs.promises.exists@^1.1.4: resolved "https://registry.npmjs.org/fs.promises.exists/-/fs.promises.exists-1.1.4.tgz" integrity sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q== -fsevents@~2.3.2, fsevents@~2.3.3: +fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -2098,6 +2080,11 @@ isows@1.0.6: resolved "https://registry.npmjs.org/isows/-/isows-1.0.6.tgz" integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw== +isows@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.7.tgz#1c06400b7eed216fbba3bcbd68f12490fc342915" + integrity sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg== + jackspeak@^3.1.2: version "3.4.3" resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" @@ -2273,11 +2260,6 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - nock@^13.5.5: version "13.5.6" resolved "https://registry.yarnpkg.com/nock/-/nock-13.5.6.tgz#5e693ec2300bbf603b61dae6df0225673e6c4997" @@ -2388,6 +2370,20 @@ ox@0.6.7: abitype "^1.0.6" eventemitter3 "5.0.1" +ox@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.9.6.tgz#5cf02523b6db364c10ee7f293ff1e664e0e1eab7" + integrity sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg== + dependencies: + "@adraffy/ens-normalize" "^1.11.0" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "1.9.1" + "@noble/hashes" "^1.8.0" + "@scure/bip32" "^1.7.0" + "@scure/bip39" "^1.6.0" + abitype "^1.0.9" + eventemitter3 "5.0.1" + p-limit@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" @@ -2464,11 +2460,6 @@ picomatch@^4.0.2: resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== -picomatch@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" - integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== - pirates@^4.0.1: version "4.0.7" resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz" @@ -2520,15 +2511,6 @@ postcss-load-config@^6.0.1: dependencies: lilconfig "^3.1.1" -postcss@^8.5.6: - version "8.5.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== - dependencies: - nanoid "^3.3.11" - picocolors "^1.1.1" - source-map-js "^1.2.1" - prettier@^3.3.3: version "3.5.2" resolved "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz" @@ -2627,36 +2609,6 @@ rollup@^4.34.8: "@rollup/rollup-win32-x64-msvc" "4.34.8" fsevents "~2.3.2" -rollup@^4.43.0: - version "4.50.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.50.0.tgz#6f237f598b7163ede33ce827af8534c929aaa186" - integrity sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw== - dependencies: - "@types/estree" "1.0.8" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.50.0" - "@rollup/rollup-android-arm64" "4.50.0" - "@rollup/rollup-darwin-arm64" "4.50.0" - "@rollup/rollup-darwin-x64" "4.50.0" - "@rollup/rollup-freebsd-arm64" "4.50.0" - "@rollup/rollup-freebsd-x64" "4.50.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.50.0" - "@rollup/rollup-linux-arm-musleabihf" "4.50.0" - "@rollup/rollup-linux-arm64-gnu" "4.50.0" - "@rollup/rollup-linux-arm64-musl" "4.50.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.50.0" - "@rollup/rollup-linux-ppc64-gnu" "4.50.0" - "@rollup/rollup-linux-riscv64-gnu" "4.50.0" - "@rollup/rollup-linux-riscv64-musl" "4.50.0" - "@rollup/rollup-linux-s390x-gnu" "4.50.0" - "@rollup/rollup-linux-x64-gnu" "4.50.0" - "@rollup/rollup-linux-x64-musl" "4.50.0" - "@rollup/rollup-openharmony-arm64" "4.50.0" - "@rollup/rollup-win32-arm64-msvc" "4.50.0" - "@rollup/rollup-win32-ia32-msvc" "4.50.0" - "@rollup/rollup-win32-x64-msvc" "4.50.0" - fsevents "~2.3.2" - rxjs@^7.8.1, rxjs@^7.8.2: version "7.8.2" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" @@ -2745,11 +2697,6 @@ sort-keys@^5.0.0: dependencies: is-plain-obj "^4.0.0" -source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - source-map@0.8.0-beta.0: version "0.8.0-beta.0" resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" @@ -2901,7 +2848,7 @@ tinyexec@^0.3.2: resolved "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz" integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== -tinyglobby@^0.2.11, tinyglobby@^0.2.14: +tinyglobby@^0.2.11: version "0.2.14" resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz" integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ== @@ -3068,19 +3015,19 @@ viem@2.23.4: ox "0.6.7" ws "8.18.0" -vite@^7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/vite/-/vite-7.1.4.tgz#354944affb55e1aff0157406b74e0d0a3232df9a" - integrity sha512-X5QFK4SGynAeeIt+A7ZWnApdUyHYm+pzv/8/A57LqSGcI88U6R6ipOs3uCesdc6yl7nl+zNO0t8LmqAdXcQihw== +viem@^2.37.9: + version "2.38.4" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.38.4.tgz#1523aceb2ae2d8ae67a11cbc44f3f984058659fe" + integrity sha512-qnyPNg6Lz1EEC86si/1dq7GlOyZVFHSgAW+p8Q31R5idnAYCOdTM2q5KLE4/ykMeMXzY0bnp5MWTtR/wjCtWmQ== dependencies: - esbuild "^0.25.0" - fdir "^6.5.0" - picomatch "^4.0.3" - postcss "^8.5.6" - rollup "^4.43.0" - tinyglobby "^0.2.14" - optionalDependencies: - fsevents "~2.3.3" + "@noble/curves" "1.9.1" + "@noble/hashes" "1.8.0" + "@scure/bip32" "1.7.0" + "@scure/bip39" "1.6.0" + abitype "1.1.0" + isows "1.0.7" + ox "0.9.6" + ws "8.18.3" web-streams-polyfill@^3.0.3: version "3.3.3" @@ -3191,7 +3138,7 @@ ws@8.18.0: resolved "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== -ws@^8.18.0, ws@^8.18.2, ws@^8.18.3, ws@^8.8.1: +ws@8.18.3, ws@^8.18.0, ws@^8.18.2, ws@^8.18.3, ws@^8.8.1: version "8.18.3" resolved "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz" integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== From 35a8d129fefd877d380b1445a65f83d64d804d02 Mon Sep 17 00:00:00 2001 From: open-junius Date: Tue, 28 Oct 2025 22:15:21 +0800 Subject: [PATCH 02/21] initiate is ok --- evm-tests/bittensor/lib.rs | 35 +++++------- evm-tests/package.json | 2 +- evm-tests/src/config.ts | 2 +- evm-tests/src/setup.ts | 10 ++++ evm-tests/src/substrate.ts | 14 +---- evm-tests/src/subtensor.ts | 2 +- evm-tests/test/wasm.contract.test.ts | 85 ++++++++++++++-------------- 7 files changed, 71 insertions(+), 79 deletions(-) diff --git a/evm-tests/bittensor/lib.rs b/evm-tests/bittensor/lib.rs index 087a528a98..1d470dce22 100755 --- a/evm-tests/bittensor/lib.rs +++ b/evm-tests/bittensor/lib.rs @@ -239,29 +239,22 @@ mod bittensor { Self::new() } - /// A message that can be called on instantiated contracts. - /// This one flips the value of the stored `bool` from `true` - /// to `false` and vice versa. #[ink(message)] - pub fn a(&self) -> bool { - true + pub fn get_stake_info_for_hotkey_coldkey_netuid( + &mut self, + hotkey: [u8; 32], + coldkey: [u8; 32], + netuid: u16, + ) -> Result>, ReadWriteErrorCode> { + self.env() + .extension() + .get_stake_info_for_hotkey_coldkey_netuid( + hotkey.into(), + coldkey.into(), + netuid.into(), + ) + .map_err(|_e| ReadWriteErrorCode::ReadFailed) } - - // pub fn get_stake_info_for_hotkey_coldkey_netuid( - // &mut self, - // hotkey: [u8; 32], - // coldkey: [u8; 32], - // netuid: u16, - // ) -> Result>, ReadWriteErrorCode> { - // self.env() - // .extension() - // .get_stake_info_for_hotkey_coldkey_netuid( - // hotkey.into(), - // coldkey.into(), - // netuid.into(), - // ) - // .map_err(|_e| ReadWriteErrorCode::ReadFailed) - // } } /// Unit tests in Rust are normally defined within such a `#[cfg(test)]` diff --git a/evm-tests/package.json b/evm-tests/package.json index 70f4b5bc63..3d51d5d325 100644 --- a/evm-tests/package.json +++ b/evm-tests/package.json @@ -1,6 +1,6 @@ { "scripts": { - "test": "mocha --timeout 999999 --retries 3 --file src/setup.ts --require ts-node/register test/wasm*test.ts" + "test": "mocha --timeout 999999 --file src/setup.ts --require ts-node/register test/wasm*test.ts" }, "keywords": [], "author": "", diff --git a/evm-tests/src/config.ts b/evm-tests/src/config.ts index 4cc3b27608..0c145635d0 100644 --- a/evm-tests/src/config.ts +++ b/evm-tests/src/config.ts @@ -2,7 +2,7 @@ export const ETH_LOCAL_URL = 'http://localhost:9944' export const SUB_LOCAL_URL = 'ws://localhost:9944' export const SS58_PREFIX = 42; // set the tx timeout as 2 second when eable the fast-runtime feature. -export const TX_TIMEOUT = 3000; +export const TX_TIMEOUT = 2000; export const IED25519VERIFY_ADDRESS = "0x0000000000000000000000000000000000000402"; export const IEd25519VerifyABI = [ diff --git a/evm-tests/src/setup.ts b/evm-tests/src/setup.ts index 1ef872cd5a..dceba6a2bc 100644 --- a/evm-tests/src/setup.ts +++ b/evm-tests/src/setup.ts @@ -2,6 +2,7 @@ import { createClient, TypedApi, PolkadotClient, Binary } from 'polkadot-api'; import { SUB_LOCAL_URL } from "./config" import { getWsProvider } from 'polkadot-api/ws-provider/web'; +import { withPolkadotSdkCompat } from "polkadot-api/polkadot-sdk-compat" let client: PolkadotClient | undefined = undefined @@ -13,6 +14,15 @@ export async function getClient() { return client; } +export async function getSdkClient() { + const client = createClient( + withPolkadotSdkCompat( + getWsProvider(SUB_LOCAL_URL), + ), + ) + return client +} + after(() => { client?.destroy() }); diff --git a/evm-tests/src/substrate.ts b/evm-tests/src/substrate.ts index 6f6fa0cf5c..9227a6e0c8 100644 --- a/evm-tests/src/substrate.ts +++ b/evm-tests/src/substrate.ts @@ -1,4 +1,4 @@ -import { devnet, MultiAddress, contracts } from '@polkadot-api/descriptors'; +import { devnet, MultiAddress } from '@polkadot-api/descriptors'; import { TypedApi, Transaction, PolkadotSigner, Binary } from 'polkadot-api'; import { sr25519CreateDerive } from "@polkadot-labs/hdkd" import { DEV_PHRASE, entropyToMiniSecret, mnemonicToEntropy, KeyPair } from "@polkadot-labs/hdkd-helpers" @@ -7,10 +7,8 @@ import { randomBytes } from 'crypto'; import { Keyring } from '@polkadot/keyring'; import { SS58_PREFIX, TX_TIMEOUT } from "./config"; import { getClient } from "./setup" -import { getInkClient, InkClient } from "@polkadot-api/ink-contracts" let api: TypedApi | undefined = undefined -let inkClient: InkClient | undefined = undefined // define url string as type to extend in the future // export type ClientUrlType = 'ws://localhost:9944' | 'wss://test.finney.opentensor.ai:443' | 'wss://dev.chain.opentensor.ai:443' | 'wss://archive.chain.opentensor.ai'; @@ -19,18 +17,12 @@ export type ClientUrlType = 'ws://localhost:9944' export async function getDevnetApi() { if (api === undefined) { let client = await getClient() + api = client.getTypedApi(devnet) } return api } -export async function gettInkClient() { - if (inkClient === undefined) { - inkClient = getInkClient(contracts.bittensor) - } - return inkClient -} - export function getKeypairFromPath(path: string) { const entropy = mnemonicToEntropy(DEV_PHRASE) const miniSecret = entropyToMiniSecret(entropy) @@ -152,7 +144,7 @@ export async function waitForTransactionWithRetry( .catch((error) => { console.log(`transaction error ${error}`); }); - await new Promise((resolve) => setTimeout(resolve, 1000)); + await new Promise((resolve) => setTimeout(resolve, 2000)); retries += 1; } diff --git a/evm-tests/src/subtensor.ts b/evm-tests/src/subtensor.ts index 63a5ef6e8e..1a4edf96a4 100644 --- a/evm-tests/src/subtensor.ts +++ b/evm-tests/src/subtensor.ts @@ -1,6 +1,6 @@ import * as assert from "assert"; import { devnet, MultiAddress } from '@polkadot-api/descriptors'; -import { TypedApi, TxCallData } from 'polkadot-api'; +import { TypedApi, TxCallData, Binary, Enum } from 'polkadot-api'; import { KeyPair } from "@polkadot-labs/hdkd-helpers" import { getAliceSigner, waitForTransactionCompletion, getSignerFromKeypair, waitForTransactionWithRetry } from './substrate' import { convertH160ToSS58, convertPublicKeyToSs58, ethAddressToH160 } from './address-utils' diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index 19add1952a..4f3c97c71d 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -1,72 +1,69 @@ import * as assert from "assert"; -import { getDevnetApi, getRandomSubstrateKeypair, gettInkClient } from "../src/substrate" -import { devnet } from "@polkadot-api/descriptors" -import { Binary, Enum, PolkadotSigner, TypedApi } from "polkadot-api"; -import { convertPublicKeyToSs58, convertH160ToSS58 } from "../src/address-utils" -import { raoToEth, tao } from "../src/balance-math" -import { ethers } from "ethers" -import { generateRandomEthersWallet, getPublicClient } from "../src/utils" -import { convertH160ToPublicKey } from "../src/address-utils" -import { - forceSetBalanceToEthAddress, forceSetBalanceToSs58Address, addNewSubnetwork, burnedRegister, - sendProxyCall, - startCall, -} from "../src/subtensor" +import { getDevnetApi, getAliceSigner, getRandomSubstrateKeypair } from "../src/substrate" +import { devnet, contracts, MultiAddress } from "@polkadot-api/descriptors" +import { Binary, PolkadotSigner, TypedApi } from "polkadot-api"; + import { ETH_LOCAL_URL } from "../src/config"; import { ISTAKING_ADDRESS, ISTAKING_V2_ADDRESS, IStakingABI, IStakingV2ABI } from "../src/contracts/staking" -import { PublicClient } from "viem"; import { getInkClient, InkClient } from "@polkadot-api/ink-contracts" -import { contracts } from "@polkadot-api/descriptors" import fs from "fs" +import { convertPublicKeyToSs58 } from "../src/address-utils"; +import { forceSetBalanceToSs58Address } from "../src/subtensor"; -const Determinism = { - Enforced: Enum('Enforced'), - Relaxed: Enum('Relaxed') -} as const; +const bittensorWasmPath = "./bittensor/target/ink/bittensor.wasm" +const bittensorBytecode = fs.readFileSync(bittensorWasmPath) +const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); -describe("Test neuron precompile add remove stake", () => { +describe("Test wasm contract", () => { + let api: TypedApi const hotkey = getRandomSubstrateKeypair(); const coldkey = getRandomSubstrateKeypair(); - const proxy = getRandomSubstrateKeypair(); - - let api: TypedApi - let inkClient: InkClient; + let inkClient: InkClient; + let contractAddress: string; // sudo account alice as signer let alice: PolkadotSigner; before(async () => { // init variables got from await and async api = await getDevnetApi() - inkClient = await gettInkClient() - - // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(alice.publicKey)) + alice = await getAliceSigner(); await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey.publicKey)) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey)) - await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(proxy.publicKey)) - let netuid = await addNewSubnetwork(api, hotkey, coldkey) - await startCall(api, netuid, coldkey) - - console.log("test the case on subnet ", netuid) }) - it("Can upload contract", async () => { - let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - if (api === undefined) { - throw new Error("api is undefined") + it("Can instantiate contract", async () => { + const signer = await getAliceSigner(); + inkClient = getInkClient(contracts.bittensor) + const constructor = inkClient.constructor('new') + const data = constructor.encode() + const instantiate_with_code = await api.tx.Contracts.instantiate_with_code({ + code: Binary.fromBytes(bittensorBytecode), + storage_deposit_limit: BigInt(10000000), + value: BigInt(0), + gas_limit: { + ref_time: BigInt(1000000000), + proof_size: BigInt(1000000), + }, + data: Binary.fromBytes(data.asBytes()), + salt: Binary.fromHex("0x"), + }).signAndSubmit(signer) + + + let codeStoredEvents = await api.event.Contracts.Instantiated.filter(instantiate_with_code.events) + if (codeStoredEvents.length === 0) { + throw new Error("No events found") } - const bytecode = fs.readFileSync("bittensor.wasm") - const upload = await api.tx.Contracts.upload_code({ - code: Binary.fromBytes(bytecode), - storage_deposit_limit: BigInt(0), - determinism: Determinism.Enforced - }) - // const contract = await inkClient.upload(netuid, "bittensor", "bittensor.json") - // assert.ok(contract !== undefined) + contractAddress = codeStoredEvents[0].contract + + console.log("===== contractAddress", contractAddress) }) + it("Can query stake info from contract", async () => { + + }) }); \ No newline at end of file From e7fa965486a77a0d074acd64e1088060eaa23684 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 30 Oct 2025 09:45:59 +0800 Subject: [PATCH 03/21] add stake is ok --- evm-tests/bittensor/lib.rs | 80 ++++++++++++++++--------- evm-tests/package.json | 9 +-- evm-tests/test/wasm.contract.test.ts | 89 +++++++++++++++++++++++++--- 3 files changed, 136 insertions(+), 42 deletions(-) diff --git a/evm-tests/bittensor/lib.rs b/evm-tests/bittensor/lib.rs index 1d470dce22..ebf46757e0 100755 --- a/evm-tests/bittensor/lib.rs +++ b/evm-tests/bittensor/lib.rs @@ -5,23 +5,23 @@ use parity_scale_codec::{Compact, CompactAs, Error as CodecError}; #[derive(Debug, Clone)] pub struct CustomEnvironment; -// pub enum FunctionId { -// GetStakeInfoForHotkeyColdkeyNetuidV1 = 0, -// AddStakeV1 = 1, -// RemoveStakeV1 = 2, -// UnstakeAllV1 = 3, -// UnstakeAllAlphaV1 = 4, -// MoveStakeV1 = 5, -// TransferStakeV1 = 6, -// SwapStakeV1 = 7, -// AddStakeLimitV1 = 8, -// RemoveStakeLimitV1 = 9, -// SwapStakeLimitV1 = 10, -// RemoveStakeFullLimitV1 = 11, -// SetColdkeyAutoStakeHotkeyV1 = 12, -// AddProxyV1 = 13, -// RemoveProxyV1 = 14, -// } +pub enum FunctionId { + GetStakeInfoForHotkeyColdkeyNetuidV1 = 0, + AddStakeV1 = 1, + RemoveStakeV1 = 2, + UnstakeAllV1 = 3, + UnstakeAllAlphaV1 = 4, + MoveStakeV1 = 5, + TransferStakeV1 = 6, + SwapStakeV1 = 7, + AddStakeLimitV1 = 8, + RemoveStakeLimitV1 = 9, + SwapStakeLimitV1 = 10, + RemoveStakeFullLimitV1 = 11, + SetColdkeyAutoStakeHotkeyV1 = 12, + AddProxyV1 = 13, + RemoveProxyV1 = 14, +} #[ink::chain_extension(extension = 0x1000)] pub trait RuntimeReadWrite { @@ -34,8 +34,12 @@ pub trait RuntimeReadWrite { netuid: u16, ) -> Option>; - // #[ink(function = 1)] - // fn add_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 1)] + fn add_stake( + hotkey: ::AccountId, + netuid: NetUid, + amount: AlphaCurrency, + ); // #[ink(function = 2)] // fn remove_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); @@ -240,21 +244,39 @@ mod bittensor { } #[ink(message)] - pub fn get_stake_info_for_hotkey_coldkey_netuid( - &mut self, + pub fn dummy(&self) -> Result { + Ok(true) + } + + #[ink(message)] + pub fn add_stake( + &self, hotkey: [u8; 32], - coldkey: [u8; 32], netuid: u16, - ) -> Result>, ReadWriteErrorCode> { + amount: u64, + ) -> Result<(), ReadWriteErrorCode> { self.env() .extension() - .get_stake_info_for_hotkey_coldkey_netuid( - hotkey.into(), - coldkey.into(), - netuid.into(), - ) - .map_err(|_e| ReadWriteErrorCode::ReadFailed) + .add_stake(hotkey.into(), netuid.into(), amount.into()) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) } + + // #[ink(message)] + // pub fn get_stake_info_for_hotkey_coldkey_netuid( + // &mut self, + // hotkey: [u8; 32], + // coldkey: [u8; 32], + // netuid: u16, + // ) -> Result>, ReadWriteErrorCode> { + // self.env() + // .extension() + // .get_stake_info_for_hotkey_coldkey_netuid( + // hotkey.into(), + // coldkey.into(), + // netuid.into(), + // ) + // .map_err(|_e| ReadWriteErrorCode::ReadFailed) + // } } /// Unit tests in Rust are normally defined within such a `#[cfg(test)]` diff --git a/evm-tests/package.json b/evm-tests/package.json index 3d51d5d325..babf56a6f8 100644 --- a/evm-tests/package.json +++ b/evm-tests/package.json @@ -6,7 +6,10 @@ "author": "", "license": "ISC", "dependencies": { + "@localpapi/descriptors": "file:.papi/descriptors", "@polkadot-api/descriptors": "file:.papi/descriptors", + "@polkadot-api/ink-contracts": "^0.4.1", + "@polkadot-api/sdk-ink": "^0.5.1", "@polkadot-labs/hdkd": "^0.0.23", "@polkadot-labs/hdkd-helpers": "^0.0.23", "@polkadot/api": "^16.4.9", @@ -14,13 +17,11 @@ "dotenv": "17.2.1", "ethers": "^6.13.5", "mocha": "^11.1.0", - "polkadot-api": "^1.9.5", + "polkadot-api": "^1.20.0", "rxjs": "^7.8.2", "scale-ts": "^1.6.1", "viem": "2.23.4", - "ws": "^8.18.2", - "@polkadot-api/ink-contracts": "^0.4.1", - "@polkadot-api/sdk-ink": "^0.5.1" + "ws": "^8.18.2" }, "devDependencies": { "@types/bun": "^1.1.13", diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index 4f3c97c71d..0f6cbaad8b 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -1,14 +1,16 @@ import * as assert from "assert"; -import { getDevnetApi, getAliceSigner, getRandomSubstrateKeypair } from "../src/substrate" -import { devnet, contracts, MultiAddress } from "@polkadot-api/descriptors" +import { getDevnetApi, getAliceSigner, getRandomSubstrateKeypair, getSignerFromKeypair } from "../src/substrate" +import { devnet, MultiAddress } from "@polkadot-api/descriptors"; import { Binary, PolkadotSigner, TypedApi } from "polkadot-api"; +import { contracts } from "../.papi/descriptors"; + import { ETH_LOCAL_URL } from "../src/config"; import { ISTAKING_ADDRESS, ISTAKING_V2_ADDRESS, IStakingABI, IStakingV2ABI } from "../src/contracts/staking" -import { getInkClient, InkClient } from "@polkadot-api/ink-contracts" +import { getInkClient, InkClient, } from "@polkadot-api/ink-contracts" import fs from "fs" import { convertPublicKeyToSs58 } from "../src/address-utils"; -import { forceSetBalanceToSs58Address } from "../src/subtensor"; +import { addNewSubnetwork, burnedRegister, forceSetBalanceToSs58Address, startCall } from "../src/subtensor"; const bittensorWasmPath = "./bittensor/target/ink/bittensor.wasm" const bittensorBytecode = fs.readFileSync(bittensorWasmPath) @@ -20,7 +22,7 @@ describe("Test wasm contract", () => { const hotkey = getRandomSubstrateKeypair(); const coldkey = getRandomSubstrateKeypair(); - let inkClient: InkClient; + // let inkClient: InkClient; let contractAddress: string; // sudo account alice as signer @@ -29,13 +31,20 @@ describe("Test wasm contract", () => { // init variables got from await and async api = await getDevnetApi() alice = await getAliceSigner(); - await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey.publicKey)) + await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey)) + let netuid = await addNewSubnetwork(api, hotkey, coldkey) + await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey.publicKey)) + await startCall(api, netuid, coldkey) + + console.log("test the case on subnet ", netuid) + await burnedRegister(api, netuid, convertPublicKeyToSs58(hotkey.publicKey), coldkey) + }) it("Can instantiate contract", async () => { - const signer = await getAliceSigner(); - inkClient = getInkClient(contracts.bittensor) + const signer = getSignerFromKeypair(coldkey); + const inkClient = getInkClient(contracts.bittensor) const constructor = inkClient.constructor('new') const data = constructor.encode() const instantiate_with_code = await api.tx.Contracts.instantiate_with_code({ @@ -50,7 +59,6 @@ describe("Test wasm contract", () => { salt: Binary.fromHex("0x"), }).signAndSubmit(signer) - let codeStoredEvents = await api.event.Contracts.Instantiated.filter(instantiate_with_code.events) if (codeStoredEvents.length === 0) { throw new Error("No events found") @@ -62,8 +70,71 @@ describe("Test wasm contract", () => { it("Can query stake info from contract", async () => { + let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + const signer = getSignerFromKeypair(coldkey); + const inkClient = getInkClient(contracts.bittensor) + const query = inkClient.message("dummy") + const data = query.encode() // No parameters needed + // const queryTx = await api.tx.Contracts.call({ + // dest: MultiAddress.Id(contractAddress), + // data: Binary.fromBytes(data.asBytes()), + // value: BigInt(0), + // gas_limit: { + // ref_time: BigInt(1000000000), + // proof_size: BigInt(10000000), + // }, + // storage_deposit_limit: BigInt(10000000), + // }).signAndSubmit(signer) + + const response = await api.apis.ContractsApi.call( + convertPublicKeyToSs58(coldkey.publicKey), + contractAddress, + BigInt(0), + { + ref_time: BigInt(1000000000), + proof_size: BigInt(10000000), + }, + BigInt(1000000000), + Binary.fromBytes(data.asBytes()), + undefined, + ) + + // console.log("===== response", response.result.asBytes().toString()) }) + it("Can add stake to contract", async () => { + console.log("===== Can add stake to contract") + let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + let amount = BigInt(100000000) + + const balance = await api.query.System.Account.getValue(convertPublicKeyToSs58(coldkey.publicKey)) + console.log("===== balance", balance.data.free) + + const signer = getSignerFromKeypair(coldkey); + const inkClient = getInkClient(contracts.bittensor) + const message = inkClient.message("add_stake") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + netuid: netuid, + amount: amount, + }) + + const tx = await api.tx.Contracts.call({ + value: BigInt(0), + dest: MultiAddress.Id(contractAddress), + data: Binary.fromBytes(data.asBytes()), + gas_limit: { + ref_time: BigInt(10000000000), + proof_size: BigInt(10000000), + }, + storage_deposit_limit: BigInt(1000000000) + }).signAndSubmit(signer) + // const response = await api.event.Contracts.Call.filter(tx.events) + // if (response.length === 0) { + // throw new Error("No events found") + // } + console.log("===== response", tx.events) + }) }); \ No newline at end of file From 65261466ec4080c6afca2a56c9cbb7cdd724f456 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 30 Oct 2025 14:29:45 +0800 Subject: [PATCH 04/21] add all messages --- evm-tests/bittensor/lib.rs | 393 ++++++++++----- evm-tests/src/config.ts | 2 +- evm-tests/src/substrate.ts | 2 +- .../neuron.precompile.emission-check.test.ts | 2 +- evm-tests/test/wasm.contract.test.ts | 12 +- evm-tests/yarn.lock | 459 +++++++++--------- 6 files changed, 494 insertions(+), 376 deletions(-) diff --git a/evm-tests/bittensor/lib.rs b/evm-tests/bittensor/lib.rs index ebf46757e0..97c2874132 100755 --- a/evm-tests/bittensor/lib.rs +++ b/evm-tests/bittensor/lib.rs @@ -41,44 +41,91 @@ pub trait RuntimeReadWrite { amount: AlphaCurrency, ); - // #[ink(function = 2)] - // fn remove_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 2)] + fn remove_stake( + hotkey: ::AccountId, + netuid: NetUid, + amount: AlphaCurrency, + ); - // #[ink(function = 3)] - // fn unstake_all(hotkey: &[u8], netuid: &[u8]); + #[ink(function = 3)] + fn unstake_all(hotkey: ::AccountId); - // #[ink(function = 4)] - // fn unstake_all_alpha(hotkey: &[u8], netuid: &[u8]); + #[ink(function = 4)] + fn unstake_all_alpha(hotkey: ::AccountId); - // #[ink(function = 5)] - // fn move_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 5)] + fn move_stake( + origin_hotkey: ::AccountId, + destination_hotkey: ::AccountId, + origin_netuid: NetUid, + destination_netuid: NetUid, + amount: AlphaCurrency, + ); - // #[ink(function = 6)] - // fn transfer_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 6)] + fn transfer_stake( + destination_coldkey: ::AccountId, + hotkey: ::AccountId, + origin_netuid: NetUid, + destination_netuid: NetUid, + amount: AlphaCurrency, + ); - // #[ink(function = 7)] - // fn swap_stake(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 7)] + fn swap_stake( + hotkey: ::AccountId, + origin_netuid: NetUid, + destination_netuid: NetUid, + amount: AlphaCurrency, + ); - // #[ink(function = 8)] - // fn add_stake_limit(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 8)] + fn add_stake_limit( + hotkey: ::AccountId, + netuid: NetUid, + amount: TaoCurrency, + limit_price: TaoCurrency, + allow_partial: bool, + ); - // #[ink(function = 9)] - // fn remove_stake_limit(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 9)] + fn remove_stake_limit( + hotkey: ::AccountId, + netuid: NetUid, + amount: TaoCurrency, + limit_price: TaoCurrency, + allow_partial: bool, + ); - // #[ink(function = 10)] - // fn swap_stake_limit(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 10)] + fn swap_stake_limit( + hotkey: ::AccountId, + origin_netuid: NetUid, + destination_netuid: NetUid, + amount: AlphaCurrency, + limit_price: TaoCurrency, + allow_partial: bool, + ); - // #[ink(function = 11)] - // fn remove_stake_full_limit(hotkey: &[u8], netuid: &[u8], amount: &[u8]); + #[ink(function = 11)] + fn remove_stake_full_limit( + hotkey: ::AccountId, + netuid: NetUid, + limit_price: TaoCurrency, + ); - // #[ink(function = 12)] - // fn set_coldkey_auto_stake_hotkey(coldkey: &[u8], hotkey: &[u8]); + #[ink(function = 12)] + fn set_coldkey_auto_stake_hotkey( + netuid: NetUid, + hotkey: ::AccountId, + ); - // #[ink(function = 13)] - // fn add_proxy(hotkey: &[u8], netuid: &[u8]); + #[ink(function = 13)] + fn add_proxy(delegate: ::AccountId); - // #[ink(function = 14)] - // fn remove_proxy(hotkey: &[u8], netuid: &[u8]); + #[ink(function = 14)] + fn remove_proxy(delegate: ::AccountId); } #[ink::scale_derive(Encode, Decode, TypeInfo)] @@ -229,15 +276,13 @@ mod bittensor { pub struct Bittensor {} impl Bittensor { - /// Constructor that initializes the `bool` value to the given `init_value`. + /// Constructor #[ink(constructor)] pub fn new() -> Self { Self {} } - /// Constructor that initializes the `bool` value to `false`. - /// - /// Constructors can delegate to other constructors. + /// Constructor #[ink(constructor)] pub fn default() -> Self { Self::new() @@ -261,117 +306,197 @@ mod bittensor { .map_err(|_e| ReadWriteErrorCode::WriteFailed) } - // #[ink(message)] - // pub fn get_stake_info_for_hotkey_coldkey_netuid( - // &mut self, - // hotkey: [u8; 32], - // coldkey: [u8; 32], - // netuid: u16, - // ) -> Result>, ReadWriteErrorCode> { - // self.env() - // .extension() - // .get_stake_info_for_hotkey_coldkey_netuid( - // hotkey.into(), - // coldkey.into(), - // netuid.into(), - // ) - // .map_err(|_e| ReadWriteErrorCode::ReadFailed) - // } - } + #[ink(message)] + pub fn remove_stake( + &self, + hotkey: [u8; 32], + netuid: u16, + amount: u64, + ) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .remove_stake(hotkey.into(), netuid.into(), amount.into()) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) + } - /// Unit tests in Rust are normally defined within such a `#[cfg(test)]` - /// module and test functions are marked with a `#[test]` attribute. - /// The below code is technically just normal Rust code. - #[cfg(test)] - mod tests { - /// Imports all the definitions from the outer scope so we can use them here. - use super::*; - - /// We test if the default constructor does its job. - #[ink::test] - fn default_works() { - let bittensor = Bittensor::default(); - assert_eq!(bittensor.get(), false); + #[ink(message)] + pub fn unstake_all(&self, hotkey: [u8; 32]) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .unstake_all(hotkey.into()) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) } - /// We test a simple use case of our contract. - #[ink::test] - fn it_works() { - let mut bittensor = Bittensor::new(false); - assert_eq!(bittensor.get(), false); - bittensor.flip(); - assert_eq!(bittensor.get(), true); + #[ink(message)] + pub fn unstake_all_alpha(&self, hotkey: [u8; 32]) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .unstake_all_alpha(hotkey.into()) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) } - } - /// This is how you'd write end-to-end (E2E) or integration tests for ink! contracts. - /// - /// When running these you need to make sure that you: - /// - Compile the tests with the `e2e-tests` feature flag enabled (`--features e2e-tests`) - /// - Are running a Substrate node which contains `pallet-contracts` in the background - #[cfg(all(test, feature = "e2e-tests"))] - mod e2e_tests { - /// Imports all the definitions from the outer scope so we can use them here. - use super::*; - - /// A helper function used for calling contract messages. - use ink_e2e::ContractsBackend; - - /// The End-to-End test `Result` type. - type E2EResult = std::result::Result>; - - /// We test that we can upload and instantiate the contract using its default constructor. - #[ink_e2e::test] - async fn default_works(mut client: ink_e2e::Client) -> E2EResult<()> { - // Given - let mut constructor = BittensorRef::default(); - - // When - let contract = client - .instantiate("bittensor", &ink_e2e::alice(), &mut constructor) - .submit() - .await - .expect("instantiate failed"); - let call_builder = contract.call_builder::(); - - // Then - let get = call_builder.get(); - let get_result = client.call(&ink_e2e::alice(), &get).dry_run().await?; - assert!(matches!(get_result.return_value(), false)); - - Ok(()) + #[ink(message)] + pub fn move_stake( + &self, + origin_hotkey: [u8; 32], + destination_hotkey: [u8; 32], + origin_netuid: u16, + destination_netuid: u16, + amount: u64, + ) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .move_stake( + origin_hotkey.into(), + destination_hotkey.into(), + origin_netuid.into(), + destination_netuid.into(), + amount.into(), + ) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) + } + + #[ink(message)] + pub fn transfer_stake( + &self, + destination_coldkey: [u8; 32], + hotkey: [u8; 32], + origin_netuid: u16, + destination_netuid: u16, + amount: u64, + ) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .transfer_stake( + destination_coldkey.into(), + hotkey.into(), + origin_netuid.into(), + destination_netuid.into(), + amount.into(), + ) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) } - /// We test that we can read and write a value from the on-chain contract. - #[ink_e2e::test] - async fn it_works(mut client: ink_e2e::Client) -> E2EResult<()> { - // Given - let mut constructor = BittensorRef::new(false); - let contract = client - .instantiate("bittensor", &ink_e2e::bob(), &mut constructor) - .submit() - .await - .expect("instantiate failed"); - let mut call_builder = contract.call_builder::(); - - let get = call_builder.get(); - let get_result = client.call(&ink_e2e::bob(), &get).dry_run().await?; - assert!(matches!(get_result.return_value(), false)); - - // When - let flip = call_builder.flip(); - let _flip_result = client - .call(&ink_e2e::bob(), &flip) - .submit() - .await - .expect("flip failed"); - - // Then - let get = call_builder.get(); - let get_result = client.call(&ink_e2e::bob(), &get).dry_run().await?; - assert!(matches!(get_result.return_value(), true)); - - Ok(()) + #[ink(message)] + pub fn swap_stake( + &self, + hotkey: [u8; 32], + origin_netuid: u16, + destination_netuid: u16, + amount: u64, + ) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .swap_stake( + hotkey.into(), + origin_netuid.into(), + destination_netuid.into(), + amount.into(), + ) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) + } + + #[ink(message)] + pub fn add_stake_limit( + &self, + hotkey: [u8; 32], + netuid: u16, + amount: u64, + limit_price: u64, + allow_partial: bool, + ) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .add_stake_limit( + hotkey.into(), + netuid.into(), + amount.into(), + limit_price.into(), + allow_partial, + ) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) + } + + #[ink(message)] + pub fn remove_stake_limit( + &self, + hotkey: [u8; 32], + netuid: u16, + amount: u64, + limit_price: u64, + allow_partial: bool, + ) -> Result<(), ReadWriteErrorCode> { + self.env().extension().remove_stake_limit( + hotkey.into(), + netuid.into(), + amount.into(), + limit_price.into(), + allow_partial, + ) + } + + #[ink(message)] + pub fn swap_stake_limit( + &self, + hotkey: [u8; 32], + origin_netuid: u16, + destination_netuid: u16, + amount: u64, + limit_price: u64, + allow_partial: bool, + ) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .swap_stake_limit( + hotkey.into(), + origin_netuid.into(), + destination_netuid.into(), + amount.into(), + limit_price.into(), + allow_partial, + ) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) + } + + #[ink(message)] + pub fn remove_stake_full_limit( + &self, + hotkey: [u8; 32], + netuid: u16, + limit_price: u64, + ) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .remove_stake_full_limit(hotkey.into(), netuid.into(), limit_price.into()) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) + } + + #[ink(message)] + pub fn set_coldkey_auto_stake_hotkey( + &self, + netuid: u16, + hotkey: [u8; 32], + ) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .set_coldkey_auto_stake_hotkey(netuid.into(), hotkey.into()) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) + } + + #[ink(message)] + pub fn add_proxy(&self, delegate: [u8; 32]) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .add_proxy(delegate.into()) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) + } + + #[ink(message)] + pub fn remove_proxy(&self, delegate: [u8; 32]) -> Result<(), ReadWriteErrorCode> { + self.env() + .extension() + .remove_proxy(delegate.into()) + .map_err(|_e| ReadWriteErrorCode::WriteFailed) } } } diff --git a/evm-tests/src/config.ts b/evm-tests/src/config.ts index 0c145635d0..4cc3b27608 100644 --- a/evm-tests/src/config.ts +++ b/evm-tests/src/config.ts @@ -2,7 +2,7 @@ export const ETH_LOCAL_URL = 'http://localhost:9944' export const SUB_LOCAL_URL = 'ws://localhost:9944' export const SS58_PREFIX = 42; // set the tx timeout as 2 second when eable the fast-runtime feature. -export const TX_TIMEOUT = 2000; +export const TX_TIMEOUT = 3000; export const IED25519VERIFY_ADDRESS = "0x0000000000000000000000000000000000000402"; export const IEd25519VerifyABI = [ diff --git a/evm-tests/src/substrate.ts b/evm-tests/src/substrate.ts index 9227a6e0c8..88b519ce12 100644 --- a/evm-tests/src/substrate.ts +++ b/evm-tests/src/substrate.ts @@ -144,7 +144,7 @@ export async function waitForTransactionWithRetry( .catch((error) => { console.log(`transaction error ${error}`); }); - await new Promise((resolve) => setTimeout(resolve, 2000)); + await new Promise((resolve) => setTimeout(resolve, 1000)); retries += 1; } diff --git a/evm-tests/test/neuron.precompile.emission-check.test.ts b/evm-tests/test/neuron.precompile.emission-check.test.ts index e54cb1ec88..bb11db7ead 100644 --- a/evm-tests/test/neuron.precompile.emission-check.test.ts +++ b/evm-tests/test/neuron.precompile.emission-check.test.ts @@ -45,7 +45,7 @@ describe("Test the Neuron precompile with emission", () => { it("Burned register and check emission", async () => { let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - + const uid = await api.query.SubtensorModule.SubnetworkN.getValue(netuid) const contract = new ethers.Contract(INEURON_ADDRESS, INeuronABI, wallet); diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index 0f6cbaad8b..c82c263610 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { getDevnetApi, getAliceSigner, getRandomSubstrateKeypair, getSignerFromKeypair } from "../src/substrate" +import { getDevnetApi, getAliceSigner, getRandomSubstrateKeypair, getSignerFromKeypair, waitForTransactionWithRetry } from "../src/substrate" import { devnet, MultiAddress } from "@polkadot-api/descriptors"; import { Binary, PolkadotSigner, TypedApi } from "polkadot-api"; @@ -65,6 +65,13 @@ describe("Test wasm contract", () => { } contractAddress = codeStoredEvents[0].contract + // transfer 10 Tao to contract then we can stake + const transfer = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(contractAddress), + value: BigInt(10000000000), + }) + await waitForTransactionWithRetry(api, transfer, signer) + console.log("===== contractAddress", contractAddress) }) @@ -106,9 +113,10 @@ describe("Test wasm contract", () => { it("Can add stake to contract", async () => { console.log("===== Can add stake to contract") let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - let amount = BigInt(100000000) + let amount = BigInt(1000000000) const balance = await api.query.System.Account.getValue(convertPublicKeyToSs58(coldkey.publicKey)) + console.log("===== coldkey", convertPublicKeyToSs58(coldkey.publicKey)) console.log("===== balance", balance.data.free) const signer = getSignerFromKeypair(coldkey); diff --git a/evm-tests/yarn.lock b/evm-tests/yarn.lock index ac13f24807..6f2131cb2a 100644 --- a/evm-tests/yarn.lock +++ b/evm-tests/yarn.lock @@ -225,6 +225,9 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@localpapi/descriptors@file:.papi/descriptors": + version "0.1.0-autogenerated.15183337162334450753" + "@noble/ciphers@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.3.0.tgz#f64b8ff886c240e644e5573c097f86e5b43676dc" @@ -295,47 +298,48 @@ resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@polkadot-api/cli@0.14.5": - version "0.14.5" - resolved "https://registry.yarnpkg.com/@polkadot-api/cli/-/cli-0.14.5.tgz#e87cef726d6844d720170e917d00d86b7b4955d8" - integrity sha512-510nvNWsOOYQJZq1ZJKPlvQ81sNXmwlmb8Ww9UI5THgarFJcuUvPe7W/kCRAUBdrK5yp5hziVrxuy84p55pWDQ== +"@polkadot-api/cli@0.15.3": + version "0.15.3" + resolved "https://registry.yarnpkg.com/@polkadot-api/cli/-/cli-0.15.3.tgz#8b30d2a61b354eef2913d87fd608cca845a47e15" + integrity sha512-M7cztSLom45+HCvAW55zWE8pwZbF+FWbTQDznh9V7AITPLkXsLWT5qehzfYKjhmCyvwPG/VZ2ZSqCiFMmupDlA== dependencies: "@commander-js/extra-typings" "^14.0.0" - "@polkadot-api/codegen" "0.17.1" - "@polkadot-api/ink-contracts" "0.3.7" + "@polkadot-api/codegen" "0.19.2" + "@polkadot-api/ink-contracts" "0.4.1" "@polkadot-api/json-rpc-provider" "0.0.4" - "@polkadot-api/known-chains" "0.9.3" - "@polkadot-api/metadata-compatibility" "0.3.2" - "@polkadot-api/observable-client" "0.13.4" - "@polkadot-api/polkadot-sdk-compat" "2.3.2" - "@polkadot-api/sm-provider" "0.1.7" - "@polkadot-api/smoldot" "0.3.10" - "@polkadot-api/substrate-bindings" "0.15.1" - "@polkadot-api/substrate-client" "0.4.2" + "@polkadot-api/known-chains" "0.9.12" + "@polkadot-api/legacy-provider" "0.3.3" + "@polkadot-api/metadata-compatibility" "0.3.7" + "@polkadot-api/observable-client" "0.15.2" + "@polkadot-api/polkadot-sdk-compat" "2.3.3" + "@polkadot-api/sm-provider" "0.1.12" + "@polkadot-api/smoldot" "0.3.14" + "@polkadot-api/substrate-bindings" "0.16.4" + "@polkadot-api/substrate-client" "0.4.7" "@polkadot-api/utils" "0.2.0" - "@polkadot-api/wasm-executor" "^0.2.1" - "@polkadot-api/ws-provider" "0.4.1" - "@types/node" "^24.0.14" - commander "^14.0.0" + "@polkadot-api/wasm-executor" "^0.2.2" + "@polkadot-api/ws-provider" "0.7.0" + "@types/node" "^24.7.0" + commander "^14.0.1" execa "^9.6.0" fs.promises.exists "^1.1.4" - ora "^8.2.0" + ora "^9.0.0" read-pkg "^9.0.1" rxjs "^7.8.2" tsc-prog "^2.3.0" tsup "^8.5.0" - typescript "^5.8.3" - write-package "^7.1.0" - -"@polkadot-api/codegen@0.17.1": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/codegen/-/codegen-0.17.1.tgz#53af24167656cbf327ec7a0e418225957f438108" - integrity sha512-JAbKbnqNH5W/siIA2tYJqCsDehzXOVStTrSgiWuIjfly+6fvXig/tKqoreNpY6NAmAe9BBkVw8kSfZs4mm/UfA== - dependencies: - "@polkadot-api/ink-contracts" "0.3.7" - "@polkadot-api/metadata-builders" "0.13.1" - "@polkadot-api/metadata-compatibility" "0.3.2" - "@polkadot-api/substrate-bindings" "0.15.1" + typescript "^5.9.3" + write-package "^7.2.0" + +"@polkadot-api/codegen@0.19.2": + version "0.19.2" + resolved "https://registry.yarnpkg.com/@polkadot-api/codegen/-/codegen-0.19.2.tgz#b4a3c0737ffd216bd32a553992a69d78ddf98a91" + integrity sha512-VoYXkVD9PSNmhFm8W5peJjo+RiYnW7Iio6PxJi9XYxmm4wHqGu/xCMZfeyO3d1rBB11M+ye1sEEFQ/0kww7YjQ== + dependencies: + "@polkadot-api/ink-contracts" "0.4.1" + "@polkadot-api/metadata-builders" "0.13.6" + "@polkadot-api/metadata-compatibility" "0.3.7" + "@polkadot-api/substrate-bindings" "0.16.4" "@polkadot-api/utils" "0.2.0" "@polkadot-api/common-sdk-utils@0.1.0": @@ -346,16 +350,7 @@ "@polkadot-api/descriptors@file:.papi/descriptors": version "0.1.0-autogenerated.15183337162334450753" -"@polkadot-api/ink-contracts@0.3.7": - version "0.3.7" - resolved "https://registry.yarnpkg.com/@polkadot-api/ink-contracts/-/ink-contracts-0.3.7.tgz#d3f3800c542a8bfd149373686a5190397d450e30" - integrity sha512-n72H9xu7E7gvVB3+YhRRcYuD5ozc5u2Camv/NyYRrKg+omoL3qtn6k9ucPb1j77GbrZA1dLXpBYmjd9fVuQ4Xg== - dependencies: - "@polkadot-api/metadata-builders" "0.13.1" - "@polkadot-api/substrate-bindings" "0.15.1" - "@polkadot-api/utils" "0.2.0" - -"@polkadot-api/ink-contracts@^0.4.1": +"@polkadot-api/ink-contracts@0.4.1", "@polkadot-api/ink-contracts@^0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@polkadot-api/ink-contracts/-/ink-contracts-0.4.1.tgz#ff0a888919d740dcdd5d1aed4abf9c275bd23275" integrity sha512-YQT7/asfp/kl8WERYe1dY+l1U/8X0KJKHFJZ6dpwTg6HlZ89w71A1BJadRX5TbLCJExeuE12YE1nDMvo6ZUaGg== @@ -364,10 +359,10 @@ "@polkadot-api/substrate-bindings" "0.16.4" "@polkadot-api/utils" "0.2.0" -"@polkadot-api/json-rpc-provider-proxy@0.2.4": - version "0.2.4" - resolved "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.2.4.tgz" - integrity sha512-nuGoY9QpBAiRU7xmXN3nugFvPcnSu3IxTLm1OWcNTGlZ1LW5bvdQHz3JLk56+Jlyb3GJ971hqdg2DJsMXkKCOg== +"@polkadot-api/json-rpc-provider-proxy@0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.2.5.tgz#18ddcba1051458bf70967462e4f95d680404a0cd" + integrity sha512-33ZTvX4OhKmQBbratQP+4Vk4AMYVBYuhCdBXpX8wujRlGbbUcxnLx5B5/uRKnVUOF4blHJ131Ytz9KLZinMk+Q== "@polkadot-api/json-rpc-provider-proxy@^0.1.0": version "0.1.0" @@ -384,15 +379,20 @@ resolved "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.4.tgz" integrity sha512-9cDijLIxzHOBuq6yHqpqjJ9jBmXrctjc1OFqU+tQrS96adQze3mTIH6DTgfb/0LMrqxzxffz1HQGrIlEH00WrA== -"@polkadot-api/json-rpc-provider@workspace:*": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.4.tgz#15d0c6a7ec14aa6d0dd64039f931bebea83ffdb3" - integrity sha512-9cDijLIxzHOBuq6yHqpqjJ9jBmXrctjc1OFqU+tQrS96adQze3mTIH6DTgfb/0LMrqxzxffz1HQGrIlEH00WrA== +"@polkadot-api/known-chains@0.9.12": + version "0.9.12" + resolved "https://registry.yarnpkg.com/@polkadot-api/known-chains/-/known-chains-0.9.12.tgz#3ac46a4f09593f809b67de7a9fb28f0e3487de97" + integrity sha512-oycXOmGiAORh+1+Qgd5frwtEN4r50Wc66diauhSl5JYC/6CJFXIpH1hf0i7MZ9+b7EoDFgBVeLhOYTLDmP9MhA== -"@polkadot-api/known-chains@0.9.3": - version "0.9.3" - resolved "https://registry.yarnpkg.com/@polkadot-api/known-chains/-/known-chains-0.9.3.tgz#e0a65be93fef367cc27cd4dfc3cef3b877846547" - integrity sha512-zP+6R8JrrkDfFa5p6pBtRGCxuc0vJlzbgJ/EXokpe+FHl4HyVobj0fgo9UXklOXXbV2iTQnNXOsXiE8QfLBwIQ== +"@polkadot-api/legacy-provider@0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@polkadot-api/legacy-provider/-/legacy-provider-0.3.3.tgz#a189d4683d1e89c53a3f7ac062a6f858e63ef5a6" + integrity sha512-7zjPTwFrRL8jRXpFo+0ue9LPay0s2ErpSYJ30xCCIEw3wr8Y7V8rGnUYLBHX4FlWbbdv8ynrCP3jcD4cgtmuEQ== + dependencies: + "@polkadot-api/json-rpc-provider" "0.0.4" + "@polkadot-api/raw-client" "0.1.1" + "@polkadot-api/substrate-bindings" "0.16.4" + "@polkadot-api/utils" "0.2.0" "@polkadot-api/logs-provider@0.0.6": version "0.0.6" @@ -401,21 +401,13 @@ dependencies: "@polkadot-api/json-rpc-provider" "0.0.4" -"@polkadot-api/merkleize-metadata@1.1.20": - version "1.1.20" - resolved "https://registry.yarnpkg.com/@polkadot-api/merkleize-metadata/-/merkleize-metadata-1.1.20.tgz#bcda511fa3fdc7f9c465396f4843987e4e1dd575" - integrity sha512-biHRZbMJkKhmzBegiOk4W+iwiVNgNQ1YV5QzMrgmFwFeGBhm8iaNILnz0iB7t48+IaiWczQYnT3ZqYMTJslXwg== - dependencies: - "@polkadot-api/metadata-builders" "0.13.1" - "@polkadot-api/substrate-bindings" "0.15.1" - "@polkadot-api/utils" "0.2.0" - -"@polkadot-api/metadata-builders@0.13.1": - version "0.13.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-builders/-/metadata-builders-0.13.1.tgz#9c78bffa3f28bbb0da0c059b95c012de2efb9638" - integrity sha512-a0vnN/BmSBnpsC/rD52Uej8dIiwWwdVy0K67NKw8jmRgl2LXYbsy4YSLB49WDwCD6p9AGm5chydNDCGYq4wOMw== +"@polkadot-api/merkleize-metadata@1.1.26": + version "1.1.26" + resolved "https://registry.yarnpkg.com/@polkadot-api/merkleize-metadata/-/merkleize-metadata-1.1.26.tgz#c941f5c14e43e7e45fa077519dc59686630ae9f2" + integrity sha512-ag5uSY35314YUNmFRn295dgs4LUCygotlIGvyBObazT8qUV0PbeAOHUO+SGtaSYNz+dCFSHEMNaLinMifSp+VQ== dependencies: - "@polkadot-api/substrate-bindings" "0.15.1" + "@polkadot-api/metadata-builders" "0.13.6" + "@polkadot-api/substrate-bindings" "0.16.4" "@polkadot-api/utils" "0.2.0" "@polkadot-api/metadata-builders@0.13.6": @@ -434,21 +426,22 @@ "@polkadot-api/substrate-bindings" "0.6.0" "@polkadot-api/utils" "0.1.0" -"@polkadot-api/metadata-compatibility@0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-compatibility/-/metadata-compatibility-0.3.2.tgz#940c5ae355edc2fa17d8eef36668d467bbf9ccf0" - integrity sha512-3RE2e4hyeucx1uSvYt5sVQozjLLAEX3RDBM0XWqjHHjTqomihF8c+ozuoXtprR2h92x9UdiHg/jYuDT6/cL24w== +"@polkadot-api/metadata-compatibility@0.3.7": + version "0.3.7" + resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-compatibility/-/metadata-compatibility-0.3.7.tgz#c3ac0bac0783f1c7af2ea8535943b39efa1f5dae" + integrity sha512-UIK1Cho6U2kJafsFtSvUYYgBtZojEC6UY+rAMeb9JyDE/KE4pVg1FaAjUPvYAwlyZj9oyeRRSUZ5cVZDg+jUaA== dependencies: - "@polkadot-api/metadata-builders" "0.13.1" - "@polkadot-api/substrate-bindings" "0.15.1" + "@polkadot-api/metadata-builders" "0.13.6" + "@polkadot-api/substrate-bindings" "0.16.4" -"@polkadot-api/observable-client@0.13.4": - version "0.13.4" - resolved "https://registry.yarnpkg.com/@polkadot-api/observable-client/-/observable-client-0.13.4.tgz#d9a913469e042211c1d3461e76ee2dade24b07a6" - integrity sha512-UYdssmUSMS0YKBtoQx9hFeSYDKg27iYx0FQZKmPHRfZ9Mk8EYZq4Mls71sTjuqXTl34GwYMgjrPUaSpK7jBL0w== +"@polkadot-api/observable-client@0.15.2": + version "0.15.2" + resolved "https://registry.yarnpkg.com/@polkadot-api/observable-client/-/observable-client-0.15.2.tgz#8c50e9e969b3215a1963904373753eebc9076b31" + integrity sha512-YUENI0quoWh4mRGJq+h4d4nU/xBDrme5IwYm66YB36QaVDMxtxdwinB4I9Z+DYprYjG+xdQ5xJ10TMqrXE+yzA== dependencies: - "@polkadot-api/metadata-builders" "0.13.1" - "@polkadot-api/substrate-bindings" "0.15.1" + "@polkadot-api/metadata-builders" "0.13.6" + "@polkadot-api/substrate-bindings" "0.16.4" + "@polkadot-api/substrate-client" "0.4.7" "@polkadot-api/utils" "0.2.0" "@polkadot-api/observable-client@^0.3.0": @@ -460,21 +453,21 @@ "@polkadot-api/substrate-bindings" "0.6.0" "@polkadot-api/utils" "0.1.0" -"@polkadot-api/pjs-signer@0.6.11": - version "0.6.11" - resolved "https://registry.yarnpkg.com/@polkadot-api/pjs-signer/-/pjs-signer-0.6.11.tgz#0dd235c8d37c9ee411df92ba1d4e250418f66b66" - integrity sha512-tgv4l/PsCzOxJ8TXXd4x1QEZPow7Mt8WaUSIt+dUFLMKO+ZPWS0WEsBc0oMvHbriJuDSILmEi7YVXPFukF5OIA== +"@polkadot-api/pjs-signer@0.6.16": + version "0.6.16" + resolved "https://registry.yarnpkg.com/@polkadot-api/pjs-signer/-/pjs-signer-0.6.16.tgz#a8c38f1913121ba636e580a33261b366571db0d0" + integrity sha512-kIv1628CzhpD6kCIuAkrYrFN85pbTNjBPrW09tnC7dfC6YbFgaF3toh2R9xpJG8VcJtWUg8pJuwSk4APXKMZHw== dependencies: - "@polkadot-api/metadata-builders" "0.13.1" + "@polkadot-api/metadata-builders" "0.13.6" "@polkadot-api/polkadot-signer" "0.1.6" - "@polkadot-api/signers-common" "0.1.12" - "@polkadot-api/substrate-bindings" "0.15.1" + "@polkadot-api/signers-common" "0.1.17" + "@polkadot-api/substrate-bindings" "0.16.4" "@polkadot-api/utils" "0.2.0" -"@polkadot-api/polkadot-sdk-compat@2.3.2": - version "2.3.2" - resolved "https://registry.npmjs.org/@polkadot-api/polkadot-sdk-compat/-/polkadot-sdk-compat-2.3.2.tgz" - integrity sha512-rLCveP3a6Xd0r218yRqVY34lJ8bXVmE12cArbU4JFp9p8e8Jbb6xdqOdu7bQtjlZUsahhcmfIHYQSXKziST7PA== +"@polkadot-api/polkadot-sdk-compat@2.3.3": + version "2.3.3" + resolved "https://registry.yarnpkg.com/@polkadot-api/polkadot-sdk-compat/-/polkadot-sdk-compat-2.3.3.tgz#3ce0bb5ab6857f82d78c9d2d207fc82ce7ac084d" + integrity sha512-p30po+iv4trniSJ7UZiIt/rFInvtA9Tzg65EzuRkCaQAnh54a3MPp9w/q+x+SNLEcfzVLvf8LyPnMPOIpKuj5w== dependencies: "@polkadot-api/json-rpc-provider" "0.0.4" @@ -483,12 +476,12 @@ resolved "https://registry.npmjs.org/@polkadot-api/polkadot-signer/-/polkadot-signer-0.1.6.tgz" integrity sha512-X7ghAa4r7doETtjAPTb50IpfGtrBmy3BJM5WCfNKa1saK04VFY9w+vDn+hwEcM4p0PcDHt66Ts74hzvHq54d9A== -"@polkadot-api/raw-client@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@polkadot-api/raw-client/-/raw-client-0.1.0.tgz#495c9cd65c2e34927bf4a737051c21e09db296ed" - integrity sha512-gHhPxTy9jbpoX3MBKT5QwPKX4gNmapJ+dC+ACZ5AXuqMraAUnFR1lu0QeUWH04Tc2gykVH1Eigz1kTDCSpN+zA== +"@polkadot-api/raw-client@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@polkadot-api/raw-client/-/raw-client-0.1.1.tgz#4b4aac274b3de60f5d838ec5d1b2d8b041cd682d" + integrity sha512-HxalpNEo8JCYXfxKM5p3TrK8sEasTGMkGjBNLzD4TLye9IK2smdb5oTvp2yfkU1iuVBdmjr69uif4NaukOYo2g== dependencies: - "@polkadot-api/json-rpc-provider" "workspace:*" + "@polkadot-api/json-rpc-provider" "0.0.4" "@polkadot-api/sdk-ink@^0.5.1": version "0.5.1" @@ -501,53 +494,43 @@ abitype "^1.1.1" viem "^2.37.9" -"@polkadot-api/signer@0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@polkadot-api/signer/-/signer-0.2.4.tgz#36a36bb4f7f0f2c1d1477798fff1ba4eb0da4d01" - integrity sha512-DOTUCnVwvWWEnJ1u/oyPbVk/RplDKJpRKJUOUGraoYh+J0PBicLvdVQF8680Guo/GJf7GBQpSFnev3mIcma6Pg== +"@polkadot-api/signer@0.2.10": + version "0.2.10" + resolved "https://registry.yarnpkg.com/@polkadot-api/signer/-/signer-0.2.10.tgz#5a6558fdf2006e03e0f262d0f847493ee0175109" + integrity sha512-fzYFiCq98sBP9lmu2OTAOFG4uUOZS7xGuTGO8620sKrLJRRmhfUjtAECK2PTif3RESxQ7k3fc8w/JQhEtbLyGg== dependencies: - "@noble/hashes" "^1.8.0" - "@polkadot-api/merkleize-metadata" "1.1.20" + "@noble/hashes" "^2.0.1" + "@polkadot-api/merkleize-metadata" "1.1.26" "@polkadot-api/polkadot-signer" "0.1.6" - "@polkadot-api/signers-common" "0.1.12" - "@polkadot-api/substrate-bindings" "0.15.1" + "@polkadot-api/signers-common" "0.1.17" + "@polkadot-api/substrate-bindings" "0.16.4" "@polkadot-api/utils" "0.2.0" -"@polkadot-api/signers-common@0.1.12": - version "0.1.12" - resolved "https://registry.yarnpkg.com/@polkadot-api/signers-common/-/signers-common-0.1.12.tgz#e3e08dcad3f7ec356e0dd726c7ac2cf1621e82ed" - integrity sha512-wnNe08BbH1nG6XUy3hNbpRKsbAXFU0m4YovXp74hEDw0ycyjni0RnO2sUEV/vaghej8xFtD+7abjzE/lzmnHRA== +"@polkadot-api/signers-common@0.1.17": + version "0.1.17" + resolved "https://registry.yarnpkg.com/@polkadot-api/signers-common/-/signers-common-0.1.17.tgz#d4fadb4e245d96152e7435f1f2cae2729338d9e3" + integrity sha512-Cp9amiZ99Ofh+7cUNIjeWIxEYorGOO/ZFucZHiX8mEjInMjFroZWZhxmcgoqw1t8y677wsov4npJTXKDqAFApg== dependencies: - "@polkadot-api/metadata-builders" "0.13.1" + "@polkadot-api/metadata-builders" "0.13.6" "@polkadot-api/polkadot-signer" "0.1.6" - "@polkadot-api/substrate-bindings" "0.15.1" + "@polkadot-api/substrate-bindings" "0.16.4" "@polkadot-api/utils" "0.2.0" -"@polkadot-api/sm-provider@0.1.7": - version "0.1.7" - resolved "https://registry.npmjs.org/@polkadot-api/sm-provider/-/sm-provider-0.1.7.tgz" - integrity sha512-BhNKVeIFZdawpPVadXszLl8IP4EDjcLHe/GchfRRFkvoNFuwS2nNv/npYIqCviXV+dd2R8VnEELxwScsf380Og== +"@polkadot-api/sm-provider@0.1.12": + version "0.1.12" + resolved "https://registry.yarnpkg.com/@polkadot-api/sm-provider/-/sm-provider-0.1.12.tgz#e69aa5b83586fd1af4173085c809cce54b4848b9" + integrity sha512-l8BR7dQWw7HcXwzeUzJCThzKThU2MwERiLHmr+YNedS4ryg38oUvbDfoofFkE8ZHfwzqMoBQZWTskJQxrVsO3Q== dependencies: "@polkadot-api/json-rpc-provider" "0.0.4" - "@polkadot-api/json-rpc-provider-proxy" "0.2.4" - -"@polkadot-api/smoldot@0.3.10": - version "0.3.10" - resolved "https://registry.yarnpkg.com/@polkadot-api/smoldot/-/smoldot-0.3.10.tgz#e7d9316546f5c214d4ce083b5458f3fc5cc69531" - integrity sha512-oL0Qsq2p3h2mU1/+gNq4h2rC/S99WoDiqkpmxg/phzknjXcbYXouYLSvhGbECygE1vWPVPl3IWAOjW/gcKdYKw== - dependencies: - "@types/node" "^22.15.30" - smoldot "2.0.36" + "@polkadot-api/json-rpc-provider-proxy" "0.2.5" -"@polkadot-api/substrate-bindings@0.15.1": - version "0.15.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-bindings/-/substrate-bindings-0.15.1.tgz#d6fbd758eb87fb4b3617ea170ef4ca326f4b9ac9" - integrity sha512-zQqgjjEqx7aQtssu5OMm+nLOGDQXvPZUrWGwtbT6rWJNDB5s3FcMhG5RBiBB2HUwjWPrC28XO/A2c8dNUtRKOw== +"@polkadot-api/smoldot@0.3.14": + version "0.3.14" + resolved "https://registry.yarnpkg.com/@polkadot-api/smoldot/-/smoldot-0.3.14.tgz#a43b2a5e057607d4746d7e679106851ffae06581" + integrity sha512-eWqO0xFQaKzqY5mRYxYuZcj1IiaLcQP+J38UQyuJgEorm+9yHVEQ/XBWoM83P+Y8TwE5IWTICp1LCVeiFQTGPQ== dependencies: - "@noble/hashes" "^1.8.0" - "@polkadot-api/utils" "0.2.0" - "@scure/base" "^1.2.6" - scale-ts "^1.6.1" + "@types/node" "^24.5.2" + smoldot "2.0.39" "@polkadot-api/substrate-bindings@0.16.4", "@polkadot-api/substrate-bindings@^0.16.3": version "0.16.4" @@ -569,13 +552,13 @@ "@scure/base" "^1.1.1" scale-ts "^1.6.0" -"@polkadot-api/substrate-client@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-client/-/substrate-client-0.4.2.tgz#74fda584e9646066233a80eec5eccc3248ab1257" - integrity sha512-RXOqIy0h1EsiHiubPxZedVNbwBJR3Z/+bBlDFIxS81CSjP8eohs8xHQ/SDUm+4279XATwHdb8qeWnotFNcpl8A== +"@polkadot-api/substrate-client@0.4.7": + version "0.4.7" + resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-client/-/substrate-client-0.4.7.tgz#257a9acd3dc4ad64a097c99cce9523ba04093b03" + integrity sha512-Mmx9VKincVqfVQmq89gzDk4DN3uKwf8CxoqYvq+EiPUZ1QmMUc7X4QMwG1MXIlYdnm5LSXzn+2Jn8ik8xMgL+w== dependencies: "@polkadot-api/json-rpc-provider" "0.0.4" - "@polkadot-api/raw-client" "0.1.0" + "@polkadot-api/raw-client" "0.1.1" "@polkadot-api/utils" "0.2.0" "@polkadot-api/substrate-client@^0.1.2": @@ -596,18 +579,19 @@ resolved "https://registry.yarnpkg.com/@polkadot-api/utils/-/utils-0.2.0.tgz#812d4c4ee282691440aed4b6ddf863651e804444" integrity sha512-nY3i5fQJoAxU4n3bD7Fs208/KR2J95SGfVc58kDjbRYN5a84kWaGEqzjBNtP9oqht49POM8Bm9mbIrkvC1Bzuw== -"@polkadot-api/wasm-executor@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/wasm-executor/-/wasm-executor-0.2.1.tgz#632b2ebc243b55eda4b1dd71cc457b51406a229e" - integrity sha512-EN3qtu9Aurz1PoEjvrvL/Z9lSMrLkRU2K1fOjzWFpI5siBgQ2eN/tMLbX1VjaSk1VhvXmbXPaqBrkfdMCxLdsg== +"@polkadot-api/wasm-executor@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@polkadot-api/wasm-executor/-/wasm-executor-0.2.2.tgz#3a7053f25b89ff69a488c64fd639e333cbeebc4e" + integrity sha512-uqQEHO2uho6cwPOfxtZlaQjGwwZfqF4MpmEfyyHw56i+NlvzSQWrLnIIpcAlwsJl8HeHCOy/IPOcLiZzFyXNiQ== -"@polkadot-api/ws-provider@0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@polkadot-api/ws-provider/-/ws-provider-0.4.1.tgz#8e0eb0e189cfa6c1fa2d0282ad5ab9fc8a11fc60" - integrity sha512-C4SM3IExBghHAaNIGL7Xi1Pg8+1dJCOgYQ4HmdYUqqP2rcNtUUN68jx5vTfPFtCPw4z7kldP4DvL0BU0YtmauQ== +"@polkadot-api/ws-provider@0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/ws-provider/-/ws-provider-0.7.0.tgz#cd3aea2040e817fe4811fbb2d0219660bbc97108" + integrity sha512-x/ulbwhvWlCyqxwtEfpVqPYArIuoo3g+defPcpZX5iJ1E6/+SYsGChDmgzM5Zbb0wDJMEn+p4us5P1Ll127cUA== dependencies: "@polkadot-api/json-rpc-provider" "0.0.4" - "@polkadot-api/json-rpc-provider-proxy" "0.2.4" + "@polkadot-api/json-rpc-provider-proxy" "0.2.5" + "@types/ws" "^8.18.1" ws "^8.18.3" "@polkadot-labs/hdkd-helpers@^0.0.23", "@polkadot-labs/hdkd-helpers@~0.0.23": @@ -1053,7 +1037,7 @@ resolved "https://registry.npmjs.org/@rx-state/core/-/core-0.1.4.tgz" integrity sha512-Z+3hjU2xh1HisLxt+W5hlYX/eGSDaXXP+ns82gq/PLZpkXLu0uwcNUh9RLY3Clq4zT+hSsA3vcpIGt6+UAb8rQ== -"@scure/base@^1.1.1", "@scure/base@^1.1.7", "@scure/base@^1.2.6", "@scure/base@~1.2.5": +"@scure/base@^1.1.1", "@scure/base@^1.1.7", "@scure/base@~1.2.5": version "1.2.6" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.6.tgz#ca917184b8231394dd8847509c67a0be522e59f6" integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg== @@ -1228,13 +1212,6 @@ dependencies: undici-types "~6.19.2" -"@types/node@^22.15.30": - version "22.17.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.17.0.tgz#e8c9090e957bd4d9860efb323eb92d297347eac7" - integrity sha512-bbAKTCqX5aNVryi7qXVMi+OkB3w/OyblodicMbvE38blyAz7GxXf6XYhklokijuPwwVg9sDLKRxt0ZHXQwZVfQ== - dependencies: - undici-types "~6.21.0" - "@types/node@^22.18.0": version "22.18.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.0.tgz#9e4709be4f104e3568f7dd1c71e2949bf147a47b" @@ -1242,18 +1219,25 @@ dependencies: undici-types "~6.21.0" -"@types/node@^24.0.14": - version "24.2.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.2.0.tgz#cde712f88c5190006d6b069232582ecd1f94a760" - integrity sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw== +"@types/node@^24.5.2", "@types/node@^24.7.0": + version "24.9.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.9.2.tgz#90ded2422dbfcafcf72080f28975adc21366148d" + integrity sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA== dependencies: - undici-types "~7.10.0" + undici-types "~7.16.0" "@types/normalize-package-data@^2.4.3": version "2.4.4" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== +"@types/ws@^8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== + dependencies: + "@types/node" "*" + "@types/ws@~8.5.10": version "8.5.14" resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz" @@ -1459,10 +1443,10 @@ chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.3.0: - version "5.4.1" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz" - integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== +chalk@^5.6.2: + version "5.6.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea" + integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== chokidar@^3.5.3: version "3.6.0" @@ -1493,10 +1477,10 @@ cli-cursor@^5.0.0: dependencies: restore-cursor "^5.0.0" -cli-spinners@^2.9.2: - version "2.9.2" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== +cli-spinners@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-3.3.0.tgz#2ba7c98b4f4662e67315b5634365661be8574440" + integrity sha512-/+40ljC3ONVnYIttjMWrlL51nItDAbBrq2upN8BPyvGU/2n5Oxw3tbNwORCaNuNqLJnxGqOfjUuhsv7l5Q4IsQ== cliui@^8.0.1: version "8.0.1" @@ -1519,10 +1503,10 @@ color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -commander@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.0.tgz#f244fc74a92343514e56229f16ef5c5e22ced5e9" - integrity sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA== +commander@^14.0.1: + version "14.0.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.2.tgz#b71fd37fe4069e4c3c7c13925252ada4eba14e8e" + integrity sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ== commander@^4.0.0: version "4.1.1" @@ -1634,11 +1618,6 @@ eastasianwidth@^0.2.0: resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -emoji-regex@^10.3.0: - version "10.4.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz" - integrity sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -1834,10 +1813,10 @@ get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-east-asian-width@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz" - integrity sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ== +get-east-asian-width@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz#9bc4caa131702b4b61729cb7e42735bc550c9ee6" + integrity sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q== get-intrinsic@^1.2.4, get-intrinsic@^1.2.6: version "1.3.0" @@ -2060,12 +2039,7 @@ is-unicode-supported@^0.1.0: resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-unicode-supported@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz" - integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== - -is-unicode-supported@^2.0.0: +is-unicode-supported@^2.0.0, is-unicode-supported@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz" integrity sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ== @@ -2151,13 +2125,13 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-symbols@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz" - integrity sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw== +log-symbols@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-7.0.1.tgz#f52e68037d96f589fc572ff2193dc424d48c195b" + integrity sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg== dependencies: - chalk "^5.3.0" - is-unicode-supported "^1.3.0" + is-unicode-supported "^2.0.0" + yoctocolors "^2.1.1" lru-cache@^10.0.1, lru-cache@^10.2.0: version "10.4.3" @@ -2342,20 +2316,20 @@ onetime@^7.0.0: dependencies: mimic-function "^5.0.0" -ora@^8.2.0: - version "8.2.0" - resolved "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz" - integrity sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw== +ora@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-9.0.0.tgz#945236f5ce78a024cf4c25df6c46ecd09ab6e685" + integrity sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A== dependencies: - chalk "^5.3.0" + chalk "^5.6.2" cli-cursor "^5.0.0" - cli-spinners "^2.9.2" + cli-spinners "^3.2.0" is-interactive "^2.0.0" - is-unicode-supported "^2.0.0" - log-symbols "^6.0.0" + is-unicode-supported "^2.1.0" + log-symbols "^7.0.1" stdin-discarder "^0.2.2" - string-width "^7.2.0" - strip-ansi "^7.1.0" + string-width "^8.1.0" + strip-ansi "^7.1.2" ox@0.6.7: version "0.6.7" @@ -2474,29 +2448,29 @@ pkg-types@^1.3.0: mlly "^1.7.4" pathe "^2.0.1" -polkadot-api@^1.9.5: - version "1.15.3" - resolved "https://registry.yarnpkg.com/polkadot-api/-/polkadot-api-1.15.3.tgz#c8d02c9d79536669c50d17b2426f9fb905825804" - integrity sha512-ikv7+3SvIXE03NBEi3Otn10c5L80TXimAvRnbZKugO0lilE9+uW1JXkMemaP13qlkoH5jrZbvz6xOEcz0ali9Q== +polkadot-api@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/polkadot-api/-/polkadot-api-1.20.0.tgz#3fffa738831902e99acffc1bcdcac558749ff70e" + integrity sha512-XAh5Y9ZXxIFDrX+LrITdR7NhkA9NzNp91x0tFUA72TKgWP2wqnm6gGeNQsLYV81MuN+tw5MfJp/1LafUwGnLsQ== dependencies: - "@polkadot-api/cli" "0.14.5" - "@polkadot-api/ink-contracts" "0.3.7" + "@polkadot-api/cli" "0.15.3" + "@polkadot-api/ink-contracts" "0.4.1" "@polkadot-api/json-rpc-provider" "0.0.4" - "@polkadot-api/known-chains" "0.9.3" + "@polkadot-api/known-chains" "0.9.12" "@polkadot-api/logs-provider" "0.0.6" - "@polkadot-api/metadata-builders" "0.13.1" - "@polkadot-api/metadata-compatibility" "0.3.2" - "@polkadot-api/observable-client" "0.13.4" - "@polkadot-api/pjs-signer" "0.6.11" - "@polkadot-api/polkadot-sdk-compat" "2.3.2" + "@polkadot-api/metadata-builders" "0.13.6" + "@polkadot-api/metadata-compatibility" "0.3.7" + "@polkadot-api/observable-client" "0.15.2" + "@polkadot-api/pjs-signer" "0.6.16" + "@polkadot-api/polkadot-sdk-compat" "2.3.3" "@polkadot-api/polkadot-signer" "0.1.6" - "@polkadot-api/signer" "0.2.4" - "@polkadot-api/sm-provider" "0.1.7" - "@polkadot-api/smoldot" "0.3.10" - "@polkadot-api/substrate-bindings" "0.15.1" - "@polkadot-api/substrate-client" "0.4.2" + "@polkadot-api/signer" "0.2.10" + "@polkadot-api/sm-provider" "0.1.12" + "@polkadot-api/smoldot" "0.3.14" + "@polkadot-api/substrate-bindings" "0.16.4" + "@polkadot-api/substrate-client" "0.4.7" "@polkadot-api/utils" "0.2.0" - "@polkadot-api/ws-provider" "0.4.1" + "@polkadot-api/ws-provider" "0.7.0" "@rx-state/core" "^0.1.4" possible-typed-array-names@^1.0.0: @@ -2683,10 +2657,10 @@ smoldot@2.0.26: dependencies: ws "^8.8.1" -smoldot@2.0.36: - version "2.0.36" - resolved "https://registry.yarnpkg.com/smoldot/-/smoldot-2.0.36.tgz#3d4216b7fe33130fcf276f691d37f7503485ab78" - integrity sha512-0GtHgxOs1VGs+WzpUgTQ52Zg92/q4mnIPEl+smArI4pis6aduQ6ZiXRllbDafsIb18wWYsxaBLNjBkNOB8xBrw== +smoldot@2.0.39: + version "2.0.39" + resolved "https://registry.yarnpkg.com/smoldot/-/smoldot-2.0.39.tgz#e99981d13476702bbd906b8d14d18a77ddef0c0d" + integrity sha512-yFMSzI6nkqWFTNao99lBA/TguUFU+bR3A5UGTDd/QqqB12jqzvZnmW/No6l2rKmagt8Qx/KybMNowV/E28znhA== dependencies: ws "^8.8.1" @@ -2762,13 +2736,12 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string-width@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz" - integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== +string-width@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-8.1.0.tgz#9e9fb305174947cf45c30529414b5da916e9e8d1" + integrity sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg== dependencies: - emoji-regex "^10.3.0" - get-east-asian-width "^1.0.0" + get-east-asian-width "^1.3.0" strip-ansi "^7.1.0" "strip-ansi-cjs@npm:strip-ansi@^6.0.1": @@ -2792,6 +2765,13 @@ strip-ansi@^7.0.1, strip-ansi@^7.1.0: dependencies: ansi-regex "^6.0.1" +strip-ansi@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" + integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== + dependencies: + ansi-regex "^6.0.1" + strip-final-newline@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz" @@ -2942,11 +2922,16 @@ type-fest@^4.23.0, type-fest@^4.39.1, type-fest@^4.6.0: resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz" integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== -typescript@^5.7.2, typescript@^5.8.3: +typescript@^5.7.2: version "5.8.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz" integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== +typescript@^5.9.3: + version "5.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" + integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== + ufo@^1.5.4: version "1.6.1" resolved "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz" @@ -2962,10 +2947,10 @@ undici-types@~6.21.0: resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz" integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== -undici-types@~7.10.0: - version "7.10.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.10.0.tgz#4ac2e058ce56b462b056e629cc6a02393d3ff350" - integrity sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag== +undici-types@~7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" + integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== unicorn-magic@^0.1.0: version "0.1.0" @@ -3117,10 +3102,10 @@ write-json-file@^6.0.0: sort-keys "^5.0.0" write-file-atomic "^5.0.1" -write-package@^7.1.0: - version "7.1.0" - resolved "https://registry.npmjs.org/write-package/-/write-package-7.1.0.tgz" - integrity sha512-DqUx8GI3r9BFWwU2DPKddL1E7xWfbFED82mLVhGXKlFEPe8IkBftzO7WfNwHtk7oGDHDeuH/o8VMpzzfMwmLUA== +write-package@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/write-package/-/write-package-7.2.0.tgz#d84e5a0dfe92cb7d17399adc8c083d38671cd871" + integrity sha512-uMQTubF/vcu+Wd0b5BGtDmiXePd/+44hUWQz2nZPbs92/BnxRo74tqs+hqDo12RLiEd+CXFKUwxvvIZvtt34Jw== dependencies: deepmerge-ts "^7.1.0" read-pkg "^9.0.1" From d2ba6333687d4eb97914f54db7ab5272beed4285 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 30 Oct 2025 17:57:59 +0800 Subject: [PATCH 05/21] install cargo contract --- evm-tests/run-ci.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/evm-tests/run-ci.sh b/evm-tests/run-ci.sh index 94d068edd2..02c70cb948 100755 --- a/evm-tests/run-ci.sh +++ b/evm-tests/run-ci.sh @@ -30,7 +30,8 @@ cd evm-tests cd bittensor -cargo install contract +rustup component add rust-src +cargo install cargo-contract cargo contract build --release cd .. From 75b527754549286935af6f523cbd040ca105f2e2 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 30 Oct 2025 18:51:32 +0800 Subject: [PATCH 06/21] add ink via npm --- evm-tests/run-ci.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/evm-tests/run-ci.sh b/evm-tests/run-ci.sh index 02c70cb948..85f8159007 100755 --- a/evm-tests/run-ci.sh +++ b/evm-tests/run-ci.sh @@ -37,7 +37,8 @@ cargo contract build --release cd .. # required for papi in get-metadata.sh, but we cannot run yarn before papi as it adds the descriptors to the package.json which won't resolve -npm i -g polkadot-api +npm i -g @polkadot-api +npm i -g @polkadot-api/sdk-ink bash get-metadata.sh From f6abf466f53ee2cdf0ec75527b76b5c714c44c69 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 30 Oct 2025 19:17:34 +0800 Subject: [PATCH 07/21] update npm command --- evm-tests/package.json | 1 - evm-tests/run-ci.sh | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/evm-tests/package.json b/evm-tests/package.json index babf56a6f8..acede3bea6 100644 --- a/evm-tests/package.json +++ b/evm-tests/package.json @@ -6,7 +6,6 @@ "author": "", "license": "ISC", "dependencies": { - "@localpapi/descriptors": "file:.papi/descriptors", "@polkadot-api/descriptors": "file:.papi/descriptors", "@polkadot-api/ink-contracts": "^0.4.1", "@polkadot-api/sdk-ink": "^0.5.1", diff --git a/evm-tests/run-ci.sh b/evm-tests/run-ci.sh index 85f8159007..30f5c1bfd6 100755 --- a/evm-tests/run-ci.sh +++ b/evm-tests/run-ci.sh @@ -37,7 +37,7 @@ cargo contract build --release cd .. # required for papi in get-metadata.sh, but we cannot run yarn before papi as it adds the descriptors to the package.json which won't resolve -npm i -g @polkadot-api +npm i -g polkadot-api npm i -g @polkadot-api/sdk-ink bash get-metadata.sh From d9ccdf9bf18eea067da38562267419b6abb58448 Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 08:41:15 +0800 Subject: [PATCH 08/21] update yarn install --- evm-tests/run-ci.sh | 2 +- evm-tests/yarn.lock | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/evm-tests/run-ci.sh b/evm-tests/run-ci.sh index 30f5c1bfd6..8522903106 100755 --- a/evm-tests/run-ci.sh +++ b/evm-tests/run-ci.sh @@ -44,7 +44,7 @@ bash get-metadata.sh sleep 5 -yarn +yarn install --frozen-lockfile yarn run test TEST_EXIT_CODE=$? diff --git a/evm-tests/yarn.lock b/evm-tests/yarn.lock index 6f2131cb2a..411981d8eb 100644 --- a/evm-tests/yarn.lock +++ b/evm-tests/yarn.lock @@ -225,9 +225,6 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@localpapi/descriptors@file:.papi/descriptors": - version "0.1.0-autogenerated.15183337162334450753" - "@noble/ciphers@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.3.0.tgz#f64b8ff886c240e644e5573c097f86e5b43676dc" From 0807a595e428a028f9593323e829d8f3acc2565f Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 09:04:23 +0800 Subject: [PATCH 09/21] try without ink papi --- evm-tests/run-ci.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/evm-tests/run-ci.sh b/evm-tests/run-ci.sh index 8522903106..d4f78ca45c 100755 --- a/evm-tests/run-ci.sh +++ b/evm-tests/run-ci.sh @@ -38,7 +38,6 @@ cd .. # required for papi in get-metadata.sh, but we cannot run yarn before papi as it adds the descriptors to the package.json which won't resolve npm i -g polkadot-api -npm i -g @polkadot-api/sdk-ink bash get-metadata.sh From 02904f8d175472e5307fafaab0403ff8169d3d01 Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 09:30:43 +0800 Subject: [PATCH 10/21] try different case --- evm-tests/package.json | 2 +- evm-tests/test/wasm.contract.test.ts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/evm-tests/package.json b/evm-tests/package.json index acede3bea6..10509e0e28 100644 --- a/evm-tests/package.json +++ b/evm-tests/package.json @@ -1,6 +1,6 @@ { "scripts": { - "test": "mocha --timeout 999999 --file src/setup.ts --require ts-node/register test/wasm*test.ts" + "test": "mocha --timeout 999999 --file src/setup.ts --require ts-node/register test/alpha*test.ts" }, "keywords": [], "author": "", diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index c82c263610..ace2a9c6e3 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -1,4 +1,3 @@ -import * as assert from "assert"; import { getDevnetApi, getAliceSigner, getRandomSubstrateKeypair, getSignerFromKeypair, waitForTransactionWithRetry } from "../src/substrate" import { devnet, MultiAddress } from "@polkadot-api/descriptors"; import { Binary, PolkadotSigner, TypedApi } from "polkadot-api"; From d66686a32ea0bd6545ccbb4fc1ccab979ad4a80f Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 09:31:35 +0800 Subject: [PATCH 11/21] different case --- evm-tests/run-ci.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/evm-tests/run-ci.sh b/evm-tests/run-ci.sh index d4f78ca45c..7f87e70ca0 100755 --- a/evm-tests/run-ci.sh +++ b/evm-tests/run-ci.sh @@ -28,13 +28,13 @@ fi cd evm-tests -cd bittensor +# cd bittensor -rustup component add rust-src -cargo install cargo-contract -cargo contract build --release +# rustup component add rust-src +# cargo install cargo-contract +# cargo contract build --release -cd .. +# cd .. # required for papi in get-metadata.sh, but we cannot run yarn before papi as it adds the descriptors to the package.json which won't resolve npm i -g polkadot-api From 7bc39ffc94f63209ace290ec642a87af46043356 Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 09:50:45 +0800 Subject: [PATCH 12/21] update yarn lock --- evm-tests/bittensor.json | 1131 +++++++++++++++++++++++++++ evm-tests/get-metadata.sh | 2 +- evm-tests/src/setup.ts | 10 - evm-tests/yarn.lock | 1540 +++++++++++++++++-------------------- 4 files changed, 1853 insertions(+), 830 deletions(-) create mode 100644 evm-tests/bittensor.json diff --git a/evm-tests/bittensor.json b/evm-tests/bittensor.json new file mode 100644 index 0000000000..48640c319d --- /dev/null +++ b/evm-tests/bittensor.json @@ -0,0 +1,1131 @@ +{ + "source": { + "hash": "0xb535a702a723ac01720af0628afcd79e6816e32ea489ac77434af6777d94fefa", + "language": "ink! 5.1.1", + "compiler": "rustc 1.88.0", + "build_info": { + "build_mode": "Release", + "cargo_contract_version": "5.0.3", + "rust_toolchain": "stable-x86_64-unknown-linux-gnu", + "wasm_opt_settings": { + "keep_debug_symbols": false, + "optimization_passes": "Z" + } + } + }, + "contract": { + "name": "bittensor", + "version": "0.1.0", + "authors": [ + "[your_name] <[your_email]>" + ] + }, + "image": null, + "spec": { + "constructors": [ + { + "args": [], + "default": false, + "docs": [ + "Constructor" + ], + "label": "new", + "payable": false, + "returnType": { + "displayName": [ + "ink_primitives", + "ConstructorResult" + ], + "type": 1 + }, + "selector": "0x9bae9d5e" + }, + { + "args": [], + "default": false, + "docs": [ + "Constructor" + ], + "label": "default", + "payable": false, + "returnType": { + "displayName": [ + "ink_primitives", + "ConstructorResult" + ], + "type": 1 + }, + "selector": "0xed4b9d1b" + } + ], + "docs": [], + "environment": { + "accountId": { + "displayName": [ + "AccountId" + ], + "type": 14 + }, + "balance": { + "displayName": [ + "Balance" + ], + "type": 11 + }, + "blockNumber": { + "displayName": [ + "BlockNumber" + ], + "type": 16 + }, + "chainExtension": { + "displayName": [ + "ChainExtension" + ], + "type": 17 + }, + "hash": { + "displayName": [ + "Hash" + ], + "type": 15 + }, + "maxEventTopics": 4, + "staticBufferSize": 16384, + "timestamp": { + "displayName": [ + "Timestamp" + ], + "type": 11 + } + }, + "events": [], + "lang_error": { + "displayName": [ + "ink", + "LangError" + ], + "type": 3 + }, + "messages": [ + { + "args": [], + "default": false, + "docs": [], + "label": "dummy", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 4 + }, + "selector": "0x66ae71c0" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "amount", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + } + ], + "default": false, + "docs": [], + "label": "add_stake", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x3a656e31" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "amount", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + } + ], + "default": false, + "docs": [], + "label": "remove_stake", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x7758d434" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + } + ], + "default": false, + "docs": [], + "label": "unstake_all", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x3f525cc7" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + } + ], + "default": false, + "docs": [], + "label": "unstake_all_alpha", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0xab74c422" + }, + { + "args": [ + { + "label": "origin_hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "destination_hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "origin_netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "destination_netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "amount", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + } + ], + "default": false, + "docs": [], + "label": "move_stake", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0xa06b0c55" + }, + { + "args": [ + { + "label": "destination_coldkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "origin_netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "destination_netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "amount", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + } + ], + "default": false, + "docs": [], + "label": "transfer_stake", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x3528ef5e" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "origin_netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "destination_netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "amount", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + } + ], + "default": false, + "docs": [], + "label": "swap_stake", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x04f7ca30" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "amount", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + }, + { + "label": "limit_price", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + }, + { + "label": "allow_partial", + "type": { + "displayName": [ + "bool" + ], + "type": 6 + } + } + ], + "default": false, + "docs": [], + "label": "add_stake_limit", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x30013b98" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "amount", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + }, + { + "label": "limit_price", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + }, + { + "label": "allow_partial", + "type": { + "displayName": [ + "bool" + ], + "type": 6 + } + } + ], + "default": false, + "docs": [], + "label": "remove_stake_limit", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0xc3ce39c8" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "origin_netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "destination_netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "amount", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + }, + { + "label": "limit_price", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + }, + { + "label": "allow_partial", + "type": { + "displayName": [ + "bool" + ], + "type": 6 + } + } + ], + "default": false, + "docs": [], + "label": "swap_stake_limit", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x212ef7ad" + }, + { + "args": [ + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + }, + { + "label": "netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "limit_price", + "type": { + "displayName": [ + "u64" + ], + "type": 11 + } + } + ], + "default": false, + "docs": [], + "label": "remove_stake_full_limit", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0xa6d6ea64" + }, + { + "args": [ + { + "label": "netuid", + "type": { + "displayName": [ + "u16" + ], + "type": 10 + } + }, + { + "label": "hotkey", + "type": { + "displayName": [], + "type": 8 + } + } + ], + "default": false, + "docs": [], + "label": "set_coldkey_auto_stake_hotkey", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0xe24f0d8a" + }, + { + "args": [ + { + "label": "delegate", + "type": { + "displayName": [], + "type": 8 + } + } + ], + "default": false, + "docs": [], + "label": "add_proxy", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x528b6757" + }, + { + "args": [ + { + "label": "delegate", + "type": { + "displayName": [], + "type": 8 + } + } + ], + "default": false, + "docs": [], + "label": "remove_proxy", + "mutates": false, + "payable": false, + "returnType": { + "displayName": [ + "ink", + "MessageResult" + ], + "type": 12 + }, + "selector": "0x129d4f75" + } + ] + }, + "storage": { + "root": { + "layout": { + "struct": { + "fields": [], + "name": "Bittensor" + } + }, + "root_key": "0x00000000", + "ty": 0 + } + }, + "types": [ + { + "id": 0, + "type": { + "def": { + "composite": {} + }, + "path": [ + "bittensor", + "bittensor", + "Bittensor" + ] + } + }, + { + "id": 1, + "type": { + "def": { + "variant": { + "variants": [ + { + "fields": [ + { + "type": 2 + } + ], + "index": 0, + "name": "Ok" + }, + { + "fields": [ + { + "type": 3 + } + ], + "index": 1, + "name": "Err" + } + ] + } + }, + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "E", + "type": 3 + } + ], + "path": [ + "Result" + ] + } + }, + { + "id": 2, + "type": { + "def": { + "tuple": [] + } + } + }, + { + "id": 3, + "type": { + "def": { + "variant": { + "variants": [ + { + "index": 1, + "name": "CouldNotReadInput" + } + ] + } + }, + "path": [ + "ink_primitives", + "LangError" + ] + } + }, + { + "id": 4, + "type": { + "def": { + "variant": { + "variants": [ + { + "fields": [ + { + "type": 5 + } + ], + "index": 0, + "name": "Ok" + }, + { + "fields": [ + { + "type": 3 + } + ], + "index": 1, + "name": "Err" + } + ] + } + }, + "params": [ + { + "name": "T", + "type": 5 + }, + { + "name": "E", + "type": 3 + } + ], + "path": [ + "Result" + ] + } + }, + { + "id": 5, + "type": { + "def": { + "variant": { + "variants": [ + { + "fields": [ + { + "type": 6 + } + ], + "index": 0, + "name": "Ok" + }, + { + "fields": [ + { + "type": 7 + } + ], + "index": 1, + "name": "Err" + } + ] + } + }, + "params": [ + { + "name": "T", + "type": 6 + }, + { + "name": "E", + "type": 7 + } + ], + "path": [ + "Result" + ] + } + }, + { + "id": 6, + "type": { + "def": { + "primitive": "bool" + } + } + }, + { + "id": 7, + "type": { + "def": { + "variant": { + "variants": [ + { + "index": 0, + "name": "ReadFailed" + }, + { + "index": 1, + "name": "WriteFailed" + } + ] + } + }, + "path": [ + "bittensor", + "ReadWriteErrorCode" + ] + } + }, + { + "id": 8, + "type": { + "def": { + "array": { + "len": 32, + "type": 9 + } + } + } + }, + { + "id": 9, + "type": { + "def": { + "primitive": "u8" + } + } + }, + { + "id": 10, + "type": { + "def": { + "primitive": "u16" + } + } + }, + { + "id": 11, + "type": { + "def": { + "primitive": "u64" + } + } + }, + { + "id": 12, + "type": { + "def": { + "variant": { + "variants": [ + { + "fields": [ + { + "type": 13 + } + ], + "index": 0, + "name": "Ok" + }, + { + "fields": [ + { + "type": 3 + } + ], + "index": 1, + "name": "Err" + } + ] + } + }, + "params": [ + { + "name": "T", + "type": 13 + }, + { + "name": "E", + "type": 3 + } + ], + "path": [ + "Result" + ] + } + }, + { + "id": 13, + "type": { + "def": { + "variant": { + "variants": [ + { + "fields": [ + { + "type": 2 + } + ], + "index": 0, + "name": "Ok" + }, + { + "fields": [ + { + "type": 7 + } + ], + "index": 1, + "name": "Err" + } + ] + } + }, + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "E", + "type": 7 + } + ], + "path": [ + "Result" + ] + } + }, + { + "id": 14, + "type": { + "def": { + "composite": { + "fields": [ + { + "type": 8, + "typeName": "[u8; 32]" + } + ] + } + }, + "path": [ + "ink_primitives", + "types", + "AccountId" + ] + } + }, + { + "id": 15, + "type": { + "def": { + "composite": { + "fields": [ + { + "type": 8, + "typeName": "[u8; 32]" + } + ] + } + }, + "path": [ + "ink_primitives", + "types", + "Hash" + ] + } + }, + { + "id": 16, + "type": { + "def": { + "primitive": "u32" + } + } + }, + { + "id": 17, + "type": { + "def": { + "variant": {} + }, + "path": [ + "bittensor", + "RuntimeReadWrite" + ] + } + } + ], + "version": 5 +} \ No newline at end of file diff --git a/evm-tests/get-metadata.sh b/evm-tests/get-metadata.sh index df5bc5bd54..0aa0a8d73e 100755 --- a/evm-tests/get-metadata.sh +++ b/evm-tests/get-metadata.sh @@ -1,3 +1,3 @@ rm -rf .papi npx papi add devnet -w ws://localhost:9944 -npx papi ink add ./bittensor/target/ink/bittensor.json +npx papi ink add ./bittensor.json \ No newline at end of file diff --git a/evm-tests/src/setup.ts b/evm-tests/src/setup.ts index dceba6a2bc..1ef872cd5a 100644 --- a/evm-tests/src/setup.ts +++ b/evm-tests/src/setup.ts @@ -2,7 +2,6 @@ import { createClient, TypedApi, PolkadotClient, Binary } from 'polkadot-api'; import { SUB_LOCAL_URL } from "./config" import { getWsProvider } from 'polkadot-api/ws-provider/web'; -import { withPolkadotSdkCompat } from "polkadot-api/polkadot-sdk-compat" let client: PolkadotClient | undefined = undefined @@ -14,15 +13,6 @@ export async function getClient() { return client; } -export async function getSdkClient() { - const client = createClient( - withPolkadotSdkCompat( - getWsProvider(SUB_LOCAL_URL), - ), - ) - return client -} - after(() => { client?.destroy() }); diff --git a/evm-tests/yarn.lock b/evm-tests/yarn.lock index 411981d8eb..924ea72caf 100644 --- a/evm-tests/yarn.lock +++ b/evm-tests/yarn.lock @@ -4,22 +4,17 @@ "@adraffy/ens-normalize@1.10.1": version "1.10.1" - resolved "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== -"@adraffy/ens-normalize@^1.10.1": - version "1.11.0" - resolved "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz" - integrity sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg== - -"@adraffy/ens-normalize@^1.11.0": +"@adraffy/ens-normalize@^1.10.1", "@adraffy/ens-normalize@^1.11.0": version "1.11.1" resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz#6c2d657d4b2dfb37f8ea811dcb3e60843d4ac24a" integrity sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ== "@babel/code-frame@^7.26.2": version "7.27.1" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== dependencies: "@babel/helper-validator-identifier" "^7.27.1" @@ -27,9 +22,9 @@ picocolors "^1.1.1" "@babel/helper-validator-identifier@^7.27.1": - version "7.27.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz" - integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" + integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== "@commander-js/extra-typings@^14.0.0": version "14.0.0" @@ -38,135 +33,140 @@ "@cspotcode/source-map-support@^0.8.0": version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@esbuild/aix-ppc64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz#4e0f91776c2b340e75558f60552195f6fad09f18" - integrity sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA== - -"@esbuild/android-arm64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz#bc766407f1718923f6b8079c8c61bf86ac3a6a4f" - integrity sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg== - -"@esbuild/android-arm@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.5.tgz#4290d6d3407bae3883ad2cded1081a234473ce26" - integrity sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA== - -"@esbuild/android-x64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.5.tgz#40c11d9cbca4f2406548c8a9895d321bc3b35eff" - integrity sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw== - -"@esbuild/darwin-arm64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz#49d8bf8b1df95f759ac81eb1d0736018006d7e34" - integrity sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ== - -"@esbuild/darwin-x64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz#e27a5d92a14886ef1d492fd50fc61a2d4d87e418" - integrity sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ== - -"@esbuild/freebsd-arm64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz#97cede59d638840ca104e605cdb9f1b118ba0b1c" - integrity sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw== - -"@esbuild/freebsd-x64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz#71c77812042a1a8190c3d581e140d15b876b9c6f" - integrity sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw== - -"@esbuild/linux-arm64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz#f7b7c8f97eff8ffd2e47f6c67eb5c9765f2181b8" - integrity sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg== - -"@esbuild/linux-arm@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz#2a0be71b6cd8201fa559aea45598dffabc05d911" - integrity sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw== - -"@esbuild/linux-ia32@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz#763414463cd9ea6fa1f96555d2762f9f84c61783" - integrity sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA== - -"@esbuild/linux-loong64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz#428cf2213ff786a502a52c96cf29d1fcf1eb8506" - integrity sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg== - -"@esbuild/linux-mips64el@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz#5cbcc7fd841b4cd53358afd33527cd394e325d96" - integrity sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg== - -"@esbuild/linux-ppc64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz#0d954ab39ce4f5e50f00c4f8c4fd38f976c13ad9" - integrity sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ== - -"@esbuild/linux-riscv64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz#0e7dd30730505abd8088321e8497e94b547bfb1e" - integrity sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA== - -"@esbuild/linux-s390x@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz#5669af81327a398a336d7e40e320b5bbd6e6e72d" - integrity sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ== - -"@esbuild/linux-x64@0.25.5": - version "0.25.5" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz" - integrity sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw== - -"@esbuild/netbsd-arm64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz#53b4dfb8fe1cee93777c9e366893bd3daa6ba63d" - integrity sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw== - -"@esbuild/netbsd-x64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz#a0206f6314ce7dc8713b7732703d0f58de1d1e79" - integrity sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ== - -"@esbuild/openbsd-arm64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz#2a796c87c44e8de78001d808c77d948a21ec22fd" - integrity sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw== - -"@esbuild/openbsd-x64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz#28d0cd8909b7fa3953af998f2b2ed34f576728f0" - integrity sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg== - -"@esbuild/sunos-x64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz#a28164f5b997e8247d407e36c90d3fd5ddbe0dc5" - integrity sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA== - -"@esbuild/win32-arm64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz#6eadbead38e8bd12f633a5190e45eff80e24007e" - integrity sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw== - -"@esbuild/win32-ia32@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz#bab6288005482f9ed2adb9ded7e88eba9a62cc0d" - integrity sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ== - -"@esbuild/win32-x64@0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz#7fc114af5f6563f19f73324b5d5ff36ece0803d1" - integrity sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g== +"@esbuild/aix-ppc64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz#2ae33300598132cc4cf580dbbb28d30fed3c5c49" + integrity sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg== + +"@esbuild/android-arm64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz#927708b3db5d739d6cb7709136924cc81bec9b03" + integrity sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ== + +"@esbuild/android-arm@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.11.tgz#571f94e7f4068957ec4c2cfb907deae3d01b55ae" + integrity sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg== + +"@esbuild/android-x64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.11.tgz#8a3bf5cae6c560c7ececa3150b2bde76e0fb81e6" + integrity sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g== + +"@esbuild/darwin-arm64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz#0a678c4ac4bf8717e67481e1a797e6c152f93c84" + integrity sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w== + +"@esbuild/darwin-x64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz#70f5e925a30c8309f1294d407a5e5e002e0315fe" + integrity sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ== + +"@esbuild/freebsd-arm64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz#4ec1db687c5b2b78b44148025da9632397553e8a" + integrity sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA== + +"@esbuild/freebsd-x64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz#4c81abd1b142f1e9acfef8c5153d438ca53f44bb" + integrity sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw== + +"@esbuild/linux-arm64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz#69517a111acfc2b93aa0fb5eaeb834c0202ccda5" + integrity sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA== + +"@esbuild/linux-arm@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz#58dac26eae2dba0fac5405052b9002dac088d38f" + integrity sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw== + +"@esbuild/linux-ia32@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz#b89d4efe9bdad46ba944f0f3b8ddd40834268c2b" + integrity sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw== + +"@esbuild/linux-loong64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz#11f603cb60ad14392c3f5c94d64b3cc8b630fbeb" + integrity sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw== + +"@esbuild/linux-mips64el@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz#b7d447ff0676b8ab247d69dac40a5cf08e5eeaf5" + integrity sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ== + +"@esbuild/linux-ppc64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz#b3a28ed7cc252a61b07ff7c8fd8a984ffd3a2f74" + integrity sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw== + +"@esbuild/linux-riscv64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz#ce75b08f7d871a75edcf4d2125f50b21dc9dc273" + integrity sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww== + +"@esbuild/linux-s390x@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz#cd08f6c73b6b6ff9ccdaabbd3ff6ad3dca99c263" + integrity sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw== + +"@esbuild/linux-x64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz#3c3718af31a95d8946ebd3c32bb1e699bdf74910" + integrity sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ== + +"@esbuild/netbsd-arm64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz#b4c767082401e3a4e8595fe53c47cd7f097c8077" + integrity sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg== + +"@esbuild/netbsd-x64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz#f2a930458ed2941d1f11ebc34b9c7d61f7a4d034" + integrity sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A== + +"@esbuild/openbsd-arm64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz#b4ae93c75aec48bc1e8a0154957a05f0641f2dad" + integrity sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg== + +"@esbuild/openbsd-x64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz#b42863959c8dcf9b01581522e40012d2c70045e2" + integrity sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw== + +"@esbuild/openharmony-arm64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz#b2e717141c8fdf6bddd4010f0912e6b39e1640f1" + integrity sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ== + +"@esbuild/sunos-x64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz#9fbea1febe8778927804828883ec0f6dd80eb244" + integrity sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA== + +"@esbuild/win32-arm64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz#501539cedb24468336073383989a7323005a8935" + integrity sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q== + +"@esbuild/win32-ia32@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz#8ac7229aa82cef8f16ffb58f1176a973a7a15343" + integrity sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA== + +"@esbuild/win32-x64@0.25.11": + version "0.25.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz#5ecda6f3fe138b7e456f4e429edde33c823f392f" + integrity sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA== "@ethereumjs/rlp@^10.0.0": version "10.0.0" @@ -175,7 +175,7 @@ "@isaacs/cliui@^8.0.2": version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: string-width "^5.1.2" @@ -186,41 +186,35 @@ wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" "@jridgewell/gen-mapping@^0.3.2": - version "0.3.8" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz" - integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/sourcemap-codec" "^1.5.0" "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.24": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + version "0.3.31" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -232,14 +226,14 @@ "@noble/curves@1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== dependencies: "@noble/hashes" "1.3.2" -"@noble/curves@1.8.1", "@noble/curves@^1.6.0", "@noble/curves@~1.8.1": +"@noble/curves@1.8.1": version "1.8.1" - resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff" integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== dependencies: "@noble/hashes" "1.7.1" @@ -251,48 +245,55 @@ dependencies: "@noble/hashes" "1.8.0" -"@noble/curves@^1.3.0", "@noble/curves@~1.9.0": +"@noble/curves@^1.3.0", "@noble/curves@^1.6.0", "@noble/curves@~1.9.0": version "1.9.7" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.7.tgz#79d04b4758a43e4bca2cbdc62e7771352fa6b951" integrity sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw== dependencies: "@noble/hashes" "1.8.0" -"@noble/curves@^2.0.0", "@noble/curves@~2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-2.0.0.tgz#1b1d75b447e5ccfaa6a4a3c34280f0c02a763f57" - integrity sha512-RiwZZeJnsTnhT+/gg2KvITJZhK5oagQrpZo+yQyd3mv3D5NAG2qEeEHpw7IkXRlpkoD45wl2o4ydHAvY9wyEfw== +"@noble/curves@^2.0.0", "@noble/curves@^2.0.1", "@noble/curves@~2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-2.0.1.tgz#64ba8bd5e8564a02942655602515646df1cdb3ad" + integrity sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw== dependencies: - "@noble/hashes" "2.0.0" + "@noble/hashes" "2.0.1" + +"@noble/curves@~1.8.1": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.2.tgz#8f24c037795e22b90ae29e222a856294c1d9ffc7" + integrity sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g== + dependencies: + "@noble/hashes" "1.7.2" "@noble/hashes@1.3.2": version "1.3.2" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== -"@noble/hashes@1.7.1", "@noble/hashes@^1.5.0", "@noble/hashes@~1.7.1": +"@noble/hashes@1.7.1": version "1.7.1" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== -"@noble/hashes@1.8.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3", "@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0": +"@noble/hashes@1.7.2", "@noble/hashes@~1.7.1": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.2.tgz#d53c65a21658fb02f3303e7ee3ba89d6754c64b4" + integrity sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ== + +"@noble/hashes@1.8.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3", "@noble/hashes@^1.5.0", "@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0": version "1.8.0" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== -"@noble/hashes@2.0.0", "@noble/hashes@^2.0.0", "@noble/hashes@~2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-2.0.0.tgz#5c39388259a0868cadb17d688cd8cf07eae344a4" - integrity sha512-h8VUBlE8R42+XIDO229cgisD287im3kdY6nbNZJFjc6ZvKIXPYXe6Vc/t+kyjFdMFyt5JpapzTsEg8n63w5/lw== - -"@noble/hashes@^2.0.1": +"@noble/hashes@2.0.1", "@noble/hashes@^2.0.0", "@noble/hashes@^2.0.1", "@noble/hashes@~2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-2.0.1.tgz#fc1a928061d1232b0a52bb754393c37a5216c89e" integrity sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw== "@pkgjs/parseargs@^0.11.0": version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== "@polkadot-api/cli@0.15.3": @@ -373,7 +374,7 @@ "@polkadot-api/json-rpc-provider@0.0.4": version "0.0.4" - resolved "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.4.tgz" + resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.4.tgz#15d0c6a7ec14aa6d0dd64039f931bebea83ffdb3" integrity sha512-9cDijLIxzHOBuq6yHqpqjJ9jBmXrctjc1OFqU+tQrS96adQze3mTIH6DTgfb/0LMrqxzxffz1HQGrIlEH00WrA== "@polkadot-api/known-chains@0.9.12": @@ -393,7 +394,7 @@ "@polkadot-api/logs-provider@0.0.6": version "0.0.6" - resolved "https://registry.npmjs.org/@polkadot-api/logs-provider/-/logs-provider-0.0.6.tgz" + resolved "https://registry.yarnpkg.com/@polkadot-api/logs-provider/-/logs-provider-0.0.6.tgz#a22f6abf937208cea44c6722a80ce0e6eadfd116" integrity sha512-4WgHlvy+xee1ADaaVf6+MlK/+jGMtsMgAzvbQOJZnP4PfQuagoTqaeayk8HYKxXGphogLlPbD06tANxcb+nvAg== dependencies: "@polkadot-api/json-rpc-provider" "0.0.4" @@ -470,7 +471,7 @@ "@polkadot-api/polkadot-signer@0.1.6": version "0.1.6" - resolved "https://registry.npmjs.org/@polkadot-api/polkadot-signer/-/polkadot-signer-0.1.6.tgz" + resolved "https://registry.yarnpkg.com/@polkadot-api/polkadot-signer/-/polkadot-signer-0.1.6.tgz#6870fd9827b282838a074380ba1a02fb3bdd5e83" integrity sha512-X7ghAa4r7doETtjAPTb50IpfGtrBmy3BJM5WCfNKa1saK04VFY9w+vDn+hwEcM4p0PcDHt66Ts74hzvHq54d9A== "@polkadot-api/raw-client@0.1.1": @@ -591,7 +592,7 @@ "@types/ws" "^8.18.1" ws "^8.18.3" -"@polkadot-labs/hdkd-helpers@^0.0.23", "@polkadot-labs/hdkd-helpers@~0.0.23": +"@polkadot-labs/hdkd-helpers@^0.0.23": version "0.0.23" resolved "https://registry.yarnpkg.com/@polkadot-labs/hdkd-helpers/-/hdkd-helpers-0.0.23.tgz#68b8ec8fb3e26e1eaeed289db2fa54eb13adefe9" integrity sha512-wfayRSCqOhcg4eaTltdynQHrn53FftGZ3Ws1HmxlE4N6VJYTfsTrfHAWI7l3BZz14nUUDDZe7IlvyX14Qqaakw== @@ -602,6 +603,17 @@ "@scure/sr25519" "^0.3.0" scale-ts "^1.6.1" +"@polkadot-labs/hdkd-helpers@~0.0.23": + version "0.0.26" + resolved "https://registry.yarnpkg.com/@polkadot-labs/hdkd-helpers/-/hdkd-helpers-0.0.26.tgz#06d74f16f0e4c131fd1b1cc004e4411030f33610" + integrity sha512-mp3GCSiOQeh4aPt+DYBQq6UnX/tKgYUH5F75knjW3ATSA90ifEEWWjRan0Bddt4QKYKamaDGadK9GbVREgzQFw== + dependencies: + "@noble/curves" "^2.0.1" + "@noble/hashes" "^2.0.1" + "@scure/base" "^2.0.0" + "@scure/sr25519" "^0.3.0" + scale-ts "^1.6.1" + "@polkadot-labs/hdkd@^0.0.23": version "0.0.23" resolved "https://registry.yarnpkg.com/@polkadot-labs/hdkd/-/hdkd-0.0.23.tgz#fecacb353c7f9d15aa9f826ba4208e8828935399" @@ -934,107 +946,122 @@ tslib "^2.8.0" ws "^8.18.0" -"@rollup/rollup-android-arm-eabi@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz#731df27dfdb77189547bcef96ada7bf166bbb2fb" - integrity sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw== - -"@rollup/rollup-android-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz#4bea6db78e1f6927405df7fe0faf2f5095e01343" - integrity sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q== - -"@rollup/rollup-darwin-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz#a7aab77d44be3c44a20f946e10160f84e5450e7f" - integrity sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q== - -"@rollup/rollup-darwin-x64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz#c572c024b57ee8ddd1b0851703ace9eb6cc0dd82" - integrity sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw== - -"@rollup/rollup-freebsd-arm64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz#cf74f8113b5a83098a5c026c165742277cbfb88b" - integrity sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA== - -"@rollup/rollup-freebsd-x64@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz#39561f3a2f201a4ad6a01425b1ff5928154ecd7c" - integrity sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q== - -"@rollup/rollup-linux-arm-gnueabihf@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz#980d6061e373bfdaeb67925c46d2f8f9b3de537f" - integrity sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g== - -"@rollup/rollup-linux-arm-musleabihf@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz#f91a90f30dc00d5a64ac2d9bbedc829cd3cfaa78" - integrity sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA== - -"@rollup/rollup-linux-arm64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz#fac700fa5c38bc13a0d5d34463133093da4c92a0" - integrity sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A== - -"@rollup/rollup-linux-arm64-musl@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz#f50ecccf8c78841ff6df1706bc4782d7f62bf9c3" - integrity sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q== - -"@rollup/rollup-linux-loongarch64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz#5869dc0b28242da6553e2b52af41374f4038cd6e" - integrity sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ== - -"@rollup/rollup-linux-powerpc64le-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz#5cdd9f851ce1bea33d6844a69f9574de335f20b1" - integrity sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw== - -"@rollup/rollup-linux-riscv64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz#ef5dc37f4388f5253f0def43e1440ec012af204d" - integrity sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw== - -"@rollup/rollup-linux-s390x-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz#7dbc3ccbcbcfb3e65be74538dfb6e8dd16178fde" - integrity sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA== - -"@rollup/rollup-linux-x64-gnu@4.34.8": - version "4.34.8" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz" - integrity sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA== - -"@rollup/rollup-linux-x64-musl@4.34.8": - version "4.34.8" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz" - integrity sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ== - -"@rollup/rollup-win32-arm64-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz#cbfee01f1fe73791c35191a05397838520ca3cdd" - integrity sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ== - -"@rollup/rollup-win32-ia32-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz#95cdbdff48fe6c948abcf6a1d500b2bd5ce33f62" - integrity sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w== - -"@rollup/rollup-win32-x64-msvc@4.34.8": - version "4.34.8" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz#4cdb2cfae69cdb7b1a3cc58778e820408075e928" - integrity sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g== +"@rollup/rollup-android-arm-eabi@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz#0f44a2f8668ed87b040b6fe659358ac9239da4db" + integrity sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ== + +"@rollup/rollup-android-arm64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz#25b9a01deef6518a948431564c987bcb205274f5" + integrity sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA== + +"@rollup/rollup-darwin-arm64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz#8a102869c88f3780c7d5e6776afd3f19084ecd7f" + integrity sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA== + +"@rollup/rollup-darwin-x64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz#8e526417cd6f54daf1d0c04cf361160216581956" + integrity sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA== + +"@rollup/rollup-freebsd-arm64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz#0e7027054493f3409b1f219a3eac5efd128ef899" + integrity sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA== + +"@rollup/rollup-freebsd-x64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz#72b204a920139e9ec3d331bd9cfd9a0c248ccb10" + integrity sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ== + +"@rollup/rollup-linux-arm-gnueabihf@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz#ab1b522ebe5b7e06c99504cc38f6cd8b808ba41c" + integrity sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ== + +"@rollup/rollup-linux-arm-musleabihf@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz#f8cc30b638f1ee7e3d18eac24af47ea29d9beb00" + integrity sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ== + +"@rollup/rollup-linux-arm64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz#7af37a9e85f25db59dc8214172907b7e146c12cc" + integrity sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg== + +"@rollup/rollup-linux-arm64-musl@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz#a623eb0d3617c03b7a73716eb85c6e37b776f7e0" + integrity sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q== + +"@rollup/rollup-linux-loong64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz#76ea038b549c5c6c5f0d062942627c4066642ee2" + integrity sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA== + +"@rollup/rollup-linux-ppc64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz#d9a4c3f0a3492bc78f6fdfe8131ac61c7359ccd5" + integrity sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw== + +"@rollup/rollup-linux-riscv64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz#87ab033eebd1a9a1dd7b60509f6333ec1f82d994" + integrity sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw== + +"@rollup/rollup-linux-riscv64-musl@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz#bda3eb67e1c993c1ba12bc9c2f694e7703958d9f" + integrity sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg== + +"@rollup/rollup-linux-s390x-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz#f7bc10fbe096ab44694233dc42a2291ed5453d4b" + integrity sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ== + +"@rollup/rollup-linux-x64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz#a151cb1234cc9b2cf5e8cfc02aa91436b8f9e278" + integrity sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q== + +"@rollup/rollup-linux-x64-musl@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz#7859e196501cc3b3062d45d2776cfb4d2f3a9350" + integrity sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg== + +"@rollup/rollup-openharmony-arm64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz#85d0df7233734df31e547c1e647d2a5300b3bf30" + integrity sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw== + +"@rollup/rollup-win32-arm64-msvc@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz#e62357d00458db17277b88adbf690bb855cac937" + integrity sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w== + +"@rollup/rollup-win32-ia32-msvc@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz#fc7cd40f44834a703c1f1c3fe8bcc27ce476cd50" + integrity sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg== + +"@rollup/rollup-win32-x64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz#1a22acfc93c64a64a48c42672e857ee51774d0d3" + integrity sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ== + +"@rollup/rollup-win32-x64-msvc@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz#1657f56326bbe0ac80eedc9f9c18fc1ddd24e107" + integrity sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg== "@rx-state/core@^0.1.4": version "0.1.4" - resolved "https://registry.npmjs.org/@rx-state/core/-/core-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/@rx-state/core/-/core-0.1.4.tgz#586dde80be9dbdac31844006a0dcaa2bc7f35a5c" integrity sha512-Z+3hjU2xh1HisLxt+W5hlYX/eGSDaXXP+ns82gq/PLZpkXLu0uwcNUh9RLY3Clq4zT+hSsA3vcpIGt6+UAb8rQ== -"@scure/base@^1.1.1", "@scure/base@^1.1.7", "@scure/base@~1.2.5": +"@scure/base@^1.1.1", "@scure/base@^1.1.7", "@scure/base@~1.2.2", "@scure/base@~1.2.4", "@scure/base@~1.2.5": version "1.2.6" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.6.tgz#ca917184b8231394dd8847509c67a0be522e59f6" integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg== @@ -1044,21 +1071,16 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-2.0.0.tgz#ba6371fddf92c2727e88ad6ab485db6e624f9a98" integrity sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w== -"@scure/base@~1.2.2", "@scure/base@~1.2.4": - version "1.2.5" - resolved "https://registry.npmjs.org/@scure/base/-/base-1.2.5.tgz" - integrity sha512-9rE6EOVeIQzt5TSu4v+K523F8u6DhBsoZWPGKlnCshhlDhy0kJzUX4V+tr2dWmzF1GdekvThABoEQBGBQI7xZw== - -"@scure/bip32@1.6.2", "@scure/bip32@^1.5.0": +"@scure/bip32@1.6.2": version "1.6.2" - resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.2.tgz" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.2.tgz#093caa94961619927659ed0e711a6e4bf35bffd0" integrity sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw== dependencies: "@noble/curves" "~1.8.1" "@noble/hashes" "~1.7.1" "@scure/base" "~1.2.2" -"@scure/bip32@1.7.0", "@scure/bip32@^1.7.0": +"@scure/bip32@1.7.0", "@scure/bip32@^1.5.0", "@scure/bip32@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.7.0.tgz#b8683bab172369f988f1589640e53c4606984219" integrity sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw== @@ -1067,15 +1089,15 @@ "@noble/hashes" "~1.8.0" "@scure/base" "~1.2.5" -"@scure/bip39@1.5.4", "@scure/bip39@^1.4.0": +"@scure/bip39@1.5.4": version "1.5.4" - resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.4.tgz" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.4.tgz#07fd920423aa671be4540d59bdd344cc1461db51" integrity sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA== dependencies: "@noble/hashes" "~1.7.1" "@scure/base" "~1.2.4" -"@scure/bip39@1.6.0", "@scure/bip39@^1.6.0": +"@scure/bip39@1.6.0", "@scure/bip39@^1.4.0", "@scure/bip39@^1.6.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.6.0.tgz#475970ace440d7be87a6086cbee77cb8f1a684f9" integrity sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A== @@ -1093,12 +1115,12 @@ "@sec-ant/readable-stream@^0.4.1": version "0.4.1" - resolved "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz#60de891bb126abfdc5410fdc6166aca065f10a0c" integrity sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg== "@sindresorhus/merge-streams@^4.0.0": version "4.0.0" - resolved "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz#abb11d99aeb6d27f1b563c38147a72d50058e339" integrity sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ== "@substrate/connect-extension-protocol@^2.0.0": @@ -1141,22 +1163,22 @@ "@tsconfig/node10@^1.0.7": version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== "@tsconfig/node12@^1.0.7": version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": version "1.0.4" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@types/bn.js@^5.1.6": @@ -1167,65 +1189,59 @@ "@types/node" "*" "@types/bun@^1.1.13": - version "1.2.3" - resolved "https://registry.npmjs.org/@types/bun/-/bun-1.2.3.tgz" - integrity sha512-054h79ipETRfjtsCW9qJK8Ipof67Pw9bodFWmkfkaUaRiIQ1dIV2VTlheshlBx3mpKr0KeK8VqnMMCtgN9rQtw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/@types/bun/-/bun-1.3.1.tgz#275836f9dfcb2f9b1a1d4144026e404b4d42a766" + integrity sha512-4jNMk2/K9YJtfqwoAa28c8wK+T7nvJFOjxI4h/7sORWcypRNxBpr+TPNaCfVWq70tLCJsqoFwcf0oI0JU/fvMQ== dependencies: - bun-types "1.2.3" + bun-types "1.3.1" "@types/chai@^5.0.1": - version "5.0.1" - resolved "https://registry.npmjs.org/@types/chai/-/chai-5.0.1.tgz" - integrity sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA== + version "5.2.3" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.3.tgz#8e9cd9e1c3581fa6b341a5aed5588eb285be0b4a" + integrity sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA== dependencies: "@types/deep-eql" "*" + assertion-error "^2.0.1" "@types/deep-eql@*": version "4.0.2" - resolved "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== -"@types/estree@1.0.6": - version "1.0.6" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== +"@types/estree@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/mocha@^10.0.10": version "10.0.10" - resolved "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== -"@types/node@*": - version "22.15.21" - resolved "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz" - integrity sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ== +"@types/node@*", "@types/node@^24.5.2", "@types/node@^24.7.0": + version "24.9.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.9.2.tgz#90ded2422dbfcafcf72080f28975adc21366148d" + integrity sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA== dependencies: - undici-types "~6.21.0" + undici-types "~7.16.0" "@types/node@22.7.5": version "22.7.5" - resolved "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== dependencies: undici-types "~6.19.2" "@types/node@^22.18.0": - version "22.18.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.0.tgz#9e4709be4f104e3568f7dd1c71e2949bf147a47b" - integrity sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ== + version "22.18.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.13.tgz#a037c4f474b860be660e05dbe92a9ef945472e28" + integrity sha512-Bo45YKIjnmFtv6I1TuC8AaHBbqXtIo+Om5fE4QiU1Tj8QR/qt+8O3BAtOimG5IFmwaWiPmB3Mv3jtYzBA4Us2A== dependencies: undici-types "~6.21.0" -"@types/node@^24.5.2", "@types/node@^24.7.0": - version "24.9.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.9.2.tgz#90ded2422dbfcafcf72080f28975adc21366148d" - integrity sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA== - dependencies: - undici-types "~7.16.0" - "@types/normalize-package-data@^2.4.3": version "2.4.4" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== "@types/ws@^8.18.1": @@ -1235,16 +1251,9 @@ dependencies: "@types/node" "*" -"@types/ws@~8.5.10": - version "8.5.14" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz" - integrity sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw== - dependencies: - "@types/node" "*" - -abitype@1.0.8, abitype@^1.0.6: +abitype@1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.8.tgz#3554f28b2e9d6e9f35eb59878193eabd1b9f46ba" integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg== abitype@1.1.0: @@ -1252,81 +1261,68 @@ abitype@1.1.0: resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.1.0.tgz#510c5b3f92901877977af5e864841f443bf55406" integrity sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A== -abitype@^1.0.9, abitype@^1.1.1: +abitype@^1.0.6, abitype@^1.0.9, abitype@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.1.1.tgz#b50ed400f8bfca5452eb4033445c309d3e1117c8" integrity sha512-Loe5/6tAgsBukY95eGaPSDmQHIjRZYQq8PB1MpsNccDIK8WiV+Uw6WzaIXipvaxTEL2yEB0OpEaQv3gs8pkS9Q== acorn-walk@^8.1.1: version "8.3.4" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== dependencies: acorn "^8.11.0" -acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1: - version "8.14.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== +acorn@^8.11.0, acorn@^8.15.0, acorn@^8.4.1: + version "8.15.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== aes-js@4.0.0-beta.5: version "4.0.0-beta.5" - resolved "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz" - integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== + version "6.2.2" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" + integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + version "6.2.3" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== any-promise@^1.0.0: version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - arg@^4.1.0: version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== assert@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== dependencies: call-bind "^1.0.2" @@ -1335,70 +1331,62 @@ assert@^2.1.0: object.assign "^4.1.4" util "^0.12.5" +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== + available-typed-arrays@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== dependencies: possible-typed-array-names "^1.0.0" balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - bn.js@^5.2.1: version "5.2.2" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.2.tgz#82c09f9ebbb17107cd72cb7fd39bd1f9d0aaa566" integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw== brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" + integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== dependencies: balanced-match "^1.0.0" -braces@~3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - browser-stdout@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -bun-types@1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/bun-types/-/bun-types-1.2.3.tgz" - integrity sha512-P7AeyTseLKAvgaZqQrvp3RqFM3yN9PlcLuSTe7SoJOfZkER73mLdT2vEQi8U64S1YvM/ldcNiQjn0Sn7H9lGgg== +bun-types@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/bun-types/-/bun-types-1.3.1.tgz#15857727b1030960538a0485983044af8696c81d" + integrity sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw== dependencies: "@types/node" "*" - "@types/ws" "~8.5.10" bundle-require@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/bundle-require/-/bundle-require-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-5.1.0.tgz#8db66f41950da3d77af1ef3322f4c3e04009faee" integrity sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA== dependencies: load-tsconfig "^0.2.3" cac@^6.7.14: version "6.7.14" - resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: es-errors "^1.3.0" @@ -1406,7 +1394,7 @@ call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply- call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.7, call-bind@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== dependencies: call-bind-apply-helpers "^1.0.0" @@ -1414,27 +1402,27 @@ call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.7, call-bind@^1.0.8: get-intrinsic "^1.2.4" set-function-length "^1.2.2" -call-bound@^1.0.2, call-bound@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz" - integrity sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA== +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== dependencies: - call-bind-apply-helpers "^1.0.1" - get-intrinsic "^1.2.6" + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" camelcase@^6.0.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== chai@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-6.0.1.tgz#88c2b4682fb56050647e222d2cf9d6772f2607b3" - integrity sha512-/JOoU2//6p5vCXh00FpNgtlw0LjvhGttaWc+y7wpW9yjBm3ys0dI8tSKZxIOgNruz5J0RleccatSIC3uxEZP0g== + version "6.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-6.2.0.tgz#181bca6a219cddb99c3eeefb82483800ffa550ce" + integrity sha512-aUTnJc/JipRzJrNADXVvpVqi6CO0dn3nx4EVPxijri+fj3LUUDyZQOgVeW54Ob3Y1Xh9Iz8f+CgaCl8v0mn9bA== chalk@^4.1.0: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -1445,31 +1433,16 @@ chalk@^5.6.2: resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea" integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== -chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^4.0.3: +chokidar@^4.0.1, chokidar@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== dependencies: readdirp "^4.0.1" cli-cursor@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== dependencies: restore-cursor "^5.0.0" @@ -1481,7 +1454,7 @@ cli-spinners@^3.2.0: cliui@^8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" @@ -1490,14 +1463,14 @@ cliui@^8.0.1: color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== commander@^14.0.1: @@ -1507,27 +1480,27 @@ commander@^14.0.1: commander@^4.0.0: version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== confbox@^0.1.8: version "0.1.8" - resolved "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz" + resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06" integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w== consola@^3.4.0: version "3.4.2" - resolved "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.2.tgz#5af110145397bb67afdab77013fdc34cae590ea7" integrity sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA== create-require@^1.1.0: version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-spawn@^7.0.6: version "7.0.6" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" @@ -1539,33 +1512,26 @@ data-uri-to-buffer@^4.0.0: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== -debug@^4.1.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" - integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== - dependencies: - ms "^2.1.3" - -debug@^4.3.5, debug@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== +debug@^4.1.0, debug@^4.3.5, debug@^4.4.0: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: ms "^2.1.3" decamelize@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== deepmerge-ts@^7.1.0: version "7.1.5" - resolved "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz" + resolved "https://registry.yarnpkg.com/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz#ff818564007f5c150808d2b7b732cac83aa415ab" integrity sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw== define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: es-define-property "^1.0.0" @@ -1574,7 +1540,7 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: define-properties@^1.1.3, define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" @@ -1582,19 +1548,19 @@ define-properties@^1.1.3, define-properties@^1.2.1: object-keys "^1.1.1" detect-indent@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz" - integrity sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== + version "7.0.2" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.2.tgz#16c516bf75d4b2f759f68214554996d467c8d648" + integrity sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A== diff@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diff@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== +diff@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-7.0.0.tgz#3fb34d387cd76d803f6eebea67b921dab0182a9a" + integrity sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw== dotenv@17.2.1: version "17.2.1" @@ -1603,7 +1569,7 @@ dotenv@17.2.1: dunder-proto@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== dependencies: call-bind-apply-helpers "^1.0.1" @@ -1612,81 +1578,82 @@ dunder-proto@^1.0.1: eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== es-define-property@^1.0.0, es-define-property@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" esbuild@^0.25.0: - version "0.25.5" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz" - integrity sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ== + version "0.25.11" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.11.tgz#0f31b82f335652580f75ef6897bba81962d9ae3d" + integrity sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q== optionalDependencies: - "@esbuild/aix-ppc64" "0.25.5" - "@esbuild/android-arm" "0.25.5" - "@esbuild/android-arm64" "0.25.5" - "@esbuild/android-x64" "0.25.5" - "@esbuild/darwin-arm64" "0.25.5" - "@esbuild/darwin-x64" "0.25.5" - "@esbuild/freebsd-arm64" "0.25.5" - "@esbuild/freebsd-x64" "0.25.5" - "@esbuild/linux-arm" "0.25.5" - "@esbuild/linux-arm64" "0.25.5" - "@esbuild/linux-ia32" "0.25.5" - "@esbuild/linux-loong64" "0.25.5" - "@esbuild/linux-mips64el" "0.25.5" - "@esbuild/linux-ppc64" "0.25.5" - "@esbuild/linux-riscv64" "0.25.5" - "@esbuild/linux-s390x" "0.25.5" - "@esbuild/linux-x64" "0.25.5" - "@esbuild/netbsd-arm64" "0.25.5" - "@esbuild/netbsd-x64" "0.25.5" - "@esbuild/openbsd-arm64" "0.25.5" - "@esbuild/openbsd-x64" "0.25.5" - "@esbuild/sunos-x64" "0.25.5" - "@esbuild/win32-arm64" "0.25.5" - "@esbuild/win32-ia32" "0.25.5" - "@esbuild/win32-x64" "0.25.5" + "@esbuild/aix-ppc64" "0.25.11" + "@esbuild/android-arm" "0.25.11" + "@esbuild/android-arm64" "0.25.11" + "@esbuild/android-x64" "0.25.11" + "@esbuild/darwin-arm64" "0.25.11" + "@esbuild/darwin-x64" "0.25.11" + "@esbuild/freebsd-arm64" "0.25.11" + "@esbuild/freebsd-x64" "0.25.11" + "@esbuild/linux-arm" "0.25.11" + "@esbuild/linux-arm64" "0.25.11" + "@esbuild/linux-ia32" "0.25.11" + "@esbuild/linux-loong64" "0.25.11" + "@esbuild/linux-mips64el" "0.25.11" + "@esbuild/linux-ppc64" "0.25.11" + "@esbuild/linux-riscv64" "0.25.11" + "@esbuild/linux-s390x" "0.25.11" + "@esbuild/linux-x64" "0.25.11" + "@esbuild/netbsd-arm64" "0.25.11" + "@esbuild/netbsd-x64" "0.25.11" + "@esbuild/openbsd-arm64" "0.25.11" + "@esbuild/openbsd-x64" "0.25.11" + "@esbuild/openharmony-arm64" "0.25.11" + "@esbuild/sunos-x64" "0.25.11" + "@esbuild/win32-arm64" "0.25.11" + "@esbuild/win32-ia32" "0.25.11" + "@esbuild/win32-x64" "0.25.11" escalade@^3.1.1: version "3.2.0" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== ethers@^6.13.5: - version "6.13.5" - resolved "https://registry.npmjs.org/ethers/-/ethers-6.13.5.tgz" - integrity sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ== + version "6.15.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.15.0.tgz#2980f2a3baf0509749b7e21f8692fa8a8349c0e3" + integrity sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ== dependencies: "@adraffy/ens-normalize" "1.10.1" "@noble/curves" "1.2.0" @@ -1698,7 +1665,7 @@ ethers@^6.13.5: eventemitter3@5.0.1, eventemitter3@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== execa@^9.6.0: @@ -1719,10 +1686,10 @@ execa@^9.6.0: strip-final-newline "^4.0.0" yoctocolors "^2.1.1" -fdir@^6.4.4: - version "6.4.4" - resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz" - integrity sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg== +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" @@ -1734,21 +1701,14 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: figures@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/figures/-/figures-6.1.0.tgz#935479f51865fa7479f6fa94fc6fc7ac14e62c4a" integrity sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg== dependencies: is-unicode-supported "^2.0.0" -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -1756,7 +1716,7 @@ find-up@^5.0.0: fix-dts-default-cjs-exports@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/fix-dts-default-cjs-exports/-/fix-dts-default-cjs-exports-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/fix-dts-default-cjs-exports/-/fix-dts-default-cjs-exports-1.0.1.tgz#955cb6b3d519691c57828b078adadf2cb92e9549" integrity sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg== dependencies: magic-string "^0.30.17" @@ -1765,19 +1725,19 @@ fix-dts-default-cjs-exports@^1.0.0: flat@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -for-each@^0.3.3: +for-each@^0.3.5: version "0.3.5" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== dependencies: is-callable "^1.2.7" foreground-child@^3.1.0: version "3.3.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: cross-spawn "^7.0.6" @@ -1792,7 +1752,7 @@ formdata-polyfill@^4.0.10: fs.promises.exists@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/fs.promises.exists/-/fs.promises.exists-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/fs.promises.exists/-/fs.promises.exists-1.1.4.tgz#6a1d8fd24df79248eda19a8ba9dd7fd68b941921" integrity sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q== fsevents@~2.3.2: @@ -1802,12 +1762,17 @@ fsevents@~2.3.2: function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== +generator-function@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2" + integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g== + get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-east-asian-width@^1.3.0: @@ -1815,9 +1780,9 @@ get-east-asian-width@^1.3.0: resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz#9bc4caa131702b4b61729cb7e42735bc550c9ee6" integrity sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q== -get-intrinsic@^1.2.4, get-intrinsic@^1.2.6: +get-intrinsic@^1.2.4, get-intrinsic@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: call-bind-apply-helpers "^1.0.2" @@ -1831,9 +1796,9 @@ get-intrinsic@^1.2.4, get-intrinsic@^1.2.6: hasown "^2.0.2" math-intrinsics "^1.1.0" -get-proto@^1.0.0, get-proto@^1.0.1: +get-proto@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== dependencies: dunder-proto "^1.0.1" @@ -1841,22 +1806,15 @@ get-proto@^1.0.0, get-proto@^1.0.1: get-stream@^9.0.0: version "9.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-9.0.1.tgz#95157d21df8eb90d1647102b63039b1df60ebd27" integrity sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA== dependencies: "@sec-ant/readable-stream" "^0.4.1" is-stream "^4.0.1" -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - glob@^10.3.10, glob@^10.4.5: version "10.4.5" - resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: foreground-child "^3.1.0" @@ -1868,150 +1826,132 @@ glob@^10.3.10, glob@^10.4.5: gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-tostringtag@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" hasown@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" he@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== hosted-git-info@^7.0.0: version "7.0.2" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.2.tgz#9b751acac097757667f30114607ef7b661ff4f17" integrity sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w== dependencies: lru-cache "^10.0.1" human-signals@^8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-8.0.1.tgz#f08bb593b6d1db353933d06156cedec90abe51fb" integrity sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ== imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== index-to-position@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz" - integrity sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/index-to-position/-/index-to-position-1.2.0.tgz#c800eb34dacf4dbf96b9b06c7eb78d5f704138b4" + integrity sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw== inherits@^2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== is-arguments@^1.0.4: version "1.2.0" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== dependencies: call-bound "^1.0.2" has-tostringtag "^1.0.2" -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-function@^1.0.7: - version "1.1.0" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz" - integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.2.tgz#ae3b61e3d5ea4e4839b90bad22b02335051a17d5" + integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA== dependencies: - call-bound "^1.0.3" - get-proto "^1.0.0" + call-bound "^1.0.4" + generator-function "^2.0.0" + get-proto "^1.0.1" has-tostringtag "^1.0.2" safe-regex-test "^1.1.0" -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - is-interactive@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== is-nan@^1.3.2: version "1.3.2" - resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-obj@^4.0.0, is-plain-obj@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== is-regex@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: call-bound "^1.0.2" @@ -2021,34 +1961,34 @@ is-regex@^1.2.1: is-stream@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-4.0.1.tgz#375cf891e16d2e4baec250b85926cffc14720d9b" integrity sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A== is-typed-array@^1.1.3: version "1.1.15" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: which-typed-array "^1.1.16" is-unicode-supported@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== is-unicode-supported@^2.0.0, is-unicode-supported@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz#09f0ab0de6d3744d48d265ebb98f65d11f2a9b3a" integrity sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isows@1.0.6: version "1.0.6" - resolved "https://registry.npmjs.org/isows/-/isows-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.6.tgz#0da29d706fa51551c663c627ace42769850f86e7" integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw== isows@1.0.7: @@ -2058,7 +1998,7 @@ isows@1.0.7: jackspeak@^3.1.2: version "3.4.3" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== dependencies: "@isaacs/cliui" "^8.0.2" @@ -2067,17 +2007,17 @@ jackspeak@^3.1.2: joycon@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" @@ -2089,34 +2029,34 @@ json-stringify-safe@^5.0.1: lilconfig@^3.1.1: version "3.1.3" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== load-tsconfig@^0.2.3: version "0.2.5" - resolved "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz" + resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1" integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg== locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lodash.sortby@^4.7.0: version "4.7.0" - resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== log-symbols@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: chalk "^4.1.0" @@ -2132,82 +2072,76 @@ log-symbols@^7.0.1: lru-cache@^10.0.1, lru-cache@^10.2.0: version "10.4.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== magic-string@^0.30.17: - version "0.30.17" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz" - integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== + version "0.30.21" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.21.tgz#56763ec09a0fa8091df27879fd94d19078c00d91" + integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/sourcemap-codec" "^1.5.5" make-error@^1.1.1: version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== math-intrinsics@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== mimic-function@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== -minimatch@^5.1.6: - version "5.1.6" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.4: +minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.5" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: version "7.1.2" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== mlly@^1.7.4: - version "1.7.4" - resolved "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz" - integrity sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw== + version "1.8.0" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.8.0.tgz#e074612b938af8eba1eaf43299cbc89cb72d824e" + integrity sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g== dependencies: - acorn "^8.14.0" - pathe "^2.0.1" - pkg-types "^1.3.0" - ufo "^1.5.4" + acorn "^8.15.0" + pathe "^2.0.3" + pkg-types "^1.3.1" + ufo "^1.6.1" mocha@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/mocha/-/mocha-11.1.0.tgz" - integrity sha512-8uJR5RTC2NgpY3GrYcgpZrsEd9zKbPDpob1RezyR2upGHRQtHWofmzTMzTMSV6dru3tj5Ukt0+Vnq1qhFEEwAg== + version "11.7.4" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.4.tgz#f161b17aeccb0762484b33bdb3f7ab9410ba5c82" + integrity sha512-1jYAaY8x0kAZ0XszLWu14pzsf4KV740Gld4HXkhNTXwcHx4AUEDkPzgEHg9CM5dVcW+zv036tjpsEbLraPJj4w== dependencies: - ansi-colors "^4.1.3" browser-stdout "^1.3.1" - chokidar "^3.5.3" + chokidar "^4.0.1" debug "^4.3.5" - diff "^5.2.0" + diff "^7.0.0" escape-string-regexp "^4.0.0" find-up "^5.0.0" glob "^10.4.5" he "^1.2.0" + is-path-inside "^3.0.3" js-yaml "^4.1.0" log-symbols "^4.1.0" - minimatch "^5.1.6" + minimatch "^9.0.5" ms "^2.1.3" + picocolors "^1.1.1" serialize-javascript "^6.0.2" strip-json-comments "^3.1.1" supports-color "^8.1.1" - workerpool "^6.5.1" + workerpool "^9.2.0" yargs "^17.7.2" yargs-parser "^21.1.1" yargs-unparser "^2.0.0" @@ -2219,12 +2153,12 @@ mock-socket@^9.3.1: ms@^2.1.3: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== mz@^2.7.0: version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: any-promise "^1.0.0" @@ -2256,21 +2190,16 @@ node-fetch@^3.3.2: normalize-package-data@^6.0.0: version "6.0.2" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.2.tgz#a7bc22167fe24025412bcff0a9651eb768b03506" integrity sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g== dependencies: hosted-git-info "^7.0.0" semver "^7.3.5" validate-npm-package-license "^3.0.4" -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - npm-run-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-6.0.0.tgz#25cfdc4eae04976f3349c0b1afc089052c362537" integrity sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA== dependencies: path-key "^4.0.0" @@ -2278,12 +2207,12 @@ npm-run-path@^6.0.0: object-assign@^4.0.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-is@^1.1.5: version "1.1.6" - resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== dependencies: call-bind "^1.0.7" @@ -2291,12 +2220,12 @@ object-is@^1.1.5: object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.4: version "4.1.7" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: call-bind "^1.0.8" @@ -2308,7 +2237,7 @@ object.assign@^4.1.4: onetime@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== dependencies: mimic-function "^5.0.0" @@ -2330,7 +2259,7 @@ ora@^9.0.0: ox@0.6.7: version "0.6.7" - resolved "https://registry.npmjs.org/ox/-/ox-0.6.7.tgz" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.7.tgz#afd53f2ecef68b8526660e9d29dee6e6b599a832" integrity sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA== dependencies: "@adraffy/ens-normalize" "^1.10.1" @@ -2357,26 +2286,26 @@ ox@0.9.6: p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" package-json-from-dist@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== parse-json@^8.0.0: version "8.3.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-8.3.0.tgz#88a195a2157025139a2317a4f2f9252b61304ed5" integrity sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ== dependencies: "@babel/code-frame" "^7.26.2" @@ -2385,60 +2314,55 @@ parse-json@^8.0.0: parse-ms@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-4.0.0.tgz#c0c058edd47c2a590151a718990533fd62803df4" integrity sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-key@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== path-scurry@^1.11.1: version "1.11.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -pathe@^2.0.1: +pathe@^2.0.1, pathe@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== picocolors@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== +picomatch@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== pirates@^4.0.1: version "4.0.7" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== -pkg-types@^1.3.0: +pkg-types@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.3.1.tgz#bd7cc70881192777eef5326c19deb46e890917df" integrity sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ== dependencies: confbox "^0.1.8" @@ -2472,25 +2396,25 @@ polkadot-api@^1.20.0: possible-typed-array-names@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== postcss-load-config@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-6.0.1.tgz#6fd7dcd8ae89badcf1b2d644489cbabf83aa8096" integrity sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g== dependencies: lilconfig "^3.1.1" prettier@^3.3.3: - version "3.5.2" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz" - integrity sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg== + version "3.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" + integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== pretty-ms@^9.2.0: - version "9.2.0" - resolved "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz" - integrity sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg== + version "9.3.0" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-9.3.0.tgz#dd2524fcb3c326b4931b2272dfd1e1a8ed9a9f5a" + integrity sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ== dependencies: parse-ms "^4.0.0" @@ -2501,19 +2425,19 @@ propagate@^2.0.0: punycode@^2.1.0: version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" read-pkg@^9.0.1: version "9.0.1" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-9.0.1.tgz#b1b81fb15104f5dbb121b6bbdee9bbc9739f569b" integrity sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA== dependencies: "@types/normalize-package-data" "^2.4.3" @@ -2524,60 +2448,56 @@ read-pkg@^9.0.1: readdirp@^4.0.1: version "4.1.2" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== restore-cursor@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== dependencies: onetime "^7.0.0" signal-exit "^4.1.0" rollup@^4.34.8: - version "4.34.8" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz" - integrity sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ== + version "4.52.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.52.5.tgz#96982cdcaedcdd51b12359981f240f94304ec235" + integrity sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw== dependencies: - "@types/estree" "1.0.6" + "@types/estree" "1.0.8" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.34.8" - "@rollup/rollup-android-arm64" "4.34.8" - "@rollup/rollup-darwin-arm64" "4.34.8" - "@rollup/rollup-darwin-x64" "4.34.8" - "@rollup/rollup-freebsd-arm64" "4.34.8" - "@rollup/rollup-freebsd-x64" "4.34.8" - "@rollup/rollup-linux-arm-gnueabihf" "4.34.8" - "@rollup/rollup-linux-arm-musleabihf" "4.34.8" - "@rollup/rollup-linux-arm64-gnu" "4.34.8" - "@rollup/rollup-linux-arm64-musl" "4.34.8" - "@rollup/rollup-linux-loongarch64-gnu" "4.34.8" - "@rollup/rollup-linux-powerpc64le-gnu" "4.34.8" - "@rollup/rollup-linux-riscv64-gnu" "4.34.8" - "@rollup/rollup-linux-s390x-gnu" "4.34.8" - "@rollup/rollup-linux-x64-gnu" "4.34.8" - "@rollup/rollup-linux-x64-musl" "4.34.8" - "@rollup/rollup-win32-arm64-msvc" "4.34.8" - "@rollup/rollup-win32-ia32-msvc" "4.34.8" - "@rollup/rollup-win32-x64-msvc" "4.34.8" + "@rollup/rollup-android-arm-eabi" "4.52.5" + "@rollup/rollup-android-arm64" "4.52.5" + "@rollup/rollup-darwin-arm64" "4.52.5" + "@rollup/rollup-darwin-x64" "4.52.5" + "@rollup/rollup-freebsd-arm64" "4.52.5" + "@rollup/rollup-freebsd-x64" "4.52.5" + "@rollup/rollup-linux-arm-gnueabihf" "4.52.5" + "@rollup/rollup-linux-arm-musleabihf" "4.52.5" + "@rollup/rollup-linux-arm64-gnu" "4.52.5" + "@rollup/rollup-linux-arm64-musl" "4.52.5" + "@rollup/rollup-linux-loong64-gnu" "4.52.5" + "@rollup/rollup-linux-ppc64-gnu" "4.52.5" + "@rollup/rollup-linux-riscv64-gnu" "4.52.5" + "@rollup/rollup-linux-riscv64-musl" "4.52.5" + "@rollup/rollup-linux-s390x-gnu" "4.52.5" + "@rollup/rollup-linux-x64-gnu" "4.52.5" + "@rollup/rollup-linux-x64-musl" "4.52.5" + "@rollup/rollup-openharmony-arm64" "4.52.5" + "@rollup/rollup-win32-arm64-msvc" "4.52.5" + "@rollup/rollup-win32-ia32-msvc" "4.52.5" + "@rollup/rollup-win32-x64-gnu" "4.52.5" + "@rollup/rollup-win32-x64-msvc" "4.52.5" fsevents "~2.3.2" rxjs@^7.8.1, rxjs@^7.8.2: @@ -2589,12 +2509,12 @@ rxjs@^7.8.1, rxjs@^7.8.2: safe-buffer@^5.1.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex-test@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== dependencies: call-bound "^1.0.2" @@ -2603,24 +2523,24 @@ safe-regex-test@^1.1.0: scale-ts@^1.6.0, scale-ts@^1.6.1: version "1.6.1" - resolved "https://registry.npmjs.org/scale-ts/-/scale-ts-1.6.1.tgz" + resolved "https://registry.yarnpkg.com/scale-ts/-/scale-ts-1.6.1.tgz#45151e156d6c04792223c39d8e7484ce926445f2" integrity sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g== semver@^7.3.5: - version "7.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz" - integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== + version "7.7.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" + integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== serialize-javascript@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" set-function-length@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: define-data-property "^1.1.4" @@ -2632,19 +2552,19 @@ set-function-length@^1.2.2: shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== smoldot@2.0.26: @@ -2663,21 +2583,21 @@ smoldot@2.0.39: sort-keys@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-5.1.0.tgz#50a3f3d1ad3c5a76d043e0aeeba7299241e9aa5c" integrity sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ== dependencies: is-plain-obj "^4.0.0" source-map@0.8.0-beta.0: version "0.8.0-beta.0" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== dependencies: whatwg-url "^7.0.0" spdx-correct@^3.0.0: version "3.2.0" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" @@ -2685,30 +2605,30 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.5.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.21" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz" - integrity sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg== + version "3.0.22" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz#abf5a08a6f5d7279559b669f47f0a43e8f3464ef" + integrity sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ== stdin-discarder@^0.2.2: version "0.2.2" - resolved "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz" + resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.2.2.tgz#390037f44c4ae1a1ae535c5fe38dc3aba8d997be" integrity sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ== "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -2717,7 +2637,7 @@ stdin-discarder@^0.2.2: string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -2726,7 +2646,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" @@ -2743,26 +2663,19 @@ string-width@^8.1.0: "strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1, strip-ansi@^7.1.0: - version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-ansi@^7.1.2: +strip-ansi@^7.0.1, strip-ansi@^7.1.0, strip-ansi@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== @@ -2771,17 +2684,17 @@ strip-ansi@^7.1.2: strip-final-newline@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-4.0.0.tgz#35a369ec2ac43df356e3edd5dcebb6429aa1fa5c" integrity sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw== strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== sucrase@^3.35.0: version "3.35.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== dependencies: "@jridgewell/gen-mapping" "^0.3.2" @@ -2794,72 +2707,65 @@ sucrase@^3.35.0: supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.1.1: version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" thenify-all@^1.0.0: version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" tinyexec@^0.3.2: version "0.3.2" - resolved "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== tinyglobby@^0.2.11: - version "0.2.14" - resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz" - integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ== + version "0.2.15" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" + integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== dependencies: - fdir "^6.4.4" - picomatch "^4.0.2" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" + fdir "^6.5.0" + picomatch "^4.0.3" tr46@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== dependencies: punycode "^2.1.0" tree-kill@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== ts-interface-checker@^0.1.9: version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== ts-node@^10.9.2: version "10.9.2" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== dependencies: "@cspotcode/source-map-support" "^0.8.0" @@ -2878,17 +2784,17 @@ ts-node@^10.9.2: tsc-prog@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/tsc-prog/-/tsc-prog-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/tsc-prog/-/tsc-prog-2.3.0.tgz#b14ffb4e9487cca5cf42185f2a94963978faf8ee" integrity sha512-ycET2d75EgcX7y8EmG4KiZkLAwUzbY4xRhA6NU0uVbHkY4ZjrAAuzTMxXI85kOwATqPnBI5C/7y7rlpY0xdqHA== tslib@2.7.0: version "2.7.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== tslib@^2.1.0, tslib@^2.7.0, tslib@^2.8.0, tslib@^2.8.1: version "2.8.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tsup@^8.5.0: @@ -2916,32 +2822,27 @@ tsup@^8.5.0: type-fest@^4.23.0, type-fest@^4.39.1, type-fest@^4.6.0: version "4.41.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58" integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== -typescript@^5.7.2: - version "5.8.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz" - integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== - -typescript@^5.9.3: +typescript@^5.7.2, typescript@^5.9.3: version "5.9.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== -ufo@^1.5.4: +ufo@^1.6.1: version "1.6.1" - resolved "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.1.tgz#ac2db1d54614d1b22c1d603e3aef44a85d8f146b" integrity sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA== undici-types@~6.19.2: version "6.19.8" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== undici-types@~6.21.0: version "6.21.0" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== undici-types@~7.16.0: @@ -2951,17 +2852,17 @@ undici-types@~7.16.0: unicorn-magic@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== unicorn-magic@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz#4efd45c85a69e0dd576d25532fbfa22aa5c8a104" integrity sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA== util@^0.12.5: version "0.12.5" - resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== dependencies: inherits "^2.0.3" @@ -2972,12 +2873,12 @@ util@^0.12.5: v8-compile-cache-lib@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== validate-npm-package-license@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -2985,7 +2886,7 @@ validate-npm-package-license@^3.0.4: viem@2.23.4: version "2.23.4" - resolved "https://registry.npmjs.org/viem/-/viem-2.23.4.tgz" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.23.4.tgz#164279352d7b5df2603e3d338386b026dc355b80" integrity sha512-UQquuolKlS1w5H5e0Fd1KKoUlIPJryIEBzY5AUhGyV1ka+9O6+3uYVhUzj6RbvGK0PtsMKn2ddwPZFwjNDVU/A== dependencies: "@noble/curves" "1.8.1" @@ -2998,9 +2899,9 @@ viem@2.23.4: ws "8.18.0" viem@^2.37.9: - version "2.38.4" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.38.4.tgz#1523aceb2ae2d8ae67a11cbc44f3f984058659fe" - integrity sha512-qnyPNg6Lz1EEC86si/1dq7GlOyZVFHSgAW+p8Q31R5idnAYCOdTM2q5KLE4/ykMeMXzY0bnp5MWTtR/wjCtWmQ== + version "2.38.5" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.38.5.tgz#30ea97c024f720794c7838d92ab0ca0dc001f271" + integrity sha512-EU2olUnWd5kBK1t3BicwaamPHGUANRYetoDLSVzDy7XQ8o8UswItnkQbufe3xTcdRCtb2JYMwjlgHZZ7fUoLdA== dependencies: "@noble/curves" "1.9.1" "@noble/hashes" "1.8.0" @@ -3018,12 +2919,12 @@ web-streams-polyfill@^3.0.3: webidl-conversions@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== whatwg-url@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== dependencies: lodash.sortby "^4.7.0" @@ -3031,32 +2932,33 @@ whatwg-url@^7.0.0: webidl-conversions "^4.0.2" which-typed-array@^1.1.16, which-typed-array@^1.1.2: - version "1.1.18" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz" - integrity sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA== + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== dependencies: available-typed-arrays "^1.0.7" call-bind "^1.0.8" - call-bound "^1.0.3" - for-each "^0.3.3" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" gopd "^1.2.0" has-tostringtag "^1.0.2" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -workerpool@^6.5.1: - version "6.5.1" - resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz" - integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== +workerpool@^9.2.0: + version "9.3.4" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.3.4.tgz#f6c92395b2141afd78e2a889e80cb338fe9fca41" + integrity sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -3065,7 +2967,7 @@ workerpool@^6.5.1: wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -3074,7 +2976,7 @@ wrap-ansi@^7.0.0: wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -3083,7 +2985,7 @@ wrap-ansi@^8.1.0: write-file-atomic@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== dependencies: imurmurhash "^0.1.4" @@ -3091,7 +2993,7 @@ write-file-atomic@^5.0.1: write-json-file@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-6.0.0.tgz#52f5d8178c5beb543ed14a2a24195b696b27e7cb" integrity sha512-MNHcU3f9WxnNyR6MxsYSj64Jz0+dwIpisWKWq9gqLj/GwmA9INg3BZ3vt70/HB3GEwrnDQWr4RPrywnhNzmUFA== dependencies: detect-indent "^7.0.1" @@ -3112,32 +3014,32 @@ write-package@^7.2.0: ws@8.17.1: version "8.17.1" - resolved "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== ws@8.18.0: version "8.18.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== ws@8.18.3, ws@^8.18.0, ws@^8.18.2, ws@^8.18.3, ws@^8.8.1: version "8.18.3" - resolved "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== y18n@^5.0.5: version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yargs-parser@^21.1.1: version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs-unparser@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== dependencies: camelcase "^6.0.0" @@ -3147,7 +3049,7 @@ yargs-unparser@^2.0.0: yargs@^17.7.2: version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: cliui "^8.0.1" @@ -3160,15 +3062,15 @@ yargs@^17.7.2: yn@3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== yoctocolors@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz" - integrity sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ== + version "2.1.2" + resolved "https://registry.yarnpkg.com/yoctocolors/-/yoctocolors-2.1.2.tgz#d795f54d173494e7d8db93150cec0ed7f678c83a" + integrity sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug== From b56d3607db694633c6c11c4792bf503f482af5b4 Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 10:17:50 +0800 Subject: [PATCH 13/21] fix package issue --- evm-tests/package.json | 6 +++--- evm-tests/yarn.lock | 22 +++++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/evm-tests/package.json b/evm-tests/package.json index 10509e0e28..015e8f51dd 100644 --- a/evm-tests/package.json +++ b/evm-tests/package.json @@ -9,14 +9,14 @@ "@polkadot-api/descriptors": "file:.papi/descriptors", "@polkadot-api/ink-contracts": "^0.4.1", "@polkadot-api/sdk-ink": "^0.5.1", - "@polkadot-labs/hdkd": "^0.0.23", - "@polkadot-labs/hdkd-helpers": "^0.0.23", - "@polkadot/api": "^16.4.9", + "@polkadot-labs/hdkd": "^0.0.25", + "@polkadot-labs/hdkd-helpers": "^0.0.25", "@types/mocha": "^10.0.10", "dotenv": "17.2.1", "ethers": "^6.13.5", "mocha": "^11.1.0", "polkadot-api": "^1.20.0", + "@polkadot/api": "^16.4.6", "rxjs": "^7.8.2", "scale-ts": "^1.6.1", "viem": "2.23.4", diff --git a/evm-tests/yarn.lock b/evm-tests/yarn.lock index 924ea72caf..fb6f7db260 100644 --- a/evm-tests/yarn.lock +++ b/evm-tests/yarn.lock @@ -592,10 +592,10 @@ "@types/ws" "^8.18.1" ws "^8.18.3" -"@polkadot-labs/hdkd-helpers@^0.0.23": - version "0.0.23" - resolved "https://registry.yarnpkg.com/@polkadot-labs/hdkd-helpers/-/hdkd-helpers-0.0.23.tgz#68b8ec8fb3e26e1eaeed289db2fa54eb13adefe9" - integrity sha512-wfayRSCqOhcg4eaTltdynQHrn53FftGZ3Ws1HmxlE4N6VJYTfsTrfHAWI7l3BZz14nUUDDZe7IlvyX14Qqaakw== +"@polkadot-labs/hdkd-helpers@^0.0.25": + version "0.0.25" + resolved "https://registry.yarnpkg.com/@polkadot-labs/hdkd-helpers/-/hdkd-helpers-0.0.25.tgz#6f70f4836acc3f821521babd17d52ab1a92ef13a" + integrity sha512-GwHayBuyHKfzvGD0vG47NbjFeiK6rRQHQAn1syut9nt0mhXMg4yb3tJ//IyM317qWuDU3HbD2OIp5jKDEQz2/A== dependencies: "@noble/curves" "^2.0.0" "@noble/hashes" "^2.0.0" @@ -603,7 +603,7 @@ "@scure/sr25519" "^0.3.0" scale-ts "^1.6.1" -"@polkadot-labs/hdkd-helpers@~0.0.23": +"@polkadot-labs/hdkd-helpers@~0.0.26": version "0.0.26" resolved "https://registry.yarnpkg.com/@polkadot-labs/hdkd-helpers/-/hdkd-helpers-0.0.26.tgz#06d74f16f0e4c131fd1b1cc004e4411030f33610" integrity sha512-mp3GCSiOQeh4aPt+DYBQq6UnX/tKgYUH5F75knjW3ATSA90ifEEWWjRan0Bddt4QKYKamaDGadK9GbVREgzQFw== @@ -614,12 +614,12 @@ "@scure/sr25519" "^0.3.0" scale-ts "^1.6.1" -"@polkadot-labs/hdkd@^0.0.23": - version "0.0.23" - resolved "https://registry.yarnpkg.com/@polkadot-labs/hdkd/-/hdkd-0.0.23.tgz#fecacb353c7f9d15aa9f826ba4208e8828935399" - integrity sha512-EyBNsdoX2SQrjp3PpBv2kvtkvL3714ydqKwXH1t3kWOuBq6VwnOm0zRMkmGawhFA+25aUEnBC/dmwI4Xb4hCYg== +"@polkadot-labs/hdkd@^0.0.25": + version "0.0.25" + resolved "https://registry.yarnpkg.com/@polkadot-labs/hdkd/-/hdkd-0.0.25.tgz#cb7725792485ee5dcf0a7a8491dff1989adf5cd3" + integrity sha512-+yZJC1TE4ZKdfoILw8nGxu3H/klrYXm9GdVB0kcyQDecq320ThUmM1M4l8d1F/3QD0Nez9NwHi9t5B++OgJU5A== dependencies: - "@polkadot-labs/hdkd-helpers" "~0.0.23" + "@polkadot-labs/hdkd-helpers" "~0.0.26" "@polkadot/api-augment@16.4.9": version "16.4.9" @@ -661,7 +661,7 @@ rxjs "^7.8.1" tslib "^2.8.1" -"@polkadot/api@16.4.9", "@polkadot/api@^16.4.9": +"@polkadot/api@16.4.9", "@polkadot/api@^16.4.6": version "16.4.9" resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-16.4.9.tgz#ee3ca7e23a9e009ca64b5de67236e1e4a6c7d777" integrity sha512-bcJebd7RFWZYNL6hBwwLOq3jly3C5VL8BADqY2yu+ZfoFYQqdg7VrYhcmnl8O5IiG1DOpYIbuekRpKuBMkjNmw== From 91b5551179aae1258eb2a926595e10631a4a0f9f Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 10:36:42 +0800 Subject: [PATCH 14/21] try add stake --- evm-tests/package.json | 2 +- evm-tests/test/wasm.contract.test.ts | 33 ++++++++++++++-------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/evm-tests/package.json b/evm-tests/package.json index 015e8f51dd..80ef769f6d 100644 --- a/evm-tests/package.json +++ b/evm-tests/package.json @@ -1,6 +1,6 @@ { "scripts": { - "test": "mocha --timeout 999999 --file src/setup.ts --require ts-node/register test/alpha*test.ts" + "test": "mocha --timeout 999999 --file src/setup.ts --require ts-node/register test/wasm*test.ts" }, "keywords": [], "author": "", diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index ace2a9c6e3..a2027a9ecf 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -77,10 +77,11 @@ describe("Test wasm contract", () => { it("Can query stake info from contract", async () => { let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - const signer = getSignerFromKeypair(coldkey); - const inkClient = getInkClient(contracts.bittensor) - const query = inkClient.message("dummy") - const data = query.encode() // No parameters needed + // const signer = getSignerFromKeypair(coldkey); + // const inkClient = getInkClient(contracts.bittensor) + // const query = inkClient.message("dummy") + // const data = query.encode() + // No parameters needed // const queryTx = await api.tx.Contracts.call({ // dest: MultiAddress.Id(contractAddress), // data: Binary.fromBytes(data.asBytes()), @@ -92,18 +93,18 @@ describe("Test wasm contract", () => { // storage_deposit_limit: BigInt(10000000), // }).signAndSubmit(signer) - const response = await api.apis.ContractsApi.call( - convertPublicKeyToSs58(coldkey.publicKey), - contractAddress, - BigInt(0), - { - ref_time: BigInt(1000000000), - proof_size: BigInt(10000000), - }, - BigInt(1000000000), - Binary.fromBytes(data.asBytes()), - undefined, - ) + // const response = await api.apis.ContractsApi.call( + // convertPublicKeyToSs58(coldkey.publicKey), + // contractAddress, + // BigInt(0), + // { + // ref_time: BigInt(1000000000), + // proof_size: BigInt(10000000), + // }, + // BigInt(1000000000), + // Binary.fromBytes(data.asBytes()), + // undefined, + // ) // console.log("===== response", response.result.asBytes().toString()) From ee2a710a42e14f0c01e972ff2b298cf99884b2f4 Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 10:56:50 +0800 Subject: [PATCH 15/21] add wasm file --- evm-tests/bittensor.wasm | Bin 0 -> 8721 bytes evm-tests/test/wasm.contract.test.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 evm-tests/bittensor.wasm diff --git a/evm-tests/bittensor.wasm b/evm-tests/bittensor.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b5990518bb430a11d3f037c2e29f63816703d6a8 GIT binary patch literal 8721 zcmdT~Ym8iF8U8M3X3ox;**)D}SXtC_j+M-6>MlfgmK|c}YtmU(Lg>%NKiv(il-cdJ zOt%gAgBhS=ZGm8{NfR(3#DIyx_|u;lO+bx;M3ERnjPXJ=N=z{D!+_88o$I!{Ero>$ zg#FHW=exX@=e>OIK`b6WB83ogueYH3eZfDnzo7eea4_&y2ul$QB@#%H@gK1u@S^VR z3-wJ|DIH&0T)ED>V`=Ts@wKD9#XFXSwzR3zovX)AtO;S?uJ?{#JY&agiz_RKZachq z=jx%QyVsUhkKcK8Rg~l9Sg^QqsJFCsqPHqaF>Tw)#g!9Fht_(FtH-~x)axzXE`(lM zJy|}obmVC79wn8puNhbPN0bCatO!>ONm12ON=FFCDeuyKX$Aww>kAB}bf|1o4w(_3 zEZ@F#Y~|=ZBB;J*#y=}%U-ttQ=#JA5L@5w~?gkQn_6RX6@MdH;)HUgO-cig|ZOo9j zI2b~$+kx6&$J#)yn;l3ll7TXEIaD>_2`>UWf_tVJbar-2(5^8}oJnS9_)E z+x?uj5hGr5sO1Rf2{0BqDMMhQ8$zbQ>D0lK6X<2H3VFa?;CtRIwxWOyjLvYa&E>G#zaBNFJBE+IMd1ovufF&Z5*mN2q3FGtFvF?NxO~H4|Mv%W-HXGS{AT7gFR6$EN zAR@(~fG>*fZsDDkveXYGsMt+nw@9VWemBzTvkM)^&(v^KGQoUQ-cQj2JSUt|>5)B; zoME@X@=U9`R!<-kS$_JW?1^MhfTgn6hHbczM<}D_BklAJuuc=H_3BV|YdML9Evc|b zx1{iXuT-h8?%mYBM$L-rKLGn?`&!nW#J(97NT`Ms!+}+!a>1@JGX+uYpln=1SVJ3O z#ZL7Ti8T~P+v6uU1U7u%yd&=dBov$jlE+8frK`&L8&E)54Wj- zkD$`j0aYX{`#DnP;N=E~S|5ufqY%s|Et5E$wx`=#l){-2p*+hch@EkR8RJ+h$Gumz za{7`sdQ=vD(7)IRUlU}w0UQz|)(ih=Nde%PkzTPRAh(o~=!h+L#1Fug}QS^G1p`w6^)YoY$91QX3?0F1=3NnI? zQczPynBfx0kP+I;AV9>7fS3jfRFF~#paV8?@#$DoPuZXmmH`2a7{6%6XQ>zv+ zU%~*NyQvUS9+iwJ*8(RnuD=|~-9(6(Ry7NiTGu$fXZ?TOG=yR34oPgp+H0h1B&I2# z7t?N1$n^vZ_7j*G$1idgZ!1i#>jP^IRWn1kI&Ee!2o_3A;RdE;5PuGgdymUF@M9l) z;J(2?HkC`|43HccX_avRHNP6jNjQY|cR>$2z{6F1Xv7bD;4<3Z9w;UsheIur^Y&mo zJ4j^;d5CU-y|Jl=M=-P_@Yw_WF(kHFIJ#Je4mDm-TB41X9JULFyGG^O$aR}cYicG7 zqSLtfv|BS#9jHvhHGwnaNXAt}A8QUU2O71f!B9DH3W9)FGVNFm!jI2fneM1EtGifb zTdS#)nQWIbBaFDU$6gV9SSutrYR9^ml>1Vp+=Pd#wwSx^f+#lkDI`J0X#W%N94N|C zSsoe{YIEPfu_YF=hf#AV!$2^|0m5kfdVl z=#ft#e8VMG+uy-JZ%T8?On_&`E)b}Xd`ah=iCml}Z>?jxY6q@ynCyf(Mc+GzDI_6c zOsn&@C}uV(nX!{_r;_ncA{Ld5doom9z5ZYPz-$ONheUW8?bIt6!cLt_r#f|s;S2aJ zU53}$cB0;0JOJX`E007IVE`-8ZPcYbbTKxo$3*^B4S*O!^ld>myJCVzw~nWY@1534y6D zvW^Xmd(k_6@mTSY;UVnUdv9%C3>h(;0S27_Y{ggb)Keg5gE zQCgtVZimqLggzW@4@RF3o!T&2{CvvdD>;k5fpGO<9FVh^u}AWU!XB|(gJraN4hoJ{ z{Zh{3A7BQFdK3z;Tb9hZfit0O#-zT?13F|Hu!n!6q!vGMjA6Y(nz;u?fL* zf;ol0`Crk6Vy2On#iZ<^Acq6O=!DhI99BCwgcVjC3#-K1S_th-=+iPBy9VSZQ$ z!BZ$(&LcL^7wqye^F8Y^;dWC2>n>S8pLt=2RDgxGjW_-K%4{g4#$98 zCW!Zl72whazY1k~K9lKJxllJiD5^7aw4zWIGxUEfRGC6OlL_^?3}b*>8nwz7W2{bE z19=#iQB1r0F5?1iX1lGaaw+cQ5)*mapLa--oTA8*ehHGY3&b6tFApsHQdd!?j zQ_+K1gZ({I1NWNT|1RVHY>vynftX~T*sU&=@em)fvv;RwUs)QggByq3{3qk)J2^K{ zTFMQsGE~eZ^6wUKGaT!t;Fd@*Ny)^}^?p*q#Jeq-j2CJTT@wEqUO0hA+$C?s;V6?) z{NiDz8@WE5qM>e#Y<_M>Wn1!sQ(VSGuq`MrN830VkmP^e!1WQ|SSy!{i_NHFIfVSa5)b0=w^HI-#%vQK+j@=%6dG$X|9c=lL_h0@sHz-jD5O>ndoD!)RmzHtFp(3P4C#1@9UgrUT56EzjQGD1&h zbH9w>lJ5#MXlep9wD+!H)Pg34P7Tkf&MpLy?WkS?KxaM#0Hu(*BDdJYA)L!N#M#Tp z^IRd*2qYHsf+ZC4>C2Wd8DE)`)bm9E-8m11(S#f%q^6K(MtcyoVLO zzh<8|;u3FzeyT%`z&JL8wb{ofL+q#Wg!ww|LAX1hX^Ky{Xp@47rYYL^ycs#Fjfc3I z@K4Fsr!h~$CDDl_L7{^Tt_mc$0$TmFQe&-;E mw(P}M5i;uDQkV9BD new Promise(resolve => setTimeout(resolve, ms)); From 705a6364da1cefc0cc70a431f96734ffe783e5c8 Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 19:52:17 +0800 Subject: [PATCH 16/21] remove stake is ok --- evm-tests/bittensor.json | 1131 -------------------------- evm-tests/bittensor.wasm | Bin 8721 -> 0 bytes evm-tests/get-metadata.sh | 2 +- evm-tests/run-ci.sh | 10 +- evm-tests/src/subtensor.ts | 15 + evm-tests/test/wasm.contract.test.ts | 99 ++- 6 files changed, 85 insertions(+), 1172 deletions(-) delete mode 100644 evm-tests/bittensor.json delete mode 100644 evm-tests/bittensor.wasm diff --git a/evm-tests/bittensor.json b/evm-tests/bittensor.json deleted file mode 100644 index 48640c319d..0000000000 --- a/evm-tests/bittensor.json +++ /dev/null @@ -1,1131 +0,0 @@ -{ - "source": { - "hash": "0xb535a702a723ac01720af0628afcd79e6816e32ea489ac77434af6777d94fefa", - "language": "ink! 5.1.1", - "compiler": "rustc 1.88.0", - "build_info": { - "build_mode": "Release", - "cargo_contract_version": "5.0.3", - "rust_toolchain": "stable-x86_64-unknown-linux-gnu", - "wasm_opt_settings": { - "keep_debug_symbols": false, - "optimization_passes": "Z" - } - } - }, - "contract": { - "name": "bittensor", - "version": "0.1.0", - "authors": [ - "[your_name] <[your_email]>" - ] - }, - "image": null, - "spec": { - "constructors": [ - { - "args": [], - "default": false, - "docs": [ - "Constructor" - ], - "label": "new", - "payable": false, - "returnType": { - "displayName": [ - "ink_primitives", - "ConstructorResult" - ], - "type": 1 - }, - "selector": "0x9bae9d5e" - }, - { - "args": [], - "default": false, - "docs": [ - "Constructor" - ], - "label": "default", - "payable": false, - "returnType": { - "displayName": [ - "ink_primitives", - "ConstructorResult" - ], - "type": 1 - }, - "selector": "0xed4b9d1b" - } - ], - "docs": [], - "environment": { - "accountId": { - "displayName": [ - "AccountId" - ], - "type": 14 - }, - "balance": { - "displayName": [ - "Balance" - ], - "type": 11 - }, - "blockNumber": { - "displayName": [ - "BlockNumber" - ], - "type": 16 - }, - "chainExtension": { - "displayName": [ - "ChainExtension" - ], - "type": 17 - }, - "hash": { - "displayName": [ - "Hash" - ], - "type": 15 - }, - "maxEventTopics": 4, - "staticBufferSize": 16384, - "timestamp": { - "displayName": [ - "Timestamp" - ], - "type": 11 - } - }, - "events": [], - "lang_error": { - "displayName": [ - "ink", - "LangError" - ], - "type": 3 - }, - "messages": [ - { - "args": [], - "default": false, - "docs": [], - "label": "dummy", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 4 - }, - "selector": "0x66ae71c0" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "amount", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - } - ], - "default": false, - "docs": [], - "label": "add_stake", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x3a656e31" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "amount", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - } - ], - "default": false, - "docs": [], - "label": "remove_stake", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x7758d434" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - } - ], - "default": false, - "docs": [], - "label": "unstake_all", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x3f525cc7" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - } - ], - "default": false, - "docs": [], - "label": "unstake_all_alpha", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0xab74c422" - }, - { - "args": [ - { - "label": "origin_hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "destination_hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "origin_netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "destination_netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "amount", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - } - ], - "default": false, - "docs": [], - "label": "move_stake", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0xa06b0c55" - }, - { - "args": [ - { - "label": "destination_coldkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "origin_netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "destination_netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "amount", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - } - ], - "default": false, - "docs": [], - "label": "transfer_stake", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x3528ef5e" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "origin_netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "destination_netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "amount", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - } - ], - "default": false, - "docs": [], - "label": "swap_stake", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x04f7ca30" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "amount", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - }, - { - "label": "limit_price", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - }, - { - "label": "allow_partial", - "type": { - "displayName": [ - "bool" - ], - "type": 6 - } - } - ], - "default": false, - "docs": [], - "label": "add_stake_limit", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x30013b98" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "amount", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - }, - { - "label": "limit_price", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - }, - { - "label": "allow_partial", - "type": { - "displayName": [ - "bool" - ], - "type": 6 - } - } - ], - "default": false, - "docs": [], - "label": "remove_stake_limit", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0xc3ce39c8" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "origin_netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "destination_netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "amount", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - }, - { - "label": "limit_price", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - }, - { - "label": "allow_partial", - "type": { - "displayName": [ - "bool" - ], - "type": 6 - } - } - ], - "default": false, - "docs": [], - "label": "swap_stake_limit", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x212ef7ad" - }, - { - "args": [ - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - }, - { - "label": "netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "limit_price", - "type": { - "displayName": [ - "u64" - ], - "type": 11 - } - } - ], - "default": false, - "docs": [], - "label": "remove_stake_full_limit", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0xa6d6ea64" - }, - { - "args": [ - { - "label": "netuid", - "type": { - "displayName": [ - "u16" - ], - "type": 10 - } - }, - { - "label": "hotkey", - "type": { - "displayName": [], - "type": 8 - } - } - ], - "default": false, - "docs": [], - "label": "set_coldkey_auto_stake_hotkey", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0xe24f0d8a" - }, - { - "args": [ - { - "label": "delegate", - "type": { - "displayName": [], - "type": 8 - } - } - ], - "default": false, - "docs": [], - "label": "add_proxy", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x528b6757" - }, - { - "args": [ - { - "label": "delegate", - "type": { - "displayName": [], - "type": 8 - } - } - ], - "default": false, - "docs": [], - "label": "remove_proxy", - "mutates": false, - "payable": false, - "returnType": { - "displayName": [ - "ink", - "MessageResult" - ], - "type": 12 - }, - "selector": "0x129d4f75" - } - ] - }, - "storage": { - "root": { - "layout": { - "struct": { - "fields": [], - "name": "Bittensor" - } - }, - "root_key": "0x00000000", - "ty": 0 - } - }, - "types": [ - { - "id": 0, - "type": { - "def": { - "composite": {} - }, - "path": [ - "bittensor", - "bittensor", - "Bittensor" - ] - } - }, - { - "id": 1, - "type": { - "def": { - "variant": { - "variants": [ - { - "fields": [ - { - "type": 2 - } - ], - "index": 0, - "name": "Ok" - }, - { - "fields": [ - { - "type": 3 - } - ], - "index": 1, - "name": "Err" - } - ] - } - }, - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "E", - "type": 3 - } - ], - "path": [ - "Result" - ] - } - }, - { - "id": 2, - "type": { - "def": { - "tuple": [] - } - } - }, - { - "id": 3, - "type": { - "def": { - "variant": { - "variants": [ - { - "index": 1, - "name": "CouldNotReadInput" - } - ] - } - }, - "path": [ - "ink_primitives", - "LangError" - ] - } - }, - { - "id": 4, - "type": { - "def": { - "variant": { - "variants": [ - { - "fields": [ - { - "type": 5 - } - ], - "index": 0, - "name": "Ok" - }, - { - "fields": [ - { - "type": 3 - } - ], - "index": 1, - "name": "Err" - } - ] - } - }, - "params": [ - { - "name": "T", - "type": 5 - }, - { - "name": "E", - "type": 3 - } - ], - "path": [ - "Result" - ] - } - }, - { - "id": 5, - "type": { - "def": { - "variant": { - "variants": [ - { - "fields": [ - { - "type": 6 - } - ], - "index": 0, - "name": "Ok" - }, - { - "fields": [ - { - "type": 7 - } - ], - "index": 1, - "name": "Err" - } - ] - } - }, - "params": [ - { - "name": "T", - "type": 6 - }, - { - "name": "E", - "type": 7 - } - ], - "path": [ - "Result" - ] - } - }, - { - "id": 6, - "type": { - "def": { - "primitive": "bool" - } - } - }, - { - "id": 7, - "type": { - "def": { - "variant": { - "variants": [ - { - "index": 0, - "name": "ReadFailed" - }, - { - "index": 1, - "name": "WriteFailed" - } - ] - } - }, - "path": [ - "bittensor", - "ReadWriteErrorCode" - ] - } - }, - { - "id": 8, - "type": { - "def": { - "array": { - "len": 32, - "type": 9 - } - } - } - }, - { - "id": 9, - "type": { - "def": { - "primitive": "u8" - } - } - }, - { - "id": 10, - "type": { - "def": { - "primitive": "u16" - } - } - }, - { - "id": 11, - "type": { - "def": { - "primitive": "u64" - } - } - }, - { - "id": 12, - "type": { - "def": { - "variant": { - "variants": [ - { - "fields": [ - { - "type": 13 - } - ], - "index": 0, - "name": "Ok" - }, - { - "fields": [ - { - "type": 3 - } - ], - "index": 1, - "name": "Err" - } - ] - } - }, - "params": [ - { - "name": "T", - "type": 13 - }, - { - "name": "E", - "type": 3 - } - ], - "path": [ - "Result" - ] - } - }, - { - "id": 13, - "type": { - "def": { - "variant": { - "variants": [ - { - "fields": [ - { - "type": 2 - } - ], - "index": 0, - "name": "Ok" - }, - { - "fields": [ - { - "type": 7 - } - ], - "index": 1, - "name": "Err" - } - ] - } - }, - "params": [ - { - "name": "T", - "type": 2 - }, - { - "name": "E", - "type": 7 - } - ], - "path": [ - "Result" - ] - } - }, - { - "id": 14, - "type": { - "def": { - "composite": { - "fields": [ - { - "type": 8, - "typeName": "[u8; 32]" - } - ] - } - }, - "path": [ - "ink_primitives", - "types", - "AccountId" - ] - } - }, - { - "id": 15, - "type": { - "def": { - "composite": { - "fields": [ - { - "type": 8, - "typeName": "[u8; 32]" - } - ] - } - }, - "path": [ - "ink_primitives", - "types", - "Hash" - ] - } - }, - { - "id": 16, - "type": { - "def": { - "primitive": "u32" - } - } - }, - { - "id": 17, - "type": { - "def": { - "variant": {} - }, - "path": [ - "bittensor", - "RuntimeReadWrite" - ] - } - } - ], - "version": 5 -} \ No newline at end of file diff --git a/evm-tests/bittensor.wasm b/evm-tests/bittensor.wasm deleted file mode 100644 index b5990518bb430a11d3f037c2e29f63816703d6a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8721 zcmdT~Ym8iF8U8M3X3ox;**)D}SXtC_j+M-6>MlfgmK|c}YtmU(Lg>%NKiv(il-cdJ zOt%gAgBhS=ZGm8{NfR(3#DIyx_|u;lO+bx;M3ERnjPXJ=N=z{D!+_88o$I!{Ero>$ zg#FHW=exX@=e>OIK`b6WB83ogueYH3eZfDnzo7eea4_&y2ul$QB@#%H@gK1u@S^VR z3-wJ|DIH&0T)ED>V`=Ts@wKD9#XFXSwzR3zovX)AtO;S?uJ?{#JY&agiz_RKZachq z=jx%QyVsUhkKcK8Rg~l9Sg^QqsJFCsqPHqaF>Tw)#g!9Fht_(FtH-~x)axzXE`(lM zJy|}obmVC79wn8puNhbPN0bCatO!>ONm12ON=FFCDeuyKX$Aww>kAB}bf|1o4w(_3 zEZ@F#Y~|=ZBB;J*#y=}%U-ttQ=#JA5L@5w~?gkQn_6RX6@MdH;)HUgO-cig|ZOo9j zI2b~$+kx6&$J#)yn;l3ll7TXEIaD>_2`>UWf_tVJbar-2(5^8}oJnS9_)E z+x?uj5hGr5sO1Rf2{0BqDMMhQ8$zbQ>D0lK6X<2H3VFa?;CtRIwxWOyjLvYa&E>G#zaBNFJBE+IMd1ovufF&Z5*mN2q3FGtFvF?NxO~H4|Mv%W-HXGS{AT7gFR6$EN zAR@(~fG>*fZsDDkveXYGsMt+nw@9VWemBzTvkM)^&(v^KGQoUQ-cQj2JSUt|>5)B; zoME@X@=U9`R!<-kS$_JW?1^MhfTgn6hHbczM<}D_BklAJuuc=H_3BV|YdML9Evc|b zx1{iXuT-h8?%mYBM$L-rKLGn?`&!nW#J(97NT`Ms!+}+!a>1@JGX+uYpln=1SVJ3O z#ZL7Ti8T~P+v6uU1U7u%yd&=dBov$jlE+8frK`&L8&E)54Wj- zkD$`j0aYX{`#DnP;N=E~S|5ufqY%s|Et5E$wx`=#l){-2p*+hch@EkR8RJ+h$Gumz za{7`sdQ=vD(7)IRUlU}w0UQz|)(ih=Nde%PkzTPRAh(o~=!h+L#1Fug}QS^G1p`w6^)YoY$91QX3?0F1=3NnI? zQczPynBfx0kP+I;AV9>7fS3jfRFF~#paV8?@#$DoPuZXmmH`2a7{6%6XQ>zv+ zU%~*NyQvUS9+iwJ*8(RnuD=|~-9(6(Ry7NiTGu$fXZ?TOG=yR34oPgp+H0h1B&I2# z7t?N1$n^vZ_7j*G$1idgZ!1i#>jP^IRWn1kI&Ee!2o_3A;RdE;5PuGgdymUF@M9l) z;J(2?HkC`|43HccX_avRHNP6jNjQY|cR>$2z{6F1Xv7bD;4<3Z9w;UsheIur^Y&mo zJ4j^;d5CU-y|Jl=M=-P_@Yw_WF(kHFIJ#Je4mDm-TB41X9JULFyGG^O$aR}cYicG7 zqSLtfv|BS#9jHvhHGwnaNXAt}A8QUU2O71f!B9DH3W9)FGVNFm!jI2fneM1EtGifb zTdS#)nQWIbBaFDU$6gV9SSutrYR9^ml>1Vp+=Pd#wwSx^f+#lkDI`J0X#W%N94N|C zSsoe{YIEPfu_YF=hf#AV!$2^|0m5kfdVl z=#ft#e8VMG+uy-JZ%T8?On_&`E)b}Xd`ah=iCml}Z>?jxY6q@ynCyf(Mc+GzDI_6c zOsn&@C}uV(nX!{_r;_ncA{Ld5doom9z5ZYPz-$ONheUW8?bIt6!cLt_r#f|s;S2aJ zU53}$cB0;0JOJX`E007IVE`-8ZPcYbbTKxo$3*^B4S*O!^ld>myJCVzw~nWY@1534y6D zvW^Xmd(k_6@mTSY;UVnUdv9%C3>h(;0S27_Y{ggb)Keg5gE zQCgtVZimqLggzW@4@RF3o!T&2{CvvdD>;k5fpGO<9FVh^u}AWU!XB|(gJraN4hoJ{ z{Zh{3A7BQFdK3z;Tb9hZfit0O#-zT?13F|Hu!n!6q!vGMjA6Y(nz;u?fL* zf;ol0`Crk6Vy2On#iZ<^Acq6O=!DhI99BCwgcVjC3#-K1S_th-=+iPBy9VSZQ$ z!BZ$(&LcL^7wqye^F8Y^;dWC2>n>S8pLt=2RDgxGjW_-K%4{g4#$98 zCW!Zl72whazY1k~K9lKJxllJiD5^7aw4zWIGxUEfRGC6OlL_^?3}b*>8nwz7W2{bE z19=#iQB1r0F5?1iX1lGaaw+cQ5)*mapLa--oTA8*ehHGY3&b6tFApsHQdd!?j zQ_+K1gZ({I1NWNT|1RVHY>vynftX~T*sU&=@em)fvv;RwUs)QggByq3{3qk)J2^K{ zTFMQsGE~eZ^6wUKGaT!t;Fd@*Ny)^}^?p*q#Jeq-j2CJTT@wEqUO0hA+$C?s;V6?) z{NiDz8@WE5qM>e#Y<_M>Wn1!sQ(VSGuq`MrN830VkmP^e!1WQ|SSy!{i_NHFIfVSa5)b0=w^HI-#%vQK+j@=%6dG$X|9c=lL_h0@sHz-jD5O>ndoD!)RmzHtFp(3P4C#1@9UgrUT56EzjQGD1&h zbH9w>lJ5#MXlep9wD+!H)Pg34P7Tkf&MpLy?WkS?KxaM#0Hu(*BDdJYA)L!N#M#Tp z^IRd*2qYHsf+ZC4>C2Wd8DE)`)bm9E-8m11(S#f%q^6K(MtcyoVLO zzh<8|;u3FzeyT%`z&JL8wb{ofL+q#Wg!ww|LAX1hX^Ky{Xp@47rYYL^ycs#Fjfc3I z@K4Fsr!h~$CDDl_L7{^Tt_mc$0$TmFQe&-;E mw(P}M5i;uDQkV9BD, coldkey: KeyPair, contractAddress: string, data: Binary) { + const signer = getSignerFromKeypair(coldkey) + const tx = await api.tx.Contracts.call({ + value: BigInt(0), + dest: MultiAddress.Id(contractAddress), + data: Binary.fromBytes(data.asBytes()), + gas_limit: { + ref_time: BigInt(10000000000), + proof_size: BigInt(10000000), + }, + storage_deposit_limit: BigInt(1000000000) + }) + await waitForTransactionWithRetry(api, tx, signer) +} \ No newline at end of file diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index b5f63fd9ca..3bdf45ee96 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -1,7 +1,7 @@ -import { getDevnetApi, getAliceSigner, getRandomSubstrateKeypair, getSignerFromKeypair, waitForTransactionWithRetry } from "../src/substrate" +import { getDevnetApi, getRandomSubstrateKeypair, getSignerFromKeypair, waitForTransactionWithRetry } from "../src/substrate" import { devnet, MultiAddress } from "@polkadot-api/descriptors"; import { Binary, PolkadotSigner, TypedApi } from "polkadot-api"; - +import * as assert from "assert"; import { contracts } from "../.papi/descriptors"; import { ETH_LOCAL_URL } from "../src/config"; @@ -9,11 +9,11 @@ import { ISTAKING_ADDRESS, ISTAKING_V2_ADDRESS, IStakingABI, IStakingV2ABI } fro import { getInkClient, InkClient, } from "@polkadot-api/ink-contracts" import fs from "fs" import { convertPublicKeyToSs58 } from "../src/address-utils"; -import { addNewSubnetwork, burnedRegister, forceSetBalanceToSs58Address, startCall } from "../src/subtensor"; +import { addNewSubnetwork, burnedRegister, forceSetBalanceToSs58Address, sendWasmContractExtrinsic, startCall } from "../src/subtensor"; +import { tao } from "../src/balance-math"; -const bittensorWasmPath = "./bittensor.wasm" +const bittensorWasmPath = "./bittensor/target/ink/bittensor.wasm" const bittensorBytecode = fs.readFileSync(bittensorWasmPath) -const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); describe("Test wasm contract", () => { @@ -21,29 +21,33 @@ describe("Test wasm contract", () => { const hotkey = getRandomSubstrateKeypair(); const coldkey = getRandomSubstrateKeypair(); + const hotkey2 = getRandomSubstrateKeypair(); + const coldkey2 = getRandomSubstrateKeypair(); + // let inkClient: InkClient; let contractAddress: string; + let inkClient: InkClient; - // sudo account alice as signer - let alice: PolkadotSigner; before(async () => { // init variables got from await and async api = await getDevnetApi() - alice = await getAliceSigner(); + + inkClient = getInkClient(contracts.bittensor) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey)) - let netuid = await addNewSubnetwork(api, hotkey, coldkey) + await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey2.publicKey)) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey.publicKey)) + await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey2.publicKey)) + let netuid = await addNewSubnetwork(api, hotkey, coldkey) await startCall(api, netuid, coldkey) console.log("test the case on subnet ", netuid) await burnedRegister(api, netuid, convertPublicKeyToSs58(hotkey.publicKey), coldkey) - + await burnedRegister(api, netuid, convertPublicKeyToSs58(hotkey2.publicKey), coldkey2) }) it("Can instantiate contract", async () => { const signer = getSignerFromKeypair(coldkey); - const inkClient = getInkClient(contracts.bittensor) const constructor = inkClient.constructor('new') const data = constructor.encode() const instantiate_with_code = await api.tx.Contracts.instantiate_with_code({ @@ -60,14 +64,14 @@ describe("Test wasm contract", () => { let codeStoredEvents = await api.event.Contracts.Instantiated.filter(instantiate_with_code.events) if (codeStoredEvents.length === 0) { - throw new Error("No events found") + throw new Error("No events found after instantiating contract call") } contractAddress = codeStoredEvents[0].contract // transfer 10 Tao to contract then we can stake const transfer = await api.tx.Balances.transfer_keep_alive({ dest: MultiAddress.Id(contractAddress), - value: BigInt(10000000000), + value: tao(1000), }) await waitForTransactionWithRetry(api, transfer, signer) @@ -111,16 +115,15 @@ describe("Test wasm contract", () => { }) it("Can add stake to contract", async () => { - console.log("===== Can add stake to contract") let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - let amount = BigInt(1000000000) + const stake = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - const balance = await api.query.System.Account.getValue(convertPublicKeyToSs58(coldkey.publicKey)) - console.log("===== coldkey", convertPublicKeyToSs58(coldkey.publicKey)) - console.log("===== balance", balance.data.free) + let amount = tao(800) - const signer = getSignerFromKeypair(coldkey); - const inkClient = getInkClient(contracts.bittensor) const message = inkClient.message("add_stake") const data = message.encode({ hotkey: Binary.fromBytes(hotkey.publicKey), @@ -128,21 +131,47 @@ describe("Test wasm contract", () => { amount: amount, }) - const tx = await api.tx.Contracts.call({ - value: BigInt(0), - dest: MultiAddress.Id(contractAddress), - data: Binary.fromBytes(data.asBytes()), - gas_limit: { - ref_time: BigInt(10000000000), - proof_size: BigInt(10000000), - }, - storage_deposit_limit: BigInt(1000000000) - }).signAndSubmit(signer) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + const stakeAfterAddStake = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake + + assert.ok(stakeAfterAddStake !== undefined) + assert.ok(stake !== undefined) + assert.ok(stakeAfterAddStake > stake) + }) + + it("Can remove stake to contract", async () => { + let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + const stake = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake + + assert.ok(stake !== undefined) + + let amount = stake / BigInt(2) + const message = inkClient.message("remove_stake") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + netuid: netuid, + amount: amount, + }) + + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + const stakeAfterAddStake = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // const response = await api.event.Contracts.Call.filter(tx.events) - // if (response.length === 0) { - // throw new Error("No events found") - // } - console.log("===== response", tx.events) + assert.ok(stakeAfterAddStake !== undefined) + assert.ok(stake !== undefined) + assert.ok(stakeAfterAddStake < stake) }) }); \ No newline at end of file From a084a8c1704d3520ac9311dcf5285a2f28ba6c9d Mon Sep 17 00:00:00 2001 From: open-junius Date: Fri, 31 Oct 2025 23:11:37 +0800 Subject: [PATCH 17/21] add one more successful test --- evm-tests/test/wasm.contract.test.ts | 444 +++++++++++++++++++++++++++ 1 file changed, 444 insertions(+) diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index 3bdf45ee96..9ff7e183a2 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -174,4 +174,448 @@ describe("Test wasm contract", () => { assert.ok(stake !== undefined) assert.ok(stakeAfterAddStake < stake) }) + + it("Can unstake all from contract", async () => { + let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // Get stake before unstake_all + const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake + + assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) + + // Call unstake_all + const message = inkClient.message("unstake_all") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // Verify stake is now zero + const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake + + assert.ok(stakeAfter !== undefined) + assert.equal(stakeAfter, BigInt(0)) + }) + + // it("Can unstake all alpha from contract", async () => { + // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // // First add some stake + // let amount = tao(300) + // const addMessage = inkClient.message("add_stake") + // const addData = addMessage.encode({ + // hotkey: Binary.fromBytes(hotkey2.publicKey), + // netuid: netuid, + // amount: amount, + // }) + // await sendWasmContractExtrinsic(api, coldkey2, contractAddress, addData) + + // // Get stake before unstake_all_alpha + // const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey2.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) + + // // Call unstake_all_alpha + // const message = inkClient.message("unstake_all_alpha") + // const data = message.encode({ + // hotkey: Binary.fromBytes(hotkey2.publicKey), + // }) + // await sendWasmContractExtrinsic(api, coldkey2, contractAddress, data) + + // // Verify stake is now zero + // const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey2.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeAfter !== undefined) + // assert.equal(stakeAfter, BigInt(0)) + // }) + + // it("Can move stake between hotkeys", async () => { + // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // // Add stake to origin hotkey + // let amount = tao(1000) + // const addMessage = inkClient.message("add_stake") + // const addData = addMessage.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid, + // amount: amount, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + + // // Get initial stakes + // const originStakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // const destStakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey2.publicKey), + // contractAddress, + // netuid, + // ))?.stake || BigInt(0) + + // assert.ok(originStakeBefore !== undefined && originStakeBefore > BigInt(0)) + + // // Move stake + // const moveAmount = originStakeBefore / BigInt(2) + // const message = inkClient.message("move_stake") + // const data = message.encode({ + // origin_hotkey: Binary.fromBytes(hotkey.publicKey), + // destination_hotkey: Binary.fromBytes(hotkey2.publicKey), + // origin_netuid: netuid, + // destination_netuid: netuid, + // amount: moveAmount, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // // Verify stakes changed + // const originStakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // const destStakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey2.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(originStakeAfter !== undefined) + // assert.ok(destStakeAfter !== undefined) + // assert.ok(originStakeAfter < originStakeBefore!) + // assert.ok(destStakeAfter > destStakeBefore) + // }) + + // it("Can transfer stake between coldkeys", async () => { + // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // // Add stake first + // let amount = tao(600) + // const addMessage = inkClient.message("add_stake") + // const addData = addMessage.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid, + // amount: amount, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + + // // Get initial stake + // const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) + + // // Transfer stake + // const transferAmount = stakeBefore / BigInt(2) + // const message = inkClient.message("transfer_stake") + // const data = message.encode({ + // destination_coldkey: Binary.fromBytes(coldkey2.publicKey), + // hotkey: Binary.fromBytes(hotkey.publicKey), + // origin_netuid: netuid, + // destination_netuid: netuid, + // amount: transferAmount, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // // Verify stake transferred + // const stakeAfterOrigin = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // const stakeAfterDest = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // convertPublicKeyToSs58(coldkey2.publicKey), + // netuid, + // ))?.stake + + // assert.ok(stakeAfterOrigin !== undefined) + // assert.ok(stakeAfterDest !== undefined) + // assert.ok(stakeAfterOrigin < stakeBefore!) + // }) + + // it("Can swap stake between networks", async () => { + // // Create second network + // const hotkey3 = getRandomSubstrateKeypair(); + // const coldkey3 = getRandomSubstrateKeypair(); + // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey3.publicKey)) + // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey3.publicKey)) + + // let netuid1 = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + // let netuid2 = await addNewSubnetwork(api, hotkey3, coldkey3) + // await startCall(api, netuid2, coldkey3) + // await burnedRegister(api, netuid2, convertPublicKeyToSs58(hotkey3.publicKey), coldkey3) + + // // Add stake to origin network + // let amount = tao(400) + // const addMessage = inkClient.message("add_stake") + // const addData = addMessage.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid1, + // amount: amount, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + + // // Get initial stakes + // const stakeBefore1 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid1, + // ))?.stake + + // const stakeBefore2 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid2, + // ))?.stake || BigInt(0) + + // assert.ok(stakeBefore1 !== undefined && stakeBefore1 > BigInt(0)) + + // // Swap stake + // const swapAmount = stakeBefore1 / BigInt(2) + // const message = inkClient.message("swap_stake") + // const data = message.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // origin_netuid: netuid1, + // destination_netuid: netuid2, + // amount: swapAmount, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // // Verify stakes swapped + // const stakeAfter1 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid1, + // ))?.stake + + // const stakeAfter2 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid2, + // ))?.stake + + // assert.ok(stakeAfter1 !== undefined) + // assert.ok(stakeAfter2 !== undefined) + // assert.ok(stakeAfter1 < stakeBefore1!) + // assert.ok(stakeAfter2 > stakeBefore2) + // }) + + // it("Can add stake with limit", async () => { + // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // const message = inkClient.message("add_stake_limit") + // const data = message.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid, + // amount: tao(200), + // limit_price: tao(100), + // allow_partial: false, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // // Verify stake was added + // const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeAfter !== undefined) + // }) + + // it("Can remove stake with limit", async () => { + // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // // First add stake + // const addMessage = inkClient.message("add_stake") + // const addData = addMessage.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid, + // amount: tao(300), + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + + // const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) + + // const message = inkClient.message("remove_stake_limit") + // const data = message.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid, + // amount: stakeBefore / BigInt(2), + // limit_price: tao(50), + // allow_partial: false, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeAfter !== undefined) + // assert.ok(stakeAfter < stakeBefore!) + // }) + + // it("Can swap stake with limit", async () => { + // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // // Create second network + // const hotkey4 = getRandomSubstrateKeypair(); + // const coldkey4 = getRandomSubstrateKeypair(); + // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey4.publicKey)) + // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey4.publicKey)) + + // let netuid2 = await addNewSubnetwork(api, hotkey4, coldkey4) + // await startCall(api, netuid2, coldkey4) + // await burnedRegister(api, netuid2, convertPublicKeyToSs58(hotkey4.publicKey), coldkey4) + + // // Add stake to origin network + // const addMessage = inkClient.message("add_stake") + // const addData = addMessage.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid, + // amount: tao(500), + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + + // const stakeBefore1 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeBefore1 !== undefined && stakeBefore1 > BigInt(0)) + + // const message = inkClient.message("swap_stake_limit") + // const data = message.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // origin_netuid: netuid, + // destination_netuid: netuid2, + // amount: stakeBefore1 / BigInt(2), + // limit_price: tao(75), + // allow_partial: false, + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // const stakeAfter1 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeAfter1 !== undefined) + // assert.ok(stakeAfter1 < stakeBefore1!) + // }) + + // it("Can remove stake full limit", async () => { + // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // // First add stake + // const addMessage = inkClient.message("add_stake") + // const addData = addMessage.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid, + // amount: tao(700), + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + + // const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) + + // const message = inkClient.message("remove_stake_full_limit") + // const data = message.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // netuid: netuid, + // limit_price: tao(60), + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // convertPublicKeyToSs58(hotkey.publicKey), + // contractAddress, + // netuid, + // ))?.stake + + // assert.ok(stakeAfter !== undefined) + // assert.ok(stakeAfter < stakeBefore!) + // }) + + // it("Can set coldkey auto stake hotkey", async () => { + // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + + // const message = inkClient.message("set_coldkey_auto_stake_hotkey") + // const data = message.encode({ + // netuid: netuid, + // hotkey: Binary.fromBytes(hotkey.publicKey), + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // // Verify the call succeeded (no error thrown) + // assert.ok(true) + // }) + + // it("Can add proxy", async () => { + // const message = inkClient.message("add_proxy") + // const data = message.encode({ + // delegate: Binary.fromBytes(hotkey.publicKey), + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // // Verify the call succeeded (no error thrown) + // assert.ok(true) + // }) + + // it("Can remove proxy", async () => { + // // First add proxy + // const addMessage = inkClient.message("add_proxy") + // const addData = addMessage.encode({ + // delegate: Binary.fromBytes(hotkey2.publicKey), + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + + // // Then remove proxy + // const message = inkClient.message("remove_proxy") + // const data = message.encode({ + // delegate: Binary.fromBytes(hotkey2.publicKey), + // }) + // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + // // Verify the call succeeded (no error thrown) + // assert.ok(true) + // }) }); \ No newline at end of file From 0aa31ffd45524686bd5b8baa905d39e5ed9c7e21 Mon Sep 17 00:00:00 2001 From: open-junius Date: Sat, 1 Nov 2025 01:06:55 +0800 Subject: [PATCH 18/21] more successful test case --- evm-tests/test/wasm.contract.test.ts | 459 +++++++++++++-------------- 1 file changed, 216 insertions(+), 243 deletions(-) diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index 9ff7e183a2..d48b764f0f 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -24,10 +24,47 @@ describe("Test wasm contract", () => { const hotkey2 = getRandomSubstrateKeypair(); const coldkey2 = getRandomSubstrateKeypair(); + const hotkey3 = getRandomSubstrateKeypair(); + const coldkey3 = getRandomSubstrateKeypair(); + + // set initial netuid to 0 to avoid warning + let netuid: number = 0; // let inkClient: InkClient; let contractAddress: string; let inkClient: InkClient; + async function addStakeWithoutStake() { + const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake + + assert.ok(stakeBefore !== undefined) + if (stakeBefore > BigInt(0)) { + return; + } + + const amount = tao(100) + const message = inkClient.message("add_stake") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + netuid: netuid, + amount: amount, + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + + const stake = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake + + assert.ok(stake !== undefined) + assert.ok(stake > BigInt(0)) + } + + before(async () => { // init variables got from await and async api = await getDevnetApi() @@ -36,14 +73,19 @@ describe("Test wasm contract", () => { await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey)) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey2.publicKey)) + // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey3.publicKey)) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey.publicKey)) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey2.publicKey)) - let netuid = await addNewSubnetwork(api, hotkey, coldkey) + // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey3.publicKey)) + netuid = await addNewSubnetwork(api, hotkey, coldkey) await startCall(api, netuid, coldkey) - console.log("test the case on subnet ", netuid) await burnedRegister(api, netuid, convertPublicKeyToSs58(hotkey.publicKey), coldkey) await burnedRegister(api, netuid, convertPublicKeyToSs58(hotkey2.publicKey), coldkey2) + + await addNewSubnetwork(api, hotkey, coldkey) + await startCall(api, netuid + 1, coldkey) + // await burnedRegister(api, netuid + 1, convertPublicKeyToSs58(hotkey3.publicKey), coldkey3) }) it("Can instantiate contract", async () => { @@ -71,7 +113,7 @@ describe("Test wasm contract", () => { // transfer 10 Tao to contract then we can stake const transfer = await api.tx.Balances.transfer_keep_alive({ dest: MultiAddress.Id(contractAddress), - value: tao(1000), + value: tao(2000), }) await waitForTransactionWithRetry(api, transfer, signer) @@ -115,16 +157,21 @@ describe("Test wasm contract", () => { }) it("Can add stake to contract", async () => { - let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + await addStakeWithoutStake() + }) + + it("Can remove stake to contract", async () => { + await addStakeWithoutStake() const stake = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( convertPublicKeyToSs58(hotkey.publicKey), contractAddress, netuid, ))?.stake - let amount = tao(800) + assert.ok(stake !== undefined) - const message = inkClient.message("add_stake") + let amount = stake / BigInt(2) + const message = inkClient.message("remove_stake") const data = message.encode({ hotkey: Binary.fromBytes(hotkey.publicKey), netuid: netuid, @@ -141,44 +188,51 @@ describe("Test wasm contract", () => { assert.ok(stakeAfterAddStake !== undefined) assert.ok(stake !== undefined) - assert.ok(stakeAfterAddStake > stake) + assert.ok(stakeAfterAddStake < stake) }) - it("Can remove stake to contract", async () => { - let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - const stake = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + it("Can unstake all from contract", async () => { + await addStakeWithoutStake() + + // Get stake before unstake_all + const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( convertPublicKeyToSs58(hotkey.publicKey), contractAddress, netuid, ))?.stake - assert.ok(stake !== undefined) + assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) - let amount = stake / BigInt(2) - const message = inkClient.message("remove_stake") - const data = message.encode({ + // Call unstake_all + const unstakeMessage = inkClient.message("unstake_all") + const unstakeData = unstakeMessage.encode({ hotkey: Binary.fromBytes(hotkey.publicKey), - netuid: netuid, - amount: amount, }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, unstakeData) - await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - - const stakeAfterAddStake = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + // Verify stake is now zero + const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( convertPublicKeyToSs58(hotkey.publicKey), contractAddress, netuid, ))?.stake - assert.ok(stakeAfterAddStake !== undefined) - assert.ok(stake !== undefined) - assert.ok(stakeAfterAddStake < stake) - }) + assert.ok(stakeAfter !== undefined) + assert.equal(stakeAfter, BigInt(0)) - it("Can unstake all from contract", async () => { - let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + const stakeMessage = inkClient.message("add_stake") + const stakeData = stakeMessage.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + netuid: netuid, + amount: tao(800), + }) - // Get stake before unstake_all + await sendWasmContractExtrinsic(api, coldkey, contractAddress, stakeData) + }) + + it("Can unstake all alpha from contract", async () => { + await addStakeWithoutStake() + // Get stake before unstake_all_alpha const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( convertPublicKeyToSs58(hotkey.publicKey), contractAddress, @@ -187,8 +241,8 @@ describe("Test wasm contract", () => { assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) - // Call unstake_all - const message = inkClient.message("unstake_all") + // Call unstake_all_alpha + const message = inkClient.message("unstake_all_alpha") const data = message.encode({ hotkey: Binary.fromBytes(hotkey.publicKey), }) @@ -205,246 +259,165 @@ describe("Test wasm contract", () => { assert.equal(stakeAfter, BigInt(0)) }) - // it("Can unstake all alpha from contract", async () => { - // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - - // // First add some stake - // let amount = tao(300) - // const addMessage = inkClient.message("add_stake") - // const addData = addMessage.encode({ - // hotkey: Binary.fromBytes(hotkey2.publicKey), - // netuid: netuid, - // amount: amount, - // }) - // await sendWasmContractExtrinsic(api, coldkey2, contractAddress, addData) - - // // Get stake before unstake_all_alpha - // const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey2.publicKey), - // contractAddress, - // netuid, - // ))?.stake - - // assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) - - // // Call unstake_all_alpha - // const message = inkClient.message("unstake_all_alpha") - // const data = message.encode({ - // hotkey: Binary.fromBytes(hotkey2.publicKey), - // }) - // await sendWasmContractExtrinsic(api, coldkey2, contractAddress, data) - - // // Verify stake is now zero - // const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey2.publicKey), - // contractAddress, - // netuid, - // ))?.stake - - // assert.ok(stakeAfter !== undefined) - // assert.equal(stakeAfter, BigInt(0)) - // }) - - // it("Can move stake between hotkeys", async () => { - // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - - // // Add stake to origin hotkey - // let amount = tao(1000) - // const addMessage = inkClient.message("add_stake") - // const addData = addMessage.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid, - // amount: amount, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) - - // // Get initial stakes - // const originStakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake - - // const destStakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey2.publicKey), - // contractAddress, - // netuid, - // ))?.stake || BigInt(0) + it("Can move stake between hotkeys", async () => { + await addStakeWithoutStake() - // assert.ok(originStakeBefore !== undefined && originStakeBefore > BigInt(0)) - - // // Move stake - // const moveAmount = originStakeBefore / BigInt(2) - // const message = inkClient.message("move_stake") - // const data = message.encode({ - // origin_hotkey: Binary.fromBytes(hotkey.publicKey), - // destination_hotkey: Binary.fromBytes(hotkey2.publicKey), - // origin_netuid: netuid, - // destination_netuid: netuid, - // amount: moveAmount, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - - // // Verify stakes changed - // const originStakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + // Get initial stakes + const originStakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // const destStakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey2.publicKey), - // contractAddress, - // netuid, - // ))?.stake + const destStakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey2.publicKey), + contractAddress, + netuid, + ))?.stake || BigInt(0) - // assert.ok(originStakeAfter !== undefined) - // assert.ok(destStakeAfter !== undefined) - // assert.ok(originStakeAfter < originStakeBefore!) - // assert.ok(destStakeAfter > destStakeBefore) - // }) + assert.ok(originStakeBefore !== undefined && originStakeBefore > BigInt(0)) - // it("Can transfer stake between coldkeys", async () => { - // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + // Move stake + const moveAmount = originStakeBefore / BigInt(2) + const message = inkClient.message("move_stake") + const data = message.encode({ + origin_hotkey: Binary.fromBytes(hotkey.publicKey), + destination_hotkey: Binary.fromBytes(hotkey2.publicKey), + origin_netuid: netuid, + destination_netuid: netuid, + amount: moveAmount, + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - // // Add stake first - // let amount = tao(600) - // const addMessage = inkClient.message("add_stake") - // const addData = addMessage.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid, - // amount: amount, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + // Verify stakes changed + const originStakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // // Get initial stake - // const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + const destStakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey2.publicKey), + contractAddress, + netuid, + ))?.stake - // assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) + assert.ok(originStakeAfter !== undefined) + assert.ok(destStakeAfter !== undefined) + assert.ok(originStakeAfter < originStakeBefore!) + assert.ok(destStakeAfter > destStakeBefore) + }) - // // Transfer stake - // const transferAmount = stakeBefore / BigInt(2) - // const message = inkClient.message("transfer_stake") - // const data = message.encode({ - // destination_coldkey: Binary.fromBytes(coldkey2.publicKey), - // hotkey: Binary.fromBytes(hotkey.publicKey), - // origin_netuid: netuid, - // destination_netuid: netuid, - // amount: transferAmount, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + it("Can transfer stake between coldkeys", async () => { + await addStakeWithoutStake() - // // Verify stake transferred - // const stakeAfterOrigin = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + // Get initial stake + const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // const stakeAfterDest = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // convertPublicKeyToSs58(coldkey2.publicKey), - // netuid, - // ))?.stake + assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) - // assert.ok(stakeAfterOrigin !== undefined) - // assert.ok(stakeAfterDest !== undefined) - // assert.ok(stakeAfterOrigin < stakeBefore!) - // }) + // Transfer stake + const transferAmount = stakeBefore / BigInt(2) + const message = inkClient.message("transfer_stake") + const data = message.encode({ + destination_coldkey: Binary.fromBytes(coldkey2.publicKey), + hotkey: Binary.fromBytes(hotkey.publicKey), + origin_netuid: netuid, + destination_netuid: netuid, + amount: transferAmount, + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - // it("Can swap stake between networks", async () => { - // // Create second network - // const hotkey3 = getRandomSubstrateKeypair(); - // const coldkey3 = getRandomSubstrateKeypair(); - // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey3.publicKey)) - // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey3.publicKey)) + // Verify stake transferred + const stakeAfterOrigin = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // let netuid1 = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - // let netuid2 = await addNewSubnetwork(api, hotkey3, coldkey3) - // await startCall(api, netuid2, coldkey3) - // await burnedRegister(api, netuid2, convertPublicKeyToSs58(hotkey3.publicKey), coldkey3) + const stakeAfterDest = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + convertPublicKeyToSs58(coldkey2.publicKey), + netuid, + ))?.stake - // // Add stake to origin network - // let amount = tao(400) - // const addMessage = inkClient.message("add_stake") - // const addData = addMessage.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid1, - // amount: amount, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + assert.ok(stakeAfterOrigin !== undefined) + assert.ok(stakeAfterDest !== undefined) + assert.ok(stakeAfterOrigin < stakeBefore!) + }) - // // Get initial stakes - // const stakeBefore1 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid1, - // ))?.stake + it("Can swap stake between networks", async () => { + await addStakeWithoutStake() - // const stakeBefore2 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid2, - // ))?.stake || BigInt(0) + // Get initial stakes + const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // assert.ok(stakeBefore1 !== undefined && stakeBefore1 > BigInt(0)) + const stakeBefore2 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid + 1, + ))?.stake || BigInt(0) - // // Swap stake - // const swapAmount = stakeBefore1 / BigInt(2) - // const message = inkClient.message("swap_stake") - // const data = message.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // origin_netuid: netuid1, - // destination_netuid: netuid2, - // amount: swapAmount, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) - // // Verify stakes swapped - // const stakeAfter1 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid1, - // ))?.stake + // Swap stake + const swapAmount = stakeBefore / BigInt(2) + const message = inkClient.message("swap_stake") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + origin_netuid: netuid, + destination_netuid: netuid + 1, + amount: swapAmount, + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - // const stakeAfter2 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid2, - // ))?.stake + // Verify stakes swapped + const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // assert.ok(stakeAfter1 !== undefined) - // assert.ok(stakeAfter2 !== undefined) - // assert.ok(stakeAfter1 < stakeBefore1!) - // assert.ok(stakeAfter2 > stakeBefore2) - // }) + const stakeAfter2 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid + 1, + ))?.stake - // it("Can add stake with limit", async () => { - // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + assert.ok(stakeAfter !== undefined) + assert.ok(stakeAfter2 !== undefined) + assert.ok(stakeAfter < stakeBefore) + assert.ok(stakeAfter2 > stakeBefore2) + }) - // const message = inkClient.message("add_stake_limit") - // const data = message.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid, - // amount: tao(200), - // limit_price: tao(100), - // allow_partial: false, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + it("Can add stake with limit", async () => { + const message = inkClient.message("add_stake_limit") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + netuid: netuid, + amount: tao(200), + limit_price: tao(100), + allow_partial: false, + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - // // Verify stake was added - // const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + // Verify stake was added + const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // assert.ok(stakeAfter !== undefined) - // }) + assert.ok(stakeAfter !== undefined) + }) // it("Can remove stake with limit", async () => { // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 From f9f1acf3f470145ce60169c34a38987565674a22 Mon Sep 17 00:00:00 2001 From: open-junius Date: Sun, 2 Nov 2025 21:38:52 +0800 Subject: [PATCH 19/21] all extrinsic are ok --- evm-tests/bittensor/lib.rs | 20 +- evm-tests/test/wasm.contract.test.ts | 328 ++++++++++++--------------- 2 files changed, 164 insertions(+), 184 deletions(-) diff --git a/evm-tests/bittensor/lib.rs b/evm-tests/bittensor/lib.rs index 97c2874132..45ebdc7f52 100755 --- a/evm-tests/bittensor/lib.rs +++ b/evm-tests/bittensor/lib.rs @@ -288,10 +288,22 @@ mod bittensor { Self::new() } - #[ink(message)] - pub fn dummy(&self) -> Result { - Ok(true) - } + // #[ink(message)] + // pub fn get_stake_info_for_hotkey_coldkey_netuid( + // &self, + // hotkey: [u8; 32], + // coldkey: [u8; 32], + // netuid: u16, + // ) -> Result>, ReadWriteErrorCode> { + // self.env() + // .extension() + // .get_stake_info_for_hotkey_coldkey_netuid( + // hotkey.into(), + // coldkey.into(), + // netuid.into(), + // ) + // .map_err(|_e| ReadWriteErrorCode::ReadFailed) + // } #[ink(message)] pub fn add_stake( diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index d48b764f0f..813b5a51d7 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -121,40 +121,30 @@ describe("Test wasm contract", () => { }) - it("Can query stake info from contract", async () => { - let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - // const signer = getSignerFromKeypair(coldkey); - // const inkClient = getInkClient(contracts.bittensor) - // const query = inkClient.message("dummy") - // const data = query.encode() - // No parameters needed - // const queryTx = await api.tx.Contracts.call({ - // dest: MultiAddress.Id(contractAddress), - // data: Binary.fromBytes(data.asBytes()), - // value: BigInt(0), - // gas_limit: { - // ref_time: BigInt(1000000000), - // proof_size: BigInt(10000000), - // }, - // storage_deposit_limit: BigInt(10000000), - // }).signAndSubmit(signer) - - // const response = await api.apis.ContractsApi.call( - // convertPublicKeyToSs58(coldkey.publicKey), - // contractAddress, - // BigInt(0), - // { - // ref_time: BigInt(1000000000), - // proof_size: BigInt(10000000), - // }, - // BigInt(1000000000), - // Binary.fromBytes(data.asBytes()), - // undefined, - // ) - - // console.log("===== response", response.result.asBytes().toString()) + // it("Can query stake info from contract", async () => { + // // const signer = getSignerFromKeypair(coldkey); + // const inkClient = getInkClient(contracts.bittensor) + // const queryMessage = inkClient.message("get_stake_info_for_hotkey_coldkey_netuid") + // const data = queryMessage.encode({ + // hotkey: Binary.fromBytes(hotkey.publicKey), + // coldkey: Binary.fromBytes(coldkey.publicKey), + // netuid: netuid, + // }) - }) + // const response = await api.tx.Contracts.call({ + // dest: MultiAddress.Id(contractAddress), + // data: Binary.fromBytes(data.asBytes()), + // value: BigInt(0), + // gas_limit: { + // ref_time: BigInt(1000000000), + // proof_size: BigInt(10000000), + // }, + // storage_deposit_limit: BigInt(10000000), + // }) + + // console.log("===== response", response) + + // }) it("Can add stake to contract", async () => { await addStakeWithoutStake() @@ -419,176 +409,154 @@ describe("Test wasm contract", () => { assert.ok(stakeAfter !== undefined) }) - // it("Can remove stake with limit", async () => { - // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 - - // // First add stake - // const addMessage = inkClient.message("add_stake") - // const addData = addMessage.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid, - // amount: tao(300), - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) - - // const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake - - // assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) - - // const message = inkClient.message("remove_stake_limit") - // const data = message.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid, - // amount: stakeBefore / BigInt(2), - // limit_price: tao(50), - // allow_partial: false, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - - // const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + it("Can remove stake with limit", async () => { + await addStakeWithoutStake() + const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // assert.ok(stakeAfter !== undefined) - // assert.ok(stakeAfter < stakeBefore!) - // }) + assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) - // it("Can swap stake with limit", async () => { - // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + const message = inkClient.message("remove_stake_limit") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + netuid: netuid, + amount: stakeBefore / BigInt(2), + limit_price: tao(1), + allow_partial: false, + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - // // Create second network - // const hotkey4 = getRandomSubstrateKeypair(); - // const coldkey4 = getRandomSubstrateKeypair(); - // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey4.publicKey)) - // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey4.publicKey)) + const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // let netuid2 = await addNewSubnetwork(api, hotkey4, coldkey4) - // await startCall(api, netuid2, coldkey4) - // await burnedRegister(api, netuid2, convertPublicKeyToSs58(hotkey4.publicKey), coldkey4) + assert.ok(stakeAfter !== undefined) + assert.ok(stakeAfter < stakeBefore!) + }) - // // Add stake to origin network - // const addMessage = inkClient.message("add_stake") - // const addData = addMessage.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid, - // amount: tao(500), - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + it("Can swap stake with limit", async () => { + await addStakeWithoutStake() - // const stakeBefore1 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // assert.ok(stakeBefore1 !== undefined && stakeBefore1 > BigInt(0)) + const stakeBefore2 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid + 1, + ))?.stake - // const message = inkClient.message("swap_stake_limit") - // const data = message.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // origin_netuid: netuid, - // destination_netuid: netuid2, - // amount: stakeBefore1 / BigInt(2), - // limit_price: tao(75), - // allow_partial: false, - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) + assert.ok(stakeBefore2 !== undefined) - // const stakeAfter1 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + const message = inkClient.message("swap_stake_limit") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + origin_netuid: netuid, + destination_netuid: netuid + 1, + amount: stakeBefore / BigInt(2), + limit_price: tao(1), + allow_partial: false, + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - // assert.ok(stakeAfter1 !== undefined) - // assert.ok(stakeAfter1 < stakeBefore1!) - // }) + const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // it("Can remove stake full limit", async () => { - // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + const stakeAfter2 = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid + 1, + ))?.stake - // // First add stake - // const addMessage = inkClient.message("add_stake") - // const addData = addMessage.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid, - // amount: tao(700), - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) + assert.ok(stakeAfter !== undefined) + assert.ok(stakeAfter2 !== undefined) + assert.ok(stakeAfter < stakeBefore) + assert.ok(stakeAfter2 > stakeBefore2) + }) - // const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + it("Can remove stake full limit", async () => { + await addStakeWithoutStake() - // assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) + const stakeBefore = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // const message = inkClient.message("remove_stake_full_limit") - // const data = message.encode({ - // hotkey: Binary.fromBytes(hotkey.publicKey), - // netuid: netuid, - // limit_price: tao(60), - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + assert.ok(stakeBefore !== undefined && stakeBefore > BigInt(0)) - // const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( - // convertPublicKeyToSs58(hotkey.publicKey), - // contractAddress, - // netuid, - // ))?.stake + const message = inkClient.message("remove_stake_full_limit") + const data = message.encode({ + hotkey: Binary.fromBytes(hotkey.publicKey), + netuid: netuid, + limit_price: tao(60), + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - // assert.ok(stakeAfter !== undefined) - // assert.ok(stakeAfter < stakeBefore!) - // }) + const stakeAfter = (await api.apis.StakeInfoRuntimeApi.get_stake_info_for_hotkey_coldkey_netuid( + convertPublicKeyToSs58(hotkey.publicKey), + contractAddress, + netuid, + ))?.stake - // it("Can set coldkey auto stake hotkey", async () => { - // let netuid = (await api.query.SubtensorModule.TotalNetworks.getValue()) - 1 + assert.ok(stakeAfter !== undefined) + assert.ok(stakeAfter < stakeBefore!) + }) - // const message = inkClient.message("set_coldkey_auto_stake_hotkey") - // const data = message.encode({ - // netuid: netuid, - // hotkey: Binary.fromBytes(hotkey.publicKey), - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + it("Can set coldkey auto stake hotkey", async () => { + const message = inkClient.message("set_coldkey_auto_stake_hotkey") + const data = message.encode({ + netuid: netuid, + hotkey: Binary.fromBytes(hotkey2.publicKey), + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) - // // Verify the call succeeded (no error thrown) - // assert.ok(true) - // }) + let autoStakeHotkey = await api.query.SubtensorModule.AutoStakeDestination.getValue( + contractAddress, + netuid, + ) - // it("Can add proxy", async () => { - // const message = inkClient.message("add_proxy") - // const data = message.encode({ - // delegate: Binary.fromBytes(hotkey.publicKey), - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + console.log("autoStakeHotkey", autoStakeHotkey) + assert.ok(autoStakeHotkey !== undefined) + assert.ok(autoStakeHotkey === convertPublicKeyToSs58(hotkey2.publicKey)) + }) - // // Verify the call succeeded (no error thrown) - // assert.ok(true) - // }) + it("Can add and remove proxy", async () => { + const message = inkClient.message("add_proxy") + const data = message.encode({ + delegate: Binary.fromBytes(hotkey2.publicKey), + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + let proxies = await api.query.Proxy.Proxies.getValue( + contractAddress, + ) + assert.ok(proxies !== undefined) + assert.ok(proxies.length > 0 && proxies[0].length > 0) + assert.ok(proxies[0][0].delegate === convertPublicKeyToSs58(hotkey2.publicKey)) - // it("Can remove proxy", async () => { - // // First add proxy - // const addMessage = inkClient.message("add_proxy") - // const addData = addMessage.encode({ - // delegate: Binary.fromBytes(hotkey2.publicKey), - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, addData) - // // Then remove proxy - // const message = inkClient.message("remove_proxy") - // const data = message.encode({ - // delegate: Binary.fromBytes(hotkey2.publicKey), - // }) - // await sendWasmContractExtrinsic(api, coldkey, contractAddress, data) + const removeMessage = inkClient.message("remove_proxy") + const removeData = removeMessage.encode({ + delegate: Binary.fromBytes(hotkey2.publicKey), + }) + await sendWasmContractExtrinsic(api, coldkey, contractAddress, removeData) - // // Verify the call succeeded (no error thrown) - // assert.ok(true) - // }) + let proxiesAfterRemove = await api.query.Proxy.Proxies.getValue( + contractAddress, + ) + assert.ok(proxiesAfterRemove !== undefined) + assert.ok(proxiesAfterRemove[0].length === 0) + }) }); \ No newline at end of file From cd0f7e2c97046e0bb94df45c32a13db08682d60d Mon Sep 17 00:00:00 2001 From: open-junius Date: Mon, 3 Nov 2025 22:53:21 +0800 Subject: [PATCH 20/21] clean up code --- evm-tests/test/wasm.contract.test.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index 813b5a51d7..a274b1b4af 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -24,9 +24,6 @@ describe("Test wasm contract", () => { const hotkey2 = getRandomSubstrateKeypair(); const coldkey2 = getRandomSubstrateKeypair(); - const hotkey3 = getRandomSubstrateKeypair(); - const coldkey3 = getRandomSubstrateKeypair(); - // set initial netuid to 0 to avoid warning let netuid: number = 0; // let inkClient: InkClient; @@ -70,13 +67,10 @@ describe("Test wasm contract", () => { api = await getDevnetApi() inkClient = getInkClient(contracts.bittensor) - await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey.publicKey)) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey2.publicKey)) - // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(coldkey3.publicKey)) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey.publicKey)) await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey2.publicKey)) - // await forceSetBalanceToSs58Address(api, convertPublicKeyToSs58(hotkey3.publicKey)) netuid = await addNewSubnetwork(api, hotkey, coldkey) await startCall(api, netuid, coldkey) console.log("test the case on subnet ", netuid) @@ -85,7 +79,6 @@ describe("Test wasm contract", () => { await addNewSubnetwork(api, hotkey, coldkey) await startCall(api, netuid + 1, coldkey) - // await burnedRegister(api, netuid + 1, convertPublicKeyToSs58(hotkey3.publicKey), coldkey3) }) it("Can instantiate contract", async () => { From 3da239f7fe02195a4e550e1fe25f9131c8af44c3 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 6 Nov 2025 21:54:12 +0800 Subject: [PATCH 21/21] add link for issue --- evm-tests/test/wasm.contract.test.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/evm-tests/test/wasm.contract.test.ts b/evm-tests/test/wasm.contract.test.ts index a274b1b4af..37df6e4e75 100644 --- a/evm-tests/test/wasm.contract.test.ts +++ b/evm-tests/test/wasm.contract.test.ts @@ -15,6 +15,15 @@ import { tao } from "../src/balance-math"; const bittensorWasmPath = "./bittensor/target/ink/bittensor.wasm" const bittensorBytecode = fs.readFileSync(bittensorWasmPath) +/* +The test file is to verify all the functions in the wasm contract are working correctly. +The test call each function defined in the contract extension. + +Current issue: +Can't generate the descriptor for the wasm contract if we add the function to return a complicate struct. +https://github.com/polkadot-api/polkadot-api/issues/1207 +*/ + describe("Test wasm contract", () => { let api: TypedApi