mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 19:21:13 +00:00
Bridge zombienet tests - move all test scripts to the same folder (#3333)
Related to https://github.com/paritytech/polkadot-sdk/issues/3242
This commit is contained in:
@@ -1,309 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function relayer_path() {
|
||||
local default_path=~/local_bridge_testing/bin/substrate-relay
|
||||
local path="${SUBSTRATE_RELAY_BINARY:-$default_path}"
|
||||
echo "$path"
|
||||
}
|
||||
|
||||
function ensure_relayer() {
|
||||
local path=$(relayer_path)
|
||||
if [[ ! -f "$path" ]]; then
|
||||
echo " Required substrate-relay binary '$path' does not exist!"
|
||||
echo " You need to build it and copy to this location!"
|
||||
echo " Please, check ./parachains/runtimes/bridge-hubs/README.md (Prepare/Build/Deploy)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo $path
|
||||
}
|
||||
|
||||
function ensure_polkadot_js_api() {
|
||||
if ! which polkadot-js-api &> /dev/null; then
|
||||
echo ''
|
||||
echo 'Required command `polkadot-js-api` not in PATH, please, install, e.g.:'
|
||||
echo "npm install -g @polkadot/api-cli@beta"
|
||||
echo " or"
|
||||
echo "yarn global add @polkadot/api-cli"
|
||||
echo ''
|
||||
exit 1
|
||||
fi
|
||||
if ! which jq &> /dev/null; then
|
||||
echo ''
|
||||
echo 'Required command `jq` not in PATH, please, install, e.g.:'
|
||||
echo "apt install -y jq"
|
||||
echo ''
|
||||
exit 1
|
||||
fi
|
||||
generate_hex_encoded_call_data "check" "--"
|
||||
local retVal=$?
|
||||
if [ $retVal -ne 0 ]; then
|
||||
echo ""
|
||||
echo ""
|
||||
echo "-------------------"
|
||||
echo "Installing (nodejs) sub module: $(dirname "$0")/generate_hex_encoded_call"
|
||||
pushd $(dirname "$0")/generate_hex_encoded_call
|
||||
npm install
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
function call_polkadot_js_api() {
|
||||
# --noWait: without that argument `polkadot-js-api` waits until transaction is included into the block.
|
||||
# With it, it just submits it to the tx pool and exits.
|
||||
# --nonce -1: means to compute transaction nonce using `system_accountNextIndex` RPC, which includes all
|
||||
# transaction that are in the tx pool.
|
||||
polkadot-js-api --noWait --nonce -1 "$@"
|
||||
}
|
||||
|
||||
function generate_hex_encoded_call_data() {
|
||||
local type=$1
|
||||
local endpoint=$2
|
||||
local output=$3
|
||||
shift
|
||||
shift
|
||||
shift
|
||||
echo "Input params: $@"
|
||||
|
||||
node $(dirname "$0")/generate_hex_encoded_call "$type" "$endpoint" "$output" "$@"
|
||||
local retVal=$?
|
||||
|
||||
if [ $type != "check" ]; then
|
||||
local hex_encoded_data=$(cat $output)
|
||||
echo "Generated hex-encoded bytes to file '$output': $hex_encoded_data"
|
||||
fi
|
||||
|
||||
return $retVal
|
||||
}
|
||||
|
||||
function transfer_balance() {
|
||||
local runtime_para_endpoint=$1
|
||||
local seed=$2
|
||||
local target_account=$3
|
||||
local amount=$4
|
||||
echo " calling transfer_balance:"
|
||||
echo " runtime_para_endpoint: ${runtime_para_endpoint}"
|
||||
echo " seed: ${seed}"
|
||||
echo " target_account: ${target_account}"
|
||||
echo " amount: ${amount}"
|
||||
echo "--------------------------------------------------"
|
||||
|
||||
call_polkadot_js_api \
|
||||
--ws "${runtime_para_endpoint}" \
|
||||
--seed "${seed?}" \
|
||||
tx.balances.transferAllowDeath \
|
||||
"${target_account}" \
|
||||
"${amount}"
|
||||
}
|
||||
|
||||
function send_governance_transact() {
|
||||
local relay_url=$1
|
||||
local relay_chain_seed=$2
|
||||
local para_id=$3
|
||||
local hex_encoded_data=$4
|
||||
local require_weight_at_most_ref_time=$5
|
||||
local require_weight_at_most_proof_size=$6
|
||||
echo " calling send_governance_transact:"
|
||||
echo " relay_url: ${relay_url}"
|
||||
echo " relay_chain_seed: ${relay_chain_seed}"
|
||||
echo " para_id: ${para_id}"
|
||||
echo " hex_encoded_data: ${hex_encoded_data}"
|
||||
echo " require_weight_at_most_ref_time: ${require_weight_at_most_ref_time}"
|
||||
echo " require_weight_at_most_proof_size: ${require_weight_at_most_proof_size}"
|
||||
echo " params:"
|
||||
|
||||
local dest=$(jq --null-input \
|
||||
--arg para_id "$para_id" \
|
||||
'{ "V3": { "parents": 0, "interior": { "X1": { "Parachain": $para_id } } } }')
|
||||
|
||||
local message=$(jq --null-input \
|
||||
--argjson hex_encoded_data $hex_encoded_data \
|
||||
--arg require_weight_at_most_ref_time "$require_weight_at_most_ref_time" \
|
||||
--arg require_weight_at_most_proof_size "$require_weight_at_most_proof_size" \
|
||||
'
|
||||
{
|
||||
"V3": [
|
||||
{
|
||||
"UnpaidExecution": {
|
||||
"weight_limit": "Unlimited"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Transact": {
|
||||
"origin_kind": "Superuser",
|
||||
"require_weight_at_most": {
|
||||
"ref_time": $require_weight_at_most_ref_time,
|
||||
"proof_size": $require_weight_at_most_proof_size,
|
||||
},
|
||||
"call": {
|
||||
"encoded": $hex_encoded_data
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
')
|
||||
|
||||
echo ""
|
||||
echo " dest:"
|
||||
echo "${dest}"
|
||||
echo ""
|
||||
echo " message:"
|
||||
echo "${message}"
|
||||
echo ""
|
||||
echo "--------------------------------------------------"
|
||||
|
||||
call_polkadot_js_api \
|
||||
--ws "${relay_url?}" \
|
||||
--seed "${relay_chain_seed?}" \
|
||||
--sudo \
|
||||
tx.xcmPallet.send \
|
||||
"${dest}" \
|
||||
"${message}"
|
||||
}
|
||||
|
||||
function open_hrmp_channels() {
|
||||
local relay_url=$1
|
||||
local relay_chain_seed=$2
|
||||
local sender_para_id=$3
|
||||
local recipient_para_id=$4
|
||||
local max_capacity=$5
|
||||
local max_message_size=$6
|
||||
echo " calling open_hrmp_channels:"
|
||||
echo " relay_url: ${relay_url}"
|
||||
echo " relay_chain_seed: ${relay_chain_seed}"
|
||||
echo " sender_para_id: ${sender_para_id}"
|
||||
echo " recipient_para_id: ${recipient_para_id}"
|
||||
echo " max_capacity: ${max_capacity}"
|
||||
echo " max_message_size: ${max_message_size}"
|
||||
echo " params:"
|
||||
echo "--------------------------------------------------"
|
||||
call_polkadot_js_api \
|
||||
--ws "${relay_url?}" \
|
||||
--seed "${relay_chain_seed?}" \
|
||||
--sudo \
|
||||
tx.hrmp.forceOpenHrmpChannel \
|
||||
${sender_para_id} \
|
||||
${recipient_para_id} \
|
||||
${max_capacity} \
|
||||
${max_message_size}
|
||||
}
|
||||
|
||||
function force_xcm_version() {
|
||||
local relay_url=$1
|
||||
local relay_chain_seed=$2
|
||||
local runtime_para_id=$3
|
||||
local runtime_para_endpoint=$4
|
||||
local dest=$5
|
||||
local xcm_version=$6
|
||||
echo " calling force_xcm_version:"
|
||||
echo " relay_url: ${relay_url}"
|
||||
echo " relay_chain_seed: ${relay_chain_seed}"
|
||||
echo " runtime_para_id: ${runtime_para_id}"
|
||||
echo " runtime_para_endpoint: ${runtime_para_endpoint}"
|
||||
echo " dest: ${dest}"
|
||||
echo " xcm_version: ${xcm_version}"
|
||||
echo " params:"
|
||||
|
||||
# 1. generate data for Transact (PolkadotXcm::force_xcm_version)
|
||||
local tmp_output_file=$(mktemp)
|
||||
generate_hex_encoded_call_data "force-xcm-version" "${runtime_para_endpoint}" "${tmp_output_file}" "$dest" "$xcm_version"
|
||||
local hex_encoded_data=$(cat $tmp_output_file)
|
||||
|
||||
# 2. trigger governance call
|
||||
send_governance_transact "${relay_url}" "${relay_chain_seed}" "${runtime_para_id}" "${hex_encoded_data}" 200000000 12000
|
||||
}
|
||||
|
||||
function force_create_foreign_asset() {
|
||||
local relay_url=$1
|
||||
local relay_chain_seed=$2
|
||||
local runtime_para_id=$3
|
||||
local runtime_para_endpoint=$4
|
||||
local asset_multilocation=$5
|
||||
local asset_owner_account_id=$6
|
||||
local min_balance=$7
|
||||
local is_sufficient=$8
|
||||
echo " calling force_create_foreign_asset:"
|
||||
echo " relay_url: ${relay_url}"
|
||||
echo " relay_chain_seed: ${relay_chain_seed}"
|
||||
echo " runtime_para_id: ${runtime_para_id}"
|
||||
echo " runtime_para_endpoint: ${runtime_para_endpoint}"
|
||||
echo " asset_multilocation: ${asset_multilocation}"
|
||||
echo " asset_owner_account_id: ${asset_owner_account_id}"
|
||||
echo " min_balance: ${min_balance}"
|
||||
echo " is_sufficient: ${is_sufficient}"
|
||||
echo " params:"
|
||||
|
||||
# 1. generate data for Transact (ForeignAssets::force_create)
|
||||
local tmp_output_file=$(mktemp)
|
||||
generate_hex_encoded_call_data "force-create-asset" "${runtime_para_endpoint}" "${tmp_output_file}" "$asset_multilocation" "$asset_owner_account_id" $is_sufficient $min_balance
|
||||
local hex_encoded_data=$(cat $tmp_output_file)
|
||||
|
||||
# 2. trigger governance call
|
||||
send_governance_transact "${relay_url}" "${relay_chain_seed}" "${runtime_para_id}" "${hex_encoded_data}" 200000000 12000
|
||||
}
|
||||
|
||||
function limited_reserve_transfer_assets() {
|
||||
local url=$1
|
||||
local seed=$2
|
||||
local destination=$3
|
||||
local beneficiary=$4
|
||||
local assets=$5
|
||||
local fee_asset_item=$6
|
||||
local weight_limit=$7
|
||||
echo " calling limited_reserve_transfer_assets:"
|
||||
echo " url: ${url}"
|
||||
echo " seed: ${seed}"
|
||||
echo " destination: ${destination}"
|
||||
echo " beneficiary: ${beneficiary}"
|
||||
echo " assets: ${assets}"
|
||||
echo " fee_asset_item: ${fee_asset_item}"
|
||||
echo " weight_limit: ${weight_limit}"
|
||||
echo ""
|
||||
echo "--------------------------------------------------"
|
||||
|
||||
call_polkadot_js_api \
|
||||
--ws "${url?}" \
|
||||
--seed "${seed?}" \
|
||||
tx.polkadotXcm.limitedReserveTransferAssets \
|
||||
"${destination}" \
|
||||
"${beneficiary}" \
|
||||
"${assets}" \
|
||||
"${fee_asset_item}" \
|
||||
"${weight_limit}"
|
||||
}
|
||||
|
||||
function claim_rewards() {
|
||||
local runtime_para_endpoint=$1
|
||||
local seed=$2
|
||||
local lane_id=$3
|
||||
local bridged_chain_id=$4
|
||||
local owner=$5
|
||||
echo " calling claim_rewards:"
|
||||
echo " runtime_para_endpoint: ${runtime_para_endpoint}"
|
||||
echo " seed: ${seed}"
|
||||
echo " lane_id: ${lane_id}"
|
||||
echo " bridged_chain_id: ${bridged_chain_id}"
|
||||
echo " owner: ${owner}"
|
||||
echo ""
|
||||
|
||||
local rewards_account_params=$(jq --null-input \
|
||||
--arg lane_id "$lane_id" \
|
||||
--arg bridged_chain_id "$bridged_chain_id" \
|
||||
--arg owner "$owner" \
|
||||
'{
|
||||
"laneId": $lane_id,
|
||||
"bridgedChainId": $bridged_chain_id,
|
||||
"owner": $owner
|
||||
}')
|
||||
|
||||
echo " rewards_account_params:"
|
||||
echo "${rewards_account_params}"
|
||||
echo "--------------------------------------------------"
|
||||
|
||||
call_polkadot_js_api \
|
||||
--ws "${runtime_para_endpoint}" \
|
||||
--seed "${seed?}" \
|
||||
tx.bridgeRelayers.claimRewards \
|
||||
"${rewards_account_params}"
|
||||
}
|
||||
@@ -1,423 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# import common functions
|
||||
source "$(dirname "$0")"/bridges_common.sh
|
||||
|
||||
# Expected sovereign accounts.
|
||||
#
|
||||
# Generated by:
|
||||
#
|
||||
# #[test]
|
||||
# fn generate_sovereign_accounts() {
|
||||
# use sp_core::crypto::Ss58Codec;
|
||||
# use polkadot_parachain_primitives::primitives::Sibling;
|
||||
#
|
||||
# parameter_types! {
|
||||
# pub UniversalLocationAHR: InteriorMultiLocation = X2(GlobalConsensus(Rococo), Parachain(1000));
|
||||
# pub UniversalLocationAHW: InteriorMultiLocation = X2(GlobalConsensus(Westend), Parachain(1000));
|
||||
# }
|
||||
#
|
||||
# // SS58=42
|
||||
# println!("GLOBAL_CONSENSUS_ROCOCO_SOVEREIGN_ACCOUNT=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# GlobalConsensusConvertsFor::<UniversalLocationAHW, [u8; 32]>::convert_location(
|
||||
# &MultiLocation { parents: 2, interior: X1(GlobalConsensus(Rococo)) }).unwrap()
|
||||
# ).to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
# println!("GLOBAL_CONSENSUS_ROCOCO_ASSET_HUB_ROCOCO_1000_SOVEREIGN_ACCOUNT=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# GlobalConsensusParachainConvertsFor::<UniversalLocationAHW, [u8; 32]>::convert_location(
|
||||
# &MultiLocation { parents: 2, interior: X2(GlobalConsensus(Rococo), Parachain(1000)) }).unwrap()
|
||||
# ).to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
# println!("ASSET_HUB_WESTEND_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_WESTEND=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# SiblingParachainConvertsVia::<Sibling, [u8; 32]>::convert_location(
|
||||
# &MultiLocation { parents: 1, interior: X1(Parachain(1000)) }).unwrap()
|
||||
# ).to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
#
|
||||
# // SS58=42
|
||||
# println!("GLOBAL_CONSENSUS_WESTEND_SOVEREIGN_ACCOUNT=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# GlobalConsensusConvertsFor::<UniversalLocationAHR, [u8; 32]>::convert_location(
|
||||
# &MultiLocation { parents: 2, interior: X1(GlobalConsensus(Westend)) }).unwrap()
|
||||
# ).to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
# println!("GLOBAL_CONSENSUS_WESTEND_ASSET_HUB_WESTEND_1000_SOVEREIGN_ACCOUNT=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# GlobalConsensusParachainConvertsFor::<UniversalLocationAHR, [u8; 32]>::convert_location(
|
||||
# &MultiLocation { parents: 2, interior: X2(GlobalConsensus(Westend), Parachain(1000)) }).unwrap()
|
||||
# ).to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
# println!("ASSET_HUB_ROCOCO_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_ROCOCO=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# SiblingParachainConvertsVia::<Sibling, [u8; 32]>::convert_location(
|
||||
# &MultiLocation { parents: 1, interior: X1(Parachain(1000)) }).unwrap()
|
||||
# ).to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
# }
|
||||
GLOBAL_CONSENSUS_ROCOCO_SOVEREIGN_ACCOUNT="5GxRGwT8bU1JeBPTUXc7LEjZMxNrK8MyL2NJnkWFQJTQ4sii"
|
||||
GLOBAL_CONSENSUS_ROCOCO_ASSET_HUB_ROCOCO_1000_SOVEREIGN_ACCOUNT="5CfNu7eH3SJvqqPt3aJh38T8dcFvhGzEohp9tsd41ANhXDnQ"
|
||||
ASSET_HUB_WESTEND_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_WESTEND="5Eg2fntNprdN3FgH4sfEaaZhYtddZQSQUqvYJ1f2mLtinVhV"
|
||||
GLOBAL_CONSENSUS_WESTEND_SOVEREIGN_ACCOUNT="5He2Qdztyxxa4GoagY6q1jaiLMmKy1gXS7PdZkhfj8ZG9hk5"
|
||||
GLOBAL_CONSENSUS_WESTEND_ASSET_HUB_WESTEND_1000_SOVEREIGN_ACCOUNT="5GUD9X494SnhfBTNReHwhV1599McpyVrAqFY6WnTfVQVYNUM"
|
||||
ASSET_HUB_ROCOCO_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_ROCOCO="5Eg2fntNprdN3FgH4sfEaaZhYtddZQSQUqvYJ1f2mLtinVhV"
|
||||
|
||||
# Expected sovereign accounts for rewards on BridgeHubs.
|
||||
#
|
||||
# Generated by:
|
||||
# #[test]
|
||||
# fn generate_sovereign_accounts_for_rewards() {
|
||||
# use bp_messages::LaneId;
|
||||
# use bp_relayers::{PayRewardFromAccount, RewardsAccountOwner, RewardsAccountParams};
|
||||
# use sp_core::crypto::Ss58Codec;
|
||||
#
|
||||
# // SS58=42
|
||||
# println!(
|
||||
# "ON_BRIDGE_HUB_ROCOCO_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhwd_ThisChain=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# PayRewardFromAccount::<[u8; 32], [u8; 32]>::rewards_account(RewardsAccountParams::new(
|
||||
# LaneId([0, 0, 0, 2]),
|
||||
# *b"bhwd",
|
||||
# RewardsAccountOwner::ThisChain
|
||||
# ))
|
||||
# )
|
||||
# .to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
# // SS58=42
|
||||
# println!(
|
||||
# "ON_BRIDGE_HUB_ROCOCO_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhwd_BridgedChain=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# PayRewardFromAccount::<[u8; 32], [u8; 32]>::rewards_account(RewardsAccountParams::new(
|
||||
# LaneId([0, 0, 0, 2]),
|
||||
# *b"bhwd",
|
||||
# RewardsAccountOwner::BridgedChain
|
||||
# ))
|
||||
# )
|
||||
# .to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
#
|
||||
# // SS58=42
|
||||
# println!(
|
||||
# "ON_BRIDGE_HUB_WESTEND_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhro_ThisChain=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# PayRewardFromAccount::<[u8; 32], [u8; 32]>::rewards_account(RewardsAccountParams::new(
|
||||
# LaneId([0, 0, 0, 2]),
|
||||
# *b"bhro",
|
||||
# RewardsAccountOwner::ThisChain
|
||||
# ))
|
||||
# )
|
||||
# .to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
# // SS58=42
|
||||
# println!(
|
||||
# "ON_BRIDGE_HUB_WESTEND_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhro_BridgedChain=\"{}\"",
|
||||
# frame_support::sp_runtime::AccountId32::new(
|
||||
# PayRewardFromAccount::<[u8; 32], [u8; 32]>::rewards_account(RewardsAccountParams::new(
|
||||
# LaneId([0, 0, 0, 2]),
|
||||
# *b"bhro",
|
||||
# RewardsAccountOwner::BridgedChain
|
||||
# ))
|
||||
# )
|
||||
# .to_ss58check_with_version(42_u16.into())
|
||||
# );
|
||||
# }
|
||||
ON_BRIDGE_HUB_ROCOCO_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhwd_ThisChain="5EHnXaT5BhiSGP5hbdsoVGtzi2sQVgpDNToTxLYeQvKoMPEm"
|
||||
ON_BRIDGE_HUB_ROCOCO_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhwd_BridgedChain="5EHnXaT5BhiSGP5hbdt5EJSapXYbxEv678jyWHEUskCXcjqo"
|
||||
ON_BRIDGE_HUB_WESTEND_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhro_ThisChain="5EHnXaT5BhiSGP5h9Rg8sgUJqoLym3iEaWUiboT8S9AT5xFh"
|
||||
ON_BRIDGE_HUB_WESTEND_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhro_BridgedChain="5EHnXaT5BhiSGP5h9RgQci1txJ2BDbp7KBRE9k8xty3BMUSi"
|
||||
|
||||
LANE_ID="00000002"
|
||||
XCM_VERSION=3
|
||||
|
||||
function init_ro_wnd() {
|
||||
local relayer_path=$(ensure_relayer)
|
||||
|
||||
RUST_LOG=runtime=trace,rpc=trace,bridge=trace \
|
||||
$relayer_path init-bridge rococo-to-bridge-hub-westend \
|
||||
--source-host localhost \
|
||||
--source-port 9942 \
|
||||
--source-version-mode Auto \
|
||||
--target-host localhost \
|
||||
--target-port 8945 \
|
||||
--target-version-mode Auto \
|
||||
--target-signer //Bob
|
||||
}
|
||||
|
||||
function init_wnd_ro() {
|
||||
local relayer_path=$(ensure_relayer)
|
||||
|
||||
RUST_LOG=runtime=trace,rpc=trace,bridge=trace \
|
||||
$relayer_path init-bridge westend-to-bridge-hub-rococo \
|
||||
--source-host localhost \
|
||||
--source-port 9945 \
|
||||
--source-version-mode Auto \
|
||||
--target-host localhost \
|
||||
--target-port 8943 \
|
||||
--target-version-mode Auto \
|
||||
--target-signer //Bob
|
||||
}
|
||||
|
||||
function run_relay() {
|
||||
local relayer_path=$(ensure_relayer)
|
||||
|
||||
RUST_LOG=runtime=trace,rpc=trace,bridge=trace \
|
||||
$relayer_path relay-headers-and-messages bridge-hub-rococo-bridge-hub-westend \
|
||||
--rococo-host localhost \
|
||||
--rococo-port 9942 \
|
||||
--rococo-version-mode Auto \
|
||||
--bridge-hub-rococo-host localhost \
|
||||
--bridge-hub-rococo-port 8943 \
|
||||
--bridge-hub-rococo-version-mode Auto \
|
||||
--bridge-hub-rococo-signer //Charlie \
|
||||
--bridge-hub-rococo-transactions-mortality 4 \
|
||||
--westend-host localhost \
|
||||
--westend-port 9945 \
|
||||
--westend-version-mode Auto \
|
||||
--bridge-hub-westend-host localhost \
|
||||
--bridge-hub-westend-port 8945 \
|
||||
--bridge-hub-westend-version-mode Auto \
|
||||
--bridge-hub-westend-signer //Charlie \
|
||||
--bridge-hub-westend-transactions-mortality 4 \
|
||||
--lane "${LANE_ID}"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
run-relay)
|
||||
init_wnd_ro
|
||||
init_ro_wnd
|
||||
run_relay
|
||||
;;
|
||||
init-asset-hub-rococo-local)
|
||||
ensure_polkadot_js_api
|
||||
# create foreign assets for native Westend token (governance call on Rococo)
|
||||
force_create_foreign_asset \
|
||||
"ws://127.0.0.1:9942" \
|
||||
"//Alice" \
|
||||
1000 \
|
||||
"ws://127.0.0.1:9910" \
|
||||
"$(jq --null-input '{ "parents": 2, "interior": { "X1": { "GlobalConsensus": "Westend" } } }')" \
|
||||
"$GLOBAL_CONSENSUS_WESTEND_SOVEREIGN_ACCOUNT" \
|
||||
10000000000 \
|
||||
true
|
||||
# drip SA which holds reserves
|
||||
transfer_balance \
|
||||
"ws://127.0.0.1:9910" \
|
||||
"//Alice" \
|
||||
"$GLOBAL_CONSENSUS_WESTEND_ASSET_HUB_WESTEND_1000_SOVEREIGN_ACCOUNT" \
|
||||
$((1000000000000 + 50000000000 * 20))
|
||||
# HRMP
|
||||
open_hrmp_channels \
|
||||
"ws://127.0.0.1:9942" \
|
||||
"//Alice" \
|
||||
1000 1013 4 524288
|
||||
open_hrmp_channels \
|
||||
"ws://127.0.0.1:9942" \
|
||||
"//Alice" \
|
||||
1013 1000 4 524288
|
||||
# set XCM version of remote AssetHubWestend
|
||||
force_xcm_version \
|
||||
"ws://127.0.0.1:9942" \
|
||||
"//Alice" \
|
||||
1000 \
|
||||
"ws://127.0.0.1:9910" \
|
||||
"$(jq --null-input '{ "parents": 2, "interior": { "X2": [ { "GlobalConsensus": "Westend" }, { "Parachain": 1000 } ] } }')" \
|
||||
$XCM_VERSION
|
||||
;;
|
||||
init-bridge-hub-rococo-local)
|
||||
ensure_polkadot_js_api
|
||||
# SA of sibling asset hub pays for the execution
|
||||
transfer_balance \
|
||||
"ws://127.0.0.1:8943" \
|
||||
"//Alice" \
|
||||
"$ASSET_HUB_ROCOCO_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_ROCOCO" \
|
||||
$((1000000000000 + 50000000000 * 20))
|
||||
# drip SA of lane dedicated to asset hub for paying rewards for delivery
|
||||
transfer_balance \
|
||||
"ws://127.0.0.1:8943" \
|
||||
"//Alice" \
|
||||
"$ON_BRIDGE_HUB_ROCOCO_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhwd_ThisChain" \
|
||||
$((1000000000000 + 2000000000000))
|
||||
# drip SA of lane dedicated to asset hub for paying rewards for delivery confirmation
|
||||
transfer_balance \
|
||||
"ws://127.0.0.1:8943" \
|
||||
"//Alice" \
|
||||
"$ON_BRIDGE_HUB_ROCOCO_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhwd_BridgedChain" \
|
||||
$((1000000000000 + 2000000000000))
|
||||
# set XCM version of remote BridgeHubWestend
|
||||
force_xcm_version \
|
||||
"ws://127.0.0.1:9942" \
|
||||
"//Alice" \
|
||||
1013 \
|
||||
"ws://127.0.0.1:8943" \
|
||||
"$(jq --null-input '{ "parents": 2, "interior": { "X2": [ { "GlobalConsensus": "Westend" }, { "Parachain": 1002 } ] } }')" \
|
||||
$XCM_VERSION
|
||||
;;
|
||||
init-asset-hub-westend-local)
|
||||
ensure_polkadot_js_api
|
||||
# create foreign assets for native Rococo token (governance call on Westend)
|
||||
force_create_foreign_asset \
|
||||
"ws://127.0.0.1:9945" \
|
||||
"//Alice" \
|
||||
1000 \
|
||||
"ws://127.0.0.1:9010" \
|
||||
"$(jq --null-input '{ "parents": 2, "interior": { "X1": { "GlobalConsensus": "Rococo" } } }')" \
|
||||
"$GLOBAL_CONSENSUS_ROCOCO_SOVEREIGN_ACCOUNT" \
|
||||
10000000000 \
|
||||
true
|
||||
# drip SA which holds reserves
|
||||
transfer_balance \
|
||||
"ws://127.0.0.1:9010" \
|
||||
"//Alice" \
|
||||
"$GLOBAL_CONSENSUS_ROCOCO_ASSET_HUB_ROCOCO_1000_SOVEREIGN_ACCOUNT" \
|
||||
$((1000000000000000 + 50000000000 * 20))
|
||||
# HRMP
|
||||
open_hrmp_channels \
|
||||
"ws://127.0.0.1:9945" \
|
||||
"//Alice" \
|
||||
1000 1002 4 524288
|
||||
open_hrmp_channels \
|
||||
"ws://127.0.0.1:9945" \
|
||||
"//Alice" \
|
||||
1002 1000 4 524288
|
||||
# set XCM version of remote AssetHubRococo
|
||||
force_xcm_version \
|
||||
"ws://127.0.0.1:9945" \
|
||||
"//Alice" \
|
||||
1000 \
|
||||
"ws://127.0.0.1:9010" \
|
||||
"$(jq --null-input '{ "parents": 2, "interior": { "X2": [ { "GlobalConsensus": "Rococo" }, { "Parachain": 1000 } ] } }')" \
|
||||
$XCM_VERSION
|
||||
;;
|
||||
init-bridge-hub-westend-local)
|
||||
# SA of sibling asset hub pays for the execution
|
||||
transfer_balance \
|
||||
"ws://127.0.0.1:8945" \
|
||||
"//Alice" \
|
||||
"$ASSET_HUB_WESTEND_SOVEREIGN_ACCOUNT_AT_BRIDGE_HUB_WESTEND" \
|
||||
$((1000000000000000 + 50000000000 * 20))
|
||||
# drip SA of lane dedicated to asset hub for paying rewards for delivery
|
||||
transfer_balance \
|
||||
"ws://127.0.0.1:8945" \
|
||||
"//Alice" \
|
||||
"$ON_BRIDGE_HUB_WESTEND_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhro_ThisChain" \
|
||||
$((1000000000000000 + 2000000000000))
|
||||
# drip SA of lane dedicated to asset hub for paying rewards for delivery confirmation
|
||||
transfer_balance \
|
||||
"ws://127.0.0.1:8945" \
|
||||
"//Alice" \
|
||||
"$ON_BRIDGE_HUB_WESTEND_SOVEREIGN_ACCOUNT_FOR_LANE_00000002_bhro_BridgedChain" \
|
||||
$((1000000000000000 + 2000000000000))
|
||||
# set XCM version of remote BridgeHubRococo
|
||||
force_xcm_version \
|
||||
"ws://127.0.0.1:9945" \
|
||||
"//Alice" \
|
||||
1002 \
|
||||
"ws://127.0.0.1:8945" \
|
||||
"$(jq --null-input '{ "parents": 2, "interior": { "X2": [ { "GlobalConsensus": "Rococo" }, { "Parachain": 1013 } ] } }')" \
|
||||
$XCM_VERSION
|
||||
;;
|
||||
reserve-transfer-assets-from-asset-hub-rococo-local)
|
||||
ensure_polkadot_js_api
|
||||
# send ROCs to Alice account on AHW
|
||||
limited_reserve_transfer_assets \
|
||||
"ws://127.0.0.1:9910" \
|
||||
"//Alice" \
|
||||
"$(jq --null-input '{ "V3": { "parents": 2, "interior": { "X2": [ { "GlobalConsensus": "Westend" }, { "Parachain": 1000 } ] } } }')" \
|
||||
"$(jq --null-input '{ "V3": { "parents": 0, "interior": { "X1": { "AccountId32": { "id": [212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125] } } } } }')" \
|
||||
"$(jq --null-input '{ "V3": [ { "id": { "Concrete": { "parents": 1, "interior": "Here" } }, "fun": { "Fungible": 5000000000000 } } ] }')" \
|
||||
0 \
|
||||
"Unlimited"
|
||||
;;
|
||||
withdraw-reserve-assets-from-asset-hub-rococo-local)
|
||||
ensure_polkadot_js_api
|
||||
# send back only 100000000000 wrappedWNDs to Alice account on AHW
|
||||
limited_reserve_transfer_assets \
|
||||
"ws://127.0.0.1:9910" \
|
||||
"//Alice" \
|
||||
"$(jq --null-input '{ "V3": { "parents": 2, "interior": { "X2": [ { "GlobalConsensus": "Westend" }, { "Parachain": 1000 } ] } } }')" \
|
||||
"$(jq --null-input '{ "V3": { "parents": 0, "interior": { "X1": { "AccountId32": { "id": [212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125] } } } } }')" \
|
||||
"$(jq --null-input '{ "V3": [ { "id": { "Concrete": { "parents": 2, "interior": { "X1": { "GlobalConsensus": "Westend" } } } }, "fun": { "Fungible": 3000000000000 } } ] }')" \
|
||||
0 \
|
||||
"Unlimited"
|
||||
;;
|
||||
reserve-transfer-assets-from-asset-hub-westend-local)
|
||||
ensure_polkadot_js_api
|
||||
# send WNDs to Alice account on AHR
|
||||
limited_reserve_transfer_assets \
|
||||
"ws://127.0.0.1:9010" \
|
||||
"//Alice" \
|
||||
"$(jq --null-input '{ "V3": { "parents": 2, "interior": { "X2": [ { "GlobalConsensus": "Rococo" }, { "Parachain": 1000 } ] } } }')" \
|
||||
"$(jq --null-input '{ "V3": { "parents": 0, "interior": { "X1": { "AccountId32": { "id": [212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125] } } } } }')" \
|
||||
"$(jq --null-input '{ "V3": [ { "id": { "Concrete": { "parents": 1, "interior": "Here" } }, "fun": { "Fungible": 5000000000000 } } ] }')" \
|
||||
0 \
|
||||
"Unlimited"
|
||||
;;
|
||||
withdraw-reserve-assets-from-asset-hub-westend-local)
|
||||
ensure_polkadot_js_api
|
||||
# send back only 100000000000 wrappedROCs to Alice account on AHR
|
||||
limited_reserve_transfer_assets \
|
||||
"ws://127.0.0.1:9010" \
|
||||
"//Alice" \
|
||||
"$(jq --null-input '{ "V3": { "parents": 2, "interior": { "X2": [ { "GlobalConsensus": "Rococo" }, { "Parachain": 1000 } ] } } }')" \
|
||||
"$(jq --null-input '{ "V3": { "parents": 0, "interior": { "X1": { "AccountId32": { "id": [212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125] } } } } }')" \
|
||||
"$(jq --null-input '{ "V3": [ { "id": { "Concrete": { "parents": 2, "interior": { "X1": { "GlobalConsensus": "Rococo" } } } }, "fun": { "Fungible": 3000000000000 } } ] }')" \
|
||||
0 \
|
||||
"Unlimited"
|
||||
;;
|
||||
claim-rewards-bridge-hub-rococo-local)
|
||||
ensure_polkadot_js_api
|
||||
# bhwd -> [62, 68, 77, 64] -> 0x62687764
|
||||
claim_rewards \
|
||||
"ws://127.0.0.1:8943" \
|
||||
"//Charlie" \
|
||||
"0x${LANE_ID}" \
|
||||
"0x62687764" \
|
||||
"ThisChain"
|
||||
claim_rewards \
|
||||
"ws://127.0.0.1:8943" \
|
||||
"//Charlie" \
|
||||
"0x${LANE_ID}" \
|
||||
"0x62687764" \
|
||||
"BridgedChain"
|
||||
;;
|
||||
claim-rewards-bridge-hub-westend-local)
|
||||
# bhro -> [62, 68, 72, 6f] -> 0x6268726f
|
||||
claim_rewards \
|
||||
"ws://127.0.0.1:8945" \
|
||||
"//Charlie" \
|
||||
"0x${LANE_ID}" \
|
||||
"0x6268726f" \
|
||||
"ThisChain"
|
||||
claim_rewards \
|
||||
"ws://127.0.0.1:8945" \
|
||||
"//Charlie" \
|
||||
"0x${LANE_ID}" \
|
||||
"0x6268726f" \
|
||||
"BridgedChain"
|
||||
;;
|
||||
stop)
|
||||
pkill -f polkadot
|
||||
pkill -f parachain
|
||||
;;
|
||||
import)
|
||||
# to avoid trigger anything here
|
||||
;;
|
||||
*)
|
||||
echo "A command is require. Supported commands for:
|
||||
Local (zombienet) run:
|
||||
- run-relay
|
||||
- init-asset-hub-rococo-local
|
||||
- init-bridge-hub-rococo-local
|
||||
- init-asset-hub-westend-local
|
||||
- init-bridge-hub-westend-local
|
||||
- reserve-transfer-assets-from-asset-hub-rococo-local
|
||||
- withdraw-reserve-assets-from-asset-hub-rococo-local
|
||||
- reserve-transfer-assets-from-asset-hub-westend-local
|
||||
- withdraw-reserve-assets-from-asset-hub-westend-local
|
||||
- claim-rewards-bridge-hub-rococo-local
|
||||
- claim-rewards-bridge-hub-westend-local";
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1,165 +0,0 @@
|
||||
const fs = require("fs");
|
||||
const { exit } = require("process");
|
||||
const { WsProvider, ApiPromise } = require("@polkadot/api");
|
||||
const util = require("@polkadot/util");
|
||||
|
||||
// connect to a substrate chain and return the api object
|
||||
async function connect(endpoint, types = {}) {
|
||||
const provider = new WsProvider(endpoint);
|
||||
const api = await ApiPromise.create({
|
||||
provider,
|
||||
types,
|
||||
throwOnConnect: false,
|
||||
});
|
||||
return api;
|
||||
}
|
||||
|
||||
function writeHexEncodedBytesToOutput(method, outputFile) {
|
||||
console.log("Payload (hex): ", method.toHex());
|
||||
console.log("Payload (bytes): ", Array.from(method.toU8a()));
|
||||
console.log("Payload (plain): ", JSON.stringify(method));
|
||||
fs.writeFileSync(outputFile, JSON.stringify(Array.from(method.toU8a())));
|
||||
}
|
||||
|
||||
function remarkWithEvent(endpoint, outputFile) {
|
||||
console.log(`Generating remarkWithEvent from RPC endpoint: ${endpoint} to outputFile: ${outputFile}`);
|
||||
connect(endpoint)
|
||||
.then((api) => {
|
||||
const call = api.tx.system.remarkWithEvent("Hello");
|
||||
writeHexEncodedBytesToOutput(call.method, outputFile);
|
||||
exit(0);
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
function addExporterConfig(endpoint, outputFile, bridgedNetwork, bridgeConfig) {
|
||||
console.log(`Generating addExporterConfig from RPC endpoint: ${endpoint} to outputFile: ${outputFile} based on bridgedNetwork: ${bridgedNetwork}, bridgeConfig: ${bridgeConfig}`);
|
||||
connect(endpoint)
|
||||
.then((api) => {
|
||||
const call = api.tx.bridgeTransfer.addExporterConfig(bridgedNetwork, JSON.parse(bridgeConfig));
|
||||
writeHexEncodedBytesToOutput(call.method, outputFile);
|
||||
exit(0);
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
function addUniversalAlias(endpoint, outputFile, location, junction) {
|
||||
console.log(`Generating addUniversalAlias from RPC endpoint: ${endpoint} to outputFile: ${outputFile} based on location: ${location}, junction: ${junction}`);
|
||||
connect(endpoint)
|
||||
.then((api) => {
|
||||
const call = api.tx.bridgeTransfer.addUniversalAlias(JSON.parse(location), JSON.parse(junction));
|
||||
writeHexEncodedBytesToOutput(call.method, outputFile);
|
||||
exit(0);
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
function addReserveLocation(endpoint, outputFile, reserve_location) {
|
||||
console.log(`Generating addReserveLocation from RPC endpoint: ${endpoint} to outputFile: ${outputFile} based on reserve_location: ${reserve_location}`);
|
||||
connect(endpoint)
|
||||
.then((api) => {
|
||||
const call = api.tx.bridgeTransfer.addReserveLocation(JSON.parse(reserve_location));
|
||||
writeHexEncodedBytesToOutput(call.method, outputFile);
|
||||
exit(0);
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
function removeExporterConfig(endpoint, outputFile, bridgedNetwork) {
|
||||
console.log(`Generating removeExporterConfig from RPC endpoint: ${endpoint} to outputFile: ${outputFile} based on bridgedNetwork: ${bridgedNetwork}`);
|
||||
connect(endpoint)
|
||||
.then((api) => {
|
||||
const call = api.tx.bridgeTransfer.removeExporterConfig(bridgedNetwork);
|
||||
writeHexEncodedBytesToOutput(call.method, outputFile);
|
||||
exit(0);
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
function forceCreateAsset(endpoint, outputFile, assetId, assetOwnerAccountId, isSufficient, minBalance) {
|
||||
var isSufficient = isSufficient == "true" ? true : false;
|
||||
console.log(`Generating forceCreateAsset from RPC endpoint: ${endpoint} to outputFile: ${outputFile} based on assetId: ${assetId}, assetOwnerAccountId: ${assetOwnerAccountId}, isSufficient: ${isSufficient}, minBalance: ${minBalance}`);
|
||||
connect(endpoint)
|
||||
.then((api) => {
|
||||
const call = api.tx.foreignAssets.forceCreate(JSON.parse(assetId), assetOwnerAccountId, isSufficient, minBalance);
|
||||
writeHexEncodedBytesToOutput(call.method, outputFile);
|
||||
exit(0);
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
function forceXcmVersion(endpoint, outputFile, dest, xcm_version) {
|
||||
console.log(`Generating forceXcmVersion from RPC endpoint: ${endpoint} to outputFile: ${outputFile}, dest: ${dest}, xcm_version: ${xcm_version}`);
|
||||
connect(endpoint)
|
||||
.then((api) => {
|
||||
const call = api.tx.polkadotXcm.forceXcmVersion(JSON.parse(dest), xcm_version);
|
||||
writeHexEncodedBytesToOutput(call.method, outputFile);
|
||||
exit(0);
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
if (!process.argv[2] || !process.argv[3]) {
|
||||
console.log("usage: node ./script/generate_hex_encoded_call <type> <endpoint> <output hex-encoded data file> <input message>");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
const type = process.argv[2];
|
||||
const rpcEnpoint = process.argv[3];
|
||||
const output = process.argv[4];
|
||||
const inputArgs = process.argv.slice(5, process.argv.length);
|
||||
console.log(`Generating hex-encoded call data for:`);
|
||||
console.log(` type: ${type}`);
|
||||
console.log(` rpcEnpoint: ${rpcEnpoint}`);
|
||||
console.log(` output: ${output}`);
|
||||
console.log(` inputArgs: ${inputArgs}`);
|
||||
|
||||
switch (type) {
|
||||
case 'remark-with-event':
|
||||
remarkWithEvent(rpcEnpoint, output);
|
||||
break;
|
||||
case 'add-exporter-config':
|
||||
addExporterConfig(rpcEnpoint, output, inputArgs[0], inputArgs[1]);
|
||||
break;
|
||||
case 'remove-exporter-config':
|
||||
removeExporterConfig(rpcEnpoint, output, inputArgs[0], inputArgs[1]);
|
||||
break;
|
||||
case 'add-universal-alias':
|
||||
addUniversalAlias(rpcEnpoint, output, inputArgs[0], inputArgs[1]);
|
||||
break;
|
||||
case 'add-reserve-location':
|
||||
addReserveLocation(rpcEnpoint, output, inputArgs[0]);
|
||||
break;
|
||||
case 'force-create-asset':
|
||||
forceCreateAsset(rpcEnpoint, output, inputArgs[0], inputArgs[1], inputArgs[2], inputArgs[3]);
|
||||
break;
|
||||
case 'force-xcm-version':
|
||||
forceXcmVersion(rpcEnpoint, output, inputArgs[0], inputArgs[1]);
|
||||
break;
|
||||
case 'check':
|
||||
console.log(`Checking nodejs installation, if you see this everything is ready!`);
|
||||
break;
|
||||
default:
|
||||
console.log(`Sorry, we are out of ${type} - not yet supported!`);
|
||||
}
|
||||
@@ -1,759 +0,0 @@
|
||||
{
|
||||
"name": "y",
|
||||
"version": "y",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "y",
|
||||
"version": "y",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@polkadot/api": "^10.11",
|
||||
"@polkadot/util": "^12.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@noble/curves": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz",
|
||||
"integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==",
|
||||
"dependencies": {
|
||||
"@noble/hashes": "1.3.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@noble/hashes": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz",
|
||||
"integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==",
|
||||
"engines": {
|
||||
"node": ">= 16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/api": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/api/-/api-10.11.2.tgz",
|
||||
"integrity": "sha512-AorCZxCWCoTtdbl4DPUZh+ACe/pbLIS1BkdQY0AFJuZllm0x/yWzjgampcPd5jQAA/O3iKShRBkZqj6Mk9yG/A==",
|
||||
"dependencies": {
|
||||
"@polkadot/api-augment": "10.11.2",
|
||||
"@polkadot/api-base": "10.11.2",
|
||||
"@polkadot/api-derive": "10.11.2",
|
||||
"@polkadot/keyring": "^12.6.2",
|
||||
"@polkadot/rpc-augment": "10.11.2",
|
||||
"@polkadot/rpc-core": "10.11.2",
|
||||
"@polkadot/rpc-provider": "10.11.2",
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/types-augment": "10.11.2",
|
||||
"@polkadot/types-codec": "10.11.2",
|
||||
"@polkadot/types-create": "10.11.2",
|
||||
"@polkadot/types-known": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"@polkadot/util-crypto": "^12.6.2",
|
||||
"eventemitter3": "^5.0.1",
|
||||
"rxjs": "^7.8.1",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/api-augment": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-10.11.2.tgz",
|
||||
"integrity": "sha512-PTpnqpezc75qBqUtgrc0GYB8h9UHjfbHSRZamAbecIVAJ2/zc6CqtnldeaBlIu1IKTgBzi3FFtTyYu+ZGbNT2Q==",
|
||||
"dependencies": {
|
||||
"@polkadot/api-base": "10.11.2",
|
||||
"@polkadot/rpc-augment": "10.11.2",
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/types-augment": "10.11.2",
|
||||
"@polkadot/types-codec": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/api-base": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-10.11.2.tgz",
|
||||
"integrity": "sha512-4LIjaUfO9nOzilxo7XqzYKCNMtmUypdk8oHPdrRnSjKEsnK7vDsNi+979z2KXNXd2KFSCFHENmI523fYnMnReg==",
|
||||
"dependencies": {
|
||||
"@polkadot/rpc-core": "10.11.2",
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"rxjs": "^7.8.1",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/api-derive": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-10.11.2.tgz",
|
||||
"integrity": "sha512-m3BQbPionkd1iSlknddxnL2hDtolPIsT+aRyrtn4zgMRPoLjHFmTmovvg8RaUyYofJtZeYrnjMw0mdxiSXx7eA==",
|
||||
"dependencies": {
|
||||
"@polkadot/api": "10.11.2",
|
||||
"@polkadot/api-augment": "10.11.2",
|
||||
"@polkadot/api-base": "10.11.2",
|
||||
"@polkadot/rpc-core": "10.11.2",
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/types-codec": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"@polkadot/util-crypto": "^12.6.2",
|
||||
"rxjs": "^7.8.1",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/keyring": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz",
|
||||
"integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==",
|
||||
"dependencies": {
|
||||
"@polkadot/util": "12.6.2",
|
||||
"@polkadot/util-crypto": "12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "12.6.2",
|
||||
"@polkadot/util-crypto": "12.6.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/networks": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz",
|
||||
"integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==",
|
||||
"dependencies": {
|
||||
"@polkadot/util": "12.6.2",
|
||||
"@substrate/ss58-registry": "^1.44.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/rpc-augment": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-10.11.2.tgz",
|
||||
"integrity": "sha512-9AhT0WW81/8jYbRcAC6PRmuxXqNhJje8OYiulBQHbG1DTCcjAfz+6VQBke9BwTStzPq7d526+yyBKD17O3zlAA==",
|
||||
"dependencies": {
|
||||
"@polkadot/rpc-core": "10.11.2",
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/types-codec": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/rpc-core": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-10.11.2.tgz",
|
||||
"integrity": "sha512-Ot0CFLWx8sZhLZog20WDuniPA01Bk2StNDsdAQgcFKPwZw6ShPaZQCHuKLQK6I6DodOrem9FXX7c1hvoKJP5Ww==",
|
||||
"dependencies": {
|
||||
"@polkadot/rpc-augment": "10.11.2",
|
||||
"@polkadot/rpc-provider": "10.11.2",
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"rxjs": "^7.8.1",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/rpc-provider": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-10.11.2.tgz",
|
||||
"integrity": "sha512-he5jWMpDJp7e+vUzTZDzpkB7ps3H8psRally+/ZvZZScPvFEjfczT7I1WWY9h58s8+ImeVP/lkXjL9h/gUOt3Q==",
|
||||
"dependencies": {
|
||||
"@polkadot/keyring": "^12.6.2",
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/types-support": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"@polkadot/util-crypto": "^12.6.2",
|
||||
"@polkadot/x-fetch": "^12.6.2",
|
||||
"@polkadot/x-global": "^12.6.2",
|
||||
"@polkadot/x-ws": "^12.6.2",
|
||||
"eventemitter3": "^5.0.1",
|
||||
"mock-socket": "^9.3.1",
|
||||
"nock": "^13.4.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@substrate/connect": "0.7.35"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/types": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/types/-/types-10.11.2.tgz",
|
||||
"integrity": "sha512-d52j3xXni+C8GdYZVTSfu8ROAnzXFMlyRvXtor0PudUc8UQHOaC4+mYAkTBGA2gKdmL8MHSfRSbhcxHhsikY6Q==",
|
||||
"dependencies": {
|
||||
"@polkadot/keyring": "^12.6.2",
|
||||
"@polkadot/types-augment": "10.11.2",
|
||||
"@polkadot/types-codec": "10.11.2",
|
||||
"@polkadot/types-create": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"@polkadot/util-crypto": "^12.6.2",
|
||||
"rxjs": "^7.8.1",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/types-augment": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-10.11.2.tgz",
|
||||
"integrity": "sha512-8eB8ew04wZiE5GnmFvEFW1euJWmF62SGxb1O+8wL3zoUtB9Xgo1vB6w6xbTrd+HLV6jNSeXXnbbF1BEUvi9cNg==",
|
||||
"dependencies": {
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/types-codec": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/types-codec": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-10.11.2.tgz",
|
||||
"integrity": "sha512-3xjOQL+LOOMzYqlgP9ROL0FQnzU8lGflgYewzau7AsDlFziSEtb49a9BpYo6zil4koC+QB8zQ9OHGFumG08T8w==",
|
||||
"dependencies": {
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"@polkadot/x-bigint": "^12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/types-create": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-10.11.2.tgz",
|
||||
"integrity": "sha512-SJt23NxYvefRxVZZm6mT9ed1pR6FDoIGQ3xUpbjhTLfU2wuhpKjekMVorYQ6z/gK2JLMu2kV92Ardsz+6GX5XQ==",
|
||||
"dependencies": {
|
||||
"@polkadot/types-codec": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/types-known": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-10.11.2.tgz",
|
||||
"integrity": "sha512-kbEIX7NUQFxpDB0FFGNyXX/odY7jbp56RGD+Z4A731fW2xh/DgAQrI994xTzuh0c0EqPE26oQm3kATSpseqo9w==",
|
||||
"dependencies": {
|
||||
"@polkadot/networks": "^12.6.2",
|
||||
"@polkadot/types": "10.11.2",
|
||||
"@polkadot/types-codec": "10.11.2",
|
||||
"@polkadot/types-create": "10.11.2",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/types-support": {
|
||||
"version": "10.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-10.11.2.tgz",
|
||||
"integrity": "sha512-X11hoykFYv/3efg4coZy2hUOUc97JhjQMJLzDhHniFwGLlYU8MeLnPdCVGkXx0xDDjTo4/ptS1XpZ5HYcg+gRw==",
|
||||
"dependencies": {
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/util": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz",
|
||||
"integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==",
|
||||
"dependencies": {
|
||||
"@polkadot/x-bigint": "12.6.2",
|
||||
"@polkadot/x-global": "12.6.2",
|
||||
"@polkadot/x-textdecoder": "12.6.2",
|
||||
"@polkadot/x-textencoder": "12.6.2",
|
||||
"@types/bn.js": "^5.1.5",
|
||||
"bn.js": "^5.2.1",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/util-crypto": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz",
|
||||
"integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==",
|
||||
"dependencies": {
|
||||
"@noble/curves": "^1.3.0",
|
||||
"@noble/hashes": "^1.3.3",
|
||||
"@polkadot/networks": "12.6.2",
|
||||
"@polkadot/util": "12.6.2",
|
||||
"@polkadot/wasm-crypto": "^7.3.2",
|
||||
"@polkadot/wasm-util": "^7.3.2",
|
||||
"@polkadot/x-bigint": "12.6.2",
|
||||
"@polkadot/x-randomvalues": "12.6.2",
|
||||
"@scure/base": "^1.1.5",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "12.6.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/wasm-bridge": {
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-7.3.2.tgz",
|
||||
"integrity": "sha512-AJEXChcf/nKXd5Q/YLEV5dXQMle3UNT7jcXYmIffZAo/KI394a+/24PaISyQjoNC0fkzS1Q8T5pnGGHmXiVz2g==",
|
||||
"dependencies": {
|
||||
"@polkadot/wasm-util": "7.3.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*",
|
||||
"@polkadot/x-randomvalues": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/wasm-crypto": {
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-7.3.2.tgz",
|
||||
"integrity": "sha512-+neIDLSJ6jjVXsjyZ5oLSv16oIpwp+PxFqTUaZdZDoA2EyFRQB8pP7+qLsMNk+WJuhuJ4qXil/7XiOnZYZ+wxw==",
|
||||
"dependencies": {
|
||||
"@polkadot/wasm-bridge": "7.3.2",
|
||||
"@polkadot/wasm-crypto-asmjs": "7.3.2",
|
||||
"@polkadot/wasm-crypto-init": "7.3.2",
|
||||
"@polkadot/wasm-crypto-wasm": "7.3.2",
|
||||
"@polkadot/wasm-util": "7.3.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*",
|
||||
"@polkadot/x-randomvalues": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/wasm-crypto-asmjs": {
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.3.2.tgz",
|
||||
"integrity": "sha512-QP5eiUqUFur/2UoF2KKKYJcesc71fXhQFLT3D4ZjG28Mfk2ZPI0QNRUfpcxVQmIUpV5USHg4geCBNuCYsMm20Q==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/wasm-crypto-init": {
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.3.2.tgz",
|
||||
"integrity": "sha512-FPq73zGmvZtnuJaFV44brze3Lkrki3b4PebxCy9Fplw8nTmisKo9Xxtfew08r0njyYh+uiJRAxPCXadkC9sc8g==",
|
||||
"dependencies": {
|
||||
"@polkadot/wasm-bridge": "7.3.2",
|
||||
"@polkadot/wasm-crypto-asmjs": "7.3.2",
|
||||
"@polkadot/wasm-crypto-wasm": "7.3.2",
|
||||
"@polkadot/wasm-util": "7.3.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*",
|
||||
"@polkadot/x-randomvalues": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/wasm-crypto-wasm": {
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.3.2.tgz",
|
||||
"integrity": "sha512-15wd0EMv9IXs5Abp1ZKpKKAVyZPhATIAHfKsyoWCEFDLSOA0/K0QGOxzrAlsrdUkiKZOq7uzSIgIDgW8okx2Mw==",
|
||||
"dependencies": {
|
||||
"@polkadot/wasm-util": "7.3.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/wasm-util": {
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.3.2.tgz",
|
||||
"integrity": "sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/x-bigint": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz",
|
||||
"integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/x-fetch": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-12.6.2.tgz",
|
||||
"integrity": "sha512-8wM/Z9JJPWN1pzSpU7XxTI1ldj/AfC8hKioBlUahZ8gUiJaOF7K9XEFCrCDLis/A1BoOu7Ne6WMx/vsJJIbDWw==",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "12.6.2",
|
||||
"node-fetch": "^3.3.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/x-global": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz",
|
||||
"integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/x-randomvalues": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz",
|
||||
"integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "12.6.2",
|
||||
"@polkadot/wasm-util": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/x-textdecoder": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz",
|
||||
"integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/x-textencoder": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz",
|
||||
"integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "12.6.2",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@polkadot/x-ws": {
|
||||
"version": "12.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-12.6.2.tgz",
|
||||
"integrity": "sha512-cGZWo7K5eRRQCRl2LrcyCYsrc3lRbTlixZh3AzgU8uX4wASVGRlNWi/Hf4TtHNe1ExCDmxabJzdIsABIfrr7xw==",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "12.6.2",
|
||||
"tslib": "^2.6.2",
|
||||
"ws": "^8.15.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@scure/base": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.5.tgz",
|
||||
"integrity": "sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==",
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@substrate/connect": {
|
||||
"version": "0.7.35",
|
||||
"resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.7.35.tgz",
|
||||
"integrity": "sha512-Io8vkalbwaye+7yXfG1Nj52tOOoJln2bMlc7Q9Yy3vEWqZEVkgKmcPVzbwV0CWL3QD+KMPDA2Dnw/X7EdwgoLw==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@substrate/connect-extension-protocol": "^1.0.1",
|
||||
"smoldot": "2.0.7"
|
||||
}
|
||||
},
|
||||
"node_modules/@substrate/connect-extension-protocol": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.1.tgz",
|
||||
"integrity": "sha512-161JhCC1csjH3GE5mPLEd7HbWtwNSPJBg3p1Ksz9SFlTzj/bgEwudiRN2y5i0MoLGCIJRYKyKGMxVnd29PzNjg==",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/@substrate/ss58-registry": {
|
||||
"version": "1.44.0",
|
||||
"resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.44.0.tgz",
|
||||
"integrity": "sha512-7lQ/7mMCzVNSEfDS4BCqnRnKCFKpcOaPrxMeGTXHX1YQzM/m2BBHjbK2C3dJvjv7GYxMiaTq/HdWQj1xS6ss+A=="
|
||||
},
|
||||
"node_modules/@types/bn.js": {
|
||||
"version": "5.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz",
|
||||
"integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.10.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz",
|
||||
"integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==",
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
},
|
||||
"node_modules/bn.js": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
|
||||
"integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
|
||||
},
|
||||
"node_modules/data-uri-to-buffer": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
|
||||
"integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
|
||||
"engines": {
|
||||
"node": ">= 12"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"dependencies": {
|
||||
"ms": "2.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/eventemitter3": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
|
||||
"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
|
||||
},
|
||||
"node_modules/fetch-blob": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
|
||||
"integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/jimmywarting"
|
||||
},
|
||||
{
|
||||
"type": "paypal",
|
||||
"url": "https://paypal.me/jimmywarting"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"node-domexception": "^1.0.0",
|
||||
"web-streams-polyfill": "^3.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.20 || >= 14.13"
|
||||
}
|
||||
},
|
||||
"node_modules/formdata-polyfill": {
|
||||
"version": "4.0.10",
|
||||
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
|
||||
"integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
|
||||
"dependencies": {
|
||||
"fetch-blob": "^3.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.20.0"
|
||||
}
|
||||
},
|
||||
"node_modules/json-stringify-safe": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
"integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
|
||||
},
|
||||
"node_modules/mock-socket": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz",
|
||||
"integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==",
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node_modules/nock": {
|
||||
"version": "13.4.0",
|
||||
"resolved": "https://registry.npmjs.org/nock/-/nock-13.4.0.tgz",
|
||||
"integrity": "sha512-W8NVHjO/LCTNA64yxAPHV/K47LpGYcVzgKd3Q0n6owhwvD0Dgoterc25R4rnZbckJEb6Loxz1f5QMuJpJnbSyQ==",
|
||||
"dependencies": {
|
||||
"debug": "^4.1.0",
|
||||
"json-stringify-safe": "^5.0.1",
|
||||
"propagate": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13"
|
||||
}
|
||||
},
|
||||
"node_modules/node-domexception": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
|
||||
"integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/jimmywarting"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://paypal.me/jimmywarting"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=10.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
|
||||
"integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
|
||||
"dependencies": {
|
||||
"data-uri-to-buffer": "^4.0.0",
|
||||
"fetch-blob": "^3.1.4",
|
||||
"formdata-polyfill": "^4.0.10"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/node-fetch"
|
||||
}
|
||||
},
|
||||
"node_modules/propagate": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz",
|
||||
"integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==",
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/rxjs": {
|
||||
"version": "7.8.1",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
|
||||
"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/smoldot": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.7.tgz",
|
||||
"integrity": "sha512-VAOBqEen6vises36/zgrmAT1GWk2qE3X8AGnO7lmQFdskbKx8EovnwS22rtPAG+Y1Rk23/S22kDJUdPANyPkBA==",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"ws": "^8.8.1"
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "5.26.5",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
|
||||
},
|
||||
"node_modules/web-streams-polyfill": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
|
||||
"integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.16.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
|
||||
"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"name": "y",
|
||||
"version": "y",
|
||||
"description": "create a scale hex-encoded call values from given message",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@polkadot/api": "^10.11",
|
||||
"@polkadot/util": "^12.6"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user