diff --git a/Cargo.lock b/Cargo.lock index 36ef50f1713..d1a96657fc5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -164,11 +164,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11" -[[package]] -name = "amcl" -version = "0.3.0" -source = "git+https://github.com/Snowfork/milagro_bls#bc2b5b5e8d48b7e2e1bfaa56dc2d93e13cb32095" - [[package]] name = "anes" version = "0.1.6" @@ -1066,12 +1061,6 @@ dependencies = [ "scale-info", "serde", "smallvec", - "snowbridge-beacon-primitives", - "snowbridge-core", - "snowbridge-ethereum-beacon-client", - "snowbridge-inbound-queue", - "snowbridge-outbound-queue", - "snowbridge-router-primitives", "sp-api", "sp-block-builder", "sp-consensus-aura", @@ -3415,24 +3404,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ethabi-decode" -version = "1.3.3" -source = "git+https://github.com/Snowfork/ethabi-decode.git?branch=master#6f63405bb33ef4365a1c62b72d499fa0f448118e" -dependencies = [ - "ethereum-types", - "tiny-keccak 1.5.0", -] - -[[package]] -name = "ethabi-decode" -version = "1.3.3" -source = "git+https://github.com/snowfork/ethabi-decode.git?rev=6f63405bb33ef4365a1c62b72d499fa0f448118e#6f63405bb33ef4365a1c62b72d499fa0f448118e" -dependencies = [ - "ethereum-types", - "tiny-keccak 1.5.0", -] - [[package]] name = "ethbloom" version = "0.13.0" @@ -3441,11 +3412,9 @@ checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ "crunchy", "fixed-hash", - "impl-codec", "impl-rlp", "impl-serde", - "scale-info", - "tiny-keccak 2.0.2", + "tiny-keccak", ] [[package]] @@ -3456,11 +3425,9 @@ checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" dependencies = [ "ethbloom", "fixed-hash", - "impl-codec", "impl-rlp", "impl-serde", "primitive-types", - "scale-info", "uint", ] @@ -5856,18 +5823,6 @@ dependencies = [ "thrift", ] -[[package]] -name = "milagro_bls" -version = "1.5.0" -source = "git+https://github.com/Snowfork/milagro_bls#bc2b5b5e8d48b7e2e1bfaa56dc2d93e13cb32095" -dependencies = [ - "amcl", - "hex", - "lazy_static", - "rand 0.8.5", - "zeroize", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -7822,12 +7777,6 @@ dependencies = [ "xcm-executor", ] -[[package]] -name = "parity-bytes" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b56e3a2420138bdb970f84dfb9c774aea80fa0e7371549eedec0d80c209c67" - [[package]] name = "parity-db" version = "0.4.6" @@ -9037,7 +8986,6 @@ dependencies = [ "seedling-runtime", "serde", "shell-runtime", - "snowbridge-outbound-queue-rpc", "sp-api", "sp-block-builder", "sp-blockchain", @@ -12076,15 +12024,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-big-array" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd31f59f6fe2b0c055371bb2f16d7f0aa7d8881676c04a55b1596d1a17cd10a4" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" version = "1.0.159" @@ -12343,168 +12282,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "snowbridge-beacon-primitives" -version = "0.0.1" -dependencies = [ - "frame-support", - "frame-system", - "hex", - "parity-scale-codec", - "rlp", - "scale-info", - "serde", - "snowbridge-ethereum", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "snowbridge-core" -version = "0.1.1" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "snowbridge-ethereum", - "sp-core", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "snowbridge-ethereum" -version = "0.1.0" -dependencies = [ - "ethabi-decode 1.3.3 (git+https://github.com/snowfork/ethabi-decode.git?rev=6f63405bb33ef4365a1c62b72d499fa0f448118e)", - "ethbloom", - "ethereum-types", - "hex-literal 0.4.0", - "parity-bytes", - "parity-scale-codec", - "rlp", - "rustc-hex", - "scale-info", - "serde", - "serde-big-array", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "snowbridge-ethereum-beacon-client" -version = "0.0.1" -dependencies = [ - "byte-slice-cast", - "frame-benchmarking", - "frame-support", - "frame-system", - "hex-literal 0.4.0", - "milagro_bls", - "parity-scale-codec", - "rlp", - "scale-info", - "serde", - "snowbridge-beacon-primitives", - "snowbridge-core", - "snowbridge-ethereum", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "ssz-rs", - "ssz-rs-derive", -] - -[[package]] -name = "snowbridge-inbound-queue" -version = "0.1.1" -dependencies = [ - "ethabi-decode 1.3.3 (git+https://github.com/Snowfork/ethabi-decode.git?branch=master)", - "frame-benchmarking", - "frame-support", - "frame-system", - "hex-literal 0.4.0", - "pallet-balances", - "parity-scale-codec", - "polkadot-parachain", - "rlp", - "scale-info", - "serde", - "snowbridge-core", - "snowbridge-ethereum", - "snowbridge-router-primitives", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "xcm", -] - -[[package]] -name = "snowbridge-outbound-queue" -version = "0.1.1" -dependencies = [ - "ethabi-decode 1.3.3 (git+https://github.com/Snowfork/ethabi-decode.git?branch=master)", - "frame-benchmarking", - "frame-support", - "frame-system", - "hex-literal 0.4.0", - "parity-scale-codec", - "rlp", - "scale-info", - "serde", - "snowbridge-core", - "snowbridge-outbound-queue-merkle-proof", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "snowbridge-outbound-queue-merkle-proof" -version = "0.1.1" -dependencies = [ - "parity-scale-codec", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "snowbridge-outbound-queue-rpc" -version = "0.1.0" -dependencies = [ - "jsonrpsee", - "parity-scale-codec", - "parking_lot 0.11.2", - "snowbridge-outbound-queue-merkle-proof", - "sp-core", - "sp-offchain", - "sp-runtime", -] - -[[package]] -name = "snowbridge-router-primitives" -version = "0.1.1" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-runtime", - "sp-std", - "xcm", -] - [[package]] name = "socket2" version = "0.4.9" @@ -13293,28 +13070,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "ssz-rs" -version = "0.8.0" -source = "git+https://github.com/ralexstokes/ssz-rs?rev=d18af912abacbf84219be37ab3b42a9abcf10d2a#d18af912abacbf84219be37ab3b42a9abcf10d2a" -dependencies = [ - "bitvec", - "num-bigint", - "sha2 0.9.8", - "ssz-rs-derive", - "thiserror", -] - -[[package]] -name = "ssz-rs-derive" -version = "0.8.0" -source = "git+https://github.com/ralexstokes/ssz-rs?rev=d18af912abacbf84219be37ab3b42a9abcf10d2a#d18af912abacbf84219be37ab3b42a9abcf10d2a" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -13978,15 +13733,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8a021c69bb74a44ccedb824a046447e2c84a01df9e5c20779750acb38e11b2" -dependencies = [ - "crunchy", -] - [[package]] name = "tiny-keccak" version = "2.0.2" diff --git a/parachains/runtimes/bridge-hubs/README.md b/parachains/runtimes/bridge-hubs/README.md index 788e767f0fc..a76fc7df519 100644 --- a/parachains/runtimes/bridge-hubs/README.md +++ b/parachains/runtimes/bridge-hubs/README.md @@ -5,11 +5,14 @@ + [Run relayers (Rococo, Wococo)](#run-relayers--rococo--wococo-) - [Run with script (alternative 1)](#run-with-script--alternative-1-) - [Run with binary (alternative 2)](#run-with-binary--alternative-2-) - + [Send messages (Rococo, Wococo)](#send-messages--rococo--wococo-) - - [Local Rococo:Statemine -> Wococo:Westmint](#local-rococo-statemine----wococo-westmint) - - [Live Rococo:Rockmine2 -> Wococo:Wockmint](#live-rococo-rockmine2----wococo-wockmint) + + [Send messages](#send-messages) + - [Local zombienet run](#local-zombienet-run) + - [Live Rockmine2 to Wockmint](#live-rockmine2-to-wockmint) * [How to test local BridgeHubKusama](#how-to-test-local-bridgehubkusama) + * [How to test local BridgeHubPolkadot](#how-to-test-local-bridgehubpolkadot) * [Git subtree `./bridges`](#git-subtree---bridges-) + + [How to update `bridges` subtree](#how-to-update--bridges--subtree) + + [How was first time initialized (dont need anymore)](#how-was-first-time-initialized--dont-need-anymore-) # Bridge-hub Parachains @@ -167,57 +170,47 @@ RUST_LOG=runtime=trace,rpc=trace,bridge=trace \ - Pallet: **bridgeRococoParachain** - Keys: **bestParaHeads()** -### Send messages (Rococo, Wococo) +### Send messages -#### Transfer assets via bridge +#### Local zombienet run 1. allow bridge transfer on statemine/westmint (governance-like): ``` ./scripts/bridges_rococo_wococo.sh allow-transfers-local ``` -2. do transfer from statemine to westmint +2. do (asset) transfer from statemine to westmint ``` ./scripts/bridges_rococo_wococo.sh transfer-asset-from-statemine-local ``` -#### Ping via bridge -``` -./scripts/bridges_rococo_wococo.sh allow-transfers-local -./scripts/bridges_rococo_wococo.sh ping-via-bridge-from-statemine-local -``` - -#### Local Rococo:Statemine -> Wococo:Westmint -- check that relayers are up and running (see above) -- uses account seed `//Alice` - ``` - cd +3. do (ping) transfer from statemine to westmint + ``` + ./scripts/bridges_rococo_wococo.sh ping-via-bridge-from-statemine-local + ``` - ./scripts/bridges_rococo_wococo.sh send-remark-local - or - ./scripts/bridges_rococo_wococo.sh send-trap-local - ``` - open explorers: (see zombienets) - - Statemine (see `polkadotXcm.Sent`) https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:9910#/explorer + - Statemine (see events `xcmpQueue.XcmpMessageSent`, `bridgeTransfer.ReserveAssetsDeposited`, `bridgeTransfer.TransferInitiated`) https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:9910#/explorer - BridgeHubRococo (see `bridgeWococoMessages.MessageAccepted`) https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:8943#/explorer - BridgeHubWococo (see `bridgeRococoMessages.MessagesReceived`) https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:8945#/explorer - - Westmint (see `xcmpQueue.Success` for `remark` and `xcmpQueue.Fail` for `trap`) https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:9010#/explorer + - Westmint (see `xcmpQueue.Success` for `transfer-asset` and `xcmpQueue.Fail` for `ping-via-bridge`) https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:9010#/explorer - BridgeHubRococo (see `bridgeWococoMessages.MessagesDelivered`) https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:8943#/explorer -#### Live Rococo:Rockmine2 -> Wococo:Wockmint +#### Live Rockmine2 to Wockmint - uses account seed on Live Rococo:Rockmine2 ``` cd - ./scripts/bridges_rococo_wococo.sh send-remark-rococo + ./scripts/bridges_rococo_wococo.sh transfer-asset-from-statemine-rococo or - ./scripts/bridges_rococo_wococo.sh send-trap-rococo + ./scripts/bridges_rococo_wococo.sh ping-via-bridge-from-statemine-rococo ``` -- open explorers: (see https://github.com/paritytech/parity-bridges-common/issues/1671) - - Rockmine2 (see `polkadotXcm.Sent`) - - BridgeHubRococo (see `bridgeWococoMessages.MessageAccepted`) - - BridgeHubWococo (see `bridgeRococoMessages.MessagesReceived`) - - Wockmint (see `xcmpQueue.Success` for `remark` and `xcmpQueue.Fail` for `trap`) + +- open explorers: + - Rockmine2 (see events `xcmpQueue.XcmpMessageSent`, `bridgeTransfer.ReserveAssetsDeposited`, `bridgeTransfer.TransferInitiated`) https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fws-rococo-rockmine2-collator-node-0.parity-testnet.parity.io#/explorer + - BridgeHubRococo (see `bridgeWococoMessages.MessageAccepted`) https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-bridge-hub-rpc.polkadot.io#/explorer + - BridgeHubWococo (see `bridgeRococoMessages.MessagesReceived`) https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fwococo-bridge-hub-rpc.polkadot.io#/explorer + - Wockmint (see `xcmpQueue.Success` for `transfer-asset` and `xcmpQueue.Fail` for `ping-via-bridge`) https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fws-wococo-wockmint-collator-node-0.parity-testnet.parity.io#/explorer - BridgeHubRococo (see `bridgeWococoMessages.MessagesDelivered`) ## How to test local BridgeHubKusama diff --git a/scripts/bridges_rococo_wococo.sh b/scripts/bridges_rococo_wococo.sh index e5c19d3004e..55edd8dee24 100755 --- a/scripts/bridges_rococo_wococo.sh +++ b/scripts/bridges_rococo_wococo.sh @@ -1,5 +1,34 @@ #!/bin/bash +# Address: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY +# AccountId: [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] +STATEMINE_ACCOUNT_SEED_FOR_LOCAL="//Alice" +# Address: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY +# AccountId: [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] +WOCKMINT_ACCOUNT_ADDRESS_FOR_LOCAL="5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" + +# Address: GegTpZJMyzkntLN7NJhRfHDk4GWukLbGSsag6PHrLSrCK4h +ROCKMINE2_ACCOUNT_SEED_FOR_ROCOCO="scatter feed race company oxygen trip extra elbow slot bundle auto canoe" + +# Adress: 5Ge7YcbctWCP1CccugzxWDn9hFnTxvTh3bL6PNy4ubNJmp7Y / H9jCvwVWsDJkrS4gPp1QB99qr4hmbGsVyAqn3F2PPaoWyU3 +# AccountId: [202, 107, 198, 135, 15, 25, 193, 165, 172, 73, 137, 218, 115, 177, 204, 0, 5, 155, 215, 86, 208, 51, 50, 130, 190, 110, 184, 143, 124, 50, 160, 20] +WOCKMINT_ACCOUNT_ADDRESS_FOR_ROCOCO="5Ge7YcbctWCP1CccugzxWDn9hFnTxvTh3bL6PNy4ubNJmp7Y" +WOCKMINT_ACCOUNT_SEED_FOR_WOCOCO="tone spirit magnet sunset cannon poverty forget lock river east blouse random" + +function address_to_account_id_bytes() { + local address=$1 + local output=$2 + echo "address_to_account_id_bytes - address: $address, output: $output" + if [ $address == "$WOCKMINT_ACCOUNT_ADDRESS_FOR_LOCAL" ]; then + jq --null-input '[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]' > $output + elif [ $address == "$WOCKMINT_ACCOUNT_ADDRESS_FOR_ROCOCO" ]; then + jq --null-input '[202, 107, 198, 135, 15, 25, 193, 165, 172, 73, 137, 218, 115, 177, 204, 0, 5, 155, 215, 86, 208, 51, 50, 130, 190, 110, 184, 143, 124, 50, 160, 20]' > $output + else + echo -n "Sorry, unknown address: $address - please, add bytes here or function for that!" + exit 1 + fi +} + function ensure_binaries() { if [[ ! -f ~/local_bridge_testing/bin/polkadot ]]; then echo " Required polkadot binary '~/local_bridge_testing/bin/polkadot' does not exist!" @@ -160,67 +189,6 @@ function send_governance_transact() { "${message}" } -STATEMINE_ACCOUNT_SEED_FOR_LOCAL="//Alice" -ROCKMINE2_ACCOUNT_SEED_FOR_ROCOCO="scatter feed race company oxygen trip extra elbow slot bundle auto canoe" - -function send_xcm_trap_from_statemine() { - local url=$1 - local seed=$2 - local bridge_hub_para_id=$3 - local target_network=$4 - local target_network_para_id=$5 - echo " calling send_xcm_trap_from_statemine:" - echo " url: ${url}" - echo " seed: ${seed}" - echo " bridge_hub_para_id: ${bridge_hub_para_id}" - echo " params:" - - local dest=$(jq --null-input \ - --arg bridge_hub_para_id "$bridge_hub_para_id" \ - '{ "V3": { "parents": 1, "interior": { "X1": { "Parachain": $bridge_hub_para_id } } } }') - - local message=$(jq --null-input \ - --arg target_network "$target_network" \ - --arg target_network_para_id "$target_network_para_id" \ - ' - { - "V3": [ - { - "ExportMessage": { - "network": $target_network, - "destination": { - "X1": { - "Parachain": $target_network_para_id - } - }, - "xcm": [ - { - "Trap": 12345 - } - ] - } - } - ] - } - ') - - echo "" - echo " dest:" - echo "${dest}" - echo "" - echo " message:" - echo "${message}" - echo "" - echo "--------------------------------------------------" - - polkadot-js-api \ - --ws "${url?}" \ - --seed "${seed?}" \ - tx.polkadotXcm.send \ - "${dest}" \ - "${message}" -} - function allow_assets_transfer_send() { local relay_url=$1 local relay_chain_seed=$2 @@ -408,12 +376,13 @@ function remove_assets_transfer_send() { function transfer_asset_via_bridge() { local url=$1 local seed=$2 + local target_account=$3 echo " calling transfer_asset_via_bridge:" echo " url: ${url}" echo " seed: ${seed}" + echo " target_account: ${target_account}" echo " params:" - local assets=$(jq --null-input \ ' { @@ -434,12 +403,12 @@ function transfer_asset_via_bridge() { ' ) - -## // TODO:check-parameter - find dynamic way to decode some account to bytes: "id": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" -## AccountId32::from_str("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY").unwrap().0` -> [u8; 32] -## [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] + local tmp_output_file=$(mktemp) + address_to_account_id_bytes "$target_account" "${tmp_output_file}" + local hex_encoded_data=$(cat $tmp_output_file) local destination=$(jq --null-input \ + --argjson hex_encoded_data "$hex_encoded_data" \ ' { "V3": { @@ -454,7 +423,7 @@ function transfer_asset_via_bridge() { }, { "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] + "id": $hex_encoded_data } } ] @@ -481,6 +450,59 @@ function transfer_asset_via_bridge() { "${destination}" } +function ping_via_bridge() { + local url=$1 + local seed=$2 + local target_account=$3 + echo " calling ping_via_bridge:" + echo " url: ${url}" + echo " seed: ${seed}" + echo " target_account: ${target_account}" + echo " params:" + + local tmp_output_file=$(mktemp) + address_to_account_id_bytes "$target_account" "${tmp_output_file}" + local hex_encoded_data=$(cat $tmp_output_file) + + local destination=$(jq --null-input \ + --argjson hex_encoded_data "$hex_encoded_data" \ + ' + { + "V3": { + "parents": 2, + "interior": { + "X3": [ + { + "GlobalConsensus": "Wococo" + }, + { + "Parachain": 1000 + }, + { + "AccountId32": { + "id": $hex_encoded_data + } + } + ] + } + } + } + ' + ) + + echo "" + echo " destination:" + echo "${destination}" + echo "" + echo "--------------------------------------------------" + + polkadot-js-api \ + --ws "${url?}" \ + --seed "${seed?}" \ + tx.bridgeTransfer.pingViaBridge \ + "${destination}" +} + function init_ro_wo() { ensure_relayer @@ -543,24 +565,6 @@ case "$1" in init_wo_ro run_relay ;; - send-trap-local) - ensure_polkadot_js_api - send_xcm_trap_from_statemine \ - "ws://127.0.0.1:9910" \ - "${STATEMINE_ACCOUNT_SEED_FOR_LOCAL}" \ - 1013 \ - "Wococo" \ - 1000 - ;; - send-trap-rococo) - ensure_polkadot_js_api - send_xcm_trap_from_statemine \ - "wss://ws-rococo-rockmine2-collator-node-0.parity-testnet.parity.io" \ - "${ROCKMINE2_ACCOUNT_SEED_FOR_ROCOCO}" \ - 1013 \ - "Wococo" \ - 1000 - ;; allow-transfers-local) # this allows send transfers on statemine (by governance-like) ./$0 "allow-transfer-on-statemine-local" @@ -587,7 +591,8 @@ case "$1" in 1014 \ "Rococo" \ 1000 - # drip SovereignAccount for `MultiLocation { parents: 2, interior: X2(GlobalConsensus(Rococo), Parachain(1000)) }` + # drip SovereignAccount for `MultiLocation { parents: 2, interior: X2(GlobalConsensus(Rococo), Parachain(1000)) }` => 5DHZvp523gmJWxg9UcLVbofyu5nZkPvATeP1ciYncpFpXtiG + # drip SovereignAccount for `MultiLocation { parents: 2, interior: X2(GlobalConsensus(Rococo), Parachain(1015)) }` => 5FS75NFUdEYhWHuV3y3ncjSG4PFdHfC5X7V6SEzc3rnCciwb transfer_balance \ "ws://127.0.0.1:9010" \ "//Alice" \ @@ -615,7 +620,29 @@ case "$1" in ensure_polkadot_js_api transfer_asset_via_bridge \ "ws://127.0.0.1:9910" \ - "//Alice" + "$STATEMINE_ACCOUNT_SEED_FOR_LOCAL" \ + "$WOCKMINT_ACCOUNT_ADDRESS_FOR_LOCAL" + ;; + transfer-asset-from-statemine-rococo) + ensure_polkadot_js_api + transfer_asset_via_bridge \ + "wss://ws-rococo-rockmine2-collator-node-0.parity-testnet.parity.io" \ + "$ROCKMINE2_ACCOUNT_SEED_FOR_ROCOCO" \ + "$WOCKMINT_ACCOUNT_ADDRESS_FOR_ROCOCO" + ;; + ping-via-bridge-from-statemine-local) + ensure_polkadot_js_api + ping_via_bridge \ + "ws://127.0.0.1:9910" \ + "$STATEMINE_ACCOUNT_SEED_FOR_LOCAL" \ + "$WOCKMINT_ACCOUNT_ADDRESS_FOR_LOCAL" + ;; + ping-via-bridge-from-statemine-rococo) + ensure_polkadot_js_api + ping_via_bridge \ + "wss://ws-rococo-rockmine2-collator-node-0.parity-testnet.parity.io" \ + "${ROCKMINE2_ACCOUNT_SEED_FOR_ROCOCO}" \ + "$WOCKMINT_ACCOUNT_ADDRESS_FOR_ROCOCO" ;; drip) transfer_balance \ @@ -628,5 +655,19 @@ case "$1" in pkill -f polkadot pkill -f parachain ;; - *) echo "A command is require. Supported commands: run-relay, send-trap-rococo/send-trap-local, send-remark-local/send-remark-rococo, allow-transfers-local/allow-transfer-on-statemine-local/remove-assets-transfer-from-statemine-local, allow-transfer-on-westmint-local, transfer-asset-from-statemine-local"; exit 1;; + *) + echo "A command is require. Supported commands for: + Local (zombienet) run: + - run-relay + - allow-transfers-local + - allow-transfer-on-statemine-local + - allow-transfer-on-westmint-local + - remove-assets-transfer-from-statemine-local + - transfer-asset-from-statemine-local + - ping-via-bridge-from-statemine-local + Live Rococo/Wococo run: + - transfer-asset-from-statemine-rococo + - ping-via-bridge-from-statemine-rococo"; + exit 1 + ;; esac