diff --git a/.gitignore b/.gitignore index e002574..535019c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,10 @@ Cargo.lock /artifacts -node_modules \ No newline at end of file +node_modules + +test-scripts/src/config/localjunoConstants.ts +test-scripts/src/config/wasmPaths.ts +test-scripts/src/config/wasms/*.wasm + +.DS_Store \ No newline at end of file diff --git a/contracts/anchor-handler/src/state.rs b/contracts/anchor-handler/src/state.rs index 3a63e6f..c0e4414 100644 --- a/contracts/anchor-handler/src/state.rs +++ b/contracts/anchor-handler/src/state.rs @@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize}; use cosmwasm_std::{Addr, StdResult, Storage}; use cw_storage_plus::{Item, Map}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct UpdateRecord { pub token_addr: Addr, pub src_chain_id: u64, @@ -13,7 +13,7 @@ pub struct UpdateRecord { pub leaf_id: u64, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct State { pub bridge_addr: Addr, } diff --git a/contracts/anchor/src/mock_querier.rs b/contracts/anchor/src/mock_querier.rs index 58e0ff0..13c1424 100644 --- a/contracts/anchor/src/mock_querier.rs +++ b/contracts/anchor/src/mock_querier.rs @@ -14,7 +14,7 @@ use protocol_cosmwasm::token_wrapper::{ ConfigResponse as TokenWrapperConfigResponse, GetAmountToWrapResponse, }; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { Config {}, diff --git a/contracts/anchor/src/state.rs b/contracts/anchor/src/state.rs index 69fcfaa..b1b2534 100644 --- a/contracts/anchor/src/state.rs +++ b/contracts/anchor/src/state.rs @@ -28,7 +28,7 @@ pub const NULLIFIERS: Map, bool> = Map::new("used_nullifers"); // NOTE: The `chain_id` field is just for temporary development purpose. // In the future, it should be removed & the contract should use the // `chain_id`(blockchain-unique ID) obtained inside the contract. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct Anchor { pub chain_id: u64, // ChainID of underlying blockchain(Temporary field) pub handler: Addr, // Address of "anchor-handler", which add/updte the `edge` info @@ -78,7 +78,7 @@ pub fn save_neighbor_roots( } // LinkableMerkleTree -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct LinkableMerkleTree { pub max_edges: u32, pub chain_id_list: Vec, @@ -199,7 +199,7 @@ impl LinkableMerkleTree { } // MerkleTree -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MerkleTree { pub levels: u32, pub current_root_index: u32, diff --git a/contracts/mixer/src/state.rs b/contracts/mixer/src/state.rs index 73056db..1dceca1 100644 --- a/contracts/mixer/src/state.rs +++ b/contracts/mixer/src/state.rs @@ -11,7 +11,7 @@ use protocol_cosmwasm::structs::ROOT_HISTORY_SIZE; use protocol_cosmwasm::zeroes; // Mixer -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct Mixer { pub deposit_size: Uint128, pub cw20_address: Option, @@ -20,7 +20,7 @@ pub struct Mixer { } // MerkleTree -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MerkleTree { pub levels: u32, pub current_root_index: u32, diff --git a/contracts/signature-bridge/src/state.rs b/contracts/signature-bridge/src/state.rs index b3d979c..da2deae 100644 --- a/contracts/signature-bridge/src/state.rs +++ b/contracts/signature-bridge/src/state.rs @@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize}; use cosmwasm_std::Addr; use cw_storage_plus::{Item, Map}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct State { pub governor: Addr, pub proposal_nonce: u32, diff --git a/contracts/tokenwrapper-handler/src/state.rs b/contracts/tokenwrapper-handler/src/state.rs index a692c30..f188452 100644 --- a/contracts/tokenwrapper-handler/src/state.rs +++ b/contracts/tokenwrapper-handler/src/state.rs @@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize}; use cosmwasm_std::{Addr, StdResult, Storage}; use cw_storage_plus::{Item, Map}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct UpdateRecord { pub tokenwrapper_addr: Addr, pub exec_chain_id: u64, @@ -13,7 +13,7 @@ pub struct UpdateRecord { pub update_value: [u8; 32], } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct State { pub bridge_addr: Addr, } diff --git a/contracts/tokenwrapper/src/contract.rs b/contracts/tokenwrapper/src/contract.rs index 9cc073f..76edd6f 100644 --- a/contracts/tokenwrapper/src/contract.rs +++ b/contracts/tokenwrapper/src/contract.rs @@ -23,7 +23,7 @@ use protocol_cosmwasm::token_wrapper::{ InstantiateMsg, QueryMsg, UpdateConfigMsg, }; -use crate::state::{Config, Supply, CONFIG, HISTORICAL_TOKENS, TOKENS, TOTAL_SUPPLY}; +use crate::state::{Config, CONFIG, HISTORICAL_TOKENS, TOKENS}; use crate::utils::{ calc_fee_perc_from_string, get_amount_to_wrap, get_fee_from_amount, is_valid_address, is_valid_unwrap_amount, is_valid_wrap_amount, parse_string_to_uint128, @@ -56,10 +56,6 @@ pub fn instantiate( }; TOKEN_INFO.save(deps.storage, &data)?; - // set supply to 0 - let supply = Supply::default(); - TOTAL_SUPPLY.save(deps.storage, &supply)?; - // set config let governor = match msg.governor { Some(v) => deps.api.addr_validate(v.as_str())?, @@ -203,11 +199,6 @@ fn wrap_native( get_fee_from_amount(wrapping_amount, config.fee_percentage.numerator().u128()); let left_over = wrapping_amount - cost_to_wrap; - // Save the wrapped token amount. - let mut supply = TOTAL_SUPPLY.load(deps.storage)?; - supply.issued += left_over; - TOTAL_SUPPLY.save(deps.storage, &supply)?; - // call into cw20-base to mint the token, call as self as no one else is allowed let sub_info = MessageInfo { sender: env.contract.address.clone(), @@ -257,6 +248,7 @@ fn unwrap_native( amount: Uint128, recipient: Option, ) -> Result { + let sender = sender.unwrap_or_else(|| info.sender.to_string()); let config = CONFIG.load(deps.storage)?; // Validate the "is_native_allowed" if !config.is_native_allowed { @@ -266,19 +258,13 @@ fn unwrap_native( } // Validate the "amount" - if !is_valid_unwrap_amount(deps.branch(), info.clone(), amount) { + if !is_valid_unwrap_amount(deps.branch(), &sender, amount) { return Err(ContractError::Std(StdError::GenericErr { - msg: "Insufficient native token balance".to_string(), + msg: format!("Insufficient native token balance for sender({})", &sender), })); } - // Calculate the remainder - let total_supply = TOTAL_SUPPLY.load(deps.storage)?; - let remainder = total_supply.issued - amount; - TOTAL_SUPPLY.save(deps.storage, &Supply { issued: remainder })?; - // burn from the "sender" - let sender = sender.unwrap_or_else(|| info.sender.to_string()); let sub_info = MessageInfo { sender: deps.api.addr_validate(sender.as_str())?, funds: vec![], @@ -311,6 +297,8 @@ fn unwrap_cw20( amount: Uint128, recipient: Option, ) -> Result { + let sender = sender.unwrap_or_else(|| info.sender.to_string()); + // Validate the "token" address let is_valid_unwrap_address = HISTORICAL_TOKENS.has(deps.storage, token.clone()); if !is_valid_unwrap_address { @@ -320,19 +308,13 @@ fn unwrap_cw20( } // Validate the "token" amount - if !is_valid_unwrap_amount(deps.branch(), info.clone(), amount) { + if !is_valid_unwrap_amount(deps.branch(), &sender, amount) { return Err(ContractError::Std(StdError::GenericErr { msg: "Insufficient cw20 token amount".to_string(), })); } - // Calculate the remainder - let total_supply = TOTAL_SUPPLY.load(deps.storage)?; - let remainder = total_supply.issued - amount; - TOTAL_SUPPLY.save(deps.storage, &Supply { issued: remainder })?; - // burn from the "sender" - let sender = sender.unwrap_or_else(|| info.sender.to_string()); let sub_info = MessageInfo { sender: deps.api.addr_validate(sender.as_str())?, funds: vec![], @@ -391,11 +373,6 @@ fn wrap_cw20( match from_binary(&cw20_msg.msg) { Ok(Cw20HookMsg::Wrap { sender, recipient }) => { - // Save the wrapping number - let mut supply = TOTAL_SUPPLY.load(deps.storage)?; - supply.issued += left_over; - TOTAL_SUPPLY.save(deps.storage, &supply)?; - // call into cw20-base to mint the token, call as self as no one else is allowed let sub_info = MessageInfo { sender: env.contract.address.clone(), diff --git a/contracts/tokenwrapper/src/state.rs b/contracts/tokenwrapper/src/state.rs index 568630c..2c98dda 100644 --- a/contracts/tokenwrapper/src/state.rs +++ b/contracts/tokenwrapper/src/state.rs @@ -4,16 +4,9 @@ use serde::{Deserialize, Serialize}; use cosmwasm_std::{Addr, Decimal, Uint128}; use cw_storage_plus::{Item, Map}; -/// Supply is dynamic and tracks the current supply of staked and ERC20 tokens. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema, Default)] -pub struct Supply { - /// issued is how many wrapped tokens this contract has issued - pub issued: Uint128, -} - /// Config /// Governance - related params -#[derive(Serialize, Deserialize, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, JsonSchema)] pub struct Config { pub governor: Addr, pub native_token_denom: String, @@ -24,9 +17,6 @@ pub struct Config { pub proposal_nonce: u64, } -/// Normal Cw20 - related -pub const TOTAL_SUPPLY: Item = Item::new("total_supply"); - /// Governance - related pub const CONFIG: Item = Item::new("config"); diff --git a/contracts/tokenwrapper/src/utils.rs b/contracts/tokenwrapper/src/utils.rs index 086c42a..8f363c9 100644 --- a/contracts/tokenwrapper/src/utils.rs +++ b/contracts/tokenwrapper/src/utils.rs @@ -1,9 +1,9 @@ -use cosmwasm_std::{Addr, Decimal, DepsMut, Fraction, MessageInfo, StdError, Uint128}; +use cosmwasm_std::{Addr, Decimal, DepsMut, Fraction, StdError, Uint128}; use cw20::BalanceResponse; -use cw20_base::contract::query_balance; +use cw20_base::contract::{query_balance, query_token_info}; use protocol_cosmwasm::error::ContractError; -use crate::state::{CONFIG, TOKENS, TOTAL_SUPPLY}; +use crate::state::{CONFIG, TOKENS}; // Check if the cw20 token address is valid in "TOKENS". pub fn is_valid_address(deps: DepsMut, token_address: Addr) -> bool { @@ -12,7 +12,7 @@ pub fn is_valid_address(deps: DepsMut, token_address: Addr) -> bool { // Check if the "wrap_amount" is valid. pub fn is_valid_wrap_amount(deps: DepsMut, amount: Uint128) -> bool { - let total_supply = TOTAL_SUPPLY.load(deps.storage).unwrap().issued; + let total_supply = query_token_info(deps.as_ref()).unwrap().total_supply; let config = CONFIG.load(deps.storage).unwrap(); amount .saturating_add(total_supply) @@ -20,8 +20,8 @@ pub fn is_valid_wrap_amount(deps: DepsMut, amount: Uint128) -> bool { } // Check if the "unwrap_amount" is valid. -pub fn is_valid_unwrap_amount(deps: DepsMut, info: MessageInfo, amount: Uint128) -> bool { - let sender_token_balance = query_balance(deps.as_ref(), info.sender.to_string()) +pub fn is_valid_unwrap_amount(deps: DepsMut, sender: &str, amount: Uint128) -> bool { + let sender_token_balance = query_balance(deps.as_ref(), sender.to_string()) .unwrap_or(BalanceResponse { balance: Uint128::zero(), }) diff --git a/contracts/tokenwrapper/tests/cosmwasm_tokenwrapper.wasm b/contracts/tokenwrapper/tests/cosmwasm_tokenwrapper.wasm index b888c80..09b8be5 100644 Binary files a/contracts/tokenwrapper/tests/cosmwasm_tokenwrapper.wasm and b/contracts/tokenwrapper/tests/cosmwasm_tokenwrapper.wasm differ diff --git a/contracts/vanchor/src/mock_querier.rs b/contracts/vanchor/src/mock_querier.rs index 58e0ff0..13c1424 100644 --- a/contracts/vanchor/src/mock_querier.rs +++ b/contracts/vanchor/src/mock_querier.rs @@ -14,7 +14,7 @@ use protocol_cosmwasm::token_wrapper::{ ConfigResponse as TokenWrapperConfigResponse, GetAmountToWrapResponse, }; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { Config {}, diff --git a/contracts/vanchor/src/state.rs b/contracts/vanchor/src/state.rs index 563b2f8..9fdf7bb 100644 --- a/contracts/vanchor/src/state.rs +++ b/contracts/vanchor/src/state.rs @@ -56,7 +56,7 @@ pub fn save_neighbor_roots( } // LinkableMerkleTree -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct LinkableMerkleTree { pub max_edges: u32, pub chain_id_list: Vec, @@ -177,7 +177,7 @@ impl LinkableMerkleTree { } // VAnchor: (TODO: Add the description) -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct VAnchor { pub chain_id: u64, pub creator: Addr, @@ -207,7 +207,7 @@ pub const VERIFIER_2_2: Item = Item::new("vanchor_verifier_2_2" pub const VERIFIER_16_2: Item = Item::new("vanchor_verifier_16_2"); // MerkleTree -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MerkleTree { pub levels: u32, pub current_root_index: u32, diff --git a/packages/protocol_cosmwasm/src/anchor.rs b/packages/protocol_cosmwasm/src/anchor.rs index 35140ed..7483990 100644 --- a/packages/protocol_cosmwasm/src/anchor.rs +++ b/packages/protocol_cosmwasm/src/anchor.rs @@ -3,7 +3,7 @@ use cw20::Cw20ReceiveMsg; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { pub max_edges: u32, pub chain_id: u64, @@ -54,7 +54,7 @@ pub enum ExecuteMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum Cw20HookMsg { /// Depcosit Cw20 tokens @@ -72,7 +72,7 @@ pub enum Cw20HookMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct WithdrawMsg { pub proof_bytes: Vec, pub roots: Vec<[u8; 32]>, @@ -85,7 +85,7 @@ pub struct WithdrawMsg { pub cw20_address: Option, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { Config {}, @@ -95,7 +95,7 @@ pub enum QueryMsg { MerkleRootInfo { id: u32 }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ConfigResponse { pub handler: String, pub proposal_nonce: u32, @@ -104,5 +104,5 @@ pub struct ConfigResponse { pub deposit_size: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MigrateMsg {} diff --git a/packages/protocol_cosmwasm/src/anchor_handler.rs b/packages/protocol_cosmwasm/src/anchor_handler.rs index a259e91..751deee 100644 --- a/packages/protocol_cosmwasm/src/anchor_handler.rs +++ b/packages/protocol_cosmwasm/src/anchor_handler.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; // @dev {initial_resource_ids} and {initial_contract_addresses} must have the same length (one resourceID for every address). // Also, these arrays must be ordered in the way that {initial_resource_ids}[0] is the intended resourceID for {initial_contract_addresses}[0]. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { // Contract address of previously deployed Bridge. pub bridge_addr: String, @@ -15,7 +15,7 @@ pub struct InstantiateMsg { pub initial_contract_addresses: Vec, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { /* --- Handler common utils --- */ @@ -37,7 +37,7 @@ pub enum ExecuteMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { /* --- Handler common queries --- */ @@ -61,7 +61,7 @@ pub enum QueryMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct UpdateRecordResponse { pub token_addr: String, pub src_chain_id: u64, diff --git a/packages/protocol_cosmwasm/src/executor.rs b/packages/protocol_cosmwasm/src/executor.rs index 966f2c7..8ad638b 100644 --- a/packages/protocol_cosmwasm/src/executor.rs +++ b/packages/protocol_cosmwasm/src/executor.rs @@ -3,10 +3,10 @@ use serde::{Deserialize, Serialize}; /// Interface for handler contracts that support proposal executions. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg {} -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { // It is intended that proposals are executed by the Bridge contract. @@ -27,6 +27,6 @@ pub enum ExecuteMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg {} diff --git a/packages/protocol_cosmwasm/src/linkable_anchor.rs b/packages/protocol_cosmwasm/src/linkable_anchor.rs index 5b7d4df..4020c99 100644 --- a/packages/protocol_cosmwasm/src/linkable_anchor.rs +++ b/packages/protocol_cosmwasm/src/linkable_anchor.rs @@ -18,7 +18,7 @@ use cosmwasm_std::Uint128; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { /** diff --git a/packages/protocol_cosmwasm/src/mixer.rs b/packages/protocol_cosmwasm/src/mixer.rs index 88feb4d..20a63e2 100644 --- a/packages/protocol_cosmwasm/src/mixer.rs +++ b/packages/protocol_cosmwasm/src/mixer.rs @@ -2,7 +2,7 @@ use cw20::Cw20ReceiveMsg; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { pub deposit_size: String, pub merkletree_levels: u32, @@ -18,19 +18,19 @@ pub enum ExecuteMsg { Receive(Cw20ReceiveMsg), } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct DepositMsg { pub commitment: Option<[u8; 32]>, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum Cw20HookMsg { /// Depcosit Cw20 tokens DepositCw20 { commitment: Option<[u8; 32]> }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct WithdrawMsg { pub proof_bytes: Vec, pub root: [u8; 32], @@ -42,7 +42,7 @@ pub struct WithdrawMsg { pub cw20_address: Option, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { Config {}, @@ -50,21 +50,21 @@ pub enum QueryMsg { MerkleRoot { id: u32 }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ConfigResponse { pub native_token_denom: String, pub cw20_address: String, pub deposit_size: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MerkleTreeInfoResponse { pub levels: u32, pub current_root_index: u32, pub next_index: u32, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MerkleRootResponse { pub root: [u8; 32], } diff --git a/packages/protocol_cosmwasm/src/signature_bridge.rs b/packages/protocol_cosmwasm/src/signature_bridge.rs index 7639fc5..675a344 100644 --- a/packages/protocol_cosmwasm/src/signature_bridge.rs +++ b/packages/protocol_cosmwasm/src/signature_bridge.rs @@ -1,12 +1,12 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { pub initial_governor: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { // Sets a new resource for handler contracts that use the IExecutor interface, @@ -17,7 +17,7 @@ pub enum ExecuteMsg { ExecProposalWithSig(ExecProposalWithSigMsg), } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct SetResourceWithSigMsg { pub resource_id: [u8; 32], pub function_sig: [u8; 4], @@ -28,20 +28,20 @@ pub struct SetResourceWithSigMsg { pub sig: Vec, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ExecProposalWithSigMsg { pub data: Vec, pub sig: Vec, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { // Get the state GetState {}, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct StateResponse { pub governor: String, pub proposal_nonce: u32, diff --git a/packages/protocol_cosmwasm/src/structs.rs b/packages/protocol_cosmwasm/src/structs.rs index 72f82de..206043d 100644 --- a/packages/protocol_cosmwasm/src/structs.rs +++ b/packages/protocol_cosmwasm/src/structs.rs @@ -15,7 +15,7 @@ pub type Element = [u8; 32]; pub type LatestLeafIndex = u32; // Edge: Directed connection or link between two anchors. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema, Default, Copy)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema, Default, Copy)] pub struct Edge { /// chain id pub src_chain_id: ChainId, @@ -28,7 +28,7 @@ pub struct Edge { } /* ------ Anchor/Vanchor-common responses -------- */ -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct EdgeInfoResponse { pub src_chain_id: u64, pub root: [u8; 32], @@ -36,40 +36,40 @@ pub struct EdgeInfoResponse { pub target: [u8; 32], } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct NeighborRootInfoResponse { pub neighbor_root: [u8; 32], } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MerkleTreeInfoResponse { pub levels: u32, pub curr_root_index: u32, pub next_index: u32, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MerkleRootInfoResponse { pub root: [u8; 32], } /* ------ Handler-common responses ------ */ -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct BridgeAddrResponse { pub bridge_addr: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ContractAddrResponse { pub contract_addr: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ResourceIdResponse { pub resource_id: [u8; 32], } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct WhitelistCheckResponse { pub contract_addr: String, pub is_whitelisted: bool, diff --git a/packages/protocol_cosmwasm/src/token_wrapper.rs b/packages/protocol_cosmwasm/src/token_wrapper.rs index c09b219..ac0f98e 100644 --- a/packages/protocol_cosmwasm/src/token_wrapper.rs +++ b/packages/protocol_cosmwasm/src/token_wrapper.rs @@ -3,7 +3,7 @@ use cw20::{Cw20ReceiveMsg, Expiration}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { /// name of the Wrapping target token pub name: String, @@ -109,7 +109,7 @@ pub enum ExecuteMsg { BurnFrom { owner: String, amount: Uint128 }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { /// Implements CW20. Returns the current balance of the given address, 0 if unset. @@ -129,7 +129,7 @@ pub enum QueryMsg { GetAmountToWrap { target_amount: String }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum Cw20HookMsg { /// Wrap Cw20 tokens @@ -139,7 +139,7 @@ pub enum Cw20HookMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct UpdateConfigMsg { pub governor: Option, @@ -149,7 +149,7 @@ pub struct UpdateConfigMsg { pub fee_recipient: Option, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct ConfigResponse { pub governor: String, @@ -161,14 +161,14 @@ pub struct ConfigResponse { pub proposal_nonce: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct FeeFromAmountResponse { pub amount_to_wrap: String, pub fee_amt: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub struct GetAmountToWrapResponse { pub target_amount: String, diff --git a/packages/protocol_cosmwasm/src/tokenwrapper_handler.rs b/packages/protocol_cosmwasm/src/tokenwrapper_handler.rs index 30c1a9b..e6e5893 100644 --- a/packages/protocol_cosmwasm/src/tokenwrapper_handler.rs +++ b/packages/protocol_cosmwasm/src/tokenwrapper_handler.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; // @dev {initial_resource_ids} and {initial_contract_addresses} must have the same length (one resourceID for every address). // Also, these arrays must be ordered in the way that {initial_resource_ids}[0] is the intended resourceID for {initial_contract_addresses}[0]. -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { // Contract address of previously deployed Bridge. pub bridge_addr: String, @@ -15,7 +15,7 @@ pub struct InstantiateMsg { pub initial_contract_addresses: Vec, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { /* --- Handler common utils --- */ @@ -37,7 +37,7 @@ pub enum ExecuteMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { /* --- Handler common queries --- */ @@ -61,7 +61,7 @@ pub enum QueryMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct UpdateRecordResponse { pub tokenwrapper_addr: String, pub exec_chain_id: u64, diff --git a/packages/protocol_cosmwasm/src/vanchor.rs b/packages/protocol_cosmwasm/src/vanchor.rs index 9f9f8c8..e3f39ab 100644 --- a/packages/protocol_cosmwasm/src/vanchor.rs +++ b/packages/protocol_cosmwasm/src/vanchor.rs @@ -3,7 +3,7 @@ use cw20::Cw20ReceiveMsg; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct InstantiateMsg { pub chain_id: u64, pub levels: u32, @@ -96,13 +96,13 @@ pub enum ExecuteMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct UpdateConfigMsg { pub max_ext_amt: Option, pub max_fee: Option, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum Cw20HookMsg { /// Executes a deposit or combination join/split transaction @@ -124,7 +124,7 @@ pub enum Cw20HookMsg { }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ProofData { pub proof: Vec, pub public_amount: [u8; 32], @@ -154,7 +154,7 @@ impl ProofData { } } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ExtData { pub recipient: String, pub relayer: String, @@ -164,7 +164,7 @@ pub struct ExtData { pub encrypted_output2: [u8; 32], } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum QueryMsg { Config {}, @@ -174,7 +174,7 @@ pub enum QueryMsg { MerkleRootInfo { id: u32 }, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct ConfigResponse { pub handler: String, pub proposal_nonce: u32, @@ -186,5 +186,5 @@ pub struct ConfigResponse { pub max_fee: String, } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)] pub struct MigrateMsg {} diff --git a/test-scripts/README.md b/test-scripts/README.md index f1a95e6..08cb929 100644 --- a/test-scripts/README.md +++ b/test-scripts/README.md @@ -1,18 +1,79 @@ -# How to run the tests +# Webb Protocol-cosmwasm Integration Tests(Cosmjs + LocalJuno) + +## Requirements + +- docker +- [LocalJuno](https://github.com/CosmosContracts/juno) + +## Procedures + +### Start LocalJuno + +```bash +git clone https://github.com/CosmosContracts/juno.git +cd juno +``` + +Once done, start LocalJuno by + +```bash +STAKE_TOKEN=ujunox UNSAFE_CORS=true docker-compose up # Ctrl + C to quit +``` +(For the detail, please reference [Juno Doc](https://docs.junonetwork.io/smart-contracts-and-junod-development/junod-local-dev-setup#quick-est-start-dev-build)) + +When you may need to revert LocalJuno to its initial state, run ```bash -npm install -npm run test:setup-mixer -npm run test:test-mixer -npm run test:setup-anchor -npm run test:test-anchor +docker-compose rm ``` -**TIPS:** -After each of the setup commands, you update the config -file before proceeding to run the next command. -These commands depends on another. +### Compile contracts + +```bash +# .zshrc or .bashrc +# set the optimizer version to whichever latest version of optimizer (currently it is 0.12.5): +alias workspace-optimizer='docker run --rm -v "$(pwd)":/code \ + --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \ + --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ + cosmwasm/workspace-optimizer:0.12.5' +``` + +```bash +# from the root folder in the autonomy-cosmwasm-program repo +workspace-optimizer +``` + +### Create and configure wasms paths file + +You need to tell the test suite where to find the wasms artifacts files locally for the various repos it works with. + + +First, copy the built wasm files into the `./src/config/wasms` dir of this repo. + +In the `src/config` folder there is an example file for setting the parameters that point to your local wasm folders: `wasmPaths.ts.example` +In the newly created file, edit the `wasm_path` object's attributes for the `station` to point to the `./src/config/wasms` dir. + +```bash +cp ./src/config/wasmPaths.ts.example ./src/config/wasmPaths.ts +nano ./src/config/wasmPaths.ts +``` + +### LocalJuno constants file setup + +In the `src/config` folder there is an example file for setting the constants for your LocalJuno parameters (contracts, wallets, etc): `localjunoConstants.ts.example` + +```bash +cp ./src/config/localjunoConstants.ts.example ./src/config/localjunoConstants.ts +nano ./src/config/localjunoConstants.ts +``` + +### Run full setup of contracts & all tests + +```bash +yarn +yarn test:localjuno-setup-contracts +yarn test:localjuno-tests +``` -**NOTES:** -All the data, wallet and contract addresses SHOULD be updated, -since they are just one example for guide of testing the contracts. \ No newline at end of file +**NOTE:** After each of the setup commands, you may see key contract addresses or wasm codes that will need to updated in your `localjunoConstants.ts` file before proceeding to run the next command. These commands build upon on another. +Also, after one command, the terminal does not automatically get back. So, you should do it manually by `Ctrl + C`. diff --git a/test-scripts/package.json b/test-scripts/package.json index b1eab95..c3feada 100644 --- a/test-scripts/package.json +++ b/test-scripts/package.json @@ -1,26 +1,41 @@ { - "name": "protocol-cosmwasm-test-scripts", + "name": "protocol-cosmwasm-test", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { - "lint": "eslint . --ext .ts", "test": "ts-node ./src/index.ts", - "test:setup-mixer": "npm run test --mode=testnet_setup_mixer", - "test:test-mixer": "npm run test --mode=testnet_test_mixer", - "test:setup-anchor": "npm run test --mode=testnet_setup_anchor", - "test:test-anchor": "npm run test --mode=testnet_test_anchor" + "test:localjuno-tests": "npm run test --mode=localjuno_tests", + "test:localjuno-setup-contracts": "npm run test --mode=localjuno_setup_contracts", + "lint": "./node_modules/.bin/eslint .", + "lint:fix": "npm run lint --fix" }, "dependencies": { - "@terra-money/terra.js": "^2.0.14", - "chalk": "4.1.2", - "fs": "^0.0.1-security", - "ts-node": "^10.4.0", - "typescript": "^4.4.4" + "@cosmjs/cosmwasm-stargate": "^0.28.4", + "@cosmjs/proto-signing": "^0.28.4", + "@cosmjs/stargate": "^0.28.4", + "@polkadot/api": "^8.5.1", + "@polkadot/util": "^9.2.1", + "@types/crypto-js": "^4.0.2", + "@webb-tools/api": "^0.1.4-61", + "@webb-tools/wasm-utils": "^0.1.2-54", + "bn.js": "^5.2.0", + "chai": "^4.3.4", + "chai-as-promised": "^7.1.1", + "chalk": "^4.1.2", + "merkletreejs": "^0.2.24" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.19.0", - "@typescript-eslint/parser": "^5.19.0", - "eslint": "^8.13.0" + "@types/bn.js": "^5.1.0", + "@types/chai": "^4.2.21", + "@types/chai-as-promised": "^7.1.4", + "@types/chalk": "^2.2.0", + "@types/node": "^16.7.1", + "@typescript-eslint/eslint-plugin": "^4.31.0", + "@typescript-eslint/parser": "^4.31.0", + "eslint": "^7.32.0", + "ts-node": "^10.2.1", + "tslib": "^2.3.1", + "typescript": "^4.3.5" } } diff --git a/test-scripts/src/config.ts b/test-scripts/src/config.ts deleted file mode 100644 index 0403004..0000000 --- a/test-scripts/src/config.ts +++ /dev/null @@ -1,23 +0,0 @@ - -export default { - // Testnet bombay-12 - networkInfo: { - lcd_url: 'https://bombay.stakesystems.io', // backup: 'https://bombay-lcd.terra.dev' - chainId: 'bombay-12', - gasPrice: 0.15, - gasAdjustment: 1.4, - }, - - mnemonicKeys: { - deployer: "", - }, - - contracts: { - cw20: "terra1340t6lqq6jxhm8d6gtz0hzz5jzcszvm27urkn2", - mixer: "", - anchor: "", - vanchor: "", - recipient: "terra1kejftqzx05y9rv00lw5m76csfmx7lf9se02dz4", - relayer: "terra1jrj2vh6cstqwk3pg8nkmdf0r9z0n3q3f3jk5xn" - }, -}; diff --git a/test-scripts/src/config/constants.ts b/test-scripts/src/config/constants.ts new file mode 100644 index 0000000..dc16c48 --- /dev/null +++ b/test-scripts/src/config/constants.ts @@ -0,0 +1,33 @@ +// --------------------------------------------------------------------------------------------------- +// TestNet information +// --------------------------------------------------------------------------------------------------- +export const testnet = { + // TestNet juno-1 + networkInfo: { + url: "", // Add Juno testnet url here + chainId: "juno-1", + }, + + mnemonicKeys: { + wallet1: + "", + wallet2: + "", + wallet3: + "", + wallet4: + "", + }, + // Should be updated contract addresses after deploying wasms in the testnet + contracts: { + cw20: "juno...", // Ordinary CW20 token address + signatureBridge: "juno...", + tokenWrapper: "juno...", + tokenWrapperHandler: "juno...", + anchorHandler: "juno...", + anchor: "juno...", + vanchor: "juno...", + mixer: "juno...", + }, + + } as const; diff --git a/test-scripts/src/config/localjunoConstants.ts.example b/test-scripts/src/config/localjunoConstants.ts.example new file mode 100644 index 0000000..7a2ab07 --- /dev/null +++ b/test-scripts/src/config/localjunoConstants.ts.example @@ -0,0 +1,34 @@ + +// --------------------------------------------------------------------------------------------------- +// LocalJuno information +// --------------------------------------------------------------------------------------------------- +export const localjuno = { + networkInfo: { + url: "localhost:26657", + chainId: "testing", + }, + + addresses: { + wallet1: "juno16g2rahf5846rxzp3fwlswy08fz8ccuwk03k57y", // default wallet accompanied by "localjuno" network + wallet2: "juno16e3t7td2wu0wmggnxa3xnyu5whljyed69ptvkp", // dev wallet + wallet3: "juno1yq0azfkky8aqq4kvzdawrs7tm3rmpl8xs6vcx2", // dev wallet + }, + + mnemonicKeys: { + wallet1: "clip hire initial neck maid actor venue client foam budget lock catalog sweet steak waste crater broccoli pipe steak sister coyote moment obvious choose", + wallet2: "audit crawl employ lunch figure cigar chapter wrestle endless process unique angry", + wallet3: "ability pitch abuse game alter broccoli lottery warm baby tonight misery lumber", + }, + + // Should be updated contract addresses after deploying wasms in the LocalJuno + contracts: { + cw20: "juno...", // Ordinary CW20 token address + signatureBridge: "juno...", + tokenWrapper: "juno...", + tokenWrapperHandler: "juno...", + anchorHandler: "juno...", + anchor: "juno...", + vanchor: "juno...", + mixer: "juno...", + }, +}; \ No newline at end of file diff --git a/test-scripts/src/config/wasmPaths.ts.example b/test-scripts/src/config/wasmPaths.ts.example new file mode 100644 index 0000000..e77fa43 --- /dev/null +++ b/test-scripts/src/config/wasmPaths.ts.example @@ -0,0 +1,3 @@ +export const wasm_path = { + station: "", // Add "wasms" path here. Ex: "/Users/honeybee/Documents/localjuno-test/src/config/wasms" + }; \ No newline at end of file diff --git a/test-scripts/src/environments/localjuno.ts b/test-scripts/src/environments/localjuno.ts new file mode 100644 index 0000000..bed3431 --- /dev/null +++ b/test-scripts/src/environments/localjuno.ts @@ -0,0 +1,113 @@ +// ------------------------------------------------------------------------------------- +// LocalJuno test-suite +// ------------------------------------------------------------------------------------- +import chalk from "chalk"; +import { GasPrice } from "@cosmjs/stargate"; +import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; + +import { localjuno as config, localjuno } from "../config/localjunoConstants"; +import { datetimeStringToUTC } from "../utils/helpers"; + +import { migrateContracts } from "../processes/migrate/testnet"; +import { setupContracts } from "../processes/setup/testnet"; + +import { testExecute } from "../processes/tests/testnet"; + +// ------------------------------------------------------------------------------------- +// Variables +// ------------------------------------------------------------------------------------- +let junod: SigningCosmWasmClient; +let wallet1: DirectSecp256k1HdWallet; +let wallet2: DirectSecp256k1HdWallet; +let wallet3: DirectSecp256k1HdWallet; + +let cw20: string; +let signatureBridge: string; +let tokenWrapper: string; +let tokenWrapperHandler: string; +let anchorHandler: string; +let anchor: string; +let vanchor: string; +let mixer: string; + +// ------------------------------------------------------------------------------------- +// initialize variables +// ------------------------------------------------------------------------------------- +async function initialize() { + wallet1 = await DirectSecp256k1HdWallet.fromMnemonic(localjuno.mnemonicKeys.wallet1, { prefix: "juno" }); + wallet2 = await DirectSecp256k1HdWallet.fromMnemonic(localjuno.mnemonicKeys.wallet2, { prefix: "juno" }); + wallet3 = await DirectSecp256k1HdWallet.fromMnemonic(localjuno.mnemonicKeys.wallet3, { prefix: "juno" }); + + junod = await SigningCosmWasmClient.connectWithSigner(localjuno.networkInfo.url, wallet1, { gasPrice: GasPrice.fromString("0.1ujunox")}); + + const [account1] = await wallet1.getAccounts(); + const [account2] = await wallet2.getAccounts(); + const [account3] = await wallet3.getAccounts(); + + console.log(`Use ${chalk.cyan(account1.address)} as Wallet 1`); + console.log(`Use ${chalk.cyan(account2.address)} as Wallet 2`); + console.log(`Use ${chalk.cyan(account3.address)} as Wallet 3`); + + cw20 = config.contracts.cw20; + signatureBridge = config.contracts.signatureBridge; + tokenWrapper = config.contracts.tokenWrapper; + tokenWrapperHandler = config.contracts.tokenWrapperHandler; + anchorHandler = config.contracts.anchorHandler; + anchor = config.contracts.anchor; + vanchor = config.contracts.vanchor; + mixer = config.contracts.mixer; + + console.log(`Use ${chalk.cyan(cw20)} as Cw20(AUTO) token`); + console.log(`Use ${chalk.cyan(signatureBridge)} as SignatureBridge`); + console.log(`Use ${chalk.cyan(tokenWrapper)} as TokenWrapper`); + console.log(`Use ${chalk.cyan(tokenWrapperHandler)} as TokenWrapperHandler`); + console.log(`Use ${chalk.cyan(anchorHandler)} as AnchorHandler`); + console.log(`Use ${chalk.cyan(anchor)} as Anchor`); + console.log(`Use ${chalk.cyan(vanchor)} as VAnchor`); + console.log(`Use ${chalk.cyan(mixer)} as Mixer`); +} + + +// ------------------------------------------------------------------------------------- +// setup contracts +// ------------------------------------------------------------------------------------- +export async function startSetupContracts(): Promise { + console.log(chalk.blue("\nTestNet")); + + // Initialize environment information + console.log(chalk.yellow("\nStep 1. Environment Info")); + await initialize(); + + // Setup contracts + console.log(chalk.yellow("\nStep 2. Contracts Setup")); + await setupContracts(junod, { wallet1, wallet2, wallet3 }); +} + + +// ------------------------------------------------------------------------------------- +// start test +// ------------------------------------------------------------------------------------- +export async function startTests(): Promise { + console.log(chalk.blue("\nTestNet")); + + // Initialize environment information + console.log(chalk.yellow("\nStep 1. Environment Info")); + await initialize(); + + // Test queries + await testExecute( + junod, + wallet1, + wallet2, + wallet3, + cw20, + signatureBridge, + tokenWrapper, + tokenWrapperHandler, + anchorHandler, + anchor, + vanchor, + mixer, + ); +} diff --git a/test-scripts/src/environments/testnet.ts b/test-scripts/src/environments/testnet.ts new file mode 100644 index 0000000..7ab6702 --- /dev/null +++ b/test-scripts/src/environments/testnet.ts @@ -0,0 +1,114 @@ +// ------------------------------------------------------------------------------------- +// TestNet test-suite +// ------------------------------------------------------------------------------------- +import chalk from "chalk"; +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; + +import { testnet as config } from "../config/constants"; +import { datetimeStringToUTC } from "../utils/helpers"; + +import { migrateContracts } from "../processes/migrate/testnet"; + +import { setupContracts } from "../processes/setup/testnet"; + +import { testExecute } from "../processes/tests/testnet"; + +// ------------------------------------------------------------------------------------- +// Variables +// ------------------------------------------------------------------------------------- + +let junod: SigningCosmWasmClient; +let wallet1: DirectSecp256k1HdWallet; +let wallet2: DirectSecp256k1HdWallet; +let wallet3: DirectSecp256k1HdWallet; + +let cw20: string; +let signatureBridge: string; +let tokenWrapper: string; +let tokenWrapperHandler: string; +let anchorHandler: string; +let anchor: string; +let vanchor: string; +let mixer: string; + +// ------------------------------------------------------------------------------------- +// initialize variables +// ------------------------------------------------------------------------------------- +async function initialize() { + wallet1 = await DirectSecp256k1HdWallet.fromMnemonic(config.mnemonicKeys.wallet1, { prefix: "juno" }); + wallet2 = await DirectSecp256k1HdWallet.fromMnemonic(config.mnemonicKeys.wallet2, { prefix: "juno" }); + wallet3 = await DirectSecp256k1HdWallet.fromMnemonic(config.mnemonicKeys.wallet3, { prefix: "juno" }); + + junod = await SigningCosmWasmClient.connectWithSigner(config.networkInfo.url, wallet1); + + const [account1] = await wallet1.getAccounts(); + const [account2] = await wallet2.getAccounts(); + const [account3] = await wallet3.getAccounts(); + + console.log(`Use ${chalk.cyan(account1.address)} as Wallet 1`); + console.log(`Use ${chalk.cyan(account2.address)} as Wallet 2`); + console.log(`Use ${chalk.cyan(account3.address)} as Wallet 3`); + + cw20 = config.contracts.cw20; + signatureBridge = config.contracts.signatureBridge; + tokenWrapper = config.contracts.tokenWrapper; + tokenWrapperHandler = config.contracts.tokenWrapperHandler; + anchorHandler = config.contracts.anchorHandler; + anchor = config.contracts.anchor; + vanchor = config.contracts.vanchor; + mixer = config.contracts.mixer; + + console.log(`Use ${chalk.cyan(cw20)} as Cw20(AUTO) token`); + console.log(`Use ${chalk.cyan(signatureBridge)} as SignatureBridge`); + console.log(`Use ${chalk.cyan(tokenWrapper)} as TokenWrapper`); + console.log(`Use ${chalk.cyan(tokenWrapperHandler)} as TokenWrapperHandler`); + console.log(`Use ${chalk.cyan(anchorHandler)} as AnchorHandler`); + console.log(`Use ${chalk.cyan(anchor)} as Anchor`); + console.log(`Use ${chalk.cyan(vanchor)} as VAnchor`); + console.log(`Use ${chalk.cyan(mixer)} as Mixer`); +} + + +// ------------------------------------------------------------------------------------- +// setup contracts +// ------------------------------------------------------------------------------------- +export async function startSetupContracts(): Promise { + console.log(chalk.blue("\nTestNet")); + + // Initialize environment information + console.log(chalk.yellow("\nStep 1. Environment Info")); + initialize(); + + // Setup contracts + console.log(chalk.yellow("\nStep 2. Contracts Setup")); + await setupContracts(junod, { wallet1, wallet2, wallet3 }); +} + +// ------------------------------------------------------------------------------------- +// start test +// ------------------------------------------------------------------------------------- +export async function startTests(): Promise { + console.log(chalk.blue("\nTestNet")); + + // Initialize environment information + console.log(chalk.yellow("\nStep 1. Environment Info")); + initialize(); + + // Test queries + await testExecute( + junod, + wallet1, + wallet2, + wallet3, + cw20, + signatureBridge, + tokenWrapper, + tokenWrapperHandler, + anchorHandler, + anchor, + vanchor, + mixer, + ); +} + \ No newline at end of file diff --git a/test-scripts/src/index.ts b/test-scripts/src/index.ts index 5fc112f..02a643d 100644 --- a/test-scripts/src/index.ts +++ b/test-scripts/src/index.ts @@ -1,23 +1,19 @@ -import * as setupContracts from './scripts/setupContracts'; -import * as testContracts from './scripts/testContracts'; +import * as LocalNet from "./environments/localjuno"; +//---------------------------------------------------------------------------------------- +// Test-suite for LocalJuno +//---------------------------------------------------------------------------------------- (async () => { - const mode = process.env.npm_config_mode || ""; - switch (mode) { - case "testnet_setup_mixer": - await setupContracts.setupMixer(); - break; - case "testnet_test_mixer": - await testContracts.testMixer(); - break; - case "testnet_setup_anchor": - await setupContracts.setupAnchor(); - break; - case "testnet_test_anchor": - await testContracts.testAnchor(); - break; - default: - console.log("Invalid command"); - break; - } -})(); \ No newline at end of file + const mode = process.env.npm_config_mode || ""; + switch (mode) { + case "localjuno_tests": + await LocalNet.startTests(); + break; + case "localjuno_setup_contracts": + await LocalNet.startSetupContracts(); + break; + default: + console.log("Invalid command"); + break; + } +})(); diff --git a/test-scripts/src/processes/migrate/testnet.ts b/test-scripts/src/processes/migrate/testnet.ts new file mode 100644 index 0000000..4a1fd53 --- /dev/null +++ b/test-scripts/src/processes/migrate/testnet.ts @@ -0,0 +1,27 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as path from "path"; +import chalk from "chalk"; +import { + storeCode, + migrateContract, +} from "../../utils/helpers"; +import { wasm_path } from "../../config/wasmPaths"; +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; + + +// ----------------------------- +// Base functions to migrate contracts with +// ----------------------------- +export async function migrateContracts( + junod: SigningCosmWasmClient, + wallet1: DirectSecp256k1HdWallet, + fundsRouter: string, + timeConditions: string, + ): Promise { + // run the migrations desired + } + + + \ No newline at end of file diff --git a/test-scripts/src/processes/setup/testnet.ts b/test-scripts/src/processes/setup/testnet.ts new file mode 100644 index 0000000..ee31b74 --- /dev/null +++ b/test-scripts/src/processes/setup/testnet.ts @@ -0,0 +1,311 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as path from "path"; +import chalk from "chalk"; +import { storeCode, instantiateContract } from "../../utils/helpers"; +import { wasm_path } from "../../config/wasmPaths"; +import { NONAME } from "dns"; + +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { coin, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; + +import { localjuno } from '../../config/localjunoConstants'; + +// ------------------------------------------------------------------------------------- +// Variables +// ------------------------------------------------------------------------------------- + +let junod: SigningCosmWasmClient; +let wallet1: DirectSecp256k1HdWallet; +let wallet2: DirectSecp256k1HdWallet; +let wallet3: DirectSecp256k1HdWallet; + +let cw20: string; +let signatureBridge: string; +let tokenWrapper: string; +let tokenWrapperHandler: string; +let anchorHandler: string; +let anchor: string; +let vanchor: string; +let mixer: string; + +// ------------------------------------------------------------------------------------- +// setup all contracts for LocalJuno and TestNet +// ------------------------------------------------------------------------------------- +export async function setupContracts( + junod: SigningCosmWasmClient, + wallets: { + wallet1: DirectSecp256k1HdWallet, + wallet2: DirectSecp256k1HdWallet, + wallet3: DirectSecp256k1HdWallet, + } +): Promise { + junod = junod; + wallet1 = wallets.wallet1; + wallet2 = wallets.wallet2; + wallet3 = wallets.wallet3; + + // Send some test tokens to test wallets + await junod.sendTokens(localjuno.addresses.wallet1, localjuno.addresses.wallet2, [coin("100000000", "ucosm"), coin("10000000", "ujunox")], "auto"); + await junod.sendTokens(localjuno.addresses.wallet1, localjuno.addresses.wallet3, [coin("100000000", "ucosm"), coin("10000000", "ujunox")], "auto"); + + await setup(junod, wallet1); + + console.log(chalk.green(" Done!")); +} + +async function setup( + junod: SigningCosmWasmClient, + wallet1: DirectSecp256k1HdWallet, +): Promise { + // Step 1. Upload all local wasm files and capture the codes for each.... + + process.stdout.write("Uploading CW20 Token Wasm"); + const cw20CodeId = await storeCode( + junod, + wallet1, + `${wasm_path.station}/cw20_base.wasm` + ); + console.log(chalk.green(" Done!"), `${chalk.blue("codeId")} = ${cw20CodeId}`); + + process.stdout.write("Uploading SignatureBridge Wasm"); + const signatureBridgeCodeId = await storeCode( + junod, + wallet1, + `${wasm_path.station}/cosmwasm_signature_bridge.wasm` + ); + + console.log(chalk.green(" Done!"), `${chalk.blue("codeId")}=${signatureBridgeCodeId}`); + + process.stdout.write("Uploading TokenWrapper Wasm"); + const tokenWrapperCodeId = await storeCode( + junod, + wallet1, + `${wasm_path.station}/cosmwasm_tokenwrapper.wasm` + ); + + console.log(chalk.green(" Done!"), `${chalk.blue("codeId")}=${tokenWrapperCodeId}`); + + process.stdout.write("Uploading TokenWrapperHandler Wasm"); + const tokenWrapperHandlerCodeId = await storeCode( + junod, + wallet1, + `${wasm_path.station}/cosmwasm_tokenwrapper_handler.wasm` + ); + console.log(chalk.green(" Done!"), `${chalk.blue("codeId")} = ${tokenWrapperHandlerCodeId}`); + + process.stdout.write("Uploading AnchorHandler Wasm"); + const anchorHandlerCodeId = await storeCode( + junod, + wallet1, + `${wasm_path.station}/cosmwasm_anchor_handler.wasm` + ); + console.log(chalk.green(" Done!"), `${chalk.blue("codeId")} = ${anchorHandlerCodeId}`); + + process.stdout.write("Uploading Anchor Wasm"); + const anchorCodeId = await storeCode( + junod, + wallet1, + `${wasm_path.station}/cosmwasm_anchor.wasm` + ); + console.log(chalk.green(" Done!"), `${chalk.blue("codeId")} = ${anchorCodeId}`); + + process.stdout.write("Uploading VAnchor Wasm"); + const vanchorCodeId = await storeCode( + junod, + wallet1, + `${wasm_path.station}/cosmwasm_vanchor.wasm` + ); + console.log(chalk.green(" Done!"), `${chalk.blue("codeId")} = ${vanchorCodeId}`); + + process.stdout.write("Uploading Mixer Wasm"); + const mixerCodeId = await storeCode( + junod, + wallet1, + `${wasm_path.station}/cosmwasm_mixer.wasm` + ); + console.log(chalk.green(" Done!"), `${chalk.blue("codeId")} = ${mixerCodeId}`); + + + // Step 2. Instantiate contracts + + // CW20 token + process.stdout.write("Instantiating CW20(AUTO) token contract"); + + const autoTokenResult = await instantiateContract( + junod, + wallet1, + wallet1, + cw20CodeId, + { + "name": localjuno.contractsConsts.cw20TokenName, + "symbol": localjuno.contractsConsts.cw20TokenSymbol, + "decimals": localjuno.contractsConsts.decimals, + "initial_balances": [ + { + "address": localjuno.addresses.wallet1, + "amount": "10000000000" + }, + { + "address": localjuno.addresses.wallet2, + "amount": "10000000000" + }, + { + "address": localjuno.addresses.wallet3, + "amount": "10000000000" + } + ] + } + ); + cw20 = autoTokenResult.contractAddress; + console.log(chalk.green(" Done!"), `${chalk.blue("contractAddress")}=${cw20}`); + + + // SignatureBridge + process.stdout.write("Instantiating SignatureBridge contract"); + + const signatureBridgeResult = await instantiateContract( + junod, + wallet1, + wallet1, + signatureBridgeCodeId, + { + "initial_governor": localjuno.addresses.wallet1, + } + ); + signatureBridge = signatureBridgeResult.contractAddress; + console.log(chalk.green(" Done!"), `${chalk.blue("contractAddress")}=${signatureBridge}`); + + + // TokenWrapper + process.stdout.write("Instantiating tokenWrapper contract"); + + const tokenWrapperResult = await instantiateContract( + junod, + wallet1, + wallet1, + tokenWrapperCodeId, + { + "name": localjuno.contractsConsts.tokenWrapperTokenName, + "symbol": localjuno.contractsConsts.tokenWrapperTokenSymbol, + "decimals": localjuno.contractsConsts.decimals, + "governor": undefined, + "fee_recipient": localjuno.addresses.wallet2, + "fee_percentage": localjuno.contractsConsts.feePercentage, + "native_token_denom": localjuno.contractsConsts.nativeTokenDenom, + "is_native_allowed": localjuno.contractsConsts.isNativeAllowed, + "wrapping_limit": localjuno.contractsConsts.tokenWrapperWrappingLimit, + } + ); + tokenWrapper = tokenWrapperResult.contractAddress; + + // Register Cw20(AUTO) token in "TokenWrapper" + await junod.execute(localjuno.addresses.wallet1, tokenWrapper, { + add_cw20_token_addr: { + token: cw20, + nonce: 1, + } + }, "auto", undefined, []); + + console.log(chalk.green(" Done!"), `${chalk.blue("contractAddress")}=${tokenWrapper}`); + + + // TokenWrapperHandler + process.stdout.write("Instantiating TokenWrapperHandler contract"); + + const tokenWrapperHandlerResult = await instantiateContract( + junod, + wallet1, + wallet1, + tokenWrapperHandlerCodeId, + { + "bridge_addr": signatureBridge, + "initial_resource_ids": [], + "initial_contract_addresses": [], + } + ); + tokenWrapperHandler = tokenWrapperHandlerResult.contractAddress; + console.log(chalk.green(" Done!"), `${chalk.blue("contractAddress")}=${tokenWrapperHandler}`); + + + // AnchorHandler + process.stdout.write("Instantiating AnchorHandler contract"); + + const anchorHandlerResult = await instantiateContract( + junod, + wallet1, + wallet1, + anchorHandlerCodeId, + { + "bridge_addr": signatureBridge, + "initial_resource_ids": [], + "initial_contract_addresses": [], + } + ); + anchorHandler = anchorHandlerResult.contractAddress; + console.log(chalk.green(" Done!"), `${chalk.blue("contractAddress")}=${anchorHandler}`); + + + // Anchor + process.stdout.write("Instantiating Anchor contract"); + + const anchorResult = await instantiateContract( + junod, + wallet1, + wallet1, + anchorCodeId, + { + "max_edges": localjuno.contractsConsts.maxEdges, + "chain_id": localjuno.contractsConsts.chainId, + "levels": localjuno.contractsConsts.levels, + "deposit_size": localjuno.contractsConsts.depositSize, + "tokenwrapper_addr": tokenWrapper, + "handler": anchorHandler, + } + ); + anchor = anchorResult.contractAddress; + console.log(chalk.green(" Done!"), `${chalk.blue("contractAddress")}=${anchor}`); + + + // VAnchor + process.stdout.write("Instantiating VAnchor contract"); + + const vanchorResult = await instantiateContract( + junod, + wallet1, + wallet1, + vanchorCodeId, + { + "max_edges": localjuno.contractsConsts.maxEdges, + "chain_id": localjuno.contractsConsts.chainId, + "levels": localjuno.contractsConsts.levels, + "max_deposit_amt": localjuno.contractsConsts.maxDepositAmt, + "min_withdraw_amt": localjuno.contractsConsts.minWithdrawAmt, + "max_ext_amt": localjuno.contractsConsts.maxExtAmt, + "max_fee": localjuno.contractsConsts.maxFee, + "tokenwrapper_addr": tokenWrapper, + "handler": anchorHandler, + } + ); + vanchor = vanchorResult.contractAddress; + console.log(chalk.green(" Done!"), `${chalk.blue("contractAddress")}=${vanchor}`); + + // Mixer + process.stdout.write("Instantiating Mixer contract"); + + const mixerResult = await instantiateContract( + junod, + wallet1, + wallet1, + mixerCodeId, + { + "merkletree_levels": localjuno.contractsConsts.levels, + "deposit_size": localjuno.contractsConsts.depositSize, + "native_token_denom": localjuno.contractsConsts.nativeTokenDenom, + "cw20_address": undefined, + } + ); + mixer = mixerResult.contractAddress; + console.log(chalk.green(" Done!"), `${chalk.blue("contractAddress")}=${mixer}`); + + process.exit(); +} \ No newline at end of file diff --git a/test-scripts/src/processes/tests/anchor.ts b/test-scripts/src/processes/tests/anchor.ts new file mode 100644 index 0000000..820d00d --- /dev/null +++ b/test-scripts/src/processes/tests/anchor.ts @@ -0,0 +1,333 @@ +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { Coin, coin, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; +import { GasPrice } from "@cosmjs/stargate"; +import * as chai from "chai"; +import chaiAsPromised from "chai-as-promised"; +import chalk from "chalk"; +import { localjuno } from "../../config/localjunoConstants"; +import { datetimeStringToUTC,toEncodedBinary } from "../../utils/helpers"; + +chai.use(chaiAsPromised); +const { expect } = chai; + +// ----------------------------------------------- +// TEST: Anchor +// +// SCENARIO: +// 1. Initialize the "anchor" contract (already done in "setup") +// 2. Check if the state/config matches the setup input +// ------------------------------------------------ +export async function testAnchorInitialize( + junod: SigningCosmWasmClient, + anchor: string, + ): Promise { + process.stdout.write("Test - Anchor should initialize"); + const result: any = await junod.queryContractSmart(anchor, { + config: {}, + }); + + expect(result.handler == localjuno.contracts.anchorHandler); + expect(result.proposal_nonce == 0); + expect(result.chain_id == localjuno.contractsConsts.chainId); + expect(result.tokenwrapper_addr == localjuno.contracts.tokenWrapper); + expect(result.deposit_size == localjuno.contractsConsts.depositSize); + + console.log(chalk.green(" Passed!")); + } + + // ----------------------------------------------- + // TEST: Anchor + // + // SCENARIO: + // 1. Wallet3 "deposit" to anchor + // 2. Wallet2 "withdraw" from anchor + // ------------------------------------------------ + export async function testAnchorDepositWithdraw( + junod: SigningCosmWasmClient, + anchor: string, + wallet1: DirectSecp256k1HdWallet, + wallet2: DirectSecp256k1HdWallet, + wallet3: DirectSecp256k1HdWallet, + ucosm_amount: string, + ): Promise { + process.stdout.write(`Test - Wallet3 deposit ${ucosm_amount} ucosm to anchor`); + + // Query the "amt_to_send" for "WrapAndDeposit" action + const amt_to_send_query: any = await junod.queryContractSmart(localjuno.contracts.tokenWrapper, { + get_amount_to_wrap: { + target_amount: ucosm_amount, + } + }); + const ucosm_to_send = amt_to_send_query.amount_to_wrap; + + + let wallet3_client = await SigningCosmWasmClient.connectWithSigner( + localjuno.networkInfo.url, + wallet3, + {gasPrice: GasPrice.fromString("0.1ujunox")}, + ); + + // Fail to "deposit" since no "commitment" + await expect( + wallet3_client.execute(localjuno.addresses.wallet3, localjuno.contracts.anchor, { + wrap_and_deposit: { + commitment: undefined, + amount: ucosm_amount, + } + }, "auto", undefined, [coin(ucosm_to_send, "ucosm")]) + ).to.be.rejected; // rejectedWith("Commitment not found"); + + // Succeed to "deposit" + const result = await wallet3_client.execute(localjuno.addresses.wallet3, localjuno.contracts.anchor, { + wrap_and_deposit: { + commitment: [235, 3, 87, 22, 66, 107, 162, 89, 147, 182, 207, 54, 195, 138, 136, 110, 150, 128, 213, 43, 44, 121, 177, 9, 17, 54, 9, 202, 11, 230, 158, 8], + amount: ucosm_amount, + } + }, "auto", undefined, [coin(ucosm_to_send, "ucosm")]) + + console.log(chalk.green(" Passed!\n")); + + process.stdout.write(`Test - Wallet2 withdraw ${ucosm_amount} WTW from anchor`); + + let wallet2_client = await SigningCosmWasmClient.connectWithSigner( + localjuno.networkInfo.url, + wallet2, + {gasPrice: GasPrice.fromString("0.1ujunox")}, + ); + + // Fail to "withdraw" since no "commitment" + await expect( + wallet2_client.execute(localjuno.addresses.wallet2, anchor, { + withdraw_and_unwrap: { + proof_bytes: [168, 60, 122, 239, 216, 49, 51, 19, 135, 224, 117, 57, 71, 178, 12, 149, 135, 132, 115, 166, 248, 175, 71, 160, 160, 92, 167, 35, 250, 197, 156, 13, 82, 106, 210, 191, 192, 174, 127, 23, 146, 114, 67, 179, 210, 230, 89, 73, 81, 109, 204, 170, 1, 80, 193, 229, 101, 58, 38, 204, 90, 111, 45, 20, 106, 206, 173, 139, 4, 104, 18, 116, 216, 41, 10, 147, 221, 99, 98, 42, 229, 213, 30, 251, 131, 33, 236, 31, 75, 76, 29, 155, 85, 244, 59, 162, 173, 48, 143, 49, 233, 38, 135, 62, 5, 125, 99, 61, 72, 168, 208, 187, 98, 141, 85, 129, 247, 145, 102, 19, 205, 100, 75, 200, 20, 205, 92, 168], + roots: [], + nullifier_hash: [183, 160, 141, 89, 98, 241, 220, 87, 120, 249, 242, 56, 92, 41, 28, 230, 247, 111, 155, 7, 94, 2, 142, 101, 0, 243, 39, 32, 59, 235, 198, 31], + recipient: localjuno.addresses.wallet2, + relayer: localjuno.addresses.wallet3, + fee: "0", + refund: "0", + commitment: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + cw20_address: localjuno.contracts.tokenWrapper, + }, + }, "auto", undefined, []) + ).to.be.rejected; // rejectedWith("Root is not known"); + + // Succeed to "withdraw" + const beforeBalance: Coin = await junod.getBalance(localjuno.addresses.wallet2, "ucosm"); + const beforeUcosm = beforeBalance.amount; + + const result1 = await wallet2_client.execute(localjuno.addresses.wallet2, anchor, { + withdraw_and_unwrap: { + proof_bytes: [168, 60, 122, 239, 216, 49, 51, 19, 135, 224, 117, 57, 71, 178, 12, 149, 135, 132, 115, 166, 248, 175, 71, 160, 160, 92, 167, 35, 250, 197, 156, 13, 82, 106, 210, 191, 192, 174, 127, 23, 146, 114, 67, 179, 210, 230, 89, 73, 81, 109, 204, 170, 1, 80, 193, 229, 101, 58, 38, 204, 90, 111, 45, 20, 106, 206, 173, 139, 4, 104, 18, 116, 216, 41, 10, 147, 221, 99, 98, 42, 229, 213, 30, 251, 131, 33, 236, 31, 75, 76, 29, 155, 85, 244, 59, 162, 173, 48, 143, 49, 233, 38, 135, 62, 5, 125, 99, 61, 72, 168, 208, 187, 98, 141, 85, 129, 247, 145, 102, 19, 205, 100, 75, 200, 20, 205, 92, 168], + roots: [[95, 118, 152, 109, 95, 8, 90, 146, 31, 73, 193, 217, 18, 210, 109, 187, 210, 188, 213, 120, 236, 144, 71, 85, 80, 77, 197, 35, 135, 170, 135, 45], [95, 118, 152, 109, 95, 8, 90, 146, 31, 73, 193, 217, 18, 210, 109, 187, 210, 188, 213, 120, 236, 144, 71, 85, 80, 77, 197, 35, 135, 170, 135, 45]], + nullifier_hash: [183, 160, 141, 89, 98, 241, 220, 87, 120, 249, 242, 56, 92, 41, 28, 230, 247, 111, 155, 7, 94, 2, 142, 101, 0, 243, 39, 32, 59, 235, 198, 31], + recipient: localjuno.addresses.wallet2, + relayer: localjuno.addresses.wallet3, + fee: "0", + refund: "0", + commitment: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + cw20_address: undefined, + }, + }, "auto", undefined, []); + + const afterBalance: Coin = await junod.getBalance(localjuno.addresses.wallet2, "ucosm"); + const afterUcosm = afterBalance.amount; + + expect(parseInt(beforeUcosm) + parseInt(ucosm_amount) == parseInt(afterUcosm)); + + console.log(chalk.green(" Passed!")); + } + + // ----------------------------------------------- + // TEST: Anchor + // + // SCENARIO: + // 1. Wallet3 "wrap"s some ucosm in anchor + // ------------------------------------------------ + export async function testAnchorWrapNative( + junod: SigningCosmWasmClient, + anchor: string, + wallet3: DirectSecp256k1HdWallet, + ucosm_amount: string, + ): Promise { + process.stdout.write(`Test - Wallet3 wrap ${ucosm_amount} ucosm in anchor`); + + let wallet3_client = await SigningCosmWasmClient.connectWithSigner( + localjuno.networkInfo.url, + wallet3, + { gasPrice: GasPrice.fromString("0.1ujunox") }, + ); + + const beforeBalance: any = await junod.queryContractSmart(localjuno.contracts.tokenWrapper, { + balance: { + address: localjuno.addresses.wallet3, + } + }); + const beforeWTW = beforeBalance.balance; + + const result = await wallet3_client.execute(localjuno.addresses.wallet3, anchor, { + wrap_native: { + amount: ucosm_amount, + }, + }, + "auto", undefined, [coin(ucosm_amount, "ucosm")] + ); + + + const afterBalance: any = await junod.queryContractSmart(localjuno.contracts.tokenWrapper, { + balance: { + address: localjuno.addresses.wallet3, + } + }); + const afterWTW = afterBalance.balance; + + // Here, we knows that the "fee_percentage" is "0.1". + expect(parseInt(beforeWTW) + parseInt(ucosm_amount) * 0.9 == parseInt(afterWTW)); + + console.log(chalk.green(" Passed!")); + } + + // ----------------------------------------------- + // TEST: Anchor + // + // SCENARIO: + // 1. Wallet3 "unwrap"s some WTW in anchor + // ------------------------------------------------ + export async function testAnchorUnwrapNative( + junod: SigningCosmWasmClient, + anchor: string, + wallet3: DirectSecp256k1HdWallet, + wtw_amount: string, + ): Promise { + process.stdout.write(`Test - Wallet3 unwrap ${wtw_amount} WTW in anchor`); + + let wallet3_client = await SigningCosmWasmClient.connectWithSigner( + localjuno.networkInfo.url, + wallet3, + { gasPrice: GasPrice.fromString("0.1ujunox") }, + ); + + const beforeBalance: Coin = await junod.getBalance(localjuno.addresses.wallet3, "ucosm"); + const beforeUcosm = beforeBalance.amount; + + const result = await wallet3_client.execute(localjuno.addresses.wallet3, anchor, { + unwrap_native: { + amount: wtw_amount, + }, + }, + "auto", undefined, [] + ); + + const afterBalance: Coin = await junod.getBalance(localjuno.addresses.wallet3, "ucosm"); + const afterUcosm = afterBalance.amount; + + expect(parseInt(beforeUcosm) + parseInt(wtw_amount) == parseInt(afterUcosm)); + + console.log(chalk.green(" Passed!")); + } + + // ----------------------------------------------- + // TEST: Anchor + // + // SCENARIO: + // 1. Wallet3 "wrap"s some CW20 token(AUTO) in anchor + // ------------------------------------------------ + export async function testAnchorWrapCw20( + junod: SigningCosmWasmClient, + anchor: string, + tokenWrapper: string, + auto: string, + wallet3: DirectSecp256k1HdWallet, + auto_amount: string, + ): Promise { + process.stdout.write(`Test - Wallet3 wrap ${auto_amount} AUTO in anchor`); + + let wallet3_client = await SigningCosmWasmClient.connectWithSigner( + localjuno.networkInfo.url, + wallet3, + { gasPrice: GasPrice.fromString("0.1ujunox") }, + ); + + const beforeBalance: any = await junod.queryContractSmart(localjuno.contracts.tokenWrapper, { + balance: { + address: localjuno.addresses.wallet3, + } + }); + const beforeWTW = beforeBalance.balance; + + const wrapCw20Msg = toEncodedBinary({ + wrap_token: {}, + }); + + const result = await wallet3_client.execute(localjuno.addresses.wallet3, auto, { + send: { + contract: anchor, + amount: auto_amount, + msg: wrapCw20Msg, + }, + }, + "auto", undefined, [] + ); + + + const afterBalance: any = await junod.queryContractSmart(localjuno.contracts.tokenWrapper, { + balance: { + address: localjuno.addresses.wallet3, + } + }); + const afterWTW = afterBalance.balance; + + // Here, we knows that the "fee_percentage" is "0.1". + expect(parseInt(beforeWTW) + parseInt(auto_amount) * 0.9 == parseInt(afterWTW)); + + console.log(chalk.green(" Passed!")); + } + + // ----------------------------------------------- + // TEST: Anchor + // + // SCENARIO: + // 1. Wallet3 "unwrap"s some WTW to Cw20 token(AUTO) in anchor + // ------------------------------------------------ + export async function testAnchorUnwrapCw20( + junod: SigningCosmWasmClient, + anchor: string, + tokenWrapper: string, + auto: string, + wallet3: DirectSecp256k1HdWallet, + wtw_amount: string, + ): Promise { + process.stdout.write(`Test - Wallet3 unwrap ${wtw_amount} WTW in anchor`); + + let wallet3_client = await SigningCosmWasmClient.connectWithSigner( + localjuno.networkInfo.url, + wallet3, + { gasPrice: GasPrice.fromString("0.1ujunox") }, + ); + + const beforeBalance: any = await junod.queryContractSmart(auto, { + balance: { + address: localjuno.addresses.wallet3 + } + }); + const beforeAUTO = beforeBalance.balance; + + const result = await wallet3_client.execute(localjuno.addresses.wallet3, anchor, { + unwrap_into_token: { + token_addr: auto, + amount: wtw_amount, + }, + }, + "auto", undefined, [] + ); + + const afterBalance: any = await junod.queryContractSmart(auto, { + balance: { + address: localjuno.addresses.wallet3 + } + }); + const afterAUTO = beforeBalance.balance; + expect(parseInt(beforeAUTO) + parseInt(wtw_amount) == parseInt(afterAUTO)); + + console.log(chalk.green(" Passed!")); + } \ No newline at end of file diff --git a/test-scripts/src/processes/tests/mixer.ts b/test-scripts/src/processes/tests/mixer.ts new file mode 100644 index 0000000..1a7b3fd --- /dev/null +++ b/test-scripts/src/processes/tests/mixer.ts @@ -0,0 +1,142 @@ +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { Coin, coin, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; +import { GasPrice } from "@cosmjs/stargate"; +import * as chai from "chai"; +import chaiAsPromised from "chai-as-promised"; +import chalk from "chalk"; + +import { localjuno } from "../../config/localjunoConstants"; +import { datetimeStringToUTC,toEncodedBinary } from "../../utils/helpers"; + +import { JsNoteBuilder, MTBn254X5, OutputUtxoConfig, setupKeys, verify_js_proof } from '../../utils/wasm-utils/njs/wasm-utils-njs'; +import { hexToU8a, u8aToHex } from '@polkadot/util'; + +chai.use(chaiAsPromised); +const { expect } = chai; + +// ----------------------------------------------- +// TEST: Mixer +// +// SCENARIO: +// 1. Initialize the "Mixer" contract (already done in "setup") +// 2. Check if the state/config matches the setup input +// ------------------------------------------------ +export async function testMixerInitialize( + junod: SigningCosmWasmClient, + mixer: string, + ): Promise { + process.stdout.write("Test - Mixer should initialize"); + const result: any = await junod.queryContractSmart(mixer, { + config: {}, + }); + + expect(result.native_token_denom == localjuno.contractsConsts.nativeTokenDenom); + expect(result.cw20_address == ""); + expect(result.deposit_size == localjuno.contractsConsts.depositSize); + + console.log(chalk.green(" Passed!")); + } + + // ----------------------------------------------- + // TEST: Mixer + // + // SCENARIO: + // 1. Wallet3 deposit the "ucosm" tokens to mixer + // ------------------------------------------------ + export async function testMixerDepositNativeToken( + junod: SigningCosmWasmClient, + mixer: string, + wallet3: DirectSecp256k1HdWallet, + ucosm_amount: string, + ): Promise { + process.stdout.write(`Test - Wallet3 deposit ${ucosm_amount} ucosm to mixer`); + + let wallet3_client = await SigningCosmWasmClient.connectWithSigner( + localjuno.networkInfo.url, + wallet3, + {gasPrice: GasPrice.fromString("0.1ujunox")}, + ); + + // Fail to "deposit" since no "commitment" + await expect( + wallet3_client.execute(localjuno.addresses.wallet3, mixer, { + deposit: { + commitment: undefined, + }, + }, "auto", undefined, [coin(ucosm_amount, "ucosm")]) + ).to.be.rejected; // rejectedWith("Commitment not found"); + + // Succeed to "deposit" + const result = await wallet3_client.execute(localjuno.addresses.wallet3, mixer, { + deposit: { + commitment: [60, 193, 57, 161, 207, 107, 11, 192, 51, 187, 64, 70, 168, 216, 155, 216, 187, 112, 123, 6, 14, 101, 174, 89, 250, 120, 41, 24, 101, 151, 110, 24], + } + }, "auto", undefined, [coin(ucosm_amount, "ucosm")]); + + console.log(chalk.green(" Passed!")); + } + + // ----------------------------------------------- + // TEST: Mixer + // + // SCENARIO: + // 1. Wallet2 withdraw the "ucosm" tokens to mixer + // ------------------------------------------------ +export async function testMixerWithdrawNativeToken( + junod: SigningCosmWasmClient, + mixer: string, + wallet1: DirectSecp256k1HdWallet, + wallet2: DirectSecp256k1HdWallet, + wallet3: DirectSecp256k1HdWallet, + ucosm_amount: string, + ): Promise { + process.stdout.write(`Test - Wallet2 withdraw ${ucosm_amount} ucosm from mixer`); + + let wallet2_client = await SigningCosmWasmClient.connectWithSigner( + localjuno.networkInfo.url, + wallet2, + {gasPrice: GasPrice.fromString("0.1ujunox")}, + ); + + // Fail to "withdraw" since no "commitment" + await expect( + wallet2_client.execute(localjuno.addresses.wallet2, mixer, { + withdraw: { + proof_bytes: [171, 78, 91, 39, 195, 136, 25, 239, 54, 52, 122, 184, 250, 174, 86, 201, 15, 212, 162, 6, 172, 35, 88, 216, 105, 141, 206, 241, 161, 143, 106, 33, 110, 194, 247, 183, 7, 179, 197, 11, 117, 153, 201, 44, 24, 204, 171, 120, 246, 61, 240, 100, 230, 5, 56, 207, 143, 160, 180, 20, 66, 164, 183, 29, 228, 215, 232, 241, 176, 233, 48, 1, 230, 80, 81, 75, 124, 187, 249, 143, 42, 251, 94, 129, 130, 135, 11, 188, 129, 79, 246, 70, 154, 79, 154, 131, 54, 121, 242, 112, 167, 81, 122, 180, 61, 115, 248, 65, 96, 62, 87, 21, 42, 108, 237, 81, 181, 163, 129, 56, 124, 89, 206, 139, 62, 230, 16, 37], + root: undefined, + nullifier_hash: [183, 160, 141, 89, 98, 241, 220, 87, 120, 249, 242, 56, 92, 41, 28, 230, 247, 111, 155, 7, 94, 2, 142, 101, 0, 243, 39, 32, 59, 235, 198, 31], + recipient: localjuno.addresses.wallet2, + relayer: localjuno.addresses.wallet3, + fee: "0", + refund: "0", + cw20_address: undefined, + }, + }, "auto", undefined, [coin(ucosm_amount, "ucosm")]) + ).to.be.rejected; // rejectedWith("Root is not known"); + + // Succeed to "withdraw" + const beforeBalance: Coin = await junod.getBalance(localjuno.addresses.wallet2, "ucosm"); + const beforeUcosm = beforeBalance.amount; + + const result = await wallet2_client.execute(localjuno.addresses.wallet2, mixer, { + withdraw: { + proof_bytes: [171, 78, 91, 39, 195, 136, 25, 239, 54, 52, 122, 184, 250, 174, 86, 201, 15, 212, 162, 6, 172, 35, 88, 216, 105, 141, 206, 241, 161, 143, 106, 33, 110, 194, 247, 183, 7, 179, 197, 11, 117, 153, 201, 44, 24, 204, 171, 120, 246, 61, 240, 100, 230, 5, 56, 207, 143, 160, 180, 20, 66, 164, 183, 29, 228, 215, 232, 241, 176, 233, 48, 1, 230, 80, 81, 75, 124, 187, 249, 143, 42, 251, 94, 129, 130, 135, 11, 188, 129, 79, 246, 70, 154, 79, 154, 131, 54, 121, 242, 112, 167, 81, 122, 180, 61, 115, 248, 65, 96, 62, 87, 21, 42, 108, 237, 81, 181, 163, 129, 56, 124, 89, 206, 139, 62, 230, 16, 37], + root: [82, 25, 2, 85, 65, 173, 18, 5, 74, 175, 108, 14, 232, 197, 174, 9, 242, 59, 105, 48, 104, 169, 204, 128, 253, 150, 15, 102, 108, 214, 81, 33], + nullifier_hash: [183, 160, 141, 89, 98, 241, 220, 87, 120, 249, 242, 56, 92, 41, 28, 230, 247, 111, 155, 7, 94, 2, 142, 101, 0, 243, 39, 32, 59, 235, 198, 31], + recipient: localjuno.addresses.wallet2, + relayer: localjuno.addresses.wallet3, + fee: "0", + refund: "0", + cw20_address: undefined, + }, + }, "auto", undefined, [coin(ucosm_amount, "ucosm")]); + + const afterBalance: Coin = await junod.getBalance(localjuno.addresses.wallet2, "ucosm"); + const afterUcosm = afterBalance.amount; + + expect(parseInt(beforeUcosm) + parseInt(ucosm_amount) == parseInt(afterUcosm)); + + console.log(chalk.green(" Passed!")); + } + + \ No newline at end of file diff --git a/test-scripts/src/processes/tests/testnet.ts b/test-scripts/src/processes/tests/testnet.ts new file mode 100644 index 0000000..efe3aaf --- /dev/null +++ b/test-scripts/src/processes/tests/testnet.ts @@ -0,0 +1,72 @@ +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { Coin, coin, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; +import { GasPrice } from "@cosmjs/stargate"; +import * as chai from "chai"; +import chaiAsPromised from "chai-as-promised"; +import chalk from "chalk"; +import { localjuno } from "../../config/localjunoConstants"; +import { datetimeStringToUTC,toEncodedBinary } from "../../utils/helpers"; + +chai.use(chaiAsPromised); +const { expect } = chai; + +import { + testTokenWrapperInitialize +} from './tokenWrapper'; + +import { + testAnchorInitialize, + testAnchorDepositWithdraw, + testAnchorWrapNative, + testAnchorUnwrapNative, + testAnchorWrapCw20, + testAnchorUnwrapCw20, +} from './anchor'; + +import { + testMixerInitialize, + testMixerDepositNativeToken, + testMixerWithdrawNativeToken, +} from './mixer'; + +export async function testExecute( + junod: SigningCosmWasmClient, + wallet1: DirectSecp256k1HdWallet, + wallet2: DirectSecp256k1HdWallet, + wallet3: DirectSecp256k1HdWallet, + cw20: string, + signatureBridge: string, + tokenWrapper: string, + tokenWrapperHandler: string, + anchorHandler: string, + anchor: string, + vanchor: string, + mixer: string, +): Promise { + console.log(chalk.yellow("\nStep 3. Running Tests")); + // SignatureBridge + + // TokenWrapper + await testTokenWrapperInitialize(junod, tokenWrapper); + + // TokenWrapperHandler + + // AnchorHandler + + // Anchor + await testAnchorInitialize(junod, anchor); + await testAnchorDepositWithdraw(junod, anchor, wallet1, wallet2, wallet3, "1000000"); + await testAnchorWrapNative(junod, anchor, wallet3, "100000"); + await testAnchorUnwrapNative(junod, anchor, wallet3, "100"); + await testAnchorWrapCw20(junod, anchor, tokenWrapper, cw20, wallet3, "10000"); + await testAnchorUnwrapCw20(junod, anchor, tokenWrapper, cw20, wallet3, "100"); + + // VAnchor + + // Mixer + await testMixerInitialize(junod, mixer); + await testMixerDepositNativeToken(junod, mixer, wallet3, "1000000"); + await testMixerWithdrawNativeToken(junod, mixer, wallet1, wallet2, wallet3, "1000000"); + + process.exit(); +} diff --git a/test-scripts/src/processes/tests/tokenWrapper.ts b/test-scripts/src/processes/tests/tokenWrapper.ts new file mode 100644 index 0000000..deb7396 --- /dev/null +++ b/test-scripts/src/processes/tests/tokenWrapper.ts @@ -0,0 +1,40 @@ +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { Coin, coin, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; +import { GasPrice } from "@cosmjs/stargate"; +import * as chai from "chai"; +import chaiAsPromised from "chai-as-promised"; +import chalk from "chalk"; +import { localjuno } from "../../config/localjunoConstants"; +import { datetimeStringToUTC,toEncodedBinary } from "../../utils/helpers"; + +chai.use(chaiAsPromised); +const { expect } = chai; + + +// ----------------------------------------------- +// TEST: TokenWrapper +// +// SCENARIO: +// 1. Initialize the "(Governed)TokenWrapper" contract (already done in "setup") +// 2. Check if the state/config matches the setup input +// ------------------------------------------------ +export async function testTokenWrapperInitialize( + junod: SigningCosmWasmClient, + tokenWrapper: string, + ): Promise { + process.stdout.write("Test - TokenWrapper should initialize"); + const result: any = await junod.queryContractSmart(tokenWrapper, { + config: {}, + }); + + expect(result.governor == localjuno.addresses.wallet1).to.be.ok; + expect(result.native_token_denom == localjuno.contractsConsts.nativeTokenDenom).to.be.ok; + expect(result.fee_recipient == localjuno.addresses.wallet2).to.be.ok; + expect(result.fee_percentage == (parseInt(localjuno.contractsConsts.feePercentage) / 100).toString()).to.be.ok; + expect(result.is_native_allowed == (localjuno.contractsConsts.isNativeAllowed == 1).toString()).to.be.ok; + expect(result.wrapping_limit == localjuno.contractsConsts.tokenWrapperWrappingLimit).to.be.ok; + expect(result.proposal_nonce == "0").to.be.ok; + + console.log(chalk.green(" Passed!")); + } + \ No newline at end of file diff --git a/test-scripts/src/scripts/setupContracts.ts b/test-scripts/src/scripts/setupContracts.ts deleted file mode 100644 index da6ef50..0000000 --- a/test-scripts/src/scripts/setupContracts.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { - LCDClient, - MnemonicKey, - Wallet, -} from "@terra-money/terra.js"; -import chalk from "chalk"; -import config from "../config"; -import { storeCode, instantiateContract, } from '../utils'; - -// Variables -let terra: LCDClient; -let deployer: Wallet; - -let mixer: string; -let anchor: string; -let vanchor: string; -let cw20: string; - -function initialize() { - terra = new LCDClient({ - URL: config.networkInfo.lcd_url, - chainID: config.networkInfo.chainId, - gasPrices: { uluna: config.networkInfo.gasPrice }, - gasAdjustment: config.networkInfo.gasAdjustment, - }); - deployer = terra.wallet(new MnemonicKey({ mnemonic: config.mnemonicKeys.deployer })); - - console.log(`Use ${chalk.cyan(deployer.key.accAddress)} as wallet(deployer)`); - - mixer = config.contracts.mixer; - anchor = config.contracts.anchor; - vanchor = config.contracts.vanchor; - cw20 = config.contracts.cw20; - - console.log(`Use ${chalk.cyan(cw20)} as Cw20 token contract`); - console.log(`Use ${chalk.cyan(mixer)} as Mixer`); - console.log(`Use ${chalk.cyan(anchor)} as Anchor`); - console.log(`Use ${chalk.cyan(vanchor)} as Vanchor`); - -} - -export async function setupMixer(): Promise { - // Initialize environment info - console.log("1. Setup Environment"); - initialize(); - - // Setup mixer - console.log("2. Setup mixer"); - - // upload mixer wasm - const mixerCodeId = await storeCode(terra, deployer, "cosmwasm_mixer.wasm"); - console.log(chalk.green("Done!", `${chalk.blue("codeId")} = ${mixerCodeId}`)); - - // instantiate mixer - const mixerResult = await instantiateContract( - terra, - deployer, - deployer, - mixerCodeId, - { - "deposit_size": "1000000", - "merkletree_levels": 30, - "cw20_address": undefined, - "native_token_denom": "uusd", - } - ); - mixer = mixerResult.logs[0].events - .find((event) => { - return event.type == "instantiate_contract"; - }) - ?.attributes.find((attribute) => { - return attribute.key == "contract_address"; - })?.value as string; - console.log(chalk.green("Done!"), `${chalk.blue("contractAddress")} = ${mixer}`); -} - -export async function setupAnchor(): Promise { - // Initialize environment info - console.log("1. Setup Environment"); - initialize(); - - // Setup anchor - console.log("2. Setup Anchor"); - - // upload anchor wasm - const anchorCodeId = await storeCode(terra, deployer, "cosmwasm_anchor.wasm"); - console.log(chalk.green("Done!", `${chalk.blue("codeId")} = ${anchorCodeId}`)); - - // instantiate anchor - const anchorResult = await instantiateContract( - terra, - deployer, - deployer, - anchorCodeId, - { - "max_edges": 2, - "chain_id": 1, - "levels": 30, - "deposit_size": "1000000", - "cw20_address": cw20, - } - ); - anchor = anchorResult.logs[0].events - .find((event) => { - return event.type == "instantiate_contract"; - }) - ?.attributes.find((attribute) => { - return attribute.key == "contract_address"; - })?.value as string; - console.log(chalk.green("Done!"), `${chalk.blue("contractAddress")}=${anchor}`); -} diff --git a/test-scripts/src/scripts/testContracts.ts b/test-scripts/src/scripts/testContracts.ts deleted file mode 100644 index c6c2240..0000000 --- a/test-scripts/src/scripts/testContracts.ts +++ /dev/null @@ -1,158 +0,0 @@ -import { - LCDClient, - MnemonicKey, - Wallet, - MsgExecuteContract -} from "@terra-money/terra.js"; -import chalk from "chalk"; -import config from "../config"; -import { strict as assert } from 'assert'; -import { sendTransaction, encodeObjBinary, queryCw20Balance, queryNativeBalance, } from '../utils'; - -// Variables -let terra: LCDClient; -let deployer: Wallet; - -let mixer: string; -let anchor: string; -let vanchor: string; - -function initialize() { - terra = new LCDClient({ - URL: config.networkInfo.lcd_url, - chainID: config.networkInfo.chainId, - gasPrices: { uluna: config.networkInfo.gasPrice }, - gasAdjustment: config.networkInfo.gasAdjustment, - }); - deployer = terra.wallet(new MnemonicKey({ mnemonic: config.mnemonicKeys.deployer })); - - console.log(`Use ${chalk.cyan(deployer.key.accAddress)} as wallet(deployer)`); - - mixer = config.contracts.mixer; - anchor = config.contracts.anchor; - vanchor = config.contracts.vanchor; - - console.log(`Use ${chalk.cyan(mixer)} as Mixer`); - console.log(`Use ${chalk.cyan(anchor)} as Anchor`); - console.log(`Use ${chalk.cyan(vanchor)} as Vanchor`); -} - -export async function testMixer() { - // Initialize environment info - console.log("Setup Environment"); - initialize(); - - // mixer "DEPOSIT" - const mixer_deposit_native_msg = { - "deposit": { - "commitment": [60, 193, 57, 161, 207, 107, 11, 192, 51, 187, 64, 70, 168, 216, 155, 216, 187, 112, 123, 6, 14, 101, 174, 89, 250, 120, 41, 24, 101, 151, 110, 24], - } - }; - const fund = { uusd: 1000000 }; - await sendTransaction(terra, deployer, [new MsgExecuteContract( - deployer.key.accAddress, //sender - mixer, //contract - mixer_deposit_native_msg, // ExecMsg to execute contract - fund - )]); - console.log(chalk.green("Mixer deposit Done!")); - - const recipientBalanceBefore = await queryNativeBalance( - terra, - "uusd", - config.contracts.recipient, - ); - - // mixer "WITHDRAW - const mixer_withdraw_native_msg = { - "withdraw": { - "proof_bytes": [229, 214, 117, 134, 217, 67, 12, 236, 196, 111, 110, 244, 116, 12, 30, 219, 27, 206, 151, 233, 126, 189, 160, 237, 55, 126, 47, 5, 16, 214, 38, 40, 73, 190, 123, 2, 2, 209, 193, 209, 130, 242, 27, 207, 132, 223, 159, 121, 241, 109, 55, 190, 251, 72, 255, 132, 221, 100, 139, 132, 94, 57, 26, 3, 127, 190, 105, 168, 228, 222, 91, 22, 209, 99, 227, 6, 130, 238, 109, 47, 20, 85, 125, 67, 77, 26, 176, 24, 95, 6, 159, 150, 5, 229, 254, 144, 188, 203, 207, 201, 167, 255, 5, 93, 210, 27, 38, 151, 73, 234, 247, 124, 71, 103, 23, 101, 83, 90, 109, 120, 10, 58, 150, 8, 211, 218, 219, 155], - "root": [82, 25, 2, 85, 65, 173, 18, 5, 74, 175, 108, 14, 232, 197, 174, 9, 242, 59, 105, 48, 104, 169, 204, 128, 253, 150, 15, 102, 108, 214, 81, 33], - "nullifier_hash": [183, 160, 141, 89, 98, 241, 220, 87, 120, 249, 242, 56, 92, 41, 28, 230, 247, 111, 155, 7, 94, 2, 142, 101, 0, 243, 39, 32, 59, 235, 198, 31], - "recipient": config.contracts.recipient, - "relayer": config.contracts.relayer, - "fee": "0", - "refund": "0", - "cw20_address": undefined, - } - }; - await sendTransaction(terra, deployer, [new MsgExecuteContract( - deployer.key.accAddress, //sender - mixer, //contract - mixer_withdraw_native_msg, // ExecMsg to execute contract - {} // fund - )]); - - const recipientBalanceAfter = await queryNativeBalance( - terra, - "uusd", - config.contracts.recipient, - ); - assert.strictEqual(recipientBalanceAfter, recipientBalanceBefore + 1000000); - - console.log(chalk.green("Mixer withdraw Done!")); -} - -export async function testAnchor() { - // Initialize environment info - console.log("Setup Environment"); - initialize(); - - // anchor "DEPOSIT" - const anchor_deposit_cw20_msg = { - "deposit_cw20": { - "commitment": [114, 225, 36, 85, 19, 71, 228, 164, 174, 20, 198, 64, 177, 251, 100, 45, 249, 58, 6, 169, 158, 208, 56, 145, 80, 123, 65, 223, 143, 88, 145, 33] - } - }; - const msg = { - "send": { - "amount": "1000000", - "contract": anchor, - "msg": encodeObjBinary(anchor_deposit_cw20_msg), - } - }; - - await sendTransaction(terra, deployer, [new MsgExecuteContract( - deployer.key.accAddress, //sender - config.contracts.cw20, //contract - msg, // ExecMsg to execute contract - {} - )]); - console.log(chalk.green("anchor deposit Done!")); - - const recipientBalanceBefore = await queryCw20Balance( - terra, - config.contracts.cw20, - config.contracts.recipient, - ); - - // anchor "WITHDRAW - const anchor_withdraw_cw20_msg = { - "withdraw": { - "proof_bytes": [90, 249, 64, 247, 109, 43, 39, 43, 127, 147, 229, 67, 15, 213, 234, 24, 187, 126, 198, 37, 194, 70, 161, 33, 62, 18, 134, 53, 129, 165, 5, 10, 168, 232, 41, 122, 186, 111, 104, 142, 47, 66, 50, 172, 97, 255, 75, 254, 11, 254, 30, 154, 158, 24, 149, 136, 232, 227, 166, 90, 154, 212, 3, 39, 30, 20, 127, 166, 129, 102, 51, 233, 7, 46, 39, 179, 184, 10, 32, 148, 194, 253, 52, 33, 176, 125, 46, 157, 117, 52, 208, 18, 212, 0, 151, 136, 102, 212, 236, 123, 36, 167, 9, 133, 186, 37, 128, 123, 240, 179, 90, 33, 173, 96, 94, 98, 147, 11, 62, 131, 179, 3, 221, 162, 149, 147, 49, 160], - "roots": [[214, 149, 9, 63, 241, 232, 4, 209, 158, 207, 198, 252, 199, 227, 63, 215, 195, 25, 146, 122, 246, 212, 133, 210, 59, 166, 233, 91, 229, 28, 227, 23], [214, 149, 9, 63, 241, 232, 4, 209, 158, 207, 198, 252, 199, 227, 63, 215, 195, 25, 146, 122, 246, 212, 133, 210, 59, 166, 233, 91, 229, 28, 227, 23]], - "nullifier_hash": [20, 1, 74, 40, 205, 32, 60, 43, 111, 84, 9, 48, 56, 57, 117, 133, 54, 244, 112, 62, 103, 114, 20, 112, 43, 35, 144, 27, 227, 150, 56, 46], - "recipient": config.contracts.recipient, - "relayer": "terra17cz29kl6z5wj04ledes9jdmn6pgkelffjxglky", - "fee": "0", - "refund": "0", - "commitment": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "cw20_address": config.contracts.cw20, - } - }; - await sendTransaction(terra, deployer, [new MsgExecuteContract( - deployer.key.accAddress, //sender - anchor, //contract - anchor_withdraw_cw20_msg, // ExecMsg to execute contract - {} // fund - )]); - - const recipientBalanceAfter = await queryCw20Balance( - terra, - config.contracts.cw20, - config.contracts.recipient, - ); - assert.strictEqual(recipientBalanceAfter, recipientBalanceBefore + 1000000); - - console.log(chalk.green("anchor withdraw Done!")); -} diff --git a/test-scripts/src/utils.ts b/test-scripts/src/utils.ts deleted file mode 100644 index dc8c9ec..0000000 --- a/test-scripts/src/utils.ts +++ /dev/null @@ -1,129 +0,0 @@ -import { - LCDClient, - Wallet, - isTxError, - Msg, - MsgInstantiateContract, - MsgStoreCode, -} from "@terra-money/terra.js"; -import chalk from "chalk"; -import * as fs from "fs"; - -/** - * @notice Upload contract code to LocalTerra. Return code ID. - */ -export async function storeCode( - terra: LCDClient, - deployer: Wallet, - filepath: string -): Promise { - const code = fs.readFileSync('./wasm_contracts/' + filepath).toString("base64"); - const result = await sendTransaction(terra, deployer, [ - new MsgStoreCode(deployer.key.accAddress, code), - ]); - return parseInt(result.logs[0].eventsByType.store_code.code_id[0]); -} - -/** - * @notice Instantiate a contract from an existing code ID. Return contract address. - */ -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types -export async function instantiateContract( - terra: LCDClient, - deployer: Wallet, - admin: Wallet, // leave this emtpy then contract is not migratable - codeId: number, - instantiateMsg: Record -) { - const result = await sendTransaction(terra, deployer, [ - new MsgInstantiateContract( - deployer.key.accAddress, - admin.key.accAddress, - codeId, - instantiateMsg - ), - ]); - return result; -} - - -/** - * @notice Send a transaction. Return result if successful, throw error if failed. - */ -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types -export async function sendTransaction( - terra: LCDClient, - sender: Wallet, - msgs: Msg[], - verbose = false -): Promise { // eslint-disable-line @typescript-eslint/no-explicit-any - const tx = await sender.createAndSignTx({ msgs }); - const result = await terra.tx.broadcast(tx); - - // Print the log info - if (verbose) { - console.log(chalk.magenta("\nTxHash:"), result.txhash); - try { - console.log( - chalk.magenta("Raw log:"), - JSON.stringify(JSON.parse(result.raw_log), null, 2) - ); - } catch { - console.log(chalk.magenta("Failed to parse log! Raw log:"), result.raw_log); - } - } - - if (isTxError(result)) { - throw new Error( - chalk.red("Transaction failed!") + - `\n${chalk.yellow("code")}: ${result.code}` + - `\n${chalk.yellow("codespace")}: ${result.codespace}` + - `\n${chalk.yellow("raw_log")}: ${result.raw_log}` - ); - } - - return result; -} - -export async function queryNativeBalance( - terra: LCDClient, - denom: string, - wallet: string, -): Promise { - try { - const res = await terra.bank.balance(wallet); - const amount = res[0].get(denom)?.amount; - if (!amount) { - console.error("Invalid amount"); - } else { - return parseInt(amount.toString()); - } - } catch { - console.error("Unable to query the native balance!"); - } -} - -export async function queryCw20Balance( - terra: LCDClient, - cw20Contract: string, - wallet: string, -): Promise { - try { - const result: { balance: string } = await terra.wasm.contractQuery( - cw20Contract, - { - "balance": { - "address": wallet, - }, - } - ); - return parseInt(result.balance); - } catch { - console.error("Unable to query the Cw20 balance!"); - } -} - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function encodeObjBinary(obj: any) { - return Buffer.from(JSON.stringify(obj)).toString("base64"); -} diff --git a/test-scripts/src/utils/helpers.ts b/test-scripts/src/utils/helpers.ts new file mode 100644 index 0000000..4c88dcc --- /dev/null +++ b/test-scripts/src/utils/helpers.ts @@ -0,0 +1,67 @@ +import * as fs from "fs"; +import chalk from "chalk"; +import BN from "bn.js"; +import axios from "axios"; +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; +import { localjuno } from "../config/localjunoConstants"; + +/** + * @notice Encode a JSON object to base64 binary + */ +export function toEncodedBinary(obj: any): string { + return Buffer.from(JSON.stringify(obj)).toString("base64"); +} + +export function datetimeStringToUTC(date: string): number { + try { + return Math.round(Date.parse(date) / 1000); + } catch (err) { + throw "Date given is not parsable"; + } +} + + +/** + * @notice Upload contract code to LocalJuno. Return code ID. + */ +export async function storeCode( + junod: SigningCosmWasmClient, + deployer: DirectSecp256k1HdWallet, + filepath: string +): Promise { + const code = fs.readFileSync(filepath); + const result = await junod.upload(localjuno.addresses.wallet1, code, "auto", ); + return result.codeId; +} + +/** + * @notice Instantiate a contract from an existing code ID. Return contract address. + */ +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +export async function instantiateContract( + junod: SigningCosmWasmClient, + deployer: DirectSecp256k1HdWallet, + admin: DirectSecp256k1HdWallet, // leave this emtpy then contract is not migratable + codeId: number, + instantiateMsg: Record +) { + const result = await junod.instantiate(localjuno.addresses.wallet1, codeId, instantiateMsg, "instantiate", "auto"); + return result; +} + +/** + * @notice Instantiate a contract from an existing code ID. Return contract address. + */ +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +export async function migrateContract( + junod: SigningCosmWasmClient, + sender: DirectSecp256k1HdWallet, + admin: DirectSecp256k1HdWallet, + contract: string, + new_code_id: number, + migrateMsg: Record +) { + const result = await junod.migrate(localjuno.addresses.wallet1, contract, new_code_id, migrateMsg, "auto"); + return result; +} diff --git a/test-scripts/tsconfig.json b/test-scripts/tsconfig.json old mode 100755 new mode 100644 index c1460ec..e314010 --- a/test-scripts/tsconfig.json +++ b/test-scripts/tsconfig.json @@ -1,32 +1,10 @@ { - "include": ["src"], - "exclude": ["/node_modules/", "./src/**/*.spec.ts"], "compilerOptions": { - "allowSyntheticDefaultImports": true, - "alwaysStrict": true, - "baseUrl": "./", - "declaration": true, - "esModuleInterop": true, - "lib": ["es2015", "es2016", "es2017", "dom"], "module": "commonjs", - "moduleResolution": "node", - "noFallthroughCasesInSwitch": true, - "noImplicitAny": false, - "noImplicitReturns": true, - "noImplicitThis": true, - "noUnusedLocals": false, - "noUnusedParameters": true, - "outDir": "dist", - "rootDir": "src", - "sourceMap": true, "strict": true, - "strictFunctionTypes": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "target": "es5", - "paths": { - "*": ["src/*"] - }, - "resolveJsonModule": true, + "esModuleInterop": true, + "moduleResolution": "node", + "preserveConstEnums": true, + "resolveJsonModule": true } } \ No newline at end of file diff --git a/test-scripts/wasm_contracts/cosmwasm_anchor.wasm b/test-scripts/wasm_contracts/cosmwasm_anchor.wasm deleted file mode 100644 index c2cee2d..0000000 Binary files a/test-scripts/wasm_contracts/cosmwasm_anchor.wasm and /dev/null differ diff --git a/test-scripts/wasm_contracts/cosmwasm_mixer.wasm b/test-scripts/wasm_contracts/cosmwasm_mixer.wasm deleted file mode 100644 index cb4ade3..0000000 Binary files a/test-scripts/wasm_contracts/cosmwasm_mixer.wasm and /dev/null differ diff --git a/test-scripts/yarn.lock b/test-scripts/yarn.lock index a7987ad..1c44566 100644 --- a/test-scripts/yarn.lock +++ b/test-scripts/yarn.lock @@ -2,47 +2,451 @@ # yarn lockfile v1 -"@cspotcode/source-map-consumer@0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" - integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== - -"@cspotcode/source-map-support@0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" - integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== - dependencies: - "@cspotcode/source-map-consumer" "0.8.0" - -"@eslint/eslintrc@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" - integrity sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ== +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" + integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + +"@babel/core@^7.17.9": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.0.tgz#c58d04d7c6fbfb58ea7681e2b9145cfb62726756" + integrity sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.0" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helpers" "^7.18.0" + "@babel/parser" "^7.18.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.0.tgz#46d28e8a18fc737b028efb25ab105d74473af43f" + integrity sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg== + dependencies: + "@babel/types" "^7.18.0" + "@jridgewell/gen-mapping" "^0.3.0" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" + integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.20.2" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-function-name@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" + integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/types" "^7.17.0" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" + integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" + +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helpers@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.0.tgz#aff37c3590de42102b54842446146d0205946370" + integrity sha512-AE+HMYhmlMIbho9nbvicHyxFwhrO+xhKB6AhRxzl8w46Yj0VXTZjEsAoBVC7rB2I0jzX+yWyVybnO08qkfx6kg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" + integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.16.7", "@babel/parser@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.0.tgz#10a8d4e656bc01128d299a787aa006ce1a91e112" + integrity sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg== + +"@babel/register@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.17.7.tgz#5eef3e0f4afc07e25e847720e7b987ae33f08d0b" + integrity sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA== + dependencies: + clone-deep "^4.0.1" + find-cache-dir "^2.0.0" + make-dir "^2.1.0" + pirates "^4.0.5" + source-map-support "^0.5.16" + +"@babel/runtime@^7.10.2", "@babel/runtime@^7.17.9", "@babel/runtime@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.0.tgz#6d77142a19cb6088f0af662af1ada37a604d34ae" + integrity sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.0.tgz#0e5ec6db098660b2372dd63d096bf484e32d27ba" + integrity sha512-oNOO4vaoIQoGjDQ84LgtF/IAlxlyqL4TUuoQ7xLkQETFaHkY1F7yazhB4Kt3VcZGL0ZF/jhrEpnXqUb0M7V3sw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.0" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.18.0" + "@babel/types" "^7.18.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.0.tgz#ef523ea349722849cb4bf806e9342ede4d071553" + integrity sha512-vhAmLPAiC8j9K2GnsnLPCIH5wCrPpYIVBCWRBFDCB7Y/BXLqi/O+1RSTTM2bsmg6U/551+FCf9PNPxjABmxHTw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + +"@confio/ics23@^0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@confio/ics23/-/ics23-0.6.8.tgz#2a6b4f1f2b7b20a35d9a0745bb5a446e72930b3d" + integrity sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w== + dependencies: + "@noble/hashes" "^1.0.0" + protobufjs "^6.8.8" + +"@cosmjs/amino@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.28.4.tgz#9315f6876dba80148cf715ced44d1dc7a9b68b94" + integrity sha512-b8y5gFC0eGrH0IoYSNtDmTdsTgeQ1KFZ5YVOeIiKmzF91MeiciYO/MNqc027kctacZ+UbnVWGEUGyRBPi9ta/g== + dependencies: + "@cosmjs/crypto" "0.28.4" + "@cosmjs/encoding" "0.28.4" + "@cosmjs/math" "0.28.4" + "@cosmjs/utils" "0.28.4" + +"@cosmjs/cosmwasm-stargate@^0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.28.4.tgz#5f06f31cd932ae409dc75a07993ed258279fd9a7" + integrity sha512-dkTwTD+j2mjk7+l3pQQ3io2D0U7NIA4LXzkKtfBN87PGlj2G+VJFzcXk1T4DYmvrXjsQOi1kYeQRGWFA0XdvnQ== + dependencies: + "@cosmjs/amino" "0.28.4" + "@cosmjs/crypto" "0.28.4" + "@cosmjs/encoding" "0.28.4" + "@cosmjs/math" "0.28.4" + "@cosmjs/proto-signing" "0.28.4" + "@cosmjs/stargate" "0.28.4" + "@cosmjs/tendermint-rpc" "0.28.4" + "@cosmjs/utils" "0.28.4" + cosmjs-types "^0.4.0" + long "^4.0.0" + pako "^2.0.2" + protobufjs "~6.10.2" + +"@cosmjs/crypto@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.28.4.tgz#b2f1ccb9edee7d357ed1dcd92bdb61f6a1ca06d3" + integrity sha512-JRxNLlED3DDh9d04A0RcRw3mYkoobN7q7wafUFy3vI1TjoyWx33v0gqqaYE6/hoo9ghUrJSVOfzVihl8fZajJA== + dependencies: + "@cosmjs/encoding" "0.28.4" + "@cosmjs/math" "0.28.4" + "@cosmjs/utils" "0.28.4" + "@noble/hashes" "^1" + bn.js "^5.2.0" + elliptic "^6.5.3" + libsodium-wrappers "^0.7.6" + +"@cosmjs/encoding@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.28.4.tgz#ea39eb4c27ebf7b35e62e9898adae189b86d0da7" + integrity sha512-N6Qnjs4dd8KwjW5m9t3L+rWYYGW2wyS+iLtJJ9DD8DiTTxpW9h7/AmUVO/dsRe5H2tV8/DzH/B9pFfpsgro22A== + dependencies: + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" + +"@cosmjs/json-rpc@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.28.4.tgz#19bc38b895bbb74122832a22aea5b25087143636" + integrity sha512-An8ZQi9OKbnS8ew/MyHhF90zQpXBF8RTj2wdvIH+Hr8yA6QjynY8hxRpUwYUt3Skc5NeUnTZNuWCzlluHnoxVg== + dependencies: + "@cosmjs/stream" "0.28.4" + xstream "^11.14.0" + +"@cosmjs/math@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.28.4.tgz#ddc35b69fa1ffeaf5928f70d4c2faf9284627d84" + integrity sha512-wsWjbxFXvk46Dsx8jQ5vsBZOIQuiUIyaaZbUvxsgIhAMpuuBnV5O/drK87+B+4cL+umTelFqTbWnkqueVCIFxQ== + dependencies: + bn.js "^5.2.0" + +"@cosmjs/proto-signing@0.28.4", "@cosmjs/proto-signing@^0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.28.4.tgz#7007651042bd05b3eee7e1c8562417bbed630198" + integrity sha512-4vgCLK9gOsdWzD78V5XbAsupSSyntPEzokWYhgRQNwgVTcKX1kg0eKZqUvF5ua5iL9x6MevfH/sgwPyiYleMBw== + dependencies: + "@cosmjs/amino" "0.28.4" + "@cosmjs/crypto" "0.28.4" + "@cosmjs/encoding" "0.28.4" + "@cosmjs/math" "0.28.4" + "@cosmjs/utils" "0.28.4" + cosmjs-types "^0.4.0" + long "^4.0.0" + protobufjs "~6.10.2" + +"@cosmjs/socket@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.28.4.tgz#f2c337bee18c631739ba6c2357fe564dbf17df45" + integrity sha512-jAEL3Ri+s8XuBM3mqgO4yvmeQu+R+704V37lGROC1B6kAbGxWRyOWrMdOOiFJzCZ35sSMB7L+xKjpE8ug0vJjg== + dependencies: + "@cosmjs/stream" "0.28.4" + isomorphic-ws "^4.0.1" + ws "^7" + xstream "^11.14.0" + +"@cosmjs/stargate@0.28.4", "@cosmjs/stargate@^0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.28.4.tgz#a5acbaa3451f7c853739064f799dec21097a06df" + integrity sha512-tdwudilP5iLNwDm4TOMBjWuL5YehLPqGlC5/7hjJM/kVHyzLFo4Lzt0dVEwr5YegH+RsRXH/VtFLQz+NYlCobw== + dependencies: + "@confio/ics23" "^0.6.8" + "@cosmjs/amino" "0.28.4" + "@cosmjs/encoding" "0.28.4" + "@cosmjs/math" "0.28.4" + "@cosmjs/proto-signing" "0.28.4" + "@cosmjs/stream" "0.28.4" + "@cosmjs/tendermint-rpc" "0.28.4" + "@cosmjs/utils" "0.28.4" + cosmjs-types "^0.4.0" + long "^4.0.0" + protobufjs "~6.10.2" + xstream "^11.14.0" + +"@cosmjs/stream@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.28.4.tgz#88a294c2404107327f8e293b952db047ab182179" + integrity sha512-BDwDdFOrOgRx/Wm5nknb9YCV9HHIUcsOxykTDZqdArCUsn4QJBq79QIjp919G05Z8UemkoHwiUCUNB2BfoKmFw== + dependencies: + xstream "^11.14.0" + +"@cosmjs/tendermint-rpc@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.4.tgz#78835fdc8126baa3122c8b2b396c1d7d290c7167" + integrity sha512-iz6p4UW2QUZNh55WeJy9wHbMdqM8COo0AJdrGU4Ikb/xU0/H6b0dFPoEK+i6ngR0cSizh+hpTMzh3AA7ySUKlA== + dependencies: + "@cosmjs/crypto" "0.28.4" + "@cosmjs/encoding" "0.28.4" + "@cosmjs/json-rpc" "0.28.4" + "@cosmjs/math" "0.28.4" + "@cosmjs/socket" "0.28.4" + "@cosmjs/stream" "0.28.4" + "@cosmjs/utils" "0.28.4" + axios "^0.21.2" + readonly-date "^1.0.0" + xstream "^11.14.0" + +"@cosmjs/utils@0.28.4": + version "0.28.4" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.28.4.tgz#ecbc72458cdaffa6eeef572bc691502b3151330f" + integrity sha512-lb3TU6833arPoPZF8HTeG9V418CpurvqH5Aa/ls0I0wYdPDEMO6622+PQNQhQ8Vw8Az2MXoSyc8jsqrgawT84Q== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + 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" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" - debug "^4.3.2" - espree "^9.3.1" + debug "^4.1.1" + espree "^7.3.0" globals "^13.9.0" - ignore "^5.2.0" + ignore "^4.0.6" import-fresh "^3.2.1" - js-yaml "^4.1.0" + js-yaml "^3.13.1" minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.9.2": - version "0.9.5" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" - integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== dependencies: - "@humanwhocodes/object-schema" "^1.2.1" + "@humanwhocodes/object-schema" "^1.2.0" debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/object-schema@^1.2.1": +"@humanwhocodes/object-schema@^1.2.0": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9" + integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" + integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== + +"@jridgewell/set-array@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" + integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.13" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" + integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + 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.9": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" + integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@noble/hashes@1.0.0", "@noble/hashes@^1", "@noble/hashes@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.0.0.tgz#d5e38bfbdaba174805a4e649f13be9a9ed3351ae" + integrity sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg== + +"@noble/secp256k1@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.5.5.tgz#315ab5745509d1a8c8e90d0bdf59823ccf9bcfc3" + integrity sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -64,10 +468,538 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@open-web3/orml-type-definitions@1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@open-web3/orml-type-definitions/-/orml-type-definitions-1.1.4.tgz#a036b6cf0410783aaedf7e95d27917a5d66c5bed" + integrity sha512-diuQx0Pf7cfoBtCpZTrBQOeIur0POp6Y9qfDS3p11RBF2XKwQ7jw/YKEFYqga1AyrzTcoSEE2OYUfeW3AKU94w== + dependencies: + lodash.merge "^4.6.2" + +"@open-web3/orml-types@^1.1.3": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@open-web3/orml-types/-/orml-types-1.1.4.tgz#cfd419907df5fa27d2feb3dc38391874e2608c5f" + integrity sha512-/JZocbeppn2hl9h2IAzjyqLW9c8hoWfAym45KpVUyp/Ho/Ykjw2n9Rn+s6yLVoga/oYfnP5gKwt5x4PMq24BUg== + dependencies: + "@open-web3/orml-type-definitions" "1.1.4" + +"@polkadot/api-augment@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-8.1.1.tgz#5e49193b322456add7114ebdcc739ab3583f5ffb" + integrity sha512-Entu5JP94mxLlaWduASECr+etw73CSBhpuaNY+/G4nXeZ34E6KkG1jURvGNvnNA8GXig42TXWT1Xrn3db6GoTg== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/api-base" "8.1.1" + "@polkadot/rpc-augment" "8.1.1" + "@polkadot/types" "8.1.1" + "@polkadot/types-augment" "8.1.1" + "@polkadot/types-codec" "8.1.1" + "@polkadot/util" "^9.0.1" + +"@polkadot/api-augment@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-8.5.1.tgz#e2935795ef4cc5708b1431c05effbeabd6f75101" + integrity sha512-KoyRK+fRIxZxlMzLgnHy/W394vtMroSfp3KTJ0MlW/qDsNNoHcfbx1zSCPnWPOu1mcAy5dAsQNK8wg1z5aYQcg== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/api-base" "8.5.1" + "@polkadot/rpc-augment" "8.5.1" + "@polkadot/types" "8.5.1" + "@polkadot/types-augment" "8.5.1" + "@polkadot/types-codec" "8.5.1" + "@polkadot/util" "^9.2.1" + +"@polkadot/api-base@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-8.1.1.tgz#3ec4d2f94182e2bae2a72edabb46bc2bb280f48a" + integrity sha512-1+4DYF3kdVE0dxpQPPznahQgDjOYokAWTTivYkR+ARj0du0b2JYzJLlnQV6vmmu7U+njn3mBAFPMByWa+scFIg== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/rpc-core" "8.1.1" + "@polkadot/types" "8.1.1" + "@polkadot/util" "^9.0.1" + rxjs "^7.5.5" + +"@polkadot/api-base@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-8.5.1.tgz#5561ccfbb4d81ec2aa52212eb847ecaac0fcc736" + integrity sha512-RNbCP0KfG6BNNOD7AO/suQBzCEIY2iuiFOnTuKO1y2b8NfB/rPgxX/T+LNq8UGhLt4OClv3rP/uqG2fN9dLJVQ== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/rpc-core" "8.5.1" + "@polkadot/types" "8.5.1" + "@polkadot/util" "^9.2.1" + rxjs "^7.5.5" + +"@polkadot/api-derive@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-8.1.1.tgz#4e945738bf9374943aa86bb643e3ae0ec020e8ba" + integrity sha512-pwGls3OtPGbbR0uszBzWH3zqvsLlbB4bgvTYOYWzITY/WpwI0EkhINIRW1osf7foyRD6AzeX8FKumfkv3d8ItQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/api" "8.1.1" + "@polkadot/api-augment" "8.1.1" + "@polkadot/api-base" "8.1.1" + "@polkadot/rpc-core" "8.1.1" + "@polkadot/types" "8.1.1" + "@polkadot/types-codec" "8.1.1" + "@polkadot/util" "^9.0.1" + "@polkadot/util-crypto" "^9.0.1" + rxjs "^7.5.5" + +"@polkadot/api-derive@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-8.5.1.tgz#c0b146b77120fdaa219b23c4ea500dca9e4ccf9b" + integrity sha512-NZutvKrF23YMod/W5/+XFa73EFQwgKQ0m5WQoEwhsPVSxvFviuYQuEafDabmai3iGFf9rvD+/ZWa3l+UfNJXvg== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/api" "8.5.1" + "@polkadot/api-augment" "8.5.1" + "@polkadot/api-base" "8.5.1" + "@polkadot/rpc-core" "8.5.1" + "@polkadot/types" "8.5.1" + "@polkadot/types-codec" "8.5.1" + "@polkadot/util" "^9.2.1" + "@polkadot/util-crypto" "^9.2.1" + rxjs "^7.5.5" + +"@polkadot/api@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-8.1.1.tgz#dab093beb1258848dcd164e73b50642264f5d040" + integrity sha512-XAprWhVFdy23YDuGqMc6rTW6CemsbhngQ1e5wMcQKNWxHgCf1mF0Hhvbv/Z4+x6bLG70OELoX7Ssz1mk0tptVQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/api-augment" "8.1.1" + "@polkadot/api-base" "8.1.1" + "@polkadot/api-derive" "8.1.1" + "@polkadot/keyring" "^9.0.1" + "@polkadot/rpc-augment" "8.1.1" + "@polkadot/rpc-core" "8.1.1" + "@polkadot/rpc-provider" "8.1.1" + "@polkadot/types" "8.1.1" + "@polkadot/types-augment" "8.1.1" + "@polkadot/types-codec" "8.1.1" + "@polkadot/types-create" "8.1.1" + "@polkadot/types-known" "8.1.1" + "@polkadot/util" "^9.0.1" + "@polkadot/util-crypto" "^9.0.1" + eventemitter3 "^4.0.7" + rxjs "^7.5.5" + +"@polkadot/api@8.5.1", "@polkadot/api@^8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-8.5.1.tgz#ebc6b70d1d3a74943118b2028242ad124c504280" + integrity sha512-t+t53OFEAyQDM+wSR6uTPAQdeUxhmE2Y4wv/W9S0u+XWeGCuuHp9l2vsyg4MKO3TnBmsf7B6+dHZiP2gFCjPVQ== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/api-augment" "8.5.1" + "@polkadot/api-base" "8.5.1" + "@polkadot/api-derive" "8.5.1" + "@polkadot/keyring" "^9.2.1" + "@polkadot/rpc-augment" "8.5.1" + "@polkadot/rpc-core" "8.5.1" + "@polkadot/rpc-provider" "8.5.1" + "@polkadot/types" "8.5.1" + "@polkadot/types-augment" "8.5.1" + "@polkadot/types-codec" "8.5.1" + "@polkadot/types-create" "8.5.1" + "@polkadot/types-known" "8.5.1" + "@polkadot/util" "^9.2.1" + "@polkadot/util-crypto" "^9.2.1" + eventemitter3 "^4.0.7" + rxjs "^7.5.5" + +"@polkadot/keyring@^9.0.1", "@polkadot/keyring@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-9.2.1.tgz#fecb189478d8f7e12ca413971691b5c7a887713a" + integrity sha512-6TxcVX5ABtqYb7aJmWdeCLWx11i6MoDX5pKbGqlCuLRzSKWRjgVpBEsKOfDBClBFuMJfTOgkmuyeXdBrGIsH4w== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/util" "9.2.1" + "@polkadot/util-crypto" "9.2.1" + +"@polkadot/networks@9.2.1", "@polkadot/networks@^9.0.1", "@polkadot/networks@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-9.2.1.tgz#9f844a00a9f249dc697d3f85c5847fe9b2003f0a" + integrity sha512-uewpJBJWdl5r78FQT9qTeABbUB6RWxk4BoMq27ZKt4B+0riiXJYBVOCnsYqK8vhUq19pgk8XBXuxltVQQ+wGgQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/util" "9.2.1" + "@substrate/ss58-registry" "^1.18.0" + +"@polkadot/rpc-augment@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-8.1.1.tgz#e23df5014fc16958ffd1b7a95659ef8993da5004" + integrity sha512-4bgtO6myo74AXXwOvH1BvgVd7LTyiu/KqiknxexYBDF1w8HfDfbVGkTWTan/WRfQhCOSfbidxbY5Y+Ef4AHYDA== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/rpc-core" "8.1.1" + "@polkadot/types" "8.1.1" + "@polkadot/types-codec" "8.1.1" + "@polkadot/util" "^9.0.1" + +"@polkadot/rpc-augment@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-8.5.1.tgz#8cedfdf4ac25d6d6b0dc024da3c8fbb84cb2281a" + integrity sha512-VjKqJ1750bKcRCoW6ezm+CkriB+6OLBqmPtNqp+NMfdd3RxGk/knIWU2bzY6dzt35+loXz1m+eOO/pnbLS5t2g== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/rpc-core" "8.5.1" + "@polkadot/types" "8.5.1" + "@polkadot/types-codec" "8.5.1" + "@polkadot/util" "^9.2.1" + +"@polkadot/rpc-core@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-8.1.1.tgz#aa941ddb0ddf79aa8cd42205700fda0aaf203708" + integrity sha512-7CL3eQnm1V0TLSpRFBHPFLdbjSg4nYePxaI4Ko9Mytvo5l7vNcPi2/qb3aaoGr+SbGRdPj0e8FstbBEYc10lSQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/rpc-augment" "8.1.1" + "@polkadot/rpc-provider" "8.1.1" + "@polkadot/types" "8.1.1" + "@polkadot/util" "^9.0.1" + rxjs "^7.5.5" + +"@polkadot/rpc-core@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-8.5.1.tgz#f5321b51051d550317e13a5ace1e92a0dc3da3ec" + integrity sha512-1cGbGrGa+NDPENBEXXGJRVGAhjOiv6BN5Nv+MhKL89ntgMq3NMIGnrtTpVtTNPuI5vkEWvnOxeYY8ofcMv5D7A== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/rpc-augment" "8.5.1" + "@polkadot/rpc-provider" "8.5.1" + "@polkadot/types" "8.5.1" + "@polkadot/util" "^9.2.1" + rxjs "^7.5.5" + +"@polkadot/rpc-provider@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-8.1.1.tgz#bd0e57e8fd15e9bac87bbf667fb484036cf7595d" + integrity sha512-PFQYhVDxayQ8BP6xk2ZFvrfG/wWZ3BIEUesdCiZU8Nb1UbTXMQQbLvfI+14Q46Z426MR9UNHxrzi4AlKbPWqCQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/keyring" "^9.0.1" + "@polkadot/types" "8.1.1" + "@polkadot/types-support" "8.1.1" + "@polkadot/util" "^9.0.1" + "@polkadot/util-crypto" "^9.0.1" + "@polkadot/x-fetch" "^9.0.1" + "@polkadot/x-global" "^9.0.1" + "@polkadot/x-ws" "^9.0.1" + "@substrate/connect" "0.7.2" + eventemitter3 "^4.0.7" + mock-socket "^9.1.2" + nock "^13.2.4" + +"@polkadot/rpc-provider@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-8.5.1.tgz#a07ec3c07d9ee1aab3fc5fb927dc4708513a2732" + integrity sha512-NUkY4+A0coSzmjkxOeRkxmS4ZtPO1R6N4RWsXoUZnNUpt3fHZt9qhZ7wd25VESaLEL3G646jC7svRTc8JTLJJA== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/keyring" "^9.2.1" + "@polkadot/types" "8.5.1" + "@polkadot/types-support" "8.5.1" + "@polkadot/util" "^9.2.1" + "@polkadot/util-crypto" "^9.2.1" + "@polkadot/x-fetch" "^9.2.1" + "@polkadot/x-global" "^9.2.1" + "@polkadot/x-ws" "^9.2.1" + "@substrate/connect" "0.7.5" + eventemitter3 "^4.0.7" + mock-socket "^9.1.3" + nock "^13.2.4" + +"@polkadot/typegen@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-8.1.1.tgz#8a141369ecb7f45a2afca27d412359d4aad11adb" + integrity sha512-+A8DlOG6qi5Cj+txmAqQNN8cie9S2aqHmsEdvmnquTc+Dp8OxvlBX/7ZMrXL5iCdEtVMemhPrePf8hzsX1q15Q== + dependencies: + "@babel/core" "^7.17.9" + "@babel/register" "^7.17.7" + "@babel/runtime" "^7.17.9" + "@polkadot/api" "8.1.1" + "@polkadot/api-augment" "8.1.1" + "@polkadot/rpc-augment" "8.1.1" + "@polkadot/rpc-provider" "8.1.1" + "@polkadot/types" "8.1.1" + "@polkadot/types-augment" "8.1.1" + "@polkadot/types-codec" "8.1.1" + "@polkadot/types-create" "8.1.1" + "@polkadot/types-support" "8.1.1" + "@polkadot/util" "^9.0.1" + "@polkadot/x-ws" "^9.0.1" + handlebars "^4.7.7" + websocket "^1.0.34" + yargs "^17.4.1" + +"@polkadot/types-augment@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-8.1.1.tgz#f62107ca46080b9ddfc55f4acda30265dcf033ff" + integrity sha512-JyJigD/rH33uDKPRF8u2rMRmxkh/brM/AkD+pOH5ZO6AfcQ3mNsFEvM5OZ+Wx2vq6+vX3oH922wjK3d3/ILkpQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/types" "8.1.1" + "@polkadot/types-codec" "8.1.1" + "@polkadot/util" "^9.0.1" + +"@polkadot/types-augment@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-8.5.1.tgz#e0a9c0e1fd5ba224c4eb81c212d247ed34cf094e" + integrity sha512-FMCb7Ro4czmnR/bZ8Ra1wYDf7WXMpgBDp2atew4eEQiny6jNxIz1mSZNGsnkqvwi/Cj70nq0GmnL6cUT2kqJwA== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/types" "8.5.1" + "@polkadot/types-codec" "8.5.1" + "@polkadot/util" "^9.2.1" + +"@polkadot/types-codec@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-8.1.1.tgz#f45c40953169c28e406fbdb0b7306f90b858861a" + integrity sha512-JJkSYJrkSjNZYIWAqpihgtMKbTfk2r9J6eHeESiWFYhce61o2x1ylyzedaZkvoxD9hVhb7l94ulrHZKtlJKBFQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/util" "^9.0.1" + +"@polkadot/types-codec@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-8.5.1.tgz#cb7f3ca360feb49c1e4d8ce432aa7df20ecc2f32" + integrity sha512-pbWKvgbCrBSVQnv/UIKFSWKHaYWMv3sWcHX30lI2C97C0kHnIu94oXmz137u9/PjXOKgghlaiIiJw/dVGqDE1w== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/util" "^9.2.1" + +"@polkadot/types-create@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-8.1.1.tgz#7e9663b1d8abf8caedb71482c1370e4438eee858" + integrity sha512-cL+CpLkHiTxRH67oHiCeunant9JpVvmtJZh+t/NZZypjRkH7YVOpKj643vkiP2m02259N2BzYTR6CEQP8QZGGQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/types-codec" "8.1.1" + "@polkadot/util" "^9.0.1" + +"@polkadot/types-create@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-8.5.1.tgz#3cfa956d7918eb299b218faded233e231031e1e1" + integrity sha512-25PKUs2muOtk1IShnab5ciOhuG9COSrN0/Ivru/gBdnPE6BJtutmOjtDL8+xcQPdc7AoCopO+7MuSTOvGyktqQ== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/types-codec" "8.5.1" + "@polkadot/util" "^9.2.1" + +"@polkadot/types-known@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-8.1.1.tgz#f956b5e0f282cabc32416c81e1a47f6dcda92e06" + integrity sha512-aOuHf/vTFrScipGx9DOcD83ki1jBLHg3549SAkMwyz0K+RnIlt2nat32/M60eUWJgyHHITl4G0QCZrtFY2D2OA== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/networks" "^9.0.1" + "@polkadot/types" "8.1.1" + "@polkadot/types-codec" "8.1.1" + "@polkadot/types-create" "8.1.1" + "@polkadot/util" "^9.0.1" + +"@polkadot/types-known@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-8.5.1.tgz#d95356dac6d1811d9fea7aaaee532392c270874a" + integrity sha512-lnwhcQbzToqUPn2CZ2/T8wq6J/+AjTesi5NdI+mFmklV+7zxJepCOA2OE/rJMJLstpOPaAINKuNgcsjId8gBsA== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/networks" "^9.2.1" + "@polkadot/types" "8.5.1" + "@polkadot/types-codec" "8.5.1" + "@polkadot/types-create" "8.5.1" + "@polkadot/util" "^9.2.1" + +"@polkadot/types-support@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-8.1.1.tgz#7f4df53766a343cf1b1df7eb55e33ed62de3e153" + integrity sha512-M3rsWvpHlQawhc4CTLgeFxT6nIeYU9JZIlubJ5je1NSorIaX/TdUEgluyPZ52kN5PNDzJNVo84/g6zwKXF5MfQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/util" "^9.0.1" + +"@polkadot/types-support@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-8.5.1.tgz#54914cfc101a9f7a6b690f53e88308c724d7915e" + integrity sha512-FDnwuXnCQBROB+K0xQ8brEY0No64e8EgzxsCA6BLGIuCxb3s1vszMcTH3y1cvjbc0ROtSN1hT2lPJ/lY+erJwg== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/util" "^9.2.1" + +"@polkadot/types@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-8.1.1.tgz#43e5fb78e6214e6af7c5edbdb6ac69d5b919421d" + integrity sha512-x9WDx9XcaSkQGlnk2MNu+49oK80s8Js7lr0mmCinV12m8+3si+GvIOvnuV3ydmWgWtpTt2ERfN+T8a/6f50EpA== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/keyring" "^9.0.1" + "@polkadot/types-augment" "8.1.1" + "@polkadot/types-codec" "8.1.1" + "@polkadot/types-create" "8.1.1" + "@polkadot/util" "^9.0.1" + "@polkadot/util-crypto" "^9.0.1" + rxjs "^7.5.5" + +"@polkadot/types@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-8.5.1.tgz#4e7126b3189f90a81e069d13ef1a7192573cc8ba" + integrity sha512-WQpcGEeZJsnCpEI6UdDLR8XY28+rg8LEvz7i6EUXdZyYyfa5m8kODpGnqgXd4BCGst5XHrBNn0D3NW7BHU+ZKQ== + dependencies: + "@babel/runtime" "^7.18.0" + "@polkadot/keyring" "^9.2.1" + "@polkadot/types-augment" "8.5.1" + "@polkadot/types-codec" "8.5.1" + "@polkadot/types-create" "8.5.1" + "@polkadot/util" "^9.2.1" + "@polkadot/util-crypto" "^9.2.1" + rxjs "^7.5.5" + +"@polkadot/util-crypto@9.2.1", "@polkadot/util-crypto@^9.0.1", "@polkadot/util-crypto@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-9.2.1.tgz#933f64cf203ac1d17ef28e91a58cc306d9784608" + integrity sha512-vAao00qNq6zv5UbDCn5+TN4DlWtYdru2gJBGroxzLHH6JzxWrCPGu3iDW+o3CE8v4XJGI42W4nDDGjdxyzVN7Q== + dependencies: + "@babel/runtime" "^7.17.9" + "@noble/hashes" "1.0.0" + "@noble/secp256k1" "1.5.5" + "@polkadot/networks" "9.2.1" + "@polkadot/util" "9.2.1" + "@polkadot/wasm-crypto" "^6.1.1" + "@polkadot/x-bigint" "9.2.1" + "@polkadot/x-randomvalues" "9.2.1" + "@scure/base" "1.0.0" + ed2curve "^0.3.0" + tweetnacl "^1.0.3" + +"@polkadot/util@9.2.1", "@polkadot/util@^9.0.1", "@polkadot/util@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-9.2.1.tgz#cf1af36418ea6f351cceaac747162707c6a00a36" + integrity sha512-6B+NWfibxKNlWv67dJygjxZsNtjp9nERYZ+EaulOST9/KrnGLyKEh5ZRxP9lTSXeo+kuZhEfQFl3VQk13xgmJg== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/x-bigint" "9.2.1" + "@polkadot/x-global" "9.2.1" + "@polkadot/x-textdecoder" "9.2.1" + "@polkadot/x-textencoder" "9.2.1" + "@types/bn.js" "^5.1.0" + bn.js "^5.2.0" + ip-regex "^4.3.0" + +"@polkadot/wasm-bridge@6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-bridge/-/wasm-bridge-6.1.1.tgz#9342f2b3c139df72fa45c8491b348f8ebbfa57fa" + integrity sha512-Cy0k00VCu+HWxie+nn9GWPlSPdiZl8Id8ulSGA2FKET0jIbffmOo4e1E2FXNucfR1UPEpqov5BCF9T5YxEXZDg== + dependencies: + "@babel/runtime" "^7.17.9" + +"@polkadot/wasm-crypto-asmjs@6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-6.1.1.tgz#6d09045679120b43fbfa435b29c3690d1f788ebb" + integrity sha512-gG4FStVumkyRNH7WcTB+hn3EEwCssJhQyi4B1BOUt+eYYmw9xJdzIhqjzSd9b/yF2e5sRaAzfnMj2srGufsE6A== + dependencies: + "@babel/runtime" "^7.17.9" + +"@polkadot/wasm-crypto-init@6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-init/-/wasm-crypto-init-6.1.1.tgz#73731071bea9b4e22b380d75099da9dc683fadf5" + integrity sha512-rbBm/9FOOUjISL4gGNokjcKy2X+Af6Chaet4zlabatpImtPIAK26B2UUBGoaRUnvl/w6K3+GwBL4LuBC+CvzFw== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/wasm-bridge" "6.1.1" + "@polkadot/wasm-crypto-asmjs" "6.1.1" + "@polkadot/wasm-crypto-wasm" "6.1.1" + +"@polkadot/wasm-crypto-wasm@6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-6.1.1.tgz#3fdc8f1280710e4d68112544b2473e811c389a2a" + integrity sha512-zkz5Ct4KfTBT+YNEA5qbsHhTV58/FAxDave8wYIOaW4TrBnFPPs+J0WBWlGFertgIhPkvjFnQC/xzRyhet9prg== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/wasm-util" "6.1.1" + +"@polkadot/wasm-crypto@^6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-6.1.1.tgz#8e2c2d64d24eeaa78eb0b74ea1c438b7bc704176" + integrity sha512-hv9RCbMYtgjCy7+FKZFnO2Afu/whax9sk6udnZqGRBRiwaNagtyliWZGrKNGvaXMIO0VyaY4jWUwSzUgPrLu1A== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/wasm-bridge" "6.1.1" + "@polkadot/wasm-crypto-asmjs" "6.1.1" + "@polkadot/wasm-crypto-init" "6.1.1" + "@polkadot/wasm-crypto-wasm" "6.1.1" + "@polkadot/wasm-util" "6.1.1" + +"@polkadot/wasm-util@6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-util/-/wasm-util-6.1.1.tgz#58a566aba68f90d2a701c78ad49a1a9521b17f5b" + integrity sha512-DgpLoFXMT53UKcfZ8eT2GkJlJAOh89AWO+TP6a6qeZQpvXVe5f1yR45WQpkZlgZyUP+/19+kY56GK0pQxfslqg== + dependencies: + "@babel/runtime" "^7.17.9" + +"@polkadot/x-bigint@9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-9.2.1.tgz#78efd6058277ad95fda7470283399f2e4c76be8d" + integrity sha512-R1PJHVu8NqWyaUrMrGSr2reGCVNdSxKFbJr6M7Fli5UWewjoLue1CuG1Mv0fjb6+ko1XcTjFmdNpfOs3L0PYbQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/x-global" "9.2.1" + +"@polkadot/x-fetch@^9.0.1", "@polkadot/x-fetch@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-9.2.1.tgz#c0131c193b54e65931de0819d9e859b47ba22c2b" + integrity sha512-tU/q6ZwnQDy41mE+kNgJYnMlRDjBKNA+xctlzQKjMyeTrvzmUS7LmK5Z3kHHhgs1kleLtDe5xT116OOhoIuyHg== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/x-global" "9.2.1" + "@types/node-fetch" "^2.6.1" + node-fetch "^2.6.7" + +"@polkadot/x-global@9.2.1", "@polkadot/x-global@^9.0.1", "@polkadot/x-global@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-9.2.1.tgz#470efdf6715f87bddddd365e5c2fc10da7fa266d" + integrity sha512-t1zXdfrFIt83Be1i7uQuj2JRgvdxMxPBVXhCycpAV0eApeThXh8irBSxzw6QisDdPBnC+yX/kIlXuQAHUmr/7g== + dependencies: + "@babel/runtime" "^7.17.9" + +"@polkadot/x-randomvalues@9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-9.2.1.tgz#04dbd5928dc5bd94f5fa16260df663d57c851998" + integrity sha512-gxR2vx5ThRjQ5lJovLneRKaWJxlNHSHcWhozLiUKTr2UePs0rljAqQ68nQ57jq1B17CQra7PWYxosfcKyKaAUg== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/x-global" "9.2.1" + +"@polkadot/x-textdecoder@9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-9.2.1.tgz#e83c25bd52f62cf680439d96d71d9d1f37224257" + integrity sha512-n9ejoDUnX935zfxgJMcOpvJaifRKniPEKKmCWUazv9IEygB16bXRQ+Ecg8KYKtpmxTVQwj6lW4QOf4d4LGIdqA== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/x-global" "9.2.1" + +"@polkadot/x-textencoder@9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-9.2.1.tgz#b00363d1afa0cdd928e2869b7df7b3d92a7610fd" + integrity sha512-VBCdK9vieYqbH7B4ceiahuW1bOvgETdaz9Ur4QtZLA2YUO7YB+mPuiySO4mU6hx97mV9PSJLHyyOs7oGCsbDBg== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/x-global" "9.2.1" + +"@polkadot/x-ws@^9.0.1", "@polkadot/x-ws@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-9.2.1.tgz#3c5c34cad5f8a939813e83abcdc350c55a280b43" + integrity sha512-/71fhf2AVW34xbw5LJUjpDKAB2DUfxMWNZFAQqMG46RiP4V9lQe6t3+ZYzTBufGOvyKbhYABvz5CnQBbA8mUYQ== + dependencies: + "@babel/runtime" "^7.17.9" + "@polkadot/x-global" "9.2.1" + "@types/websocket" "^1.0.5" + websocket "^1.0.34" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== "@protobufjs/base64@^1.1.2": version "1.1.2" @@ -82,12 +1014,12 @@ "@protobufjs/eventemitter@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== "@protobufjs/fetch@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== dependencies: "@protobufjs/aspromise" "^1.1.1" "@protobufjs/inquire" "^1.1.0" @@ -95,55 +1027,78 @@ "@protobufjs/float@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== "@protobufjs/inquire@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== "@protobufjs/path@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== "@protobufjs/pool@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== "@protobufjs/utf8@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= - -"@terra-money/terra.js@^2.0.14": - version "2.1.23" - resolved "https://registry.yarnpkg.com/@terra-money/terra.js/-/terra.js-2.1.23.tgz#6e7ee7477b8cc5895ddcb2e4eb0446e71bb0e575" - integrity sha512-nSAR35zqjKUn1Jzqevf30s47XRlW/VXU01YgK3n9ndmX15lkdlgFvqaV7UezK0xAmCpm+7xWIrtBTMmZpVBkMQ== - dependencies: - "@terra-money/terra.proto" "^0.1.7" - axios "^0.21.1" - bech32 "^2.0.0" - bip32 "^2.0.6" - bip39 "^3.0.3" - bufferutil "^4.0.3" - decimal.js "^10.2.1" - jscrypto "^1.0.1" - readable-stream "^3.6.0" - secp256k1 "^4.0.2" - tmp "^0.2.1" - utf-8-validate "^5.0.5" - ws "^7.4.2" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@terra-money/terra.proto@^0.1.7": - version "0.1.7" - resolved "https://registry.yarnpkg.com/@terra-money/terra.proto/-/terra.proto-0.1.7.tgz#59c18f30da10d43200bab3ba8feb5b17e43a365f" - integrity sha512-NXD7f6pQCulvo6+mv6MAPzhOkUzRjgYVuHZE/apih+lVnPG5hDBU0rRYnOGGofwvKT5/jQoOENnFn/gioWWnyQ== - dependencies: - google-protobuf "^3.17.3" - long "^4.0.0" - protobufjs "~6.11.2" +"@scure/base@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.0.0.tgz#109fb595021de285f05a7db6806f2f48296fcee7" + integrity sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA== + +"@substrate/connect-extension-protocol@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.0.tgz#d452beda84b3ebfcf0e88592a4695e729a91e858" + integrity sha512-nFVuKdp71hMd/MGlllAOh+a2hAqt8m6J2G0aSsS/RcALZexxF9jodbFc62ni8RDtJboeOfXAHhenYOANvJKPIg== + +"@substrate/connect@0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.7.2.tgz#a2440a7a85a75acbc839745b301d5b8b81cbac5d" + integrity sha512-8GWdrN7qbClYLa9LmETJnywT5fknEQeMw+QKvkUMvsHKegHD0Zkhi0K484mKxRN9RGwcPsKHPj1gMk8xlZuJ9g== + dependencies: + "@substrate/connect-extension-protocol" "^1.0.0" + "@substrate/smoldot-light" "0.6.15" + eventemitter3 "^4.0.7" + +"@substrate/connect@0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.7.5.tgz#8d868ed905df25c87ff9bad9fa8db6d4137012c9" + integrity sha512-sdAZ6IGuTNxRGlH/O+6IaXvkYzZFwMK03VbQMgxUzry9dz1+JzyaNf8iOTVHxhMIUZc0h0E90JQz/hNiUYPlUw== + dependencies: + "@substrate/connect-extension-protocol" "^1.0.0" + "@substrate/smoldot-light" "0.6.16" + eventemitter3 "^4.0.7" + +"@substrate/smoldot-light@0.6.15": + version "0.6.15" + resolved "https://registry.yarnpkg.com/@substrate/smoldot-light/-/smoldot-light-0.6.15.tgz#f3fd2a9fa2e3a579d2bf0c13590fb48db4935f9f" + integrity sha512-c2tJCSp9Litsn/p8wY1FfEqIkJI8Peh89BU7T43bruWRO2SSgLVh0cIVbOCY4en90tIOX4W0CueRWFBRQz7BjQ== + dependencies: + buffer "^6.0.1" + pako "^2.0.4" + websocket "^1.0.32" + +"@substrate/smoldot-light@0.6.16": + version "0.6.16" + resolved "https://registry.yarnpkg.com/@substrate/smoldot-light/-/smoldot-light-0.6.16.tgz#04ec70cf1df285431309fe5704d3b2dd701faa0b" + integrity sha512-Ej0ZdNPTW0EXbp45gv/5Kt/JV+c9cmRZRYAXg+EALxXPm0hW9h2QdVLm61A2PAskOGptW4wnJ1WzzruaenwAXQ== + dependencies: + buffer "^6.0.1" + pako "^2.0.4" + websocket "^1.0.32" + +"@substrate/ss58-registry@^1.18.0": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@substrate/ss58-registry/-/ss58-registry-1.19.0.tgz#b88338ef95e20487e22dbb8b95d6d78b718354d5" + integrity sha512-oCddzQ6oqwLf55yYYA/J7F8Nl+FMtVjxKCkB7B/730478S5JxGAdUzvFevBRgQunoGs6DoBmnlzDkeN3M/eBww== "@tsconfig/node10@^1.0.7": version "1.0.8" @@ -165,110 +1120,197 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== -"@types/json-schema@^7.0.9": +"@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== + dependencies: + "@types/node" "*" + +"@types/chai-as-promised@^7.1.4": + version "7.1.5" + resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz#6e016811f6c7a64f2eed823191c3a6955094e255" + integrity sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ== + dependencies: + "@types/chai" "*" + +"@types/chai@*", "@types/chai@^4.2.21": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.1.tgz#e2c6e73e0bdeb2521d00756d099218e9f5d90a04" + integrity sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ== + +"@types/chalk@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@types/chalk/-/chalk-2.2.0.tgz#b7f6e446f4511029ee8e3f43075fb5b73fbaa0ba" + integrity sha512-1zzPV9FDe1I/WHhRkf9SNgqtRJWZqrBWgu7JGveuHmmyR9CnAPCie2N/x+iHrgnpYBIcCJWHBoMRv2TRWktsvw== + dependencies: + chalk "*" + +"@types/crypto-js@^4.0.2": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@types/crypto-js/-/crypto-js-4.1.1.tgz#602859584cecc91894eb23a4892f38cfa927890d" + integrity sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA== + +"@types/json-schema@^7.0.7": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/long@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" - integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== - -"@types/node@10.12.18": - version "10.12.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" - integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== - -"@types/node@11.11.6": - version "11.11.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" - integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== - -"@types/node@>=13.7.0": - version "17.0.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" - integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== - -"@typescript-eslint/eslint-plugin@^5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz#9608a4b6d0427104bccf132f058cba629a6553c0" - integrity sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg== - dependencies: - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/type-utils" "5.19.0" - "@typescript-eslint/utils" "5.19.0" - debug "^4.3.2" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.2.0" - semver "^7.3.5" - tsutils "^3.21.0" + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== -"@typescript-eslint/parser@^5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.19.0.tgz#05e587c1492868929b931afa0cb5579b0f728e75" - integrity sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ== +"@types/node-fetch@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" + integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== dependencies: - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/typescript-estree" "5.19.0" - debug "^4.3.2" + "@types/node" "*" + form-data "^3.0.0" + +"@types/node@*", "@types/node@>=13.7.0": + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.35.tgz#635b7586086d51fb40de0a2ec9d1014a5283ba4a" + integrity sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg== + +"@types/node@^13.7.0": + version "13.13.52" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.52.tgz#03c13be70b9031baaed79481c0c0cfb0045e53f7" + integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== + +"@types/node@^16.7.1": + version "16.11.36" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.36.tgz#9ab9f8276987132ed2b225cace2218ba794fc751" + integrity sha512-FR5QJe+TaoZ2GsMHkjuwoNabr+UrJNRr2HNOo+r/7vhcuntM6Ee/pRPOnRhhL2XE9OOvX9VLEq+BcXl3VjNoWA== -"@typescript-eslint/scope-manager@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz#97e59b0bcbcb54dbcdfba96fc103b9020bbe9cb4" - integrity sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g== +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== dependencies: - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/visitor-keys" "5.19.0" + "@types/node" "*" -"@typescript-eslint/type-utils@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz#80f2125b0dfe82494bbae1ea99f1c0186d420282" - integrity sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q== +"@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== dependencies: - "@typescript-eslint/utils" "5.19.0" - debug "^4.3.2" - tsutils "^3.21.0" + "@types/node" "*" -"@typescript-eslint/types@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.19.0.tgz#12d3d600d754259da771806ee8b2c842d3be8d12" - integrity sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w== - -"@typescript-eslint/typescript-estree@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz#fc987b8f62883f9ea6a5b488bdbcd20d33c0025f" - integrity sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw== - dependencies: - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/visitor-keys" "5.19.0" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" +"@types/websocket@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.5.tgz#3fb80ed8e07f88e51961211cd3682a3a4a81569c" + integrity sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@^4.31.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.19.0.tgz#fe87f1e3003d9973ec361ed10d36b4342f1ded1e" - integrity sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ== +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/typescript-estree" "5.19.0" + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz#c84ebc7f6c744707a361ca5ec7f7f64cd85b8af6" - integrity sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ== +"@typescript-eslint/parser@^4.31.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: - "@typescript-eslint/types" "5.19.0" - eslint-visitor-keys "^3.0.0" + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +"@webb-tools/api-derive@0.1.4-64": + version "0.1.4-64" + resolved "https://registry.yarnpkg.com/@webb-tools/api-derive/-/api-derive-0.1.4-64.tgz#4ad081a807a3db897fed6841002af14f1922f6bd" + integrity sha512-m9IVGOlpF7VRUtozxsRJhIRFDnV8x+2xRjqKifG0awVX+ZhKYxv8rW7hkfhxRyRUMzLtMktgWTzb6oN3OwkZGQ== + dependencies: + "@babel/runtime" "^7.10.2" + "@polkadot/api" "8.1.1" + "@polkadot/rpc-core" "8.1.1" + "@webb-tools/api" "0.1.4-64" + "@webb-tools/types" "0.1.4-64" + +"@webb-tools/api@0.1.4-64", "@webb-tools/api@^0.1.4-61": + version "0.1.4-64" + resolved "https://registry.yarnpkg.com/@webb-tools/api/-/api-0.1.4-64.tgz#cd724c35505605db42949353650194ee99f1d8ce" + integrity sha512-3LfN1ST8uVRkHprlI16iM1i8wyuytjuyXNNp8tEusA9t0wD3oKcE8NAKwWxF8XtEOQ3GV/uwT0c+g8E6/7U83A== + dependencies: + "@babel/runtime" "^7.10.2" + "@polkadot/api" "8.1.1" + "@polkadot/rpc-core" "8.1.1" + "@webb-tools/api-derive" "0.1.4-64" + +"@webb-tools/types@0.1.4-64": + version "0.1.4-64" + resolved "https://registry.yarnpkg.com/@webb-tools/types/-/types-0.1.4-64.tgz#9adc06ed67b53a9dd5885e16280aa497865ee120" + integrity sha512-xbdNXDlGK9O1ctprsxrvvswu2rKoc9k76ggyH9tviIFTr4ikMNr6nZslG2m00ElLsa0lg0JmDaCS3GwUQ6qFCg== + dependencies: + "@babel/runtime" "^7.10.2" + "@open-web3/orml-types" "^1.1.3" + "@polkadot/api-derive" "8.1.1" + "@polkadot/typegen" "8.1.1" + "@polkadot/types" "8.1.1" + +"@webb-tools/wasm-utils@^0.1.2-54": + version "0.1.2-54" + resolved "https://registry.yarnpkg.com/@webb-tools/wasm-utils/-/wasm-utils-0.1.2-54.tgz#b401b6151955e4b6ad695c171f5772fc31abed01" + integrity sha512-i+ylTtWVjoDwTfFlZ52nezVCQ0nkg5Nbamu0KdgF8Kb66u7ZUdAqB8aATFTetH/A310nRpRmzztjr+Mb0oq9Gg== acorn-jsx@^5.3.1: version "5.3.2" @@ -280,10 +1322,15 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^8.4.1, acorn@^8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.4.1: + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" @@ -295,12 +1342,34 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^4.1.0: +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -312,17 +1381,34 @@ arg@^4.1.0: 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.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -axios@^0.21.1: +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^0.21.2: version "0.21.4" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== @@ -341,46 +1427,41 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -bech32@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" - integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== +base64-js@^1.3.0, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -bindings@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" +bech32@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== -bip32@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" - integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== - dependencies: - "@types/node" "10.12.18" - bs58check "^2.1.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - tiny-secp256k1 "^1.1.3" - typeforce "^1.11.5" - wif "^2.0.6" +bignumber.js@^9.0.1: + version "9.0.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" + integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== -bip39@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" - integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== - dependencies: - "@types/node" "11.11.6" - create-hash "^1.1.0" - pbkdf2 "^3.0.9" - randombytes "^2.0.1" +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== -bn.js@^4.11.8, bn.js@^4.11.9: +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== +bn.js@^5.1.2, bn.js@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -399,16 +1480,39 @@ braces@^3.0.2: brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserslist@^4.20.2: + version "4.20.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" + integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== + dependencies: + caniuse-lite "^1.0.30001332" + electron-to-chromium "^1.4.118" + escalade "^3.1.1" + node-releases "^2.0.3" + picocolors "^1.0.0" bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== dependencies: base-x "^3.0.2" -bs58check@<3.0.0, bs58check@^2.1.1: +bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -417,7 +1521,30 @@ bs58check@<3.0.0, bs58check@^2.1.1: create-hash "^1.1.0" safe-buffer "^5.1.2" -bufferutil@^4.0.3: +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-reverse@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-reverse/-/buffer-reverse-1.0.1.tgz#49283c8efa6f901bc01fa3304d06027971ae2f60" + integrity sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^6.0.1: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bufferutil@^4.0.1: version "4.0.6" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433" integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw== @@ -429,7 +1556,46 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -chalk@4.1.2, chalk@^4.0.0: +caniuse-lite@^1.0.30001332: + version "1.0.30001342" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz#87152b1e3b950d1fbf0093e23f00b6c8e8f1da96" + integrity sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA== + +chai-as-promised@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" + integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA== + dependencies: + check-error "^1.0.2" + +chai@^4.3.4: + version "4.3.6" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" + integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + loupe "^2.3.1" + pathval "^1.1.1" + type-detect "^4.0.5" + +chalk@*: + version "5.0.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6" + integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -437,7 +1603,12 @@ chalk@4.1.2, chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -cipher-base@^1.0.1, cipher-base@^1.0.3: +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== @@ -445,6 +1616,31 @@ cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -452,16 +1648,48 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +cosmjs-types@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.4.1.tgz#3b2a53ba60d33159dd075596ce8267cfa7027063" + integrity sha512-I7E/cHkIgoJzMNQdFF0YVqPlaTqrqKHrskuSTIqlEyxfB5Lf3WKCajSXVK2yHOfOFfSux/RxEdpMzw/eO4DIog== + dependencies: + long "^4.0.0" + protobufjs "~6.11.2" + create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -499,23 +1727,58 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -debug@^4.1.1, debug@^4.3.2: +crypto-js@^3.1.9-1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" + integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + dependencies: + type-detect "^4.0.0" deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +define-properties@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -535,7 +1798,19 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -elliptic@^6.4.0, elliptic@^6.5.4: +ed2curve@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ed2curve/-/ed2curve-0.3.0.tgz#322b575152a45305429d546b071823a93129a05d" + integrity sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ== + dependencies: + tweetnacl "1.x.x" + +electron-to-chromium@^1.4.118: + version "1.4.137" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" + integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== + +elliptic@^6.5.3, elliptic@^6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -548,6 +1823,54 @@ elliptic@^6.4.0, elliptic@^6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.61" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" + integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -561,13 +1884,12 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" + eslint-visitor-keys "^1.1.0" eslint-utils@^3.0.0: version "3.0.0" @@ -576,65 +1898,75 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + eslint-visitor-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint@^8.13.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.13.0.tgz#6fcea43b6811e655410f5626cfcf328016badcd7" - integrity sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ== +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: - "@eslint/eslintrc" "^1.2.1" - "@humanwhocodes/config-array" "^0.9.2" + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.3.2" + debug "^4.0.1" doctrine "^3.0.0" + enquirer "^2.3.5" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.3.1" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" + glob-parent "^5.1.2" globals "^13.6.0" - ignore "^5.2.0" + ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^4.1.0" + js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" strip-json-comments "^3.1.0" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" - integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ== +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: - acorn "^8.7.0" + acorn "^7.4.0" acorn-jsx "^5.3.1" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0: version "1.4.0" @@ -665,6 +1997,73 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +ethereum-bloom-filters@^1.0.6: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== + dependencies: + js-sha3 "^0.8.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereumjs-util@^7.1.0: + version "7.1.4" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz#a6885bcdd92045b06f596c7626c3e89ab3312458" + integrity sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +ext@^1.1.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== + dependencies: + type "^2.5.0" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -705,11 +2104,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -717,6 +2111,22 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +find-cache-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -731,25 +2141,58 @@ flatted@^3.1.0: integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== follow-redirects@^1.14.0: - version "1.14.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" - integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== + version "1.15.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" + integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fs@^0.0.1-security: - version "0.0.1-security" - resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" - integrity sha1-invTcYa23d84E/I4WLV+yq9eQdQ= +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + +get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -757,33 +2200,38 @@ glob-parent@^5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - glob@^7.1.3: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + globals@^13.6.0, globals@^13.9.0: - version "13.13.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" - integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== + version "13.15.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" + integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== dependencies: type-fest "^0.20.2" -globby@^11.0.4: +globalthis@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.0.3: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -795,16 +2243,47 @@ globby@^11.0.4: merge2 "^1.4.1" slash "^3.0.0" -google-protobuf@^3.17.3: - version "3.20.0" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.20.0.tgz#8705ab5fb7e91e9578250a4a8ac533a3cc0bc0bb" - integrity sha512-hhXv5IKLDIkb0pEm53G053UZGhRAhw3wM5Jk7ly5sGIQRkO1s63FaDqM9QjlrPHygKEE2awUlLP9fFrG6M9vfQ== +handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-flag@^4.0.0: version "4.0.0" 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: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + hash-base@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" @@ -814,7 +2293,7 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash.js@^1.0.0, hash.js@^1.0.3: +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -831,6 +2310,16 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" @@ -862,50 +2351,127 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +ip-regex@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + 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-glob@^4.0.0, is-glob@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: - argparse "^2.0.1" + argparse "^1.0.7" + esprima "^4.0.0" -jscrypto@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/jscrypto/-/jscrypto-1.0.3.tgz#598febca2a939d6f679c54f56e1fe364cef30cc9" - integrity sha512-lryZl0flhodv4SZHOqyb1bx5sKcJxj0VBo0Kzb4QMAg3L021IC9uGpl0RCZa+9KJwlRGSK2C80ITcwbe19OKLQ== +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +keccak@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -914,20 +2480,67 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +libsodium-wrappers@^0.7.6: + version "0.7.10" + resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz#13ced44cacb0fc44d6ac9ce67d725956089ce733" + integrity sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg== + dependencies: + libsodium "^0.7.0" + +libsodium@^0.7.0: + version "0.7.10" + resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.10.tgz#c2429a7e4c0836f879d701fec2c8a208af024159" + integrity sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ== + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== -lru-cache@^7.4.0: - version "7.8.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.1.tgz#68ee3f4807a57d2ba185b7fd90827d5c21ce82bb" - integrity sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg== +loupe@^2.3.1: + version "2.3.4" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.4.tgz#7e0b9bffc76f148f9be769cb1321d3dcf3cb25f3" + integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ== + dependencies: + get-func-name "^2.0.0" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" make-error@^1.1.1: version "1.3.6" @@ -948,6 +2561,17 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +merkletreejs@^0.2.24: + version "0.2.31" + resolved "https://registry.yarnpkg.com/merkletreejs/-/merkletreejs-0.2.31.tgz#c8ae7bebf1678c0f92d6d8266aeddd3d97cc0c37" + integrity sha512-dnK2sE43OebmMe5Qnq1wXvvMIjZjm1u6CcB2KeW6cghlN4p21OpCUr2p56KTVf20KJItNChVsGnimcscp9f+yw== + dependencies: + bignumber.js "^9.0.1" + buffer-reverse "^1.0.1" + crypto-js "^3.1.9-1" + treeify "^1.1.0" + web3-utils "^1.3.4" + micromatch@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -956,6 +2580,18 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -966,38 +2602,93 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@^3.0.4: +minimatch@^3.0.4, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" +minimist@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +mock-socket@^9.1.2, mock-socket@^9.1.3: + version "9.1.3" + resolved "https://registry.yarnpkg.com/mock-socket/-/mock-socket-9.1.3.tgz#bcb106c6b345001fa7619466fcf2f8f5a156b10f" + integrity sha512-uz8lx8c5wuJYJ21f5UtovqpV0+KJuVwE7cVOLNhrl2QW/CvmstOLRfjXnLSbfFHZtJtiaSGQu0oCJA8SmRcK6A== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -nan@^2.13.2: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +neo-async@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +nock@^13.2.4: + version "13.2.4" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.4.tgz#43a309d93143ee5cdcca91358614e7bde56d20e1" + integrity sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug== + dependencies: + debug "^4.1.0" + json-stringify-safe "^5.0.1" + lodash.set "^4.3.2" + propagate "^2.0.0" + node-addon-api@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== +node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: version "4.4.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== +node-releases@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" + integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -1017,6 +2708,30 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@^2.0.2, pako@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d" + integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -1024,6 +2739,11 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -1039,7 +2759,12 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pbkdf2@^3.0.9: +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.17: version "3.1.2" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== @@ -1050,20 +2775,52 @@ pbkdf2@^3.0.9: safe-buffer "^5.0.1" sha.js "^2.4.8" +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -protobufjs@~6.11.2: - version "6.11.2" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b" - integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw== +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +propagate@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" + integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== + +protobufjs@^6.8.8, protobufjs@~6.11.2: + version "6.11.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" + integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -1079,6 +2836,25 @@ protobufjs@~6.11.2: "@types/node" ">=13.7.0" long "^4.0.0" +protobufjs@~6.10.2: + version "6.10.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.3.tgz#11ed1dd02acbfcb330becf1611461d4b407f9eef" + integrity sha512-yvAslS0hNdBhlSKckI4R1l7wunVilX66uvrjzE4MimiAt7/qw1nLpMhZrn/ObuUTM/c3Xnfl01LYMdcSJe6dwg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" "^13.7.0" + long "^4.0.0" + punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -1089,7 +2865,7 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -randombytes@^2.0.1: +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -1105,11 +2881,31 @@ readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -regexpp@^3.2.0: +readonly-date@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/readonly-date/-/readonly-date-1.0.0.tgz#5af785464d8c7d7c40b9d738cbde8c646f97dcd9" + integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== + +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regexpp@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -1120,7 +2916,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -1135,6 +2931,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -1142,12 +2945,29 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +rxjs@^7.5.5: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.1.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -secp256k1@^4.0.2: +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +scrypt-js@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== @@ -1156,12 +2976,27 @@ secp256k1@^4.0.2: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" -semver@^7.3.5: - version "7.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.6.tgz#5d73886fb9c0c6602e79440b97165c29581cbb2b" - integrity sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w== +semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.5: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: - lru-cache "^7.4.0" + lru-cache "^6.0.0" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" @@ -1171,6 +3006,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -1188,6 +3030,42 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +source-map-support@^0.5.16: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + 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" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -1195,18 +3073,32 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -strip-ansi@^6.0.1: +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" 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-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= + dependencies: + is-hex-prefixed "1.0.0" + strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -1214,28 +3106,31 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +symbol-observable@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" + integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== + +table@^6.0.9: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -tiny-secp256k1@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c" - integrity sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA== - dependencies: - bindings "^1.3.0" - bn.js "^4.11.8" - create-hmac "^1.1.7" - elliptic "^6.4.0" - nan "^2.13.2" - -tmp@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-regex-range@^5.0.1: version "5.0.1" @@ -1244,12 +3139,22 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -ts-node@^10.4.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" - integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + +treeify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" + integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== + +ts-node@^10.2.1: + version "10.8.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.0.tgz#3ceb5ac3e67ae8025c1950626aafbdecb55d82ce" + integrity sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA== dependencies: - "@cspotcode/source-map-support" "0.7.0" + "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" @@ -1260,7 +3165,7 @@ ts-node@^10.4.0: create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - v8-compile-cache-lib "^3.0.0" + v8-compile-cache-lib "^3.0.1" yn "3.1.1" tslib@^1.8.1: @@ -1268,6 +3173,11 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.1.0, tslib@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -1275,6 +3185,11 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" +tweetnacl@1.x.x, tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -1282,20 +3197,42 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typeforce@^1.11.5: - version "1.18.0" - resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" - integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" + integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.3.5: + version "4.6.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" + integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== -typescript@^4.4.4: - version "4.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" - integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== +uglify-js@^3.1.4: + version "3.15.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.5.tgz#2b10f9e0bfb3f5c15a8e8404393b6361eaeb33b3" + integrity sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ== uri-js@^4.2.2: version "4.4.1" @@ -1304,28 +3241,71 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -utf-8-validate@^5.0.5: +utf-8-validate@^5.0.2: version "5.0.9" resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3" integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q== dependencies: node-gyp-build "^4.3.0" +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -v8-compile-cache-lib@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" - integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +web3-utils@^1.3.4: + version "1.7.3" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.3.tgz#b214d05f124530d8694ad364509ac454d05f207c" + integrity sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg== + dependencies: + bn.js "^4.11.9" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +websocket@^1.0.32, websocket@^1.0.34: + version "1.0.34" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -1333,28 +3313,76 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -wif@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" - integrity sha1-CNP1IFbGZnkplyb63g1DKudLRwQ= - dependencies: - bs58check "<3.0.0" - word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wrap-ansi@^7.0.0: + version "7.0.0" + 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" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@^7.4.2: +ws@^7: version "7.5.7" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== +xstream@^11.14.0: + version "11.14.0" + resolved "https://registry.yarnpkg.com/xstream/-/xstream-11.14.0.tgz#2c071d26b18310523b6877e86b4e54df068a9ae5" + integrity sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw== + dependencies: + globalthis "^1.0.1" + symbol-observable "^2.0.3" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + +yargs@^17.4.1: + version "17.5.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"