From cd263ace198694b45bb9f3df922b6a32ba8801a4 Mon Sep 17 00:00:00 2001
From: Branislav Kontur <bkontur@gmail.com>
Date: Mon, 24 Jul 2023 16:16:08 +0200
Subject: [PATCH] BHs readme nits (#2754)

* Correct BH readme

* Zombienet renaming

* TOC

* Apply suggestions from code review

Co-authored-by: Adrian Catangiu <adrian@parity.io>

* Updated REAMDE.md

* Alice -> Bob for e2e

---------

Co-authored-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: parity-processbot <>
---
 .../emulated/common/src/constants.rs          |   8 +-
 .../parachains/runtimes/bridge-hubs/README.md | 141 ++++++++----------
 .../bridge_hub_rococo_local_network.toml      |   4 +-
 .../bridge_hub_wococo_local_network.toml      |   4 +-
 4 files changed, 69 insertions(+), 88 deletions(-)

diff --git a/cumulus/parachains/integration-tests/emulated/common/src/constants.rs b/cumulus/parachains/integration-tests/emulated/common/src/constants.rs
index 7c3eaba5956..b3f78c23181 100644
--- a/cumulus/parachains/integration-tests/emulated/common/src/constants.rs
+++ b/cumulus/parachains/integration-tests/emulated/common/src/constants.rs
@@ -953,19 +953,19 @@ pub mod bridge_hub_rococo {
 				..Default::default()
 			},
 			bridge_wococo_grandpa: bridge_hub_rococo_runtime::BridgeWococoGrandpaConfig {
-				owner: Some(get_account_id_from_seed::<sr25519::Public>("Alice")),
+				owner: Some(get_account_id_from_seed::<sr25519::Public>(accounts::BOB)),
 				..Default::default()
 			},
 			bridge_rococo_grandpa: bridge_hub_rococo_runtime::BridgeRococoGrandpaConfig {
-				owner: Some(get_account_id_from_seed::<sr25519::Public>("Alice")),
+				owner: Some(get_account_id_from_seed::<sr25519::Public>(accounts::BOB)),
 				..Default::default()
 			},
 			bridge_rococo_messages: bridge_hub_rococo_runtime::BridgeRococoMessagesConfig {
-				owner: Some(get_account_id_from_seed::<sr25519::Public>("Alice")),
+				owner: Some(get_account_id_from_seed::<sr25519::Public>(accounts::BOB)),
 				..Default::default()
 			},
 			bridge_wococo_messages: bridge_hub_rococo_runtime::BridgeWococoMessagesConfig {
-				owner: Some(get_account_id_from_seed::<sr25519::Public>("Alice")),
+				owner: Some(get_account_id_from_seed::<sr25519::Public>(accounts::BOB)),
 				..Default::default()
 			},
 			..Default::default()
diff --git a/cumulus/parachains/runtimes/bridge-hubs/README.md b/cumulus/parachains/runtimes/bridge-hubs/README.md
index b187f1da2db..1520065b7e3 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/README.md
+++ b/cumulus/parachains/runtimes/bridge-hubs/README.md
@@ -1,15 +1,13 @@
 - [Bridge-hub Parachains](#bridge-hub-parachains)
-	* [Requirements for local run/testing](#requirements-for-local-run-testing)
-	* [How to test locally Rococo <-> Wococo bridge](#how-to-test-locally-rococo-----wococo-bridge)
-		+ [Run chains (Rococo + BridgeHub, Wococo + BridgeHub) with zombienet](#run-chains--rococo---bridgehub--wococo---bridgehub--with-zombienet)
-		+ [Run relayer (BridgeHubRococo, BridgeHubWococo)](#run-relayer--bridgehubrococo--bridgehubwococo-)
-			- [Run with script (alternative 1)](#run-with-script--alternative-1-)
-			- [Run with binary (alternative 2)](#run-with-binary--alternative-2-)
-		+ [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)
+  * [Requirements for local run/testing](#requirements-for-local-runtesting)
+  * [How to test local Rococo <-> Wococo bridge](#how-to-test-local-rococo---wococo-bridge)
+    + [Run chains (Rococo + BridgeHub, Wococo + BridgeHub) with zombienet](#run-chains-rococo--bridgehub-wococo--bridgehub-with-zombienet)
+    + [Run relayer (BridgeHubRococo, BridgeHubWococo)](#run-relayer-bridgehubrococo-bridgehubwococo)
+      - [Run with script (alternative 1)](#run-with-script-alternative-1)
+      - [Run with binary (alternative 2)](#run-with-binary-alternative-2)
+    + [Send messages - transfer asset over bridge](#send-messages---transfer-asset-over-bridge)
+  * [How to test live BridgeHubRococo/BridgeHubWococo](#how-to-test-live-bridgehubrococobridgehubwococo)
+  * [How to test local BridgeHubKusama/BridgeHubPolkadot](#how-to-test-local-bridgehubkusamabridgehubpolkadot)
 
 # Bridge-hub Parachains
 
@@ -41,6 +39,7 @@ mkdir -p ~/local_bridge_testing/logs
 Go to: https://github.com/paritytech/zombienet/releases
 Copy the apropriate binary (zombienet-linux) from the latest release to ~/local_bridge_testing/bin
 
+
 ---
 # 2. Build polkadot binary
 git clone https://github.com/paritytech/polkadot.git
@@ -49,60 +48,81 @@ cd polkadot
 # if you want to test Kusama/Polkadot bridge, we need "sudo pallet + fast-runtime",
 # so please, find the latest polkadot's repository branch `it/release-vX.Y.Z-fast-sudo`
 # e.g:
-# git checkout -b it/release-v0.9.42-fast-sudo --track origin/it/release-v0.9.42-fast-sudo
+# git checkout -b it/release-v0.9.43-fast-sudo --track origin/it/release-v0.9.43-fast-sudo
 
 cargo build --release --features fast-runtime
 cp target/release/polkadot ~/local_bridge_testing/bin/polkadot
 
----
-# 3. Build cumulus polkadot-parachain binary
-cd <cumulus-git-repo-dir>
-
-# checkout desired branch or use master:
-# git checkout -b master --track origin/master
-
-cargo build --release --locked -p polkadot-parachain-bin
-cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-parachain
-cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-parachain-mint
 
 ---
-# 4. Build substrate-relay binary
+# 3. Build substrate-relay binary
 git clone https://github.com/paritytech/parity-bridges-common.git
 cd parity-bridges-common
 
 # checkout desired branch or use master:
 # git checkout -b master --track origin/master
+# `polkadot-staging` (recommended) is stabilized and compatible for Cumulus releases
+# `master` is latest development
 git checkout -b polkadot-staging --track origin/polkadot-staging
 
 cargo build --release -p substrate-relay
 cp target/release/substrate-relay ~/local_bridge_testing/bin/substrate-relay
 
+
 ---
-# 5. Build polkadot-parachain-mint binary with `asset-hub-kusama`/`asset-hub-westend` for moving assets
+# 4. Build cumulus polkadot-parachain binary
 cd <cumulus-git-repo-dir>
-# TODO:check-parameter - change this when merged to master
-git checkout -b bko-transfer-asset-via-bridge --track origin/bko-transfer-asset-via-bridge
-cargo build --release --locked -p polkadot-parachain-bin
-cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-parachain-mint
+
+# checkout desired branch or use master:
+# git checkout -b master --track origin/master
+
+cargo build --release --locked --bin polkadot-parachain
+cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-parachain
+cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-parachain-asset-hub
+
+
+
+# !!! READ HERE (TODO remove once all mentioned branches bellow are merged)
+# The use case "moving assets over bridge" is not merged yet and is implemented in separate branches.
+# So, if you want to try it, you need to checkout different branch and continue with these instructions there.
+
+# For Kusama/Polkadot local bridge testing:
+#
+# build BridgeHubs (polkadot-parachain) from branch:
+# git checkout -b bridge-hub-kusama-polkadot --track origin/bridge-hub-kusama-polkadot
+# cargo build --release --locked --bin polkadot-parachain
+# cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-parachain
+#
+# build AssetHubs (polkadot-parachain-asset-hub) from branch:
+# git checkout -b bko-transfer-asset-via-bridge-pallet-xcm --track origin/bko-transfer-asset-via-bridge-pallet-xcm
+# cargo build --release --locked --bin polkadot-parachain
+# cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-parachain-asset-hub
+
+# For Rococo/Wococo local bridge testing:
+#
+# build AssetHubs (polkadot-parachain-asset-hub) from branch:
+# git checkout -b bko-transfer-asset-via-bridge-pallet-xcm-ro-wo --track origin/bko-transfer-asset-via-bridge-pallet-xcm-ro-wo
+# cargo build --release --locked --bin polkadot-parachain
+# cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-parachain-asset-hub
 ```
 
-## How to test locally Rococo <-> Wococo bridge
+## How to test local Rococo <-> Wococo bridge
 
-### Run chains (Rococo + BridgeHub, Wococo + BridgeHub) with zombienet
+### Run chains (Rococo + BridgeHub + AssetHub, Wococo + BridgeHub + AssetHub) with zombienet
 
 ```
-# Rococo + BridgeHubRococo + Rockmine (mirroring Kusama)
+# Rococo + BridgeHubRococo + AssetHub for Rococo (mirroring Kusama)
 POLKADOT_BINARY_PATH=~/local_bridge_testing/bin/polkadot \
 POLKADOT_PARACHAIN_BINARY_PATH=~/local_bridge_testing/bin/polkadot-parachain \
-POLKADOT_PARACHAIN_BINARY_PATH_FOR_ROCKMINE=~/local_bridge_testing/bin/polkadot-parachain-mint \
+POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_ROCOCO=~/local_bridge_testing/bin/polkadot-parachain-asset-hub \
 	~/local_bridge_testing/bin/zombienet-linux --provider native spawn ./zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
 ```
 
 ```
-# Wococo + BridgeHubWococo + Wockmint (mirroring Polkadot)
+# Wococo + BridgeHubWococo + AssetHub for Wococo (mirroring Polkadot)
 POLKADOT_BINARY_PATH=~/local_bridge_testing/bin/polkadot \
 POLKADOT_PARACHAIN_BINARY_PATH=~/local_bridge_testing/bin/polkadot-parachain \
-POLKADOT_PARACHAIN_BINARY_PATH_FOR_WOCKMINT=~/local_bridge_testing/bin/polkadot-parachain-mint \
+POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_WOCOCO=~/local_bridge_testing/bin/polkadot-parachain-asset-hub \
 	~/local_bridge_testing/bin/zombienet-linux --provider native spawn ./zombienet/bridge-hubs/bridge_hub_wococo_local_network.toml
 ```
 
@@ -191,65 +211,26 @@ RUST_LOG=runtime=trace,rpc=trace,bridge=trace \
 	- Pallet: **bridgeRococoParachain**
 	- Keys: **bestParaHeads()**
 
-### Send messages
-
-#### Local zombienet run
-
-1. allow bridge transfer on kusama/westend asset hubs (governance-like):
-   ```
-   ./scripts/bridges_rococo_wococo.sh allow-transfers-local
-   ```
-
-2. do (asset) transfer from kusama's asset hub to westend's asset hub:
-   ```
-   ./scripts/bridges_rococo_wococo.sh transfer-asset-from-asset-hub-kusama-local
-   ```
-
-3. do (ping) transfer from kusama's asset hub to westend's asset hub
-   ```
-   ./scripts/bridges_rococo_wococo.sh ping-via-bridge-from-asset-hub-kusama-local
-   ```
+### Send messages - transfer asset over bridge
 
-- open explorers: (see zombienets)
-	- Kusama Asset Hub (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
-	- Westend Asset Hub (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
+TODO: see `# !!! READ HERE` above
 
-#### Live Rockmine2 to Wockmint
+## How to test live BridgeHubRococo/BridgeHubWococo
+(here is still deployed older PoC from branch `origin/bko-transfer-asset-via-bridge`, which uses custom extrinsic, which is going to be replaced by `pallet_xcm` usage)
 - uses account seed on Live Rococo:Rockmine2
   ```
   cd <cumulus-git-repo-dir>
-
   ./scripts/bridges_rococo_wococo.sh transfer-asset-from-asset-hub-rococo
-  or
-  ./scripts/bridges_rococo_wococo.sh ping-via-bridge-from-asset-hub-rococo
   ```
 
 - 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
+	- Wockmint (see `xcmpQueue.Success` for `transfer-asset` and `xcmpQueue.Fail` for `ping-via-bridge`) https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fwococo-wockmint-rpc.polkadot.io#/explorer
 	- BridgeHubRococo (see `bridgeWococoMessages.MessagesDelivered`)
 
-## How to test local BridgeHubKusama
-```
-cd <base-cumulus-repo-directory>
-cargo build --release -p polkadot-parachain-bin
-
-# script expect to have pre-built polkadot binary on the path: ../polkadot/target/release/polkadot
-# if using `kusama-local` / `polkadot-local`, build polkadot with `--features fast-runtime`
 
-# BridgeHubKusama
-zombienet-linux --provider native spawn ./zombienet/examples/bridge_hub_kusama_local_network.toml
-
-or
-
-# BridgeHubPolkadot
-zombienet-linux --provider native spawn ./zombienet/examples/bridge_hub_polkadot_local_network.toml
-```
+## How to test local BridgeHubKusama/BridgeHubPolkadot
 
-## How to test local BridgeHubPolkadot
-TODO: from master
+TODO: see `# !!! READ HERE` above
diff --git a/cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml b/cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
index 4e1260f9e41..80b398ac724 100644
--- a/cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
+++ b/cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
@@ -71,7 +71,7 @@ cumulus_based = true
 	name = "rockmine-collator1"
 	rpc_port = 9911
 	ws_port = 9910
-	command = "{{POLKADOT_PARACHAIN_BINARY_PATH_FOR_ROCKMINE}}"
+	command = "{{POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_ROCOCO}}"
 	args = [
 		"-lparachain=debug,xcm=trace,runtime::bridge-transfer=trace",
 	]
@@ -82,7 +82,7 @@ cumulus_based = true
 
 	[[parachains.collators]]
 	name = "rockmine-collator2"
-	command = "{{POLKADOT_PARACHAIN_BINARY_PATH_FOR_ROCKMINE}}"
+	command = "{{POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_ROCOCO}}"
 	args = [
 		"-lparachain=debug,xcm=trace,runtime::bridge-transfer=trace",
 	]
diff --git a/cumulus/zombienet/bridge-hubs/bridge_hub_wococo_local_network.toml b/cumulus/zombienet/bridge-hubs/bridge_hub_wococo_local_network.toml
index 7dcc8dd7232..9727b4a087f 100644
--- a/cumulus/zombienet/bridge-hubs/bridge_hub_wococo_local_network.toml
+++ b/cumulus/zombienet/bridge-hubs/bridge_hub_wococo_local_network.toml
@@ -71,7 +71,7 @@ cumulus_based = true
 	name = "wockmint-collator1"
 	rpc_port = 9011
 	ws_port = 9010
-	command = "{{POLKADOT_PARACHAIN_BINARY_PATH_FOR_WOCKMINT}}"
+	command = "{{POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_WOCOCO}}"
 	args = [
 		"-lparachain=debug,xcm=trace,runtime::bridge-transfer=trace",
 	]
@@ -82,7 +82,7 @@ cumulus_based = true
 
 	[[parachains.collators]]
 	name = "wockmint-collator2"
-	command = "{{POLKADOT_PARACHAIN_BINARY_PATH_FOR_WOCKMINT}}"
+	command = "{{POLKADOT_PARACHAIN_BINARY_PATH_FOR_ASSET_HUB_WOCOCO}}"
 	args = [
 		"-lparachain=debug,xcm=trace,runtime::bridge-transfer=trace",
 	]
-- 
GitLab