git.delta.rocks / unique-network / refs/commits / d1366f7a9392

difftreelog

test(xcm) manually initialize HRMP

Yaroslav Bolyukin2023-10-19parent: #b423b29.patch.diff
in: master

5 files changed

modified.baedeker/xcm-opal.jsonnetdiffbeforeafterboth
--- a/.baedeker/xcm-opal.jsonnet
+++ b/.baedeker/xcm-opal.jsonnet
@@ -11,8 +11,8 @@
 	spec: {Genesis:{
 		chain: relay_spec,
 		modify:: m.genericRelay($, hrmp = [
-			[$.parachains.opal.paraId, $.parachains.westmint.paraId, 8, 512],
-			[$.parachains.westmint.paraId, $.parachains.opal.paraId, 8, 512],
+			// [$.parachains.opal.paraId, $.parachains.westmint.paraId, 8, 512],
+			// [$.parachains.westmint.paraId, $.parachains.opal.paraId, 8, 512],
 		]),
 	}},
 	nodes: {
modified.baedeker/xcm-quartz.jsonnetdiffbeforeafterboth
--- a/.baedeker/xcm-quartz.jsonnet
+++ b/.baedeker/xcm-quartz.jsonnet
@@ -11,13 +11,13 @@
 	spec: {Genesis:{
 		chain: relay_spec,
 		modify:: m.genericRelay($, hrmp = std.join([], [
-			[[$.parachains[a].paraId, $.parachains[b].paraId, 8, 512], [$.parachains[b].paraId, $.parachains[a].paraId, 8, 512]],
-			for [a, b] in [
-				['quartz', 'karura'],
-				['quartz', 'moonriver'],
-				['quartz', 'statemine'],
-				['quartz', 'shiden'],
-			]
+			// [[$.parachains[a].paraId, $.parachains[b].paraId, 8, 512], [$.parachains[b].paraId, $.parachains[a].paraId, 8, 512]],
+			// for [a, b] in [
+			// 	['quartz', 'karura'],
+			// 	['quartz', 'moonriver'],
+			// 	['quartz', 'statemine'],
+			// 	['quartz', 'shiden'],
+			// ]
 		])),
 	}},
 	nodes: {
modified.baedeker/xcm-unique.jsonnetdiffbeforeafterboth
--- a/.baedeker/xcm-unique.jsonnet
+++ b/.baedeker/xcm-unique.jsonnet
@@ -13,11 +13,11 @@
 		modify:: m.genericRelay($, hrmp = std.join([], [
 			[[$.parachains[a].paraId, $.parachains[b].paraId, 8, 512], [$.parachains[b].paraId, $.parachains[a].paraId, 8, 512]],
 			for [a, b] in [
-				['unique', 'acala'],
-				['unique', 'moonbeam'],
-				['unique', 'statemint'],
-				['unique', 'astar'],
-				['unique', 'polkadex'],
+				// ['unique', 'acala'],
+				// ['unique', 'moonbeam'],
+				// ['unique', 'statemint'],
+				// ['unique', 'astar'],
+				// ['unique', 'polkadex'],
 			]
 		])),
 	}},
modified.github/workflows/xcm.ymldiffbeforeafterboth
326 path: ${{ steps.bdk.outputs.composeProject }}326 path: ${{ steps.bdk.outputs.composeProject }}
327 retention-days: 2327 retention-days: 2
328
329 - name: Yarn install
330 working-directory: tests
331 run: |
332 yarn install
333 yarn add mochawesome
334
335 - name: Call HRMP initialization
336 working-directory: tests
337 run: |
338 yarn ts-node --esm src/util/createHrmp.ts ${{matrix.network}}
328339
329 - name: Run XCM tests340 - name: Run XCM tests
330 working-directory: tests341 working-directory: tests
331 run: |342 run: |
332 yarn install343 # Wanted by both wait_for_first_block
333 yarn add mochawesome
334 # Wanted by both wait_for_first_block344 export RPC_URL="${RELAY_OPAL_HTTP_URL:-${RELAY_QUARTZ_HTTP_URL:-${RELAY_UNIQUE_HTTP_URL:-}}}"
335 export RPC_URL="${RELAY_OPAL_HTTP_URL:-${RELAY_QUARTZ_HTTP_URL:-${RELAY_UNIQUE_HTTP_URL:-}}}"345 ./scripts/wait_for_first_block.sh
336 ./scripts/wait_for_first_block.sh346 echo "Ready to start tests"
337 echo "Ready to start tests"347 NOW=$(date +%s) && yarn ${{ matrix.runtest }} --reporter mochawesome --reporter-options reportFilename=test-${NOW}
338 NOW=$(date +%s) && yarn ${{ matrix.runtest }} --reporter mochawesome --reporter-options reportFilename=test-${NOW}
339348
340 - name: XCM Test Report349 - name: XCM Test Report
341 uses: phoenix-actions/test-reporting@v10350 uses: phoenix-actions/test-reporting@v10
addedtests/src/util/createHrmp.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/util/createHrmp.ts
@@ -0,0 +1,30 @@
+import {usingPlaygrounds} from '.';
+import config from '../config';
+
+const profile = process.argv[2];
+if(!profile) throw new Error('missing profile/relay argument');
+
+await usingPlaygrounds(async (helper, privateKey) => {
+  const bidirOpen = async (a: number, b: number) => {
+    console.log(`Opening ${a} <=> ${b}`);
+    await helper.getSudo().executeExtrinsic(alice, 'api.tx.hrmp.forceOpenHrmpChannel', [a, b, 8, 512]);
+    await helper.getSudo().executeExtrinsic(alice, 'api.tx.hrmp.forceOpenHrmpChannel', [b, a, 8, 512]);
+  };
+  const alice = await privateKey('//Alice');
+  switch (profile) {
+    case 'opal':
+      await bidirOpen(1001, 1002);
+      break;
+    case 'quartz':
+    case 'unique':
+      await bidirOpen(1001, 1002);
+      await bidirOpen(1001, 1003);
+      await bidirOpen(1001, 1004);
+      await bidirOpen(1001, 1005);
+      break;
+    default:
+      throw new Error(`unknown hrmp config profile: ${profile}`);
+  }
+}, config.relayUrl);
+// We miss disconnect/unref somewhere.
+process.exit(0);