From 66f97a2d1156d751de9d0a68dfb9e72793fddaa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 16 Oct 2025 21:41:00 +0300 Subject: [PATCH 01/40] Create PAHM E2E test suites --- .../src/assetHubPolkadot.bounties.e2e.test.ts | 11 +++++++++++ .../src/assetHubPolkadot.governance.e2e.test.ts | 11 +++++++++++ .../src/assetHubPolkadot.nominationPools.e2e.test.ts | 11 +++++++++++ .../src/assetHubPolkadot.scheduler.e2e.test.ts | 11 +++++++++++ .../polkadot/src/assetHubPolkadot.staking.e2e.test.ts | 11 +++++++++++ 5 files changed, 55 insertions(+) create mode 100644 packages/polkadot/src/assetHubPolkadot.bounties.e2e.test.ts create mode 100644 packages/polkadot/src/assetHubPolkadot.governance.e2e.test.ts create mode 100644 packages/polkadot/src/assetHubPolkadot.nominationPools.e2e.test.ts create mode 100644 packages/polkadot/src/assetHubPolkadot.scheduler.e2e.test.ts create mode 100644 packages/polkadot/src/assetHubPolkadot.staking.e2e.test.ts diff --git a/packages/polkadot/src/assetHubPolkadot.bounties.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.bounties.e2e.test.ts new file mode 100644 index 000000000..23b714445 --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.bounties.e2e.test.ts @@ -0,0 +1,11 @@ +import { assetHubPolkadot } from '@e2e-test/networks/chains' +import { baseBountiesE2ETests, type ParaTestConfig, registerTestTree } from '@e2e-test/shared' + +const testConfig: ParaTestConfig = { + testSuiteName: 'Polkadot Asset Hub Bounties', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} + +registerTestTree(baseBountiesE2ETests(assetHubPolkadot, testConfig)) diff --git a/packages/polkadot/src/assetHubPolkadot.governance.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.governance.e2e.test.ts new file mode 100644 index 000000000..d9ceb5155 --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.governance.e2e.test.ts @@ -0,0 +1,11 @@ +import { assetHubPolkadot } from '@e2e-test/networks/chains' +import { baseGovernanceE2ETests, registerTestTree } from '@e2e-test/shared' + +registerTestTree( + baseGovernanceE2ETests(assetHubPolkadot, { + testSuiteName: 'Polkadot Asset Hub Governance', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', + }), +) diff --git a/packages/polkadot/src/assetHubPolkadot.nominationPools.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.nominationPools.e2e.test.ts new file mode 100644 index 000000000..c8ce86592 --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.nominationPools.e2e.test.ts @@ -0,0 +1,11 @@ +import { assetHubPolkadot } from '@e2e-test/networks/chains' +import { baseNominationPoolsE2ETests, registerTestTree, type TestConfig } from '@e2e-test/shared' + +const assetHubPolkadotTestConfig: TestConfig = { + testSuiteName: 'Polkadot Asset Hub Nomination Pools', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} + +registerTestTree(baseNominationPoolsE2ETests(assetHubPolkadot, assetHubPolkadotTestConfig)) diff --git a/packages/polkadot/src/assetHubPolkadot.scheduler.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.scheduler.e2e.test.ts new file mode 100644 index 000000000..5d7c97408 --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.scheduler.e2e.test.ts @@ -0,0 +1,11 @@ +import { assetHubPolkadot } from '@e2e-test/networks/chains' +import { baseSchedulerE2ETests, type ParaTestConfig, registerTestTree } from '@e2e-test/shared' + +const assetHubPolkadotTestConfig: ParaTestConfig = { + testSuiteName: 'Polkadot Asset Hub Scheduler', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} + +registerTestTree(baseSchedulerE2ETests(assetHubPolkadot, assetHubPolkadotTestConfig)) diff --git a/packages/polkadot/src/assetHubPolkadot.staking.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.staking.e2e.test.ts new file mode 100644 index 000000000..3de3447e5 --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.staking.e2e.test.ts @@ -0,0 +1,11 @@ +import { assetHubPolkadot } from '@e2e-test/networks/chains' +import { fullStakingE2ETests, registerTestTree, type TestConfig } from '@e2e-test/shared' + +const assetHubPolkadotTestConfig: TestConfig = { + testSuiteName: 'Polkadot Asset Hub Staking', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} + +registerTestTree(fullStakingE2ETests(assetHubPolkadot, assetHubPolkadotTestConfig)) From 0c3cceb987367ad3d9b05b23f7a0a71ed42bf8c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Mon, 20 Oct 2025 14:31:28 +0100 Subject: [PATCH 02/40] Initialize PAHM E2E test suites --- ...assetHubPolkadot.accounts.e2e.test.ts.snap | 64 +- ...assetHubPolkadot.bounties.e2e.test.ts.snap | 955 ++++++++++++++++++ ...setHubPolkadot.governance.e2e.test.ts.snap | 558 ++++++++++ ...bPolkadot.nominationPools.e2e.test.ts.snap | 534 ++++++++++ .../assetHubPolkadot.proxy.e2e.test.ts.snap | 213 +++- ...ssetHubPolkadot.scheduler.e2e.test.ts.snap | 612 +++++++++++ .../assetHubPolkadot.staking.e2e.test.ts.snap | 860 ++++++++++++++++ 7 files changed, 3737 insertions(+), 59 deletions(-) create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.governance.e2e.test.ts.snap create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.nominationPools.e2e.test.ts.snap create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.scheduler.e2e.test.ts.snap create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap index dd6e49ca9..efa4d1b38 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap @@ -154,69 +154,23 @@ exports[`Polkadot Asset Hub Accounts > \`transfer_all\` > transfer all with keep ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 900000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: deposit=referendum submission"`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via multisig creation > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: reserve=nomination pool"`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via proxy addition > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: reserve=nomination pool"`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via referendum submission > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: reserve=nomination pool, deposit=referendum submission"`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via multisig creation > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: reserve=staking bond"`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via proxy addition > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: reserve=staking bond"`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via referendum submission > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: reserve=staking bond, deposit=referendum submission"`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; exports[`Polkadot Asset Hub Accounts > transfer_allow_death > account with reserves is not reaped when transferring funds > events when Alice with reserve transfers to Bob 1`] = `[]`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap new file mode 100644 index 000000000..a6fb76574 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap @@ -0,0 +1,955 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`Polkadot Asset Hub Bounties > All bounty failure tests > Bounty cannot be awarded if it has an active child bounty > child bounty added events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Added", + "section": "childBounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty failure tests > Bounty cannot be claimed in active state > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty failure tests > Bounty cannot be claimed in active state > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty failure tests > Bounty cannot be claimed in active state > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty failure tests > Bounty cannot be claimed in active state > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty failure tests > Bounty cannot be claimed in active state > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty failure tests > Bounty closure in approved state > scheduler events when closing bounty with approved state fails 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x03000000", + "index": 65, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty failure tests > Bounty closure in pending payout state > scheduler events when closing bounty with pending payout fails 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x07000000", + "index": 65, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > Bounty bond is deposited to the treasury 1`] = ` +[ + { + "data": "(redacted)", + "method": "Deposit", + "section": "treasury", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > curator slash event 1`] = ` +[ + { + "data": { + "amount": 2000000000000, + "who": "(redacted)", + }, + "method": "Slashed", + "section": "balances", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > curator unassigned active by treasurer events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + }, + "method": "CuratorUnassigned", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > curator unassigned active by curator events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + }, + "method": "CuratorUnassigned", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in ApprovedWithCurator state > curator unassigned approved with curator events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + }, + "method": "CuratorUnassigned", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in CuratorProposed state > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in CuratorProposed state > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in CuratorProposed state > curator unassigned curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + }, + "method": "CuratorUnassigned", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > Bounty bond is deposited to the treasury 1`] = ` +[ + { + "data": "(redacted)", + "method": "Deposit", + "section": "treasury", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > bounty awarded events 1`] = ` +[ + { + "data": { + "beneficiary": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "index": "(redacted)", + }, + "method": "BountyAwarded", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > curator slash event 1`] = ` +[ + { + "data": { + "amount": 2000000000000, + "who": "(redacted)", + }, + "method": "Slashed", + "section": "balances", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > curator unassigned pending payout events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + }, + "method": "CuratorUnassigned", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > Bounty value is transferred to the treasury 1`] = ` +[ + { + "data": { + "amount": 100000000000000, + "from": "(redacted)", + "to": "(redacted)", + }, + "method": "Transfer", + "section": "balances", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > bounty canceled event 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyCanceled", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty canceled events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyCanceled", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty value transferred to treasury 1`] = ` +[ + { + "data": { + "amount": 100000000000000, + "from": "(redacted)", + "to": "(redacted)", + }, + "method": "Transfer", + "section": "balances", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in proposed state > bounty rejected events 1`] = ` +[ + { + "data": { + "bond": "(rounded 22000000)", + "index": "(redacted)", + }, + "method": "BountyRejected", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in proposed state > proposer bond slashed event 1`] = ` +[ + { + "data": { + "amount": "(rounded 22000000)", + "who": "(redacted)", + }, + "method": "Slashed", + "section": "balances", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty approval tests > Bounty approval flow > bounty approval events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty approval tests > Bounty approval flow with curator > bounty approval with curator events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty approval tests > Bounty approval flow with curator > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty awarding and claiming > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty awarding and claiming > bounty awarded events 1`] = ` +[ + { + "data": { + "beneficiary": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "index": "(redacted)", + }, + "method": "BountyAwarded", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty awarding and claiming > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty awarding and claiming > bounty claimed events 1`] = ` +[ + { + "data": { + "beneficiary": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "index": "(redacted)", + "payout": 90000000000000, + }, + "method": "BountyClaimed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty awarding and claiming > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty awarding and claiming > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty awarding and claiming > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty extension > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty extension > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty extension > bounty extended events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyExtended", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty extension > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty extension > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty extension > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty funding tests > Bounty funding for Approved Bounties > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty funding tests > Bounty funding for Approved Bounties > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty funding tests > Bounty funding for Approved Bounties > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty funding tests > Bounty funding for ApprovedWithCurator Bounties > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty funding tests > Bounty funding for ApprovedWithCurator Bounties > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty funding tests > Bounty funding for ApprovedWithCurator Bounties > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty funding tests > Bounty funding for ApprovedWithCurator Bounties > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Creating a bounty > bounty proposal events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Curator assignment and acceptance > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Curator assignment and acceptance > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Curator assignment and acceptance > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Curator assignment and acceptance > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Bounties > All bounty success tests > Curator assignment and acceptance > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.governance.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.governance.e2e.test.ts.snap new file mode 100644 index 000000000..53a77f569 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.governance.e2e.test.ts.snap @@ -0,0 +1,558 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`Polkadot Asset Hub Governance > preimage tests > preimage submission, query and removal works > note preimage events 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > preimage tests > preimage submission, query and removal works > unnote preimage events 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Cleared", + "section": "preimage", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > cancelling referendum with signed origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 90000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > charlie's class locks after their vote's rescission 1`] = ` +[ + [ + 30, + 50000000000, + ], +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > charlie's votes after casting his 1`] = ` +{ + "standard": { + "balance": 50000000000, + "vote": "0x83", + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > charlie's votes after referendum's cancellation 1`] = ` +{ + "standard": { + "balance": 50000000000, + "vote": "0x83", + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > charlie's votes after rescission 1`] = ` +{ + "delegations": { + "capital": 0, + "votes": 0, + }, + "prior": [ + 0, + 0, + ], + "votes": [], +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > dave's class locks after their vote's rescission 1`] = ` +[ + [ + 30, + 60000000000, + ], +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > dave's votes after casting his 1`] = ` +{ + "split": { + "aye": 50000000000, + "nay": 10000000000, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > dave's votes after referendum's cancellation 1`] = ` +{ + "split": { + "aye": 50000000000, + "nay": 10000000000, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > dave's votes after rescission 1`] = ` +{ + "delegations": { + "capital": 0, + "votes": 0, + }, + "prior": [ + 0, + 0, + ], + "votes": [], +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > eve's class locks after their vote's rescission 1`] = ` +[ + [ + 30, + 80000000000, + ], +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > eve's votes after casting hers 1`] = ` +{ + "splitAbstain": { + "abstain": 20000000000, + "aye": 50000000000, + "nay": 10000000000, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > eve's votes after referendum's cancellation 1`] = ` +{ + "splitAbstain": { + "abstain": 20000000000, + "aye": 50000000000, + "nay": 10000000000, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > eve's votes after rescission 1`] = ` +{ + "delegations": { + "capital": 0, + "votes": 0, + }, + "prior": [ + 0, + 0, + ], + "votes": [], +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > events for bob's decision deposit 1`] = ` +[ + { + "data": { + "amount": 10000000000, + "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + }, + "method": "DecisionDepositPlaced", + "section": "referenda", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > events for charlie's vote 1`] = ` +[ + { + "data": { + "vote": { + "Standard": { + "balance": 50000000000, + "vote": { + "conviction": "Locked3x", + "vote": "Aye", + }, + }, + }, + "who": "14Gjs1TD93gnwEBfDMHoCgsuf1s2TVKUP6Z1qKmAZnZ8cW5q", + }, + "method": "Voted", + "section": "convictionVoting", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > events for dave's vote 1`] = ` +[ + { + "data": { + "vote": { + "Split": { + "aye": 50000000000, + "nay": 10000000000, + }, + }, + "who": "126TwBzBM4jUEK2gTphmW4oLoBWWnYvPp8hygmduTr4uds57", + }, + "method": "Voted", + "section": "convictionVoting", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > events for eve's vote 1`] = ` +[ + { + "data": { + "vote": { + "SplitAbstain": { + "abstain": 20000000000, + "aye": 50000000000, + "nay": 10000000000, + }, + }, + "who": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", + }, + "method": "Voted", + "section": "convictionVoting", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info after charlie's vote 1`] = ` +{ + "ongoing": { + "deciding": { + "confirming": null, + }, + "decisionDeposit": { + "amount": 10000000000, + "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + }, + "enactment": { + "after": 1, + }, + "inQueue": false, + "origin": { + "origins": "SmallTipper", + }, + "proposal": { + "inline": "0x3c030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + }, + "submissionDeposit": { + "amount": 10000000000, + "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", + }, + "tally": { + "ayes": 150000000000, + "nays": 0, + "support": 50000000000, + }, + "track": 30, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info after dave's vote 1`] = ` +{ + "ongoing": { + "deciding": { + "confirming": null, + }, + "decisionDeposit": { + "amount": 10000000000, + "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + }, + "enactment": { + "after": 1, + }, + "inQueue": false, + "origin": { + "origins": "SmallTipper", + }, + "proposal": { + "inline": "0x3c030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + }, + "submissionDeposit": { + "amount": 10000000000, + "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", + }, + "tally": { + "ayes": 155000000000, + "nays": 1000000000, + "support": 100000000000, + }, + "track": 30, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info after eve's vote 1`] = ` +{ + "ongoing": { + "deciding": { + "confirming": null, + }, + "decisionDeposit": { + "amount": 10000000000, + "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + }, + "enactment": { + "after": 1, + }, + "inQueue": false, + "origin": { + "origins": "SmallTipper", + }, + "proposal": { + "inline": "0x3c030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + }, + "submissionDeposit": { + "amount": 10000000000, + "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", + }, + "tally": { + "ayes": 160000000000, + "nays": 2000000000, + "support": 170000000000, + }, + "track": 30, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info before decision deposit 1`] = ` +{ + "ongoing": { + "deciding": null, + "decisionDeposit": null, + "enactment": { + "after": 1, + }, + "inQueue": false, + "origin": { + "origins": "SmallTipper", + }, + "proposal": { + "inline": "0x3c030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + }, + "submissionDeposit": { + "amount": 10000000000, + "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", + }, + "tally": { + "ayes": 0, + "nays": 0, + "support": 0, + }, + "track": 30, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info post decision deposit 1`] = ` +{ + "ongoing": { + "deciding": null, + "decisionDeposit": { + "amount": 10000000000, + "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + }, + "enactment": { + "after": 1, + }, + "inQueue": false, + "origin": { + "origins": "SmallTipper", + }, + "proposal": { + "inline": "0x3c030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + }, + "submissionDeposit": { + "amount": 10000000000, + "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", + }, + "tally": { + "ayes": 0, + "nays": 0, + "support": 0, + }, + "track": 30, + }, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum submission events 1`] = ` +[ + { + "data": { + "proposal": { + "Inline": "(hash)", + }, + "track": 30, + }, + "method": "Submitted", + "section": "referenda", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum upon start of decision period 1`] = ` +{ + "deciding": { + "confirming": null, + }, + "decisionDeposit": { + "amount": 10000000000, + "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + }, + "enactment": { + "after": 1, + }, + "inQueue": false, + "origin": { + "origins": "SmallTipper", + }, + "proposal": { + "inline": "0x3c030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + }, + "submissionDeposit": { + "amount": 10000000000, + "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", + }, + "tally": { + "ayes": 0, + "nays": 0, + "support": 0, + }, + "track": 30, +} +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > refund of decision deposit 1`] = ` +[ + { + "data": { + "amount": 10000000000, + "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + }, + "method": "DecisionDepositRefunded", + "section": "referenda", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > refund of submission deposit 1`] = ` +[ + { + "data": { + "amount": 10000000000, + "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", + }, + "method": "SubmissionDepositRefunded", + "section": "referenda", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > removal of votes in cancelled referendum 1`] = ` +[ + { + "data": { + "amount": "(rounded 62000000)", + }, + "method": "Withdraw", + "section": "balances", + }, + { + "data": {}, + "method": "ItemCompleted", + "section": "utility", + }, + { + "data": {}, + "method": "ItemCompleted", + "section": "utility", + }, + { + "data": {}, + "method": "ItemCompleted", + "section": "utility", + }, + { + "data": {}, + "method": "BatchCompleted", + "section": "utility", + }, + { + "data": { + "amount": "(rounded 62000000)", + }, + "method": "Deposit", + "section": "balances", + }, + { + "data": { + "actualFee": "(rounded 62000000)", + "tip": 0, + }, + "method": "TransactionFeePaid", + "section": "transactionPayment", + }, + { + "data": { + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 100000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicSuccess", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test 2 - submission, decision deposit, and killing should work > killing referendum with signed origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 90000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.nominationPools.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.nominationPools.e2e.test.ts.snap new file mode 100644 index 000000000..0d5c1e8e2 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.nominationPools.e2e.test.ts.snap @@ -0,0 +1,534 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool creation with insufficient funds > create nomination pool with insufficient funds events 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x08000000", + "index": 80, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 3000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool double join test: an account can only ever be in one pool at a time > join nomination pool events 1`] = ` +[ + { + "data": { + "amount": 10000000000, + }, + "method": "Bonded", + "section": "staking", + }, + { + "data": { + "bonded": 10000000000, + "joined": true, + "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", + }, + "method": "Bonded", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool double join test: an account can only ever be in one pool at a time > join second nomination pool events 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x04000000", + "index": 80, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 3000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool global config test > setting global nomination pool configs with signed origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool global config test > system events 1`] = ` +[ + { + "data": { + "globalMaxCommission": "10.00%", + "maxMembers": 2, + "maxMembersPerPool": 2, + "maxPools": 2, + "minCreateBond": "(rounded 5000000000000)", + "minJoinBond": "(rounded 10000000000)", + }, + "method": "GlobalParamsUpdated", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool global config test > system events 2`] = ` +[ + { + "data": { + "globalMaxCommission": "10.00%", + "maxMembers": 3, + "maxMembersPerPool": 3, + "maxPools": 3, + "minCreateBond": "(rounded 5000000000000)", + "minJoinBond": "(rounded 10000000000)", + }, + "method": "GlobalParamsUpdated", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > bond extra funds events 1`] = ` +[ + { + "data": { + "amount": "(rounded 5000000000000)", + }, + "method": "Bonded", + "section": "staking", + }, + { + "data": { + "bonded": "(rounded 5000000000000)", + "joined": false, + "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", + }, + "method": "Bonded", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > chill events 1`] = ` +[ + { + "data": {}, + "method": "Chilled", + "section": "staking", + }, + { + "data": { + "caller": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", + }, + "method": "PoolNominatorChilled", + "section": "nominationPools", + }, + { + "data": { + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicSuccess", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > claim commission events 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x1a000000", + "index": 80, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > commission alteration events 1`] = ` +[ + { + "data": { + "current": [ + "0.10%", + "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", + ], + }, + "method": "PoolCommissionUpdated", + "section": "nominationPools", + }, + { + "data": { + "maxCommission": "1.00%", + }, + "method": "PoolMaxCommissionUpdated", + "section": "nominationPools", + }, + { + "data": { + "changeRate": { + "maxIncrease": "100.00%", + "minDelay": 10, + }, + }, + "method": "PoolCommissionChangeRateUpdated", + "section": "nominationPools", + }, + { + "data": { + "permission": "Permissionless", + }, + "method": "PoolCommissionClaimPermissionUpdated", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > create nomination pool events 1`] = ` +[ + { + "data": { + "amount": 5000000000000, + }, + "method": "Bonded", + "section": "staking", + }, + { + "data": { + "depositor": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Created", + "section": "nominationPools", + }, + { + "data": { + "bonded": 5000000000000, + "joined": true, + "member": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Bonded", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > join nomination pool events 1`] = ` +[ + { + "data": { + "amount": 5000000000000, + }, + "method": "Bonded", + "section": "staking", + }, + { + "data": { + "bonded": 5000000000000, + "joined": true, + "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", + }, + "method": "Bonded", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > nomination pool validator selection events 1`] = ` +[ + { + "data": { + "caller": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", + }, + "method": "PoolNominationMade", + "section": "nominationPools", + }, + { + "data": { + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 50000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicSuccess", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > set state events 1`] = ` +[ + { + "data": { + "newState": "Blocked", + }, + "method": "StateChanged", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > set state to destroying events 1`] = ` +[ + { + "data": { + "newState": "Destroying", + }, + "method": "StateChanged", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > unbond (depositor) events 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x08000000", + "index": 80, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 40000)", + "refTime": "(rounded 3000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > unbond (kick) events 1`] = ` +[ + { + "data": { + "amount": 5000000000000, + }, + "method": "Unbonded", + "section": "staking", + }, + { + "data": { + "balance": 5000000000000, + "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", + "points": 5000000000000, + }, + "method": "Unbonded", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > unbond events 1`] = ` +[ + { + "data": { + "amount": "(rounded 5000000000000)", + }, + "method": "Unbonded", + "section": "staking", + }, + { + "data": { + "balance": "(rounded 5000000000000)", + "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", + "points": "(rounded 5000000000000)", + }, + "method": "Unbonded", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool lifecycle test > update roles events 1`] = ` +[ + { + "data": { + "bouncer": "15Y1VYcCkzD91e5hzAW36wynBfh3inNzzwmUYF9gtm6NZwzi", + "nominator": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", + "root": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "RolesUpdated", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool metadata test > create nomination pool events 1`] = ` +[ + { + "data": { + "amount": 5000000000000, + }, + "method": "Bonded", + "section": "staking", + }, + { + "data": { + "depositor": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Created", + "section": "nominationPools", + }, + { + "data": { + "bonded": 5000000000000, + "joined": true, + "member": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Bonded", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pool metadata test > set metadata events 1`] = ` +[ + { + "data": { + "caller": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "MetadataUpdated", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pools update roles test > update pool roles via scheduler pallet 1`] = ` +[ + { + "event": { + "data": [ + "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", + "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", + "15Y1VYcCkzD91e5hzAW36wynBfh3inNzzwmUYF9gtm6NZwzi", + ], + "index": "0x5008", + }, + "phase": { + "initialization": null, + }, + "topics": [], + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pools update roles test > update roles events 1`] = ` +[ + { + "data": { + "bouncer": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + "nominator": "15Y1VYcCkzD91e5hzAW36wynBfh3inNzzwmUYF9gtm6NZwzi", + "root": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "RolesUpdated", + "section": "nominationPools", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pools update roles test > update roles failure events 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x11000000", + "index": 80, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 800000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Nomination Pools > nomination pools update roles test > update roles remove self events 1`] = ` +[ + { + "data": { + "bouncer": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + "nominator": "15Y1VYcCkzD91e5hzAW36wynBfh3inNzzwmUYF9gtm6NZwzi", + "root": null, + }, + "method": "RolesUpdated", + "section": "nominationPools", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.proxy.e2e.test.ts.snap index 29c55bbc5..40efbb910 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.proxy.e2e.test.ts.snap @@ -412,6 +412,18 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet bounties, call propose_bounty 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet multisig, call as_multi 1`] = ` [ { @@ -431,6 +443,25 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet nomination_pools, call chill 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x0b000000", + "index": 80, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet proxy, call reject_announcement 1`] = ` [ { @@ -469,6 +500,30 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet referenda, call submit 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet system, call remark 1`] = ` [ { @@ -1064,6 +1119,18 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet bounties, call propose_bounty 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet multisig, call as_multi 1`] = ` [ { @@ -1083,6 +1150,25 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet nomination_pools, call chill 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x0b000000", + "index": 80, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call reject_announcement 1`] = ` [ { @@ -1121,6 +1207,30 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet referenda, call submit 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet system, call remark 1`] = ` [ { @@ -1181,7 +1291,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet vesting, call vested_transfer 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetManager > events for proxy type AssetManager, pallet assets, call create 1`] = ` [ { "data": { @@ -1200,7 +1310,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetManager > events for proxy type AssetManager, pallet assets, call create 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetManager > events for proxy type AssetManager, pallet balances, call burn 1`] = ` [ { "data": { @@ -1219,7 +1329,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetManager > events for proxy type AssetManager, pallet balances, call burn 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetManager > events for proxy type AssetManager, pallet nfts, call destroy 1`] = ` [ { "data": { @@ -1238,7 +1348,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetManager > events for proxy type AssetManager, pallet nfts, call destroy 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetManager > events for proxy type AssetManager, pallet staking, call bond 1`] = ` [ { "data": { @@ -1390,6 +1500,25 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetOwner > events for proxy type AssetOwner, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetOwner > events for proxy type AssetOwner, pallet system, call apply_authorized_upgrade 1`] = ` [ { @@ -1485,6 +1614,25 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Assets > events for proxy type Assets, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Assets > events for proxy type Assets, pallet system, call apply_authorized_upgrade 1`] = ` [ { @@ -1561,6 +1709,25 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call apply_authorized_upgrade 1`] = ` [ { @@ -1637,6 +1804,44 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet referenda, call submit 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet system, call apply_authorized_upgrade 1`] = ` [ { diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.scheduler.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.scheduler.e2e.test.ts.snap new file mode 100644 index 000000000..945546169 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.scheduler.e2e.test.ts.snap @@ -0,0 +1,612 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`Polkadot Asset Hub Scheduler > cancel named scheduled task with wrong origin > events when cancelling named task with insufficient origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 50000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > cancel scheduled task with wrong origin > events when cancelling task with insufficient origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 50000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > cancelling a named scheduled task is possible > events for scheduled task cancellation 1`] = ` +[ + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Canceled", + "section": "scheduler", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > cancelling a scheduled task is possible > events for scheduled task cancellation 1`] = ` +[ + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Canceled", + "section": "scheduler", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > execution of scheduled preimage lookup call works > events for scheduled lookup-task execution 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > execution of scheduled preimage lookup call works > note preimage events 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > priority-based execution of weighted tasks works correctly > events for priority weighted tasks execution 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, + { + "data": { + "when": "(redacted)", + }, + "method": "AgendaIncomplete", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > schedule named task with wrong origin > events when scheduling named task with insufficient origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 60000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > schedule task with wrong origin > events when scheduling task with insufficient origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 60000)", + "refTime": "(rounded 900000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a call is possible, and the call itself succeeds > events for scheduled task execution 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a call using a preimage that gets removed > events for failing scheduled lookup-task execution 1`] = ` +[ + { + "data": { + "id": null, + "task": "(redacted)", + }, + "method": "CallUnavailable", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a call using a preimage that gets removed > note preimage events 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a named call is possible, and the call itself succeeds > events for scheduled task execution 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": "(hash)", + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a named periodic is possible > events for named periodic task execution 1 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": "(hash)", + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Scheduled", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a named periodic is possible > events for named periodic task execution 2 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": "(hash)", + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Scheduled", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a named periodic is possible > events for named periodic task execution 3 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": "(hash)", + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a named task after a delay is possible > events for scheduled task execution 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": "(hash)", + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a named task after a delay is possible > events when scheduling task with delay 1`] = ` +[ + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Scheduled", + "section": "scheduler", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a periodic task is possible > events for periodic task execution 1 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Scheduled", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a periodic task is possible > events for periodic task execution 2 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Scheduled", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a periodic task is possible > events for periodic task execution 3 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a task after a delay is possible > events for scheduled task execution 1`] = ` +[ + { + "data": { + "new_": "(redacted)", + "old": "(redacted)", + }, + "method": "TotalIssuanceForced", + "section": "balances", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling a task after a delay is possible > events when scheduling task with delay 1`] = ` +[ + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Scheduled", + "section": "scheduler", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > scheduling an overweight call is possible, but the call itself fails > events when scheduling overweight task 1`] = ` +[ + { + "data": { + "when": "(redacted)", + }, + "method": "AgendaIncomplete", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > setting and canceling retry configuration for named scheduled tasks > events for failed named task execution 1`] = ` +[ + { + "data": { + "id": "(hash)", + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Scheduled", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > setting and canceling retry configuration for named scheduled tasks > events for retry config cancellation 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x01000000", + "index": 6, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > setting and canceling retry configuration for unnamed scheduled tasks > events for failed anonymous task execution 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, + { + "data": { + "index": 0, + "when": "(redacted)", + }, + "method": "Scheduled", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Scheduler > setting and canceling retry configuration for unnamed scheduled tasks > events for retry config cancellation 1`] = ` +[ + { + "data": { + "id": null, + "task": "(redacted)", + }, + "method": "RetryCancelled", + "section": "scheduler", + }, + { + "data": { + "id": null, + "result": "Ok", + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap new file mode 100644 index 000000000..138b81cc9 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap @@ -0,0 +1,860 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`Polkadot Asset Hub Staking > base staking tests > chill other > chill other bad origin events 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x13000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > chill other > chill other bad origin events 2`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x13000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > chill other > chill other bad origin events 3`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x13000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > chill other > chill other bad origin events 4`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x13000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > chill other > chill other bad origin events 5`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x13000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > chill other > chill other bad origin events 6`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x13000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > chill other > chill other bad origin events 7`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x13000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > chill other > chill other events 1`] = ` +[ + { + "data": { + "stash": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "Chilled", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > force apply validator commission > force apply min commission events 1`] = ` +[ + { + "data": { + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 800000000)", + }, + }, + }, + "method": "ExtrinsicSuccess", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > modify validator count > increase validator count bad origin events 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 700000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > modify validator count > scale validator count bad origin events 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 700000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > modify validator count > set validator count bad origin events 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 700000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with bad origin > events when setting invulnerables with bad staking admin origin 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with bad origin > set invulnerables events with bad signed origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 700000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with root origin > alice funds post slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 5000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with root origin > alice funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with root origin > balances slash events 1`] = `[]`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with root origin > bob funds post slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 0, +} +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with root origin > bob funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with root origin > charlie funds post slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 0, +} +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with root origin > charlie funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set invulnerables with root origin > staking slash events 1`] = ` +[ + { + "data": { + "amount": 5000000000000, + "staker": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Slashed", + "section": "staking", + }, + { + "data": { + "amount": 10000000000000, + "staker": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "Slashed", + "section": "staking", + }, + { + "data": { + "amount": 10000000000000, + "staker": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", + }, + "method": "Slashed", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set minimum validator commission > set staking configs bad origin events 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 700000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set staking configs > set staking configs bad origin events 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > set staking configs > set staking configs event 1`] = ` +{ + "event": { + "data": [ + { + "class": "Mandatory", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 1000)", + "refTime": "(rounded 300000000)", + }, + }, + ], + "index": "0x0000", + }, + "phase": { + "applyExtrinsic": 0, + }, + "topics": [], +} +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > chill events 1`] = ` +[ + { + "data": { + "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", + }, + "method": "Chilled", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > events when attempting to nominate a blocked validator 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x12000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > kick events 1`] = ` +[ + { + "data": { + "nominator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", + }, + "method": "Kicked", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > nominator bond events 1`] = ` +[ + { + "data": { + "amount": 100000000000000, + "stash": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Bonded", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > nominator bond extra events 1`] = ` +[ + { + "data": { + "amount": 100000000000000, + "stash": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Bonded", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > unbond events 1`] = `[]`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validate (blocked) events 1`] = ` +[ + { + "data": { + "prefs": { + "blocked": true, + "commission": "0.00%", + }, + "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", + }, + "method": "ValidatorPrefsSet", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validator 0 bond events 1`] = ` +[ + { + "data": { + "amount": 10000000000000, + "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", + }, + "method": "Bonded", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validator 0 validate events 1`] = ` +[ + { + "data": { + "prefs": { + "blocked": false, + "commission": "0.00%", + }, + "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", + }, + "method": "ValidatorPrefsSet", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validator 1 bond events 1`] = ` +[ + { + "data": { + "amount": 10000000000000, + "stash": "15KNQmEzwTTVzdDqa1ox9VaWSASEcboQHDLoiXbXDnwnZVzn", + }, + "method": "Bonded", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validator 1 validate events 1`] = ` +[ + { + "data": { + "prefs": { + "blocked": false, + "commission": "0.00%", + }, + "stash": "15KNQmEzwTTVzdDqa1ox9VaWSASEcboQHDLoiXbXDnwnZVzn", + }, + "method": "ValidatorPrefsSet", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validator 2 bond events 1`] = ` +[ + { + "data": { + "amount": 10000000000000, + "stash": "13H7FnvuDAYZWhvRzJuNDd1Jrdm91bnWBuD9dqN1HJZAeNt9", + }, + "method": "Bonded", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validator 2 validate events 1`] = ` +[ + { + "data": { + "prefs": { + "blocked": false, + "commission": "0.00%", + }, + "stash": "13H7FnvuDAYZWhvRzJuNDd1Jrdm91bnWBuD9dqN1HJZAeNt9", + }, + "method": "ValidatorPrefsSet", + "section": "staking", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > test force unstaking of nominator > force unstake bad origin events 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > trying to become a validator with no bonded funds fails > events when attempting to validate with no bonded funds 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x00000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 10000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > base staking tests > trying to nominate with no bonded funds fails > events when attempting to nominate with no bonded funds 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x00000000", + "index": 89, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 2000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > cancel deferred slash as admin > alice funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(rounded 1000000000000)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > cancel deferred slash as admin > bob funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(rounded 1000000000000)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > cancel deferred slash as admin > charlie funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(rounded 1000000000000)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > cancel deferred slash as root > alice funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(rounded 1000000000000)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > cancel deferred slash as root > bob funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(rounded 1000000000000)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > cancel deferred slash as root > charlie funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(rounded 1000000000000)", + "frozen": 0, + "reserved": 10000000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > cancel deferred slash with bad origin > cancel deferred slash events with bad origin 1`] = ` +[ + { + "data": { + "dispatchError": "BadOrigin", + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 50000)", + "refTime": "(rounded 800000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > unapplied slash > alice funds post slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 1250000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > unapplied slash > alice funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 2500000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > unapplied slash > balances slash events 1`] = `[]`; + +exports[`Polkadot Asset Hub Staking > slashing tests > unapplied slash > bob funds post slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 0, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > unapplied slash > bob funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 2500000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > unapplied slash > charlie funds post slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 0, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > unapplied slash > charlie funds pre slash 1`] = ` +{ + "flags": "0x80000000000000000000000000000000", + "free": "(redacted)", + "frozen": 0, + "reserved": 2500000000000, +} +`; + +exports[`Polkadot Asset Hub Staking > slashing tests > unapplied slash > staking slash events 1`] = ` +[ + { + "data": { + "amount": "(rounded 1300000000000)", + "staker": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Slashed", + "section": "staking", + }, + { + "data": { + "amount": 2500000000000, + "staker": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "Slashed", + "section": "staking", + }, + { + "data": { + "amount": 2500000000000, + "staker": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", + }, + "method": "Slashed", + "section": "staking", + }, +] +`; From 76247420dbf700d5dce8f080d91350cf1cffa857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Mon, 20 Oct 2025 22:43:03 +0100 Subject: [PATCH 03/40] Refactor vesting tests to function post-AHM Vesting periods now elapse according to a non-local block provider, the relay's, as opposed to a local one; vesting E2E tests and snapshots required an update that was not done for KAHM as vesting was mistakenly filtered there (even after the migration). --- ...assetHubPolkadot.accounts.e2e.test.ts.snap | 117 +++++++++++++++ .../assetHubPolkadot.vesting.e2e.test.ts.snap | 139 ++++++++++++++++++ .../src/assetHubPolkadot.accounts.e2e.test.ts | 1 + .../src/assetHubPolkadot.vesting.e2e.test.ts | 4 +- .../polkadot/src/polkadot.vesting.e2e.test.ts | 4 +- packages/shared/src/accounts.ts | 4 +- packages/shared/src/bounties.ts | 4 +- packages/shared/src/helpers/index.ts | 16 +- packages/shared/src/proxy.ts | 4 +- packages/shared/src/scheduler.ts | 34 ++--- packages/shared/src/vesting.ts | 87 +++++++---- 11 files changed, 350 insertions(+), 64 deletions(-) diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap index efa4d1b38..18588b061 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap @@ -154,22 +154,139 @@ exports[`Polkadot Asset Hub Accounts > \`transfer_all\` > transfer all with keep ] `; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > deposit action success events 1`] = ` +[ + { + "data": { + "amount": 10000000000, + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via multisig creation > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via proxy addition > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via referendum submission > deposit action success events 1`] = ` +[ + { + "data": { + "amount": 10000000000, + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via multisig creation > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via proxy addition > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; +exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via referendum submission > deposit action success events 1`] = ` +[ + { + "data": { + "amount": 10000000000, + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; exports[`Polkadot Asset Hub Accounts > transfer_allow_death > account with reserves is not reaped when transferring funds > events when Alice with reserve transfers to Bob 1`] = `[]`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.vesting.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.vesting.e2e.test.ts.snap index 0e477474d..853a67b65 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.vesting.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.vesting.e2e.test.ts.snap @@ -25,6 +25,44 @@ exports[`Polkadot Asset Hub Vesting > attempt to merge when no vesting schedules ] `; +exports[`Polkadot Asset Hub Vesting > forced vested transfer and forced removal of vesting schedule work > forced vested transfer event 1`] = ` +[ + "126TwBzBM4jUEK2gTphmW4oLoBWWnYvPp8hygmduTr4uds57", + 75000000, +] +`; + +exports[`Polkadot Asset Hub Vesting > forced vested transfer and forced removal of vesting schedule work > forced vesting removal event 1`] = ` +[ + "126TwBzBM4jUEK2gTphmW4oLoBWWnYvPp8hygmduTr4uds57", +] +`; + +exports[`Polkadot Asset Hub Vesting > merging vesting schedules when none exist fails > merge schedules extrinsic failed 1`] = ` +[ + { + "data": { + "dispatchError": { + "Module": { + "error": "0x00000000", + "index": 14, + }, + }, + "dispatchInfo": { + "class": "Normal", + "paysFee": "Yes", + "weight": { + "proofSize": "(rounded 20000)", + "refTime": "(rounded 1000000000)", + }, + }, + }, + "method": "ExtrinsicFailed", + "section": "system", + }, +] +`; + exports[`Polkadot Asset Hub Vesting > signed-origin force-vested transfer fails > force vest events 1`] = ` [ { @@ -44,3 +82,104 @@ exports[`Polkadot Asset Hub Vesting > signed-origin force-vested transfer fails }, ] `; + +exports[`Polkadot Asset Hub Vesting > test merger of two vesting schedules > vesting events 1 1`] = ` +[ + { + "data": { + "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", + "scheduleIndex": 0, + }, + "method": "VestingCreated", + "section": "vesting", + }, + { + "data": { + "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", + "unvested": "(rounded 210000000)", + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; + +exports[`Polkadot Asset Hub Vesting > test merger of two vesting schedules > vesting events 2 1`] = ` +[ + { + "data": { + "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", + "scheduleIndex": 1, + }, + "method": "VestingCreated", + "section": "vesting", + }, + { + "data": { + "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", + "unvested": "(rounded 620000000)", + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; + +exports[`Polkadot Asset Hub Vesting > test merger of two vesting schedules > vesting schedules merger events 1`] = ` +[ + { + "data": { + "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", + "unvested": "(rounded 510000000)", + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; + +exports[`Polkadot Asset Hub Vesting > vesting schedule lifecycle > vest events 1`] = ` +[ + { + "data": { + "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + "scheduleIndex": 0, + }, + "method": "VestingCreated", + "section": "vesting", + }, + { + "data": { + "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + "unvested": 50000000, + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; + +exports[`Polkadot Asset Hub Vesting > vesting schedule lifecycle > vest events 2`] = ` +[ + { + "data": { + "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + }, + "method": "VestingCompleted", + "section": "vesting", + }, +] +`; + +exports[`Polkadot Asset Hub Vesting > vesting schedule lifecycle > vest other events 1`] = ` +[ + { + "data": { + "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", + "unvested": 25000000, + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; diff --git a/packages/polkadot/src/assetHubPolkadot.accounts.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.accounts.e2e.test.ts index 372f78a2b..1802e5642 100644 --- a/packages/polkadot/src/assetHubPolkadot.accounts.e2e.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.accounts.e2e.test.ts @@ -21,6 +21,7 @@ const testCfg: TestConfig = { const lockActions = [manualLockAction()] const accountsCfg = createAccountsConfig({ + expectation: 'success', relayChain: polkadot, actions: { reserveActions: createDefaultReserveActions(), diff --git a/packages/polkadot/src/assetHubPolkadot.vesting.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.vesting.e2e.test.ts index 936725823..4177e11a5 100644 --- a/packages/polkadot/src/assetHubPolkadot.vesting.e2e.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.vesting.e2e.test.ts @@ -1,5 +1,5 @@ import { assetHubPolkadot } from '@e2e-test/networks/chains' -import { assetHubVestingE2ETests, type ParaTestConfig, registerTestTree } from '@e2e-test/shared' +import { fullVestingE2ETests, type ParaTestConfig, registerTestTree } from '@e2e-test/shared' const testConfig: ParaTestConfig = { testSuiteName: 'Polkadot Asset Hub Vesting', @@ -8,4 +8,4 @@ const testConfig: ParaTestConfig = { asyncBacking: 'Enabled', } -registerTestTree(assetHubVestingE2ETests(assetHubPolkadot, testConfig)) +registerTestTree(fullVestingE2ETests(assetHubPolkadot, testConfig)) diff --git a/packages/polkadot/src/polkadot.vesting.e2e.test.ts b/packages/polkadot/src/polkadot.vesting.e2e.test.ts index 5b306fa0a..f962e00a7 100644 --- a/packages/polkadot/src/polkadot.vesting.e2e.test.ts +++ b/packages/polkadot/src/polkadot.vesting.e2e.test.ts @@ -1,5 +1,5 @@ import { polkadot } from '@e2e-test/networks/chains' -import { type RelayTestConfig, registerTestTree, relayVestingE2ETests } from '@e2e-test/shared' +import { fullVestingE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' const testConfig: RelayTestConfig = { testSuiteName: 'Polkadot Vesting', @@ -7,4 +7,4 @@ const testConfig: RelayTestConfig = { blockProvider: 'Local', } -registerTestTree(relayVestingE2ETests(polkadot, testConfig)) +registerTestTree(fullVestingE2ETests(polkadot, testConfig)) diff --git a/packages/shared/src/accounts.ts b/packages/shared/src/accounts.ts index bb1f65116..820b2532c 100644 --- a/packages/shared/src/accounts.ts +++ b/packages/shared/src/accounts.ts @@ -14,13 +14,13 @@ import { assert, expect } from 'vitest' import { match } from 'ts-pattern' import { + blockProviderOffset, check, checkEvents, checkSystemEvents, createXcmTransactSend, getBlockNumber, scheduleInlineCallWithOrigin, - schedulerOffset, type TestConfig, updateCumulativeFees, } from './helpers/index.js' @@ -297,7 +297,7 @@ export const vestedTransferLockAction = < amount: bigint, testConfig: TestConfig, ): Promise => { - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) const number = await getBlockNumber(client.api, testConfig.blockProvider) const perBlock = client.api.consts.balances.existentialDeposit.toBigInt() const startingBlock = BigInt(number) + 3n * BigInt(offset) diff --git a/packages/shared/src/bounties.ts b/packages/shared/src/bounties.ts index 60c18470c..05e12d27d 100644 --- a/packages/shared/src/bounties.ts +++ b/packages/shared/src/bounties.ts @@ -7,11 +7,11 @@ import { assert, expect } from 'vitest' import { match } from 'ts-pattern' import { + blockProviderOffset, checkEvents, checkSystemEvents, getBlockNumber, scheduleInlineCallWithOrigin, - schedulerOffset, type TestConfig, } from './helpers/index.js' import type { RootTestTree } from './types.js' @@ -109,7 +109,7 @@ async function getBountyIndexFromEvent(client: Client): Promise, testConfig: TestConfig) { const spendPeriod = client.api.consts.treasury.spendPeriod const currentBlock = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) const newLastSpendPeriodBlockNumber = match(testConfig.blockProvider) .with('Local', () => currentBlock - spendPeriod.toNumber() + TREASURY_SETUP_OFFSET * offset) diff --git a/packages/shared/src/helpers/index.ts b/packages/shared/src/helpers/index.ts index 2e8c3d75f..0d96b9757 100644 --- a/packages/shared/src/helpers/index.ts +++ b/packages/shared/src/helpers/index.ts @@ -432,19 +432,25 @@ export async function nextSchedulableBlockNum(api: ApiPromise, blockProvider: Bl } /** - * Get the offset at which the block numbers that key the scheduler's agenda are incremented. + * Get the offset at which the calling network's block provider moves, for every block created in that network. * - * * If on a relay chain, the offset is 1 i.e. when injecting a task into the scheduler pallet's agenda storage, + * To exemplify, this is useful when injecting tasks into the runtime's scheduler agenda, as the key to the + * agenda may be a non-local block number. + * + * What it outputs: + * + * * If on a relay chain, the output is 1 i.e. when injecting a task into the scheduler pallet's agenda storage, * every block number is available. - * * If on a parachain without AB, with the same meaning as above. + * * If on a parachain without AB, 1, with the same meaning as above. * * If on a parachain with AB, the offset is 2, because `parachainSystem.lastRelayChainBlockNumber` moves with a step - * size of 2, and thus, manually scheduled blocks can only be injected every other relay block number. + * size of 2, and thus, manually scheduled blocks can only be injected every other relay block number. Also applies + * to vesting and treasury spend periods. * * @param blockProvider Whether the call is being scheduled on a relay or parachain. * @param asyncBacking Whether async backing is enabled on the parachain. * @returns The number of blocks to offset when scheduling tasks */ -export function schedulerOffset(cfg: TestConfig): number { +export function blockProviderOffset(cfg: TestConfig): number { if (cfg.blockProvider === 'Local') { return 1 } diff --git a/packages/shared/src/proxy.ts b/packages/shared/src/proxy.ts index 601b22151..8edd48c47 100644 --- a/packages/shared/src/proxy.ts +++ b/packages/shared/src/proxy.ts @@ -21,7 +21,7 @@ import { encodeAddress } from '@polkadot/util-crypto' import { assert, expect } from 'vitest' import BN from 'bn.js' -import { check, checkEvents, getBlockNumber, schedulerOffset, type TestConfig } from './helpers/index.js' +import { blockProviderOffset, check, checkEvents, getBlockNumber, type TestConfig } from './helpers/index.js' /// ------- /// Helpers @@ -1822,7 +1822,7 @@ export async function proxyAnnouncementLifecycleTest< await client.dev.newBlock() - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) announcements = await client.api.query.proxy.announcements(bob.address) expect(announcements[0].length).toBe(1) diff --git a/packages/shared/src/scheduler.ts b/packages/shared/src/scheduler.ts index 1cfa19def..3cf907245 100644 --- a/packages/shared/src/scheduler.ts +++ b/packages/shared/src/scheduler.ts @@ -12,6 +12,7 @@ import { assert, expect } from 'vitest' import { match } from 'ts-pattern' import { + blockProviderOffset, check, checkEvents, checkSystemEvents, @@ -19,7 +20,6 @@ import { nextSchedulableBlockNum, scheduleInlineCallWithOrigin, scheduleLookupCallWithOrigin, - schedulerOffset, type TestConfig, } from './helpers/index.js' @@ -167,7 +167,7 @@ export async function cancelScheduledTaskBadOriginTest< const call = client.api.tx.system.remark('test').method.toHex() const initialBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) let targetBlockNumber: number match(testConfig.blockProvider) .with('Local', () => { @@ -218,7 +218,7 @@ export async function cancelNamedScheduledTaskBadOriginTest< const call = client.api.tx.system.remark('test').method.toHex() const initialBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) let targetBlockNumber: number match(testConfig.blockProvider) .with('Local', () => { @@ -275,7 +275,7 @@ export async function scheduledCallExecutes< const adjustIssuanceTx = client.api.tx.balances.forceAdjustTotalIssuance('Increase', 1) const initialBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) let targetBlockNumber: number match(testConfig.blockProvider) .with('Local', () => { @@ -345,7 +345,7 @@ export async function scheduledNamedCallExecutes< const taskId = sha256AsU8a('task_id') const initialBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) let targetBlockNumber: number match(testConfig.blockProvider) .with('Local', () => { @@ -417,7 +417,7 @@ export async function cancelScheduledTask< const adjustIssuanceTx = client.api.tx.balances.forceAdjustTotalIssuance('Increase', 1) const initialBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) let targetBlockNumber: number match(testConfig.blockProvider) .with('Local', () => { @@ -478,7 +478,7 @@ export async function cancelScheduledNamedTask< const taskId = sha256AsU8a('task_id') const initialBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) let targetBlockNumber: number match(testConfig.blockProvider) .with('Local', () => { @@ -549,7 +549,7 @@ export async function scheduleTaskAfterDelay< const adjustIssuanceTx = client.api.tx.balances.forceAdjustTotalIssuance('Increase', 1) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) // In case of non-local block providers, spans of blocks must be specified in terms of the nonlocal // provider. // This multiplication is because on parachains with AB, each para block spans 2 relay blocks. @@ -641,7 +641,7 @@ export async function scheduleNamedTaskAfterDelay< let currBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) // See above note in `scheduleTaskAfterDelay` const delay = 5 * offset const scheduleNamedTx = client.api.tx.scheduler.scheduleNamedAfter(taskId, delay, null, 0, adjustIssuanceTx) @@ -733,7 +733,7 @@ export async function scheduledOverweightCallFails< const withWeightTx = client.api.tx.utility.withWeight(adjustIssuanceTx, maxWeight) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) const initialBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) // Target block is two blocks in the future - see the notes about parachain scheduling differences. let targetBlockNumber: number @@ -939,7 +939,7 @@ export async function schedulePreimagedCall< // Schedule using the preimage hash const initialBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) // Target block number is two blocks in the future: if `n` is the most recent block, the task should be executed // at `n + 2`. let targetBlockNumber: number @@ -1084,7 +1084,7 @@ async function testPeriodicTask< ) { const [client] = await setupNetworks(chain) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) // Manually schedule `scheduleTx` to run on the next block. await scheduleInlineCallWithOrigin(client, scheduleTx.method.toHex(), { system: 'Root' }, testConfig.blockProvider) @@ -1221,7 +1221,7 @@ export async function schedulePeriodicTask< const adjustIssuanceTx = client.api.tx.balances.forceAdjustTotalIssuance('Increase', 1) const currBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) const delay = match(testConfig.blockProvider) .with('Local', () => 2 * offset) // Parachain scheduling differences - see notes above. @@ -1258,7 +1258,7 @@ export async function scheduleNamedPeriodicTask< const taskId = sha256AsU8a('task_id') const currBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) const delay = match(testConfig.blockProvider) .with('Local', () => 2 * offset) // Recall: to schedule a task on the next block of a parachain, the offset is 0. On the block after that one, @@ -1310,7 +1310,7 @@ export async function schedulePriorityWeightedTasks< const initBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) let currBlockNumber = initBlockNumber - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) let priorityTargetBlock: number match(testConfig.blockProvider) .with('Local', async () => { @@ -1516,7 +1516,7 @@ export async function scheduleWithRetryConfig< }, } - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) const period = 3 * offset @@ -1655,7 +1655,7 @@ export async function scheduleNamedWithRetryConfig< }, } - const offset = schedulerOffset(testConfig) + const offset = blockProviderOffset(testConfig) const period = 3 * offset diff --git a/packages/shared/src/vesting.ts b/packages/shared/src/vesting.ts index 9c41de879..3d9f9bc25 100644 --- a/packages/shared/src/vesting.ts +++ b/packages/shared/src/vesting.ts @@ -9,7 +9,15 @@ import { encodeAddress } from '@polkadot/util-crypto' import { assert, expect } from 'vitest' -import { check, checkEvents, expectPjsEqual, scheduleInlineCallWithOrigin, type TestConfig } from './helpers/index.js' +import { + blockProviderOffset, + check, + checkEvents, + expectPjsEqual, + getBlockNumber, + scheduleInlineCallWithOrigin, + type TestConfig, +} from './helpers/index.js' /** * Test that a vested transfer works as expected. @@ -37,15 +45,18 @@ async function testVestedTransfer< }, }) - const currBlockNumber = (await client.api.rpc.chain.getHeader()).number.toNumber() + const currBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) + const offset = blockProviderOffset(testConfig) const locked = client.api.consts.vesting.minVestedTransfer.toNumber() - const perBlock = Math.floor(locked / 4) + // Recall that asset hubs' block provider is nonlocal i.e. the relay's, and each AH block will unvest 2 relay blocks' + // worth of funds. + const perRelayBlock = Math.floor(locked / 8) const vestedTransferTx = client.api.tx.vesting.vestedTransfer(bob.address, { - perBlock, + perBlock: perRelayBlock, locked, - startingBlock: currBlockNumber - 1, + startingBlock: currBlockNumber - offset, }) const vestedTransferEvents = await sendTransaction(vestedTransferTx.signAsync(alice)) @@ -65,7 +76,7 @@ async function testVestedTransfer< expect(vestingUpdatedEvent.account.toString()).toBe(encodeAddress(bob.address, testConfig.addressEncoding)) // The vesting schedule began before the vested transfer, so two blocks' worth of unvesting should be deducted from // the unvested amount in the event emitted in this block. - expect(vestingUpdatedEvent.unvested.toNumber()).toBe(locked - perBlock * 2) + expect(vestingUpdatedEvent.unvested.toNumber()).toBe(locked - perRelayBlock * 4) // The act of vesting does not change the `Vesting` storage item - to see how much was unlocked, events // must be queried. @@ -74,8 +85,8 @@ async function testVestedTransfer< assert(vestingBalance.isSome) expect(vestingBalance.unwrap().length).toBe(1) expect(vestingBalance.unwrap()[0].locked.toNumber()).toBe(locked) - expect(vestingBalance.unwrap()[0].perBlock.toNumber()).toBe(perBlock) - expect(vestingBalance.unwrap()[0].startingBlock.toNumber()).toBe(currBlockNumber - 1) + expect(vestingBalance.unwrap()[0].perBlock.toNumber()).toBe(perRelayBlock) + expect(vestingBalance.unwrap()[0].startingBlock.toNumber()).toBe(currBlockNumber - offset) // Check Bob's free and frozen balances @@ -107,7 +118,7 @@ async function testVestedTransfer< assert(client.api.events.vesting.VestingUpdated.is(ev2.event)) vestingUpdatedEvent = ev2.event.data expect(vestingUpdatedEvent.account.toString()).toBe(encodeAddress(bob.address, testConfig.addressEncoding)) - expect(vestingUpdatedEvent.unvested.toNumber()).toBe(locked - perBlock * 3) + expect(vestingUpdatedEvent.unvested.toNumber()).toBe(locked - perRelayBlock * 6) // Check Bob's free and frozen balances after Alice's vesting @@ -177,10 +188,10 @@ async function testForceVestedTransfer< const currBlockNumber = (await client.api.rpc.chain.getHeader()).number.toNumber() const locked = client.api.consts.vesting.minVestedTransfer.toNumber() - const perBlock = Math.floor(locked / 4) + const perRelayBlock = Math.floor(locked / 4) const forcedVestingTx = client.api.tx.vesting.forceVestedTransfer(charlie.address, alice.address, { - perBlock, + perBlock: perRelayBlock, locked, startingBlock: currBlockNumber, }) @@ -249,24 +260,30 @@ async function testForceRemoveVestedSchedule< async function testForceVestedTransferAndRemoval< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, ->(chain: Chain) { +>(chain: Chain, testConfig: TestConfig) { const [client] = await setupNetworks(chain) const alice = defaultAccountsSr25519.alice const dave = defaultAccountsSr25519.dave - const currBlockNumber = (await client.api.rpc.chain.getHeader()).number.toNumber() + const currBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) + const offset = blockProviderOffset(testConfig) const locked = client.api.consts.vesting.minVestedTransfer.toNumber() - const perBlock = Math.floor(locked / 4) + const perRelayBlock = Math.floor(locked / 8) const forceVestingTx = client.api.tx.vesting.forceVestedTransfer(alice.address, dave.address, { - perBlock, + perBlock: perRelayBlock, locked, - startingBlock: currBlockNumber - 1, + startingBlock: currBlockNumber - offset, }) - await scheduleInlineCallWithOrigin(client, forceVestingTx.method.toHex(), { system: 'Root' }) + await scheduleInlineCallWithOrigin( + client, + forceVestingTx.method.toHex(), + { system: 'Root' }, + testConfig.blockProvider, + ) await client.dev.newBlock() @@ -295,13 +312,18 @@ async function testForceVestedTransferAndRemoval< assert(vestingBalance.isSome) expect(vestingBalance.unwrap().length).toBe(1) expect(vestingBalance.unwrap()[0].locked.toNumber()).toBe(locked) - expect(vestingBalance.unwrap()[0].perBlock.toNumber()).toBe(perBlock) - expect(vestingBalance.unwrap()[0].startingBlock.toNumber()).toBe(currBlockNumber - 1) + expect(vestingBalance.unwrap()[0].perBlock.toNumber()).toBe(perRelayBlock) + expect(vestingBalance.unwrap()[0].startingBlock.toNumber()).toBe(currBlockNumber - offset) // Forcibly remove the vesting schedule. const forceRemoveVestingTx = client.api.tx.vesting.forceRemoveVestingSchedule(dave.address, 0) - await scheduleInlineCallWithOrigin(client, forceRemoveVestingTx.method.toHex(), { system: 'Root' }) + await scheduleInlineCallWithOrigin( + client, + forceRemoveVestingTx.method.toHex(), + { system: 'Root' }, + testConfig.blockProvider, + ) await client.dev.newBlock() @@ -342,7 +364,7 @@ async function testForceVestedTransferAndRemoval< async function testMergeVestingSchedules< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, ->(chain: Chain) { +>(chain: Chain, testConfig: TestConfig) { const [client] = await setupNetworks(chain) const alice = defaultAccountsSr25519.alice @@ -354,7 +376,8 @@ async function testMergeVestingSchedules< }, }) - let currBlockNumber = (await client.api.rpc.chain.getHeader()).number.toNumber() + let currBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) + const offset = blockProviderOffset(testConfig) const initialBlockNumber = currBlockNumber const locked1 = client.api.consts.vesting.minVestedTransfer.toNumber() * 3 @@ -373,12 +396,12 @@ async function testMergeVestingSchedules< const vestingSchedule1 = { perBlock: perBlock1, locked: locked1, - startingBlock: currBlockNumber - 1, + startingBlock: currBlockNumber - offset, } const vestingSchedule2 = { perBlock: perBlock2, locked: locked2, - startingBlock: currBlockNumber - 2, + startingBlock: currBlockNumber - offset * 2, } // Perform vested transfers to Eve, to create two vesting schedules. @@ -396,7 +419,7 @@ async function testMergeVestingSchedules< await checkEvents(vestingEvents1, 'vesting').toMatchSnapshot('vesting events 1') await checkEvents(vestingEvents2, 'vesting').toMatchSnapshot('vesting events 2') - currBlockNumber += 1 + currBlockNumber += offset // Check that two vesting schedules were created. @@ -412,7 +435,7 @@ async function testMergeVestingSchedules< await client.dev.newBlock() - currBlockNumber += 1 + currBlockNumber += offset await checkEvents(mergeVestingEvents, 'vesting').toMatchSnapshot('vesting schedules merger events') @@ -423,15 +446,15 @@ async function testMergeVestingSchedules< const mergedVestingSchedule = vestingBalance2.unwrap()[0] // Merging schedules will unlock hitherto unvested funds, so the locked amount is the sum of the two schedules' // locked amounts, minus the sum of the two schedules' unvested amounts. - const newLocked = locked1 + locked2 - (perBlock1 * 3 + perBlock2 * 4) + const newLocked = locked1 + locked2 - (perBlock1 * 3 * offset + perBlock2 * 4 * offset) expect(mergedVestingSchedule.locked.toNumber()).toBe(newLocked) // The remainder of the merged schedule's duration should be the longest of the two schedules. - const blocksToUnlock = Math.max(blocksToUnlock1 - 3, blocksToUnlock2 - 4) + const blocksToUnlock = Math.max(blocksToUnlock1 - 3 * offset, blocksToUnlock2 - 4 * offset) const newPerBlock = Math.floor(newLocked / blocksToUnlock) expect(mergedVestingSchedule.perBlock.toNumber()).toBe(newPerBlock) expect(mergedVestingSchedule.startingBlock.toNumber()).toBe( - Math.max(currBlockNumber, initialBlockNumber - 1, initialBlockNumber - 2), + Math.max(currBlockNumber, initialBlockNumber - offset, initialBlockNumber - offset * 2), ) } @@ -505,7 +528,7 @@ async function testMergeSchedulesNoSchedule< assert(client.api.errors.vesting.NotVesting.is(dispatchErr.asModule)) } -export function relayVestingE2ETests< +export function fullVestingE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, >(chain: Chain, testConfig: TestConfig): RootTestTree { @@ -531,12 +554,12 @@ export function relayVestingE2ETests< { kind: 'test', label: 'forced vested transfer and forced removal of vesting schedule work', - testFn: () => testForceVestedTransferAndRemoval(chain), + testFn: () => testForceVestedTransferAndRemoval(chain, testConfig), }, { kind: 'test', label: 'test merger of two vesting schedules', - testFn: () => testMergeVestingSchedules(chain), + testFn: () => testMergeVestingSchedules(chain, testConfig), }, { kind: 'test', From 89dd4f179924d572b0c226af17bd7def43edc49d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Tue, 21 Oct 2025 01:59:16 +0100 Subject: [PATCH 04/40] Bump block numbers --- KNOWN_GOOD_BLOCK_NUMBERS.env | 44 ++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/KNOWN_GOOD_BLOCK_NUMBERS.env b/KNOWN_GOOD_BLOCK_NUMBERS.env index 0e007203f..a0a41e1e4 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS.env @@ -1,22 +1,22 @@ -ACALA_BLOCK_NUMBER=9661239 -ASSETHUBKUSAMA_BLOCK_NUMBER=11256737 -ASSETHUBPOLKADOT_BLOCK_NUMBER=9986806 -ASTAR_BLOCK_NUMBER=10643017 -BASILISK_BLOCK_NUMBER=11568109 -BRIDGEHUBKUSAMA_BLOCK_NUMBER=6756493 -BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6199448 -COLLECTIVESPOLKADOT_BLOCK_NUMBER=7390277 -CORETIMEKUSAMA_BLOCK_NUMBER=3709743 -CORETIMEPOLKADOT_BLOCK_NUMBER=2806129 -ENCOINTERKUSAMA_BLOCK_NUMBER=11117407 -HYDRATION_BLOCK_NUMBER=9660241 -INTEGRITEEKUSAMA_BLOCK_NUMBER=8720293 -INTEGRITEEPOLKADOT_BLOCK_NUMBER=5528958 -KARURA_BLOCK_NUMBER=10190836 -KUSAMA_BLOCK_NUMBER=30540539 -MOONBEAM_BLOCK_NUMBER=12977706 -MOONRIVER_BLOCK_NUMBER=13543959 -PEOPLEKUSAMA_BLOCK_NUMBER=6161905 -PEOPLEPOLKADOT_BLOCK_NUMBER=3132642 -POLKADOT_BLOCK_NUMBER=28211302 -SHIDEN_BLOCK_NUMBER=12233102 +ACALA_BLOCK_NUMBER=9696314 +ASSETHUBKUSAMA_BLOCK_NUMBER=11322565 +ASSETHUBPOLKADOT_BLOCK_NUMBER=10056979 +ASTAR_BLOCK_NUMBER=10715186 +BASILISK_BLOCK_NUMBER=11639214 +BRIDGEHUBKUSAMA_BLOCK_NUMBER=6791543 +BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6229469 +COLLECTIVESPOLKADOT_BLOCK_NUMBER=7424592 +CORETIMEKUSAMA_BLOCK_NUMBER=3740287 +CORETIMEPOLKADOT_BLOCK_NUMBER=2839290 +ENCOINTERKUSAMA_BLOCK_NUMBER=11178433 +HYDRATION_BLOCK_NUMBER=9732643 +INTEGRITEEKUSAMA_BLOCK_NUMBER=8755236 +INTEGRITEEPOLKADOT_BLOCK_NUMBER=5564775 +KARURA_BLOCK_NUMBER=10225586 +KUSAMA_BLOCK_NUMBER=30613175 +MOONBEAM_BLOCK_NUMBER=13039132 +MOONRIVER_BLOCK_NUMBER=13610550 +PEOPLEKUSAMA_BLOCK_NUMBER=6230516 +PEOPLEPOLKADOT_BLOCK_NUMBER=3165775 +POLKADOT_BLOCK_NUMBER=28284424 +SHIDEN_BLOCK_NUMBER=12298037 From b44f89d49a3a96958e1433c47795fb663c4fe191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Tue, 21 Oct 2025 01:59:38 +0100 Subject: [PATCH 05/40] Fix Polkadot Asset Hub vesting E2E tests --- .../assetHubKusama.vesting.e2e.test.ts.snap | 116 +++++++++++++++++- .../src/assetHubKusama.vesting.e2e.test.ts | 4 +- .../assetHubPolkadot.vesting.e2e.test.ts.snap | 29 +---- .../polkadot.vesting.e2e.test.ts.snap | 6 +- packages/shared/src/vesting.ts | 9 +- 5 files changed, 127 insertions(+), 37 deletions(-) diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.vesting.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.vesting.e2e.test.ts.snap index 1ee7641d6..46f653f47 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.vesting.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.vesting.e2e.test.ts.snap @@ -1,6 +1,19 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Kusama Asset Hub Vesting > attempt to merge when no vesting schedules exist fails > merge schedules extrinsic failed 1`] = ` +exports[`Kusama Asset Hub Vesting > forced vested transfer and forced removal of vesting schedule work > forced vested transfer event 1`] = ` +[ + "DfnTB4z7eUvYRqcGtTpFsLC69o6tvBSC1pEv8vWPZFtCkaK", + 2500001, +] +`; + +exports[`Kusama Asset Hub Vesting > forced vested transfer and forced removal of vesting schedule work > forced vesting removal event 1`] = ` +[ + "DfnTB4z7eUvYRqcGtTpFsLC69o6tvBSC1pEv8vWPZFtCkaK", +] +`; + +exports[`Kusama Asset Hub Vesting > merging vesting schedules when none exist fails > merge schedules extrinsic failed 1`] = ` [ { "data": { @@ -44,3 +57,104 @@ exports[`Kusama Asset Hub Vesting > signed-origin force-vested transfer fails > }, ] `; + +exports[`Kusama Asset Hub Vesting > test merger of two vesting schedules > vesting events 1 1`] = ` +[ + { + "data": { + "account": "HnMAUz7r2G8G3hB27SYNyit5aJmh2a5P4eMdDtACtMFDbam", + "scheduleIndex": 0, + }, + "method": "VestingCreated", + "section": "vesting", + }, + { + "data": { + "account": "HnMAUz7r2G8G3hB27SYNyit5aJmh2a5P4eMdDtACtMFDbam", + "unvested": "(rounded 6900000)", + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; + +exports[`Kusama Asset Hub Vesting > test merger of two vesting schedules > vesting events 2 1`] = ` +[ + { + "data": { + "account": "HnMAUz7r2G8G3hB27SYNyit5aJmh2a5P4eMdDtACtMFDbam", + "scheduleIndex": 1, + }, + "method": "VestingCreated", + "section": "vesting", + }, + { + "data": { + "account": "HnMAUz7r2G8G3hB27SYNyit5aJmh2a5P4eMdDtACtMFDbam", + "unvested": "(rounded 21000000)", + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; + +exports[`Kusama Asset Hub Vesting > test merger of two vesting schedules > vesting schedules merger events 1`] = ` +[ + { + "data": { + "account": "HnMAUz7r2G8G3hB27SYNyit5aJmh2a5P4eMdDtACtMFDbam", + "unvested": "(rounded 17000000)", + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; + +exports[`Kusama Asset Hub Vesting > vesting schedule lifecycle > vest events 1`] = ` +[ + { + "data": { + "account": "FoQJpPyadYccjavVdTWxpxU7rUEaYhfLCPwXgkfD6Zat9QP", + "scheduleIndex": 0, + }, + "method": "VestingCreated", + "section": "vesting", + }, + { + "data": { + "account": "FoQJpPyadYccjavVdTWxpxU7rUEaYhfLCPwXgkfD6Zat9QP", + "unvested": "(rounded 13000000)", + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; + +exports[`Kusama Asset Hub Vesting > vesting schedule lifecycle > vest events 2`] = ` +[ + { + "data": { + "account": "FoQJpPyadYccjavVdTWxpxU7rUEaYhfLCPwXgkfD6Zat9QP", + }, + "method": "VestingCompleted", + "section": "vesting", + }, +] +`; + +exports[`Kusama Asset Hub Vesting > vesting schedule lifecycle > vest other events 1`] = ` +[ + { + "data": { + "account": "FoQJpPyadYccjavVdTWxpxU7rUEaYhfLCPwXgkfD6Zat9QP", + "unvested": "(rounded 6700000)", + }, + "method": "VestingUpdated", + "section": "vesting", + }, +] +`; diff --git a/packages/kusama/src/assetHubKusama.vesting.e2e.test.ts b/packages/kusama/src/assetHubKusama.vesting.e2e.test.ts index 275385629..2f901e7f0 100644 --- a/packages/kusama/src/assetHubKusama.vesting.e2e.test.ts +++ b/packages/kusama/src/assetHubKusama.vesting.e2e.test.ts @@ -1,5 +1,5 @@ import { assetHubKusama } from '@e2e-test/networks/chains' -import { assetHubVestingE2ETests, type ParaTestConfig, registerTestTree } from '@e2e-test/shared' +import { fullVestingE2ETests, type ParaTestConfig, registerTestTree } from '@e2e-test/shared' const kahTestConfig: ParaTestConfig = { testSuiteName: 'Kusama Asset Hub Vesting', @@ -8,4 +8,4 @@ const kahTestConfig: ParaTestConfig = { asyncBacking: 'Enabled', } -registerTestTree(assetHubVestingE2ETests(assetHubKusama, kahTestConfig)) +registerTestTree(fullVestingE2ETests(assetHubKusama, kahTestConfig)) diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.vesting.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.vesting.e2e.test.ts.snap index 853a67b65..d08993113 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.vesting.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.vesting.e2e.test.ts.snap @@ -1,30 +1,5 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Polkadot Asset Hub Vesting > attempt to merge when no vesting schedules exist fails > merge schedules extrinsic failed 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x00000000", - "index": 14, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - exports[`Polkadot Asset Hub Vesting > forced vested transfer and forced removal of vesting schedule work > forced vested transfer event 1`] = ` [ "126TwBzBM4jUEK2gTphmW4oLoBWWnYvPp8hygmduTr4uds57", @@ -151,7 +126,7 @@ exports[`Polkadot Asset Hub Vesting > vesting schedule lifecycle > vest events 1 { "data": { "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - "unvested": 50000000, + "unvested": 400000000, }, "method": "VestingUpdated", "section": "vesting", @@ -176,7 +151,7 @@ exports[`Polkadot Asset Hub Vesting > vesting schedule lifecycle > vest other ev { "data": { "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - "unvested": 25000000, + "unvested": 200000000, }, "method": "VestingUpdated", "section": "vesting", diff --git a/packages/polkadot/src/__snapshots__/polkadot.vesting.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.vesting.e2e.test.ts.snap index 984ed2c69..6d8631408 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.vesting.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.vesting.e2e.test.ts.snap @@ -3,7 +3,7 @@ exports[`Polkadot Vesting > forced vested transfer and forced removal of vesting schedule work > forced vested transfer event 1`] = ` [ "126TwBzBM4jUEK2gTphmW4oLoBWWnYvPp8hygmduTr4uds57", - 5000000000, + 7500000000, ] `; @@ -126,7 +126,7 @@ exports[`Polkadot Vesting > vesting schedule lifecycle > vest events 1`] = ` { "data": { "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - "unvested": 5000000000, + "unvested": 40000000000, }, "method": "VestingUpdated", "section": "vesting", @@ -151,7 +151,7 @@ exports[`Polkadot Vesting > vesting schedule lifecycle > vest other events 1`] = { "data": { "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - "unvested": 2500000000, + "unvested": 20000000000, }, "method": "VestingUpdated", "section": "vesting", diff --git a/packages/shared/src/vesting.ts b/packages/shared/src/vesting.ts index 3d9f9bc25..5f49d9ff0 100644 --- a/packages/shared/src/vesting.ts +++ b/packages/shared/src/vesting.ts @@ -48,10 +48,11 @@ async function testVestedTransfer< const currBlockNumber = await getBlockNumber(client.api, testConfig.blockProvider) const offset = blockProviderOffset(testConfig) - const locked = client.api.consts.vesting.minVestedTransfer.toNumber() + // On KAH, the minimum vested amount is not divisible by 8 (it isn't even even :) ), so this multiplication is needed. + const locked = client.api.consts.vesting.minVestedTransfer.toNumber() * 8 // Recall that asset hubs' block provider is nonlocal i.e. the relay's, and each AH block will unvest 2 relay blocks' // worth of funds. - const perRelayBlock = Math.floor(locked / 8) + const perRelayBlock = Math.floor(locked / (4 * offset)) const vestedTransferTx = client.api.tx.vesting.vestedTransfer(bob.address, { perBlock: perRelayBlock, @@ -76,7 +77,7 @@ async function testVestedTransfer< expect(vestingUpdatedEvent.account.toString()).toBe(encodeAddress(bob.address, testConfig.addressEncoding)) // The vesting schedule began before the vested transfer, so two blocks' worth of unvesting should be deducted from // the unvested amount in the event emitted in this block. - expect(vestingUpdatedEvent.unvested.toNumber()).toBe(locked - perRelayBlock * 4) + expect(vestingUpdatedEvent.unvested.toNumber()).toBe(locked - perRelayBlock * 2 * offset) // The act of vesting does not change the `Vesting` storage item - to see how much was unlocked, events // must be queried. @@ -118,7 +119,7 @@ async function testVestedTransfer< assert(client.api.events.vesting.VestingUpdated.is(ev2.event)) vestingUpdatedEvent = ev2.event.data expect(vestingUpdatedEvent.account.toString()).toBe(encodeAddress(bob.address, testConfig.addressEncoding)) - expect(vestingUpdatedEvent.unvested.toNumber()).toBe(locked - perRelayBlock * 6) + expect(vestingUpdatedEvent.unvested.toNumber()).toBe(locked - perRelayBlock * 3 * offset) // Check Bob's free and frozen balances after Alice's vesting From c45e785dbd4cdae17e68a6d0f88e56e2108bfb5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Tue, 21 Oct 2025 02:39:38 +0100 Subject: [PATCH 06/40] Update Asset Hub proxy E2E tests --- .../assetHubKusama.proxy.e2e.test.ts.snap | 12 + .../src/assetHubKusama.proxy.e2e.test.ts | 5 +- .../assetHubPolkadot.proxy.e2e.test.ts.snap | 1210 ++++++++++++++++- .../src/assetHubPolkadot.proxy.e2e.test.ts | 32 +- packages/shared/src/helpers/proxyTypes.ts | 5 + 5 files changed, 1212 insertions(+), 52 deletions(-) diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.proxy.e2e.test.ts.snap index 40be5dc25..fff30d2c9 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.proxy.e2e.test.ts.snap @@ -920,6 +920,18 @@ exports[`Kusama AssetHub Proxy full tests (includes call filtering) > filtering ] `; +exports[`Kusama AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet vesting, call vested_transfer 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Kusama AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for AssetManager > events for proxy type AssetManager, pallet assets, call mint 1`] = ` [ { diff --git a/packages/kusama/src/assetHubKusama.proxy.e2e.test.ts b/packages/kusama/src/assetHubKusama.proxy.e2e.test.ts index 72b48ed03..5de2df1b6 100644 --- a/packages/kusama/src/assetHubKusama.proxy.e2e.test.ts +++ b/packages/kusama/src/assetHubKusama.proxy.e2e.test.ts @@ -31,10 +31,9 @@ const assetHubKusamaProxyTypeConfig: ProxyTypeConfig = { ...builder.buildStakingAction(), ...builder.buildSystemRemarkAction(), ...builder.buildUtilityAction(), - // Pending AHM, vesting is disabled on asset hubs, so `Any` proxy types will be unable to - //...builder.buildVestingAction(), + ...builder.buildVestingAction(), ], - buildDisallowedActions: (builder) => [...builder.buildVestingAction()], + buildDisallowedActions: (_builder) => [], }, // The `Auction` proxy type cannot execute any calls on the AH without the `remote_proxy` pallet. // Its call filter is set to block all calls. diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.proxy.e2e.test.ts.snap index 40efbb910..6072be85a 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.proxy.e2e.test.ts.snap @@ -72,6 +72,56 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot "method": "ProxyAdded", "section": "proxy", }, + { + "data": { + "delay": 0, + "delegatee": "135k9QX4ZeEXP4kS4Gcv9SL3btAuYCieG2R5njKJtpQt83Ng", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "Governance", + }, + "method": "ProxyAdded", + "section": "proxy", + }, + { + "data": { + "delay": 0, + "delegatee": "14AaZyMGZGnDYRPHYMdWpEc2pypTdYWd2zMajSy5p5X6aF47", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "Staking", + }, + "method": "ProxyAdded", + "section": "proxy", + }, + { + "data": { + "delay": 0, + "delegatee": "12T88XwSRehhRCHEsUpwGoCWamXY7Fy2oYWSaS5DACADEbkQ", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "NominationPools", + }, + "method": "ProxyAdded", + "section": "proxy", + }, + { + "data": { + "delay": 0, + "delegatee": "13Ser3ju8nUCLamjtqEYPnmvTfA7ZseKU5qJN42kevysMqwu", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "Auction", + }, + "method": "ProxyAdded", + "section": "proxy", + }, + { + "data": { + "delay": 0, + "delegatee": "1bGxxp4sijroxJ5swbdyrNYACuuz1JqhP1WZrHQnZ7aqTnm", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "ParaRegistration", + }, + "method": "ProxyAdded", + "section": "proxy", + }, ] `; @@ -147,6 +197,56 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot "method": "ProxyRemoved", "section": "proxy", }, + { + "data": { + "delay": 0, + "delegatee": "135k9QX4ZeEXP4kS4Gcv9SL3btAuYCieG2R5njKJtpQt83Ng", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "Governance", + }, + "method": "ProxyRemoved", + "section": "proxy", + }, + { + "data": { + "delay": 0, + "delegatee": "14AaZyMGZGnDYRPHYMdWpEc2pypTdYWd2zMajSy5p5X6aF47", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "Staking", + }, + "method": "ProxyRemoved", + "section": "proxy", + }, + { + "data": { + "delay": 0, + "delegatee": "12T88XwSRehhRCHEsUpwGoCWamXY7Fy2oYWSaS5DACADEbkQ", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "NominationPools", + }, + "method": "ProxyRemoved", + "section": "proxy", + }, + { + "data": { + "delay": 0, + "delegatee": "13Ser3ju8nUCLamjtqEYPnmvTfA7ZseKU5qJN42kevysMqwu", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "Auction", + }, + "method": "ProxyRemoved", + "section": "proxy", + }, + { + "data": { + "delay": 0, + "delegatee": "1bGxxp4sijroxJ5swbdyrNYACuuz1JqhP1WZrHQnZ7aqTnm", + "delegator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "proxyType": "ParaRegistration", + }, + "method": "ProxyRemoved", + "section": "proxy", + }, ] `; @@ -215,6 +315,51 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot "method": "PureCreated", "section": "proxy", }, + { + "data": { + "disambiguationIndex": 0, + "proxyType": "Governance", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "PureCreated", + "section": "proxy", + }, + { + "data": { + "disambiguationIndex": 0, + "proxyType": "Staking", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "PureCreated", + "section": "proxy", + }, + { + "data": { + "disambiguationIndex": 0, + "proxyType": "NominationPools", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "PureCreated", + "section": "proxy", + }, + { + "data": { + "disambiguationIndex": 0, + "proxyType": "Auction", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "PureCreated", + "section": "proxy", + }, + { + "data": { + "disambiguationIndex": 0, + "proxyType": "ParaRegistration", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "PureCreated", + "section": "proxy", + }, ] `; @@ -353,6 +498,101 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot AssetHub Proxy base tests > create and kill pure proxies > events when killing pure proxy of type 7 for Alice 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot AssetHub Proxy base tests > create and kill pure proxies > events when killing pure proxy of type 8 for Alice 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot AssetHub Proxy base tests > create and kill pure proxies > events when killing pure proxy of type 9 for Alice 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot AssetHub Proxy base tests > create and kill pure proxies > events when killing pure proxy of type 10 for Alice 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot AssetHub Proxy base tests > create and kill pure proxies > events when killing pure proxy of type 11 for Alice 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > Polkadot AssetHub Proxy base tests > perform proxy call on behalf of delegator > events when Bob transfers funds to Charlie as Alice's proxy 1`] = ` [ { @@ -584,6 +824,18 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet vesting, call vested_transfer 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for AssetManager > events for proxy type AssetManager, pallet assets, call mint 1`] = ` [ { @@ -1119,7 +1371,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet bounties, call propose_bounty 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet bounties, call propose_bounty 1`] = ` [ { "data": { @@ -1131,18 +1383,11 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet multisig, call as_multi 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet referenda, call submit 1`] = ` [ { "data": { - "result": { - "Err": { - "Module": { - "error": "0x00000000", - "index": 41, - }, - }, - }, + "result": "Ok", }, "method": "ProxyExecuted", "section": "proxy", @@ -1150,18 +1395,11 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet nomination_pools, call chill 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch 1`] = ` [ { "data": { - "result": { - "Err": { - "Module": { - "error": "0x0b000000", - "index": 80, - }, - }, - }, + "result": "Ok", }, "method": "ProxyExecuted", "section": "proxy", @@ -1169,18 +1407,11 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call reject_announcement 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch_all 1`] = ` [ { "data": { - "result": { - "Err": { - "Module": { - "error": "0x01000000", - "index": 42, - }, - }, - }, + "result": "Ok", }, "method": "ProxyExecuted", "section": "proxy", @@ -1188,13 +1419,149 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call remove_announcement 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call force_batch 1`] = ` [ { "data": { - "result": { - "Err": { - "Module": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet nomination_pools, call chill 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x0b000000", + "index": 80, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call batch_all 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call force_batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet bounties, call propose_bounty 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet multisig, call as_multi 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x00000000", + "index": 41, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet nomination_pools, call chill 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x0b000000", + "index": 80, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call reject_announcement 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x01000000", + "index": 42, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call remove_announcement 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { "error": "0x01000000", "index": 42, }, @@ -1291,6 +1658,73 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet nomination_pools, call chill 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x0b000000", + "index": 80, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch_all 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call force_batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for AssetManager > events for proxy type AssetManager, pallet assets, call create 1`] = ` [ { @@ -1690,7 +2124,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet balances, call burn 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet balances, call burn 1`] = ` [ { "data": { @@ -1709,7 +2143,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet staking, call bond 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet referenda, call submit 1`] = ` [ { "data": { @@ -1728,7 +2162,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call apply_authorized_upgrade 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet staking, call bond 1`] = ` [ { "data": { @@ -1747,7 +2181,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call remark 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call apply_authorized_upgrade 1`] = ` [ { "data": { @@ -1766,7 +2200,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call remark 1`] = ` [ { "data": { @@ -1785,7 +2219,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet balances, call burn 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call remark_with_event 1`] = ` [ { "data": { @@ -1804,7 +2238,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet referenda, call submit 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet vesting, call vested_transfer 1`] = ` [ { "data": { @@ -1823,7 +2257,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet staking, call bond 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet balances, call burn 1`] = ` [ { "data": { @@ -1842,7 +2276,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet system, call apply_authorized_upgrade 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet staking, call bond 1`] = ` [ { "data": { @@ -1861,7 +2295,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet system, call remark 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call apply_authorized_upgrade 1`] = ` [ { "data": { @@ -1880,7 +2314,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call remark 1`] = ` [ { "data": { @@ -1899,7 +2333,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet vesting, call vested_transfer 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call remark_with_event 1`] = ` [ { "data": { @@ -1918,7 +2352,7 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet balances, call burn 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet balances, call burn 1`] = ` [ { "data": { @@ -1937,7 +2371,691 @@ exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filterin ] `; -exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet vesting, call vested_transfer 1`] = ` +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet referenda, call submit 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet system, call apply_authorized_upgrade 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet system, call remark 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet system, call remark_with_event 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Collator > events for proxy type Collator, pallet vesting, call vested_transfer 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet balances, call burn 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call apply_authorized_upgrade 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call remark 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call remark_with_event 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet vesting, call vested_transfer 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet balances, call burn 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet referenda, call submit 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet staking, call bond 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call apply_authorized_upgrade 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call remark 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call remark_with_event 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet vesting, call vested_transfer 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet balances, call burn 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet vesting, call vested_transfer 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet balances, call burn 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call reject_announcement 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call remove_announcement 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call remove_proxy 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call apply_authorized_upgrade 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call remark 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call remark_with_event 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call batch 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call batch_all 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call force_batch 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet balances, call burn 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet referenda, call submit 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet system, call apply_authorized_upgrade 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet system, call remark 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet system, call remark_with_event 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot AssetHub Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet vesting, call vested_transfer 1`] = ` [ { "data": { diff --git a/packages/polkadot/src/assetHubPolkadot.proxy.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.proxy.e2e.test.ts index cffe55398..dc3ed012a 100644 --- a/packages/polkadot/src/assetHubPolkadot.proxy.e2e.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.proxy.e2e.test.ts @@ -31,10 +31,36 @@ const assetHubPolkadotProxyTypeConfig: ProxyTypeConfig = { ...builder.buildStakingAction(), ...builder.buildSystemRemarkAction(), ...builder.buildUtilityAction(), - // Pending AHM, vesting is disabled on asset hubs, so `Any` proxy types will be unable to - //...builder.buildVestingAction(), + ...builder.buildVestingAction(), + ], + buildDisallowedActions: (_builder) => [], + }, + // The `Auction` proxy type cannot execute any calls on the AH without the `remote_proxy` pallet. + // Its call filter is set to block all calls. + ['Auction']: { + buildAllowedActions: (_builder) => [], + buildDisallowedActions: (builder) => [ + ...builder.buildAuctionAction(), + ...builder.buildBalancesAction(), + ...builder.buildCrowdloanAction(), + ...builder.buildGovernanceAction(), + ...builder.buildSlotsAction(), + ...builder.buildStakingAction(), + ...builder.buildSystemAction(), + ...builder.buildVestingAction(), + ], + }, + ['ParaRegistration']: { + buildAllowedActions: (_builder) => [], + // The `ParaRegistration` proxy type cannot execute any calls on the AH without the `remote_proxy` pallet. + // Its call filter is set to block all calls. + buildDisallowedActions: (builder) => [ + ...defaultProxyTypeConfig.ParaRegistration.buildDisallowedActions(builder), + // Post-AHM won't have the `paras_registrar` pallet, so the below action will result in an empty list. + ...builder.buildParasRegistrarAction(), + ...builder.buildUtilityAction(), + ...builder.buildProxyRemovalAction(AssetHubPolkadotProxyTypes.ParaRegistration), ], - buildDisallowedActions: (builder) => [...builder.buildVestingAction()], }, } diff --git a/packages/shared/src/helpers/proxyTypes.ts b/packages/shared/src/helpers/proxyTypes.ts index bbe4f8470..472d0b196 100644 --- a/packages/shared/src/helpers/proxyTypes.ts +++ b/packages/shared/src/helpers/proxyTypes.ts @@ -36,6 +36,11 @@ export const AssetHubPolkadotProxyTypes: ProxyTypeMap = { AssetOwner: 4, AssetManager: 5, Collator: 6, + Governance: 7, + Staking: 8, + NominationPools: 9, + Auction: 10, + ParaRegistration: 11, } export const AssetHubKusamaProxyTypes: ProxyTypeMap = { From 3ba68936ae7352b25788dd3c9c88e7d887faefcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Tue, 21 Oct 2025 03:03:22 +0100 Subject: [PATCH 07/40] Update PAH accounts E2E test snapshots --- .../assetHubPolkadot.accounts.e2e.test.ts.snap | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap index 18588b061..f5458c882 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.accounts.e2e.test.ts.snap @@ -167,8 +167,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` [ { @@ -182,8 +180,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > deposit action success events 1`] = ` [ { @@ -197,8 +193,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via multisig creation > deposit action success events 1`] = ` [ { @@ -212,8 +206,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via proxy addition > deposit action success events 1`] = ` [ { @@ -227,8 +219,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via referendum submission > deposit action success events 1`] = ` [ { @@ -242,8 +232,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via multisig creation > deposit action success events 1`] = ` [ { @@ -257,8 +245,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via proxy addition > deposit action success events 1`] = ` [ { @@ -272,8 +258,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via referendum submission > deposit action success events 1`] = ` [ { @@ -287,8 +271,6 @@ exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction er ] `; -exports[`Polkadot Asset Hub Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = `[]`; - exports[`Polkadot Asset Hub Accounts > transfer_allow_death > account with reserves is not reaped when transferring funds > events when Alice with reserve transfers to Bob 1`] = `[]`; exports[`Polkadot Asset Hub Accounts > transfer_allow_death > leaving an account below ED kills it > events when Alice \`transfer_allow_death\` to Bob 1`] = ` From 2f4845f65df968be14e5d882cf7ec5cfe67b462b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Tue, 21 Oct 2025 15:17:56 +0100 Subject: [PATCH 08/40] Enable child bounties E2E tests in PAH --- ...HubPolkadot.childBounties.e2e.test.ts.snap | 463 ++++++++++++++++++ ...assetHubPolkadot.childBounties.e2e.test.ts | 11 + 2 files changed, 474 insertions(+) create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.childBounties.e2e.test.ts.snap create mode 100644 packages/polkadot/src/assetHubPolkadot.childBounties.e2e.test.ts diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.childBounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.childBounties.e2e.test.ts.snap new file mode 100644 index 000000000..5002345f7 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.childBounties.e2e.test.ts.snap @@ -0,0 +1,463 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > child bounty added events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Added", + "section": "childBounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > All unassign child bounty curator tests > parent curator unassign slashes child curator deposit > balances slash events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Slashed", + "section": "balances", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > child bounty added events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Added", + "section": "childBounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > awarding and claiming a child bounty > child bounty awarded events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Awarded", + "section": "childBounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > awarding and claiming a child bounty > child bounty claimed events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Claimed", + "section": "childBounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > child bounty creation > bounty approved events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyApproved", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > child bounty creation > bounty became active events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyBecameActive", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > child bounty creation > bounty proposed events 1`] = ` +[ + { + "data": { + "index": "(redacted)", + }, + "method": "BountyProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > child bounty creation > child bounty added events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Added", + "section": "childBounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > child bounty creation > curator accepted events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorAccepted", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > child bounty creation > curator proposed events 1`] = ` +[ + { + "data": { + "bountyId": "(redacted)", + "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", + }, + "method": "CuratorProposed", + "section": "bounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > closure and payout of a child bounty > child bounty canceled events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Canceled", + "section": "childBounties", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > closure and payout of a child bounty > child bounty value transferred to parent bounty 1`] = ` +[ + { + "data": "(redacted)", + "method": "Transfer", + "section": "balances", + }, +] +`; + +exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > rejection by child curator and closure by parent curator of a child bounty > child bounty canceled events 1`] = ` +[ + { + "data": "(redacted)", + "method": "Canceled", + "section": "childBounties", + }, +] +`; diff --git a/packages/polkadot/src/assetHubPolkadot.childBounties.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.childBounties.e2e.test.ts new file mode 100644 index 000000000..bf457dff2 --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.childBounties.e2e.test.ts @@ -0,0 +1,11 @@ +import { assetHubPolkadot } from '@e2e-test/networks/chains' +import { baseChildBountiesE2ETests, type ParaTestConfig, registerTestTree } from '@e2e-test/shared' + +const testConfig: ParaTestConfig = { + testSuiteName: 'Polkadot Asset Hub Child Bounties', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} + +registerTestTree(baseChildBountiesE2ETests(assetHubPolkadot, testConfig)) From af5a83d32e1a8c0d3ded31438df4d5c650f31841 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 23 Oct 2025 00:02:49 +0100 Subject: [PATCH 09/40] Remove obsolote E2E tests from Polkadot relay --- .../kusama/src/kusama.accounts.e2e.test.ts | 26 +- .../polkadot.accounts.e2e.test.ts.snap | 470 +-------- .../polkadot.bounties.e2e.test.ts.snap | 955 ------------------ .../polkadot.childBounties.e2e.test.ts.snap | 463 --------- .../polkadot.governance.e2e.test.ts.snap | 565 ----------- .../polkadot.nominationPools.e2e.test.ts.snap | 534 ---------- .../polkadot.proxy.e2e.test.ts.snap | 528 ++++++---- .../polkadot.scheduler.e2e.test.ts.snap | 613 ----------- .../polkadot.staking.e2e.test.ts.snap | 884 ---------------- .../polkadot.treasury.e2e.test.ts.snap | 71 -- .../polkadot.vesting.e2e.test.ts.snap | 160 --- .../src/polkadot.accounts.e2e.test.ts | 58 +- .../src/polkadot.bounties.e2e.test.ts | 10 - .../src/polkadot.childBounties.e2e.test.ts | 10 - .../src/polkadot.governance.e2e.test.ts | 10 - .../src/polkadot.nominationPools.e2e.test.ts | 10 - .../polkadot/src/polkadot.proxy.e2e.test.ts | 97 +- .../src/polkadot.scheduler.e2e.test.ts | 10 - .../polkadot/src/polkadot.staking.e2e.test.ts | 10 - .../src/polkadot.treasury.e2e.test.ts | 6 - .../polkadot/src/polkadot.vesting.e2e.test.ts | 10 - 21 files changed, 524 insertions(+), 4976 deletions(-) delete mode 100644 packages/polkadot/src/__snapshots__/polkadot.bounties.e2e.test.ts.snap delete mode 100644 packages/polkadot/src/__snapshots__/polkadot.childBounties.e2e.test.ts.snap delete mode 100644 packages/polkadot/src/__snapshots__/polkadot.governance.e2e.test.ts.snap delete mode 100644 packages/polkadot/src/__snapshots__/polkadot.nominationPools.e2e.test.ts.snap delete mode 100644 packages/polkadot/src/__snapshots__/polkadot.scheduler.e2e.test.ts.snap delete mode 100644 packages/polkadot/src/__snapshots__/polkadot.staking.e2e.test.ts.snap delete mode 100644 packages/polkadot/src/__snapshots__/polkadot.treasury.e2e.test.ts.snap delete mode 100644 packages/polkadot/src/__snapshots__/polkadot.vesting.e2e.test.ts.snap delete mode 100644 packages/polkadot/src/polkadot.bounties.e2e.test.ts delete mode 100644 packages/polkadot/src/polkadot.childBounties.e2e.test.ts delete mode 100644 packages/polkadot/src/polkadot.governance.e2e.test.ts delete mode 100644 packages/polkadot/src/polkadot.nominationPools.e2e.test.ts delete mode 100644 packages/polkadot/src/polkadot.scheduler.e2e.test.ts delete mode 100644 packages/polkadot/src/polkadot.staking.e2e.test.ts delete mode 100644 packages/polkadot/src/polkadot.treasury.e2e.test.ts delete mode 100644 packages/polkadot/src/polkadot.vesting.e2e.test.ts diff --git a/packages/kusama/src/kusama.accounts.e2e.test.ts b/packages/kusama/src/kusama.accounts.e2e.test.ts index 27e81baa8..fb4023f4f 100644 --- a/packages/kusama/src/kusama.accounts.e2e.test.ts +++ b/packages/kusama/src/kusama.accounts.e2e.test.ts @@ -1,5 +1,5 @@ import { kusama } from '@e2e-test/networks/chains' -import type { RootTestTree } from '@e2e-test/shared' +import type { RelayTestConfig, RootTestTree } from '@e2e-test/shared' import { accountsE2ETests, createAccountsConfig, @@ -10,6 +10,13 @@ import { registerTestTree, } from '@e2e-test/shared' +const generalTestConfig: RelayTestConfig = { + testSuiteName: 'Kusama Accounts', + addressEncoding: 2, + blockProvider: 'Local', + chainEd: 'LowEd', +} + // Staking and nomination pools are disabled on Kusama relay, so the only reserve action available is manual. const reserveActions = [manualReserveAction()] @@ -19,7 +26,7 @@ const lockActions = [manualLockAction()] // Referenda submission is no longer available on Kusama relay. const depositActions = [proxyAdditionDepositAction(), multisigCreationDepositAction()] -const accountsCfg = createAccountsConfig({ +const accountsTestCfg = createAccountsConfig({ expectation: 'success', actions: { reserveActions, @@ -53,17 +60,4 @@ const filterOutBurnTests = (tree: RootTestTree): RootTestTree => { } } -registerTestTree( - filterOutBurnTests( - accountsE2ETests( - kusama, - { - testSuiteName: 'Kusama Accounts', - addressEncoding: 2, - blockProvider: 'Local', - chainEd: 'LowEd', - }, - accountsCfg, - ), - ), -) +registerTestTree(filterOutBurnTests(accountsE2ETests(kusama, generalTestConfig, accountsTestCfg))) diff --git a/packages/polkadot/src/__snapshots__/polkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.accounts.e2e.test.ts.snap index 2a50f96fe..14bdedc2c 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.accounts.e2e.test.ts.snap @@ -1,31 +1,5 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Polkadot Accounts > \`burn\` > burning funds below ED leads to account reaping > events for burn 1`] = ` -[ - { - "data": { - "amount": "(rounded 10000000000000)", - "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Burned", - "section": "balances", - }, -] -`; - -exports[`Polkadot Accounts > \`burn\` > burning funds from account works > events when Alice self-burns funds 1`] = ` -[ - { - "data": { - "amount": 5000000000000, - "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Burned", - "section": "balances", - }, -] -`; - exports[`Polkadot Accounts > \`force_adjust_total_issuance\` > successful adjustments increase and decrease total issuance > events for first issuance change 1`] = ` [ { @@ -154,452 +128,28 @@ exports[`Polkadot Accounts > \`transfer_all\` > transfer all with keepAlive true ] `; -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 600000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and vested transfer, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and vested transfer, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 600000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and vested transfer, triggered via referendum submission > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 600000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and vested transfer, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and vested transfer, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 600000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via nomination pool and vested transfer, triggered via referendum submission > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` +exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > deposit action success events 1`] = ` [ { "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 600000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via staking bond and manual lock, triggered via referendum submission > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via staking bond and vested transfer, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via staking bond and vested transfer, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 600000000)", - }, - }, + "amount": "(rounded 200000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", }, - "method": "ExtrinsicFailed", - "section": "system", + "method": "Reserved", + "section": "balances", }, ] `; -exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via staking bond and vested transfer, triggered via referendum submission > liquidity restricted action events 1`] = ` +exports[`Polkadot Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` [ { "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 5, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 800000000)", - }, - }, + "amount": "(rounded 200000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", }, - "method": "ExtrinsicFailed", - "section": "system", + "method": "Reserved", + "section": "balances", }, ] `; diff --git a/packages/polkadot/src/__snapshots__/polkadot.bounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.bounties.e2e.test.ts.snap deleted file mode 100644 index aa64708c6..000000000 --- a/packages/polkadot/src/__snapshots__/polkadot.bounties.e2e.test.ts.snap +++ /dev/null @@ -1,955 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`Polkadot Bounties > All bounty failure tests > Bounty cannot be awarded if it has an active child bounty > child bounty added events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Added", - "section": "childBounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty failure tests > Bounty cannot be claimed in active state > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty failure tests > Bounty cannot be claimed in active state > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty failure tests > Bounty cannot be claimed in active state > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty failure tests > Bounty cannot be claimed in active state > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty failure tests > Bounty cannot be claimed in active state > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty failure tests > Bounty closure in approved state > scheduler events when closing bounty with approved state fails 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": { - "Module": { - "error": "0x03000000", - "index": 34, - }, - }, - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Bounties > All bounty failure tests > Bounty closure in pending payout state > scheduler events when closing bounty with pending payout fails 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": { - "Module": { - "error": "0x07000000", - "index": 34, - }, - }, - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > Bounty bond is deposited to the treasury 1`] = ` -[ - { - "data": "(redacted)", - "method": "Deposit", - "section": "treasury", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > curator slash event 1`] = ` -[ - { - "data": { - "amount": 2000000000000, - "who": "(redacted)", - }, - "method": "Slashed", - "section": "balances", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by Treasurer > curator unassigned active by treasurer events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - }, - "method": "CuratorUnassigned", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in Active state by curator themselves > curator unassigned active by curator events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - }, - "method": "CuratorUnassigned", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in ApprovedWithCurator state > curator unassigned approved with curator events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - }, - "method": "CuratorUnassigned", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in CuratorProposed state > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in CuratorProposed state > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in CuratorProposed state > curator unassigned curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - }, - "method": "CuratorUnassigned", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > Bounty bond is deposited to the treasury 1`] = ` -[ - { - "data": "(redacted)", - "method": "Deposit", - "section": "treasury", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > bounty awarded events 1`] = ` -[ - { - "data": { - "beneficiary": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - "index": "(redacted)", - }, - "method": "BountyAwarded", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > curator slash event 1`] = ` -[ - { - "data": { - "amount": 2000000000000, - "who": "(redacted)", - }, - "method": "Slashed", - "section": "balances", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > All curator unassign tests > Unassign curator in PendingPayout state > curator unassigned pending payout events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - }, - "method": "CuratorUnassigned", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > Bounty value is transferred to the treasury 1`] = ` -[ - { - "data": { - "amount": 100000000000000, - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > bounty canceled event 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyCanceled", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty canceled events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyCanceled", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty value transferred to treasury 1`] = ` -[ - { - "data": { - "amount": 100000000000000, - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in proposed state > bounty rejected events 1`] = ` -[ - { - "data": { - "bond": "(rounded 14000000000)", - "index": "(redacted)", - }, - "method": "BountyRejected", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in proposed state > proposer bond slashed event 1`] = ` -[ - { - "data": { - "amount": "(rounded 14000000000)", - "who": "(redacted)", - }, - "method": "Slashed", - "section": "balances", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty approval tests > Bounty approval flow > bounty approval events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty approval tests > Bounty approval flow with curator > bounty approval with curator events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty approval tests > Bounty approval flow with curator > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty awarding and claiming > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty awarding and claiming > bounty awarded events 1`] = ` -[ - { - "data": { - "beneficiary": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - "index": "(redacted)", - }, - "method": "BountyAwarded", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty awarding and claiming > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty awarding and claiming > bounty claimed events 1`] = ` -[ - { - "data": { - "beneficiary": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - "index": "(redacted)", - "payout": 90000000000000, - }, - "method": "BountyClaimed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty awarding and claiming > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty awarding and claiming > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty awarding and claiming > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty extension > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty extension > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty extension > bounty extended events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyExtended", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty extension > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty extension > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty extension > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty funding tests > Bounty funding for Approved Bounties > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty funding tests > Bounty funding for Approved Bounties > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty funding tests > Bounty funding for Approved Bounties > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty funding tests > Bounty funding for ApprovedWithCurator Bounties > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty funding tests > Bounty funding for ApprovedWithCurator Bounties > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty funding tests > Bounty funding for ApprovedWithCurator Bounties > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Bounty funding tests > Bounty funding for ApprovedWithCurator Bounties > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Creating a bounty > bounty proposal events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Curator assignment and acceptance > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Curator assignment and acceptance > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Curator assignment and acceptance > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Curator assignment and acceptance > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Bounties > All bounty success tests > Curator assignment and acceptance > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.childBounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.childBounties.e2e.test.ts.snap deleted file mode 100644 index 71d21ffb4..000000000 --- a/packages/polkadot/src/__snapshots__/polkadot.childBounties.e2e.test.ts.snap +++ /dev/null @@ -1,463 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`Polkadot Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > child bounty description larger than MaximumReasonLength throws ReasonTooBig error > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > non-curator trying to create child bounty throws RequireCurator error > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > parent already has MaxActiveChildBountyCount child bounties, trying to create a new one throws TooManyChildBounties error > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > child bounty added events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Added", - "section": "childBounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties failure tests > proposing curator for invalid child bounty index throws InvalidIndex error > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > All unassign child bounty curator tests > parent curator unassign slashes child curator deposit > balances slash events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Slashed", - "section": "balances", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > child bounty added events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Added", - "section": "childBounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > assigning and accepting a child bounty curator > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > awarding and claiming a child bounty > child bounty awarded events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Awarded", - "section": "childBounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > awarding and claiming a child bounty > child bounty claimed events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Claimed", - "section": "childBounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > child bounty creation > bounty approved events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyApproved", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > child bounty creation > bounty became active events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyBecameActive", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > child bounty creation > bounty proposed events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - }, - "method": "BountyProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > child bounty creation > child bounty added events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Added", - "section": "childBounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > child bounty creation > curator accepted events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorAccepted", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > child bounty creation > curator proposed events 1`] = ` -[ - { - "data": { - "bountyId": "(redacted)", - "curator": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "CuratorProposed", - "section": "bounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > closure and payout of a child bounty > child bounty canceled events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Canceled", - "section": "childBounties", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > closure and payout of a child bounty > child bounty value transferred to parent bounty 1`] = ` -[ - { - "data": "(redacted)", - "method": "Transfer", - "section": "balances", - }, -] -`; - -exports[`Polkadot Child Bounties > All child bounties success tests > rejection by child curator and closure by parent curator of a child bounty > child bounty canceled events 1`] = ` -[ - { - "data": "(redacted)", - "method": "Canceled", - "section": "childBounties", - }, -] -`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.governance.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.governance.e2e.test.ts.snap deleted file mode 100644 index 94993adb9..000000000 --- a/packages/polkadot/src/__snapshots__/polkadot.governance.e2e.test.ts.snap +++ /dev/null @@ -1,565 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`Polkadot Governance > preimage tests > preimage submission, query and removal works > note preimage events 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; - -exports[`Polkadot Governance > preimage tests > preimage submission, query and removal works > unnote preimage events 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Cleared", - "section": "preimage", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > cancelling referendum with signed origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 90000)", - "refTime": "(rounded 900000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > charlie's class locks after their vote's rescission 1`] = ` -[ - [ - 30, - 50000000000, - ], -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > charlie's votes after casting his 1`] = ` -{ - "standard": { - "balance": 50000000000, - "vote": "0x83", - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > charlie's votes after referendum's cancellation 1`] = ` -{ - "standard": { - "balance": 50000000000, - "vote": "0x83", - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > charlie's votes after rescission 1`] = ` -{ - "delegations": { - "capital": 0, - "votes": 0, - }, - "prior": [ - 0, - 0, - ], - "votes": [], -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > dave's class locks after their vote's rescission 1`] = ` -[ - [ - 30, - 60000000000, - ], -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > dave's votes after casting his 1`] = ` -{ - "split": { - "aye": 50000000000, - "nay": 10000000000, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > dave's votes after referendum's cancellation 1`] = ` -{ - "split": { - "aye": 50000000000, - "nay": 10000000000, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > dave's votes after rescission 1`] = ` -{ - "delegations": { - "capital": 0, - "votes": 0, - }, - "prior": [ - 0, - 0, - ], - "votes": [], -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > eve's class locks after their vote's rescission 1`] = ` -[ - [ - 30, - 80000000000, - ], -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > eve's votes after casting hers 1`] = ` -{ - "splitAbstain": { - "abstain": 20000000000, - "aye": 50000000000, - "nay": 10000000000, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > eve's votes after referendum's cancellation 1`] = ` -{ - "splitAbstain": { - "abstain": 20000000000, - "aye": 50000000000, - "nay": 10000000000, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > eve's votes after rescission 1`] = ` -{ - "delegations": { - "capital": 0, - "votes": 0, - }, - "prior": [ - 0, - 0, - ], - "votes": [], -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > events for bob's decision deposit 1`] = ` -[ - { - "data": { - "amount": 10000000000, - "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - }, - "method": "DecisionDepositPlaced", - "section": "referenda", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > events for charlie's vote 1`] = ` -[ - { - "data": { - "vote": { - "Standard": { - "balance": 50000000000, - "vote": { - "conviction": "Locked3x", - "vote": "Aye", - }, - }, - }, - "who": "14Gjs1TD93gnwEBfDMHoCgsuf1s2TVKUP6Z1qKmAZnZ8cW5q", - }, - "method": "Voted", - "section": "convictionVoting", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > events for dave's vote 1`] = ` -[ - { - "data": { - "vote": { - "Split": { - "aye": 50000000000, - "nay": 10000000000, - }, - }, - "who": "126TwBzBM4jUEK2gTphmW4oLoBWWnYvPp8hygmduTr4uds57", - }, - "method": "Voted", - "section": "convictionVoting", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > events for eve's vote 1`] = ` -[ - { - "data": { - "vote": { - "SplitAbstain": { - "abstain": 20000000000, - "aye": 50000000000, - "nay": 10000000000, - }, - }, - "who": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", - }, - "method": "Voted", - "section": "convictionVoting", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info after charlie's vote 1`] = ` -{ - "ongoing": { - "deciding": { - "confirming": null, - }, - "decisionDeposit": { - "amount": 10000000000, - "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - }, - "enactment": { - "after": 1, - }, - "inQueue": false, - "origin": { - "origins": "SmallTipper", - }, - "proposal": { - "inline": "0x13030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", - }, - "submissionDeposit": { - "amount": 10000000000, - "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", - }, - "tally": { - "ayes": 150000000000, - "nays": 0, - "support": 50000000000, - }, - "track": 30, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info after dave's vote 1`] = ` -{ - "ongoing": { - "deciding": { - "confirming": null, - }, - "decisionDeposit": { - "amount": 10000000000, - "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - }, - "enactment": { - "after": 1, - }, - "inQueue": false, - "origin": { - "origins": "SmallTipper", - }, - "proposal": { - "inline": "0x13030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", - }, - "submissionDeposit": { - "amount": 10000000000, - "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", - }, - "tally": { - "ayes": 155000000000, - "nays": 1000000000, - "support": 100000000000, - }, - "track": 30, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info after eve's vote 1`] = ` -{ - "ongoing": { - "deciding": { - "confirming": null, - }, - "decisionDeposit": { - "amount": 10000000000, - "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - }, - "enactment": { - "after": 1, - }, - "inQueue": false, - "origin": { - "origins": "SmallTipper", - }, - "proposal": { - "inline": "0x13030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", - }, - "submissionDeposit": { - "amount": 10000000000, - "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", - }, - "tally": { - "ayes": 160000000000, - "nays": 2000000000, - "support": 170000000000, - }, - "track": 30, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info before decision deposit 1`] = ` -{ - "ongoing": { - "deciding": null, - "decisionDeposit": null, - "enactment": { - "after": 1, - }, - "inQueue": false, - "origin": { - "origins": "SmallTipper", - }, - "proposal": { - "inline": "0x13030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", - }, - "submissionDeposit": { - "amount": 10000000000, - "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", - }, - "tally": { - "ayes": 0, - "nays": 0, - "support": 0, - }, - "track": 30, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum info post decision deposit 1`] = ` -{ - "ongoing": { - "deciding": null, - "decisionDeposit": { - "amount": 10000000000, - "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - }, - "enactment": { - "after": 1, - }, - "inQueue": false, - "origin": { - "origins": "SmallTipper", - }, - "proposal": { - "inline": "0x13030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", - }, - "submissionDeposit": { - "amount": 10000000000, - "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", - }, - "tally": { - "ayes": 0, - "nays": 0, - "support": 0, - }, - "track": 30, - }, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum submission events 1`] = ` -[ - { - "data": { - "proposal": { - "Inline": "(hash)", - }, - "track": 30, - }, - "method": "Submitted", - "section": "referenda", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > referendum upon start of decision period 1`] = ` -{ - "deciding": { - "confirming": null, - }, - "decisionDeposit": { - "amount": 10000000000, - "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - }, - "enactment": { - "after": 1, - }, - "inQueue": false, - "origin": { - "origins": "SmallTipper", - }, - "proposal": { - "inline": "0x13030700e40b5402008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", - }, - "submissionDeposit": { - "amount": 10000000000, - "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", - }, - "tally": { - "ayes": 0, - "nays": 0, - "support": 0, - }, - "track": 30, -} -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > refund of decision deposit 1`] = ` -[ - { - "data": { - "amount": 10000000000, - "who": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - }, - "method": "DecisionDepositRefunded", - "section": "referenda", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > refund of submission deposit 1`] = ` -[ - { - "data": { - "amount": 10000000000, - "who": "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5", - }, - "method": "SubmissionDepositRefunded", - "section": "referenda", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > removal of votes in cancelled referendum 1`] = ` -[ - { - "data": { - "amount": "(rounded 220000000)", - }, - "method": "Withdraw", - "section": "balances", - }, - { - "data": {}, - "method": "ItemCompleted", - "section": "utility", - }, - { - "data": {}, - "method": "ItemCompleted", - "section": "utility", - }, - { - "data": {}, - "method": "ItemCompleted", - "section": "utility", - }, - { - "data": {}, - "method": "BatchCompleted", - "section": "utility", - }, - { - "data": { - "amount": "(rounded 180000000)", - }, - "method": "Deposit", - "section": "balances", - }, - { - "data": { - "amount": "(rounded 44000000)", - }, - "method": "Deposit", - "section": "balances", - }, - { - "data": { - "actualFee": "(rounded 220000000)", - "tip": 0, - }, - "method": "TransactionFeePaid", - "section": "transactionPayment", - }, - { - "data": { - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 200000)", - "refTime": "(rounded 2000000000)", - }, - }, - }, - "method": "ExtrinsicSuccess", - "section": "system", - }, -] -`; - -exports[`Polkadot Governance > referenda tests > referendum lifecycle test 2 - submission, decision deposit, and killing should work > killing referendum with signed origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 90000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.nominationPools.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.nominationPools.e2e.test.ts.snap deleted file mode 100644 index b2269eb50..000000000 --- a/packages/polkadot/src/__snapshots__/polkadot.nominationPools.e2e.test.ts.snap +++ /dev/null @@ -1,534 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`Polkadot Nomination Pools > nomination pool creation with insufficient funds > create nomination pool with insufficient funds events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x08000000", - "index": 39, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 3000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool double join test: an account can only ever be in one pool at a time > join nomination pool events 1`] = ` -[ - { - "data": { - "amount": 10000000000, - }, - "method": "Bonded", - "section": "staking", - }, - { - "data": { - "bonded": 10000000000, - "joined": true, - "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", - }, - "method": "Bonded", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool double join test: an account can only ever be in one pool at a time > join second nomination pool events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x04000000", - "index": 39, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 3000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool global config test > setting global nomination pool configs with signed origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool global config test > system events 1`] = ` -[ - { - "data": { - "globalMaxCommission": "10.00%", - "maxMembers": 2, - "maxMembersPerPool": 2, - "maxPools": 2, - "minCreateBond": "(rounded 5000000000000)", - "minJoinBond": "(rounded 10000000000)", - }, - "method": "GlobalParamsUpdated", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool global config test > system events 2`] = ` -[ - { - "data": { - "globalMaxCommission": "10.00%", - "maxMembers": 3, - "maxMembersPerPool": 3, - "maxPools": 3, - "minCreateBond": "(rounded 5000000000000)", - "minJoinBond": "(rounded 10000000000)", - }, - "method": "GlobalParamsUpdated", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > bond extra funds events 1`] = ` -[ - { - "data": { - "amount": "(rounded 5000000000000)", - }, - "method": "Bonded", - "section": "staking", - }, - { - "data": { - "bonded": "(rounded 5000000000000)", - "joined": false, - "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", - }, - "method": "Bonded", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > chill events 1`] = ` -[ - { - "data": {}, - "method": "Chilled", - "section": "staking", - }, - { - "data": { - "caller": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", - }, - "method": "PoolNominatorChilled", - "section": "nominationPools", - }, - { - "data": { - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicSuccess", - "section": "system", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > claim commission events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x1a000000", - "index": 39, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 900000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > commission alteration events 1`] = ` -[ - { - "data": { - "current": [ - "0.10%", - "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", - ], - }, - "method": "PoolCommissionUpdated", - "section": "nominationPools", - }, - { - "data": { - "maxCommission": "1.00%", - }, - "method": "PoolMaxCommissionUpdated", - "section": "nominationPools", - }, - { - "data": { - "changeRate": { - "maxIncrease": "100.00%", - "minDelay": 10, - }, - }, - "method": "PoolCommissionChangeRateUpdated", - "section": "nominationPools", - }, - { - "data": { - "permission": "Permissionless", - }, - "method": "PoolCommissionClaimPermissionUpdated", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > create nomination pool events 1`] = ` -[ - { - "data": { - "amount": 5000000000000, - }, - "method": "Bonded", - "section": "staking", - }, - { - "data": { - "depositor": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Created", - "section": "nominationPools", - }, - { - "data": { - "bonded": 5000000000000, - "joined": true, - "member": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Bonded", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > join nomination pool events 1`] = ` -[ - { - "data": { - "amount": 5000000000000, - }, - "method": "Bonded", - "section": "staking", - }, - { - "data": { - "bonded": 5000000000000, - "joined": true, - "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", - }, - "method": "Bonded", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > nomination pool validator selection events 1`] = ` -[ - { - "data": { - "caller": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", - }, - "method": "PoolNominationMade", - "section": "nominationPools", - }, - { - "data": { - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 2000000000)", - }, - }, - }, - "method": "ExtrinsicSuccess", - "section": "system", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > set state events 1`] = ` -[ - { - "data": { - "newState": "Blocked", - }, - "method": "StateChanged", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > set state to destroying events 1`] = ` -[ - { - "data": { - "newState": "Destroying", - }, - "method": "StateChanged", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > unbond (depositor) events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x08000000", - "index": 39, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 2000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > unbond (kick) events 1`] = ` -[ - { - "data": { - "amount": 5000000000000, - }, - "method": "Unbonded", - "section": "staking", - }, - { - "data": { - "balance": 5000000000000, - "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", - "points": 5000000000000, - }, - "method": "Unbonded", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > unbond events 1`] = ` -[ - { - "data": { - "amount": "(rounded 5000000000000)", - }, - "method": "Unbonded", - "section": "staking", - }, - { - "data": { - "balance": "(rounded 5000000000000)", - "member": "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", - "points": "(rounded 5000000000000)", - }, - "method": "Unbonded", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool lifecycle test > update roles events 1`] = ` -[ - { - "data": { - "bouncer": "15Y1VYcCkzD91e5hzAW36wynBfh3inNzzwmUYF9gtm6NZwzi", - "nominator": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", - "root": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "RolesUpdated", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool metadata test > create nomination pool events 1`] = ` -[ - { - "data": { - "amount": 5000000000000, - }, - "method": "Bonded", - "section": "staking", - }, - { - "data": { - "depositor": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Created", - "section": "nominationPools", - }, - { - "data": { - "bonded": 5000000000000, - "joined": true, - "member": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Bonded", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pool metadata test > set metadata events 1`] = ` -[ - { - "data": { - "caller": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "MetadataUpdated", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pools update roles test > update pool roles via scheduler pallet 1`] = ` -[ - { - "event": { - "data": [ - "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", - "14HSc1dP8PQkm8uTVfTwp38ZeHwf6fxyst5WEC7EWYetHdz", - "15Y1VYcCkzD91e5hzAW36wynBfh3inNzzwmUYF9gtm6NZwzi", - ], - "index": "0x2708", - }, - "phase": { - "initialization": null, - }, - "topics": [], - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pools update roles test > update roles events 1`] = ` -[ - { - "data": { - "bouncer": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - "nominator": "15Y1VYcCkzD91e5hzAW36wynBfh3inNzzwmUYF9gtm6NZwzi", - "root": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "RolesUpdated", - "section": "nominationPools", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pools update roles test > update roles failure events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x11000000", - "index": 39, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 600000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Nomination Pools > nomination pools update roles test > update roles remove self events 1`] = ` -[ - { - "data": { - "bouncer": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - "nominator": "15Y1VYcCkzD91e5hzAW36wynBfh3inNzzwmUYF9gtm6NZwzi", - "root": null, - }, - "method": "RolesUpdated", - "section": "nominationPools", - }, -] -`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap index 9074207d3..45de8e681 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap @@ -448,15 +448,27 @@ exports[`Polkadot Proxy full tests (includes call filtering) > Polkadot Proxy ba ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet auctions, call bid 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet balances, call burn 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet multisig, call as_multi 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x03000000", - "index": 72, + "error": "0x00000000", + "index": 30, }, }, }, @@ -467,11 +479,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet balances, call burn 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet proxy, call reject_announcement 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x01000000", + "index": 29, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -479,11 +498,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet bounties, call propose_bounty 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet proxy, call reject_announcement 2`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x01000000", + "index": 29, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -491,15 +517,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet multisig, call as_multi 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet proxy, call remove_announcement 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x00000000", - "index": 30, + "error": "0x01000000", + "index": 29, }, }, }, @@ -510,15 +536,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet nomination_pools, call chill 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet proxy, call remove_proxy 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x0b000000", - "index": 39, + "error": "0x01000000", + "index": 29, }, }, }, @@ -529,15 +555,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet proxy, call reject_announcement 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet system, call apply_authorized_upgrade 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x01000000", - "index": 29, + "error": "0x07000000", + "index": 0, }, }, }, @@ -548,15 +574,75 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet proxy, call remove_announcement 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet system, call remark 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet system, call remark_with_event 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet utility, call batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet utility, call batch_all 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet utility, call force_batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Auction > events for proxy type Auction, pallet crowdloan, call dissolve 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x01000000", - "index": 29, + "error": "0x08000000", + "index": 73, }, }, }, @@ -567,11 +653,37 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet referenda, call submit 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet multisig, call as_multi 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x00000000", + "index": 30, + }, + }, + }, + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet proxy, call reject_announcement 1`] = ` +[ + { + "data": { + "result": { + "Err": { + "Module": { + "error": "0x01000000", + "index": 29, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -579,7 +691,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet staking, call bond 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet utility, call batch 1`] = ` [ { "data": { @@ -591,7 +703,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet system, call remark 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet utility, call batch_all 1`] = ` [ { "data": { @@ -603,7 +715,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet utility, call force_batch 1`] = ` [ { "data": { @@ -615,7 +727,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet utility, call batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch 1`] = ` [ { "data": { @@ -627,7 +739,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet utility, call batch_all 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch_all 1`] = ` [ { "data": { @@ -639,7 +751,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet utility, call force_batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call force_batch 1`] = ` [ { "data": { @@ -651,7 +763,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet vesting, call vested_transfer 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call batch 1`] = ` [ { "data": { @@ -663,18 +775,11 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Auction > events for proxy type Auction, pallet auctions, call bid 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call batch_all 1`] = ` [ { "data": { - "result": { - "Err": { - "Module": { - "error": "0x03000000", - "index": 72, - }, - }, - }, + "result": "Ok", }, "method": "ProxyExecuted", "section": "proxy", @@ -682,18 +787,11 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Auction > events for proxy type Auction, pallet crowdloan, call dissolve 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call force_batch 1`] = ` [ { "data": { - "result": { - "Err": { - "Module": { - "error": "0x08000000", - "index": 73, - }, - }, - }, + "result": "Ok", }, "method": "ProxyExecuted", "section": "proxy", @@ -701,7 +799,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Auction > events for proxy type Auction, pallet slots, call trigger_onboard 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet multisig, call as_multi 1`] = ` [ { "data": { @@ -709,7 +807,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f "Err": { "Module": { "error": "0x00000000", - "index": 71, + "index": 30, }, }, }, @@ -720,15 +818,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet multisig, call as_multi 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call reject_announcement 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x00000000", - "index": 30, + "error": "0x01000000", + "index": 29, }, }, }, @@ -739,7 +837,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet proxy, call reject_announcement 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call remove_announcement 1`] = ` [ { "data": { @@ -758,7 +856,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet utility, call batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet system, call remark 1`] = ` [ { "data": { @@ -770,7 +868,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet utility, call batch_all 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet system, call remark_with_event 1`] = ` [ { "data": { @@ -782,7 +880,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for CancelProxy > events for proxy type CancelProxy, pallet utility, call force_batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet utility, call batch 1`] = ` [ { "data": { @@ -794,7 +892,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet bounties, call propose_bounty 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet utility, call batch_all 1`] = ` [ { "data": { @@ -806,7 +904,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet referenda, call submit 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet utility, call force_batch 1`] = ` [ { "data": { @@ -818,11 +916,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call remove_proxy 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x01000000", + "index": 29, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -830,7 +935,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch_all 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call batch 1`] = ` [ { "data": { @@ -842,7 +947,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call force_batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call batch_all 1`] = ` [ { "data": { @@ -854,18 +959,11 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet nomination_pools, call chill 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call force_batch 1`] = ` [ { "data": { - "result": { - "Err": { - "Module": { - "error": "0x0b000000", - "index": 39, - }, - }, - }, + "result": "Ok", }, "method": "ProxyExecuted", "section": "proxy", @@ -873,7 +971,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch 1`] = ` [ { "data": { @@ -885,7 +983,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call batch_all 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch_all 1`] = ` [ { "data": { @@ -897,7 +995,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call force_batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call force_batch 1`] = ` [ { "data": { @@ -909,15 +1007,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet auctions, call bid 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet auctions, call bid 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x03000000", - "index": 72, + "error": "0x05000000", + "index": 0, }, }, }, @@ -928,27 +1026,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet bounties, call propose_bounty 1`] = ` -[ - { - "data": { - "result": "Ok", - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet multisig, call as_multi 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet bounties, call propose_bounty 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x00000000", - "index": 30, + "error": "0x05000000", + "index": 0, }, }, }, @@ -959,15 +1045,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet nomination_pools, call chill 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet nomination_pools, call chill 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x0b000000", - "index": 39, + "error": "0x05000000", + "index": 0, }, }, }, @@ -978,15 +1064,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call reject_announcement 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet referenda, call submit 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x01000000", - "index": 29, + "error": "0x05000000", + "index": 0, }, }, }, @@ -997,15 +1083,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet proxy, call remove_announcement 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet staking, call bond 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x01000000", - "index": 29, + "error": "0x05000000", + "index": 0, }, }, }, @@ -1016,11 +1102,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet referenda, call submit 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet vesting, call vested_transfer 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1028,11 +1121,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet staking, call bond 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet auctions, call bid 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1040,11 +1140,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet system, call remark 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet balances, call burn 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1052,11 +1159,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet referenda, call submit 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1064,11 +1178,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet utility, call batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet slots, call trigger_onboard 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1076,11 +1197,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet utility, call batch_all 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet staking, call bond 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1088,11 +1216,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NonTransfer > events for proxy type NonTransfer, pallet utility, call force_batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call apply_authorized_upgrade 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1100,15 +1235,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call remove_proxy 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call remark 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x01000000", - "index": 29, + "error": "0x05000000", + "index": 0, }, }, }, @@ -1119,11 +1254,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call remark_with_event 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1131,11 +1273,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call batch_all 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet vesting, call vested_transfer 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1143,11 +1292,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet utility, call force_batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet balances, call burn 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1155,15 +1311,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet fast_unstake, call register_fast_unstake 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet staking, call bond 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x00000000", - "index": 40, + "error": "0x05000000", + "index": 0, }, }, }, @@ -1174,15 +1330,15 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet nomination_pools, call chill 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call apply_authorized_upgrade 1`] = ` [ { "data": { "result": { "Err": { "Module": { - "error": "0x0b000000", - "index": 39, + "error": "0x05000000", + "index": 0, }, }, }, @@ -1193,11 +1349,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet staking, call bond 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call remark 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1205,11 +1368,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call remark_with_event 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1217,11 +1387,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch_all 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet balances, call burn 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1229,11 +1406,18 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call force_batch 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet bounties, call propose_bounty 1`] = ` [ { "data": { - "result": "Ok", + "result": { + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, + }, }, "method": "ProxyExecuted", "section": "proxy", @@ -1241,7 +1425,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet balances, call burn 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet multisig, call as_multi 1`] = ` [ { "data": { @@ -1260,7 +1444,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet referenda, call submit 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet proxy, call reject_announcement 1`] = ` [ { "data": { @@ -1279,7 +1463,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet staking, call bond 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet proxy, call remove_announcement 1`] = ` [ { "data": { @@ -1298,7 +1482,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call apply_authorized_upgrade 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet referenda, call submit 1`] = ` [ { "data": { @@ -1317,7 +1501,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call remark 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet staking, call bond 1`] = ` [ { "data": { @@ -1336,7 +1520,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call apply_authorized_upgrade 1`] = ` [ { "data": { @@ -1355,7 +1539,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Auction > events for proxy type Auction, pallet vesting, call vested_transfer 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call remark 1`] = ` [ { "data": { @@ -1374,7 +1558,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet balances, call burn 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call remark_with_event 1`] = ` [ { "data": { @@ -1393,7 +1577,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet staking, call bond 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet vesting, call vested_transfer 1`] = ` [ { "data": { @@ -1412,7 +1596,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call apply_authorized_upgrade 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet balances, call burn 1`] = ` [ { "data": { @@ -1431,7 +1615,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call remark 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet nomination_pools, call chill 1`] = ` [ { "data": { @@ -1450,7 +1634,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for CancelProxy > events for proxy type CancelProxy, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet referenda, call submit 1`] = ` [ { "data": { @@ -1469,7 +1653,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet balances, call burn 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet staking, call bond 1`] = ` [ { "data": { @@ -1488,7 +1672,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet staking, call bond 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call apply_authorized_upgrade 1`] = ` [ { "data": { @@ -1507,7 +1691,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call apply_authorized_upgrade 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call remark 1`] = ` [ { "data": { @@ -1526,7 +1710,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call remark 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call remark_with_event 1`] = ` [ { "data": { @@ -1545,7 +1729,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet vesting, call vested_transfer 1`] = ` [ { "data": { @@ -1564,7 +1748,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Governance > events for proxy type Governance, pallet vesting, call vested_transfer 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet auctions, call bid 1`] = ` [ { "data": { @@ -1583,7 +1767,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet balances, call burn 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet balances, call burn 1`] = ` [ { "data": { @@ -1602,7 +1786,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet referenda, call submit 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet bounties, call propose_bounty 1`] = ` [ { "data": { @@ -1621,7 +1805,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet staking, call bond 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet nomination_pools, call chill 1`] = ` [ { "data": { @@ -1640,7 +1824,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call apply_authorized_upgrade 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet referenda, call submit 1`] = ` [ { "data": { @@ -1659,7 +1843,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call remark 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet staking, call bond 1`] = ` [ { "data": { @@ -1678,7 +1862,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet vesting, call vested_transfer 1`] = ` [ { "data": { @@ -1697,7 +1881,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NominationPools > events for proxy type NominationPools, pallet vesting, call vested_transfer 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet balances, call burn 1`] = ` [ { "data": { @@ -1716,7 +1900,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet balances, call burn 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call reject_announcement 1`] = ` [ { "data": { @@ -1735,7 +1919,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for NonTransfer > events for proxy type NonTransfer, pallet vesting, call vested_transfer 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call remove_announcement 1`] = ` [ { "data": { @@ -1754,7 +1938,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet balances, call burn 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call apply_authorized_upgrade 1`] = ` [ { "data": { @@ -1773,7 +1957,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call reject_announcement 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call remark 1`] = ` [ { "data": { @@ -1792,7 +1976,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet proxy, call remove_announcement 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call remark_with_event 1`] = ` [ { "data": { @@ -1811,7 +1995,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call apply_authorized_upgrade 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet balances, call burn 1`] = ` [ { "data": { @@ -1830,7 +2014,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call remark 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet fast_unstake, call register_fast_unstake 1`] = ` [ { "data": { @@ -1849,7 +2033,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for ParaRegistration > events for proxy type ParaRegistration, pallet system, call remark_with_event 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet nomination_pools, call chill 1`] = ` [ { "data": { @@ -1868,7 +2052,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet balances, call burn 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet referenda, call submit 1`] = ` [ { "data": { @@ -1887,7 +2071,7 @@ exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests f ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet referenda, call submit 1`] = ` +exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Staking > events for proxy type Staking, pallet staking, call bond 1`] = ` [ { "data": { diff --git a/packages/polkadot/src/__snapshots__/polkadot.scheduler.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.scheduler.e2e.test.ts.snap deleted file mode 100644 index 3bab0d7a2..000000000 --- a/packages/polkadot/src/__snapshots__/polkadot.scheduler.e2e.test.ts.snap +++ /dev/null @@ -1,613 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`Polkadot Scheduler > cancel named scheduled task with wrong origin > events when cancelling named task with insufficient origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Scheduler > cancel scheduled task with wrong origin > events when cancelling task with insufficient origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Scheduler > cancelling a named scheduled task is possible > events for scheduled task cancellation 1`] = ` -[ - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Canceled", - "section": "scheduler", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > cancelling a scheduled task is possible > events for scheduled task cancellation 1`] = ` -[ - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Canceled", - "section": "scheduler", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > execution of scheduled preimage lookup call works > events for scheduled lookup-task execution 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > execution of scheduled preimage lookup call works > note preimage events 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; - -exports[`Polkadot Scheduler > priority-based execution of weighted tasks works correctly > events for priority weighted tasks execution 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, - { - "data": { - "when": "(redacted)", - }, - "method": "AgendaIncomplete", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > schedule named task with wrong origin > events when scheduling named task with insufficient origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Scheduler > schedule task with wrong origin > events when scheduling task with insufficient origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 50000)", - "refTime": "(rounded 600000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a call is possible, and the call itself succeeds > events for scheduled task execution 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a call using a preimage that gets removed > events for failing scheduled lookup-task execution 1`] = ` -[ - { - "data": { - "id": null, - "task": "(redacted)", - }, - "method": "CallUnavailable", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a call using a preimage that gets removed > note preimage events 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a named call is possible, and the call itself succeeds > events for scheduled task execution 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": "(hash)", - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a named periodic is possible > events for named periodic task execution 1 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": "(hash)", - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Scheduled", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a named periodic is possible > events for named periodic task execution 2 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": "(hash)", - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Scheduled", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a named periodic is possible > events for named periodic task execution 3 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": "(hash)", - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a named task after a delay is possible > events for scheduled task execution 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": "(hash)", - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a named task after a delay is possible > events when scheduling task with delay 1`] = ` -[ - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Scheduled", - "section": "scheduler", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a periodic task is possible > events for periodic task execution 1 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Scheduled", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a periodic task is possible > events for periodic task execution 2 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Scheduled", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a periodic task is possible > events for periodic task execution 3 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a task after a delay is possible > events for scheduled task execution 1`] = ` -[ - { - "data": { - "new_": "(redacted)", - "old": "(redacted)", - }, - "method": "TotalIssuanceForced", - "section": "balances", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling a task after a delay is possible > events when scheduling task with delay 1`] = ` -[ - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Scheduled", - "section": "scheduler", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > scheduling an overweight call is possible, but the call itself fails > events when scheduling overweight task 1`] = ` -[ - { - "data": { - "id": null, - "task": "(redacted)", - }, - "method": "PermanentlyOverweight", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > setting and canceling retry configuration for named scheduled tasks > events for failed named task execution 1`] = ` -[ - { - "data": { - "id": "(hash)", - "result": { - "Err": "BadOrigin", - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Scheduled", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > setting and canceling retry configuration for named scheduled tasks > events for retry config cancellation 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": { - "Module": { - "error": "0x01000000", - "index": 1, - }, - }, - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > setting and canceling retry configuration for unnamed scheduled tasks > events for failed anonymous task execution 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": "BadOrigin", - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, - { - "data": { - "index": 0, - "when": "(redacted)", - }, - "method": "Scheduled", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Scheduler > setting and canceling retry configuration for unnamed scheduled tasks > events for retry config cancellation 1`] = ` -[ - { - "data": { - "id": null, - "task": "(redacted)", - }, - "method": "RetryCancelled", - "section": "scheduler", - }, - { - "data": { - "id": null, - "result": "Ok", - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.staking.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.staking.e2e.test.ts.snap deleted file mode 100644 index db7b4fa5b..000000000 --- a/packages/polkadot/src/__snapshots__/polkadot.staking.e2e.test.ts.snap +++ /dev/null @@ -1,884 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`Polkadot Staking > base staking tests > chill other > chill other bad origin events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x15000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > chill other > chill other bad origin events 2`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x15000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > chill other > chill other bad origin events 3`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x15000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > chill other > chill other bad origin events 4`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x15000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > chill other > chill other bad origin events 5`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x15000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > chill other > chill other bad origin events 6`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x15000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > chill other > chill other bad origin events 7`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x15000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > chill other > chill other events 1`] = ` -[ - { - "data": { - "stash": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "Chilled", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > force apply validator commission > force apply min commission events 1`] = ` -[ - { - "data": { - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 600000000)", - }, - }, - }, - "method": "ExtrinsicSuccess", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > modify validator count > increase validator count bad origin events 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 500000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > modify validator count > scale validator count bad origin events 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 500000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > modify validator count > set validator count bad origin events 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 500000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with bad origin > events when setting invulnerables with bad staking admin origin 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": "BadOrigin", - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with bad origin > set invulnerables events with bad signed origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 500000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with root origin > alice funds post slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 500000000000000, -} -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with root origin > alice funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with root origin > balances slash events 1`] = `[]`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with root origin > bob funds post slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 0, -} -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with root origin > bob funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with root origin > charlie funds post slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 0, -} -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with root origin > charlie funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > base staking tests > set invulnerables with root origin > staking slash events 1`] = ` -[ - { - "data": { - "amount": 500000000000000, - "staker": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Slashed", - "section": "staking", - }, - { - "data": { - "amount": 1000000000000000, - "staker": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "Slashed", - "section": "staking", - }, - { - "data": { - "amount": 1000000000000000, - "staker": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", - }, - "method": "Slashed", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > set minimum validator commission > set staking configs bad origin events 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 500000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > set staking configs > set staking configs bad origin events 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > set staking configs > set staking configs event 1`] = ` -{ - "event": { - "data": [ - { - "class": "Mandatory", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 1000)", - "refTime": "(rounded 300000000)", - }, - }, - ], - "index": "0x0000", - }, - "phase": { - "applyExtrinsic": 0, - }, - "topics": [], -} -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > chill events 1`] = ` -[ - { - "data": { - "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", - }, - "method": "Chilled", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > events when attempting to nominate a blocked validator 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x14000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > kick events 1`] = ` -[ - { - "data": { - "nominator": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", - }, - "method": "Kicked", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > nominator bond events 1`] = ` -[ - { - "data": { - "amount": 100000000000000, - "stash": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Bonded", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > nominator bond extra events 1`] = ` -[ - { - "data": { - "amount": 100000000000000, - "stash": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Bonded", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > unbond events 1`] = ` -[ - { - "data": { - "amount": 50000000000000, - "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", - }, - "method": "Unbonded", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > validate (blocked) events 1`] = ` -[ - { - "data": { - "prefs": { - "blocked": true, - "commission": "0.00%", - }, - "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", - }, - "method": "ValidatorPrefsSet", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > validator 0 bond events 1`] = ` -[ - { - "data": { - "amount": 1000000000000000, - "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", - }, - "method": "Bonded", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > validator 0 validate events 1`] = ` -[ - { - "data": { - "prefs": { - "blocked": false, - "commission": "0.00%", - }, - "stash": "13piny9qppZ5hvZyxpbRiDDGFLa1rwqHkqxe5iDLQ7TXGdnM", - }, - "method": "ValidatorPrefsSet", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > validator 1 bond events 1`] = ` -[ - { - "data": { - "amount": 1000000000000000, - "stash": "15KNQmEzwTTVzdDqa1ox9VaWSASEcboQHDLoiXbXDnwnZVzn", - }, - "method": "Bonded", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > validator 1 validate events 1`] = ` -[ - { - "data": { - "prefs": { - "blocked": false, - "commission": "0.00%", - }, - "stash": "15KNQmEzwTTVzdDqa1ox9VaWSASEcboQHDLoiXbXDnwnZVzn", - }, - "method": "ValidatorPrefsSet", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > validator 2 bond events 1`] = ` -[ - { - "data": { - "amount": 1000000000000000, - "stash": "13H7FnvuDAYZWhvRzJuNDd1Jrdm91bnWBuD9dqN1HJZAeNt9", - }, - "method": "Bonded", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > staking lifecycle > validator 2 validate events 1`] = ` -[ - { - "data": { - "prefs": { - "blocked": false, - "commission": "0.00%", - }, - "stash": "13H7FnvuDAYZWhvRzJuNDd1Jrdm91bnWBuD9dqN1HJZAeNt9", - }, - "method": "ValidatorPrefsSet", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > test force unstaking of nominator > force unstake bad origin events 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 2000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > trying to become a validator with no bonded funds fails > events when attempting to validate with no bonded funds 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x00000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > base staking tests > trying to nominate with no bonded funds fails > events when attempting to nominate with no bonded funds 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x00000000", - "index": 7, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > fast unstake > test fast unstake > nominator bond events 1`] = ` -[ - { - "data": { - "amount": 100000000000000, - "stash": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Bonded", - "section": "staking", - }, -] -`; - -exports[`Polkadot Staking > slashing tests > cancel deferred slash as admin > alice funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 100000000000000)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > cancel deferred slash as admin > bob funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 100000000000000)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > cancel deferred slash as admin > charlie funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 100000000000000)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > cancel deferred slash as root > alice funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 100000000000000)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > cancel deferred slash as root > bob funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 100000000000000)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > cancel deferred slash as root > charlie funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 100000000000000)", - "frozen": 0, - "reserved": 1000000000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > cancel deferred slash with bad origin > cancel deferred slash events with bad origin 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 80000)", - "refTime": "(rounded 2000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Staking > slashing tests > unapplied slash > alice funds post slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 1250000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > unapplied slash > alice funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 2500000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > unapplied slash > balances slash events 1`] = `[]`; - -exports[`Polkadot Staking > slashing tests > unapplied slash > bob funds post slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 0, -} -`; - -exports[`Polkadot Staking > slashing tests > unapplied slash > bob funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 2500000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > unapplied slash > charlie funds post slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 0, -} -`; - -exports[`Polkadot Staking > slashing tests > unapplied slash > charlie funds pre slash 1`] = ` -{ - "flags": "0x80000000000000000000000000000000", - "free": "(redacted)", - "frozen": 0, - "reserved": 2500000000000, -} -`; - -exports[`Polkadot Staking > slashing tests > unapplied slash > staking slash events 1`] = ` -[ - { - "data": { - "amount": "(rounded 1300000000000)", - "staker": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - }, - "method": "Slashed", - "section": "staking", - }, - { - "data": { - "amount": 2500000000000, - "staker": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", - }, - "method": "Slashed", - "section": "staking", - }, - { - "data": { - "amount": 2500000000000, - "staker": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", - }, - "method": "Slashed", - "section": "staking", - }, -] -`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.treasury.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.treasury.e2e.test.ts.snap deleted file mode 100644 index 67037f0b8..000000000 --- a/packages/polkadot/src/__snapshots__/polkadot.treasury.e2e.test.ts.snap +++ /dev/null @@ -1,71 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`Polkadot Treasury > Foreign asset spend from Relay treasury is reflected on AssetHub > payout events 1`] = ` -[ - { - "data": { - "index": "(redacted)", - "paymentId": "(redacted)", - }, - "method": "Paid", - "section": "treasury", - }, -] -`; - -exports[`Polkadot Treasury > Foreign asset spend from Relay treasury is reflected on AssetHub > treasury spend approval events 1`] = ` -[ - { - "data": { - "amount": "123,123,123,123", - "assetKind": { - "V4": { - "assetId": { - "interior": { - "X2": [ - { - "PalletInstance": "50", - }, - { - "GeneralIndex": "1,984", - }, - ], - }, - "parents": "0", - }, - "location": { - "interior": { - "X1": [ - { - "Parachain": "1,000", - }, - ], - }, - "parents": "0", - }, - }, - }, - "beneficiary": { - "V4": { - "interior": { - "X1": [ - { - "AccountId32": { - "id": "(hash)", - "network": null, - }, - }, - ], - }, - "parents": "0", - }, - }, - "expireAt": "(redacted)", - "index": "(redacted)", - "validFrom": "(redacted)", - }, - "method": "AssetSpendApproved", - "section": "treasury", - }, -] -`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.vesting.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.vesting.e2e.test.ts.snap deleted file mode 100644 index 39b43ded5..000000000 --- a/packages/polkadot/src/__snapshots__/polkadot.vesting.e2e.test.ts.snap +++ /dev/null @@ -1,160 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`Polkadot Vesting > forced vested transfer and forced removal of vesting schedule work > forced vested transfer event 1`] = ` -[ - "126TwBzBM4jUEK2gTphmW4oLoBWWnYvPp8hygmduTr4uds57", - 5000000000, -] -`; - -exports[`Polkadot Vesting > forced vested transfer and forced removal of vesting schedule work > forced vesting removal event 1`] = ` -[ - "126TwBzBM4jUEK2gTphmW4oLoBWWnYvPp8hygmduTr4uds57", -] -`; - -exports[`Polkadot Vesting > merging vesting schedules when none exist fails > merge schedules extrinsic failed 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x00000000", - "index": 25, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Vesting > signed-origin force-vested transfer fails > force vest events 1`] = ` -[ - { - "data": { - "dispatchError": "BadOrigin", - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 1000000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - -exports[`Polkadot Vesting > test merger of two vesting schedules > vesting events 1 1`] = ` -[ - { - "data": { - "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", - "scheduleIndex": 0, - }, - "method": "VestingCreated", - "section": "vesting", - }, - { - "data": { - "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", - "unvested": "(rounded 25000000000)", - }, - "method": "VestingUpdated", - "section": "vesting", - }, -] -`; - -exports[`Polkadot Vesting > test merger of two vesting schedules > vesting events 2 1`] = ` -[ - { - "data": { - "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", - "scheduleIndex": 1, - }, - "method": "VestingCreated", - "section": "vesting", - }, - { - "data": { - "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", - "unvested": "(rounded 76000000000)", - }, - "method": "VestingUpdated", - "section": "vesting", - }, -] -`; - -exports[`Polkadot Vesting > test merger of two vesting schedules > vesting schedules merger events 1`] = ` -[ - { - "data": { - "account": "16D2eVuK5SWfwvtFD3gVdBC2nc2BafK31BY6PrbZHBAGew7L", - "unvested": "(rounded 70000000000)", - }, - "method": "VestingUpdated", - "section": "vesting", - }, -] -`; - -exports[`Polkadot Vesting > vesting schedule lifecycle > vest events 1`] = ` -[ - { - "data": { - "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - "scheduleIndex": 0, - }, - "method": "VestingCreated", - "section": "vesting", - }, - { - "data": { - "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - "unvested": 40000000000, - }, - "method": "VestingUpdated", - "section": "vesting", - }, -] -`; - -exports[`Polkadot Vesting > vesting schedule lifecycle > vest events 2`] = ` -[ - { - "data": { - "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - }, - "method": "VestingCompleted", - "section": "vesting", - }, -] -`; - -exports[`Polkadot Vesting > vesting schedule lifecycle > vest other events 1`] = ` -[ - { - "data": { - "account": "14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3", - "unvested": 20000000000, - }, - "method": "VestingUpdated", - "section": "vesting", - }, -] -`; diff --git a/packages/polkadot/src/polkadot.accounts.e2e.test.ts b/packages/polkadot/src/polkadot.accounts.e2e.test.ts index a7b63ebdf..eef67640b 100644 --- a/packages/polkadot/src/polkadot.accounts.e2e.test.ts +++ b/packages/polkadot/src/polkadot.accounts.e2e.test.ts @@ -1,11 +1,63 @@ import { polkadot } from '@e2e-test/networks/chains' -import { accountsE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' +import { + accountsE2ETests, + createAccountsConfig, + type DescribeNode, + manualLockAction, + manualReserveAction, + multisigCreationDepositAction, + proxyAdditionDepositAction, + type RelayTestConfig, + type RootTestTree, + registerTestTree, + type TestNode, +} from '@e2e-test/shared' -const testConfig: RelayTestConfig = { +import { match } from 'ts-pattern' + +const generalTestConfig: RelayTestConfig = { testSuiteName: 'Polkadot Accounts', addressEncoding: 0, chainEd: 'Normal', blockProvider: 'Local', } -registerTestTree(accountsE2ETests(polkadot, testConfig)) +// Staking and nomination pools are disabled on Kusama relay, so the only reserve action available is manual. +const reserveActions = [manualReserveAction()] + +// Vesting is disabled on Kusama relay, so the only lock action available is the manual lock. +const lockActions = [manualLockAction()] + +// Referenda submission is no longer available on Kusama relay. +const depositActions = [proxyAdditionDepositAction(), multisigCreationDepositAction()] + +const accountsTestCfg = createAccountsConfig({ + expectation: 'success', + actions: { + reserveActions, + lockActions, + depositActions, + }, +}) + +const filterOutBurnTests = (tree: RootTestTree): RootTestTree => { + const filterChildren = (children: (TestNode | DescribeNode)[]): (TestNode | DescribeNode)[] => { + return children + .filter((child) => !child.label.includes('burn')) + .map((child) => { + return match(child) + .with({ kind: 'test' }, () => child) + .with({ kind: 'describe' }, (desc) => { + return { ...desc, children: filterChildren(desc.children) } + }) + .exhaustive() + }) + } + + return { + ...tree, + children: filterChildren(tree.children), + } +} + +registerTestTree(filterOutBurnTests(accountsE2ETests(polkadot, generalTestConfig, accountsTestCfg))) diff --git a/packages/polkadot/src/polkadot.bounties.e2e.test.ts b/packages/polkadot/src/polkadot.bounties.e2e.test.ts deleted file mode 100644 index 346cd9ae9..000000000 --- a/packages/polkadot/src/polkadot.bounties.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { polkadot } from '@e2e-test/networks/chains' -import { baseBountiesE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' - -const testConfig: RelayTestConfig = { - testSuiteName: 'Polkadot Bounties', - addressEncoding: 0, - blockProvider: 'Local', -} - -registerTestTree(baseBountiesE2ETests(polkadot, testConfig)) diff --git a/packages/polkadot/src/polkadot.childBounties.e2e.test.ts b/packages/polkadot/src/polkadot.childBounties.e2e.test.ts deleted file mode 100644 index 4bcb6ba6a..000000000 --- a/packages/polkadot/src/polkadot.childBounties.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { polkadot } from '@e2e-test/networks/chains' -import { baseChildBountiesE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' - -const testConfig: RelayTestConfig = { - testSuiteName: 'Polkadot Child Bounties', - addressEncoding: 0, - blockProvider: 'Local', -} - -registerTestTree(baseChildBountiesE2ETests(polkadot, testConfig)) diff --git a/packages/polkadot/src/polkadot.governance.e2e.test.ts b/packages/polkadot/src/polkadot.governance.e2e.test.ts deleted file mode 100644 index 11a7cb57b..000000000 --- a/packages/polkadot/src/polkadot.governance.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { polkadot } from '@e2e-test/networks/chains' -import { baseGovernanceE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' - -const testConfig: RelayTestConfig = { - testSuiteName: 'Polkadot Governance', - addressEncoding: 0, - blockProvider: 'Local', -} - -registerTestTree(baseGovernanceE2ETests(polkadot, testConfig)) diff --git a/packages/polkadot/src/polkadot.nominationPools.e2e.test.ts b/packages/polkadot/src/polkadot.nominationPools.e2e.test.ts deleted file mode 100644 index e7430bd8e..000000000 --- a/packages/polkadot/src/polkadot.nominationPools.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { polkadot } from '@e2e-test/networks/chains' -import { baseNominationPoolsE2ETests, registerTestTree, type TestConfig } from '@e2e-test/shared' - -const testConfig: TestConfig = { - testSuiteName: 'Polkadot Nomination Pools', - addressEncoding: 0, - blockProvider: 'Local', -} - -registerTestTree(baseNominationPoolsE2ETests(polkadot, testConfig)) diff --git a/packages/polkadot/src/polkadot.proxy.e2e.test.ts b/packages/polkadot/src/polkadot.proxy.e2e.test.ts index d87d235fa..6808fca1d 100644 --- a/packages/polkadot/src/polkadot.proxy.e2e.test.ts +++ b/packages/polkadot/src/polkadot.proxy.e2e.test.ts @@ -1,5 +1,6 @@ import { polkadot } from '@e2e-test/networks/chains' import { + createProxyConfig, defaultProxyTypeConfig, fullProxyE2ETests, PolkadotProxyTypes, @@ -32,6 +33,97 @@ const testConfig: RelayTestConfig = { */ const polkadotProxyTypeConfig: ProxyTypeConfig = { ...defaultProxyTypeConfig, + ['Any']: { + buildAllowedActions: (builder) => [ + ...builder.buildBalancesAction(), + ...builder.buildMultisigAction(), + ...builder.buildProxyAction(), + ...builder.buildProxyRejectAnnouncementAction(), + ...builder.buildProxyRemovalAction(PolkadotProxyTypes.Any), + ...builder.buildSystemAction(), + ...builder.buildUtilityAction(), + ], + buildDisallowedActions: (builder) => [ + ...builder.buildAuctionAction(), + ...builder.buildBountyAction(), + ...builder.buildGovernanceAction(), + ...builder.buildNominationPoolsAction(), + ...builder.buildStakingAction(), + ...builder.buildVestingAction(), + ], + }, + ['NonTransfer']: { + buildAllowedActions: (builder) => [ + ...builder.buildProxyAction(), + ...builder.buildMultisigAction(), + ...builder.buildSystemRemarkAction(), + ...builder.buildUtilityAction(), + ], + buildDisallowedActions: (builder) => [ + ...builder.buildAuctionAction(), + ...builder.buildBalancesAction(), + ...builder.buildBountyAction(), + ...builder.buildGovernanceAction(), + ...builder.buildNominationPoolsAction(), + ...builder.buildStakingAction(), + ...builder.buildVestingAction(), + ], + }, + + ['Auction']: { + buildAllowedActions: (builder) => [...builder.buildCrowdloanAction(), ...builder.buildParasRegistrarAction()], + buildDisallowedActions: (builder) => [ + ...builder.buildBalancesAction(), + ...builder.buildStakingAction(), + ...builder.buildSystemAction(), + ...builder.buildGovernanceAction(), + ...builder.buildVestingAction(), + + // TODO: this is not right, see https://github.com/polkadot-fellows/runtimes/blob/main/relay/polkadot/src/lib.rs#L1391 + // Needs an issue + ...builder.buildAuctionAction(), + ...builder.buildSlotsAction(), + ], + }, + + ['Governance']: { + buildAllowedActions: (builder) => [...builder.buildUtilityAction()], + buildDisallowedActions: (builder) => [ + ...builder.buildBalancesAction(), + ...builder.buildBountyAction(), + ...builder.buildGovernanceAction(), + ...builder.buildMultisigAction(), + ...builder.buildProxyAction(), + ...builder.buildStakingAction(), + ...builder.buildSystemAction(), + ...builder.buildVestingAction(), + ], + }, + + ['Staking']: { + buildAllowedActions: (builder) => [...builder.buildUtilityAction()], + buildDisallowedActions: (builder) => [ + ...builder.buildBalancesAction(), + ...builder.buildFastUnstakeAction(), + ...builder.buildGovernanceAction(), + ...builder.buildNominationPoolsAction(), + ...builder.buildStakingAction(), + ...builder.buildSystemAction(), + ...builder.buildVestingAction(), + ], + }, + + ['NominationPools']: { + buildAllowedActions: (builder) => [...builder.buildUtilityAction()], + buildDisallowedActions: (builder) => [ + ...builder.buildBalancesAction(), + ...builder.buildGovernanceAction(), + ...builder.buildNominationPoolsAction(), + ...builder.buildStakingAction(), + ...builder.buildSystemAction(), + ...builder.buildVestingAction(), + ], + }, ['ParaRegistration']: { buildAllowedActions: (builder) => [ ...builder.buildParasRegistrarAction(), @@ -42,9 +134,6 @@ const polkadotProxyTypeConfig: ProxyTypeConfig = { }, } -const polkadotProxyCfg: ProxyTestConfig = { - proxyTypes: PolkadotProxyTypes, - proxyTypeConfig: polkadotProxyTypeConfig, -} +const polkadotProxyCfg: ProxyTestConfig = createProxyConfig(PolkadotProxyTypes, polkadotProxyTypeConfig) registerTestTree(fullProxyE2ETests(polkadot, testConfig, polkadotProxyCfg)) diff --git a/packages/polkadot/src/polkadot.scheduler.e2e.test.ts b/packages/polkadot/src/polkadot.scheduler.e2e.test.ts deleted file mode 100644 index cf1f5fdcd..000000000 --- a/packages/polkadot/src/polkadot.scheduler.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { polkadot } from '@e2e-test/networks/chains' -import { baseSchedulerE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' - -const testConfig: RelayTestConfig = { - testSuiteName: 'Polkadot Scheduler', - addressEncoding: 0, - blockProvider: 'Local', -} - -registerTestTree(baseSchedulerE2ETests(polkadot, testConfig)) diff --git a/packages/polkadot/src/polkadot.staking.e2e.test.ts b/packages/polkadot/src/polkadot.staking.e2e.test.ts deleted file mode 100644 index f09c2c3ee..000000000 --- a/packages/polkadot/src/polkadot.staking.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { polkadot } from '@e2e-test/networks/chains' -import { completeStakingE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' - -const testConfig: RelayTestConfig = { - testSuiteName: 'Polkadot Staking', - addressEncoding: 0, - blockProvider: 'Local', -} - -registerTestTree(completeStakingE2ETests(polkadot, testConfig)) diff --git a/packages/polkadot/src/polkadot.treasury.e2e.test.ts b/packages/polkadot/src/polkadot.treasury.e2e.test.ts deleted file mode 100644 index 2ff8d94cb..000000000 --- a/packages/polkadot/src/polkadot.treasury.e2e.test.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { assetHubPolkadot, polkadot } from '@e2e-test/networks/chains' -import { baseTreasuryE2ETests, registerTestTree } from '@e2e-test/shared' - -registerTestTree( - baseTreasuryE2ETests(polkadot, assetHubPolkadot, { testSuiteName: 'Polkadot Treasury', addressEncoding: 0 }), -) diff --git a/packages/polkadot/src/polkadot.vesting.e2e.test.ts b/packages/polkadot/src/polkadot.vesting.e2e.test.ts deleted file mode 100644 index f962e00a7..000000000 --- a/packages/polkadot/src/polkadot.vesting.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { polkadot } from '@e2e-test/networks/chains' -import { fullVestingE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' - -const testConfig: RelayTestConfig = { - testSuiteName: 'Polkadot Vesting', - addressEncoding: 0, - blockProvider: 'Local', -} - -registerTestTree(fullVestingE2ETests(polkadot, testConfig)) From 861eedd83566940ae13d2aeebaec454aaea01690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 23 Oct 2025 00:14:42 +0100 Subject: [PATCH 10/40] Note auction proxy filtering E2E tests in relay chains --- packages/kusama/src/kusama.proxy.e2e.test.ts | 4 ++-- packages/polkadot/src/polkadot.proxy.e2e.test.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/kusama/src/kusama.proxy.e2e.test.ts b/packages/kusama/src/kusama.proxy.e2e.test.ts index 042f54a01..590b90059 100644 --- a/packages/kusama/src/kusama.proxy.e2e.test.ts +++ b/packages/kusama/src/kusama.proxy.e2e.test.ts @@ -79,8 +79,8 @@ const kusamaProxyTypeConfig: ProxyTypeConfig = { ...builder.buildGovernanceAction(), ...builder.buildVestingAction(), - // TODO: this is not right, see https://github.com/polkadot-fellows/runtimes/blob/main/relay/kusama/src/lib.rs#L1391 - // Needs an issue + // Since the AHM has completed in Kusama, there will be no more auctions in the relay chain, + // and these shall remain filtered. ...builder.buildAuctionAction(), ...builder.buildSlotsAction(), ], diff --git a/packages/polkadot/src/polkadot.proxy.e2e.test.ts b/packages/polkadot/src/polkadot.proxy.e2e.test.ts index 6808fca1d..f44afb83a 100644 --- a/packages/polkadot/src/polkadot.proxy.e2e.test.ts +++ b/packages/polkadot/src/polkadot.proxy.e2e.test.ts @@ -79,8 +79,8 @@ const polkadotProxyTypeConfig: ProxyTypeConfig = { ...builder.buildGovernanceAction(), ...builder.buildVestingAction(), - // TODO: this is not right, see https://github.com/polkadot-fellows/runtimes/blob/main/relay/polkadot/src/lib.rs#L1391 - // Needs an issue + // Since the AHM has completed in Polkadot, there will be no more auctions in the relay chain, + // and these shall remain filtered. ...builder.buildAuctionAction(), ...builder.buildSlotsAction(), ], From cfcd847ab2606e545e13446f601e20042e0ec3e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 23 Oct 2025 13:10:58 +0100 Subject: [PATCH 11/40] Change Hydration's RPC endpoint --- packages/networks/src/chains/hydration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/networks/src/chains/hydration.ts b/packages/networks/src/chains/hydration.ts index df679101f..e19b109bc 100644 --- a/packages/networks/src/chains/hydration.ts +++ b/packages/networks/src/chains/hydration.ts @@ -29,7 +29,7 @@ const getInitStorages = (config: typeof custom.hydration | typeof custom.basilis export const hydration = defineChain({ name: 'hydration', paraId: 2034, - endpoint: 'wss://rpc.hydradx.cloud', + endpoint: 'wss://hydration.ibp.network', custom: custom.hydration, initStorages: getInitStorages(custom.hydration), }) From 8031d771a0b415a5f88d0435f5e18bf6e4538530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 23 Oct 2025 13:17:33 +0100 Subject: [PATCH 12/40] Disable failing Polkadot XCM tests post-AHM --- packages/polkadot/src/acala.polkadot.test.ts | 72 ++++++++++++-------- packages/polkadot/src/astar.polkadot.test.ts | 48 +++++++------ 2 files changed, 70 insertions(+), 50 deletions(-) diff --git a/packages/polkadot/src/acala.polkadot.test.ts b/packages/polkadot/src/acala.polkadot.test.ts index 18f458ab6..14f0cc7de 100644 --- a/packages/polkadot/src/acala.polkadot.test.ts +++ b/packages/polkadot/src/acala.polkadot.test.ts @@ -11,36 +11,48 @@ describe('acala & polkadot', async () => { const acalaDOT = acalaClient.config.custom.dot const polkadotDOT = polkadotClient.config.custom.dot - runXtokensUp('acala transfer DOT to polkadot', async () => { - return { - fromChain: acalaClient, - toChain: polkadotClient, - balance: query.tokens(acalaDOT), - tx: tx.xtokens.transfer(acalaDOT, 1e12, tx.xtokens.relaychainV3), - } - }) + runXtokensUp( + 'acala transfer DOT to polkadot', + async () => { + return { + fromChain: acalaClient, + toChain: polkadotClient, + balance: query.tokens(acalaDOT), + tx: tx.xtokens.transfer(acalaDOT, 1e12, tx.xtokens.relaychainV3), + } + }, + { skip: true }, + ) - runXtokensUp('acala transfer DOT wiht limited weight', async () => { - return { - fromChain: acalaClient, - toChain: polkadotClient, - balance: query.tokens(acalaDOT), - tx: tx.xtokens.transfer(acalaDOT, 1e12, tx.xtokens.relaychainV3, { - Limited: { refTime: 5000000000, proofSize: 10000 }, - }), - } - }) + runXtokensUp( + 'acala transfer DOT wiht limited weight', + async () => { + return { + fromChain: acalaClient, + toChain: polkadotClient, + balance: query.tokens(acalaDOT), + tx: tx.xtokens.transfer(acalaDOT, 1e12, tx.xtokens.relaychainV3, { + Limited: { refTime: 5000000000, proofSize: 10000 }, + }), + } + }, + { skip: true }, + ) - runXcmPalletDown('polkadot transfer DOT to acala', async () => { - return { - fromChain: polkadotClient, - toChain: acalaClient, - balance: query.tokens(acalaDOT), - tx: tx.xcmPallet.limitedReserveTransferAssetsV3( - polkadotDOT, - 1e12, - tx.xcmPallet.parachainV3(0, acalaClient.config.paraId!), - ), - } - }) + runXcmPalletDown( + 'polkadot transfer DOT to acala', + async () => { + return { + fromChain: polkadotClient, + toChain: acalaClient, + balance: query.tokens(acalaDOT), + tx: tx.xcmPallet.limitedReserveTransferAssetsV3( + polkadotDOT, + 1e12, + tx.xcmPallet.parachainV3(0, acalaClient.config.paraId!), + ), + } + }, + { skip: true }, + ) }) diff --git a/packages/polkadot/src/astar.polkadot.test.ts b/packages/polkadot/src/astar.polkadot.test.ts index 65de1cad3..5a580a245 100644 --- a/packages/polkadot/src/astar.polkadot.test.ts +++ b/packages/polkadot/src/astar.polkadot.test.ts @@ -11,25 +11,33 @@ describe('astar & polkadot', async () => { const astarDOT = astarClient.config.custom!.dot const polkadotDOT = polkadotClient.config.custom!.dot - runXcmPalletDown('polkadot transfer DOT to astar', async () => { - return { - fromChain: polkadotClient, - toChain: astarClient, - balance: query.assets(astarDOT), - tx: tx.xcmPallet.limitedReserveTransferAssetsV3( - polkadotDOT, - 1e12, - tx.xcmPallet.parachainV3(0, astarClient.config.paraId!), - ), - } - }) + runXcmPalletDown( + 'polkadot transfer DOT to astar', + async () => { + return { + fromChain: polkadotClient, + toChain: astarClient, + balance: query.assets(astarDOT), + tx: tx.xcmPallet.limitedReserveTransferAssetsV3( + polkadotDOT, + 1e12, + tx.xcmPallet.parachainV3(0, astarClient.config.paraId!), + ), + } + }, + { skip: true }, + ) - runXtokensUp('astar transfer DOT to polkadot', async () => { - return { - fromChain: astarClient, - toChain: polkadotClient, - balance: query.assets(astarDOT), - tx: tx.xtokens.transfer(astarDOT, 1e12, tx.xtokens.relaychainV3), - } - }) + runXtokensUp( + 'astar transfer DOT to polkadot', + async () => { + return { + fromChain: astarClient, + toChain: polkadotClient, + balance: query.assets(astarDOT), + tx: tx.xtokens.transfer(astarDOT, 1e12, tx.xtokens.relaychainV3), + } + }, + { skip: true }, + ) }) From adeeacfaf42556171abdc234f0d80e5bee3c8c82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Fri, 31 Oct 2025 00:20:08 +0000 Subject: [PATCH 13/40] Test that staking is filtered on Kusama relay --- .../src/assetHubKusama.staking.e2e.test.ts | 4 +- .../kusama/src/kusama.staking.e2e.test.ts | 10 ++ packages/shared/src/staking.ts | 135 ++++++++++++++++++ 3 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 packages/kusama/src/kusama.staking.e2e.test.ts diff --git a/packages/kusama/src/assetHubKusama.staking.e2e.test.ts b/packages/kusama/src/assetHubKusama.staking.e2e.test.ts index 720d3b36f..16436113a 100644 --- a/packages/kusama/src/assetHubKusama.staking.e2e.test.ts +++ b/packages/kusama/src/assetHubKusama.staking.e2e.test.ts @@ -1,7 +1,7 @@ import { assetHubKusama } from '@e2e-test/networks/chains' -import { fullStakingE2ETests, registerTestTree, type TestConfig } from '@e2e-test/shared' +import { fullStakingE2ETests, type ParaTestConfig, registerTestTree } from '@e2e-test/shared' -const pAssetHubTestConfig: TestConfig = { +const pAssetHubTestConfig: ParaTestConfig = { testSuiteName: 'Kusama Asset Hub Staking', addressEncoding: 2, blockProvider: 'NonLocal', diff --git a/packages/kusama/src/kusama.staking.e2e.test.ts b/packages/kusama/src/kusama.staking.e2e.test.ts new file mode 100644 index 000000000..bd7ed5280 --- /dev/null +++ b/packages/kusama/src/kusama.staking.e2e.test.ts @@ -0,0 +1,10 @@ +import { kusama } from '@e2e-test/networks/chains' +import { type RelayTestConfig, registerTestTree, relayStakingE2ETests } from '@e2e-test/shared' + +const kusamaTestConfig: RelayTestConfig = { + testSuiteName: 'Kusama Staking', + addressEncoding: 2, + blockProvider: 'Local', +} + +registerTestTree(relayStakingE2ETests(kusama, kusamaTestConfig)) diff --git a/packages/shared/src/staking.ts b/packages/shared/src/staking.ts index 589a79cbf..ccf952c6e 100644 --- a/packages/shared/src/staking.ts +++ b/packages/shared/src/staking.ts @@ -2060,6 +2060,124 @@ export function slashingTests< } } +/** + * Test that all staking extrinsics are filtered on the calling chain. + * + */ +async function stakingCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + // 1. Verify the staking pallet is available + const stakingPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Staking') + expect(stakingPalletMeta).toBeDefined() + expect(stakingPalletMeta?.calls).toBeDefined() + expect(client.api.tx.staking).toBeDefined() + + // 2. Create a `utility.forceBatch` with all staking extrinsics using garbage but well-formed arguments + const batchCalls = [ + // call index 0 + client.api.tx.staking.bond(1_000_000_000n, { Staked: null }), + // 1 + client.api.tx.staking.bondExtra(1_000_000_000n), + // 2 + client.api.tx.staking.unbond(1_000_000_000n), + // 3 + client.api.tx.staking.withdrawUnbonded(0), + // 4 + client.api.tx.staking.validate({ commission: 1e7, blocked: false }), + // 5 + client.api.tx.staking.nominate([testAccounts.alice.address]), + // 6 + client.api.tx.staking.chill(), + // 7 + client.api.tx.staking.setPayee({ Staked: null }), + // 8 + client.api.tx.staking.setController(), + // 9 + client.api.tx.staking.setValidatorCount(100), + // 10 + client.api.tx.staking.increaseValidatorCount(10), + // 11 + client.api.tx.staking.scaleValidatorCount(10), + // 12 + client.api.tx.staking.forceNoEras(), + // 13 + client.api.tx.staking.forceNewEra(), + // 14 + client.api.tx.staking.setInvulnerables([testAccounts.alice.address]), + // 15 + client.api.tx.staking.forceUnstake(testAccounts.alice.address, 0), + // 16 + client.api.tx.staking.forceNewEraAlways(), + // 17 + client.api.tx.staking.cancelDeferredSlash(0, [0]), + // 18 + client.api.tx.staking.payoutStakers(testAccounts.alice.address, 0), + // 19 + client.api.tx.staking.rebond(1_000_000_000n), + // 20 + client.api.tx.staking.reapStash(testAccounts.alice.address, 0), + // 21 + client.api.tx.staking.kick([testAccounts.alice.address]), + // 22 + client.api.tx.staking.setStakingConfigs( + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + ), + // 23 + client.api.tx.staking.chillOther(testAccounts.alice.address), + // 24 + client.api.tx.staking.forceApplyMinCommission(testAccounts.alice.address), + // 25 + client.api.tx.staking.setMinCommission(10_000_000), + // 26 + client.api.tx.staking.payoutStakersByPage(testAccounts.alice.address, 0, 0), + // 27 + client.api.tx.staking.updatePayee(testAccounts.alice.address), + // 28 + client.api.tx.staking.deprecateControllerBatch([testAccounts.alice.address]), + // 29 + client.api.tx.staking.restoreLedger(testAccounts.alice.address, null, null, null), + // 30 + client.api.tx.staking.migrateCurrency(testAccounts.alice.address), + // 33 + client.api.tx.staking.manualSlash(testAccounts.alice.address, 0, 0), + ] + + // 3. Execute the `utility.forceBatch` transaction + const forceBatchTx = client.api.tx.utility.forceBatch(batchCalls) + await sendTransaction(forceBatchTx.signAsync(testAccounts.alice)) + await client.dev.newBlock() + + // 4. Check that all calls failed with `CallFiltered` error + const events = await client.api.query.system.events() + + const itemFailedEvents = events.filter((record) => { + const { event } = record + return event.section === 'utility' && event.method === 'ItemFailed' + }) + + // Should have one `ItemFailed` event per staking call + expect(itemFailedEvents.length).toBe(batchCalls.length) + + // Verify each failure was due to `CallFiltered` + for (const record of itemFailedEvents) { + assert(client.api.events.utility.ItemFailed.is(record.event)) + const dispatchError = record.event.data.error + + assert(dispatchError.isModule, 'Expected module error') + expect(client.api.errors.system.CallFiltered.is(dispatchError.asModule)).toBe(true) + } +} + export function baseStakingE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, @@ -2184,3 +2302,20 @@ export function completeStakingE2ETests< children: [basalTestTree, slashingTestTree, fastUnstakeTestTree], } } + +export function relayStakingE2ETests< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain, testConfig: TestConfig): RootTestTree { + return { + kind: 'describe' as const, + label: testConfig.testSuiteName, + children: [ + { + kind: 'test' as const, + label: 'all staking calls are filtered', + testFn: async () => await stakingCallsFilteredTest(chain), + }, + ], + } +} From d5360d73e90c972b374a6a5e5e393144f68f0e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Fri, 31 Oct 2025 01:49:12 +0000 Subject: [PATCH 14/40] Add Kusama post-AHM filtering tests --- .../src/kusama.nominationPools.e2e.test.ts | 10 ++ .../kusama/src/kusama.vesting.e2e.test.ts | 10 ++ packages/shared/src/bounties.ts | 48 +++++++ packages/shared/src/childBounties.ts | 40 ++++++ packages/shared/src/governance.ts | 120 ++++++++++++++++++ packages/shared/src/helpers/index.ts | 42 ++++++ packages/shared/src/nomination-pools.ts | 102 +++++++++++++++ packages/shared/src/staking.ts | 27 +--- packages/shared/src/vesting.ts | 59 +++++++++ 9 files changed, 433 insertions(+), 25 deletions(-) create mode 100644 packages/kusama/src/kusama.nominationPools.e2e.test.ts create mode 100644 packages/kusama/src/kusama.vesting.e2e.test.ts diff --git a/packages/kusama/src/kusama.nominationPools.e2e.test.ts b/packages/kusama/src/kusama.nominationPools.e2e.test.ts new file mode 100644 index 000000000..bab3c9566 --- /dev/null +++ b/packages/kusama/src/kusama.nominationPools.e2e.test.ts @@ -0,0 +1,10 @@ +import { kusama } from '@e2e-test/networks/chains' +import { type RelayTestConfig, registerTestTree, relayNominationPoolsE2ETests } from '@e2e-test/shared' + +const kusamaTestConfig: RelayTestConfig = { + testSuiteName: 'Kusama Nomination Pools', + addressEncoding: 2, + blockProvider: 'Local', +} + +registerTestTree(relayNominationPoolsE2ETests(kusama, kusamaTestConfig)) diff --git a/packages/kusama/src/kusama.vesting.e2e.test.ts b/packages/kusama/src/kusama.vesting.e2e.test.ts new file mode 100644 index 000000000..8beedb649 --- /dev/null +++ b/packages/kusama/src/kusama.vesting.e2e.test.ts @@ -0,0 +1,10 @@ +import { kusama } from '@e2e-test/networks/chains' +import { type RelayTestConfig, registerTestTree, relayVestingE2ETests } from '@e2e-test/shared' + +const kusamaTestConfig: RelayTestConfig = { + testSuiteName: 'Kusama Vesting', + addressEncoding: 2, + blockProvider: 'Local', +} + +registerTestTree(relayVestingE2ETests(kusama, kusamaTestConfig)) diff --git a/packages/shared/src/bounties.ts b/packages/shared/src/bounties.ts index 05e12d27d..c19537a9a 100644 --- a/packages/shared/src/bounties.ts +++ b/packages/shared/src/bounties.ts @@ -13,6 +13,7 @@ import { getBlockNumber, scheduleInlineCallWithOrigin, type TestConfig, + testCallsFilteredViaForceBatch, } from './helpers/index.js' import type { RootTestTree } from './types.js' @@ -3128,6 +3129,53 @@ export function allBountyFailureTests< * change/add/remove default tests. */ +/** + * Test that all bounties extrinsics are filtered on the calling chain. + */ +export async function bountiesCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const bountiesPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Bounties', + ) + expect(bountiesPalletMeta).toBeDefined() + expect(bountiesPalletMeta?.calls).toBeDefined() + expect(client.api.tx.bounties).toBeDefined() + + const alice = testAccounts.alice + const bob = testAccounts.bob + + const batchCalls = [ + // call index 0 + client.api.tx.bounties.proposeBounty(1_000_000_000n, '0x00'), + // 1 + client.api.tx.bounties.approveBounty(0), + // 2 + client.api.tx.bounties.proposeCurator(0, bob.address, 1_000_000n), + // 3 + client.api.tx.bounties.unassignCurator(0), + // 4 + client.api.tx.bounties.acceptCurator(0), + // 5 + client.api.tx.bounties.awardBounty(0, bob.address), + // 6 + client.api.tx.bounties.claimBounty(0), + // 7 + client.api.tx.bounties.closeBounty(0), + // 8 + client.api.tx.bounties.extendBountyExpiry(0, '0x00'), + // 9 + client.api.tx.bounties.approveBountyWithCurator(0, bob.address, 1_000_000n), + // 10 + client.api.tx.bounties.pokeDeposit(0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + export function baseBountiesE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, diff --git a/packages/shared/src/childBounties.ts b/packages/shared/src/childBounties.ts index 1a007d378..837a27781 100644 --- a/packages/shared/src/childBounties.ts +++ b/packages/shared/src/childBounties.ts @@ -16,6 +16,7 @@ import { getBlockNumber, scheduleInlineCallWithOrigin, type TestConfig, + testCallsFilteredViaForceBatch, } from './helpers/index.js' import type { RootTestTree } from './types.js' @@ -2570,6 +2571,45 @@ export function allChildBountiesFailureTests< * Base set of childBounties end-to-end tests. * */ +/** + * Test that all child-bounties extrinsics are filtered on the calling chain. + */ +export async function childBountiesCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const childBountiesPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'ChildBounties', + ) + expect(childBountiesPalletMeta).toBeDefined() + expect(childBountiesPalletMeta?.calls).toBeDefined() + expect(client.api.tx.childBounties).toBeDefined() + + const alice = testAccounts.alice + const bob = testAccounts.bob + + const batchCalls = [ + // call index 0 + client.api.tx.childBounties.addChildBounty(0, 1_000_000_000n, '0x00'), + // 1 + client.api.tx.childBounties.proposeCurator(0, 0, bob.address, 1_000_000n), + // 2 + client.api.tx.childBounties.acceptCurator(0, 0), + // 3 + client.api.tx.childBounties.unassignCurator(0, 0), + // 4 + client.api.tx.childBounties.awardChildBounty(0, 0, bob.address), + // 5 + client.api.tx.childBounties.claimChildBounty(0, 0), + // 6 + client.api.tx.childBounties.closeChildBounty(0, 0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + export function baseChildBountiesE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, diff --git a/packages/shared/src/governance.ts b/packages/shared/src/governance.ts index 07bb6c237..6124a6591 100644 --- a/packages/shared/src/governance.ts +++ b/packages/shared/src/governance.ts @@ -26,6 +26,7 @@ import { objectCmp, scheduleInlineCallWithOrigin, type TestConfig, + testCallsFilteredViaForceBatch, } from './helpers/index.js' /// ------- @@ -924,6 +925,125 @@ export async function preimageTest< assert(preimage.isNone) } +/** + * Test that all referenda extrinsics are filtered on the calling chain. + */ +export async function referendaCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const referendaPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Referenda', + ) + expect(referendaPalletMeta).toBeDefined() + expect(referendaPalletMeta?.calls).toBeDefined() + expect(client.api.tx.referenda).toBeDefined() + + const alice = devAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.referenda.submit( + { system: 'Root' }, + { Inline: client.api.tx.system.remark('0x00').method.toHex() }, + { At: 0 }, + ), + // 1 + client.api.tx.referenda.placeDecisionDeposit(0), + // 2 + client.api.tx.referenda.refundDecisionDeposit(0), + // 3 + client.api.tx.referenda.cancel(0), + // 4 + client.api.tx.referenda.kill(0), + // 5 + client.api.tx.referenda.nudgeReferendum(0), + // 6 + client.api.tx.referenda.oneFewerDeciding(0), + // 7 + client.api.tx.referenda.refundSubmissionDeposit(0), + // 8 + client.api.tx.referenda.setMetadata(0, null), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that all conviction-voting extrinsics are filtered on the calling chain. + */ +export async function convictionVotingCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const convictionVotingPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'ConvictionVoting', + ) + expect(convictionVotingPalletMeta).toBeDefined() + expect(convictionVotingPalletMeta?.calls).toBeDefined() + expect(client.api.tx.convictionVoting).toBeDefined() + + const alice = devAccounts.alice + const bob = devAccounts.bob + + const batchCalls = [ + // call index 0 + client.api.tx.convictionVoting.vote(0, { + Standard: { vote: { aye: true, conviction: 0 }, balance: 1_000_000_000n }, + }), + // 1 + client.api.tx.convictionVoting.delegate(0, bob.address, 0, 1_000_000_000n), + // 2 + client.api.tx.convictionVoting.undelegate(0), + // 3 + client.api.tx.convictionVoting.unlock(0, bob.address), + // 4 + client.api.tx.convictionVoting.removeVote(null, 0), + // 5 + client.api.tx.convictionVoting.removeOtherVote(bob.address, 0, 0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that all preimage extrinsics are filtered on the calling chain. + */ +export async function preimageCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const preimagePalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Preimage', + ) + expect(preimagePalletMeta).toBeDefined() + expect(preimagePalletMeta?.calls).toBeDefined() + expect(client.api.tx.preimage).toBeDefined() + + const alice = devAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.preimage.notePreimage('0x00'), + // 1 + client.api.tx.preimage.unnotePreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), + // 2 + client.api.tx.preimage.requestPreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), + // 3 + client.api.tx.preimage.unrequestPreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), + // 4 + client.api.tx.preimage.ensureUpdated(['0x0000000000000000000000000000000000000000000000000000000000000000']), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + export function baseGovernanceE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, diff --git a/packages/shared/src/helpers/index.ts b/packages/shared/src/helpers/index.ts index a17efdb13..82f9aabbf 100644 --- a/packages/shared/src/helpers/index.ts +++ b/packages/shared/src/helpers/index.ts @@ -15,6 +15,7 @@ import type { HexString } from '@polkadot/util/types' import { assert, expect } from 'vitest' import { match } from 'ts-pattern' +import type { Client } from '../types.js' const { check, checkEvents, checkHrmp, checkSystemEvents, checkUmp } = setupCheck({ expectFn: (x: any) => ({ @@ -619,3 +620,44 @@ export function getXcmRoute(from: Chain, to: Chain) { return { parents, interior } } + +/** + * Test that all extrinsics in a batch are filtered when called through `utility.forceBatch`. + * + * This helper verifies that all calls in the batch fail with `CallFiltered` errors, + * ensuring that the pallet's calls cannot be executed via `utility.forceBatch`. + * + * @param client - The API client instance + * @param batchCalls - Array of extrinsics to test + * @param signer - Keyring pair to sign the transaction + */ +export async function testCallsFilteredViaForceBatch( + client: Client, + batchCalls: any[], + signer: KeyringPair, +): Promise { + // Execute the `utility.forceBatch` transaction + const forceBatchTx = client.api.tx.utility.forceBatch(batchCalls) + await sendTransaction(forceBatchTx.signAsync(signer)) + await client.dev.newBlock() + + // Check that all calls failed with `CallFiltered` error + const events = await client.api.query.system.events() + + const itemFailedEvents = events.filter((record) => { + const { event } = record + return event.section === 'utility' && event.method === 'ItemFailed' + }) + + // Should have one `ItemFailed` event per call + expect(itemFailedEvents.length).toBe(batchCalls.length) + + // Verify each failure was due to `CallFiltered` + for (const record of itemFailedEvents) { + assert(client.api.events.utility.ItemFailed.is(record.event)) + const dispatchError = record.event.data.error + + assert(dispatchError.isModule, 'Expected module error') + expect(client.api.errors.system.CallFiltered.is(dispatchError.asModule)).toBe(true) + } +} diff --git a/packages/shared/src/nomination-pools.ts b/packages/shared/src/nomination-pools.ts index db0af9f49..a9da915e9 100644 --- a/packages/shared/src/nomination-pools.ts +++ b/packages/shared/src/nomination-pools.ts @@ -23,6 +23,7 @@ import { scheduleInlineCallWithOrigin, setValidatorsStorage, type TestConfig, + testCallsFilteredViaForceBatch, } from './helpers/index.js' /// ------- @@ -1156,6 +1157,107 @@ async function nominationPoolsUpdateRolesTest< }) } +/** + * Test that all nomination-pools extrinsics are filtered on the calling chain. + */ +export async function nominationPoolsCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const nominationPoolsPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'NominationPools', + ) + expect(nominationPoolsPalletMeta).toBeDefined() + expect(nominationPoolsPalletMeta?.calls).toBeDefined() + expect(client.api.tx.nominationPools).toBeDefined() + + const alice = testAccounts.alice + const bob = testAccounts.bob + + const batchCalls = [ + // call index 0 + client.api.tx.nominationPools.join(1_000_000_000n, 0), + // 1 + client.api.tx.nominationPools.bondExtra({ FreeBalance: 1_000_000_000n }), + // 2 + client.api.tx.nominationPools.claimPayout(), + // 3 + client.api.tx.nominationPools.unbond(bob.address, 1_000_000_000n), + // 4 + client.api.tx.nominationPools.poolWithdrawUnbonded(0, 0), + // 5 + client.api.tx.nominationPools.withdrawUnbonded(bob.address, 0), + // 6 + client.api.tx.nominationPools.create(1_000_000_000n, bob.address, bob.address, bob.address), + // 7 + client.api.tx.nominationPools.createWithPoolId(1_000_000_000n, bob.address, bob.address, bob.address, 0), + // 8 + client.api.tx.nominationPools.nominate(0, [bob.address]), + // 9 + client.api.tx.nominationPools.setState(0, 'Destroying'), + // 10 + client.api.tx.nominationPools.setMetadata(0, '0x00'), + // 11 + client.api.tx.nominationPools.setConfigs( + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + ), + // 12 + client.api.tx.nominationPools.updateRoles(0, { Noop: null }, { Noop: null }, { Noop: null }), + // 13 + client.api.tx.nominationPools.chill(0), + // 14 + client.api.tx.nominationPools.bondExtra({ FreeBalance: 1_000_000_000n }), + // 15 + client.api.tx.nominationPools.setClaimPermission('Permissioned'), + // 16 + client.api.tx.nominationPools.claimPayoutOther(bob.address), + // 17 + client.api.tx.nominationPools.setCommission(0, [1e7, bob.address]), + // 18 + client.api.tx.nominationPools.setCommissionMax(0, 1e7), + // 19 + client.api.tx.nominationPools.setCommissionChangeRate(0, { maxIncrease: 1e7, minDelay: 0 }), + // 20 + client.api.tx.nominationPools.claimCommission(0), + // 21 + client.api.tx.nominationPools.adjustPoolDeposit(0), + // 22 + client.api.tx.nominationPools.setCommissionClaimPermission(0, 'Permissionless'), + // 23 + client.api.tx.nominationPools.applySlash(bob.address), + // 24 + client.api.tx.nominationPools.migrateDelegation(bob.address), + // 25 + client.api.tx.nominationPools.migratePoolToDelegateStake(0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +export function relayNominationPoolsE2ETests< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain, testConfig: TestConfig): RootTestTree { + return { + kind: 'describe' as const, + label: testConfig.testSuiteName, + children: [ + { + kind: 'test' as const, + label: 'all nomination pools calls are filtered', + testFn: async () => await nominationPoolsCallsFilteredTest(chain), + }, + ], + } +} + export function baseNominationPoolsE2ETests< TCustom extends Record | undefined, TInitStoragesRelay extends Record> | undefined, diff --git a/packages/shared/src/staking.ts b/packages/shared/src/staking.ts index ccf952c6e..0db192801 100644 --- a/packages/shared/src/staking.ts +++ b/packages/shared/src/staking.ts @@ -21,6 +21,7 @@ import { expectPjsEqual, scheduleInlineCallWithOrigin, type TestConfig, + testCallsFilteredViaForceBatch, updateCumulativeFees, } from './helpers/index.js' @@ -2062,7 +2063,6 @@ export function slashingTests< /** * Test that all staking extrinsics are filtered on the calling chain. - * */ async function stakingCallsFilteredTest< TCustom extends Record | undefined, @@ -2152,30 +2152,7 @@ async function stakingCallsFilteredTest< client.api.tx.staking.manualSlash(testAccounts.alice.address, 0, 0), ] - // 3. Execute the `utility.forceBatch` transaction - const forceBatchTx = client.api.tx.utility.forceBatch(batchCalls) - await sendTransaction(forceBatchTx.signAsync(testAccounts.alice)) - await client.dev.newBlock() - - // 4. Check that all calls failed with `CallFiltered` error - const events = await client.api.query.system.events() - - const itemFailedEvents = events.filter((record) => { - const { event } = record - return event.section === 'utility' && event.method === 'ItemFailed' - }) - - // Should have one `ItemFailed` event per staking call - expect(itemFailedEvents.length).toBe(batchCalls.length) - - // Verify each failure was due to `CallFiltered` - for (const record of itemFailedEvents) { - assert(client.api.events.utility.ItemFailed.is(record.event)) - const dispatchError = record.event.data.error - - assert(dispatchError.isModule, 'Expected module error') - expect(client.api.errors.system.CallFiltered.is(dispatchError.asModule)).toBe(true) - } + await testCallsFilteredViaForceBatch(client, batchCalls, testAccounts.alice) } export function baseStakingE2ETests< diff --git a/packages/shared/src/vesting.ts b/packages/shared/src/vesting.ts index 7da1ded9a..7470c6ff4 100644 --- a/packages/shared/src/vesting.ts +++ b/packages/shared/src/vesting.ts @@ -17,6 +17,7 @@ import { getBlockNumber, scheduleInlineCallWithOrigin, type TestConfig, + testCallsFilteredViaForceBatch, } from './helpers/index.js' /** @@ -571,6 +572,47 @@ export function fullVestingE2ETests< } } +/** + * Test that all vesting extrinsics are filtered on the calling chain. + */ +async function vestingCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + // 1. Verify the vesting pallet is available + const vestingPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Vesting') + expect(vestingPalletMeta).toBeDefined() + expect(vestingPalletMeta?.calls).toBeDefined() + expect(client.api.tx.vesting).toBeDefined() + + const alice = defaultAccountsSr25519.alice + const bob = defaultAccountsSr25519.bob + + // 2. Create a `utility.forceBatch` with all vesting extrinsics using garbage but well-formed arguments + const batchCalls = [ + // call index 0 + client.api.tx.vesting.vest(), + // 1 + client.api.tx.vesting.vestOther(bob.address), + // 2 + client.api.tx.vesting.vestedTransfer(bob.address, { perBlock: 1_000_000n, locked: 10_000_000n, startingBlock: 0 }), + // 3 + client.api.tx.vesting.forceVestedTransfer(alice.address, bob.address, { + perBlock: 1_000_000n, + locked: 10_000_000n, + startingBlock: 0, + }), + // 4 + client.api.tx.vesting.mergeSchedules(0, 1), + // 5 + client.api.tx.vesting.forceRemoveVestingSchedule(bob.address, 0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + export function assetHubVestingE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, @@ -602,3 +644,20 @@ export function assetHubVestingE2ETests< ], } } + +export function relayVestingE2ETests< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain, testConfig: TestConfig): RootTestTree { + return { + kind: 'describe' as const, + label: testConfig.testSuiteName, + children: [ + { + kind: 'test' as const, + label: 'all vesting calls are filtered via utility.forceBatch', + testFn: async () => await vestingCallsFilteredTest(chain), + }, + ], + } +} From 3cddb805d6e0cb37ea29e5519677373ae1cfd1e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Fri, 31 Oct 2025 13:29:49 +0000 Subject: [PATCH 15/40] Update staking snapshot --- .../src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap index 138b81cc9..b4da9a1c4 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap @@ -665,7 +665,7 @@ exports[`Polkadot Asset Hub Staking > base staking tests > trying to become a va "paysFee": "Yes", "weight": { "proofSize": "(rounded 10000)", - "refTime": "(rounded 2000000000)", + "refTime": "(rounded 1000000000)", }, }, }, From 78e5b81788d829f0a10330e2145aa7160d8482a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Fri, 31 Oct 2025 15:29:57 +0000 Subject: [PATCH 16/40] Move all post-AHM filtering tests to own file --- .../src/kusama.nominationPools.e2e.test.ts | 10 - .../src/kusama.postAhmFiltering.e2e.test.ts | 10 + .../kusama/src/kusama.staking.e2e.test.ts | 10 - .../kusama/src/kusama.vesting.e2e.test.ts | 10 - packages/shared/src/bounties.ts | 48 -- packages/shared/src/childBounties.ts | 40 -- packages/shared/src/governance.ts | 120 ---- packages/shared/src/helpers/index.ts | 38 ++ packages/shared/src/index.ts | 1 + packages/shared/src/nomination-pools.ts | 102 --- packages/shared/src/postAhmFiltering.ts | 639 ++++++++++++++++++ packages/shared/src/staking.ts | 112 --- packages/shared/src/vesting.ts | 59 -- 13 files changed, 688 insertions(+), 511 deletions(-) delete mode 100644 packages/kusama/src/kusama.nominationPools.e2e.test.ts create mode 100644 packages/kusama/src/kusama.postAhmFiltering.e2e.test.ts delete mode 100644 packages/kusama/src/kusama.staking.e2e.test.ts delete mode 100644 packages/kusama/src/kusama.vesting.e2e.test.ts create mode 100644 packages/shared/src/postAhmFiltering.ts diff --git a/packages/kusama/src/kusama.nominationPools.e2e.test.ts b/packages/kusama/src/kusama.nominationPools.e2e.test.ts deleted file mode 100644 index bab3c9566..000000000 --- a/packages/kusama/src/kusama.nominationPools.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { kusama } from '@e2e-test/networks/chains' -import { type RelayTestConfig, registerTestTree, relayNominationPoolsE2ETests } from '@e2e-test/shared' - -const kusamaTestConfig: RelayTestConfig = { - testSuiteName: 'Kusama Nomination Pools', - addressEncoding: 2, - blockProvider: 'Local', -} - -registerTestTree(relayNominationPoolsE2ETests(kusama, kusamaTestConfig)) diff --git a/packages/kusama/src/kusama.postAhmFiltering.e2e.test.ts b/packages/kusama/src/kusama.postAhmFiltering.e2e.test.ts new file mode 100644 index 000000000..8c4ef952a --- /dev/null +++ b/packages/kusama/src/kusama.postAhmFiltering.e2e.test.ts @@ -0,0 +1,10 @@ +import { kusama } from '@e2e-test/networks/chains' +import { postAhmFilteringE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' + +const kusamaTestConfig: RelayTestConfig = { + testSuiteName: 'Kusama Post-AHM Filtering Tests', + addressEncoding: 2, + blockProvider: 'Local', +} + +registerTestTree(postAhmFilteringE2ETests(kusama, kusamaTestConfig)) diff --git a/packages/kusama/src/kusama.staking.e2e.test.ts b/packages/kusama/src/kusama.staking.e2e.test.ts deleted file mode 100644 index bd7ed5280..000000000 --- a/packages/kusama/src/kusama.staking.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { kusama } from '@e2e-test/networks/chains' -import { type RelayTestConfig, registerTestTree, relayStakingE2ETests } from '@e2e-test/shared' - -const kusamaTestConfig: RelayTestConfig = { - testSuiteName: 'Kusama Staking', - addressEncoding: 2, - blockProvider: 'Local', -} - -registerTestTree(relayStakingE2ETests(kusama, kusamaTestConfig)) diff --git a/packages/kusama/src/kusama.vesting.e2e.test.ts b/packages/kusama/src/kusama.vesting.e2e.test.ts deleted file mode 100644 index 8beedb649..000000000 --- a/packages/kusama/src/kusama.vesting.e2e.test.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { kusama } from '@e2e-test/networks/chains' -import { type RelayTestConfig, registerTestTree, relayVestingE2ETests } from '@e2e-test/shared' - -const kusamaTestConfig: RelayTestConfig = { - testSuiteName: 'Kusama Vesting', - addressEncoding: 2, - blockProvider: 'Local', -} - -registerTestTree(relayVestingE2ETests(kusama, kusamaTestConfig)) diff --git a/packages/shared/src/bounties.ts b/packages/shared/src/bounties.ts index c19537a9a..05e12d27d 100644 --- a/packages/shared/src/bounties.ts +++ b/packages/shared/src/bounties.ts @@ -13,7 +13,6 @@ import { getBlockNumber, scheduleInlineCallWithOrigin, type TestConfig, - testCallsFilteredViaForceBatch, } from './helpers/index.js' import type { RootTestTree } from './types.js' @@ -3129,53 +3128,6 @@ export function allBountyFailureTests< * change/add/remove default tests. */ -/** - * Test that all bounties extrinsics are filtered on the calling chain. - */ -export async function bountiesCallsFilteredTest< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain) { - const [client] = await setupNetworks(chain) - - const bountiesPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Bounties', - ) - expect(bountiesPalletMeta).toBeDefined() - expect(bountiesPalletMeta?.calls).toBeDefined() - expect(client.api.tx.bounties).toBeDefined() - - const alice = testAccounts.alice - const bob = testAccounts.bob - - const batchCalls = [ - // call index 0 - client.api.tx.bounties.proposeBounty(1_000_000_000n, '0x00'), - // 1 - client.api.tx.bounties.approveBounty(0), - // 2 - client.api.tx.bounties.proposeCurator(0, bob.address, 1_000_000n), - // 3 - client.api.tx.bounties.unassignCurator(0), - // 4 - client.api.tx.bounties.acceptCurator(0), - // 5 - client.api.tx.bounties.awardBounty(0, bob.address), - // 6 - client.api.tx.bounties.claimBounty(0), - // 7 - client.api.tx.bounties.closeBounty(0), - // 8 - client.api.tx.bounties.extendBountyExpiry(0, '0x00'), - // 9 - client.api.tx.bounties.approveBountyWithCurator(0, bob.address, 1_000_000n), - // 10 - client.api.tx.bounties.pokeDeposit(0), - ] - - await testCallsFilteredViaForceBatch(client, batchCalls, alice) -} - export function baseBountiesE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, diff --git a/packages/shared/src/childBounties.ts b/packages/shared/src/childBounties.ts index 837a27781..1a007d378 100644 --- a/packages/shared/src/childBounties.ts +++ b/packages/shared/src/childBounties.ts @@ -16,7 +16,6 @@ import { getBlockNumber, scheduleInlineCallWithOrigin, type TestConfig, - testCallsFilteredViaForceBatch, } from './helpers/index.js' import type { RootTestTree } from './types.js' @@ -2571,45 +2570,6 @@ export function allChildBountiesFailureTests< * Base set of childBounties end-to-end tests. * */ -/** - * Test that all child-bounties extrinsics are filtered on the calling chain. - */ -export async function childBountiesCallsFilteredTest< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain) { - const [client] = await setupNetworks(chain) - - const childBountiesPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'ChildBounties', - ) - expect(childBountiesPalletMeta).toBeDefined() - expect(childBountiesPalletMeta?.calls).toBeDefined() - expect(client.api.tx.childBounties).toBeDefined() - - const alice = testAccounts.alice - const bob = testAccounts.bob - - const batchCalls = [ - // call index 0 - client.api.tx.childBounties.addChildBounty(0, 1_000_000_000n, '0x00'), - // 1 - client.api.tx.childBounties.proposeCurator(0, 0, bob.address, 1_000_000n), - // 2 - client.api.tx.childBounties.acceptCurator(0, 0), - // 3 - client.api.tx.childBounties.unassignCurator(0, 0), - // 4 - client.api.tx.childBounties.awardChildBounty(0, 0, bob.address), - // 5 - client.api.tx.childBounties.claimChildBounty(0, 0), - // 6 - client.api.tx.childBounties.closeChildBounty(0, 0), - ] - - await testCallsFilteredViaForceBatch(client, batchCalls, alice) -} - export function baseChildBountiesE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, diff --git a/packages/shared/src/governance.ts b/packages/shared/src/governance.ts index 6124a6591..07bb6c237 100644 --- a/packages/shared/src/governance.ts +++ b/packages/shared/src/governance.ts @@ -26,7 +26,6 @@ import { objectCmp, scheduleInlineCallWithOrigin, type TestConfig, - testCallsFilteredViaForceBatch, } from './helpers/index.js' /// ------- @@ -925,125 +924,6 @@ export async function preimageTest< assert(preimage.isNone) } -/** - * Test that all referenda extrinsics are filtered on the calling chain. - */ -export async function referendaCallsFilteredTest< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain) { - const [client] = await setupNetworks(chain) - - const referendaPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Referenda', - ) - expect(referendaPalletMeta).toBeDefined() - expect(referendaPalletMeta?.calls).toBeDefined() - expect(client.api.tx.referenda).toBeDefined() - - const alice = devAccounts.alice - - const batchCalls = [ - // call index 0 - client.api.tx.referenda.submit( - { system: 'Root' }, - { Inline: client.api.tx.system.remark('0x00').method.toHex() }, - { At: 0 }, - ), - // 1 - client.api.tx.referenda.placeDecisionDeposit(0), - // 2 - client.api.tx.referenda.refundDecisionDeposit(0), - // 3 - client.api.tx.referenda.cancel(0), - // 4 - client.api.tx.referenda.kill(0), - // 5 - client.api.tx.referenda.nudgeReferendum(0), - // 6 - client.api.tx.referenda.oneFewerDeciding(0), - // 7 - client.api.tx.referenda.refundSubmissionDeposit(0), - // 8 - client.api.tx.referenda.setMetadata(0, null), - ] - - await testCallsFilteredViaForceBatch(client, batchCalls, alice) -} - -/** - * Test that all conviction-voting extrinsics are filtered on the calling chain. - */ -export async function convictionVotingCallsFilteredTest< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain) { - const [client] = await setupNetworks(chain) - - const convictionVotingPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'ConvictionVoting', - ) - expect(convictionVotingPalletMeta).toBeDefined() - expect(convictionVotingPalletMeta?.calls).toBeDefined() - expect(client.api.tx.convictionVoting).toBeDefined() - - const alice = devAccounts.alice - const bob = devAccounts.bob - - const batchCalls = [ - // call index 0 - client.api.tx.convictionVoting.vote(0, { - Standard: { vote: { aye: true, conviction: 0 }, balance: 1_000_000_000n }, - }), - // 1 - client.api.tx.convictionVoting.delegate(0, bob.address, 0, 1_000_000_000n), - // 2 - client.api.tx.convictionVoting.undelegate(0), - // 3 - client.api.tx.convictionVoting.unlock(0, bob.address), - // 4 - client.api.tx.convictionVoting.removeVote(null, 0), - // 5 - client.api.tx.convictionVoting.removeOtherVote(bob.address, 0, 0), - ] - - await testCallsFilteredViaForceBatch(client, batchCalls, alice) -} - -/** - * Test that all preimage extrinsics are filtered on the calling chain. - */ -export async function preimageCallsFilteredTest< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain) { - const [client] = await setupNetworks(chain) - - const preimagePalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Preimage', - ) - expect(preimagePalletMeta).toBeDefined() - expect(preimagePalletMeta?.calls).toBeDefined() - expect(client.api.tx.preimage).toBeDefined() - - const alice = devAccounts.alice - - const batchCalls = [ - // call index 0 - client.api.tx.preimage.notePreimage('0x00'), - // 1 - client.api.tx.preimage.unnotePreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), - // 2 - client.api.tx.preimage.requestPreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), - // 3 - client.api.tx.preimage.unrequestPreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), - // 4 - client.api.tx.preimage.ensureUpdated(['0x0000000000000000000000000000000000000000000000000000000000000000']), - ] - - await testCallsFilteredViaForceBatch(client, batchCalls, alice) -} - export function baseGovernanceE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, diff --git a/packages/shared/src/helpers/index.ts b/packages/shared/src/helpers/index.ts index 82f9aabbf..bc0949eeb 100644 --- a/packages/shared/src/helpers/index.ts +++ b/packages/shared/src/helpers/index.ts @@ -621,6 +621,44 @@ export function getXcmRoute(from: Chain, to: Chain) { return { parents, interior } } +/** + * Test that calls executed via `utility.forceBatch` are NOT filtered (i.e., they pass the filter check). + * The calls may still fail for other reasons (invalid arguments, etc.), but they should not fail with `CallFiltered`. + * + * @param client - The API client instance + * @param batchCalls - Array of extrinsics to test + * @param signer - Keyring pair to sign the transaction + */ +export async function testCallsNotFilteredViaForceBatch( + client: Client, + batchCalls: any[], + signer: KeyringPair, +): Promise { + // Execute the `utility.forceBatch` transaction + const forceBatchTx = client.api.tx.utility.forceBatch(batchCalls) + await sendTransaction(forceBatchTx.signAsync(signer)) + await client.dev.newBlock() + + // Check events to ensure no calls failed with `CallFiltered` error + const events = await client.api.query.system.events() + + const itemFailedEvents = events.filter((record) => { + const { event } = record + return event.section === 'utility' && event.method === 'ItemFailed' + }) + + // Verify that none of the failures were due to `CallFiltered` + for (const record of itemFailedEvents) { + assert(client.api.events.utility.ItemFailed.is(record.event)) + const dispatchError = record.event.data.error + + if (dispatchError.isModule) { + // If it's a module error, check that it's NOT CallFiltered + expect(client.api.errors.system.CallFiltered.is(dispatchError.asModule)).toBe(false) + } + } +} + /** * Test that all extrinsics in a batch are filtered when called through `utility.forceBatch`. * diff --git a/packages/shared/src/index.ts b/packages/shared/src/index.ts index 9d8f3172f..d6b89128e 100644 --- a/packages/shared/src/index.ts +++ b/packages/shared/src/index.ts @@ -8,6 +8,7 @@ export * from './helpers/proxyTypes.js' export * from './multisig.js' export * from './nomination-pools.js' export * from './people.js' +export * from './postAhmFiltering.js' export * from './proxy.js' export * from './scheduler.js' export * from './setup.js' diff --git a/packages/shared/src/nomination-pools.ts b/packages/shared/src/nomination-pools.ts index a9da915e9..db0af9f49 100644 --- a/packages/shared/src/nomination-pools.ts +++ b/packages/shared/src/nomination-pools.ts @@ -23,7 +23,6 @@ import { scheduleInlineCallWithOrigin, setValidatorsStorage, type TestConfig, - testCallsFilteredViaForceBatch, } from './helpers/index.js' /// ------- @@ -1157,107 +1156,6 @@ async function nominationPoolsUpdateRolesTest< }) } -/** - * Test that all nomination-pools extrinsics are filtered on the calling chain. - */ -export async function nominationPoolsCallsFilteredTest< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain) { - const [client] = await setupNetworks(chain) - - const nominationPoolsPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'NominationPools', - ) - expect(nominationPoolsPalletMeta).toBeDefined() - expect(nominationPoolsPalletMeta?.calls).toBeDefined() - expect(client.api.tx.nominationPools).toBeDefined() - - const alice = testAccounts.alice - const bob = testAccounts.bob - - const batchCalls = [ - // call index 0 - client.api.tx.nominationPools.join(1_000_000_000n, 0), - // 1 - client.api.tx.nominationPools.bondExtra({ FreeBalance: 1_000_000_000n }), - // 2 - client.api.tx.nominationPools.claimPayout(), - // 3 - client.api.tx.nominationPools.unbond(bob.address, 1_000_000_000n), - // 4 - client.api.tx.nominationPools.poolWithdrawUnbonded(0, 0), - // 5 - client.api.tx.nominationPools.withdrawUnbonded(bob.address, 0), - // 6 - client.api.tx.nominationPools.create(1_000_000_000n, bob.address, bob.address, bob.address), - // 7 - client.api.tx.nominationPools.createWithPoolId(1_000_000_000n, bob.address, bob.address, bob.address, 0), - // 8 - client.api.tx.nominationPools.nominate(0, [bob.address]), - // 9 - client.api.tx.nominationPools.setState(0, 'Destroying'), - // 10 - client.api.tx.nominationPools.setMetadata(0, '0x00'), - // 11 - client.api.tx.nominationPools.setConfigs( - { Noop: null }, - { Noop: null }, - { Noop: null }, - { Noop: null }, - { Noop: null }, - { Noop: null }, - ), - // 12 - client.api.tx.nominationPools.updateRoles(0, { Noop: null }, { Noop: null }, { Noop: null }), - // 13 - client.api.tx.nominationPools.chill(0), - // 14 - client.api.tx.nominationPools.bondExtra({ FreeBalance: 1_000_000_000n }), - // 15 - client.api.tx.nominationPools.setClaimPermission('Permissioned'), - // 16 - client.api.tx.nominationPools.claimPayoutOther(bob.address), - // 17 - client.api.tx.nominationPools.setCommission(0, [1e7, bob.address]), - // 18 - client.api.tx.nominationPools.setCommissionMax(0, 1e7), - // 19 - client.api.tx.nominationPools.setCommissionChangeRate(0, { maxIncrease: 1e7, minDelay: 0 }), - // 20 - client.api.tx.nominationPools.claimCommission(0), - // 21 - client.api.tx.nominationPools.adjustPoolDeposit(0), - // 22 - client.api.tx.nominationPools.setCommissionClaimPermission(0, 'Permissionless'), - // 23 - client.api.tx.nominationPools.applySlash(bob.address), - // 24 - client.api.tx.nominationPools.migrateDelegation(bob.address), - // 25 - client.api.tx.nominationPools.migratePoolToDelegateStake(0), - ] - - await testCallsFilteredViaForceBatch(client, batchCalls, alice) -} - -export function relayNominationPoolsE2ETests< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain, testConfig: TestConfig): RootTestTree { - return { - kind: 'describe' as const, - label: testConfig.testSuiteName, - children: [ - { - kind: 'test' as const, - label: 'all nomination pools calls are filtered', - testFn: async () => await nominationPoolsCallsFilteredTest(chain), - }, - ], - } -} - export function baseNominationPoolsE2ETests< TCustom extends Record | undefined, TInitStoragesRelay extends Record> | undefined, diff --git a/packages/shared/src/postAhmFiltering.ts b/packages/shared/src/postAhmFiltering.ts new file mode 100644 index 000000000..2fa194d75 --- /dev/null +++ b/packages/shared/src/postAhmFiltering.ts @@ -0,0 +1,639 @@ +import { type Chain, defaultAccountsSr25519 as devAccounts, testAccounts } from '@e2e-test/networks' +import { type RootTestTree, setupNetworks } from '@e2e-test/shared' + +import { expect } from 'vitest' + +import { type TestConfig, testCallsFilteredViaForceBatch, testCallsNotFilteredViaForceBatch } from './helpers/index.js' + +/** + * Test that all staking extrinsics are filtered on the calling chain. + */ +async function stakingCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + // 1. Verify the staking pallet is available + const stakingPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Staking') + expect(stakingPalletMeta).toBeDefined() + expect(stakingPalletMeta?.calls).toBeDefined() + expect(client.api.tx.staking).toBeDefined() + + // 2. Create a `utility.forceBatch` with all staking extrinsics using garbage but well-formed arguments + const batchCalls = [ + // call index 0 + client.api.tx.staking.bond(1_000_000_000n, { Staked: null }), + // 1 + client.api.tx.staking.bondExtra(1_000_000_000n), + // 2 + client.api.tx.staking.unbond(1_000_000_000n), + // 3 + client.api.tx.staking.withdrawUnbonded(0), + // 4 + client.api.tx.staking.validate({ commission: 1e7, blocked: false }), + // 5 + client.api.tx.staking.nominate([testAccounts.alice.address]), + // 6 + client.api.tx.staking.chill(), + // 7 + client.api.tx.staking.setPayee({ Staked: null }), + // 8 + client.api.tx.staking.setController(), + // 9 + client.api.tx.staking.setValidatorCount(100), + // 10 + client.api.tx.staking.increaseValidatorCount(10), + // 11 + client.api.tx.staking.scaleValidatorCount(10), + // 12 + client.api.tx.staking.forceNoEras(), + // 13 + client.api.tx.staking.forceNewEra(), + // 14 + client.api.tx.staking.setInvulnerables([testAccounts.alice.address]), + // 15 + client.api.tx.staking.forceUnstake(testAccounts.alice.address, 0), + // 16 + client.api.tx.staking.forceNewEraAlways(), + // 17 + client.api.tx.staking.cancelDeferredSlash(0, [0]), + // 18 + client.api.tx.staking.payoutStakers(testAccounts.alice.address, 0), + // 19 + client.api.tx.staking.rebond(1_000_000_000n), + // 20 + client.api.tx.staking.reapStash(testAccounts.alice.address, 0), + // 21 + client.api.tx.staking.kick([testAccounts.alice.address]), + // 22 + client.api.tx.staking.setStakingConfigs( + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + ), + // 23 + client.api.tx.staking.chillOther(testAccounts.alice.address), + // 24 + client.api.tx.staking.forceApplyMinCommission(testAccounts.alice.address), + // 25 + client.api.tx.staking.setMinCommission(10_000_000), + // 26 + client.api.tx.staking.payoutStakersByPage(testAccounts.alice.address, 0, 0), + // 27 + client.api.tx.staking.updatePayee(testAccounts.alice.address), + // 28 + client.api.tx.staking.deprecateControllerBatch([testAccounts.alice.address]), + // 29 + client.api.tx.staking.restoreLedger(testAccounts.alice.address, null, null, null), + // 30 + client.api.tx.staking.migrateCurrency(testAccounts.alice.address), + // 33 + client.api.tx.staking.manualSlash(testAccounts.alice.address, 0, 0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, testAccounts.alice) +} + +/** + * Test that all vesting extrinsics are filtered on the calling chain. + */ +async function vestingCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + // 1. Verify the vesting pallet is available + const vestingPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Vesting') + expect(vestingPalletMeta).toBeDefined() + expect(vestingPalletMeta?.calls).toBeDefined() + expect(client.api.tx.vesting).toBeDefined() + + const alice = devAccounts.alice + const bob = devAccounts.bob + + // 2. Create a `utility.forceBatch` with all vesting extrinsics using garbage but well-formed arguments + const batchCalls = [ + // call index 0 + client.api.tx.vesting.vest(), + // 1 + client.api.tx.vesting.vestOther(bob.address), + // 2 + client.api.tx.vesting.vestedTransfer(bob.address, { perBlock: 1_000_000n, locked: 10_000_000n, startingBlock: 0 }), + // 3 + client.api.tx.vesting.forceVestedTransfer(alice.address, bob.address, { + perBlock: 1_000_000n, + locked: 10_000_000n, + startingBlock: 0, + }), + // 4 + client.api.tx.vesting.mergeSchedules(0, 1), + // 5 + client.api.tx.vesting.forceRemoveVestingSchedule(bob.address, 0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that all referenda extrinsics are filtered on the calling chain. + */ +async function referendaCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const referendaPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Referenda', + ) + expect(referendaPalletMeta).toBeDefined() + expect(referendaPalletMeta?.calls).toBeDefined() + expect(client.api.tx.referenda).toBeDefined() + + const alice = devAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.referenda.submit( + { system: 'Root' }, + { Inline: client.api.tx.system.remark('0x00').method.toHex() }, + { At: 0 }, + ), + // 1 + client.api.tx.referenda.placeDecisionDeposit(0), + // 2 + client.api.tx.referenda.refundDecisionDeposit(0), + // 3 + client.api.tx.referenda.cancel(0), + // 4 + client.api.tx.referenda.kill(0), + // 5 + client.api.tx.referenda.nudgeReferendum(0), + // 6 + client.api.tx.referenda.oneFewerDeciding(0), + // 7 + client.api.tx.referenda.refundSubmissionDeposit(0), + // 8 + client.api.tx.referenda.setMetadata(0, null), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that all conviction-voting extrinsics are filtered on the calling chain. + */ +async function convictionVotingCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const convictionVotingPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'ConvictionVoting', + ) + expect(convictionVotingPalletMeta).toBeDefined() + expect(convictionVotingPalletMeta?.calls).toBeDefined() + expect(client.api.tx.convictionVoting).toBeDefined() + + const alice = devAccounts.alice + const bob = devAccounts.bob + + const batchCalls = [ + // call index 0 + client.api.tx.convictionVoting.vote(0, { + Standard: { vote: { aye: true, conviction: 0 }, balance: 1_000_000_000n }, + }), + // 1 + client.api.tx.convictionVoting.delegate(0, bob.address, 0, 1_000_000_000n), + // 2 + client.api.tx.convictionVoting.undelegate(0), + // 3 + client.api.tx.convictionVoting.unlock(0, bob.address), + // 4 + client.api.tx.convictionVoting.removeVote(null, 0), + // 5 + client.api.tx.convictionVoting.removeOtherVote(bob.address, 0, 0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that all preimage extrinsics are filtered on the calling chain. + */ +async function preimageCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const preimagePalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Preimage', + ) + expect(preimagePalletMeta).toBeDefined() + expect(preimagePalletMeta?.calls).toBeDefined() + expect(client.api.tx.preimage).toBeDefined() + + const alice = devAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.preimage.notePreimage('0x00'), + // 1 + client.api.tx.preimage.unnotePreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), + // 2 + client.api.tx.preimage.requestPreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), + // 3 + client.api.tx.preimage.unrequestPreimage('0x0000000000000000000000000000000000000000000000000000000000000000'), + // 4 + client.api.tx.preimage.ensureUpdated(['0x0000000000000000000000000000000000000000000000000000000000000000']), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that all nomination-pools extrinsics are filtered on the calling chain. + */ +async function nominationPoolsCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const nominationPoolsPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'NominationPools', + ) + expect(nominationPoolsPalletMeta).toBeDefined() + expect(nominationPoolsPalletMeta?.calls).toBeDefined() + expect(client.api.tx.nominationPools).toBeDefined() + + const alice = testAccounts.alice + const bob = testAccounts.bob + + const batchCalls = [ + // call index 0 + client.api.tx.nominationPools.join(1_000_000_000n, 0), + // 1 + client.api.tx.nominationPools.bondExtra({ FreeBalance: 1_000_000_000n }), + // 2 + client.api.tx.nominationPools.claimPayout(), + // 3 + client.api.tx.nominationPools.unbond(bob.address, 1_000_000_000n), + // 4 + client.api.tx.nominationPools.poolWithdrawUnbonded(0, 0), + // 5 + client.api.tx.nominationPools.withdrawUnbonded(bob.address, 0), + // 6 + client.api.tx.nominationPools.create(1_000_000_000n, bob.address, bob.address, bob.address), + // 7 + client.api.tx.nominationPools.createWithPoolId(1_000_000_000n, bob.address, bob.address, bob.address, 0), + // 8 + client.api.tx.nominationPools.nominate(0, [bob.address]), + // 9 + client.api.tx.nominationPools.setState(0, 'Destroying'), + // 10 + client.api.tx.nominationPools.setMetadata(0, '0x00'), + // 11 + client.api.tx.nominationPools.setConfigs( + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + { Noop: null }, + ), + // 12 + client.api.tx.nominationPools.updateRoles(0, { Noop: null }, { Noop: null }, { Noop: null }), + // 13 + client.api.tx.nominationPools.chill(0), + // 14 + client.api.tx.nominationPools.bondExtra({ FreeBalance: 1_000_000_000n }), + // 15 + client.api.tx.nominationPools.setClaimPermission('Permissioned'), + // 16 + client.api.tx.nominationPools.claimPayoutOther(bob.address), + // 17 + client.api.tx.nominationPools.setCommission(0, [1e7, bob.address]), + // 18 + client.api.tx.nominationPools.setCommissionMax(0, 1e7), + // 19 + client.api.tx.nominationPools.setCommissionChangeRate(0, { maxIncrease: 1e7, minDelay: 0 }), + // 20 + client.api.tx.nominationPools.claimCommission(0), + // 21 + client.api.tx.nominationPools.adjustPoolDeposit(0), + // 22 + client.api.tx.nominationPools.setCommissionClaimPermission(0, 'Permissionless'), + // 23 + client.api.tx.nominationPools.applySlash(bob.address), + // 24 + client.api.tx.nominationPools.migrateDelegation(bob.address), + // 25 + client.api.tx.nominationPools.migratePoolToDelegateStake(0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that all bounties extrinsics are filtered on the calling chain. + */ +async function bountiesCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const bountiesPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Bounties', + ) + expect(bountiesPalletMeta).toBeDefined() + expect(bountiesPalletMeta?.calls).toBeDefined() + expect(client.api.tx.bounties).toBeDefined() + + const alice = testAccounts.alice + const bob = testAccounts.bob + + const batchCalls = [ + // call index 0 + client.api.tx.bounties.proposeBounty(1_000_000_000n, '0x00'), + // 1 + client.api.tx.bounties.approveBounty(0), + // 2 + client.api.tx.bounties.proposeCurator(0, bob.address, 1_000_000n), + // 3 + client.api.tx.bounties.unassignCurator(0), + // 4 + client.api.tx.bounties.acceptCurator(0), + // 5 + client.api.tx.bounties.awardBounty(0, bob.address), + // 6 + client.api.tx.bounties.claimBounty(0), + // 7 + client.api.tx.bounties.closeBounty(0), + // 8 + client.api.tx.bounties.extendBountyExpiry(0, '0x00'), + // 9 + client.api.tx.bounties.approveBountyWithCurator(0, bob.address, 1_000_000n), + // 10 + client.api.tx.bounties.pokeDeposit(0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that all child-bounties extrinsics are filtered on the calling chain. + */ +async function childBountiesCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const childBountiesPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'ChildBounties', + ) + expect(childBountiesPalletMeta).toBeDefined() + expect(childBountiesPalletMeta?.calls).toBeDefined() + expect(client.api.tx.childBounties).toBeDefined() + + const alice = testAccounts.alice + const bob = testAccounts.bob + + const batchCalls = [ + // call index 0 + client.api.tx.childBounties.addChildBounty(0, 1_000_000_000n, '0x00'), + // 1 + client.api.tx.childBounties.proposeCurator(0, 0, bob.address, 1_000_000n), + // 2 + client.api.tx.childBounties.acceptCurator(0, 0), + // 3 + client.api.tx.childBounties.unassignCurator(0, 0), + // 4 + client.api.tx.childBounties.awardChildBounty(0, 0, bob.address), + // 5 + client.api.tx.childBounties.claimChildBounty(0, 0), + // 6 + client.api.tx.childBounties.closeChildBounty(0, 0), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that BABE extrinsics are NOT filtered on the calling chain. + */ +async function babeCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const babePalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Babe') + expect(babePalletMeta).toBeDefined() + expect(babePalletMeta?.calls).toBeDefined() + expect(client.api.tx.babe).toBeDefined() + + const alice = testAccounts.alice + + // These calls require complex proof objects, so we'll use minimal valid structures + // The actual proof validation will fail, but the call structure should be valid + const batchCalls = [ + // call index 0 + // Requires: equivocation_proof (Box), key_owner_proof + // Using minimal structures - actual proofs would be complex + client.api.tx.babe.reportEquivocation( + // These are placeholder values - actual equivocation proofs are complex objects + // The call will fail validation but the structure is correct + {} as any, + {} as any, + ), + // call index 1 + client.api.tx.babe.reportEquivocationUnsigned({} as any, {} as any), + // call index 2 + client.api.tx.babe.planConfigChange({ V1: { c: [1, 1], allowedSlots: 'PrimarySlots' } }), + ] + + await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that GRANDPA extrinsics are NOT filtered on the calling chain. + */ +async function grandpaCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const grandpaPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Grandpa') + expect(grandpaPalletMeta).toBeDefined() + expect(grandpaPalletMeta?.calls).toBeDefined() + expect(client.api.tx.grandpa).toBeDefined() + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.grandpa.reportEquivocation({} as any, {} as any), + // call index 1 + client.api.tx.grandpa.reportEquivocationUnsigned({} as any, {} as any), + // call index 2 + client.api.tx.grandpa.noteStalled(1000, 1000), + ] + + await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that Beefy extrinsics are NOT filtered on the calling chain. + */ +async function beefyCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const beefyPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Beefy') + expect(beefyPalletMeta).toBeDefined() + expect(beefyPalletMeta?.calls).toBeDefined() + expect(client.api.tx.beefy).toBeDefined() + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.beefy.reportDoubleVoting({} as any, {} as any), + // call index 1 + client.api.tx.beefy.reportDoubleVotingUnsigned({} as any, {} as any), + // call index 2 + client.api.tx.beefy.setNewGenesis(1), + // call index 3 + client.api.tx.beefy.reportForkVoting({} as any, {} as any), + // call index 4 + client.api.tx.beefy.reportForkVotingUnsigned({} as any, {} as any), + // call index 5 + client.api.tx.beefy.reportFutureBlockVoting({} as any, {} as any), + // call index 6 + client.api.tx.beefy.reportFutureBlockVotingUnsigned({} as any, {} as any), + ] + + await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that `paraSlashing` extrinsics are NOT filtered on the calling chain. + */ +async function parasSlashingCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const parasSlashingPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'ParasSlashing', + ) + expect(parasSlashingPalletMeta).toBeDefined() + expect(parasSlashingPalletMeta?.calls).toBeDefined() + expect(client.api.tx.parasSlashing).toBeDefined() + + const batchCalls = [ + // call index 0 - report_dispute_lost_unsigned + client.api.tx.parasSlashing.reportDisputeLostUnsigned({} as any, {} as any), + ] + + await testCallsNotFilteredViaForceBatch(client, batchCalls, testAccounts.alice) +} + +export function postAhmFilteringE2ETests< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain, testConfig: TestConfig): RootTestTree { + return { + kind: 'describe', + label: testConfig.testSuiteName, + children: [ + { + kind: 'describe', + label: 'filtered calls', + children: [ + { + kind: 'test', + label: 'staking calls are filtered', + testFn: async () => await stakingCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'vesting calls are filtered', + testFn: async () => await vestingCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'referenda calls are filtered', + testFn: async () => await referendaCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'conviction-voting calls are filtered', + testFn: async () => await convictionVotingCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'preimage calls are filtered', + testFn: async () => await preimageCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'nomination pools calls are filtered', + testFn: async () => await nominationPoolsCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'bounties calls are filtered', + testFn: async () => await bountiesCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'child-bounties calls are filtered', + testFn: async () => await childBountiesCallsFilteredTest(chain), + }, + ], + }, + { + kind: 'describe', + label: 'unfiltered calls', + children: [ + { + kind: 'test', + label: 'babe calls are not filtered', + testFn: async () => await babeCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'grandpa calls are not filtered', + testFn: async () => await grandpaCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'beefy calls are not filtered', + testFn: async () => await beefyCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'paras-slashing calls are not filtered', + testFn: async () => await parasSlashingCallsFilteredTest(chain), + }, + ], + }, + ], + } +} diff --git a/packages/shared/src/staking.ts b/packages/shared/src/staking.ts index 0db192801..589a79cbf 100644 --- a/packages/shared/src/staking.ts +++ b/packages/shared/src/staking.ts @@ -21,7 +21,6 @@ import { expectPjsEqual, scheduleInlineCallWithOrigin, type TestConfig, - testCallsFilteredViaForceBatch, updateCumulativeFees, } from './helpers/index.js' @@ -2061,100 +2060,6 @@ export function slashingTests< } } -/** - * Test that all staking extrinsics are filtered on the calling chain. - */ -async function stakingCallsFilteredTest< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain) { - const [client] = await setupNetworks(chain) - - // 1. Verify the staking pallet is available - const stakingPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Staking') - expect(stakingPalletMeta).toBeDefined() - expect(stakingPalletMeta?.calls).toBeDefined() - expect(client.api.tx.staking).toBeDefined() - - // 2. Create a `utility.forceBatch` with all staking extrinsics using garbage but well-formed arguments - const batchCalls = [ - // call index 0 - client.api.tx.staking.bond(1_000_000_000n, { Staked: null }), - // 1 - client.api.tx.staking.bondExtra(1_000_000_000n), - // 2 - client.api.tx.staking.unbond(1_000_000_000n), - // 3 - client.api.tx.staking.withdrawUnbonded(0), - // 4 - client.api.tx.staking.validate({ commission: 1e7, blocked: false }), - // 5 - client.api.tx.staking.nominate([testAccounts.alice.address]), - // 6 - client.api.tx.staking.chill(), - // 7 - client.api.tx.staking.setPayee({ Staked: null }), - // 8 - client.api.tx.staking.setController(), - // 9 - client.api.tx.staking.setValidatorCount(100), - // 10 - client.api.tx.staking.increaseValidatorCount(10), - // 11 - client.api.tx.staking.scaleValidatorCount(10), - // 12 - client.api.tx.staking.forceNoEras(), - // 13 - client.api.tx.staking.forceNewEra(), - // 14 - client.api.tx.staking.setInvulnerables([testAccounts.alice.address]), - // 15 - client.api.tx.staking.forceUnstake(testAccounts.alice.address, 0), - // 16 - client.api.tx.staking.forceNewEraAlways(), - // 17 - client.api.tx.staking.cancelDeferredSlash(0, [0]), - // 18 - client.api.tx.staking.payoutStakers(testAccounts.alice.address, 0), - // 19 - client.api.tx.staking.rebond(1_000_000_000n), - // 20 - client.api.tx.staking.reapStash(testAccounts.alice.address, 0), - // 21 - client.api.tx.staking.kick([testAccounts.alice.address]), - // 22 - client.api.tx.staking.setStakingConfigs( - { Noop: null }, - { Noop: null }, - { Noop: null }, - { Noop: null }, - { Noop: null }, - { Noop: null }, - { Noop: null }, - ), - // 23 - client.api.tx.staking.chillOther(testAccounts.alice.address), - // 24 - client.api.tx.staking.forceApplyMinCommission(testAccounts.alice.address), - // 25 - client.api.tx.staking.setMinCommission(10_000_000), - // 26 - client.api.tx.staking.payoutStakersByPage(testAccounts.alice.address, 0, 0), - // 27 - client.api.tx.staking.updatePayee(testAccounts.alice.address), - // 28 - client.api.tx.staking.deprecateControllerBatch([testAccounts.alice.address]), - // 29 - client.api.tx.staking.restoreLedger(testAccounts.alice.address, null, null, null), - // 30 - client.api.tx.staking.migrateCurrency(testAccounts.alice.address), - // 33 - client.api.tx.staking.manualSlash(testAccounts.alice.address, 0, 0), - ] - - await testCallsFilteredViaForceBatch(client, batchCalls, testAccounts.alice) -} - export function baseStakingE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, @@ -2279,20 +2184,3 @@ export function completeStakingE2ETests< children: [basalTestTree, slashingTestTree, fastUnstakeTestTree], } } - -export function relayStakingE2ETests< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain, testConfig: TestConfig): RootTestTree { - return { - kind: 'describe' as const, - label: testConfig.testSuiteName, - children: [ - { - kind: 'test' as const, - label: 'all staking calls are filtered', - testFn: async () => await stakingCallsFilteredTest(chain), - }, - ], - } -} diff --git a/packages/shared/src/vesting.ts b/packages/shared/src/vesting.ts index 7470c6ff4..7da1ded9a 100644 --- a/packages/shared/src/vesting.ts +++ b/packages/shared/src/vesting.ts @@ -17,7 +17,6 @@ import { getBlockNumber, scheduleInlineCallWithOrigin, type TestConfig, - testCallsFilteredViaForceBatch, } from './helpers/index.js' /** @@ -572,47 +571,6 @@ export function fullVestingE2ETests< } } -/** - * Test that all vesting extrinsics are filtered on the calling chain. - */ -async function vestingCallsFilteredTest< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain) { - const [client] = await setupNetworks(chain) - - // 1. Verify the vesting pallet is available - const vestingPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Vesting') - expect(vestingPalletMeta).toBeDefined() - expect(vestingPalletMeta?.calls).toBeDefined() - expect(client.api.tx.vesting).toBeDefined() - - const alice = defaultAccountsSr25519.alice - const bob = defaultAccountsSr25519.bob - - // 2. Create a `utility.forceBatch` with all vesting extrinsics using garbage but well-formed arguments - const batchCalls = [ - // call index 0 - client.api.tx.vesting.vest(), - // 1 - client.api.tx.vesting.vestOther(bob.address), - // 2 - client.api.tx.vesting.vestedTransfer(bob.address, { perBlock: 1_000_000n, locked: 10_000_000n, startingBlock: 0 }), - // 3 - client.api.tx.vesting.forceVestedTransfer(alice.address, bob.address, { - perBlock: 1_000_000n, - locked: 10_000_000n, - startingBlock: 0, - }), - // 4 - client.api.tx.vesting.mergeSchedules(0, 1), - // 5 - client.api.tx.vesting.forceRemoveVestingSchedule(bob.address, 0), - ] - - await testCallsFilteredViaForceBatch(client, batchCalls, alice) -} - export function assetHubVestingE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, @@ -644,20 +602,3 @@ export function assetHubVestingE2ETests< ], } } - -export function relayVestingE2ETests< - TCustom extends Record | undefined, - TInitStorages extends Record> | undefined, ->(chain: Chain, testConfig: TestConfig): RootTestTree { - return { - kind: 'describe' as const, - label: testConfig.testSuiteName, - children: [ - { - kind: 'test' as const, - label: 'all vesting calls are filtered via utility.forceBatch', - testFn: async () => await vestingCallsFilteredTest(chain), - }, - ], - } -} From 1e1d0508b351c0fea53596b2acc021f43aa0d282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Fri, 31 Oct 2025 20:01:49 +0000 Subject: [PATCH 17/40] Check coretime post-migration Kusama relay call filters --- packages/shared/src/postAhmFiltering.ts | 181 ++++++++++++++++++++++++ 1 file changed, 181 insertions(+) diff --git a/packages/shared/src/postAhmFiltering.ts b/packages/shared/src/postAhmFiltering.ts index 2fa194d75..5455de7c3 100644 --- a/packages/shared/src/postAhmFiltering.ts +++ b/packages/shared/src/postAhmFiltering.ts @@ -554,6 +554,162 @@ async function parasSlashingCallsFilteredTest< await testCallsNotFilteredViaForceBatch(client, batchCalls, testAccounts.alice) } +/** + * Test that Slots extrinsics are filtered on the calling chain. + */ +async function slotsCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const slotsPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Slots') + expect(slotsPalletMeta).toBeDefined() + expect(slotsPalletMeta?.calls).toBeDefined() + expect(client.api.tx.slots).toBeDefined() + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.slots.forceLease(1000, alice.address, 1_000_000_000n, 0, 1), + // call index 1 + client.api.tx.slots.clearAllLeases(1000), + // call index 2 + client.api.tx.slots.triggerOnboard(1000), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that Auctions extrinsics are filtered on the calling chain. + */ +async function auctionsCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const auctionsPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Auctions', + ) + expect(auctionsPalletMeta).toBeDefined() + expect(auctionsPalletMeta?.calls).toBeDefined() + expect(client.api.tx.auctions).toBeDefined() + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.auctions.newAuction(1000, 0), + // call index 1 + client.api.tx.auctions.bid(1000, 0, 0, 1, 1_000_000_000n), + // call index 2 + client.api.tx.auctions.cancelAuction(), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test the crowdloan extrinsics which are NOT filtered (withdraw, refund, dissolve) on the calling chain. + */ +async function crowdloanCallsNotFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const crowdloanPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Crowdloan', + ) + expect(crowdloanPalletMeta).toBeDefined() + expect(crowdloanPalletMeta?.calls).toBeDefined() + expect(client.api.tx.crowdloan).toBeDefined() + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 2 - withdraw (OFF, ON) + client.api.tx.crowdloan.withdraw(alice.address, 1000), + // call index 3 - refund (OFF, ON) + client.api.tx.crowdloan.refund(1000), + // call index 4 - dissolve (OFF, ON) + client.api.tx.crowdloan.dissolve(1000), + ] + + await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that Crowdloan extrinsics that are filtered on the calling chain. + */ +async function crowdloanCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const crowdloanPalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Crowdloan', + ) + expect(crowdloanPalletMeta).toBeDefined() + expect(crowdloanPalletMeta?.calls).toBeDefined() + expect(client.api.tx.crowdloan).toBeDefined() + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 0 - create + client.api.tx.crowdloan.create(1000, 1_000_000_000n, 0, 1, 1000, null), + // call index 1 - contribute + client.api.tx.crowdloan.contribute(1000, 1_000_000n, null), + // call index 5 - edit + client.api.tx.crowdloan.edit(1000, 1_000_000_000n, 0, 1, 1000, null), + // call index 6 - add_memo + client.api.tx.crowdloan.addMemo(1000, '0x00'), + // call index 7 - poke + client.api.tx.crowdloan.poke(1000), + // call index 8 - contribute_all + client.api.tx.crowdloan.contributeAll(1000, null), + ] + + await testCallsFilteredViaForceBatch(client, batchCalls, alice) +} + +/** + * Test that Coretime extrinsics are NOT filtered on the calling chain. + */ +async function coretimeCallsNotFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const coretimePalletMeta = client.api.registry.metadata.pallets.find( + (pallet) => pallet.name.toString() === 'Coretime', + ) + expect(coretimePalletMeta).toBeDefined() + expect(coretimePalletMeta?.calls).toBeDefined() + expect(client.api.tx.coretime).toBeDefined() + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 1 - request_core_count (ON, ON) + client.api.tx.coretime.requestCoreCount(10), + // call index 2 - request_revenue_at (OFF, ON) + client.api.tx.coretime.requestRevenueAt(1000), + // call index 3 - credit_account (ON, ON) + client.api.tx.coretime.creditAccount(alice.address, 1_000_000_000n), + // call index 4 - assign_core (ON, ON) + client.api.tx.coretime.assignCore(0, 1000, [], null), + ] + + await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) +} + export function postAhmFilteringE2ETests< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, @@ -606,6 +762,21 @@ export function postAhmFilteringE2ETests< label: 'child-bounties calls are filtered', testFn: async () => await childBountiesCallsFilteredTest(chain), }, + { + kind: 'test', + label: 'slots calls are filtered', + testFn: async () => await slotsCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'auctions calls are filtered', + testFn: async () => await auctionsCallsFilteredTest(chain), + }, + { + kind: 'test', + label: 'crowdloan calls (create, contribute, edit, etc) are filtered', + testFn: async () => await crowdloanCallsFilteredTest(chain), + }, ], }, { @@ -632,6 +803,16 @@ export function postAhmFilteringE2ETests< label: 'paras-slashing calls are not filtered', testFn: async () => await parasSlashingCallsFilteredTest(chain), }, + { + kind: 'test', + label: 'crowdloan calls (withdraw, refund, dissolve) are not filtered', + testFn: async () => await crowdloanCallsNotFilteredTest(chain), + }, + { + kind: 'test', + label: 'coretime calls are not filtered', + testFn: async () => await coretimeCallsNotFilteredTest(chain), + }, ], }, ], From 8dafbc1d1210484b08ab9b9a2545ac81edd4372b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Sat, 1 Nov 2025 02:06:18 +0000 Subject: [PATCH 18/40] Refactor filtering test helpers and instances --- packages/shared/src/helpers/index.ts | 89 +++++------- packages/shared/src/postAhmFiltering.ts | 185 +++++------------------- 2 files changed, 75 insertions(+), 199 deletions(-) diff --git a/packages/shared/src/helpers/index.ts b/packages/shared/src/helpers/index.ts index bc0949eeb..e838f34df 100644 --- a/packages/shared/src/helpers/index.ts +++ b/packages/shared/src/helpers/index.ts @@ -622,64 +622,38 @@ export function getXcmRoute(from: Chain, to: Chain) { } /** - * Test that calls executed via `utility.forceBatch` are NOT filtered (i.e., they pass the filter check). - * The calls may still fail for other reasons (invalid arguments, etc.), but they should not fail with `CallFiltered`. + * Test that calls executed via `utility.forceBatch` are filtered or not filtered based on the expected behavior. * - * @param client - The API client instance - * @param batchCalls - Array of extrinsics to test - * @param signer - Keyring pair to sign the transaction - */ -export async function testCallsNotFilteredViaForceBatch( - client: Client, - batchCalls: any[], - signer: KeyringPair, -): Promise { - // Execute the `utility.forceBatch` transaction - const forceBatchTx = client.api.tx.utility.forceBatch(batchCalls) - await sendTransaction(forceBatchTx.signAsync(signer)) - await client.dev.newBlock() - - // Check events to ensure no calls failed with `CallFiltered` error - const events = await client.api.query.system.events() - - const itemFailedEvents = events.filter((record) => { - const { event } = record - return event.section === 'utility' && event.method === 'ItemFailed' - }) - - // Verify that none of the failures were due to `CallFiltered` - for (const record of itemFailedEvents) { - assert(client.api.events.utility.ItemFailed.is(record.event)) - const dispatchError = record.event.data.error - - if (dispatchError.isModule) { - // If it's a module error, check that it's NOT CallFiltered - expect(client.api.errors.system.CallFiltered.is(dispatchError.asModule)).toBe(false) - } - } -} - -/** - * Test that all extrinsics in a batch are filtered when called through `utility.forceBatch`. - * - * This helper verifies that all calls in the batch fail with `CallFiltered` errors, - * ensuring that the pallet's calls cannot be executed via `utility.forceBatch`. + * This helper: + * 1. Verifies the pallet exists and has calls metadata + * 2. Executes the `utility.forceBatch` transaction with the provided calls + * 3. Checks events to verify filtering behavior matches expectations * * @param client - The API client instance + * @param palletName - Name of the pallet being tested (e.g., 'Staking', 'Beefy') * @param batchCalls - Array of extrinsics to test * @param signer - Keyring pair to sign the transaction + * @param expectedFiltered - 'Filtered' expects all calls to be filtered (CallFiltered error). 'NotFiltered' expects calls not to be filtered. */ -export async function testCallsFilteredViaForceBatch( +export async function testCallsViaForceBatch( client: Client, + palletName: string, batchCalls: any[], signer: KeyringPair, + expectedFiltered: 'Filtered' | 'NotFiltered', ): Promise { + // Verify the pallet exists and has calls metadata + const palletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === palletName) + expect(palletMeta).toBeDefined() + expect(palletMeta?.calls).toBeDefined() + expect((client.api.tx as any)[palletName.charAt(0).toLowerCase() + palletName.slice(1)]).toBeDefined() + // Execute the `utility.forceBatch` transaction const forceBatchTx = client.api.tx.utility.forceBatch(batchCalls) await sendTransaction(forceBatchTx.signAsync(signer)) await client.dev.newBlock() - // Check that all calls failed with `CallFiltered` error + // Check events const events = await client.api.query.system.events() const itemFailedEvents = events.filter((record) => { @@ -687,15 +661,28 @@ export async function testCallsFilteredViaForceBatch( return event.section === 'utility' && event.method === 'ItemFailed' }) - // Should have one `ItemFailed` event per call - expect(itemFailedEvents.length).toBe(batchCalls.length) + if (expectedFiltered === 'Filtered') { + // Should have one `ItemFailed` event per call + expect(itemFailedEvents.length).toBe(batchCalls.length) - // Verify each failure was due to `CallFiltered` - for (const record of itemFailedEvents) { - assert(client.api.events.utility.ItemFailed.is(record.event)) - const dispatchError = record.event.data.error + // Verify each failure was due to `CallFiltered` + for (const record of itemFailedEvents) { + assert(client.api.events.utility.ItemFailed.is(record.event)) + const dispatchError = record.event.data.error - assert(dispatchError.isModule, 'Expected module error') - expect(client.api.errors.system.CallFiltered.is(dispatchError.asModule)).toBe(true) + assert(dispatchError.isModule, 'Expected module error') + expect(client.api.errors.system.CallFiltered.is(dispatchError.asModule)).toBe(true) + } + } else { + // Verify that none of the failures were due to `CallFiltered` + for (const record of itemFailedEvents) { + assert(client.api.events.utility.ItemFailed.is(record.event)) + const dispatchError = record.event.data.error + + if (dispatchError.isModule) { + // If it's a module error, check that it's NOT CallFiltered + expect(client.api.errors.system.CallFiltered.is(dispatchError.asModule)).toBe(false) + } + } } } diff --git a/packages/shared/src/postAhmFiltering.ts b/packages/shared/src/postAhmFiltering.ts index 5455de7c3..ce6c66c1a 100644 --- a/packages/shared/src/postAhmFiltering.ts +++ b/packages/shared/src/postAhmFiltering.ts @@ -1,9 +1,7 @@ import { type Chain, defaultAccountsSr25519 as devAccounts, testAccounts } from '@e2e-test/networks' import { type RootTestTree, setupNetworks } from '@e2e-test/shared' -import { expect } from 'vitest' - -import { type TestConfig, testCallsFilteredViaForceBatch, testCallsNotFilteredViaForceBatch } from './helpers/index.js' +import { type TestConfig, testCallsViaForceBatch } from './helpers/index.js' /** * Test that all staking extrinsics are filtered on the calling chain. @@ -14,13 +12,7 @@ async function stakingCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - // 1. Verify the staking pallet is available - const stakingPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Staking') - expect(stakingPalletMeta).toBeDefined() - expect(stakingPalletMeta?.calls).toBeDefined() - expect(client.api.tx.staking).toBeDefined() - - // 2. Create a `utility.forceBatch` with all staking extrinsics using garbage but well-formed arguments + // Create a `utility.forceBatch` with all staking extrinsics using garbage but well-formed arguments const batchCalls = [ // call index 0 client.api.tx.staking.bond(1_000_000_000n, { Staked: null }), @@ -96,7 +88,7 @@ async function stakingCallsFilteredTest< client.api.tx.staking.manualSlash(testAccounts.alice.address, 0, 0), ] - await testCallsFilteredViaForceBatch(client, batchCalls, testAccounts.alice) + await testCallsViaForceBatch(client, 'Staking', batchCalls, testAccounts.alice, 'Filtered') } /** @@ -108,16 +100,9 @@ async function vestingCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - // 1. Verify the vesting pallet is available - const vestingPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Vesting') - expect(vestingPalletMeta).toBeDefined() - expect(vestingPalletMeta?.calls).toBeDefined() - expect(client.api.tx.vesting).toBeDefined() - const alice = devAccounts.alice const bob = devAccounts.bob - // 2. Create a `utility.forceBatch` with all vesting extrinsics using garbage but well-formed arguments const batchCalls = [ // call index 0 client.api.tx.vesting.vest(), @@ -137,7 +122,7 @@ async function vestingCallsFilteredTest< client.api.tx.vesting.forceRemoveVestingSchedule(bob.address, 0), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Vesting', batchCalls, alice, 'Filtered') } /** @@ -149,13 +134,6 @@ async function referendaCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const referendaPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Referenda', - ) - expect(referendaPalletMeta).toBeDefined() - expect(referendaPalletMeta?.calls).toBeDefined() - expect(client.api.tx.referenda).toBeDefined() - const alice = devAccounts.alice const batchCalls = [ @@ -183,7 +161,7 @@ async function referendaCallsFilteredTest< client.api.tx.referenda.setMetadata(0, null), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Referenda', batchCalls, alice, 'Filtered') } /** @@ -195,13 +173,6 @@ async function convictionVotingCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const convictionVotingPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'ConvictionVoting', - ) - expect(convictionVotingPalletMeta).toBeDefined() - expect(convictionVotingPalletMeta?.calls).toBeDefined() - expect(client.api.tx.convictionVoting).toBeDefined() - const alice = devAccounts.alice const bob = devAccounts.bob @@ -222,7 +193,7 @@ async function convictionVotingCallsFilteredTest< client.api.tx.convictionVoting.removeOtherVote(bob.address, 0, 0), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'ConvictionVoting', batchCalls, alice, 'Filtered') } /** @@ -234,13 +205,6 @@ async function preimageCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const preimagePalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Preimage', - ) - expect(preimagePalletMeta).toBeDefined() - expect(preimagePalletMeta?.calls).toBeDefined() - expect(client.api.tx.preimage).toBeDefined() - const alice = devAccounts.alice const batchCalls = [ @@ -256,7 +220,7 @@ async function preimageCallsFilteredTest< client.api.tx.preimage.ensureUpdated(['0x0000000000000000000000000000000000000000000000000000000000000000']), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Vesting', batchCalls, alice, 'Filtered') } /** @@ -268,13 +232,6 @@ async function nominationPoolsCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const nominationPoolsPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'NominationPools', - ) - expect(nominationPoolsPalletMeta).toBeDefined() - expect(nominationPoolsPalletMeta?.calls).toBeDefined() - expect(client.api.tx.nominationPools).toBeDefined() - const alice = testAccounts.alice const bob = testAccounts.bob @@ -315,7 +272,7 @@ async function nominationPoolsCallsFilteredTest< // 13 client.api.tx.nominationPools.chill(0), // 14 - client.api.tx.nominationPools.bondExtra({ FreeBalance: 1_000_000_000n }), + client.api.tx.nominationPools.bondExtraOther(bob.address, { FreeBalance: 1_000_000_000n }), // 15 client.api.tx.nominationPools.setClaimPermission('Permissioned'), // 16 @@ -340,7 +297,7 @@ async function nominationPoolsCallsFilteredTest< client.api.tx.nominationPools.migratePoolToDelegateStake(0), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'NominationPools', batchCalls, alice, 'Filtered') } /** @@ -352,13 +309,6 @@ async function bountiesCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const bountiesPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Bounties', - ) - expect(bountiesPalletMeta).toBeDefined() - expect(bountiesPalletMeta?.calls).toBeDefined() - expect(client.api.tx.bounties).toBeDefined() - const alice = testAccounts.alice const bob = testAccounts.bob @@ -387,7 +337,7 @@ async function bountiesCallsFilteredTest< client.api.tx.bounties.pokeDeposit(0), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Bounties', batchCalls, alice, 'Filtered') } /** @@ -399,13 +349,6 @@ async function childBountiesCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const childBountiesPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'ChildBounties', - ) - expect(childBountiesPalletMeta).toBeDefined() - expect(childBountiesPalletMeta?.calls).toBeDefined() - expect(client.api.tx.childBounties).toBeDefined() - const alice = testAccounts.alice const bob = testAccounts.bob @@ -426,27 +369,20 @@ async function childBountiesCallsFilteredTest< client.api.tx.childBounties.closeChildBounty(0, 0), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Vesting', batchCalls, alice, 'Filtered') } /** * Test that BABE extrinsics are NOT filtered on the calling chain. */ -async function babeCallsFilteredTest< +async function babeCallsNotFilteredTest< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, >(chain: Chain) { const [client] = await setupNetworks(chain) - const babePalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Babe') - expect(babePalletMeta).toBeDefined() - expect(babePalletMeta?.calls).toBeDefined() - expect(client.api.tx.babe).toBeDefined() - const alice = testAccounts.alice - // These calls require complex proof objects, so we'll use minimal valid structures - // The actual proof validation will fail, but the call structure should be valid const batchCalls = [ // call index 0 // Requires: equivocation_proof (Box), key_owner_proof @@ -463,23 +399,18 @@ async function babeCallsFilteredTest< client.api.tx.babe.planConfigChange({ V1: { c: [1, 1], allowedSlots: 'PrimarySlots' } }), ] - await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Grandpa', batchCalls, alice, 'NotFiltered') } /** * Test that GRANDPA extrinsics are NOT filtered on the calling chain. */ -async function grandpaCallsFilteredTest< +async function grandpaCallsNotFilteredTest< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, >(chain: Chain) { const [client] = await setupNetworks(chain) - const grandpaPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Grandpa') - expect(grandpaPalletMeta).toBeDefined() - expect(grandpaPalletMeta?.calls).toBeDefined() - expect(client.api.tx.grandpa).toBeDefined() - const alice = testAccounts.alice const batchCalls = [ @@ -491,67 +422,58 @@ async function grandpaCallsFilteredTest< client.api.tx.grandpa.noteStalled(1000, 1000), ] - await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Grandpa', batchCalls, alice, 'NotFiltered') } /** * Test that Beefy extrinsics are NOT filtered on the calling chain. */ -async function beefyCallsFilteredTest< +async function beefyCallsNotFilteredTest< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, >(chain: Chain) { const [client] = await setupNetworks(chain) - const beefyPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Beefy') - expect(beefyPalletMeta).toBeDefined() - expect(beefyPalletMeta?.calls).toBeDefined() - expect(client.api.tx.beefy).toBeDefined() - const alice = testAccounts.alice + // Beefy has 7 calls: indices 0-6 (from beefy/src/lib.rs) + // Use the tx API methods directly - they handle argument encoding automatically + // The calls will fail validation but that's fine, we're just checking filtering const batchCalls = [ - // call index 0 + // Call index 0 client.api.tx.beefy.reportDoubleVoting({} as any, {} as any), // call index 1 client.api.tx.beefy.reportDoubleVotingUnsigned({} as any, {} as any), - // call index 2 + // Call index 2 client.api.tx.beefy.setNewGenesis(1), - // call index 3 + // Call index 3 client.api.tx.beefy.reportForkVoting({} as any, {} as any), - // call index 4 + // Call index 4 client.api.tx.beefy.reportForkVotingUnsigned({} as any, {} as any), - // call index 5 + // Call index 5 client.api.tx.beefy.reportFutureBlockVoting({} as any, {} as any), - // call index 6 + // Call index 6 client.api.tx.beefy.reportFutureBlockVotingUnsigned({} as any, {} as any), ] - await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Grandpa', batchCalls, alice, 'NotFiltered') } /** * Test that `paraSlashing` extrinsics are NOT filtered on the calling chain. */ -async function parasSlashingCallsFilteredTest< +async function parasSlashingCallsNotFilteredTest< TCustom extends Record | undefined, TInitStorages extends Record> | undefined, >(chain: Chain) { const [client] = await setupNetworks(chain) - const parasSlashingPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'ParasSlashing', - ) - expect(parasSlashingPalletMeta).toBeDefined() - expect(parasSlashingPalletMeta?.calls).toBeDefined() - expect(client.api.tx.parasSlashing).toBeDefined() - const batchCalls = [ // call index 0 - report_dispute_lost_unsigned client.api.tx.parasSlashing.reportDisputeLostUnsigned({} as any, {} as any), ] - await testCallsNotFilteredViaForceBatch(client, batchCalls, testAccounts.alice) + await testCallsViaForceBatch(client, 'ParasSlashing', batchCalls, testAccounts.alice, 'NotFiltered') } /** @@ -563,11 +485,6 @@ async function slotsCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const slotsPalletMeta = client.api.registry.metadata.pallets.find((pallet) => pallet.name.toString() === 'Slots') - expect(slotsPalletMeta).toBeDefined() - expect(slotsPalletMeta?.calls).toBeDefined() - expect(client.api.tx.slots).toBeDefined() - const alice = testAccounts.alice const batchCalls = [ @@ -579,7 +496,7 @@ async function slotsCallsFilteredTest< client.api.tx.slots.triggerOnboard(1000), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Vesting', batchCalls, alice, 'Filtered') } /** @@ -591,13 +508,6 @@ async function auctionsCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const auctionsPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Auctions', - ) - expect(auctionsPalletMeta).toBeDefined() - expect(auctionsPalletMeta?.calls).toBeDefined() - expect(client.api.tx.auctions).toBeDefined() - const alice = testAccounts.alice const batchCalls = [ @@ -609,7 +519,7 @@ async function auctionsCallsFilteredTest< client.api.tx.auctions.cancelAuction(), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Vesting', batchCalls, alice, 'Filtered') } /** @@ -621,13 +531,6 @@ async function crowdloanCallsNotFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const crowdloanPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Crowdloan', - ) - expect(crowdloanPalletMeta).toBeDefined() - expect(crowdloanPalletMeta?.calls).toBeDefined() - expect(client.api.tx.crowdloan).toBeDefined() - const alice = testAccounts.alice const batchCalls = [ @@ -639,7 +542,7 @@ async function crowdloanCallsNotFilteredTest< client.api.tx.crowdloan.dissolve(1000), ] - await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Crowdloan', batchCalls, alice, 'NotFiltered') } /** @@ -651,13 +554,6 @@ async function crowdloanCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const crowdloanPalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Crowdloan', - ) - expect(crowdloanPalletMeta).toBeDefined() - expect(crowdloanPalletMeta?.calls).toBeDefined() - expect(client.api.tx.crowdloan).toBeDefined() - const alice = testAccounts.alice const batchCalls = [ @@ -675,7 +571,7 @@ async function crowdloanCallsFilteredTest< client.api.tx.crowdloan.contributeAll(1000, null), ] - await testCallsFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Vesting', batchCalls, alice, 'Filtered') } /** @@ -687,13 +583,6 @@ async function coretimeCallsNotFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const coretimePalletMeta = client.api.registry.metadata.pallets.find( - (pallet) => pallet.name.toString() === 'Coretime', - ) - expect(coretimePalletMeta).toBeDefined() - expect(coretimePalletMeta?.calls).toBeDefined() - expect(client.api.tx.coretime).toBeDefined() - const alice = testAccounts.alice const batchCalls = [ @@ -707,7 +596,7 @@ async function coretimeCallsNotFilteredTest< client.api.tx.coretime.assignCore(0, 1000, [], null), ] - await testCallsNotFilteredViaForceBatch(client, batchCalls, alice) + await testCallsViaForceBatch(client, 'Grandpa', batchCalls, alice, 'NotFiltered') } export function postAhmFilteringE2ETests< @@ -786,22 +675,22 @@ export function postAhmFilteringE2ETests< { kind: 'test', label: 'babe calls are not filtered', - testFn: async () => await babeCallsFilteredTest(chain), + testFn: async () => await babeCallsNotFilteredTest(chain), }, { kind: 'test', label: 'grandpa calls are not filtered', - testFn: async () => await grandpaCallsFilteredTest(chain), + testFn: async () => await grandpaCallsNotFilteredTest(chain), }, { kind: 'test', label: 'beefy calls are not filtered', - testFn: async () => await beefyCallsFilteredTest(chain), + testFn: async () => await beefyCallsNotFilteredTest(chain), }, { kind: 'test', label: 'paras-slashing calls are not filtered', - testFn: async () => await parasSlashingCallsFilteredTest(chain), + testFn: async () => await parasSlashingCallsNotFilteredTest(chain), }, { kind: 'test', From fb39dadc52d95bb60a05d4d347d13b4dba924771 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Sat, 1 Nov 2025 02:10:52 +0000 Subject: [PATCH 19/40] Test scheduler call filtering --- packages/shared/src/postAhmFiltering.ts | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/packages/shared/src/postAhmFiltering.ts b/packages/shared/src/postAhmFiltering.ts index ce6c66c1a..ab034be24 100644 --- a/packages/shared/src/postAhmFiltering.ts +++ b/packages/shared/src/postAhmFiltering.ts @@ -574,6 +574,43 @@ async function crowdloanCallsFilteredTest< await testCallsViaForceBatch(client, 'Vesting', batchCalls, alice, 'Filtered') } +/** + * Test that all scheduler extrinsics are filtered on the calling chain. + */ +async function schedulerCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const alice = devAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.scheduler.schedule(1000, null, 0, client.api.tx.system.remark('0x00')), + // call index 1 + client.api.tx.scheduler.cancel(1000, 0), + // call index 2 + client.api.tx.scheduler.scheduleNamed('0x00', 1000, null, 0, client.api.tx.system.remark('0x00')), + // call index 3 + client.api.tx.scheduler.cancelNamed('0x00'), + // call index 4 + client.api.tx.scheduler.scheduleAfter(10, null, 0, client.api.tx.system.remark('0x00')), + // call index 5 + client.api.tx.scheduler.scheduleNamedAfter('0x00', 10, null, 0, client.api.tx.system.remark('0x00')), + // call index 6 + client.api.tx.scheduler.setRetry([1000, 0], 3, 10), + // call index 7 + client.api.tx.scheduler.setRetryNamed('0x00', 3, 10), + // call index 8 + client.api.tx.scheduler.cancelRetry([1000, 0]), + // call index 9 + client.api.tx.scheduler.cancelRetryNamed('0x00'), + ] + + await testCallsViaForceBatch(client, 'Scheduler', batchCalls, alice, 'Filtered') +} + /** * Test that Coretime extrinsics are NOT filtered on the calling chain. */ @@ -666,6 +703,11 @@ export function postAhmFilteringE2ETests< label: 'crowdloan calls (create, contribute, edit, etc) are filtered', testFn: async () => await crowdloanCallsFilteredTest(chain), }, + { + kind: 'test', + label: 'scheduler calls are filtered', + testFn: async () => await schedulerCallsFilteredTest(chain), + }, ], }, { From d57793e5ed4ab842f6e98b88a23434b827055cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Sat, 1 Nov 2025 23:24:48 +0000 Subject: [PATCH 20/40] Test filtering of more calls Treasury, System, the relay's staking client pallet, `paras`. --- packages/shared/src/postAhmFiltering.ts | 204 ++++++++++++++++++++++-- 1 file changed, 188 insertions(+), 16 deletions(-) diff --git a/packages/shared/src/postAhmFiltering.ts b/packages/shared/src/postAhmFiltering.ts index ab034be24..492dc62b5 100644 --- a/packages/shared/src/postAhmFiltering.ts +++ b/packages/shared/src/postAhmFiltering.ts @@ -1,6 +1,8 @@ -import { type Chain, defaultAccountsSr25519 as devAccounts, testAccounts } from '@e2e-test/networks' +import { type Chain, testAccounts } from '@e2e-test/networks' import { type RootTestTree, setupNetworks } from '@e2e-test/shared' +import { sha256AsU8a } from '@polkadot/util-crypto' + import { type TestConfig, testCallsViaForceBatch } from './helpers/index.js' /** @@ -100,8 +102,8 @@ async function vestingCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const alice = devAccounts.alice - const bob = devAccounts.bob + const alice = testAccounts.alice + const bob = testAccounts.bob const batchCalls = [ // call index 0 @@ -134,7 +136,7 @@ async function referendaCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const alice = devAccounts.alice + const alice = testAccounts.alice const batchCalls = [ // call index 0 @@ -173,8 +175,8 @@ async function convictionVotingCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const alice = devAccounts.alice - const bob = devAccounts.bob + const alice = testAccounts.alice + const bob = testAccounts.bob const batchCalls = [ // call index 0 @@ -205,7 +207,7 @@ async function preimageCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const alice = devAccounts.alice + const alice = testAccounts.alice const batchCalls = [ // call index 0 @@ -583,34 +585,184 @@ async function schedulerCallsFilteredTest< >(chain: Chain) { const [client] = await setupNetworks(chain) - const alice = devAccounts.alice + const alice = testAccounts.alice const batchCalls = [ // call index 0 - client.api.tx.scheduler.schedule(1000, null, 0, client.api.tx.system.remark('0x00')), + client.api.tx.scheduler.schedule(1000, null, 0, client.api.tx.system.remark('0x00').method.toHex()), // call index 1 client.api.tx.scheduler.cancel(1000, 0), // call index 2 - client.api.tx.scheduler.scheduleNamed('0x00', 1000, null, 0, client.api.tx.system.remark('0x00')), + client.api.tx.scheduler.scheduleNamed( + sha256AsU8a('task_id'), + 1000, + null, + 0, + client.api.tx.system.remark('0x00').method.toHex(), + ), // call index 3 - client.api.tx.scheduler.cancelNamed('0x00'), + client.api.tx.scheduler.cancelNamed(sha256AsU8a('task_id')), // call index 4 client.api.tx.scheduler.scheduleAfter(10, null, 0, client.api.tx.system.remark('0x00')), // call index 5 - client.api.tx.scheduler.scheduleNamedAfter('0x00', 10, null, 0, client.api.tx.system.remark('0x00')), + client.api.tx.scheduler.scheduleNamedAfter( + sha256AsU8a('task_id'), + 10, + null, + 0, + client.api.tx.system.remark('0x00'), + ), // call index 6 client.api.tx.scheduler.setRetry([1000, 0], 3, 10), // call index 7 - client.api.tx.scheduler.setRetryNamed('0x00', 3, 10), + client.api.tx.scheduler.setRetryNamed(sha256AsU8a('task_id'), 3, 10), // call index 8 client.api.tx.scheduler.cancelRetry([1000, 0]), // call index 9 - client.api.tx.scheduler.cancelRetryNamed('0x00'), + client.api.tx.scheduler.cancelRetryNamed(sha256AsU8a('task_id')), ] await testCallsViaForceBatch(client, 'Scheduler', batchCalls, alice, 'Filtered') } +/** + * Test that all treasury extrinsics are filtered on the calling chain. + */ +async function treasuryCallsFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 3 + client.api.tx.treasury.spendLocal(1_000_000_000n, alice.address), + // call index 4 + client.api.tx.treasury.removeApproval(0), + // call index 5 + client.api.tx.treasury.spend({ v4: {} } as any, 1_000_000_000n, { v4: {} } as any, null), + // call index 6 + client.api.tx.treasury.payout(0), + // call index 7 + client.api.tx.treasury.checkStatus(0), + // call index 8 + client.api.tx.treasury.voidSpend(0), + ] + + await testCallsViaForceBatch(client, 'Treasury', batchCalls, alice, 'Filtered') +} + +/** + * Test that System extrinsics are NOT filtered on the calling chain. + */ +async function systemCallsNotFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.system.remark('0x00'), + // call index 1 + client.api.tx.system.setHeapPages(0), + // call index 2 + client.api.tx.system.setCode('0x00'), + // call index 3 + client.api.tx.system.setCodeWithoutChecks('0x00'), + // call index 4 + client.api.tx.system.setStorage([]), + // call index 5 + client.api.tx.system.killStorage([]), + // call index 6 + client.api.tx.system.killPrefix('0x00', 0), + // call index 7 + client.api.tx.system.remarkWithEvent('0x00'), + ] + + await testCallsViaForceBatch(client, 'System', batchCalls, alice, 'NotFiltered') +} + +/** + * Test that StakingAhClient extrinsics are NOT filtered on the calling chain. + */ +async function stakingAhClientCallsNotFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.stakingAhClient.validatorSet({} as any), + // call index 1 + client.api.tx.stakingAhClient.setMode('Active'), + // call index 2 + client.api.tx.stakingAhClient.forceOnMigrationEnd(), + ] + + await testCallsViaForceBatch(client, 'StakingAhClient', batchCalls, alice, 'NotFiltered') +} + +/** + * Test that Paras extrinsics are NOT filtered on the calling chain. + */ +async function parasCallsNotFilteredTest< + TCustom extends Record | undefined, + TInitStorages extends Record> | undefined, +>(chain: Chain) { + const [client] = await setupNetworks(chain) + + const alice = testAccounts.alice + + const batchCalls = [ + // call index 0 + client.api.tx.paras.forceSetCurrentCode(1000, '0x00'), + // call index 1 + client.api.tx.paras.forceSetCurrentHead(1000, '0x00'), + // call index 2 + client.api.tx.paras.forceScheduleCodeUpgrade(1000, '0x00', 1000), + // call index 3 + client.api.tx.paras.forceNoteNewHead(1000, '0x00'), + // call index 4 + client.api.tx.paras.forceQueueAction(1000), + // call index 5 + client.api.tx.paras.addTrustedValidationCode('0x00'), + // call index 6 + client.api.tx.paras.pokeUnusedValidationCode('0x0000000000000000000000000000000000000000000000000000000000000000'), + // call index 7 + client.api.tx.paras.includePvfCheckStatement( + { + accept: true, + subject: '0x0000000000000000000000000000000000000000000000000000000000000000', + session_index: 1000, + validator_index: 0, + }, + '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', + ), + // call index 8 + client.api.tx.paras.forceSetMostRecentContext(1000, 1000), + // call index 9 + client.api.tx.paras.removeUpgradeCooldown(1000), + // call index 10 + client.api.tx.paras.authorizeForceSetCurrentCodeHash( + 1000, + '0x0000000000000000000000000000000000000000000000000000000000000000', + 1000, + ), + // call index 11 + client.api.tx.paras.applyAuthorizedForceSetCurrentCode(1000, '0x00'), + ] + + await testCallsViaForceBatch(client, 'Paras', batchCalls, alice, 'NotFiltered') +} + /** * Test that Coretime extrinsics are NOT filtered on the calling chain. */ @@ -633,7 +785,7 @@ async function coretimeCallsNotFilteredTest< client.api.tx.coretime.assignCore(0, 1000, [], null), ] - await testCallsViaForceBatch(client, 'Grandpa', batchCalls, alice, 'NotFiltered') + await testCallsViaForceBatch(client, 'Coretime', batchCalls, alice, 'NotFiltered') } export function postAhmFilteringE2ETests< @@ -708,6 +860,11 @@ export function postAhmFilteringE2ETests< label: 'scheduler calls are filtered', testFn: async () => await schedulerCallsFilteredTest(chain), }, + { + kind: 'test', + label: 'treasury calls are filtered', + testFn: async () => await treasuryCallsFilteredTest(chain), + }, ], }, { @@ -731,7 +888,7 @@ export function postAhmFilteringE2ETests< }, { kind: 'test', - label: 'paras-slashing calls are not filtered', + label: 'parasSlashing calls are not filtered', testFn: async () => await parasSlashingCallsNotFilteredTest(chain), }, { @@ -739,6 +896,21 @@ export function postAhmFilteringE2ETests< label: 'crowdloan calls (withdraw, refund, dissolve) are not filtered', testFn: async () => await crowdloanCallsNotFilteredTest(chain), }, + { + kind: 'test', + label: 'system calls are not filtered', + testFn: async () => await systemCallsNotFilteredTest(chain), + }, + { + kind: 'test', + label: 'stakingAhClient calls are not filtered', + testFn: async () => await stakingAhClientCallsNotFilteredTest(chain), + }, + { + kind: 'test', + label: 'paras calls are not filtered', + testFn: async () => await parasCallsNotFilteredTest(chain), + }, { kind: 'test', label: 'coretime calls are not filtered', From 3985e3ca4021d138866950eeff6cef5d50a2427c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Sun, 2 Nov 2025 02:07:00 +0000 Subject: [PATCH 21/40] Enable post-AHM filtering tests for Polkadot --- .../polkadot/src/polkadot.postAhmFiltering.e2e.test.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 packages/polkadot/src/polkadot.postAhmFiltering.e2e.test.ts diff --git a/packages/polkadot/src/polkadot.postAhmFiltering.e2e.test.ts b/packages/polkadot/src/polkadot.postAhmFiltering.e2e.test.ts new file mode 100644 index 000000000..6aec13460 --- /dev/null +++ b/packages/polkadot/src/polkadot.postAhmFiltering.e2e.test.ts @@ -0,0 +1,10 @@ +import { polkadot } from '@e2e-test/networks/chains' +import { postAhmFilteringE2ETests, type RelayTestConfig, registerTestTree } from '@e2e-test/shared' + +const polkadotTestConfig: RelayTestConfig = { + testSuiteName: 'Polkadot Post-AHM Filtering Tests', + addressEncoding: 0, + blockProvider: 'Local', +} + +registerTestTree(postAhmFilteringE2ETests(polkadot, polkadotTestConfig)) From 5c03dbc90e7ee069d1240a493cf39f16c13863f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Sun, 2 Nov 2025 22:11:49 +0000 Subject: [PATCH 22/40] Remove Polkadot relay dependency from PAH accounts tests --- .../polkadot/src/assetHubPolkadot.accounts.e2e.test.ts | 3 +-- packages/shared/src/accounts.ts | 7 ++++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/polkadot/src/assetHubPolkadot.accounts.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.accounts.e2e.test.ts index 1802e5642..aac2eee42 100644 --- a/packages/polkadot/src/assetHubPolkadot.accounts.e2e.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.accounts.e2e.test.ts @@ -1,4 +1,4 @@ -import { assetHubPolkadot, polkadot } from '@e2e-test/networks/chains' +import { assetHubPolkadot } from '@e2e-test/networks/chains' import { accountsE2ETests, createAccountsConfig, @@ -22,7 +22,6 @@ const lockActions = [manualLockAction()] const accountsCfg = createAccountsConfig({ expectation: 'success', - relayChain: polkadot, actions: { reserveActions: createDefaultReserveActions(), lockActions, diff --git a/packages/shared/src/accounts.ts b/packages/shared/src/accounts.ts index 4ffcba7ba..dc57bb11e 100644 --- a/packages/shared/src/accounts.ts +++ b/packages/shared/src/accounts.ts @@ -539,7 +539,8 @@ export interface AccountsTestConfig< } /** - * Create default accounts test configuration + * Create accounts test configuration, with optional overrides for each of field. + * If none are provided, the default configuration is returned. */ export function createAccountsConfig< TCustom extends Record, @@ -556,6 +557,10 @@ export function createAccountsConfig< /** * Default accounts E2E test configuration. + * + * 1. Liquidity restriction tests are expected to fail + * 2. The relay chain field is empty, meaning the chain has the `scheduler` pallet available + * 3. The action lists used in liq. restriction tests are all defaults */ const defaultAccountsTestConfig = < TCustom extends Record, From 0062d0b913dcf56fc93feac1f19bdb886ef1525e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Mon, 3 Nov 2025 14:19:14 +0000 Subject: [PATCH 23/40] Update snapshots --- KNOWN_GOOD_BLOCK_NUMBERS.env | 44 +++++++------- ...ubPolkadot.multisig.proxy.e2e.test.ts.snap | 18 +++--- .../polkadot.multisig.proxy.e2e.test.ts.snap | 18 +++--- .../polkadot.proxy.e2e.test.ts.snap | 19 ------ packages/shared/src/setup.ts | 58 +++++++++++++++++++ 5 files changed, 98 insertions(+), 59 deletions(-) diff --git a/KNOWN_GOOD_BLOCK_NUMBERS.env b/KNOWN_GOOD_BLOCK_NUMBERS.env index cf5c0f6e2..718ac844e 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS.env @@ -1,22 +1,22 @@ -ACALA_BLOCK_NUMBER=9758901 -ASSETHUBKUSAMA_BLOCK_NUMBER=11440430 -ASSETHUBPOLKADOT_BLOCK_NUMBER=10182413 -ASTAR_BLOCK_NUMBER=10844357 -BASILISK_BLOCK_NUMBER=11766570 -BRIDGEHUBKUSAMA_BLOCK_NUMBER=6853847 -BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6288286 -COLLECTIVESPOLKADOT_BLOCK_NUMBER=7486109 -CORETIMEKUSAMA_BLOCK_NUMBER=3797454 -CORETIMEPOLKADOT_BLOCK_NUMBER=2898364 -ENCOINTERKUSAMA_BLOCK_NUMBER=11282840 -HYDRATION_BLOCK_NUMBER=9861942 -INTEGRITEEKUSAMA_BLOCK_NUMBER=8814593 -INTEGRITEEPOLKADOT_BLOCK_NUMBER=5616683 -KARURA_BLOCK_NUMBER=10277414 -KUSAMA_BLOCK_NUMBER=30742540 -MOONBEAM_BLOCK_NUMBER=13149240 -MOONRIVER_BLOCK_NUMBER=13730033 -PEOPLEKUSAMA_BLOCK_NUMBER=6351475 -PEOPLEPOLKADOT_BLOCK_NUMBER=3225266 -POLKADOT_BLOCK_NUMBER=28414859 -SHIDEN_BLOCK_NUMBER=12413318 +ACALA_BLOCK_NUMBER=9790208 +ASSETHUBKUSAMA_BLOCK_NUMBER=11499491 +ASSETHUBPOLKADOT_BLOCK_NUMBER=10244981 +ASTAR_BLOCK_NUMBER=10909098 +BASILISK_BLOCK_NUMBER=11830635 +BRIDGEHUBKUSAMA_BLOCK_NUMBER=6885482 +BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6318593 +COLLECTIVESPOLKADOT_BLOCK_NUMBER=7516575 +CORETIMEKUSAMA_BLOCK_NUMBER=3826714 +CORETIMEPOLKADOT_BLOCK_NUMBER=2927937 +ENCOINTERKUSAMA_BLOCK_NUMBER=11335991 +HYDRATION_BLOCK_NUMBER=9926726 +INTEGRITEEKUSAMA_BLOCK_NUMBER=8845259 +INTEGRITEEPOLKADOT_BLOCK_NUMBER=5636407 +KARURA_BLOCK_NUMBER=10302890 +KUSAMA_BLOCK_NUMBER=30807525 +MOONBEAM_BLOCK_NUMBER=13206345 +MOONRIVER_BLOCK_NUMBER=13789755 +PEOPLEKUSAMA_BLOCK_NUMBER=6412456 +PEOPLEPOLKADOT_BLOCK_NUMBER=3255093 +POLKADOT_BLOCK_NUMBER=28452406 +SHIDEN_BLOCK_NUMBER=12471283 diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap index f9891d7c6..19c682798 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1rhsU7H4nCuvMFDthsA7XAnR8Fu7yczbJDcyU3JNteSoLkk", + "multisig": "123g6BR5ndKLv82TmeJDTV9eire6XbjFMKAEs89xv8QqQBwH", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "12eWw5qtj5NJJxu1ebuBkuHH9SENAVXt9X9WnYfRfWDhyL5", + "approving": "1xaSQU5v7RsZEYHzQHcQZUrCxuJCzxFSmFbPNdcg46haPSh", "callHash": "(hash)", - "multisig": "1rhsU7H4nCuvMFDthsA7XAnR8Fu7yczbJDcyU3JNteSoLkk", + "multisig": "123g6BR5ndKLv82TmeJDTV9eire6XbjFMKAEs89xv8QqQBwH", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1541Vqcv7ndkMhKE6vX415oRhyttuTSw1QWCSDus1MrJDVXp", + "multisig": "13tWZWfquohsYjqW1uTVTQFK32Xw5EyPWzHJs3dGFMPNwBbV", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "1426rMFa9S2qmzzq9sEwUq9oyrnqPMLTJSHBBnCmLYksbBNz", + "approving": "13ujXjiPYAn7WwZ8AzdjspwDxjTpZoPLYFGDbZUkcDF1V6ee", "callHash": "(hash)", - "multisig": "1541Vqcv7ndkMhKE6vX415oRhyttuTSw1QWCSDus1MrJDVXp", + "multisig": "13tWZWfquohsYjqW1uTVTQFK32Xw5EyPWzHJs3dGFMPNwBbV", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14rnt6yMLVArZ1P7BLtkdhcVepraXuLaHs4f5agj17dUYuuy", + "multisig": "12xq4cVMvLkp9Kv7UHNoVZMde3crJHheNpTjbJnQ2Hv1eFsx", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "12he93V5BeM8KtngeRDo6kznffVUvDFxgjC9c2GLgncTdEjH", + "approving": "12ibpuuQ5Ed8EAEx9URDzPejAxJLE3fXYzy3qxVXYVZCgZeQ", "callHash": "(hash)", - "multisig": "163uidRoGTjcTkqCx9pYVShAXKuAeSFJhLkTNo4iwmdbctPq", + "multisig": "14qiJnYBtCLiYjvsTYondSvtHBsMC74Ne4KXzsyVKcVgCqA9", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap index 4f7bd6798..dc4c4a168 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15XhvoPhKscNTfxew4CGo2ym8NFjBtoDaFrWJNFohJRPCJ3", + "multisig": "16NeQbzNHbfmGCVPD6tA3qFsEponYqXpADjv27hwjpsfTaZf", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "14VkEZvhXxXAm7F4U76iRJzDnFu9i27txAmPzs6tExR4DjkF", + "approving": "1qJT29288Umo7YdPtWEfVmqxyFMQAC6WPzHHenZrxBonte8", "callHash": "(hash)", - "multisig": "15XhvoPhKscNTfxew4CGo2ym8NFjBtoDaFrWJNFohJRPCJ3", + "multisig": "16NeQbzNHbfmGCVPD6tA3qFsEponYqXpADjv27hwjpsfTaZf", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1rsMwdwR5tNTepoxC2St46h4DpdCzfELtkaChmA269rdCmW", + "multisig": "12h1G61FWCY59B4APEMYZyuJ7RJ9jDcn21pgr9ZqsiSBmqf", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "138b1VD4YSaExK3Hn81ML2ERwcjQnsS7YDrcrCgz3ARdxGL1", + "approving": "1572j2AQjhbeYrCwJgEMmsCsiAmnh6T2CDAxNvKsCtwybuYg", "callHash": "(hash)", - "multisig": "1rsMwdwR5tNTepoxC2St46h4DpdCzfELtkaChmA269rdCmW", + "multisig": "12h1G61FWCY59B4APEMYZyuJ7RJ9jDcn21pgr9ZqsiSBmqf", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12neAX3rBtQXX9FVymgwXHEbS1MdagYEk2C3HetU5F6B2xsQ", + "multisig": "14SKBGJrGa1UYSeAU5QSkcZuiVcPZkBsaB2oQMcRxx7WZg3m", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Multisig with Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "125rxbVBgvEG55z54Dk9sWuksXGxDrmM1Tf8WF3qaKYUXwjo", + "approving": "13URjyjzXwWwJKsnSuDcbdGbsLRwGx14yM2Uc4oArEH4VcH4", "callHash": "(hash)", - "multisig": "128wRnRJzTfWZvgg6SDa2bxDFesRDmrC7rQeJ1WBmmQW5vty", + "multisig": "1k5776J7i9HPvJwWD8VXnr8Z35WWrx5fGBqxNC6vNWoKC8E", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap index 5bf3a64ba..cc649afac 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap @@ -462,25 +462,6 @@ exports[`Polkadot Proxy full tests (includes call filtering) > Polkadot Proxy ba ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet auctions, call bid 1`] = ` -[ - { - "data": { - "result": { - "Err": { - "Module": { - "error": "0x03000000", - "index": 72, - }, - }, - }, - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - exports[`Polkadot Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Any > events for proxy type Any, pallet balances, call burn 1`] = ` [ { diff --git a/packages/shared/src/setup.ts b/packages/shared/src/setup.ts index cd34a5332..3ca3282ce 100644 --- a/packages/shared/src/setup.ts +++ b/packages/shared/src/setup.ts @@ -1,4 +1,5 @@ import { type Chain, captureSnapshot, createNetworks } from '@e2e-test/networks' +import { polkadot } from '@e2e-test/networks/chains' import { afterAll, beforeEach, expect } from 'vitest' @@ -51,3 +52,60 @@ export async function setupBalances(client: any, accounts: { address: any; amoun expect(account.data.reserved.toNumber(), `User ${address} reserved balance should be 0`).toBe(0) } } + +/** + * Sets up blockchain networks for testing with automatic snapshot restore and cleanup. + * + * This function creates test networks for the specified chain types and sets up test fixtures + * to automatically restore snapshots between tests and clean up when finished. + * + * @param chains - Array of Chain type parameters defining which networks to create + * @returns Promise resolving to array of created network instances + * + * @example + * const [assetHubPolkadotClient, acalaClient] = await setupNetworks(assetHubPolkadot, acala) + */ +export async function setupNetworksForAssetHub(...chains: T) { + const networks = await createNetworks(...chains, polkadot) + + const restoreSnapshot = captureSnapshot(...networks) + + beforeEach(async () => { + await restoreSnapshot() + await Promise.all( + networks.map(async (network) => { + const blockNumber = (await network.api.rpc.chain.getHeader()).number.toNumber() + + network.dev.setHead(blockNumber) + }), + ) + }) + + afterAll(async () => { + await Promise.all(networks.map((network) => network.teardown())) + }) + + const [assetHubPolkadotClient, polkadotClient] = networks + const number = (await polkadotClient.api.rpc.chain.getHeader()).number.toNumber() + + // 1. First, accelerate the end of the cool-off period + polkadotClient.dev.setStorage({ + RcMigrator: { + RcMigrationStage: { CoolOff: { end_at: number + 1 } }, + }, + }) + + // 2. Next, create a new block to end it + await polkadotClient.dev.newBlock() + + const stage = await polkadotClient.api.query.rcMigrator.rcMigrationStage() + expect(stage.toJSON()).toBe({ SignalMigrationFinish: null }) + + // 3. Create a new block in AH to intake data and finish migrating there + await assetHubPolkadotClient.dev.newBlock() + + // 4. Create a new block in RC to move to `MigrationDone` + await polkadotClient.dev.newBlock() + + return [assetHubPolkadotClient] +} From 7f4518f0f0860577f2175f543de966e96b4737e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Mon, 3 Nov 2025 14:47:57 +0000 Subject: [PATCH 24/40] Remove mistakenly added setup function Meant for a different branch --- packages/shared/src/setup.ts | 58 ------------------------------------ 1 file changed, 58 deletions(-) diff --git a/packages/shared/src/setup.ts b/packages/shared/src/setup.ts index 3ca3282ce..cd34a5332 100644 --- a/packages/shared/src/setup.ts +++ b/packages/shared/src/setup.ts @@ -1,5 +1,4 @@ import { type Chain, captureSnapshot, createNetworks } from '@e2e-test/networks' -import { polkadot } from '@e2e-test/networks/chains' import { afterAll, beforeEach, expect } from 'vitest' @@ -52,60 +51,3 @@ export async function setupBalances(client: any, accounts: { address: any; amoun expect(account.data.reserved.toNumber(), `User ${address} reserved balance should be 0`).toBe(0) } } - -/** - * Sets up blockchain networks for testing with automatic snapshot restore and cleanup. - * - * This function creates test networks for the specified chain types and sets up test fixtures - * to automatically restore snapshots between tests and clean up when finished. - * - * @param chains - Array of Chain type parameters defining which networks to create - * @returns Promise resolving to array of created network instances - * - * @example - * const [assetHubPolkadotClient, acalaClient] = await setupNetworks(assetHubPolkadot, acala) - */ -export async function setupNetworksForAssetHub(...chains: T) { - const networks = await createNetworks(...chains, polkadot) - - const restoreSnapshot = captureSnapshot(...networks) - - beforeEach(async () => { - await restoreSnapshot() - await Promise.all( - networks.map(async (network) => { - const blockNumber = (await network.api.rpc.chain.getHeader()).number.toNumber() - - network.dev.setHead(blockNumber) - }), - ) - }) - - afterAll(async () => { - await Promise.all(networks.map((network) => network.teardown())) - }) - - const [assetHubPolkadotClient, polkadotClient] = networks - const number = (await polkadotClient.api.rpc.chain.getHeader()).number.toNumber() - - // 1. First, accelerate the end of the cool-off period - polkadotClient.dev.setStorage({ - RcMigrator: { - RcMigrationStage: { CoolOff: { end_at: number + 1 } }, - }, - }) - - // 2. Next, create a new block to end it - await polkadotClient.dev.newBlock() - - const stage = await polkadotClient.api.query.rcMigrator.rcMigrationStage() - expect(stage.toJSON()).toBe({ SignalMigrationFinish: null }) - - // 3. Create a new block in AH to intake data and finish migrating there - await assetHubPolkadotClient.dev.newBlock() - - // 4. Create a new block in RC to move to `MigrationDone` - await polkadotClient.dev.newBlock() - - return [assetHubPolkadotClient] -} From 93e45315b54eb06a4e3a6c1c1f5ae619ca4bb104 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Tue, 4 Nov 2025 00:45:24 +0000 Subject: [PATCH 25/40] Update Polkadot relay/AH multisig snapshots --- KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env | 22 +-- KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env | 22 +-- ...ubPolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- .../polkadot.multisig.proxy.e2e.test.ts.snap | 18 +- scripts/print-test-tree.ts | 166 ++++++++++++++++++ 5 files changed, 206 insertions(+), 40 deletions(-) create mode 100644 scripts/print-test-tree.ts diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env index 6917322bf..b77d264ff 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env @@ -1,11 +1,11 @@ -ASSETHUBKUSAMA_BLOCK_NUMBER=11440430 -BASILISK_BLOCK_NUMBER=11766570 -BRIDGEHUBKUSAMA_BLOCK_NUMBER=6853847 -CORETIMEKUSAMA_BLOCK_NUMBER=3797454 -ENCOINTERKUSAMA_BLOCK_NUMBER=11282840 -INTEGRITEEKUSAMA_BLOCK_NUMBER=8814593 -KARURA_BLOCK_NUMBER=10277414 -KUSAMA_BLOCK_NUMBER=30742540 -MOONRIVER_BLOCK_NUMBER=13730033 -PEOPLEKUSAMA_BLOCK_NUMBER=6351475 -SHIDEN_BLOCK_NUMBER=12413318 +ASSETHUBKUSAMA_BLOCK_NUMBER=11505505 +BASILISK_BLOCK_NUMBER=11837210 +BRIDGEHUBKUSAMA_BLOCK_NUMBER=6888745 +CORETIMEKUSAMA_BLOCK_NUMBER=3829745 +ENCOINTERKUSAMA_BLOCK_NUMBER=11340938 +INTEGRITEEKUSAMA_BLOCK_NUMBER=8848415 +KARURA_BLOCK_NUMBER=10305478 +KUSAMA_BLOCK_NUMBER=30814176 +MOONRIVER_BLOCK_NUMBER=13795963 +PEOPLEKUSAMA_BLOCK_NUMBER=6418730 +SHIDEN_BLOCK_NUMBER=12477251 diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env index 4eee8e442..89cf4af6c 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env @@ -1,11 +1,11 @@ -ACALA_BLOCK_NUMBER=9758901 -ASSETHUBPOLKADOT_BLOCK_NUMBER=10182413 -ASTAR_BLOCK_NUMBER=10844357 -BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6288286 -COLLECTIVESPOLKADOT_BLOCK_NUMBER=7486109 -CORETIMEPOLKADOT_BLOCK_NUMBER=2898364 -HYDRATION_BLOCK_NUMBER=9861942 -INTEGRITEEPOLKADOT_BLOCK_NUMBER=5616683 -MOONBEAM_BLOCK_NUMBER=13149240 -PEOPLEPOLKADOT_BLOCK_NUMBER=3225266 -POLKADOT_BLOCK_NUMBER=28414859 +ACALA_BLOCK_NUMBER=9793419 +ASSETHUBPOLKADOT_BLOCK_NUMBER=10251161 +ASTAR_BLOCK_NUMBER=10915701 +BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6321685 +COLLECTIVESPOLKADOT_BLOCK_NUMBER=7519577 +CORETIMEPOLKADOT_BLOCK_NUMBER=2930995 +HYDRATION_BLOCK_NUMBER=9933357 +INTEGRITEEPOLKADOT_BLOCK_NUMBER=5638423 +MOONBEAM_BLOCK_NUMBER=13212072 +PEOPLEPOLKADOT_BLOCK_NUMBER=3258164 +POLKADOT_BLOCK_NUMBER=28459130 diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap index 19c682798..7ee072e9f 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "123g6BR5ndKLv82TmeJDTV9eire6XbjFMKAEs89xv8QqQBwH", + "multisig": "12K68CyXJrjQoMTARL2BjwcnGWKACuahE4rKxBk482SMAMhn", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "1xaSQU5v7RsZEYHzQHcQZUrCxuJCzxFSmFbPNdcg46haPSh", + "approving": "12mja2oNKGsf6RWhCvw6Cn9gvrH6TzrTFrTDtFK69PFtdNNb", "callHash": "(hash)", - "multisig": "123g6BR5ndKLv82TmeJDTV9eire6XbjFMKAEs89xv8QqQBwH", + "multisig": "12K68CyXJrjQoMTARL2BjwcnGWKACuahE4rKxBk482SMAMhn", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "13tWZWfquohsYjqW1uTVTQFK32Xw5EyPWzHJs3dGFMPNwBbV", + "multisig": "14wZm1tBswiwvfDNvsEvbCvxX4GmdajLDBj5eAbh3T3eaX86", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "13ujXjiPYAn7WwZ8AzdjspwDxjTpZoPLYFGDbZUkcDF1V6ee", + "approving": "135vaZPEy8Qy4afvN3xMQHuNRE1SPHQAcZMWQdEXJXBosHMK", "callHash": "(hash)", - "multisig": "13tWZWfquohsYjqW1uTVTQFK32Xw5EyPWzHJs3dGFMPNwBbV", + "multisig": "14wZm1tBswiwvfDNvsEvbCvxX4GmdajLDBj5eAbh3T3eaX86", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12xq4cVMvLkp9Kv7UHNoVZMde3crJHheNpTjbJnQ2Hv1eFsx", + "multisig": "126Mws8n7r9nFQaiEFYYriY2ouKAVkSfoYqxseZCtVsGwXgG", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "12ibpuuQ5Ed8EAEx9URDzPejAxJLE3fXYzy3qxVXYVZCgZeQ", + "approving": "1xLvJFtA9jWZnueVtvFNCZbsifD2nGWrmTidQfjfq2RXVaS", "callHash": "(hash)", - "multisig": "14qiJnYBtCLiYjvsTYondSvtHBsMC74Ne4KXzsyVKcVgCqA9", + "multisig": "1tzsCjSuegRBdYyC8yhkjHEtn4aQGvyaqyQvaiQDAifBzCz", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap index dc4c4a168..dd194e208 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "16NeQbzNHbfmGCVPD6tA3qFsEponYqXpADjv27hwjpsfTaZf", + "multisig": "15o2LpYUdcXYCPPMza9hzBdwW2XQi5cKzPoRCK5Sa43NxwLE", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "1qJT29288Umo7YdPtWEfVmqxyFMQAC6WPzHHenZrxBonte8", + "approving": "16EwY8ToW9CdLeEw81kdzsT2LYuJmqxQgECcK3dSSK332LYy", "callHash": "(hash)", - "multisig": "16NeQbzNHbfmGCVPD6tA3qFsEponYqXpADjv27hwjpsfTaZf", + "multisig": "15o2LpYUdcXYCPPMza9hzBdwW2XQi5cKzPoRCK5Sa43NxwLE", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12h1G61FWCY59B4APEMYZyuJ7RJ9jDcn21pgr9ZqsiSBmqf", + "multisig": "1Bzw649fb2qSeUz1WJKTjjFVMWQmJL5Vc8tJYBtwEEVrydg", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "1572j2AQjhbeYrCwJgEMmsCsiAmnh6T2CDAxNvKsCtwybuYg", + "approving": "15jcSjFu8PwpMeqkruN67AiNxswWD1Cjsyub3zjm3GPi5moj", "callHash": "(hash)", - "multisig": "12h1G61FWCY59B4APEMYZyuJ7RJ9jDcn21pgr9ZqsiSBmqf", + "multisig": "1Bzw649fb2qSeUz1WJKTjjFVMWQmJL5Vc8tJYBtwEEVrydg", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14SKBGJrGa1UYSeAU5QSkcZuiVcPZkBsaB2oQMcRxx7WZg3m", + "multisig": "1ZanjX3zWjaLLtTRxevHs8zzniKU8awAjR98taX8Epcokia", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Multisig with Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "13URjyjzXwWwJKsnSuDcbdGbsLRwGx14yM2Uc4oArEH4VcH4", + "approving": "125dQdh6Pcbo57TrpHq4oe2qX5LZTZ5iJwx65aFSy6GNycob", "callHash": "(hash)", - "multisig": "1k5776J7i9HPvJwWD8VXnr8Z35WWrx5fGBqxNC6vNWoKC8E", + "multisig": "14kk5uKuARTjEdF5jbhX6Q4MmkvgofKXoKRAJnGwCPU3eYyn", }, "method": "NewMultisig", "section": "multisig", diff --git a/scripts/print-test-tree.ts b/scripts/print-test-tree.ts new file mode 100644 index 000000000..7daaea6a8 --- /dev/null +++ b/scripts/print-test-tree.ts @@ -0,0 +1,166 @@ +#!/usr/bin/env tsx + +import { createVitest } from 'vitest/node' + +import { readdir } from 'node:fs/promises' +import { join, relative, resolve } from 'node:path' + +/** + * Recursively find all test files in a directory + */ +async function findTestFiles(dir: string): Promise { + const entries = await readdir(dir, { withFileTypes: true }) + const files = await Promise.all( + entries.map(async (entry) => { + const fullPath = join(dir, entry.name) + if (entry.isDirectory() && entry.name !== '__snapshots__' && entry.name !== 'node_modules') { + return findTestFiles(fullPath) + } + if (entry.isFile() && entry.name.endsWith('.test.ts')) { + return [fullPath] + } + return [] + }), + ) + return files.flat() +} + +/** + * Recursively visit and print test collection + */ +function visit(collection: any, indent: string = '', isLast: boolean = true): { tests: number; suites: number } { + let tests = 0 + let suites = 0 + + const tasks = Array.from(collection) + + for (let i = 0; i < tasks.length; i++) { + const task = tasks[i] + const isLastTask = i === tasks.length - 1 + const connector = isLastTask ? '└─ ' : '├─ ' + const nextIndent = indent + (isLastTask ? ' ' : '│ ') + + if (task.type === 'suite') { + console.log(`${indent}${connector}📦 ${task.name}`) + suites++ + + const childCounts = visit(task.children, nextIndent, isLastTask) + tests += childCounts.tests + suites += childCounts.suites + } else if (task.type === 'test') { + console.log(`${indent}${connector}✓ ${task.name}`) + tests++ + } + } + + return { tests, suites } +} + +/** + * Main function + */ +async function main() { + const network = process.argv[2] + const chain = process.argv[3] + + if (!network) { + console.error('Usage: tsx scripts/print-test-tree.ts [chain]') + console.error('') + console.error('Examples:') + console.error(' tsx scripts/print-test-tree.ts kusama # All Kusama tests') + console.error(' tsx scripts/print-test-tree.ts kusama assetHub # AssetHub Kusama tests only') + console.error(' tsx scripts/print-test-tree.ts kusama kusama # Kusama relay chain only') + console.error(' tsx scripts/print-test-tree.ts polkadot people # People Polkadot tests only') + process.exit(1) + } + + try { + const filterInfo = chain ? ` (chain: ${chain})` : '' + console.log(`\n🔍 Collecting tests for network: ${network}${filterInfo}...\n`) + + const packagesDir = resolve(process.cwd(), 'packages', network, 'src') + + // Find all test files + let testFiles = await findTestFiles(packagesDir) + + // Filter by chain if specified + if (chain) { + const chainPattern = chain.charAt(0).toLowerCase() + chain.slice(1) + testFiles = testFiles.filter((file) => { + const fileName = file.split('/').pop() || '' + return fileName.toLowerCase().startsWith(chainPattern.toLowerCase()) + }) + } + + if (testFiles.length === 0) { + console.log('⚠️ No test files found!') + return + } + + // Print header + console.log('='.repeat(80)) + const title = chain + ? `TEST TREE STRUCTURE FOR: ${network.toUpperCase()} - ${chain.toUpperCase()}` + : `TEST TREE STRUCTURE FOR: ${network.toUpperCase()}` + console.log(title) + console.log('='.repeat(80)) + + let totalTests = 0 + let totalSuites = 0 + let totalFiles = 0 + + // Collect and print each file + for (const file of testFiles.sort()) { + const relPath = relative(packagesDir, file) + + // Create fresh vitest instance for each file to avoid state accumulation + const vitest = await createVitest('test', { + watch: false, + run: false, + }) + + // Collect tests from this file + const result = await vitest.collect([file]) + + // Close immediately after collection + await vitest.close() + + if (!result || !result.testModules || result.testModules.length === 0) { + continue + } + + console.log(`\n📄 ${relPath}`) + console.log('─'.repeat(80)) + + // Visit all test modules + const fileCounts = { tests: 0, suites: 0 } + for (const module of result.testModules) { + const counts = visit(module.children, '', true) + fileCounts.tests += counts.tests + fileCounts.suites += counts.suites + } + + totalTests += fileCounts.tests + totalSuites += fileCounts.suites + totalFiles++ + + console.log(`\n Tests: ${fileCounts.tests}, Suites: ${fileCounts.suites}`) + } + + console.log(`\n${'='.repeat(80)}`) + console.log('SUMMARY') + console.log('='.repeat(80)) + console.log(`Total files: ${totalFiles}`) + console.log(`Total tests: ${totalTests}`) + console.log(`Total suites: ${totalSuites}`) + console.log('='.repeat(80) + '\n') + } catch (error) { + console.error('❌ Error:', error instanceof Error ? error.message : error) + if (error instanceof Error && error.stack) { + console.error(error.stack) + } + process.exit(1) + } +} + +main() From 43e20e47d805dad449199fb4ee207a9f3f439762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Tue, 4 Nov 2025 09:52:04 +0000 Subject: [PATCH 26/40] Address minor fixes from Copilot review --- .../src/__snapshots__/karura.kusama.test.ts.snap | 10 +++++----- packages/kusama/src/karura.kusama.test.ts | 2 +- .../src/__snapshots__/acala.polkadot.test.ts.snap | 10 +++++----- packages/polkadot/src/acala.polkadot.test.ts | 2 +- packages/polkadot/src/polkadot.accounts.e2e.test.ts | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/kusama/src/__snapshots__/karura.kusama.test.ts.snap b/packages/kusama/src/__snapshots__/karura.kusama.test.ts.snap index 42d496392..a0190cc9e 100644 --- a/packages/kusama/src/__snapshots__/karura.kusama.test.ts.snap +++ b/packages/kusama/src/__snapshots__/karura.kusama.test.ts.snap @@ -160,7 +160,7 @@ exports[`karura & kusama > karura transfer KSM to kusama > tx events 1`] = ` ] `; -exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > balance on from chain 1`] = ` +exports[`karura & kusama > karura transfer KSM to kusama with limited weight > balance on from chain 1`] = ` { "free": 9000000000000, "frozen": 0, @@ -168,7 +168,7 @@ exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > b } `; -exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > balance on to chain 1`] = ` +exports[`karura & kusama > karura transfer KSM to kusama with limited weight > balance on to chain 1`] = ` { "consumers": 0, "data": { @@ -183,7 +183,7 @@ exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > b } `; -exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > from chain ump messages 1`] = ` +exports[`karura & kusama > karura transfer KSM to kusama with limited weight > from chain ump messages 1`] = ` [ { "v5": [ @@ -256,7 +256,7 @@ exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > f ] `; -exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > to chain ump events 1`] = ` +exports[`karura & kusama > karura transfer KSM to kusama with limited weight > to chain ump events 1`] = ` [ { "data": { @@ -278,7 +278,7 @@ exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > t ] `; -exports[`karura & kusama > karura transfer KSM to kusama wiht limited weight > tx events 1`] = ` +exports[`karura & kusama > karura transfer KSM to kusama with limited weight > tx events 1`] = ` [ { "data": { diff --git a/packages/kusama/src/karura.kusama.test.ts b/packages/kusama/src/karura.kusama.test.ts index dbbce12b0..75baa643c 100644 --- a/packages/kusama/src/karura.kusama.test.ts +++ b/packages/kusama/src/karura.kusama.test.ts @@ -25,7 +25,7 @@ describe('karura & kusama', async () => { ) runXtokensUp( - 'karura transfer KSM to kusama wiht limited weight', + 'karura transfer KSM to kusama with limited weight', async () => { return { fromChain: karuraClient, diff --git a/packages/polkadot/src/__snapshots__/acala.polkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/acala.polkadot.test.ts.snap index 486ac7ce3..9010a3174 100644 --- a/packages/polkadot/src/__snapshots__/acala.polkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/acala.polkadot.test.ts.snap @@ -29,7 +29,7 @@ exports[`acala & polkadot > acala transfer DOT to polkadot > to chain ump events exports[`acala & polkadot > acala transfer DOT to polkadot > tx events 1`] = `[]`; -exports[`acala & polkadot > acala transfer DOT wiht limited weight > balance on from chain 1`] = ` +exports[`acala & polkadot > acala transfer DOT with limited weight > balance on from chain 1`] = ` { "free": 10000000000000, "frozen": 0, @@ -37,7 +37,7 @@ exports[`acala & polkadot > acala transfer DOT wiht limited weight > balance on } `; -exports[`acala & polkadot > acala transfer DOT wiht limited weight > balance on to chain 1`] = ` +exports[`acala & polkadot > acala transfer DOT with limited weight > balance on to chain 1`] = ` { "consumers": 0, "data": { @@ -52,11 +52,11 @@ exports[`acala & polkadot > acala transfer DOT wiht limited weight > balance on } `; -exports[`acala & polkadot > acala transfer DOT wiht limited weight > from chain ump messages 1`] = `[]`; +exports[`acala & polkadot > acala transfer DOT with limited weight > from chain ump messages 1`] = `[]`; -exports[`acala & polkadot > acala transfer DOT wiht limited weight > to chain ump events 1`] = `[]`; +exports[`acala & polkadot > acala transfer DOT with limited weight > to chain ump events 1`] = `[]`; -exports[`acala & polkadot > acala transfer DOT wiht limited weight > tx events 1`] = `[]`; +exports[`acala & polkadot > acala transfer DOT with limited weight > tx events 1`] = `[]`; exports[`acala & polkadot > polkadot transfer DOT to acala > balance on from chain 1`] = ` { diff --git a/packages/polkadot/src/acala.polkadot.test.ts b/packages/polkadot/src/acala.polkadot.test.ts index 14f0cc7de..6976cbcf4 100644 --- a/packages/polkadot/src/acala.polkadot.test.ts +++ b/packages/polkadot/src/acala.polkadot.test.ts @@ -25,7 +25,7 @@ describe('acala & polkadot', async () => { ) runXtokensUp( - 'acala transfer DOT wiht limited weight', + 'acala transfer DOT with limited weight', async () => { return { fromChain: acalaClient, diff --git a/packages/polkadot/src/polkadot.accounts.e2e.test.ts b/packages/polkadot/src/polkadot.accounts.e2e.test.ts index eef67640b..0e9ebd641 100644 --- a/packages/polkadot/src/polkadot.accounts.e2e.test.ts +++ b/packages/polkadot/src/polkadot.accounts.e2e.test.ts @@ -22,13 +22,13 @@ const generalTestConfig: RelayTestConfig = { blockProvider: 'Local', } -// Staking and nomination pools are disabled on Kusama relay, so the only reserve action available is manual. +// Staking and nomination pools are disabled on Polkadot relay, so the only reserve action available is manual. const reserveActions = [manualReserveAction()] -// Vesting is disabled on Kusama relay, so the only lock action available is the manual lock. +// Vesting is also disabled, so the only lock action available is the manual lock. const lockActions = [manualLockAction()] -// Referenda submission is no longer available on Kusama relay. +// Referenda submission is no longer available, either. const depositActions = [proxyAdditionDepositAction(), multisigCreationDepositAction()] const accountsTestCfg = createAccountsConfig({ From 0873c19d93a62cab057204d21238297678da54fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Tue, 4 Nov 2025 16:55:57 +0000 Subject: [PATCH 27/40] Update snapshots/block numbers --- KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env | 22 +++++++++---------- KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env | 22 +++++++++---------- ...assetHubPolkadot.bounties.e2e.test.ts.snap | 18 +++++++++++++++ ...HubPolkadot.childBounties.e2e.test.ts.snap | 5 +++++ ...setHubPolkadot.governance.e2e.test.ts.snap | 2 +- ...ubPolkadot.multisig.proxy.e2e.test.ts.snap | 18 +++++++-------- .../assetHubPolkadot.staking.e2e.test.ts.snap | 2 ++ .../polkadot.multisig.proxy.e2e.test.ts.snap | 18 +++++++-------- 8 files changed, 66 insertions(+), 41 deletions(-) diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env index b77d264ff..e316ba345 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env @@ -1,11 +1,11 @@ -ASSETHUBKUSAMA_BLOCK_NUMBER=11505505 -BASILISK_BLOCK_NUMBER=11837210 -BRIDGEHUBKUSAMA_BLOCK_NUMBER=6888745 -CORETIMEKUSAMA_BLOCK_NUMBER=3829745 -ENCOINTERKUSAMA_BLOCK_NUMBER=11340938 -INTEGRITEEKUSAMA_BLOCK_NUMBER=8848415 -KARURA_BLOCK_NUMBER=10305478 -KUSAMA_BLOCK_NUMBER=30814176 -MOONRIVER_BLOCK_NUMBER=13795963 -PEOPLEKUSAMA_BLOCK_NUMBER=6418730 -SHIDEN_BLOCK_NUMBER=12477251 +ASSETHUBKUSAMA_BLOCK_NUMBER=11514044 +BASILISK_BLOCK_NUMBER=11846494 +BRIDGEHUBKUSAMA_BLOCK_NUMBER=6893361 +CORETIMEKUSAMA_BLOCK_NUMBER=3834000 +ENCOINTERKUSAMA_BLOCK_NUMBER=11348041 +INTEGRITEEKUSAMA_BLOCK_NUMBER=8852832 +KARURA_BLOCK_NUMBER=10309169 +KUSAMA_BLOCK_NUMBER=30823555 +MOONRIVER_BLOCK_NUMBER=13804629 +PEOPLEKUSAMA_BLOCK_NUMBER=6427607 +SHIDEN_BLOCK_NUMBER=12485560 diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env index 89cf4af6c..747852546 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env @@ -1,11 +1,11 @@ -ACALA_BLOCK_NUMBER=9793419 -ASSETHUBPOLKADOT_BLOCK_NUMBER=10251161 -ASTAR_BLOCK_NUMBER=10915701 -BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6321685 -COLLECTIVESPOLKADOT_BLOCK_NUMBER=7519577 -CORETIMEPOLKADOT_BLOCK_NUMBER=2930995 -HYDRATION_BLOCK_NUMBER=9933357 -INTEGRITEEPOLKADOT_BLOCK_NUMBER=5638423 -MOONBEAM_BLOCK_NUMBER=13212072 -PEOPLEPOLKADOT_BLOCK_NUMBER=3258164 -POLKADOT_BLOCK_NUMBER=28459130 +ACALA_BLOCK_NUMBER=9797931 +ASSETHUBPOLKADOT_BLOCK_NUMBER=10259863 +ASTAR_BLOCK_NUMBER=10925026 +BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6326046 +COLLECTIVESPOLKADOT_BLOCK_NUMBER=7523957 +CORETIMEPOLKADOT_BLOCK_NUMBER=2935261 +HYDRATION_BLOCK_NUMBER=9942697 +INTEGRITEEPOLKADOT_BLOCK_NUMBER=5641274 +MOONBEAM_BLOCK_NUMBER=13220307 +PEOPLEPOLKADOT_BLOCK_NUMBER=3262489 +POLKADOT_BLOCK_NUMBER=28496419 diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap index a6fb76574..d507a5164 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap @@ -454,6 +454,15 @@ exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure "method": "Transfer", "section": "balances", }, + { + "data": { + "amount": "(rounded 6700000)", + "from": "(redacted)", + "to": "(redacted)", + }, + "method": "Transfer", + "section": "balances", + }, ] `; @@ -566,6 +575,15 @@ exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure "method": "Transfer", "section": "balances", }, + { + "data": { + "amount": "(rounded 1200000)", + "from": "(redacted)", + "to": "(redacted)", + }, + "method": "Transfer", + "section": "balances", + }, ] `; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.childBounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.childBounties.e2e.test.ts.snap index 5002345f7..87e8f3d3c 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.childBounties.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.childBounties.e2e.test.ts.snap @@ -449,6 +449,11 @@ exports[`Polkadot Asset Hub Child Bounties > All child bounties success tests > "method": "Transfer", "section": "balances", }, + { + "data": "(redacted)", + "method": "Transfer", + "section": "balances", + }, ] `; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.governance.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.governance.e2e.test.ts.snap index 2338069b8..88d5f10ea 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.governance.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.governance.e2e.test.ts.snap @@ -1,6 +1,6 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Polkadot Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > cancelling referendum with signed origin 1`] = ` +exports[`Polkadot Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > cancelling referendum with signed origin 1`] = ` [ { "data": { diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap index 7ee072e9f..eae7eb7b1 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12K68CyXJrjQoMTARL2BjwcnGWKACuahE4rKxBk482SMAMhn", + "multisig": "12Ba5AdzrF3fgaDz4hFvbPSvox8cM5jiB8Mdg5NQxMcC7yfL", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "12mja2oNKGsf6RWhCvw6Cn9gvrH6TzrTFrTDtFK69PFtdNNb", + "approving": "1KCqohT7UX9EnWM8QVeAogtkEimemYwKQdsDn746P51mmSB", "callHash": "(hash)", - "multisig": "12K68CyXJrjQoMTARL2BjwcnGWKACuahE4rKxBk482SMAMhn", + "multisig": "12Ba5AdzrF3fgaDz4hFvbPSvox8cM5jiB8Mdg5NQxMcC7yfL", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14wZm1tBswiwvfDNvsEvbCvxX4GmdajLDBj5eAbh3T3eaX86", + "multisig": "12J81wVFmErCBtzMqvarBYJyoEKPv5oL6poeNsQnSDaftkS6", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "135vaZPEy8Qy4afvN3xMQHuNRE1SPHQAcZMWQdEXJXBosHMK", + "approving": "15UGMrVshpZhVsiadHQnamkHBKR8K53enxLVRypaYS4itfUQ", "callHash": "(hash)", - "multisig": "14wZm1tBswiwvfDNvsEvbCvxX4GmdajLDBj5eAbh3T3eaX86", + "multisig": "12J81wVFmErCBtzMqvarBYJyoEKPv5oL6poeNsQnSDaftkS6", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "126Mws8n7r9nFQaiEFYYriY2ouKAVkSfoYqxseZCtVsGwXgG", + "multisig": "15Fsi5sG8QUqcYRxyUnFxijaNsvJm1Lyg2NdJ3Ai7hpV5MS5", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "1xLvJFtA9jWZnueVtvFNCZbsifD2nGWrmTidQfjfq2RXVaS", + "approving": "16nJpsjNkEJGPzLrNsJGZekv8WkJEWVPwEJ35784cAjNpQwB", "callHash": "(hash)", - "multisig": "1tzsCjSuegRBdYyC8yhkjHEtn4aQGvyaqyQvaiQDAifBzCz", + "multisig": "15e3QgZRewxLmP857Sr2SRzSM3mWWg3zaAYCkWJuuJsAeRfG", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap index b4da9a1c4..8b00a3bf2 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap @@ -527,6 +527,8 @@ exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > n exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > unbond events 1`] = `[]`; +exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > unbond events 2`] = `[]`; + exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validate (blocked) events 1`] = ` [ { diff --git a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap index dd194e208..790fe5e06 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15o2LpYUdcXYCPPMza9hzBdwW2XQi5cKzPoRCK5Sa43NxwLE", + "multisig": "16cVviSGPQ3pjf1eHtuw9JyNaSSWKyUkvdTnDzPnqvFEshQF", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "16EwY8ToW9CdLeEw81kdzsT2LYuJmqxQgECcK3dSSK332LYy", + "approving": "17dhMThsPCrjvySeR9oBvkdLU2ipabvTzhJApd2Uf14AYuw", "callHash": "(hash)", - "multisig": "15o2LpYUdcXYCPPMza9hzBdwW2XQi5cKzPoRCK5Sa43NxwLE", + "multisig": "16cVviSGPQ3pjf1eHtuw9JyNaSSWKyUkvdTnDzPnqvFEshQF", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1Bzw649fb2qSeUz1WJKTjjFVMWQmJL5Vc8tJYBtwEEVrydg", + "multisig": "15LJeVoDRkXCevg6PzPQ7VWihiY1fyHESRiCoHw1ihAhxp1h", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "15jcSjFu8PwpMeqkruN67AiNxswWD1Cjsyub3zjm3GPi5moj", + "approving": "12Mc8yNK7Z3zsE4vMN9nFvYxxdctpjnwKakeWBbLp3wqAyZK", "callHash": "(hash)", - "multisig": "1Bzw649fb2qSeUz1WJKTjjFVMWQmJL5Vc8tJYBtwEEVrydg", + "multisig": "15LJeVoDRkXCevg6PzPQ7VWihiY1fyHESRiCoHw1ihAhxp1h", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1ZanjX3zWjaLLtTRxevHs8zzniKU8awAjR98taX8Epcokia", + "multisig": "14uVSy2obWgeQrswUdqy6Pwc5b3vpmLZszvxLKGJKVZfAgJe", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Multisig with Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "125dQdh6Pcbo57TrpHq4oe2qX5LZTZ5iJwx65aFSy6GNycob", + "approving": "1mKZgnUcWVt4vxbrfYgsuRwmHNRk1W48AssJFHouuq43Q1e", "callHash": "(hash)", - "multisig": "14kk5uKuARTjEdF5jbhX6Q4MmkvgofKXoKRAJnGwCPU3eYyn", + "multisig": "12tJYTiZWtswhyB1BVwjVxUhnM4PAw3MayLQhX1YU3sxd7aW", }, "method": "NewMultisig", "section": "multisig", From 8d5902f6ff8a4eaa099cbcf55341708c4212481a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Wed, 5 Nov 2025 00:36:59 +0000 Subject: [PATCH 28/40] Update some tests' snapshots * Multisig+proxy, multisig * Also, disable some failing PAH XCM tests --- KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env | 22 +- KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env | 22 +- ...tHubKusama.multisig.proxy.e2e.test.ts.snap | 18 +- ...timeKusama.multisig.proxy.e2e.test.ts.snap | 18 +- .../kusama.multisig.proxy.e2e.test.ts.snap | 18 +- .../kusama.proxy.e2e.test.ts.snap | 72 ----- ...opleKusama.multisig.proxy.e2e.test.ts.snap | 18 +- ...ubPolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- .../assetHubPolkadot.polkadot.test.ts.snap | 8 +- ...esPolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- .../collectivesPolkadot.polkadot.test.ts.snap | 299 +++--------------- ...mePolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- ...lePolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- .../polkadot.multisig.proxy.e2e.test.ts.snap | 18 +- .../polkadot.proxy.e2e.test.ts.snap | 21 -- ...assetHubPolkadot.bridgeHubPolkadot.test.ts | 32 +- ...setHubPolkadot.collectivesPolkadot.test.ts | 32 +- .../assetHubPolkadot.peoplePolkadot.test.ts | 32 +- 18 files changed, 199 insertions(+), 503 deletions(-) diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env index e316ba345..3ad2020c1 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env @@ -1,11 +1,11 @@ -ASSETHUBKUSAMA_BLOCK_NUMBER=11514044 -BASILISK_BLOCK_NUMBER=11846494 -BRIDGEHUBKUSAMA_BLOCK_NUMBER=6893361 -CORETIMEKUSAMA_BLOCK_NUMBER=3834000 -ENCOINTERKUSAMA_BLOCK_NUMBER=11348041 -INTEGRITEEKUSAMA_BLOCK_NUMBER=8852832 -KARURA_BLOCK_NUMBER=10309169 -KUSAMA_BLOCK_NUMBER=30823555 -MOONRIVER_BLOCK_NUMBER=13804629 -PEOPLEKUSAMA_BLOCK_NUMBER=6427607 -SHIDEN_BLOCK_NUMBER=12485560 +ASSETHUBKUSAMA_BLOCK_NUMBER=11514668 +BASILISK_BLOCK_NUMBER=11847175 +BRIDGEHUBKUSAMA_BLOCK_NUMBER=6893707 +CORETIMEKUSAMA_BLOCK_NUMBER=3834324 +ENCOINTERKUSAMA_BLOCK_NUMBER=11348540 +INTEGRITEEKUSAMA_BLOCK_NUMBER=8853166 +KARURA_BLOCK_NUMBER=10309438 +KUSAMA_BLOCK_NUMBER=30824254 +MOONRIVER_BLOCK_NUMBER=13805282 +PEOPLEKUSAMA_BLOCK_NUMBER=6428267 +SHIDEN_BLOCK_NUMBER=12486180 diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env index 747852546..b386b4c58 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env @@ -1,11 +1,11 @@ -ACALA_BLOCK_NUMBER=9797931 -ASSETHUBPOLKADOT_BLOCK_NUMBER=10259863 -ASTAR_BLOCK_NUMBER=10925026 -BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6326046 -COLLECTIVESPOLKADOT_BLOCK_NUMBER=7523957 -CORETIMEPOLKADOT_BLOCK_NUMBER=2935261 -HYDRATION_BLOCK_NUMBER=9942697 -INTEGRITEEPOLKADOT_BLOCK_NUMBER=5641274 -MOONBEAM_BLOCK_NUMBER=13220307 -PEOPLEPOLKADOT_BLOCK_NUMBER=3262489 -POLKADOT_BLOCK_NUMBER=28496419 +ACALA_BLOCK_NUMBER=9798263 +ASSETHUBPOLKADOT_BLOCK_NUMBER=10260495 +ASTAR_BLOCK_NUMBER=10925698 +BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6326365 +COLLECTIVESPOLKADOT_BLOCK_NUMBER=7524276 +CORETIMEPOLKADOT_BLOCK_NUMBER=2935576 +HYDRATION_BLOCK_NUMBER=9943370 +INTEGRITEEPOLKADOT_BLOCK_NUMBER=5641485 +MOONBEAM_BLOCK_NUMBER=13220896 +PEOPLEPOLKADOT_BLOCK_NUMBER=3262804 +POLKADOT_BLOCK_NUMBER=28497114 diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap index 235889bdc..3dc261e44 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "E9vsiNkTeYr8A5gt1k2udPrtaBy9KeQx8t3Ygp5Qy3MfQUu", + "multisig": "HsqMZwoz6VgBp3Jir9EHVXwWxptE4Xh43YBXfGpAgpUTnL3", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "HdNsk4ihvd6uHt1bVBAm5GFNXM4DRGWgWXjwA2ot2JHDGmr", + "approving": "HzfiNBWVbCNvLqRHZmYkv8ScreioX1DdBiDKHE2t5S1M8PD", "callHash": "(hash)", - "multisig": "E9vsiNkTeYr8A5gt1k2udPrtaBy9KeQx8t3Ygp5Qy3MfQUu", + "multisig": "HsqMZwoz6VgBp3Jir9EHVXwWxptE4Xh43YBXfGpAgpUTnL3", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "FZ6q9Auydj7C4FDhb63p8pkfkkmpzfVyncftHe7GcrsUgup", + "multisig": "GLcUoRavLfhAqf61DFeebFWAeCnmwDsTAToF23qw5Sz5Pne", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "J53AtEmvjwkC2ZBbq8mQm6tPLfgSnww6NhnkvYSeEevYyZg", + "approving": "DvhvL8EozX7EGGhKqaUUUnuxaCxdizy8z6pUzHreMVcNeCU", "callHash": "(hash)", - "multisig": "FZ6q9Auydj7C4FDhb63p8pkfkkmpzfVyncftHe7GcrsUgup", + "multisig": "GLcUoRavLfhAqf61DFeebFWAeCnmwDsTAToF23qw5Sz5Pne", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "FH5nQ6PgoHVPAmPbFgUKgJ354iKLX6JBmD93TRmn5sXeLsS", + "multisig": "F7kjysKuGW5MLfBqDcxT1Jrf8x8oPmCsQfq3PRsZqbtMm2g", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "E9y3VebmktdiPKyrxWTRTt6cCZsxUDfKYo8JfXwyR3Jyukz", + "approving": "HxgqXnQwoCVDvPu23qdXA1ABqxC3o92ue1Bvk2U8D2J75gb", "callHash": "(hash)", - "multisig": "HzRAJ3qBu6Xq6zQivnmXPWYcnRL6cB5e56aS33uGiGe6e4A", + "multisig": "D1xMyYBGZcXcDNE9CHM2zan5y5MoL41V2A4FvnXZAGDFavS", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap index cf21251fe..1ac6d5097 100644 --- a/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "FQsRpfm9Kmg2CigS8at8CT2VSf5vNLh49CaoTir3tXyB7hW", + "multisig": "Ep3vVfKCxtCMQTUpkDUwYoogkTsKdo2stNF2fK9hYKyYczp", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "Gvf8FefSBcgJk72dLRsjjRFFRPAihoMuR7ZGA9V5x71qzJX", + "approving": "CoS73aLeviUkoSp3Uwnrtzg8iCVD9cK5xFW4TudfkqAcZY7", "callHash": "(hash)", - "multisig": "FQsRpfm9Kmg2CigS8at8CT2VSf5vNLh49CaoTir3tXyB7hW", + "multisig": "Ep3vVfKCxtCMQTUpkDUwYoogkTsKdo2stNF2fK9hYKyYczp", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "GzkCk1rp4U8QGrQc5LF9asgJDdBShFBfX6mjDXSwNbD4GFw", + "multisig": "GXLmpmrhd8ZHTPCUVVSf5mqbXY52R8QNDyj5KLtBfkUiFZc", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "FDPeVTMtsQAxhSYp56VCoAMR6GG8B8jQCYDw4nDirkAfoB9", + "approving": "Dv1euBcYSm1JhmpSQge3bVSPWpB5Wu24uR9pFLYMtE9KDgy", "callHash": "(hash)", - "multisig": "GzkCk1rp4U8QGrQc5LF9asgJDdBShFBfX6mjDXSwNbD4GFw", + "multisig": "GXLmpmrhd8ZHTPCUVVSf5mqbXY52R8QNDyj5KLtBfkUiFZc", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "J79MxQMSs4XCRtq45z9zqLvmrUMmMM6NgFurw2TwZHwBzeM", + "multisig": "CtVtFQbcUvTfEHHXwh77GpAHQuMV4HJM2da3rrhrtuMDcCD", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama Coretime Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "DkiKcoBiKrJ2jakLkBmToVAMmMC5uGjK2a5XCVahw9qSitw", + "approving": "H9BHyk4yd571jMmBJDT2YnDWyQHkqQS3x41nNiBj7mgbCXU", "callHash": "(hash)", - "multisig": "EeSDE4RFjMJwbupcawM2BzTHhCuUYap5mTzUzQC5XN1Un8u", + "multisig": "EDSL14DF3hTVTTzLf68puAp5CjuhBxaqTyUkmAWomHbiR8R", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap index 24dec9b6a..dd6e504d9 100644 --- a/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "G3z69RPMW2Tyho4GQbZEEBBBprWE9rQAbmUcQXu9FoZQLTw", + "multisig": "GrXk6MkjG6SZpxGxtk3t6v7gCaDRxYJaggYFrPXgADhfL51", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure [ { "data": { - "approving": "CawzS9VCVQzioMcs4RTTmRV4Qeh4gnwHcNpfrSdL4dx6Vzn", + "approving": "FqMrzbiRrHF86sGYu6bj48Y5YdHN9KX74wSVtJpYd355MfR", "callHash": "(hash)", - "multisig": "G3z69RPMW2Tyho4GQbZEEBBBprWE9rQAbmUcQXu9FoZQLTw", + "multisig": "GrXk6MkjG6SZpxGxtk3t6v7gCaDRxYJaggYFrPXgADhfL51", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "GgkSRuX1KEmvDGxvmuxwSEKrnospNX9kheJAuDsdU7bmGqu", + "multisig": "EVVZwFsbXSZDoJW6C8LS9gDAwp3pfyDqz7NBz6X7z3hDjbE", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure [ { "data": { - "approving": "GWDKbgo7SiFHWEjNSTWzowJ3CM8qchG76vwqXiBaYoBiH8Z", + "approving": "GQMpQ4h2NkdGKDv6yZewBtXnB4C5S6uyEkU6mAu3JDzqFuT", "callHash": "(hash)", - "multisig": "GgkSRuX1KEmvDGxvmuxwSEKrnospNX9kheJAuDsdU7bmGqu", + "multisig": "EVVZwFsbXSZDoJW6C8LS9gDAwp3pfyDqz7NBz6X7z3hDjbE", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DsvikD8QvgpF6nmnFsMbBXbxwPZ8J2zBh5ff87hXAjW4Guy", + "multisig": "GZsCB517daRGtBmuWFP2TBgVatQjjvn5Qzgm3vWMREiwAWg", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama Multisig with Proxy > success tests > Cancel 2-of-3 multisig wit [ { "data": { - "approving": "HD21BL5ai6NRkZqniqJSqoXd1AYqhpJjxTypHBjBsT4oMBM", + "approving": "CjXitWN9cnQHFPTkpnCxr99m3JkWzw1v1bVZdSoekxwczg3", "callHash": "(hash)", - "multisig": "CnuuhNxprTgfe6yzJ8Vs5cqLPYdc43wLHk6zXkcmM27CDfD", + "multisig": "ChsWgRUSD8V8KhAV957VuBhRPMtoFsq3zhJSNLQrNdREJdy", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/kusama.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/kusama.proxy.e2e.test.ts.snap index b75976506..4809b2337 100644 --- a/packages/kusama/src/__snapshots__/kusama.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/kusama.proxy.e2e.test.ts.snap @@ -837,42 +837,6 @@ exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for ] `; -exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch 1`] = ` -[ - { - "data": { - "result": "Ok", - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - -exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch_all 1`] = ` -[ - { - "data": { - "result": "Ok", - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - -exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call force_batch 1`] = ` -[ - { - "data": { - "result": "Ok", - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call batch 1`] = ` [ { @@ -1105,42 +1069,6 @@ exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for ] `; -exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch 1`] = ` -[ - { - "data": { - "result": "Ok", - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - -exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch_all 1`] = ` -[ - { - "data": { - "result": "Ok", - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - -exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call force_batch 1`] = ` -[ - { - "data": { - "result": "Ok", - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet auctions, call bid 1`] = ` [ { diff --git a/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap index 620c3cc49..bd90cc281 100644 --- a/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "F9FFg4BRzwnr6WRBkx8XYtjwfC9LhTYz8EuR5qF85AQJZHM", + "multisig": "DTXTXL29dQ6ZyKPuHfv5eSamj5RxnMo3pHkgCv19tUWPuA8", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "FZCVGLKiTeqSZXvhotSgWG59aWrzhz17cD479fk9BJgRrHm", + "approving": "F1KJp8wJvhH9U9UFYkrizxyvYtkJkL6KU6c6XQt3GUN34jz", "callHash": "(hash)", - "multisig": "F9FFg4BRzwnr6WRBkx8XYtjwfC9LhTYz8EuR5qF85AQJZHM", + "multisig": "DTXTXL29dQ6ZyKPuHfv5eSamj5RxnMo3pHkgCv19tUWPuA8", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "Hum2ULBxZaD1PcaEageYkmTRnaXeREQDe2Cu3AhDxpUJjvb", + "multisig": "FEkHS6zfH2fx4w4CdX48cHhFn1A4BCG9AP8XXDZHRo5hzwh", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "DYFsRYCH2G6YDkvjkKyNyB6rALcJgimh4gCz5oXVLAnRtRs", + "approving": "Ce9dcWp8dSQTvMWc7FLLfsiXvsdSxVbZZrV5TJ2zYro3bkR", "callHash": "(hash)", - "multisig": "Hum2ULBxZaD1PcaEageYkmTRnaXeREQDe2Cu3AhDxpUJjvb", + "multisig": "FEkHS6zfH2fx4w4CdX48cHhFn1A4BCG9AP8XXDZHRo5hzwh", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "CuQg4BHS3iR257jphwf6PNtFTuYarzV4eRSaHNVbxFBF57r", + "multisig": "Hgy4zD8g5w8Pa5Mdt4WHtMptXJpmtXcXTg7UAPyue1zkGy3", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`People Kusama Multisig Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "GT3sN4DVNiyMkxPPo7iYcsqT7BuueJkagnYpgiDBnPw9mJt", + "approving": "J3S9PLcN1jwpE1MkduuyX9tj4ACKpckmHc9L9a4qA9oW16h", "callHash": "(hash)", - "multisig": "GecfnQKWPguZgfVjTR3Fsv7sgSf1QEqhkqFsn7BWE8tNY7U", + "multisig": "JFY2t1MJGdjRPyA3svmvcbPsRqN6qk7Vugj6Xs7iJck3mde", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap index eae7eb7b1..1da6f75c8 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12Ba5AdzrF3fgaDz4hFvbPSvox8cM5jiB8Mdg5NQxMcC7yfL", + "multisig": "13DEdjYzfU1rD62BmN4BrKEaumwGKTFSgsY4JSGN5oGqZqf7", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "1KCqohT7UX9EnWM8QVeAogtkEimemYwKQdsDn746P51mmSB", + "approving": "13bj9hov1Lqk8B74GrMQs8MbdGSHATEFJppRxGnP9nAJsDYw", "callHash": "(hash)", - "multisig": "12Ba5AdzrF3fgaDz4hFvbPSvox8cM5jiB8Mdg5NQxMcC7yfL", + "multisig": "13DEdjYzfU1rD62BmN4BrKEaumwGKTFSgsY4JSGN5oGqZqf7", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12J81wVFmErCBtzMqvarBYJyoEKPv5oL6poeNsQnSDaftkS6", + "multisig": "1Mm8r92Rak9Fa4HNpeYmuDd8anx4Nw7MrUuFtPDzYME6Ezf", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "15UGMrVshpZhVsiadHQnamkHBKR8K53enxLVRypaYS4itfUQ", + "approving": "16QKMEBq9fHJ4WWdxRn3KuQXioDx1TbhrwtuwojpC4nEBUP1", "callHash": "(hash)", - "multisig": "12J81wVFmErCBtzMqvarBYJyoEKPv5oL6poeNsQnSDaftkS6", + "multisig": "1Mm8r92Rak9Fa4HNpeYmuDd8anx4Nw7MrUuFtPDzYME6Ezf", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15Fsi5sG8QUqcYRxyUnFxijaNsvJm1Lyg2NdJ3Ai7hpV5MS5", + "multisig": "12u3rdwdDS8kV4R39q4s9mhDXyeTxtzkADw3DwV8HnSv6fKr", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "16nJpsjNkEJGPzLrNsJGZekv8WkJEWVPwEJ35784cAjNpQwB", + "approving": "12soX4ko4iGcH4xhYrwY2hdePJZgZTakknBSRH4xM3Lx3pzw", "callHash": "(hash)", - "multisig": "15e3QgZRewxLmP857Sr2SRzSM3mWWg3zaAYCkWJuuJsAeRfG", + "multisig": "1keFAtaVvhW4UTVVku2wT97er9teGiiLnAUxMzpw6uMCWmn", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.polkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.polkadot.test.ts.snap index 2720035f8..dd2132f61 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.polkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.polkadot.test.ts.snap @@ -155,7 +155,7 @@ exports[`asset hub & polkadot > Teleport DOT from Asset Hub to Polkadot > tx eve "Complete": { "used": { "proofSize": "(rounded 400000)", - "refTime": "(rounded 40000000000)", + "refTime": "(rounded 50000000000)", }, }, }, @@ -210,7 +210,7 @@ exports[`asset hub & polkadot > Teleport DOT from Polkadot to Asset Hub > to cha "dmqHead": "(hash)", "weightUsed": { "proofSize": "(rounded 4000)", - "refTime": "(rounded 1000000000)", + "refTime": "(rounded 800000000)", }, }, "method": "DownwardMessagesProcessed", @@ -222,7 +222,7 @@ exports[`asset hub & polkadot > Teleport DOT from Polkadot to Asset Hub > to cha "origin": "Parent", "success": true, "weightUsed": { - "proofSize": "(rounded 7000)", + "proofSize": "(rounded 9000)", "refTime": "(rounded 600000000)", }, }, @@ -271,7 +271,7 @@ exports[`asset hub & polkadot > Teleport DOT from Polkadot to Asset Hub > tx eve "Complete": { "used": { "proofSize": "(rounded 7000)", - "refTime": "(rounded 600000000)", + "refTime": "(rounded 700000000)", }, }, }, diff --git a/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap index afb90d42a..8cdb816c5 100644 --- a/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "13RRmkLnsxLi74XZV6nHHwuxYSXguhh2rg3KjoPATgh2myYq", + "multisig": "1FvNagLrxXbhzjnnJD3NBHVyVkj8ru8tjykVy1qFoFprgA1", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w [ { "data": { - "approving": "164zn6R7TzXevbuacYNYH1mX3iekJknL67PNS6XkLJAwghjq", + "approving": "15U6YmWxj7xXALJMBCAkbERzvCXwfMwwwnwuaX295ZCAWyBW", "callHash": "(hash)", - "multisig": "13RRmkLnsxLi74XZV6nHHwuxYSXguhh2rg3KjoPATgh2myYq", + "multisig": "1FvNagLrxXbhzjnnJD3NBHVyVkj8ru8tjykVy1qFoFprgA1", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14YVDHoQJpupa9UcgxtZUPEr2nqyfiuvsutjSPo4EYeFA74v", + "multisig": "14NvXxTNWzCJtX9EpxQ7HwucdR36eASVDXF1qXbEuFQE2iNX", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w [ { "data": { - "approving": "14AEppgxv7FYxVhVx4Gv7KsQLfNgH9YzXPbGQPZdfDYx7WHE", + "approving": "15FvcnDvrSkabwQ1xCfcoqYoVdyodsURyyNGZzWHdKr2gefh", "callHash": "(hash)", - "multisig": "14YVDHoQJpupa9UcgxtZUPEr2nqyfiuvsutjSPo4EYeFA74v", + "multisig": "14NvXxTNWzCJtX9EpxQ7HwucdR36eASVDXF1qXbEuFQE2iNX", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14GJewUXm6gpDTLPxojBXQYuCBPUpE8sQsMaKdJfBXnSCtgE", + "multisig": "12n5Kv6ZF1zH8qvEm4pysFqGtV1xZN3X23CnrK4evwwed2qh", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > Cancel 2-of-3 mul [ { "data": { - "approving": "12ScWkNmTNWjSzM2p34DQTafXnEzRzFaqK44WLuvsasu44U9", + "approving": "15yh2tmoX3zrjjsAiByQrRbpFePp8jErAkHHB7cbAPaCZ93j", "callHash": "(hash)", - "multisig": "15y28jzz7brb4cAniqoUczDn1PoCNVP7YvvAcAKBfW6FYVDa", + "multisig": "122B7tnUPYTCVfcYBGkiyMaK7qzP9151VipgsTaHRtRzhjoc", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/collectivesPolkadot.polkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/collectivesPolkadot.polkadot.test.ts.snap index b2b7d0d97..7b5ec7537 100644 --- a/packages/polkadot/src/__snapshots__/collectivesPolkadot.polkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/collectivesPolkadot.polkadot.test.ts.snap @@ -49,17 +49,7 @@ exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Colle ] `; -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > events after notePreimge 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; +exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > events after notePreimge 1`] = `[]`; exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` [ @@ -69,8 +59,8 @@ exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Colle "result": { "Err": { "Module": { - "error": "0x03000000", - "index": 23, + "error": "0x05000000", + "index": 0, }, }, }, @@ -88,7 +78,12 @@ exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Colle "data": { "id": null, "result": { - "Err": "BadOrigin", + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, }, "task": "(redacted)", }, @@ -98,36 +93,10 @@ exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Colle ] `; -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` -[ - { - "data": { - "callHash": "0x1f316948a52772e24450da99383b0e57b75770f95e916e945b6fd91163ce05dd", - "result": { - "Ok": { - "actualWeight": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 300000000)", - }, - "paysFee": "Yes", - }, - }, - }, - "method": "WhitelistedCallDispatched", - "section": "whitelist", - }, -] -`; +exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = `[]`; exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` [ - { - "data": { - "callHash": "0x1f316948a52772e24450da99383b0e57b75770f95e916e945b6fd91163ce05dd", - }, - "method": "CallWhitelisted", - "section": "whitelist", - }, { "data": { "id": "(redacted)", @@ -138,7 +107,7 @@ exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Colle }, "success": true, "weightUsed": { - "proofSize": "(rounded 4000)", + "proofSize": "(rounded 6000)", "refTime": "(rounded 300000000)", }, }, @@ -148,31 +117,7 @@ exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Colle ] `; -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` -[ - { - "data": { - "checkVersion": true, - "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", - }, - "method": "UpgradeAuthorized", - "section": "system", - }, - { - "data": { - "id": "(redacted)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": 0, - "refTime": "(rounded 100000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = `[]`; exports[`collectives & polkadot > Relay authorizes upgrade for itself > collectives events emitted when sending xcm 1`] = ` [ @@ -223,17 +168,7 @@ exports[`collectives & polkadot > Relay authorizes upgrade for itself > collecti ] `; -exports[`collectives & polkadot > Relay authorizes upgrade for itself > events after notePreimge 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; +exports[`collectives & polkadot > Relay authorizes upgrade for itself > events after notePreimge 1`] = `[]`; exports[`collectives & polkadot > Relay authorizes upgrade for itself > events when dispatching non-whitelisted call 1`] = ` [ @@ -243,8 +178,8 @@ exports[`collectives & polkadot > Relay authorizes upgrade for itself > events w "result": { "Err": { "Module": { - "error": "0x03000000", - "index": 23, + "error": "0x05000000", + "index": 0, }, }, }, @@ -262,7 +197,12 @@ exports[`collectives & polkadot > Relay authorizes upgrade for itself > events w "data": { "id": null, "result": { - "Err": "BadOrigin", + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, }, "task": "(redacted)", }, @@ -272,33 +212,10 @@ exports[`collectives & polkadot > Relay authorizes upgrade for itself > events w ] `; -exports[`collectives & polkadot > Relay authorizes upgrade for itself > governing chain events about dispatching whitelisted call 1`] = ` -[ - { - "data": { - "callHash": "0x3812e839c2f2db66069c9ee359bbc78e7ec08cb657d0a735742e68c5c0668a84", - "result": { - "Ok": { - "actualWeight": null, - "paysFee": "Yes", - }, - }, - }, - "method": "WhitelistedCallDispatched", - "section": "whitelist", - }, -] -`; +exports[`collectives & polkadot > Relay authorizes upgrade for itself > governing chain events about dispatching whitelisted call 1`] = `[]`; exports[`collectives & polkadot > Relay authorizes upgrade for itself > governing chain events emitted on receiving xcm from collectives 1`] = ` [ - { - "data": { - "callHash": "0x3812e839c2f2db66069c9ee359bbc78e7ec08cb657d0a735742e68c5c0668a84", - }, - "method": "CallWhitelisted", - "section": "whitelist", - }, { "data": { "id": "(redacted)", @@ -309,7 +226,7 @@ exports[`collectives & polkadot > Relay authorizes upgrade for itself > governin }, "success": true, "weightUsed": { - "proofSize": "(rounded 4000)", + "proofSize": "(rounded 6000)", "refTime": "(rounded 300000000)", }, }, @@ -319,29 +236,18 @@ exports[`collectives & polkadot > Relay authorizes upgrade for itself > governin ] `; -exports[`collectives & polkadot > Relay authorizes upgrade for itself > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` -[ - { - "data": { - "checkVersion": true, - "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", - }, - "method": "UpgradeAuthorized", - "section": "system", - }, -] -`; +exports[`collectives & polkadot > Relay authorizes upgrade for itself > to-be-upgraded chain events to confirm authorized upgrade 1`] = `[]`; exports[`collectives & polkadot > collectivesPolkadot teleport DOT to polkadot > balance on from chain 1`] = ` { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 9000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, - "nonce": 1, + "nonce": 0, "providers": 1, "sufficients": 0, } @@ -352,107 +258,19 @@ exports[`collectives & polkadot > collectivesPolkadot teleport DOT to polkadot > "consumers": 0, "data": { "flags": "0x80000000000000000000000000000000", - "free": "(rounded 1000000000000)", + "free": 0, "frozen": 0, "reserved": 0, }, "nonce": 0, - "providers": 1, + "providers": 0, "sufficients": 0, } `; -exports[`collectives & polkadot > collectivesPolkadot teleport DOT to polkadot > from chain ump messages 1`] = ` -[ - { - "v5": [ - { - "receiveTeleportedAsset": [ - { - "fun": { - "fungible": 1000000000000, - }, - "id": { - "interior": { - "here": null, - }, - "parents": 0, - }, - }, - ], - }, - { - "clearOrigin": null, - }, - { - "buyExecution": { - "fees": { - "fun": { - "fungible": 1000000000000, - }, - "id": { - "interior": { - "here": null, - }, - "parents": 0, - }, - }, - "weightLimit": { - "unlimited": null, - }, - }, - }, - { - "depositAsset": { - "assets": { - "wild": { - "allCounted": 1, - }, - }, - "beneficiary": { - "interior": { - "x1": [ - { - "accountId32": { - "id": "0xd17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69", - "network": null, - }, - }, - ], - }, - "parents": 0, - }, - }, - }, - { - "setTopic": "(redacted)", - }, - ], - }, -] -`; +exports[`collectives & polkadot > collectivesPolkadot teleport DOT to polkadot > from chain ump messages 1`] = `[]`; -exports[`collectives & polkadot > collectivesPolkadot teleport DOT to polkadot > to chain ump events 1`] = ` -[ - { - "data": { - "id": "(hash)", - "origin": { - "Ump": { - "Para": "(rounded 1000)", - }, - }, - "success": true, - "weightUsed": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`collectives & polkadot > collectivesPolkadot teleport DOT to polkadot > to chain ump events 1`] = `[]`; exports[`collectives & polkadot > collectivesPolkadot teleport DOT to polkadot > tx events 1`] = ` [ @@ -583,12 +401,12 @@ exports[`collectives & polkadot > polkadot teleport DOT to collectivesPolkadot > { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 9000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, - "nonce": 1, + "nonce": 0, "providers": 1, "sufficients": 0, } @@ -598,8 +416,8 @@ exports[`collectives & polkadot > polkadot teleport DOT to collectivesPolkadot > { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 11000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, @@ -609,41 +427,7 @@ exports[`collectives & polkadot > polkadot teleport DOT to collectivesPolkadot > } `; -exports[`collectives & polkadot > polkadot teleport DOT to collectivesPolkadot > to chain dmp events 1`] = ` -[ - { - "data": { - "count": 1, - }, - "method": "DownwardMessagesReceived", - "section": "parachainSystem", - }, - { - "data": { - "dmqHead": "(hash)", - "weightUsed": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 800000000)", - }, - }, - "method": "DownwardMessagesProcessed", - "section": "parachainSystem", - }, - { - "data": { - "id": "(hash)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`collectives & polkadot > polkadot teleport DOT to collectivesPolkadot > to chain dmp events 1`] = `[]`; exports[`collectives & polkadot > polkadot teleport DOT to collectivesPolkadot > tx events 1`] = ` [ @@ -778,13 +562,6 @@ exports[`collectives & polkadot > polkadot teleport DOT to collectivesPolkadot > exports[`collectives & polkadot > whitelisting a call by fellowship > destination chain events 1`] = ` [ - { - "data": { - "callHash": "0x0101010101010101010101010101010101010101010101010101010101010101", - }, - "method": "CallWhitelisted", - "section": "whitelist", - }, { "data": { "id": "(redacted)", @@ -795,7 +572,7 @@ exports[`collectives & polkadot > whitelisting a call by fellowship > destinatio }, "success": true, "weightUsed": { - "proofSize": "(rounded 4000)", + "proofSize": "(rounded 6000)", "refTime": "(rounded 300000000)", }, }, diff --git a/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap index f68250193..b16079929 100644 --- a/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1pxmULjgf7ZJ4JAFLR2nSBQ9GXmKpo1wswm3qwhQuESad6K", + "multisig": "141JrxgcQdhJoJNRiQFEXxHTchZx9G92LrJc3mVx5g5EHoC2", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "14CrJsMqsbxXx6fXKaGxL6mid3Xf12GioTwVtm1678YVUpqq", + "approving": "13dQtSzmpYxMkrqfRWUs5fsWckhdb9tbJwxAmVyS3TvhrRW3", "callHash": "(hash)", - "multisig": "1pxmULjgf7ZJ4JAFLR2nSBQ9GXmKpo1wswm3qwhQuESad6K", + "multisig": "141JrxgcQdhJoJNRiQFEXxHTchZx9G92LrJc3mVx5g5EHoC2", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "13TmLwbhwpUzxh15y66REbNhpWd4ujvs62ZNoEqzBzmmD6rT", + "multisig": "15HYYS9CjgWiw1MQqn5p6RuBBgb8gU1cifLwtkSFdjNq9jrH", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "13tFo5e511nB1Y37Ffqd77SY6vGGhww3SqdhnivWey8ZFDkN", + "approving": "16avVxoFoQNdGqtrjtPpCMZqQDuEtAcxGKJkvRvoUP3aATTY", "callHash": "(hash)", - "multisig": "13TmLwbhwpUzxh15y66REbNhpWd4ujvs62ZNoEqzBzmmD6rT", + "multisig": "15HYYS9CjgWiw1MQqn5p6RuBBgb8gU1cifLwtkSFdjNq9jrH", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "16SJD1hPdi2RgrCiEXLt7qizCC52QynZ87kEfrCWyQ6aVYGY", + "multisig": "13CPBpbhLVLWLXXr14Vi7Vjs2pRMjFxdYuPMLgTzC7guALzU", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "1593wSAcqW5hSSjHAXXQntXbsrBbh5v7C6wGgeAubUd1R6mZ", + "approving": "133ej1EGC5sPoTogdw6NGrQ6KAn75q8jfiTKH3nexoAJULGS", "callHash": "(hash)", - "multisig": "1mhnmruqfzkCB2fFgvJicha7sD7tdY5Ga1wvgdLAwLXMDC1", + "multisig": "16KiybqKLHqnuwdChFrpMjchcfUXS1ZtKdyuYLq17bfXF7rN", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap index 6350d2afb..9366dedc5 100644 --- a/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1PNckbg48SWNUx5cmTLMPcxGY8mL9zGL9sD7BCcXKzf95x6", + "multisig": "15nZbCKW1B93r1N8ujsbZA1jrGhn98zb7f8NMzt8T9h5LU9H", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "12zwmqfur4YR49CoYDppDjh6UEPaMnN1HmM7fcionKqRk5bT", + "approving": "12eUtnNZ7DazknnqPeHtpXKyEr9R1GBWkQj1Hmdyj4W3DM5f", "callHash": "(hash)", - "multisig": "1PNckbg48SWNUx5cmTLMPcxGY8mL9zGL9sD7BCcXKzf95x6", + "multisig": "15nZbCKW1B93r1N8ujsbZA1jrGhn98zb7f8NMzt8T9h5LU9H", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "16LsnnUbQgzENLwtAetRzLQZftzH1W7qnTSp7SfDYEns9Qrr", + "multisig": "14tcsxxKnj2rcXsE1F6agPetVvbGVHqnisaHfE5g8KPwHCEo", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "12ikWQxPyxKyosnSsY6qgFX14rMVrUSczeJM4xPMykoY79Dr", + "approving": "16WT4XaBMsZkBiGzTjb1t1dGm9EywRAtRB7tM9W4zZuoHrGP", "callHash": "(hash)", - "multisig": "16LsnnUbQgzENLwtAetRzLQZftzH1W7qnTSp7SfDYEns9Qrr", + "multisig": "14tcsxxKnj2rcXsE1F6agPetVvbGVHqnisaHfE5g8KPwHCEo", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15WN71YEbvfpsxGj83LgHEQYMMoRprNJfMeQM78UpRyZQUYN", + "multisig": "15vMkxdHARZaJnKeA56PBj7j418MebVkWXak3z7PDu2umvWH", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`People Polkadot Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "16JC1RXrNjMWB7zFKs6JZzK4J2qStbYXBDDTuHtHz2AA6fk8", + "approving": "15Xo3aia1T3SCVRyfa49Bd3eNxGa4XWD2Te9ugFitFkGGm2K", "callHash": "(hash)", - "multisig": "14eL38XdrGTqQnwP89VJ7pEHZgYiquyZydeYFHyEKJoE8HQT", + "multisig": "13e4kuNjoUpfTitPuqbrgyL9ZgYfvcADFTp7tQ344YudrFWZ", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap index 790fe5e06..61e8f0c2f 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "16cVviSGPQ3pjf1eHtuw9JyNaSSWKyUkvdTnDzPnqvFEshQF", + "multisig": "13PZYzZM6dvRqgfrDE67nXUzBi2sv1AmqezQ7aBEzCLbXc8P", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "17dhMThsPCrjvySeR9oBvkdLU2ipabvTzhJApd2Uf14AYuw", + "approving": "14tFzFa2UQtiBZUnVN1qHHrXLSqD4CQRzRxqqukyDTi19U7y", "callHash": "(hash)", - "multisig": "16cVviSGPQ3pjf1eHtuw9JyNaSSWKyUkvdTnDzPnqvFEshQF", + "multisig": "13PZYzZM6dvRqgfrDE67nXUzBi2sv1AmqezQ7aBEzCLbXc8P", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15LJeVoDRkXCevg6PzPQ7VWihiY1fyHESRiCoHw1ihAhxp1h", + "multisig": "136qwg699MYR6NdD8mE9tiWx5yAKsN4uaFtcHSajrmTX3QLd", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "12Mc8yNK7Z3zsE4vMN9nFvYxxdctpjnwKakeWBbLp3wqAyZK", + "approving": "1L5YnEvJEeyeSK75RWvvj1vDHu2JU4kqYJvR6RygetSAv2H", "callHash": "(hash)", - "multisig": "15LJeVoDRkXCevg6PzPQ7VWihiY1fyHESRiCoHw1ihAhxp1h", + "multisig": "136qwg699MYR6NdD8mE9tiWx5yAKsN4uaFtcHSajrmTX3QLd", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14uVSy2obWgeQrswUdqy6Pwc5b3vpmLZszvxLKGJKVZfAgJe", + "multisig": "13v9C2YDcM6QL4re4gDrwbyK3jwcYgfx3tbHXFR9SLQTscEg", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Multisig with Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "1mKZgnUcWVt4vxbrfYgsuRwmHNRk1W48AssJFHouuq43Q1e", + "approving": "16KLbWU1NjRreBCJf3VHLwE1jePrYjFkyUjS6Uw3vmeDkzfL", "callHash": "(hash)", - "multisig": "12tJYTiZWtswhyB1BVwjVxUhnM4PAw3MayLQhX1YU3sxd7aW", + "multisig": "16WvwmhujF6TYfC6XV3AyrH8vPCKn1M3U7EMPk6MiM2kPfUJ", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap index cc649afac..f1a06142f 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap @@ -401,27 +401,6 @@ exports[`Polkadot Proxy full tests (includes call filtering) > Polkadot Proxy ba ] `; -exports[`Polkadot Proxy full tests (includes call filtering) > Polkadot Proxy base tests > perform proxy call on behalf of delegator > events when Bob transfers funds to Charlie as Alice's proxy 1`] = ` -[ - { - "data": { - "amount": 1000000000000, - "from": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", - "to": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", - }, - "method": "Transfer", - "section": "balances", - }, - { - "data": { - "result": "Ok", - }, - "method": "ProxyExecuted", - "section": "proxy", - }, -] -`; - exports[`Polkadot Proxy full tests (includes call filtering) > Polkadot Proxy base tests > proxy announcement lifecycle test > events when Bob announces a proxy call 1`] = ` [ { diff --git a/packages/polkadot/src/assetHubPolkadot.bridgeHubPolkadot.test.ts b/packages/polkadot/src/assetHubPolkadot.bridgeHubPolkadot.test.ts index ff953328c..523374663 100644 --- a/packages/polkadot/src/assetHubPolkadot.bridgeHubPolkadot.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.bridgeHubPolkadot.test.ts @@ -23,18 +23,22 @@ describe('assetHubPolkadot & bridgeHubPolkadot', async () => { } }) - runXcmPalletHorizontal('bridgeHubPolkadot transfer DOT to assetHubPolkadot', async () => { - return { - fromChain: bridgeHubPolkadotClient, - toChain: assetHubPolkadotClient, - fromBalance: query.balances, - toBalance: query.balances, - toAccount: defaultAccounts.dave, - tx: tx.xcmPallet.limitedTeleportAssets( - bridgeHubDOT, - 1e12, - tx.xcmPallet.parachainV3(1, assetHubPolkadotClient.config.paraId!), - ), - } - }) + runXcmPalletHorizontal( + 'bridgeHubPolkadot transfer DOT to assetHubPolkadot', + async () => { + return { + fromChain: bridgeHubPolkadotClient, + toChain: assetHubPolkadotClient, + fromBalance: query.balances, + toBalance: query.balances, + toAccount: defaultAccounts.dave, + tx: tx.xcmPallet.limitedTeleportAssets( + bridgeHubDOT, + 1e12, + tx.xcmPallet.parachainV3(1, assetHubPolkadotClient.config.paraId!), + ), + } + }, + { skip: true }, + ) }) diff --git a/packages/polkadot/src/assetHubPolkadot.collectivesPolkadot.test.ts b/packages/polkadot/src/assetHubPolkadot.collectivesPolkadot.test.ts index 0ae86bef1..00fc5be98 100644 --- a/packages/polkadot/src/assetHubPolkadot.collectivesPolkadot.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.collectivesPolkadot.test.ts @@ -27,18 +27,22 @@ describe('assetHubPolkadot & collectivesPolkadot', async () => { } }) - runXcmPalletHorizontal('collectivesPolkadot transfer DOT to assetHubPolkadot', async () => { - return { - fromChain: collectivesPolkadotClient, - toChain: assetHubPolkadotClient, - fromBalance: query.balances, - toBalance: query.balances, - toAccount: defaultAccounts.dave, - tx: tx.xcmPallet.limitedTeleportAssets( - collectivesDOT, - 1e12, - tx.xcmPallet.parachainV3(1, assetHubPolkadotClient.config.paraId!), - ), - } - }) + runXcmPalletHorizontal( + 'collectivesPolkadot transfer DOT to assetHubPolkadot', + async () => { + return { + fromChain: collectivesPolkadotClient, + toChain: assetHubPolkadotClient, + fromBalance: query.balances, + toBalance: query.balances, + toAccount: defaultAccounts.dave, + tx: tx.xcmPallet.limitedTeleportAssets( + collectivesDOT, + 1e12, + tx.xcmPallet.parachainV3(1, assetHubPolkadotClient.config.paraId!), + ), + } + }, + { skip: true }, + ) }) diff --git a/packages/polkadot/src/assetHubPolkadot.peoplePolkadot.test.ts b/packages/polkadot/src/assetHubPolkadot.peoplePolkadot.test.ts index 51f984670..287db1fca 100644 --- a/packages/polkadot/src/assetHubPolkadot.peoplePolkadot.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.peoplePolkadot.test.ts @@ -23,18 +23,22 @@ describe('assetHubPolkadot & peoplePolkadot', async () => { } }) - runXcmPalletHorizontal('peoplePolkadot transfer DOT to assetHubPolkadot', async () => { - return { - fromChain: peopleClient, - toChain: assetHubPolkadotClient, - fromBalance: query.balances, - toBalance: query.balances, - toAccount: defaultAccounts.dave, - tx: tx.xcmPallet.limitedTeleportAssets( - peopleDOT, - 1e12, - tx.xcmPallet.parachainV3(1, assetHubPolkadotClient.config.paraId!), - ), - } - }) + runXcmPalletHorizontal( + 'peoplePolkadot transfer DOT to assetHubPolkadot', + async () => { + return { + fromChain: peopleClient, + toChain: assetHubPolkadotClient, + fromBalance: query.balances, + toBalance: query.balances, + toAccount: defaultAccounts.dave, + tx: tx.xcmPallet.limitedTeleportAssets( + peopleDOT, + 1e12, + tx.xcmPallet.parachainV3(1, assetHubPolkadotClient.config.paraId!), + ), + } + }, + { skip: true }, + ) }) From d3cac32dab34cb12b094a3685f78c906b3bed607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Wed, 5 Nov 2025 21:00:01 +0000 Subject: [PATCH 29/40] Update Polkadot network liquidity restriction tests The issue in #8108 has been corrected in all Sys. Parachains in the Polkadot network, so liquidity restriction tests now pass. Also, a `system` test for Polkadot relay has been updated. --- KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env | 22 ++++++++-------- KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env | 22 ++++++++-------- ...ridgeHubPolkadot.accounts.e2e.test.ts.snap | 13 ++++++++++ ...lectivesPolkadot.accounts.e2e.test.ts.snap | 26 +++++++++++++++++++ ...coretimePolkadot.accounts.e2e.test.ts.snap | 26 +++++++++++++++++++ .../peoplePolkadot.accounts.e2e.test.ts.snap | 26 +++++++++++++++++++ .../polkadot.proxy.e2e.test.ts.snap | 21 +++++++++++++++ .../bridgeHubPolkadot.accounts.e2e.test.ts | 1 + .../collectivesPolkadot.accounts.e2e.test.ts | 22 +++++++++------- .../src/coretimePolkadot.accounts.e2e.test.ts | 1 + .../src/peoplePolkadot.accounts.e2e.test.ts | 1 + .../polkadot/src/polkadot.system.e2e.test.ts | 13 +++++----- 12 files changed, 157 insertions(+), 37 deletions(-) diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env index 3ad2020c1..17071af98 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env @@ -1,11 +1,11 @@ -ASSETHUBKUSAMA_BLOCK_NUMBER=11514668 -BASILISK_BLOCK_NUMBER=11847175 -BRIDGEHUBKUSAMA_BLOCK_NUMBER=6893707 -CORETIMEKUSAMA_BLOCK_NUMBER=3834324 -ENCOINTERKUSAMA_BLOCK_NUMBER=11348540 -INTEGRITEEKUSAMA_BLOCK_NUMBER=8853166 -KARURA_BLOCK_NUMBER=10309438 -KUSAMA_BLOCK_NUMBER=30824254 -MOONRIVER_BLOCK_NUMBER=13805282 -PEOPLEKUSAMA_BLOCK_NUMBER=6428267 -SHIDEN_BLOCK_NUMBER=12486180 +ASSETHUBKUSAMA_BLOCK_NUMBER=11525877 +BASILISK_BLOCK_NUMBER=11859369 +BRIDGEHUBKUSAMA_BLOCK_NUMBER=6899336 +CORETIMEKUSAMA_BLOCK_NUMBER=3839908 +ENCOINTERKUSAMA_BLOCK_NUMBER=11358004 +INTEGRITEEKUSAMA_BLOCK_NUMBER=8859023 +KARURA_BLOCK_NUMBER=10314288 +KUSAMA_BLOCK_NUMBER=30836615 +MOONRIVER_BLOCK_NUMBER=13816741 +PEOPLEKUSAMA_BLOCK_NUMBER=6439926 +SHIDEN_BLOCK_NUMBER=12497124 diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env index b386b4c58..f2e679dbf 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env @@ -1,11 +1,11 @@ -ACALA_BLOCK_NUMBER=9798263 -ASSETHUBPOLKADOT_BLOCK_NUMBER=10260495 -ASTAR_BLOCK_NUMBER=10925698 -BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6326365 -COLLECTIVESPOLKADOT_BLOCK_NUMBER=7524276 -CORETIMEPOLKADOT_BLOCK_NUMBER=2935576 -HYDRATION_BLOCK_NUMBER=9943370 -INTEGRITEEPOLKADOT_BLOCK_NUMBER=5641485 -MOONBEAM_BLOCK_NUMBER=13220896 -PEOPLEPOLKADOT_BLOCK_NUMBER=3262804 -POLKADOT_BLOCK_NUMBER=28497114 +ACALA_BLOCK_NUMBER=9804236 +ASSETHUBPOLKADOT_BLOCK_NUMBER=10272063 +ASTAR_BLOCK_NUMBER=10937868 +BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6332179 +COLLECTIVESPOLKADOT_BLOCK_NUMBER=7530046 +CORETIMEPOLKADOT_BLOCK_NUMBER=2941141 +HYDRATION_BLOCK_NUMBER=9955581 +INTEGRITEEPOLKADOT_BLOCK_NUMBER=5645229 +MOONBEAM_BLOCK_NUMBER=13231431 +PEOPLEPOLKADOT_BLOCK_NUMBER=3268505 +POLKADOT_BLOCK_NUMBER=28509562 diff --git a/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.accounts.e2e.test.ts.snap index 1a2b05b9b..acff39204 100644 --- a/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.accounts.e2e.test.ts.snap @@ -154,6 +154,19 @@ exports[`Polkadot Bridge Hub Accounts > \`transfer_all\` > transfer all with kee ] `; +exports[`Polkadot Bridge Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Bridge Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` [ { diff --git a/packages/polkadot/src/__snapshots__/collectivesPolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/collectivesPolkadot.accounts.e2e.test.ts.snap index 3cfbf36a1..01fab7c07 100644 --- a/packages/polkadot/src/__snapshots__/collectivesPolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/collectivesPolkadot.accounts.e2e.test.ts.snap @@ -154,6 +154,19 @@ exports[`Polkadot Collectives Accounts > \`transfer_all\` > transfer all with ke ] `; +exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` [ { @@ -179,6 +192,19 @@ exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction ] `; +exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` [ { diff --git a/packages/polkadot/src/__snapshots__/coretimePolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/coretimePolkadot.accounts.e2e.test.ts.snap index ab23e17f9..b4c1db6f5 100644 --- a/packages/polkadot/src/__snapshots__/coretimePolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/coretimePolkadot.accounts.e2e.test.ts.snap @@ -154,6 +154,19 @@ exports[`Polkadot Coretime Accounts > \`transfer_all\` > transfer all with keepA ] `; +exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` [ { @@ -179,6 +192,19 @@ exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction err ] `; +exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` [ { diff --git a/packages/polkadot/src/__snapshots__/peoplePolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/peoplePolkadot.accounts.e2e.test.ts.snap index f6d73e00a..a1cb12f9e 100644 --- a/packages/polkadot/src/__snapshots__/peoplePolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/peoplePolkadot.accounts.e2e.test.ts.snap @@ -154,6 +154,19 @@ exports[`Polkadot People Chain Accounts > \`transfer_all\` > transfer all with k ] `; +exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` [ { @@ -179,6 +192,19 @@ exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction ] `; +exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` +[ + { + "data": { + "amount": "(rounded 2000000000)", + "who": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + }, + "method": "Reserved", + "section": "balances", + }, +] +`; + exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` [ { diff --git a/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap index f1a06142f..cc649afac 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.proxy.e2e.test.ts.snap @@ -401,6 +401,27 @@ exports[`Polkadot Proxy full tests (includes call filtering) > Polkadot Proxy ba ] `; +exports[`Polkadot Proxy full tests (includes call filtering) > Polkadot Proxy base tests > perform proxy call on behalf of delegator > events when Bob transfers funds to Charlie as Alice's proxy 1`] = ` +[ + { + "data": { + "amount": 1000000000000, + "from": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", + "to": "1TUmpQQUiXWobQcoUMcqxbAuw6PW9KQaKAZe3bjv3fFaWSy", + }, + "method": "Transfer", + "section": "balances", + }, + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Polkadot Proxy full tests (includes call filtering) > Polkadot Proxy base tests > proxy announcement lifecycle test > events when Bob announces a proxy call 1`] = ` [ { diff --git a/packages/polkadot/src/bridgeHubPolkadot.accounts.e2e.test.ts b/packages/polkadot/src/bridgeHubPolkadot.accounts.e2e.test.ts index 6e85af8a4..132a00cfb 100644 --- a/packages/polkadot/src/bridgeHubPolkadot.accounts.e2e.test.ts +++ b/packages/polkadot/src/bridgeHubPolkadot.accounts.e2e.test.ts @@ -9,6 +9,7 @@ const testCfg: TestConfig = { } const accountsCfg = createAccountsConfig({ + expectation: 'success', relayChain: polkadot, }) diff --git a/packages/polkadot/src/collectivesPolkadot.accounts.e2e.test.ts b/packages/polkadot/src/collectivesPolkadot.accounts.e2e.test.ts index 8ce6faefb..0655681c8 100644 --- a/packages/polkadot/src/collectivesPolkadot.accounts.e2e.test.ts +++ b/packages/polkadot/src/collectivesPolkadot.accounts.e2e.test.ts @@ -1,11 +1,15 @@ import { collectivesPolkadot } from '@e2e-test/networks/chains' -import { accountsE2ETests, registerTestTree } from '@e2e-test/shared' +import { accountsE2ETests, createAccountsConfig, registerTestTree, type TestConfig } from '@e2e-test/shared' -registerTestTree( - accountsE2ETests(collectivesPolkadot, { - testSuiteName: 'Polkadot Collectives Accounts', - addressEncoding: 0, - blockProvider: 'Local', - chainEd: 'Normal', - }), -) +const testCfg: TestConfig = { + testSuiteName: 'Polkadot Collectives Accounts', + addressEncoding: 0, + blockProvider: 'Local', + chainEd: 'Normal', +} + +const accountsCfg = createAccountsConfig({ + expectation: 'success', +}) + +registerTestTree(accountsE2ETests(collectivesPolkadot, testCfg, accountsCfg)) diff --git a/packages/polkadot/src/coretimePolkadot.accounts.e2e.test.ts b/packages/polkadot/src/coretimePolkadot.accounts.e2e.test.ts index a826fa1e9..a58e0d594 100644 --- a/packages/polkadot/src/coretimePolkadot.accounts.e2e.test.ts +++ b/packages/polkadot/src/coretimePolkadot.accounts.e2e.test.ts @@ -10,6 +10,7 @@ const testCfg: TestConfig = { } const accountsCfg = createAccountsConfig({ + expectation: 'success', relayChain: polkadot, }) diff --git a/packages/polkadot/src/peoplePolkadot.accounts.e2e.test.ts b/packages/polkadot/src/peoplePolkadot.accounts.e2e.test.ts index 85159bfc2..551f1cb7a 100644 --- a/packages/polkadot/src/peoplePolkadot.accounts.e2e.test.ts +++ b/packages/polkadot/src/peoplePolkadot.accounts.e2e.test.ts @@ -9,6 +9,7 @@ const testCfg: TestConfig = { } const accountsCfg = createAccountsConfig({ + expectation: 'success', relayChain: polkadot, }) diff --git a/packages/polkadot/src/polkadot.system.e2e.test.ts b/packages/polkadot/src/polkadot.system.e2e.test.ts index a7ed937b9..08e8db59f 100644 --- a/packages/polkadot/src/polkadot.system.e2e.test.ts +++ b/packages/polkadot/src/polkadot.system.e2e.test.ts @@ -1,13 +1,14 @@ -import { polkadot } from '@e2e-test/networks/chains' -import { type RelayTestConfig, registerTestTree, systemE2ETests } from '@e2e-test/shared' +import { assetHubPolkadot, polkadot } from '@e2e-test/networks/chains' +import { type ParaTestConfig, registerTestTree, systemE2ETestsViaRemoteScheduler } from '@e2e-test/shared' -const testConfig: RelayTestConfig = { +const testConfigForAssetHub: ParaTestConfig = { testSuiteName: 'Polkadot System', - addressEncoding: 0, - blockProvider: 'Local', + addressEncoding: 2, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', } -registerTestTree(systemE2ETests(polkadot, testConfig)) +registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, polkadot, testConfigForAssetHub)) // TODO: Uncomment Post-AHM on Polkadot From 8e3db5ecbccc715a7c1de29cf65cbff5f8a40828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Wed, 5 Nov 2025 22:06:31 +0000 Subject: [PATCH 30/40] Update Kusama snapshots --- .../assetHubKusama.bounties.e2e.test.ts.snap | 4 +- ...assetHubKusama.governance.e2e.test.ts.snap | 24 ------- ...tHubKusama.multisig.proxy.e2e.test.ts.snap | 18 ++--- ...timeKusama.multisig.proxy.e2e.test.ts.snap | 18 ++--- .../kusama.multisig.proxy.e2e.test.ts.snap | 18 ++--- .../kusama.proxy.e2e.test.ts.snap | 72 +++++++++++++++++++ ...opleKusama.multisig.proxy.e2e.test.ts.snap | 18 ++--- 7 files changed, 110 insertions(+), 62 deletions(-) diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap index 1bb2f4ce6..dff4215bf 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap @@ -456,7 +456,7 @@ exports[`Kusama Asset Hub Bounties > All bounty success tests > Bounty Closure T }, { "data": { - "amount": "(rounded 47000000)", + "amount": "(rounded 45000000)", "from": "(redacted)", "to": "(redacted)", }, @@ -577,7 +577,7 @@ exports[`Kusama Asset Hub Bounties > All bounty success tests > Bounty Closure T }, { "data": { - "amount": "(rounded 16000000)", + "amount": "(rounded 8200000)", "from": "(redacted)", "to": "(redacted)", }, diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.governance.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.governance.e2e.test.ts.snap index 42b1fe68d..4eb9d44bc 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.governance.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.governance.e2e.test.ts.snap @@ -1,29 +1,5 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Kusama Asset Hub Governance > preimage tests > preimage submission, query and removal works > note preimage events 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; - -exports[`Kusama Asset Hub Governance > preimage tests > preimage submission, query and removal works > unnote preimage events 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Cleared", - "section": "preimage", - }, -] -`; - exports[`Kusama Asset Hub Governance > referenda tests > referendum lifecycle test - submission, decision deposit, various voting should all work > cancelling referendum with signed origin 1`] = ` [ { diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap index 3dc261e44..5041ade74 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "HsqMZwoz6VgBp3Jir9EHVXwWxptE4Xh43YBXfGpAgpUTnL3", + "multisig": "HcAjY5pXjBT5w5Sww7TuCmGUfzq8pus4istiUsmcdrA99MK", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "HzfiNBWVbCNvLqRHZmYkv8ScreioX1DdBiDKHE2t5S1M8PD", + "approving": "EwtABbxkWmBv8iWZi8SNvoJpSh1dM7n1aQp6YqqkRWQVQjT", "callHash": "(hash)", - "multisig": "HsqMZwoz6VgBp3Jir9EHVXwWxptE4Xh43YBXfGpAgpUTnL3", + "multisig": "HcAjY5pXjBT5w5Sww7TuCmGUfzq8pus4istiUsmcdrA99MK", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "GLcUoRavLfhAqf61DFeebFWAeCnmwDsTAToF23qw5Sz5Pne", + "multisig": "D6LUxyyhrBRHXzJuw62mNTnEydGLm6WUUNmMDrFxTvddZbe", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "DvhvL8EozX7EGGhKqaUUUnuxaCxdizy8z6pUzHreMVcNeCU", + "approving": "EWvNesS5N98MspX7cr3bWssTv8cQN13h8DPtxQvuKpxbs6s", "callHash": "(hash)", - "multisig": "GLcUoRavLfhAqf61DFeebFWAeCnmwDsTAToF23qw5Sz5Pne", + "multisig": "D6LUxyyhrBRHXzJuw62mNTnEydGLm6WUUNmMDrFxTvddZbe", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "F7kjysKuGW5MLfBqDcxT1Jrf8x8oPmCsQfq3PRsZqbtMm2g", + "multisig": "H48rxGReVas5pT13H4odSdbD2LV8g6cE1AJn3nqJvmsEDnd", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "HxgqXnQwoCVDvPu23qdXA1ABqxC3o92ue1Bvk2U8D2J75gb", + "approving": "HCkUdYR59ojDRKauR42rUCYMENWfPwuAAWtvAtnNfM3nt2s", "callHash": "(hash)", - "multisig": "D1xMyYBGZcXcDNE9CHM2zan5y5MoL41V2A4FvnXZAGDFavS", + "multisig": "GjVEtCRTRsEGpUDg9bCaTEftJAhUrxymbcg1oPLrBAkSJRU", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap index 1ac6d5097..31aa8699f 100644 --- a/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "Ep3vVfKCxtCMQTUpkDUwYoogkTsKdo2stNF2fK9hYKyYczp", + "multisig": "EnXeLmZdiaAPTxcuET7KLnAPd5DTwGUzAj3mgxkh5RBDWRY", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "CoS73aLeviUkoSp3Uwnrtzg8iCVD9cK5xFW4TudfkqAcZY7", + "approving": "FyZmfeYDxoBh5ZUZ21UZAvGjxAtoJWPNsadVDWPzkrt4FE4", "callHash": "(hash)", - "multisig": "Ep3vVfKCxtCMQTUpkDUwYoogkTsKdo2stNF2fK9hYKyYczp", + "multisig": "EnXeLmZdiaAPTxcuET7KLnAPd5DTwGUzAj3mgxkh5RBDWRY", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "GXLmpmrhd8ZHTPCUVVSf5mqbXY52R8QNDyj5KLtBfkUiFZc", + "multisig": "DTsYJ1HV2KvbwnEtU4QQ3c4E59AwnYCgf7yoEcfq3djoP7x", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "Dv1euBcYSm1JhmpSQge3bVSPWpB5Wu24uR9pFLYMtE9KDgy", + "approving": "Cj7HeaTSzmowTZ7mJo4m5hrVMPVdCwM3rPrCoweTHtbugJ9", "callHash": "(hash)", - "multisig": "GXLmpmrhd8ZHTPCUVVSf5mqbXY52R8QNDyj5KLtBfkUiFZc", + "multisig": "DTsYJ1HV2KvbwnEtU4QQ3c4E59AwnYCgf7yoEcfq3djoP7x", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "CtVtFQbcUvTfEHHXwh77GpAHQuMV4HJM2da3rrhrtuMDcCD", + "multisig": "HeL41HMAe3289TaSFAC58pDkPxDcCc8NueD9LhDjLxZygvH", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama Coretime Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "H9BHyk4yd571jMmBJDT2YnDWyQHkqQS3x41nNiBj7mgbCXU", + "approving": "EQpNYRDGvkz6zBtUEt3TBxnubnmrgCWYpAwR8M9ZQvyaukv", "callHash": "(hash)", - "multisig": "EDSL14DF3hTVTTzLf68puAp5CjuhBxaqTyUkmAWomHbiR8R", + "multisig": "HhmbaDttza955UsX6EuzVtcVbkMh5mHBtj8ZGYanSjz1mpw", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap index dd6e504d9..9719708c2 100644 --- a/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "GrXk6MkjG6SZpxGxtk3t6v7gCaDRxYJaggYFrPXgADhfL51", + "multisig": "GozzvuRwqK3Mf55QUnQ5hTAuZDKxNXg7A4HeiR771BoWT2R", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure [ { "data": { - "approving": "FqMrzbiRrHF86sGYu6bj48Y5YdHN9KX74wSVtJpYd355MfR", + "approving": "FKkdc9AsnXXYsRMpSkQ5y4SpiD2EsVoUwNu7CrYEiAPHKLw", "callHash": "(hash)", - "multisig": "GrXk6MkjG6SZpxGxtk3t6v7gCaDRxYJaggYFrPXgADhfL51", + "multisig": "GozzvuRwqK3Mf55QUnQ5hTAuZDKxNXg7A4HeiR771BoWT2R", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "EVVZwFsbXSZDoJW6C8LS9gDAwp3pfyDqz7NBz6X7z3hDjbE", + "multisig": "FS5bRm3kvua3GcSD9SRAEZQHBSgCGVcVt977NqKEZCiz6Ja", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure [ { "data": { - "approving": "GQMpQ4h2NkdGKDv6yZewBtXnB4C5S6uyEkU6mAu3JDzqFuT", + "approving": "JAgBJeKPLHVGPGdphGK7U8pJEntk3qxfve4Noftwkzoefw2", "callHash": "(hash)", - "multisig": "EVVZwFsbXSZDoJW6C8LS9gDAwp3pfyDqz7NBz6X7z3hDjbE", + "multisig": "FS5bRm3kvua3GcSD9SRAEZQHBSgCGVcVt977NqKEZCiz6Ja", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "GZsCB517daRGtBmuWFP2TBgVatQjjvn5Qzgm3vWMREiwAWg", + "multisig": "DaHZyp8iyvRTw1vj5QBcT7iFdAdqKQJztcBgfXP5p3SJ25o", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama Multisig with Proxy > success tests > Cancel 2-of-3 multisig wit [ { "data": { - "approving": "CjXitWN9cnQHFPTkpnCxr99m3JkWzw1v1bVZdSoekxwczg3", + "approving": "FnC3j2gKZNNeQ6SdZLzgxiGL5trKDSoRoC7g5e7qUBQ7gd3", "callHash": "(hash)", - "multisig": "ChsWgRUSD8V8KhAV957VuBhRPMtoFsq3zhJSNLQrNdREJdy", + "multisig": "EX9UAxo1aJh2XYao3zinbHdjrNc9SY8HWNGRPL6CT2WBEWk", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/kusama.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/kusama.proxy.e2e.test.ts.snap index 4809b2337..b75976506 100644 --- a/packages/kusama/src/__snapshots__/kusama.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/kusama.proxy.e2e.test.ts.snap @@ -837,6 +837,42 @@ exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for ] `; +exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call batch_all 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Governance > events for proxy type Governance, pallet utility, call force_batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for NominationPools > events for proxy type NominationPools, pallet utility, call batch 1`] = ` [ { @@ -1069,6 +1105,42 @@ exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for ] `; +exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call batch_all 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + +exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for allowed proxy calls > allowed proxy calls for Staking > events for proxy type Staking, pallet utility, call force_batch 1`] = ` +[ + { + "data": { + "result": "Ok", + }, + "method": "ProxyExecuted", + "section": "proxy", + }, +] +`; + exports[`Kusama Proxy full tests (includes call filtering) > filtering tests for forbidden proxy calls > forbidden proxy calls for Any > events for proxy type Any, pallet auctions, call bid 1`] = ` [ { diff --git a/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap index bd90cc281..41d4b7a38 100644 --- a/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DTXTXL29dQ6ZyKPuHfv5eSamj5RxnMo3pHkgCv19tUWPuA8", + "multisig": "DimeW5rwQGByXz3vENZTk4VnrHC4MtRX3QnLbT5cewuA8cW", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "F1KJp8wJvhH9U9UFYkrizxyvYtkJkL6KU6c6XQt3GUN34jz", + "approving": "E33vQtnbiV8LGWCWxA8LoRsxyoYGXdvVapvXpHYkW46vuZN", "callHash": "(hash)", - "multisig": "DTXTXL29dQ6ZyKPuHfv5eSamj5RxnMo3pHkgCv19tUWPuA8", + "multisig": "DimeW5rwQGByXz3vENZTk4VnrHC4MtRX3QnLbT5cewuA8cW", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "FEkHS6zfH2fx4w4CdX48cHhFn1A4BCG9AP8XXDZHRo5hzwh", + "multisig": "CtQQSxkvMVeVGD4SXA2qDQnZby6WR6gjomGGRgjjuhL2HQW", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "Ce9dcWp8dSQTvMWc7FLLfsiXvsdSxVbZZrV5TJ2zYro3bkR", + "approving": "CqeyPnJH47PR16p7Dkk3gu2hgWPdxC7Zd8N5GT2gqierXBm", "callHash": "(hash)", - "multisig": "FEkHS6zfH2fx4w4CdX48cHhFn1A4BCG9AP8XXDZHRo5hzwh", + "multisig": "CtQQSxkvMVeVGD4SXA2qDQnZby6WR6gjomGGRgjjuhL2HQW", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "Hgy4zD8g5w8Pa5Mdt4WHtMptXJpmtXcXTg7UAPyue1zkGy3", + "multisig": "GSgJhYU4H2xYHVEFi8THp11Wj7Dys4zFsvHRQuaaZWTguvz", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`People Kusama Multisig Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "J3S9PLcN1jwpE1MkduuyX9tj4ACKpckmHc9L9a4qA9oW16h", + "approving": "J2br632gonmsrZoYsTSfdpyNq1LEM4tNEmM5GBMcxLjXPQx", "callHash": "(hash)", - "multisig": "JFY2t1MJGdjRPyA3svmvcbPsRqN6qk7Vugj6Xs7iJck3mde", + "multisig": "D6SrGw5yAy7S7k2Zfuny8wWLq9SiKPBiwy22NwzH5VhWnKi", }, "method": "NewMultisig", "section": "multisig", From 9af1bf600a8f29ac90e6dcdcaa712555718780e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Wed, 5 Nov 2025 22:06:43 +0000 Subject: [PATCH 31/40] Disable Polkadot Coretime -> PAH XCM test --- .../assetHubPolkadot.coretimePolkadot.test.ts | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/packages/polkadot/src/assetHubPolkadot.coretimePolkadot.test.ts b/packages/polkadot/src/assetHubPolkadot.coretimePolkadot.test.ts index 158c65163..5fd065e01 100644 --- a/packages/polkadot/src/assetHubPolkadot.coretimePolkadot.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.coretimePolkadot.test.ts @@ -23,18 +23,22 @@ describe('assetHubPolkadot & coretimePolkadot', async () => { } }) - runXcmPalletHorizontal('coretimePolkadot transfer DOT to assetHubPolkadot', async () => { - return { - fromChain: coretimePolkadotClient, - toChain: assetHubPolkadotClient, - fromBalance: query.balances, - toBalance: query.balances, - toAccount: defaultAccounts.dave, - tx: tx.xcmPallet.limitedTeleportAssets( - coretimeDOT, - 1e12, - tx.xcmPallet.parachainV3(1, assetHubPolkadotClient.config.paraId!), - ), - } - }) + runXcmPalletHorizontal( + 'coretimePolkadot transfer DOT to assetHubPolkadot', + async () => { + return { + fromChain: coretimePolkadotClient, + toChain: assetHubPolkadotClient, + fromBalance: query.balances, + toBalance: query.balances, + toAccount: defaultAccounts.dave, + tx: tx.xcmPallet.limitedTeleportAssets( + coretimeDOT, + 1e12, + tx.xcmPallet.parachainV3(1, assetHubPolkadotClient.config.paraId!), + ), + } + }, + { skip: true }, + ) }) From 8328250fa7fe43a552e2d4a0b52266ac6bcc89b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 6 Nov 2025 02:18:32 +0000 Subject: [PATCH 32/40] Further updates to Polkadot tests In particular, runtime upgrade tests via Collectives have been updated to reflect the new centrality of the AH in this process, where it was formerly the relay through which the process occurred. --- ...assetHubPolkadot.bounties.e2e.test.ts.snap | 2 +- ...bPolkadot.collectivesPolkadot.test.ts.snap | 181 +++++++++++++++++ ...ePolkadot.collectivesPolkadot.test.ts.snap | 181 +++++++++++++++++ ...ubPolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- ...ePolkadot.collectivesPolkadot.test.ts.snap | 181 +++++++++++++++++ ....polkadot.collectivesPolkadot.test.ts.snap | 183 ++++++++++++++++++ .../assetHubPolkadot.staking.e2e.test.ts.snap | 2 - ...ridgeHubPolkadot.accounts.e2e.test.ts.snap | 25 --- .../bridgeHubPolkadot.polkadot.test.ts.snap | 148 ++------------ ...lectivesPolkadot.accounts.e2e.test.ts.snap | 50 ----- ...esPolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- ...coretimePolkadot.accounts.e2e.test.ts.snap | 50 ----- ...mePolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- .../coretimePolkadot.polkadot.test.ts.snap | 148 ++------------ .../peoplePolkadot.accounts.e2e.test.ts.snap | 50 ----- ...lePolkadot.multisig.proxy.e2e.test.ts.snap | 18 +- .../peoplePolkadot.polkadot.test.ts.snap | 148 ++------------ ...bPolkadot.collectivesPolkadot.test.ts.snap | 79 ++------ ...bPolkadot.collectivesPolkadot.test.ts.snap | 79 ++------ ...ePolkadot.collectivesPolkadot.test.ts.snap | 79 ++------ .../polkadot.multisig.proxy.e2e.test.ts.snap | 18 +- ...ePolkadot.collectivesPolkadot.test.ts.snap | 79 ++------ ...dgeHubPolkadot.collectivesPolkadot.test.ts | 17 ++ ...retimePolkadot.collectivesPolkadot.test.ts | 17 ++ ...peoplePolkadot.collectivesPolkadot.test.ts | 17 ++ ...adot.polkadot.collectivesPolkadot.test.ts} | 10 +- .../src/assetHubPolkadot.system.e2e.test.ts | 25 ++- .../src/bridgeHubPolkadot.system.e2e.test.ts | 21 +- .../collectivesPolkadot.system.e2e.test.ts | 18 +- .../src/coretimePolkadot.system.e2e.test.ts | 22 +-- .../src/integritee.assetHubPolkadot.test.ts | 34 ++-- .../src/peoplePolkadot.system.e2e.test.ts | 21 +- ...dgeHubPolkadot.collectivesPolkadot.test.ts | 17 -- ...retimePolkadot.collectivesPolkadot.test.ts | 17 -- ...peoplePolkadot.collectivesPolkadot.test.ts | 17 -- packages/shared/src/upgrade.ts | 6 +- 36 files changed, 988 insertions(+), 1026 deletions(-) create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts.snap create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.coretimePolkadot.collectivesPolkadot.test.ts.snap create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.peoplePolkadot.collectivesPolkadot.test.ts.snap create mode 100644 packages/polkadot/src/__snapshots__/assetHubPolkadot.polkadot.collectivesPolkadot.test.ts.snap create mode 100644 packages/polkadot/src/assetHubPolkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts create mode 100644 packages/polkadot/src/assetHubPolkadot.coretimePolkadot.collectivesPolkadot.test.ts create mode 100644 packages/polkadot/src/assetHubPolkadot.peoplePolkadot.collectivesPolkadot.test.ts rename packages/polkadot/src/{polkadot.assetHubPolkadot.collectivesPolkadot.test.ts => assetHubPolkadot.polkadot.collectivesPolkadot.test.ts} (50%) delete mode 100644 packages/polkadot/src/polkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts delete mode 100644 packages/polkadot/src/polkadot.coretimePolkadot.collectivesPolkadot.test.ts delete mode 100644 packages/polkadot/src/polkadot.peoplePolkadot.collectivesPolkadot.test.ts diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap index d507a5164..4b68b020f 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap @@ -577,7 +577,7 @@ exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure }, { "data": { - "amount": "(rounded 1200000)", + "amount": "(rounded 1000000)", "from": "(redacted)", "to": "(redacted)", }, diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts.snap new file mode 100644 index 000000000..7edd4bcfb --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts.snap @@ -0,0 +1,181 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`asset hub & bridgeHub & collectives > Asset Hub authorizes Bridge Hub upgrade via Collectives > collectives events emitted when sending xcm 1`] = ` +[ + { + "data": { + "destination": { + "interior": { + "X1": [ + { + "Parachain": 1000, + }, + ], + }, + "parents": 1, + }, + "message": [ + { + "UnpaidExecution": { + "checkOrigin": null, + "weightLimit": "Unlimited", + }, + }, + { + "Transact": { + "call": { + "encoded": "0x40005fe91fd0226f96aa51381426e85ce9b72a0e49eefb8bf04e1ae4cf928dd186fd", + }, + "fallbackMaxWeight": { + "proofSize": 10000, + "refTime": 500000000, + }, + "originKind": "Xcm", + }, + }, + ], + "messageId": "(redacted)", + "origin": { + "interior": { + "X1": [ + { + "Plurality": { + "id": "Technical", + "part": "Voice", + }, + }, + ], + }, + "parents": 0, + }, + }, + "method": "Sent", + "section": "polkadotXcm", + }, +] +`; + +exports[`asset hub & bridgeHub & collectives > Asset Hub authorizes Bridge Hub upgrade via Collectives > events after notePreimge 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`asset hub & bridgeHub & collectives > Asset Hub authorizes Bridge Hub upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x03000000", + "index": 64, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`asset hub & bridgeHub & collectives > Asset Hub authorizes Bridge Hub upgrade via Collectives > events when dispatching whitelisted call with bad origin 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`asset hub & bridgeHub & collectives > Asset Hub authorizes Bridge Hub upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` +[ + { + "data": { + "callHash": "0x5fe91fd0226f96aa51381426e85ce9b72a0e49eefb8bf04e1ae4cf928dd186fd", + "result": { + "Ok": { + "actualWeight": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 400000000)", + }, + "paysFee": "Yes", + }, + }, + }, + "method": "WhitelistedCallDispatched", + "section": "whitelist", + }, +] +`; + +exports[`asset hub & bridgeHub & collectives > Asset Hub authorizes Bridge Hub upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` +[ + { + "data": { + "callHash": "0x5fe91fd0226f96aa51381426e85ce9b72a0e49eefb8bf04e1ae4cf928dd186fd", + }, + "method": "CallWhitelisted", + "section": "whitelist", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": "(rounded 1000)", + }, + "success": true, + "weightUsed": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 300000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; + +exports[`asset hub & bridgeHub & collectives > Asset Hub authorizes Bridge Hub upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` +[ + { + "data": { + "checkVersion": true, + "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", + }, + "method": "UpgradeAuthorized", + "section": "system", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": 1000, + }, + "success": true, + "weightUsed": { + "proofSize": 0, + "refTime": "(rounded 100000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.coretimePolkadot.collectivesPolkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.coretimePolkadot.collectivesPolkadot.test.ts.snap new file mode 100644 index 000000000..648cea510 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.coretimePolkadot.collectivesPolkadot.test.ts.snap @@ -0,0 +1,181 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`asset hub & coretime & collectives > Asset Hub authorizes Coretime upgrade via Collectives > collectives events emitted when sending xcm 1`] = ` +[ + { + "data": { + "destination": { + "interior": { + "X1": [ + { + "Parachain": 1000, + }, + ], + }, + "parents": 1, + }, + "message": [ + { + "UnpaidExecution": { + "checkOrigin": null, + "weightLimit": "Unlimited", + }, + }, + { + "Transact": { + "call": { + "encoded": "0x400020883d25f1db1e4a6789b18726a0e94c8a8824c7f329d010633c5d8ad9a1a730", + }, + "fallbackMaxWeight": { + "proofSize": 10000, + "refTime": 500000000, + }, + "originKind": "Xcm", + }, + }, + ], + "messageId": "(redacted)", + "origin": { + "interior": { + "X1": [ + { + "Plurality": { + "id": "Technical", + "part": "Voice", + }, + }, + ], + }, + "parents": 0, + }, + }, + "method": "Sent", + "section": "polkadotXcm", + }, +] +`; + +exports[`asset hub & coretime & collectives > Asset Hub authorizes Coretime upgrade via Collectives > events after notePreimge 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`asset hub & coretime & collectives > Asset Hub authorizes Coretime upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x03000000", + "index": 64, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`asset hub & coretime & collectives > Asset Hub authorizes Coretime upgrade via Collectives > events when dispatching whitelisted call with bad origin 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`asset hub & coretime & collectives > Asset Hub authorizes Coretime upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` +[ + { + "data": { + "callHash": "0x20883d25f1db1e4a6789b18726a0e94c8a8824c7f329d010633c5d8ad9a1a730", + "result": { + "Ok": { + "actualWeight": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 400000000)", + }, + "paysFee": "Yes", + }, + }, + }, + "method": "WhitelistedCallDispatched", + "section": "whitelist", + }, +] +`; + +exports[`asset hub & coretime & collectives > Asset Hub authorizes Coretime upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` +[ + { + "data": { + "callHash": "0x20883d25f1db1e4a6789b18726a0e94c8a8824c7f329d010633c5d8ad9a1a730", + }, + "method": "CallWhitelisted", + "section": "whitelist", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": "(rounded 1000)", + }, + "success": true, + "weightUsed": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 300000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; + +exports[`asset hub & coretime & collectives > Asset Hub authorizes Coretime upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` +[ + { + "data": { + "checkVersion": true, + "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", + }, + "method": "UpgradeAuthorized", + "section": "system", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": 1000, + }, + "success": true, + "weightUsed": { + "proofSize": 0, + "refTime": "(rounded 100000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap index 1da6f75c8..bf8fe2500 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "13DEdjYzfU1rD62BmN4BrKEaumwGKTFSgsY4JSGN5oGqZqf7", + "multisig": "15N29nUeZSSiGb784vk2w11rHydpG5kUbUbyPJ1qFYn5mMLB", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "13bj9hov1Lqk8B74GrMQs8MbdGSHATEFJppRxGnP9nAJsDYw", + "approving": "1wgYFdjeVdpFGEStPLCa9doa8CAUpg3VgX39wamP8C37Buv", "callHash": "(hash)", - "multisig": "13DEdjYzfU1rD62BmN4BrKEaumwGKTFSgsY4JSGN5oGqZqf7", + "multisig": "15N29nUeZSSiGb784vk2w11rHydpG5kUbUbyPJ1qFYn5mMLB", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1Mm8r92Rak9Fa4HNpeYmuDd8anx4Nw7MrUuFtPDzYME6Ezf", + "multisig": "14DcToZT6KQUD2hLxoAGPQ529oSkimMMAirvrBn5hQVdND8i", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "16QKMEBq9fHJ4WWdxRn3KuQXioDx1TbhrwtuwojpC4nEBUP1", + "approving": "1e2HDzqfgsPUKveANrp1MgYtBvgwv6THoxThKZ1H8QtomMe", "callHash": "(hash)", - "multisig": "1Mm8r92Rak9Fa4HNpeYmuDd8anx4Nw7MrUuFtPDzYME6Ezf", + "multisig": "14DcToZT6KQUD2hLxoAGPQ529oSkimMMAirvrBn5hQVdND8i", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12u3rdwdDS8kV4R39q4s9mhDXyeTxtzkADw3DwV8HnSv6fKr", + "multisig": "1siUwy7MvGtLgaRuZBpKUhA6Ncn1M7uRtvGLu2zcKo2sqkk", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "12soX4ko4iGcH4xhYrwY2hdePJZgZTakknBSRH4xM3Lx3pzw", + "approving": "1u25AfzWnPPhggSotF8KqBqa5c11fQqX4DKQYYpcecQa2tM", "callHash": "(hash)", - "multisig": "1keFAtaVvhW4UTVVku2wT97er9teGiiLnAUxMzpw6uMCWmn", + "multisig": "13G1sUGhNnCWuzj2CUzStezPCovZaKZ3VEyxW31grcLF4usC", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.peoplePolkadot.collectivesPolkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.peoplePolkadot.collectivesPolkadot.test.ts.snap new file mode 100644 index 000000000..525e46151 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.peoplePolkadot.collectivesPolkadot.test.ts.snap @@ -0,0 +1,181 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`asset hub & people & collectives > Asset Hub authorizes People upgrade via Collectives > collectives events emitted when sending xcm 1`] = ` +[ + { + "data": { + "destination": { + "interior": { + "X1": [ + { + "Parachain": 1000, + }, + ], + }, + "parents": 1, + }, + "message": [ + { + "UnpaidExecution": { + "checkOrigin": null, + "weightLimit": "Unlimited", + }, + }, + { + "Transact": { + "call": { + "encoded": "0x40002172908cd3bec3912f6ff6a7b361d2243fdfddb22bd5968103efb21370f28ccf", + }, + "fallbackMaxWeight": { + "proofSize": 10000, + "refTime": 500000000, + }, + "originKind": "Xcm", + }, + }, + ], + "messageId": "(redacted)", + "origin": { + "interior": { + "X1": [ + { + "Plurality": { + "id": "Technical", + "part": "Voice", + }, + }, + ], + }, + "parents": 0, + }, + }, + "method": "Sent", + "section": "polkadotXcm", + }, +] +`; + +exports[`asset hub & people & collectives > Asset Hub authorizes People upgrade via Collectives > events after notePreimge 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`asset hub & people & collectives > Asset Hub authorizes People upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x03000000", + "index": 64, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`asset hub & people & collectives > Asset Hub authorizes People upgrade via Collectives > events when dispatching whitelisted call with bad origin 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`asset hub & people & collectives > Asset Hub authorizes People upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` +[ + { + "data": { + "callHash": "0x2172908cd3bec3912f6ff6a7b361d2243fdfddb22bd5968103efb21370f28ccf", + "result": { + "Ok": { + "actualWeight": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 400000000)", + }, + "paysFee": "Yes", + }, + }, + }, + "method": "WhitelistedCallDispatched", + "section": "whitelist", + }, +] +`; + +exports[`asset hub & people & collectives > Asset Hub authorizes People upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` +[ + { + "data": { + "callHash": "0x2172908cd3bec3912f6ff6a7b361d2243fdfddb22bd5968103efb21370f28ccf", + }, + "method": "CallWhitelisted", + "section": "whitelist", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": "(rounded 1000)", + }, + "success": true, + "weightUsed": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 300000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; + +exports[`asset hub & people & collectives > Asset Hub authorizes People upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` +[ + { + "data": { + "checkVersion": true, + "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", + }, + "method": "UpgradeAuthorized", + "section": "system", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": 1000, + }, + "success": true, + "weightUsed": { + "proofSize": 0, + "refTime": "(rounded 100000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.polkadot.collectivesPolkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.polkadot.collectivesPolkadot.test.ts.snap new file mode 100644 index 000000000..70f654067 --- /dev/null +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.polkadot.collectivesPolkadot.test.ts.snap @@ -0,0 +1,183 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`asset hub & polkadot & collectives > Asset Hub authorizes Polkadot upgrade via Collectives > collectives events emitted when sending xcm 1`] = ` +[ + { + "data": { + "destination": { + "interior": { + "X1": [ + { + "Parachain": 1000, + }, + ], + }, + "parents": 1, + }, + "message": [ + { + "UnpaidExecution": { + "checkOrigin": null, + "weightLimit": "Unlimited", + }, + }, + { + "Transact": { + "call": { + "encoded": "0x4000e61d6ed952bf8af2eee37a3e20e0d9b705d08c30b6c6be8c0ef86877ec4650bf", + }, + "fallbackMaxWeight": { + "proofSize": 10000, + "refTime": 500000000, + }, + "originKind": "Xcm", + }, + }, + ], + "messageId": "(redacted)", + "origin": { + "interior": { + "X1": [ + { + "Plurality": { + "id": "Technical", + "part": "Voice", + }, + }, + ], + }, + "parents": 0, + }, + }, + "method": "Sent", + "section": "polkadotXcm", + }, +] +`; + +exports[`asset hub & polkadot & collectives > Asset Hub authorizes Polkadot upgrade via Collectives > events after notePreimge 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`asset hub & polkadot & collectives > Asset Hub authorizes Polkadot upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x03000000", + "index": 64, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`asset hub & polkadot & collectives > Asset Hub authorizes Polkadot upgrade via Collectives > events when dispatching whitelisted call with bad origin 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`asset hub & polkadot & collectives > Asset Hub authorizes Polkadot upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` +[ + { + "data": { + "callHash": "0xe61d6ed952bf8af2eee37a3e20e0d9b705d08c30b6c6be8c0ef86877ec4650bf", + "result": { + "Ok": { + "actualWeight": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 400000000)", + }, + "paysFee": "Yes", + }, + }, + }, + "method": "WhitelistedCallDispatched", + "section": "whitelist", + }, +] +`; + +exports[`asset hub & polkadot & collectives > Asset Hub authorizes Polkadot upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` +[ + { + "data": { + "callHash": "0xe61d6ed952bf8af2eee37a3e20e0d9b705d08c30b6c6be8c0ef86877ec4650bf", + }, + "method": "CallWhitelisted", + "section": "whitelist", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": "(rounded 1000)", + }, + "success": true, + "weightUsed": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 300000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; + +exports[`asset hub & polkadot & collectives > Asset Hub authorizes Polkadot upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` +[ + { + "data": { + "checkVersion": true, + "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", + }, + "method": "UpgradeAuthorized", + "section": "system", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Ump": { + "Para": 1000, + }, + }, + "success": true, + "weightUsed": { + "proofSize": "(rounded 3000)", + "refTime": "(rounded 100000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap index 8b00a3bf2..b4da9a1c4 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.staking.e2e.test.ts.snap @@ -527,8 +527,6 @@ exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > n exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > unbond events 1`] = `[]`; -exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > unbond events 2`] = `[]`; - exports[`Polkadot Asset Hub Staking > base staking tests > staking lifecycle > validate (blocked) events 1`] = ` [ { diff --git a/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.accounts.e2e.test.ts.snap index acff39204..264b28477 100644 --- a/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.accounts.e2e.test.ts.snap @@ -167,31 +167,6 @@ exports[`Polkadot Bridge Hub Accounts > currency tests > liquidity restriction e ] `; -exports[`Polkadot Bridge Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 900000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - exports[`Polkadot Bridge Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: deposit=proxy addition"`; exports[`Polkadot Bridge Hub Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: deposit=referendum submission"`; diff --git a/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.polkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.polkadot.test.ts.snap index 0f5c6fa0a..fec4850ae 100644 --- a/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.polkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/bridgeHubPolkadot.polkadot.test.ts.snap @@ -4,12 +4,12 @@ exports[`polkadot & bridgeHubPolkadot > bridgeHubPolkadot transfer DOT to polkad { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 9000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, - "nonce": 1, + "nonce": 0, "providers": 1, "sufficients": 0, } @@ -20,107 +20,19 @@ exports[`polkadot & bridgeHubPolkadot > bridgeHubPolkadot transfer DOT to polkad "consumers": 0, "data": { "flags": "0x80000000000000000000000000000000", - "free": "(rounded 1000000000000)", + "free": 0, "frozen": 0, "reserved": 0, }, "nonce": 0, - "providers": 1, + "providers": 0, "sufficients": 0, } `; -exports[`polkadot & bridgeHubPolkadot > bridgeHubPolkadot transfer DOT to polkadot > from chain ump messages 1`] = ` -[ - { - "v5": [ - { - "receiveTeleportedAsset": [ - { - "fun": { - "fungible": 1000000000000, - }, - "id": { - "interior": { - "here": null, - }, - "parents": 0, - }, - }, - ], - }, - { - "clearOrigin": null, - }, - { - "buyExecution": { - "fees": { - "fun": { - "fungible": 1000000000000, - }, - "id": { - "interior": { - "here": null, - }, - "parents": 0, - }, - }, - "weightLimit": { - "unlimited": null, - }, - }, - }, - { - "depositAsset": { - "assets": { - "wild": { - "allCounted": 1, - }, - }, - "beneficiary": { - "interior": { - "x1": [ - { - "accountId32": { - "id": "0x5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9", - "network": null, - }, - }, - ], - }, - "parents": 0, - }, - }, - }, - { - "setTopic": "(redacted)", - }, - ], - }, -] -`; +exports[`polkadot & bridgeHubPolkadot > bridgeHubPolkadot transfer DOT to polkadot > from chain ump messages 1`] = `[]`; -exports[`polkadot & bridgeHubPolkadot > bridgeHubPolkadot transfer DOT to polkadot > to chain ump events 1`] = ` -[ - { - "data": { - "id": "(hash)", - "origin": { - "Ump": { - "Para": "(rounded 1000)", - }, - }, - "success": true, - "weightUsed": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & bridgeHubPolkadot > bridgeHubPolkadot transfer DOT to polkadot > to chain ump events 1`] = `[]`; exports[`polkadot & bridgeHubPolkadot > bridgeHubPolkadot transfer DOT to polkadot > tx events 1`] = ` [ @@ -251,12 +163,12 @@ exports[`polkadot & bridgeHubPolkadot > polkadot transfer DOT to bridgeHubPolkad { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 9000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, - "nonce": 1, + "nonce": 0, "providers": 1, "sufficients": 0, } @@ -267,51 +179,17 @@ exports[`polkadot & bridgeHubPolkadot > polkadot transfer DOT to bridgeHubPolkad "consumers": 0, "data": { "flags": "0x80000000000000000000000000000000", - "free": "(rounded 1000000000000)", + "free": 0, "frozen": 0, "reserved": 0, }, "nonce": 0, - "providers": 1, + "providers": 0, "sufficients": 0, } `; -exports[`polkadot & bridgeHubPolkadot > polkadot transfer DOT to bridgeHubPolkadot > to chain dmp events 1`] = ` -[ - { - "data": { - "count": 1, - }, - "method": "DownwardMessagesReceived", - "section": "parachainSystem", - }, - { - "data": { - "dmqHead": "(hash)", - "weightUsed": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 900000000)", - }, - }, - "method": "DownwardMessagesProcessed", - "section": "parachainSystem", - }, - { - "data": { - "id": "(hash)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & bridgeHubPolkadot > polkadot transfer DOT to bridgeHubPolkadot > to chain dmp events 1`] = `[]`; exports[`polkadot & bridgeHubPolkadot > polkadot transfer DOT to bridgeHubPolkadot > tx events 1`] = ` [ diff --git a/packages/polkadot/src/__snapshots__/collectivesPolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/collectivesPolkadot.accounts.e2e.test.ts.snap index 01fab7c07..0b7f05893 100644 --- a/packages/polkadot/src/__snapshots__/collectivesPolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/collectivesPolkadot.accounts.e2e.test.ts.snap @@ -167,31 +167,6 @@ exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction ] `; -exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 900000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` [ { @@ -205,31 +180,6 @@ exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction ] `; -exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: deposit=referendum submission"`; exports[`Polkadot Collectives Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and vested transfer, triggered via multisig creation > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: lock=vested transfer"`; diff --git a/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap index 8cdb816c5..9dbd15fd6 100644 --- a/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1FvNagLrxXbhzjnnJD3NBHVyVkj8ru8tjykVy1qFoFprgA1", + "multisig": "15WWJKKMR736npAuvAzXDC755EVxaHpWhwMxHXKhcV1YaNPx", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w [ { "data": { - "approving": "15U6YmWxj7xXALJMBCAkbERzvCXwfMwwwnwuaX295ZCAWyBW", + "approving": "1NzfySEZxhDz12VYVwW6chkWTMSip9LMs6M2UD3vwX4KezT", "callHash": "(hash)", - "multisig": "1FvNagLrxXbhzjnnJD3NBHVyVkj8ru8tjykVy1qFoFprgA1", + "multisig": "15WWJKKMR736npAuvAzXDC755EVxaHpWhwMxHXKhcV1YaNPx", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14NvXxTNWzCJtX9EpxQ7HwucdR36eASVDXF1qXbEuFQE2iNX", + "multisig": "14nDq3SZYPAcxcXAK98JfJMcWjrPJr1VTkKXLoEE7KgR55YE", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w [ { "data": { - "approving": "15FvcnDvrSkabwQ1xCfcoqYoVdyodsURyyNGZzWHdKr2gefh", + "approving": "16gjK3hvmPmF4QwXv5MAno1rwy43nBryDfLdVFLYMBBuajru", "callHash": "(hash)", - "multisig": "14NvXxTNWzCJtX9EpxQ7HwucdR36eASVDXF1qXbEuFQE2iNX", + "multisig": "14nDq3SZYPAcxcXAK98JfJMcWjrPJr1VTkKXLoEE7KgR55YE", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12n5Kv6ZF1zH8qvEm4pysFqGtV1xZN3X23CnrK4evwwed2qh", + "multisig": "14osvZAiZ9su6NA88R39hSvUkqZEYBj9XWq4W6rtwed5HRnZ", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > Cancel 2-of-3 mul [ { "data": { - "approving": "15yh2tmoX3zrjjsAiByQrRbpFePp8jErAkHHB7cbAPaCZ93j", + "approving": "15nS3nQjKqA9u9pa6cyRvBPyLpaXYxPXREVgCUVTzCrJEhjN", "callHash": "(hash)", - "multisig": "122B7tnUPYTCVfcYBGkiyMaK7qzP9151VipgsTaHRtRzhjoc", + "multisig": "15XsWuGkEvtAx6jdQiavJ17B5rvppf657qnAvDLjELd5MWcD", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/coretimePolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/coretimePolkadot.accounts.e2e.test.ts.snap index b4c1db6f5..793462b5f 100644 --- a/packages/polkadot/src/__snapshots__/coretimePolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/coretimePolkadot.accounts.e2e.test.ts.snap @@ -167,31 +167,6 @@ exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction err ] `; -exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 900000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` [ { @@ -205,31 +180,6 @@ exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction err ] `; -exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 700000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: deposit=referendum submission"`; exports[`Polkadot Coretime Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and vested transfer, triggered via multisig creation > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: lock=vested transfer"`; diff --git a/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap index b16079929..d18b7ca1c 100644 --- a/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "141JrxgcQdhJoJNRiQFEXxHTchZx9G92LrJc3mVx5g5EHoC2", + "multisig": "16CJmKAtaYK7eQky2t4VLxcSUecchEavw6X4c3iGCXtxQpZg", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "13dQtSzmpYxMkrqfRWUs5fsWckhdb9tbJwxAmVyS3TvhrRW3", + "approving": "149EgyaW1qmXGagDMLPB38AzTJSfjuZpwLUYymgX7WxcwDUT", "callHash": "(hash)", - "multisig": "141JrxgcQdhJoJNRiQFEXxHTchZx9G92LrJc3mVx5g5EHoC2", + "multisig": "16CJmKAtaYK7eQky2t4VLxcSUecchEavw6X4c3iGCXtxQpZg", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15HYYS9CjgWiw1MQqn5p6RuBBgb8gU1cifLwtkSFdjNq9jrH", + "multisig": "16egysi17wLyemGyd61HgRUSipHN1puoTHFEsU4MqXUeL9eM", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "16avVxoFoQNdGqtrjtPpCMZqQDuEtAcxGKJkvRvoUP3aATTY", + "approving": "152ehfHaiQ5ZSxE6wdwPTb2hc5EW84vM11Mcair3e9xtM6DJ", "callHash": "(hash)", - "multisig": "15HYYS9CjgWiw1MQqn5p6RuBBgb8gU1cifLwtkSFdjNq9jrH", + "multisig": "16egysi17wLyemGyd61HgRUSipHN1puoTHFEsU4MqXUeL9eM", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "13CPBpbhLVLWLXXr14Vi7Vjs2pRMjFxdYuPMLgTzC7guALzU", + "multisig": "14TEko61bzuSCsMtYzSJCbsHpKGrZYVdb2cB4QiVSJsL3iyM", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "133ej1EGC5sPoTogdw6NGrQ6KAn75q8jfiTKH3nexoAJULGS", + "approving": "13Bfr3tLyKxxgtA5Let3BKz5SuiU9gb46nmf4U3LfXv6Ynpx", "callHash": "(hash)", - "multisig": "16KiybqKLHqnuwdChFrpMjchcfUXS1ZtKdyuYLq17bfXF7rN", + "multisig": "12TdCV3uGEJByhHJjCNedwLhJL3AM6eWF922A1ZmuW7TBbMA", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/coretimePolkadot.polkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/coretimePolkadot.polkadot.test.ts.snap index 42df56c72..7a8f96af6 100644 --- a/packages/polkadot/src/__snapshots__/coretimePolkadot.polkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/coretimePolkadot.polkadot.test.ts.snap @@ -4,12 +4,12 @@ exports[`polkadot & coretimePolkadot > coretimePolkadot transfer DOT to polkadot { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 9000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, - "nonce": 1, + "nonce": 0, "providers": 1, "sufficients": 0, } @@ -20,107 +20,19 @@ exports[`polkadot & coretimePolkadot > coretimePolkadot transfer DOT to polkadot "consumers": 0, "data": { "flags": "0x80000000000000000000000000000000", - "free": "(rounded 1000000000000)", + "free": 0, "frozen": 0, "reserved": 0, }, "nonce": 0, - "providers": 1, + "providers": 0, "sufficients": 0, } `; -exports[`polkadot & coretimePolkadot > coretimePolkadot transfer DOT to polkadot > from chain ump messages 1`] = ` -[ - { - "v5": [ - { - "receiveTeleportedAsset": [ - { - "fun": { - "fungible": 1000000000000, - }, - "id": { - "interior": { - "here": null, - }, - "parents": 0, - }, - }, - ], - }, - { - "clearOrigin": null, - }, - { - "buyExecution": { - "fees": { - "fun": { - "fungible": 1000000000000, - }, - "id": { - "interior": { - "here": null, - }, - "parents": 0, - }, - }, - "weightLimit": { - "unlimited": null, - }, - }, - }, - { - "depositAsset": { - "assets": { - "wild": { - "allCounted": 1, - }, - }, - "beneficiary": { - "interior": { - "x1": [ - { - "accountId32": { - "id": "0xd17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69", - "network": null, - }, - }, - ], - }, - "parents": 0, - }, - }, - }, - { - "setTopic": "(redacted)", - }, - ], - }, -] -`; +exports[`polkadot & coretimePolkadot > coretimePolkadot transfer DOT to polkadot > from chain ump messages 1`] = `[]`; -exports[`polkadot & coretimePolkadot > coretimePolkadot transfer DOT to polkadot > to chain ump events 1`] = ` -[ - { - "data": { - "id": "(hash)", - "origin": { - "Ump": { - "Para": "(rounded 1000)", - }, - }, - "success": true, - "weightUsed": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & coretimePolkadot > coretimePolkadot transfer DOT to polkadot > to chain ump events 1`] = `[]`; exports[`polkadot & coretimePolkadot > coretimePolkadot transfer DOT to polkadot > tx events 1`] = ` [ @@ -251,12 +163,12 @@ exports[`polkadot & coretimePolkadot > polkadot transfer DOT to coretimePolkadot { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 9000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, - "nonce": 1, + "nonce": 0, "providers": 1, "sufficients": 0, } @@ -267,51 +179,17 @@ exports[`polkadot & coretimePolkadot > polkadot transfer DOT to coretimePolkadot "consumers": 0, "data": { "flags": "0x80000000000000000000000000000000", - "free": "(rounded 1000000000000)", + "free": 0, "frozen": 0, "reserved": 0, }, "nonce": 0, - "providers": 1, + "providers": 0, "sufficients": 0, } `; -exports[`polkadot & coretimePolkadot > polkadot transfer DOT to coretimePolkadot > to chain dmp events 1`] = ` -[ - { - "data": { - "count": 1, - }, - "method": "DownwardMessagesReceived", - "section": "parachainSystem", - }, - { - "data": { - "dmqHead": "(hash)", - "weightUsed": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 800000000)", - }, - }, - "method": "DownwardMessagesProcessed", - "section": "parachainSystem", - }, - { - "data": { - "id": "(hash)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & coretimePolkadot > polkadot transfer DOT to coretimePolkadot > to chain dmp events 1`] = `[]`; exports[`polkadot & coretimePolkadot > polkadot transfer DOT to coretimePolkadot > tx events 1`] = ` [ diff --git a/packages/polkadot/src/__snapshots__/peoplePolkadot.accounts.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/peoplePolkadot.accounts.e2e.test.ts.snap index a1cb12f9e..ca4b57fa2 100644 --- a/packages/polkadot/src/__snapshots__/peoplePolkadot.accounts.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/peoplePolkadot.accounts.e2e.test.ts.snap @@ -167,31 +167,6 @@ exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction ] `; -exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via multisig creation > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 20000)", - "refTime": "(rounded 900000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > deposit action success events 1`] = ` [ { @@ -205,31 +180,6 @@ exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction ] `; -exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via proxy addition > liquidity restricted action events 1`] = ` -[ - { - "data": { - "dispatchError": { - "Module": { - "error": "0x01000000", - "index": 10, - }, - }, - "dispatchInfo": { - "class": "Normal", - "paysFee": "Yes", - "weight": { - "proofSize": "(rounded 10000)", - "refTime": "(rounded 800000000)", - }, - }, - }, - "method": "ExtrinsicFailed", - "section": "system", - }, -] -`; - exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and manual lock, triggered via referendum submission > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: deposit=referendum submission"`; exports[`Polkadot People Chain Accounts > currency tests > liquidity restriction error: funds locked via manual reserve and vested transfer, triggered via multisig creation > liquidity restriction test skipped 1`] = `"Skipping test - required pallets not available: lock=vested transfer"`; diff --git a/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap index 9366dedc5..de13674f4 100644 --- a/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15nZbCKW1B93r1N8ujsbZA1jrGhn98zb7f8NMzt8T9h5LU9H", + "multisig": "13WVKkNyn3tweWh7Ea2D4ewz1wcKqY8EXG5ksDxZKQqMfstW", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "12eUtnNZ7DazknnqPeHtpXKyEr9R1GBWkQj1Hmdyj4W3DM5f", + "approving": "16VQgG5Qx8rQnZeXVunn4t99FZ76ohohqjdPEeqqAzJxc9fm", "callHash": "(hash)", - "multisig": "15nZbCKW1B93r1N8ujsbZA1jrGhn98zb7f8NMzt8T9h5LU9H", + "multisig": "13WVKkNyn3tweWh7Ea2D4ewz1wcKqY8EXG5ksDxZKQqMfstW", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14tcsxxKnj2rcXsE1F6agPetVvbGVHqnisaHfE5g8KPwHCEo", + "multisig": "12QhUKnt4tQB2xkm8v8QXAmnNomdFzeMnmZPDf2vXRSzDbGC", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "16WT4XaBMsZkBiGzTjb1t1dGm9EywRAtRB7tM9W4zZuoHrGP", + "approving": "12HjnbFpphrLgyyR5VR7zagVz7SEZyF22uMTVyVbwF6dk3Wv", "callHash": "(hash)", - "multisig": "14tcsxxKnj2rcXsE1F6agPetVvbGVHqnisaHfE5g8KPwHCEo", + "multisig": "12QhUKnt4tQB2xkm8v8QXAmnNomdFzeMnmZPDf2vXRSzDbGC", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15vMkxdHARZaJnKeA56PBj7j418MebVkWXak3z7PDu2umvWH", + "multisig": "15sXj6MJq9SXudrMYbuGMZ5xdfBSKAMGu82pRpbs5AvkFiEb", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`People Polkadot Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "15Xo3aia1T3SCVRyfa49Bd3eNxGa4XWD2Te9ugFitFkGGm2K", + "approving": "13Hjt3R93TprkYG23TzdrQZYJX1uLJTthNP6CYRCpPuuB3nJ", "callHash": "(hash)", - "multisig": "13e4kuNjoUpfTitPuqbrgyL9ZgYfvcADFTp7tQ344YudrFWZ", + "multisig": "15SYcbSUKoj5qc4xyGyST14fQbhaTCiDC36DtzxW1EkefBaL", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/peoplePolkadot.polkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/peoplePolkadot.polkadot.test.ts.snap index e62a7140a..9a93a4a32 100644 --- a/packages/polkadot/src/__snapshots__/peoplePolkadot.polkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/peoplePolkadot.polkadot.test.ts.snap @@ -4,12 +4,12 @@ exports[`polkadot & peoplePolkadot > peoplePolkadot transfer DOT to polkadot > b { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 9000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, - "nonce": 1, + "nonce": 0, "providers": 1, "sufficients": 0, } @@ -20,107 +20,19 @@ exports[`polkadot & peoplePolkadot > peoplePolkadot transfer DOT to polkadot > b "consumers": 0, "data": { "flags": "0x80000000000000000000000000000000", - "free": "(rounded 1000000000000)", + "free": 0, "frozen": 0, "reserved": 0, }, "nonce": 0, - "providers": 1, + "providers": 0, "sufficients": 0, } `; -exports[`polkadot & peoplePolkadot > peoplePolkadot transfer DOT to polkadot > from chain ump messages 1`] = ` -[ - { - "v5": [ - { - "receiveTeleportedAsset": [ - { - "fun": { - "fungible": 1000000000000, - }, - "id": { - "interior": { - "here": null, - }, - "parents": 0, - }, - }, - ], - }, - { - "clearOrigin": null, - }, - { - "buyExecution": { - "fees": { - "fun": { - "fungible": 1000000000000, - }, - "id": { - "interior": { - "here": null, - }, - "parents": 0, - }, - }, - "weightLimit": { - "unlimited": null, - }, - }, - }, - { - "depositAsset": { - "assets": { - "wild": { - "allCounted": 1, - }, - }, - "beneficiary": { - "interior": { - "x1": [ - { - "accountId32": { - "id": "0x5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9", - "network": null, - }, - }, - ], - }, - "parents": 0, - }, - }, - }, - { - "setTopic": "(redacted)", - }, - ], - }, -] -`; +exports[`polkadot & peoplePolkadot > peoplePolkadot transfer DOT to polkadot > from chain ump messages 1`] = `[]`; -exports[`polkadot & peoplePolkadot > peoplePolkadot transfer DOT to polkadot > to chain ump events 1`] = ` -[ - { - "data": { - "id": "(hash)", - "origin": { - "Ump": { - "Para": "(rounded 1000)", - }, - }, - "success": true, - "weightUsed": { - "proofSize": "(rounded 7000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & peoplePolkadot > peoplePolkadot transfer DOT to polkadot > to chain ump events 1`] = `[]`; exports[`polkadot & peoplePolkadot > peoplePolkadot transfer DOT to polkadot > tx events 1`] = ` [ @@ -251,12 +163,12 @@ exports[`polkadot & peoplePolkadot > polkadot transfer DOT to peoplePolkadot > b { "consumers": 0, "data": { - "flags": "0x80000000000000000000000000000000", - "free": "(rounded 9000000000000)", + "flags": 0, + "free": 10000000000000, "frozen": 0, "reserved": 0, }, - "nonce": 1, + "nonce": 0, "providers": 1, "sufficients": 0, } @@ -267,51 +179,17 @@ exports[`polkadot & peoplePolkadot > polkadot transfer DOT to peoplePolkadot > b "consumers": 0, "data": { "flags": "0x80000000000000000000000000000000", - "free": "(rounded 1000000000000)", + "free": 0, "frozen": 0, "reserved": 0, }, "nonce": 0, - "providers": 1, + "providers": 0, "sufficients": 0, } `; -exports[`polkadot & peoplePolkadot > polkadot transfer DOT to peoplePolkadot > to chain dmp events 1`] = ` -[ - { - "data": { - "count": 1, - }, - "method": "DownwardMessagesReceived", - "section": "parachainSystem", - }, - { - "data": { - "dmqHead": "(hash)", - "weightUsed": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 800000000)", - }, - }, - "method": "DownwardMessagesProcessed", - "section": "parachainSystem", - }, - { - "data": { - "id": "(hash)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & peoplePolkadot > polkadot transfer DOT to peoplePolkadot > to chain dmp events 1`] = `[]`; exports[`polkadot & peoplePolkadot > polkadot transfer DOT to peoplePolkadot > tx events 1`] = ` [ diff --git a/packages/polkadot/src/__snapshots__/polkadot.assetHubPolkadot.collectivesPolkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.assetHubPolkadot.collectivesPolkadot.test.ts.snap index 4fa767e69..f1f912860 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.assetHubPolkadot.collectivesPolkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.assetHubPolkadot.collectivesPolkadot.test.ts.snap @@ -49,17 +49,7 @@ exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade ] `; -exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade via Collectives > events after notePreimge 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; +exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade via Collectives > events after notePreimge 1`] = `[]`; exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` [ @@ -69,8 +59,8 @@ exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade "result": { "Err": { "Module": { - "error": "0x03000000", - "index": 23, + "error": "0x05000000", + "index": 0, }, }, }, @@ -88,7 +78,12 @@ exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade "data": { "id": null, "result": { - "Err": "BadOrigin", + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, }, "task": "(redacted)", }, @@ -98,36 +93,10 @@ exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade ] `; -exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` -[ - { - "data": { - "callHash": "0x89ba36353c2150427d20dc71ab18e6762c07f560a6e485f64c26a608abecb473", - "result": { - "Ok": { - "actualWeight": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 300000000)", - }, - "paysFee": "Yes", - }, - }, - }, - "method": "WhitelistedCallDispatched", - "section": "whitelist", - }, -] -`; +exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = `[]`; exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` [ - { - "data": { - "callHash": "0x89ba36353c2150427d20dc71ab18e6762c07f560a6e485f64c26a608abecb473", - }, - "method": "CallWhitelisted", - "section": "whitelist", - }, { "data": { "id": "(redacted)", @@ -138,7 +107,7 @@ exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade }, "success": true, "weightUsed": { - "proofSize": "(rounded 4000)", + "proofSize": "(rounded 6000)", "refTime": "(rounded 300000000)", }, }, @@ -148,28 +117,4 @@ exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade ] `; -exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` -[ - { - "data": { - "checkVersion": true, - "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", - }, - "method": "UpgradeAuthorized", - "section": "system", - }, - { - "data": { - "id": "(redacted)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": 0, - "refTime": "(rounded 100000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & asset hub & collectives > Relay authorizes AssetHub upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = `[]`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts.snap index fd271d58b..eadfe6ee1 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts.snap @@ -49,17 +49,7 @@ exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrad ] `; -exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrade via Collectives > events after notePreimge 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; +exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrade via Collectives > events after notePreimge 1`] = `[]`; exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` [ @@ -69,8 +59,8 @@ exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrad "result": { "Err": { "Module": { - "error": "0x03000000", - "index": 23, + "error": "0x05000000", + "index": 0, }, }, }, @@ -88,7 +78,12 @@ exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrad "data": { "id": null, "result": { - "Err": "BadOrigin", + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, }, "task": "(redacted)", }, @@ -98,36 +93,10 @@ exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrad ] `; -exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` -[ - { - "data": { - "callHash": "0xbec38f9174094d5d36794d04bd0b9d4a4da7ad1db83473bce75b31b465d95a7b", - "result": { - "Ok": { - "actualWeight": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 300000000)", - }, - "paysFee": "Yes", - }, - }, - }, - "method": "WhitelistedCallDispatched", - "section": "whitelist", - }, -] -`; +exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = `[]`; exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` [ - { - "data": { - "callHash": "0xbec38f9174094d5d36794d04bd0b9d4a4da7ad1db83473bce75b31b465d95a7b", - }, - "method": "CallWhitelisted", - "section": "whitelist", - }, { "data": { "id": "(redacted)", @@ -138,7 +107,7 @@ exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrad }, "success": true, "weightUsed": { - "proofSize": "(rounded 4000)", + "proofSize": "(rounded 6000)", "refTime": "(rounded 300000000)", }, }, @@ -148,28 +117,4 @@ exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrad ] `; -exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` -[ - { - "data": { - "checkVersion": true, - "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", - }, - "method": "UpgradeAuthorized", - "section": "system", - }, - { - "data": { - "id": "(redacted)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": 0, - "refTime": "(rounded 100000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & bridgeHub & collectives > Relay authorizes Bridge Hub upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = `[]`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.coretimePolkadot.collectivesPolkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.coretimePolkadot.collectivesPolkadot.test.ts.snap index 67dc5d742..9dc6e91ff 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.coretimePolkadot.collectivesPolkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.coretimePolkadot.collectivesPolkadot.test.ts.snap @@ -49,17 +49,7 @@ exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade v ] `; -exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade via Collectives > events after notePreimge 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; +exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade via Collectives > events after notePreimge 1`] = `[]`; exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` [ @@ -69,8 +59,8 @@ exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade v "result": { "Err": { "Module": { - "error": "0x03000000", - "index": 23, + "error": "0x05000000", + "index": 0, }, }, }, @@ -88,7 +78,12 @@ exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade v "data": { "id": null, "result": { - "Err": "BadOrigin", + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, }, "task": "(redacted)", }, @@ -98,36 +93,10 @@ exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade v ] `; -exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` -[ - { - "data": { - "callHash": "0x8097b9f2e0aa4ab3b2b40d8912071ce5fd27e15432afcd3b204548d56468f21b", - "result": { - "Ok": { - "actualWeight": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 300000000)", - }, - "paysFee": "Yes", - }, - }, - }, - "method": "WhitelistedCallDispatched", - "section": "whitelist", - }, -] -`; +exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = `[]`; exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` [ - { - "data": { - "callHash": "0x8097b9f2e0aa4ab3b2b40d8912071ce5fd27e15432afcd3b204548d56468f21b", - }, - "method": "CallWhitelisted", - "section": "whitelist", - }, { "data": { "id": "(redacted)", @@ -138,7 +107,7 @@ exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade v }, "success": true, "weightUsed": { - "proofSize": "(rounded 4000)", + "proofSize": "(rounded 6000)", "refTime": "(rounded 300000000)", }, }, @@ -148,28 +117,4 @@ exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade v ] `; -exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` -[ - { - "data": { - "checkVersion": true, - "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", - }, - "method": "UpgradeAuthorized", - "section": "system", - }, - { - "data": { - "id": "(redacted)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": 0, - "refTime": "(rounded 100000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & coretime & collectives > Relay authorizes Coretime upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = `[]`; diff --git a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap index 61e8f0c2f..0beae6761 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap @@ -93,7 +93,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "13PZYzZM6dvRqgfrDE67nXUzBi2sv1AmqezQ7aBEzCLbXc8P", + "multisig": "14nDnepJCwyDm524eyij9P5u9qJmpUjwvjMP14y6j1AZ66ND", }, "method": "NewMultisig", "section": "multisig", @@ -105,9 +105,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "14tFzFa2UQtiBZUnVN1qHHrXLSqD4CQRzRxqqukyDTi19U7y", + "approving": "14PSBSTF1udBBxog5MnrawRdNTsLV4Wrsz7czHP6ScmxgTWt", "callHash": "(hash)", - "multisig": "13PZYzZM6dvRqgfrDE67nXUzBi2sv1AmqezQ7aBEzCLbXc8P", + "multisig": "14nDnepJCwyDm524eyij9P5u9qJmpUjwvjMP14y6j1AZ66ND", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -126,7 +126,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "136qwg699MYR6NdD8mE9tiWx5yAKsN4uaFtcHSajrmTX3QLd", + "multisig": "12k4TyChBdC8aehLHYnWfUmWzhwTSG399NDMgNFCkJmcvgBt", }, "method": "NewMultisig", "section": "multisig", @@ -138,9 +138,9 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "1L5YnEvJEeyeSK75RWvvj1vDHu2JU4kqYJvR6RygetSAv2H", + "approving": "14bc7QUb6C2jZqNaQhMk2Z3gKckCM2APpqhTFAFAy89FmQUU", "callHash": "(hash)", - "multisig": "136qwg699MYR6NdD8mE9tiWx5yAKsN4uaFtcHSajrmTX3QLd", + "multisig": "12k4TyChBdC8aehLHYnWfUmWzhwTSG399NDMgNFCkJmcvgBt", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -159,7 +159,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "13v9C2YDcM6QL4re4gDrwbyK3jwcYgfx3tbHXFR9SLQTscEg", + "multisig": "1AHzwRUBMvm7FWfUyaYuVm2znYB79bjLMcguVdr36AFmcwm", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Multisig with Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "16KLbWU1NjRreBCJf3VHLwE1jePrYjFkyUjS6Uw3vmeDkzfL", + "approving": "12ZUUx4sGppVR2Tnpy8fG9LbkJKW4dh7WSRnXEG6Cdk3u4Cg", "callHash": "(hash)", - "multisig": "16WvwmhujF6TYfC6XV3AyrH8vPCKn1M3U7EMPk6MiM2kPfUJ", + "multisig": "16JWgUcdThqFLohVZS5CLfiZ3qzNb1b85Avh7FEE3WdoUxNG", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/polkadot.peoplePolkadot.collectivesPolkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.peoplePolkadot.collectivesPolkadot.test.ts.snap index 95ff9c0ae..31233efc5 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.peoplePolkadot.collectivesPolkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.peoplePolkadot.collectivesPolkadot.test.ts.snap @@ -49,17 +49,7 @@ exports[`polkadot & people & collectives > Relay authorizes People upgrade via C ] `; -exports[`polkadot & people & collectives > Relay authorizes People upgrade via Collectives > events after notePreimge 1`] = ` -[ - { - "data": { - "hash_": "(hash)", - }, - "method": "Noted", - "section": "preimage", - }, -] -`; +exports[`polkadot & people & collectives > Relay authorizes People upgrade via Collectives > events after notePreimge 1`] = `[]`; exports[`polkadot & people & collectives > Relay authorizes People upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` [ @@ -69,8 +59,8 @@ exports[`polkadot & people & collectives > Relay authorizes People upgrade via C "result": { "Err": { "Module": { - "error": "0x03000000", - "index": 23, + "error": "0x05000000", + "index": 0, }, }, }, @@ -88,7 +78,12 @@ exports[`polkadot & people & collectives > Relay authorizes People upgrade via C "data": { "id": null, "result": { - "Err": "BadOrigin", + "Err": { + "Module": { + "error": "0x05000000", + "index": 0, + }, + }, }, "task": "(redacted)", }, @@ -98,36 +93,10 @@ exports[`polkadot & people & collectives > Relay authorizes People upgrade via C ] `; -exports[`polkadot & people & collectives > Relay authorizes People upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` -[ - { - "data": { - "callHash": "0xf2c2a9c39f6739fafc398dbf1d47610daa6c6deaa774e9885ad95fa6a3bdebac", - "result": { - "Ok": { - "actualWeight": { - "proofSize": "(rounded 4000)", - "refTime": "(rounded 300000000)", - }, - "paysFee": "Yes", - }, - }, - }, - "method": "WhitelistedCallDispatched", - "section": "whitelist", - }, -] -`; +exports[`polkadot & people & collectives > Relay authorizes People upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = `[]`; exports[`polkadot & people & collectives > Relay authorizes People upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` [ - { - "data": { - "callHash": "0xf2c2a9c39f6739fafc398dbf1d47610daa6c6deaa774e9885ad95fa6a3bdebac", - }, - "method": "CallWhitelisted", - "section": "whitelist", - }, { "data": { "id": "(redacted)", @@ -138,7 +107,7 @@ exports[`polkadot & people & collectives > Relay authorizes People upgrade via C }, "success": true, "weightUsed": { - "proofSize": "(rounded 4000)", + "proofSize": "(rounded 6000)", "refTime": "(rounded 300000000)", }, }, @@ -148,28 +117,4 @@ exports[`polkadot & people & collectives > Relay authorizes People upgrade via C ] `; -exports[`polkadot & people & collectives > Relay authorizes People upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` -[ - { - "data": { - "checkVersion": true, - "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", - }, - "method": "UpgradeAuthorized", - "section": "system", - }, - { - "data": { - "id": "(redacted)", - "origin": "Parent", - "success": true, - "weightUsed": { - "proofSize": 0, - "refTime": "(rounded 100000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; +exports[`polkadot & people & collectives > Relay authorizes People upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = `[]`; diff --git a/packages/polkadot/src/assetHubPolkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts b/packages/polkadot/src/assetHubPolkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts new file mode 100644 index 000000000..6cd558ac5 --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts @@ -0,0 +1,17 @@ +import { assetHubPolkadot, bridgeHubPolkadot, collectivesPolkadot } from '@e2e-test/networks/chains' +import { setupNetworks } from '@e2e-test/shared' +import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' + +import { describe, test } from 'vitest' + +describe('asset hub & bridgeHub & collectives', async () => { + const [assetHubPolkadotClient, bridgeHubClient, collectivesClient] = await setupNetworks( + assetHubPolkadot, + bridgeHubPolkadot, + collectivesPolkadot, + ) + + test('Asset Hub authorizes Bridge Hub upgrade via Collectives', async () => { + await authorizeUpgradeViaCollectives(assetHubPolkadotClient, bridgeHubClient, collectivesClient) + }) +}) diff --git a/packages/polkadot/src/assetHubPolkadot.coretimePolkadot.collectivesPolkadot.test.ts b/packages/polkadot/src/assetHubPolkadot.coretimePolkadot.collectivesPolkadot.test.ts new file mode 100644 index 000000000..6d2c12c0e --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.coretimePolkadot.collectivesPolkadot.test.ts @@ -0,0 +1,17 @@ +import { assetHubPolkadot, collectivesPolkadot, coretimePolkadot } from '@e2e-test/networks/chains' +import { setupNetworks } from '@e2e-test/shared' +import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' + +import { describe, test } from 'vitest' + +describe('asset hub & coretime & collectives', async () => { + const [assetHubPolkadotClient, coretimeClient, collectivesClient] = await setupNetworks( + assetHubPolkadot, + coretimePolkadot, + collectivesPolkadot, + ) + + test('Asset Hub authorizes Coretime upgrade via Collectives', async () => { + await authorizeUpgradeViaCollectives(assetHubPolkadotClient, coretimeClient, collectivesClient) + }) +}) diff --git a/packages/polkadot/src/assetHubPolkadot.peoplePolkadot.collectivesPolkadot.test.ts b/packages/polkadot/src/assetHubPolkadot.peoplePolkadot.collectivesPolkadot.test.ts new file mode 100644 index 000000000..5176c606e --- /dev/null +++ b/packages/polkadot/src/assetHubPolkadot.peoplePolkadot.collectivesPolkadot.test.ts @@ -0,0 +1,17 @@ +import { assetHubPolkadot, collectivesPolkadot, peoplePolkadot } from '@e2e-test/networks/chains' +import { setupNetworks } from '@e2e-test/shared' +import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' + +import { describe, test } from 'vitest' + +describe('asset hub & people & collectives', async () => { + const [assetHubPolkadotClient, peopleClient, collectivesClient] = await setupNetworks( + assetHubPolkadot, + peoplePolkadot, + collectivesPolkadot, + ) + + test('Asset Hub authorizes People upgrade via Collectives', async () => { + await authorizeUpgradeViaCollectives(assetHubPolkadotClient, peopleClient, collectivesClient) + }) +}) diff --git a/packages/polkadot/src/polkadot.assetHubPolkadot.collectivesPolkadot.test.ts b/packages/polkadot/src/assetHubPolkadot.polkadot.collectivesPolkadot.test.ts similarity index 50% rename from packages/polkadot/src/polkadot.assetHubPolkadot.collectivesPolkadot.test.ts rename to packages/polkadot/src/assetHubPolkadot.polkadot.collectivesPolkadot.test.ts index fca460e07..146f47adb 100644 --- a/packages/polkadot/src/polkadot.assetHubPolkadot.collectivesPolkadot.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.polkadot.collectivesPolkadot.test.ts @@ -4,14 +4,14 @@ import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' import { describe, test } from 'vitest' -describe('polkadot & asset hub & collectives', async () => { - const [polkadotClient, ahClient, collectivesClient] = await setupNetworks( - polkadot, +describe('asset hub & polkadot & collectives', async () => { + const [assetHubPolkadotClient, polkadotClient, collectivesClient] = await setupNetworks( assetHubPolkadot, + polkadot, collectivesPolkadot, ) - test('Relay authorizes AssetHub upgrade via Collectives', async () => { - await authorizeUpgradeViaCollectives(polkadotClient, ahClient, collectivesClient) + test('Asset Hub authorizes Polkadot upgrade via Collectives', async () => { + await authorizeUpgradeViaCollectives(assetHubPolkadotClient, polkadotClient, collectivesClient) }) }) diff --git a/packages/polkadot/src/assetHubPolkadot.system.e2e.test.ts b/packages/polkadot/src/assetHubPolkadot.system.e2e.test.ts index 41402c209..7c5232b58 100644 --- a/packages/polkadot/src/assetHubPolkadot.system.e2e.test.ts +++ b/packages/polkadot/src/assetHubPolkadot.system.e2e.test.ts @@ -1,22 +1,21 @@ -import { assetHubPolkadot, polkadot } from '@e2e-test/networks/chains' -import { type ParaTestConfig, registerTestTree, systemE2ETestsViaRemoteScheduler } from '@e2e-test/shared' +import { assetHubPolkadot } from '@e2e-test/networks/chains' +import { type ParaTestConfig, registerTestTree, systemE2ETestsForParaWithScheduler } from '@e2e-test/shared' -const testConfig: ParaTestConfig = { +/* const testConfig: ParaTestConfig = { testSuiteName: 'Polkadot AssetHub System', addressEncoding: 0, blockProvider: 'Local', asyncBacking: 'Enabled', } -registerTestTree(systemE2ETestsViaRemoteScheduler(polkadot, assetHubPolkadot, testConfig)) +registerTestTree(systemE2ETests(assetHubPolkadot, testConfig)) + */ -// TODO: Uncomment Post-AHM on Polkadot - -// const testConfigForLocalScheduler: ParaTestConfig = { -// testSuiteName: 'Polkadot AssetHub System', -// addressEncoding: 0, -// blockProvider: 'NonLocal', -// asyncBacking: 'Enabled', -// } +const testConfigForLocalScheduler: ParaTestConfig = { + testSuiteName: 'Polkadot AssetHub System', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} -// registerTestTree(systemE2ETestsForParaWithScheduler(assetHubPolkadot, testConfigForLocalScheduler)) +registerTestTree(systemE2ETestsForParaWithScheduler(assetHubPolkadot, testConfigForLocalScheduler)) diff --git a/packages/polkadot/src/bridgeHubPolkadot.system.e2e.test.ts b/packages/polkadot/src/bridgeHubPolkadot.system.e2e.test.ts index adf3ad2eb..650d1dcf5 100644 --- a/packages/polkadot/src/bridgeHubPolkadot.system.e2e.test.ts +++ b/packages/polkadot/src/bridgeHubPolkadot.system.e2e.test.ts @@ -1,7 +1,7 @@ -import { bridgeHubPolkadot, polkadot } from '@e2e-test/networks/chains' +import { assetHubPolkadot, bridgeHubPolkadot } from '@e2e-test/networks/chains' import { type ParaTestConfig, registerTestTree, systemE2ETestsViaRemoteScheduler } from '@e2e-test/shared' -const testConfig: ParaTestConfig = { +/* const testConfig: ParaTestConfig = { testSuiteName: 'Polkadot BridgeHub System', addressEncoding: 0, blockProvider: 'Local', @@ -9,14 +9,13 @@ const testConfig: ParaTestConfig = { } registerTestTree(systemE2ETestsViaRemoteScheduler(polkadot, bridgeHubPolkadot, testConfig)) +*/ -// TODO: Uncomment Post-AHM on Polkadot - -// const testConfigForAssetHub: ParaTestConfig = { -// testSuiteName: 'Polkadot BridgeHub System', -// addressEncoding: 0, -// blockProvider: 'NonLocal', -// asyncBacking: 'Enabled', -// } +const testConfigForAssetHub: ParaTestConfig = { + testSuiteName: 'Polkadot BridgeHub System', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} -// registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, bridgeHubPolkadot, testConfigForAssetHub)) +registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, bridgeHubPolkadot, testConfigForAssetHub)) diff --git a/packages/polkadot/src/collectivesPolkadot.system.e2e.test.ts b/packages/polkadot/src/collectivesPolkadot.system.e2e.test.ts index 39ad1aaea..8810881df 100644 --- a/packages/polkadot/src/collectivesPolkadot.system.e2e.test.ts +++ b/packages/polkadot/src/collectivesPolkadot.system.e2e.test.ts @@ -1,4 +1,4 @@ -import { collectivesPolkadot, polkadot } from '@e2e-test/networks/chains' +import { assetHubPolkadot, collectivesPolkadot } from '@e2e-test/networks/chains' import { type ParaTestConfig, registerTestTree, @@ -13,16 +13,16 @@ const testConfig: ParaTestConfig = { asyncBacking: 'Enabled', } -registerTestTree(systemE2ETestsViaRemoteScheduler(polkadot, collectivesPolkadot, testConfig)) +//registerTestTree(systemE2ETestsViaRemoteScheduler(polkadot, collectivesPolkadot, testConfig)) registerTestTree(systemE2ETestsForParaWithScheduler(collectivesPolkadot, testConfig)) // TODO: Uncomment Post-AHM on Polkadot -// const testConfigForAssetHub: ParaTestConfig = { -// testSuiteName: 'Polkadot Collectives System', -// addressEncoding: 0, -// blockProvider: 'NonLocal', -// asyncBacking: 'Enabled', -// } +const testConfigForAssetHub: ParaTestConfig = { + testSuiteName: 'Polkadot Collectives System', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} -// registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, collectivesPolkadot, testConfigForAssetHub)) +registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, collectivesPolkadot, testConfigForAssetHub)) diff --git a/packages/polkadot/src/coretimePolkadot.system.e2e.test.ts b/packages/polkadot/src/coretimePolkadot.system.e2e.test.ts index 100ce5e71..4479e2ce3 100644 --- a/packages/polkadot/src/coretimePolkadot.system.e2e.test.ts +++ b/packages/polkadot/src/coretimePolkadot.system.e2e.test.ts @@ -1,22 +1,20 @@ -import { coretimePolkadot, polkadot } from '@e2e-test/networks/chains' +import { assetHubPolkadot, coretimePolkadot } from '@e2e-test/networks/chains' import { type ParaTestConfig, registerTestTree, systemE2ETestsViaRemoteScheduler } from '@e2e-test/shared' -const testConfig: ParaTestConfig = { +/* const testConfig: ParaTestConfig = { testSuiteName: 'Polkadot Coretime System', addressEncoding: 0, blockProvider: 'Local', asyncBacking: 'Enabled', } -registerTestTree(systemE2ETestsViaRemoteScheduler(polkadot, coretimePolkadot, testConfig)) +registerTestTree(systemE2ETestsViaRemoteScheduler(polkadot, coretimePolkadot, testConfig)) */ -// TODO: Uncomment Post-AHM on Polkadot - -// const testConfigForAssetHub: ParaTestConfig = { -// testSuiteName: 'Polkadot Coretime System', -// addressEncoding: 0, -// blockProvider: 'NonLocal', -// asyncBacking: 'Enabled', -// } +const testConfigForAssetHub: ParaTestConfig = { + testSuiteName: 'Polkadot Coretime System', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} -// registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, coretimePolkadot, testConfigForAssetHub)) +registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, coretimePolkadot, testConfigForAssetHub)) diff --git a/packages/polkadot/src/integritee.assetHubPolkadot.test.ts b/packages/polkadot/src/integritee.assetHubPolkadot.test.ts index 476eca2d0..02da945c6 100644 --- a/packages/polkadot/src/integritee.assetHubPolkadot.test.ts +++ b/packages/polkadot/src/integritee.assetHubPolkadot.test.ts @@ -9,21 +9,25 @@ import { describe } from 'vitest' describe('integriteePolkadot & assetHubPolkadot', async () => { const [assetHubPolkadotClient, integriteePolkadotClient] = await setupNetworks(assetHubPolkadot, integriteePolkadot) - runXcmPalletHorizontal('assetHubPolkadot transfer DOT to integriteePolkadot', async () => { - return { - fromChain: assetHubPolkadotClient, - toChain: integriteePolkadotClient, - fromAccount: defaultAccountsSr25519.alice, - toAccount: defaultAccountsSr25519.bob, - fromBalance: query.balances, - toBalance: query.assets(integriteePolkadot.custom.assetIdRelayNative), - tx: tx.xcmPallet.limitedReserveTransferAssetsV3( - assetHubPolkadot.custom.dot, - 1e12, - tx.xcmPallet.parachainV3(1, integriteePolkadot.paraId!), - ), - } - }) + runXcmPalletHorizontal( + 'assetHubPolkadot transfer DOT to integriteePolkadot', + async () => { + return { + fromChain: assetHubPolkadotClient, + toChain: integriteePolkadotClient, + fromAccount: defaultAccountsSr25519.alice, + toAccount: defaultAccountsSr25519.bob, + fromBalance: query.balances, + toBalance: query.assets(integriteePolkadot.custom.assetIdRelayNative), + tx: tx.xcmPallet.limitedReserveTransferAssetsV3( + assetHubPolkadot.custom.dot, + 1e12, + tx.xcmPallet.parachainV3(1, integriteePolkadot.paraId!), + ), + } + }, + { skip: true }, + ) runXcmPalletHorizontal('integriteePolkadot transfer DOT to assetHubPolkadot', async () => { return { diff --git a/packages/polkadot/src/peoplePolkadot.system.e2e.test.ts b/packages/polkadot/src/peoplePolkadot.system.e2e.test.ts index 9772f0b34..d879351a8 100644 --- a/packages/polkadot/src/peoplePolkadot.system.e2e.test.ts +++ b/packages/polkadot/src/peoplePolkadot.system.e2e.test.ts @@ -1,7 +1,7 @@ -import { peoplePolkadot, polkadot } from '@e2e-test/networks/chains' +import { assetHubPolkadot, peoplePolkadot } from '@e2e-test/networks/chains' import { type ParaTestConfig, registerTestTree, systemE2ETestsViaRemoteScheduler } from '@e2e-test/shared' -const testConfig: ParaTestConfig = { +/* const testConfig: ParaTestConfig = { testSuiteName: 'Polkadot People System', addressEncoding: 0, blockProvider: 'Local', @@ -9,14 +9,13 @@ const testConfig: ParaTestConfig = { } registerTestTree(systemE2ETestsViaRemoteScheduler(polkadot, peoplePolkadot, testConfig)) +*/ -// TODO: Uncomment Post-AHM on Polkadot - -// const testConfigForAssetHub: ParaTestConfig = { -// testSuiteName: 'Polkadot People System', -// addressEncoding: 0, -// blockProvider: 'NonLocal', -// asyncBacking: 'Enabled', -// } +const testConfigForAssetHub: ParaTestConfig = { + testSuiteName: 'Polkadot People System', + addressEncoding: 0, + blockProvider: 'NonLocal', + asyncBacking: 'Enabled', +} -// registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, peoplePolkadot, testConfigForAssetHub)) +registerTestTree(systemE2ETestsViaRemoteScheduler(assetHubPolkadot, peoplePolkadot, testConfigForAssetHub)) diff --git a/packages/polkadot/src/polkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts b/packages/polkadot/src/polkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts deleted file mode 100644 index a8e53db27..000000000 --- a/packages/polkadot/src/polkadot.bridgeHubPolkadot.collectivesPolkadot.test.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { bridgeHubPolkadot, collectivesPolkadot, polkadot } from '@e2e-test/networks/chains' -import { setupNetworks } from '@e2e-test/shared' -import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' - -import { describe, test } from 'vitest' - -describe('polkadot & bridgeHub & collectives', async () => { - const [polkadotClient, bridgeHubClient, collectivesClient] = await setupNetworks( - polkadot, - bridgeHubPolkadot, - collectivesPolkadot, - ) - - test('Relay authorizes Bridge Hub upgrade via Collectives', async () => { - await authorizeUpgradeViaCollectives(polkadotClient, bridgeHubClient, collectivesClient) - }) -}) diff --git a/packages/polkadot/src/polkadot.coretimePolkadot.collectivesPolkadot.test.ts b/packages/polkadot/src/polkadot.coretimePolkadot.collectivesPolkadot.test.ts deleted file mode 100644 index db766a199..000000000 --- a/packages/polkadot/src/polkadot.coretimePolkadot.collectivesPolkadot.test.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { collectivesPolkadot, coretimePolkadot, polkadot } from '@e2e-test/networks/chains' -import { setupNetworks } from '@e2e-test/shared' -import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' - -import { describe, test } from 'vitest' - -describe('polkadot & coretime & collectives', async () => { - const [polkadotClient, coretimeClient, collectivesClient] = await setupNetworks( - polkadot, - coretimePolkadot, - collectivesPolkadot, - ) - - test('Relay authorizes Coretime upgrade via Collectives', async () => { - await authorizeUpgradeViaCollectives(polkadotClient, coretimeClient, collectivesClient) - }) -}) diff --git a/packages/polkadot/src/polkadot.peoplePolkadot.collectivesPolkadot.test.ts b/packages/polkadot/src/polkadot.peoplePolkadot.collectivesPolkadot.test.ts deleted file mode 100644 index b65dde86c..000000000 --- a/packages/polkadot/src/polkadot.peoplePolkadot.collectivesPolkadot.test.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { collectivesPolkadot, peoplePolkadot, polkadot } from '@e2e-test/networks/chains' -import { setupNetworks } from '@e2e-test/shared' -import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' - -import { describe, test } from 'vitest' - -describe('polkadot & people & collectives', async () => { - const [polkadotClient, peopleClient, collectivesClient] = await setupNetworks( - polkadot, - peoplePolkadot, - collectivesPolkadot, - ) - - test('Relay authorizes People upgrade via Collectives', async () => { - await authorizeUpgradeViaCollectives(polkadotClient, peopleClient, collectivesClient) - }) -}) diff --git a/packages/shared/src/upgrade.ts b/packages/shared/src/upgrade.ts index a7ce6ef34..538578dd3 100644 --- a/packages/shared/src/upgrade.ts +++ b/packages/shared/src/upgrade.ts @@ -87,7 +87,7 @@ export async function authorizeUpgradeViaCollectives( await checkEvents(noteEvents, 'preimage').toMatchSnapshot('events after notePreimge') // try to dispatch a call that has not yet been whitelisted - should result in dispatching error - await scheduleInlineCallWithOrigin(governingChain, whiteListCall.method.toHex(), okOrigin) + await scheduleInlineCallWithOrigin(governingChain, whiteListCall.method.toHex(), okOrigin, 'NonLocal') await governingChain.dev.newBlock() await checkSystemEvents(governingChain, 'scheduler') .redact({ hash: false, redactKeys: /task/ }) @@ -109,7 +109,7 @@ export async function authorizeUpgradeViaCollectives( .toMatchSnapshot('governing chain events emitted on receiving xcm from collectives') // trying to dispatch whitelisted call using bad origin - should result in error - await scheduleInlineCallWithOrigin(governingChain, whiteListCall.method.toHex(), badOrigin) + await scheduleInlineCallWithOrigin(governingChain, whiteListCall.method.toHex(), badOrigin, 'NonLocal') await governingChain.dev.newBlock() await checkSystemEvents(governingChain, 'scheduler') .redact({ hash: false, redactKeys: /task/ }) @@ -117,7 +117,7 @@ export async function authorizeUpgradeViaCollectives( await assertAuthorizedUpgradeUnchanged() // call is whitelisted, origin is ok - success expected - await scheduleInlineCallWithOrigin(governingChain, whiteListCall.method.toHex(), okOrigin) + await scheduleInlineCallWithOrigin(governingChain, whiteListCall.method.toHex(), okOrigin, 'NonLocal') await governingChain.dev.newBlock() await checkSystemEvents(governingChain, 'whitelist') .redact({ hash: false }) From cd4d6a355b232aeadf88374e8bec55956528108e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 6 Nov 2025 03:11:06 +0000 Subject: [PATCH 33/40] Correct overlooked Collectives test --- ....assetHubPolkadot.upgrade.e2e.test.ts.snap | 425 ++++++++++++++++++ .../collectivesPolkadot.polkadot.test.ts.snap | 309 ------------- ...kadot.assetHubPolkadot.upgrade.e2e.test.ts | 21 + .../src/collectivesPolkadot.polkadot.test.ts | 17 +- 4 files changed, 448 insertions(+), 324 deletions(-) create mode 100644 packages/polkadot/src/__snapshots__/collectivesPolkadot.assetHubPolkadot.upgrade.e2e.test.ts.snap create mode 100644 packages/polkadot/src/collectivesPolkadot.assetHubPolkadot.upgrade.e2e.test.ts diff --git a/packages/polkadot/src/__snapshots__/collectivesPolkadot.assetHubPolkadot.upgrade.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/collectivesPolkadot.assetHubPolkadot.upgrade.e2e.test.ts.snap new file mode 100644 index 000000000..3534677fb --- /dev/null +++ b/packages/polkadot/src/__snapshots__/collectivesPolkadot.assetHubPolkadot.upgrade.e2e.test.ts.snap @@ -0,0 +1,425 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`collectives & asset hub > Asset Hub authorizes Collectives upgrade via Collectives > collectives events emitted when sending xcm 1`] = ` +[ + { + "data": { + "destination": { + "interior": { + "X1": [ + { + "Parachain": 1000, + }, + ], + }, + "parents": 1, + }, + "message": [ + { + "UnpaidExecution": { + "checkOrigin": null, + "weightLimit": "Unlimited", + }, + }, + { + "Transact": { + "call": { + "encoded": "0x4000028e48daf8513f12313096542e64ce29b14747b85f9dbf6d8433c04a1912b8dd", + }, + "fallbackMaxWeight": { + "proofSize": 10000, + "refTime": 500000000, + }, + "originKind": "Xcm", + }, + }, + ], + "messageId": "(redacted)", + "origin": { + "interior": { + "X1": [ + { + "Plurality": { + "id": "Technical", + "part": "Voice", + }, + }, + ], + }, + "parents": 0, + }, + }, + "method": "Sent", + "section": "polkadotXcm", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes Collectives upgrade via Collectives > events after notePreimge 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes Collectives upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x03000000", + "index": 64, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes Collectives upgrade via Collectives > events when dispatching whitelisted call with bad origin 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes Collectives upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = ` +[ + { + "data": { + "callHash": "0x028e48daf8513f12313096542e64ce29b14747b85f9dbf6d8433c04a1912b8dd", + "result": { + "Ok": { + "actualWeight": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 400000000)", + }, + "paysFee": "Yes", + }, + }, + }, + "method": "WhitelistedCallDispatched", + "section": "whitelist", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes Collectives upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` +[ + { + "data": { + "callHash": "0x028e48daf8513f12313096542e64ce29b14747b85f9dbf6d8433c04a1912b8dd", + }, + "method": "CallWhitelisted", + "section": "whitelist", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": "(rounded 1000)", + }, + "success": true, + "weightUsed": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 300000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes Collectives upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` +[ + { + "data": { + "checkVersion": true, + "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", + }, + "method": "UpgradeAuthorized", + "section": "system", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": 1000, + }, + "success": true, + "weightUsed": { + "proofSize": 0, + "refTime": "(rounded 100000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes upgrade for itself > collectives events emitted when sending xcm 1`] = ` +[ + { + "data": { + "destination": { + "interior": { + "X1": [ + { + "Parachain": 1000, + }, + ], + }, + "parents": 1, + }, + "message": [ + { + "UnpaidExecution": { + "checkOrigin": null, + "weightLimit": "Unlimited", + }, + }, + { + "Transact": { + "call": { + "encoded": "0x40003812e839c2f2db66069c9ee359bbc78e7ec08cb657d0a735742e68c5c0668a84", + }, + "fallbackMaxWeight": { + "proofSize": 10000, + "refTime": 500000000, + }, + "originKind": "Xcm", + }, + }, + ], + "messageId": "(redacted)", + "origin": { + "interior": { + "X1": [ + { + "Plurality": { + "id": "Technical", + "part": "Voice", + }, + }, + ], + }, + "parents": 0, + }, + }, + "method": "Sent", + "section": "polkadotXcm", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes upgrade for itself > events after notePreimge 1`] = ` +[ + { + "data": { + "hash_": "(hash)", + }, + "method": "Noted", + "section": "preimage", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes upgrade for itself > events when dispatching non-whitelisted call 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": { + "Module": { + "error": "0x03000000", + "index": 64, + }, + }, + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes upgrade for itself > events when dispatching whitelisted call with bad origin 1`] = ` +[ + { + "data": { + "id": null, + "result": { + "Err": "BadOrigin", + }, + "task": "(redacted)", + }, + "method": "Dispatched", + "section": "scheduler", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes upgrade for itself > governing chain events about dispatching whitelisted call 1`] = ` +[ + { + "data": { + "callHash": "0x3812e839c2f2db66069c9ee359bbc78e7ec08cb657d0a735742e68c5c0668a84", + "result": { + "Ok": { + "actualWeight": null, + "paysFee": "Yes", + }, + }, + }, + "method": "WhitelistedCallDispatched", + "section": "whitelist", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes upgrade for itself > governing chain events emitted on receiving xcm from collectives 1`] = ` +[ + { + "data": { + "callHash": "0x3812e839c2f2db66069c9ee359bbc78e7ec08cb657d0a735742e68c5c0668a84", + }, + "method": "CallWhitelisted", + "section": "whitelist", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": "(rounded 1000)", + }, + "success": true, + "weightUsed": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 300000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; + +exports[`collectives & asset hub > Asset Hub authorizes upgrade for itself > to-be-upgraded chain events to confirm authorized upgrade 1`] = ` +[ + { + "data": { + "checkVersion": true, + "codeHash": "0x0101010101010101010101010101010101010101010101010101010101010101", + }, + "method": "UpgradeAuthorized", + "section": "system", + }, +] +`; + +exports[`collectives & asset hub > whitelisting a call by fellowship > destination chain events 1`] = ` +[ + { + "data": { + "callHash": "0x0101010101010101010101010101010101010101010101010101010101010101", + }, + "method": "CallWhitelisted", + "section": "whitelist", + }, + { + "data": { + "id": "(redacted)", + "origin": { + "Sibling": "(rounded 1000)", + }, + "success": true, + "weightUsed": { + "proofSize": "(rounded 5000)", + "refTime": "(rounded 300000000)", + }, + }, + "method": "Processed", + "section": "messageQueue", + }, +] +`; + +exports[`collectives & asset hub > whitelisting a call by fellowship > source chain events 1`] = ` +[ + { + "data": { + "destination": { + "interior": { + "X1": [ + { + "Parachain": 1000, + }, + ], + }, + "parents": 1, + }, + "message": [ + { + "UnpaidExecution": { + "checkOrigin": null, + "weightLimit": "Unlimited", + }, + }, + { + "Transact": { + "call": { + "encoded": "0x40000101010101010101010101010101010101010101010101010101010101010101", + }, + "fallbackMaxWeight": { + "proofSize": 10000, + "refTime": 1000000000, + }, + "originKind": "Xcm", + }, + }, + ], + "messageId": "(redacted)", + "origin": { + "interior": { + "X1": [ + { + "Plurality": { + "id": "Technical", + "part": "Voice", + }, + }, + ], + }, + "parents": 0, + }, + }, + "method": "Sent", + "section": "polkadotXcm", + }, +] +`; diff --git a/packages/polkadot/src/__snapshots__/collectivesPolkadot.polkadot.test.ts.snap b/packages/polkadot/src/__snapshots__/collectivesPolkadot.polkadot.test.ts.snap index 7b5ec7537..edd72137a 100644 --- a/packages/polkadot/src/__snapshots__/collectivesPolkadot.polkadot.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/collectivesPolkadot.polkadot.test.ts.snap @@ -1,243 +1,5 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > collectives events emitted when sending xcm 1`] = ` -[ - { - "data": { - "destination": { - "interior": "Here", - "parents": 1, - }, - "message": [ - { - "UnpaidExecution": { - "checkOrigin": null, - "weightLimit": "Unlimited", - }, - }, - { - "Transact": { - "call": { - "encoded": "0x17001f316948a52772e24450da99383b0e57b75770f95e916e945b6fd91163ce05dd", - }, - "fallbackMaxWeight": { - "proofSize": 10000, - "refTime": 500000000, - }, - "originKind": "Xcm", - }, - }, - ], - "messageId": "(redacted)", - "origin": { - "interior": { - "X1": [ - { - "Plurality": { - "id": "Technical", - "part": "Voice", - }, - }, - ], - }, - "parents": 0, - }, - }, - "method": "Sent", - "section": "polkadotXcm", - }, -] -`; - -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > events after notePreimge 1`] = `[]`; - -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > events when dispatching non-whitelisted call 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": { - "Module": { - "error": "0x05000000", - "index": 0, - }, - }, - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > events when dispatching whitelisted call with bad origin 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": { - "Module": { - "error": "0x05000000", - "index": 0, - }, - }, - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > governing chain events about dispatching whitelisted call 1`] = `[]`; - -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > governing chain events emitted on receiving xcm from collectives 1`] = ` -[ - { - "data": { - "id": "(redacted)", - "origin": { - "Ump": { - "Para": "(rounded 1000)", - }, - }, - "success": true, - "weightUsed": { - "proofSize": "(rounded 6000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; - -exports[`collectives & polkadot > Relay authorizes Collectives upgrade via Collectives > to-be-upgraded chain events to confirm authorized upgrade 1`] = `[]`; - -exports[`collectives & polkadot > Relay authorizes upgrade for itself > collectives events emitted when sending xcm 1`] = ` -[ - { - "data": { - "destination": { - "interior": "Here", - "parents": 1, - }, - "message": [ - { - "UnpaidExecution": { - "checkOrigin": null, - "weightLimit": "Unlimited", - }, - }, - { - "Transact": { - "call": { - "encoded": "0x17003812e839c2f2db66069c9ee359bbc78e7ec08cb657d0a735742e68c5c0668a84", - }, - "fallbackMaxWeight": { - "proofSize": 10000, - "refTime": 500000000, - }, - "originKind": "Xcm", - }, - }, - ], - "messageId": "(redacted)", - "origin": { - "interior": { - "X1": [ - { - "Plurality": { - "id": "Technical", - "part": "Voice", - }, - }, - ], - }, - "parents": 0, - }, - }, - "method": "Sent", - "section": "polkadotXcm", - }, -] -`; - -exports[`collectives & polkadot > Relay authorizes upgrade for itself > events after notePreimge 1`] = `[]`; - -exports[`collectives & polkadot > Relay authorizes upgrade for itself > events when dispatching non-whitelisted call 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": { - "Module": { - "error": "0x05000000", - "index": 0, - }, - }, - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`collectives & polkadot > Relay authorizes upgrade for itself > events when dispatching whitelisted call with bad origin 1`] = ` -[ - { - "data": { - "id": null, - "result": { - "Err": { - "Module": { - "error": "0x05000000", - "index": 0, - }, - }, - }, - "task": "(redacted)", - }, - "method": "Dispatched", - "section": "scheduler", - }, -] -`; - -exports[`collectives & polkadot > Relay authorizes upgrade for itself > governing chain events about dispatching whitelisted call 1`] = `[]`; - -exports[`collectives & polkadot > Relay authorizes upgrade for itself > governing chain events emitted on receiving xcm from collectives 1`] = ` -[ - { - "data": { - "id": "(redacted)", - "origin": { - "Ump": { - "Para": "(rounded 1000)", - }, - }, - "success": true, - "weightUsed": { - "proofSize": "(rounded 6000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; - -exports[`collectives & polkadot > Relay authorizes upgrade for itself > to-be-upgraded chain events to confirm authorized upgrade 1`] = `[]`; - exports[`collectives & polkadot > collectivesPolkadot teleport DOT to polkadot > balance on from chain 1`] = ` { "consumers": 0, @@ -559,74 +321,3 @@ exports[`collectives & polkadot > polkadot teleport DOT to collectivesPolkadot > }, ] `; - -exports[`collectives & polkadot > whitelisting a call by fellowship > destination chain events 1`] = ` -[ - { - "data": { - "id": "(redacted)", - "origin": { - "Ump": { - "Para": "(rounded 1000)", - }, - }, - "success": true, - "weightUsed": { - "proofSize": "(rounded 6000)", - "refTime": "(rounded 300000000)", - }, - }, - "method": "Processed", - "section": "messageQueue", - }, -] -`; - -exports[`collectives & polkadot > whitelisting a call by fellowship > source chain events 1`] = ` -[ - { - "data": { - "destination": { - "interior": "Here", - "parents": 1, - }, - "message": [ - { - "UnpaidExecution": { - "checkOrigin": null, - "weightLimit": "Unlimited", - }, - }, - { - "Transact": { - "call": { - "encoded": "0x17000101010101010101010101010101010101010101010101010101010101010101", - }, - "fallbackMaxWeight": { - "proofSize": 10000, - "refTime": 1000000000, - }, - "originKind": "Xcm", - }, - }, - ], - "messageId": "(redacted)", - "origin": { - "interior": { - "X1": [ - { - "Plurality": { - "id": "Technical", - "part": "Voice", - }, - }, - ], - }, - "parents": 0, - }, - }, - "method": "Sent", - "section": "polkadotXcm", - }, -] -`; diff --git a/packages/polkadot/src/collectivesPolkadot.assetHubPolkadot.upgrade.e2e.test.ts b/packages/polkadot/src/collectivesPolkadot.assetHubPolkadot.upgrade.e2e.test.ts new file mode 100644 index 000000000..f5dfd8412 --- /dev/null +++ b/packages/polkadot/src/collectivesPolkadot.assetHubPolkadot.upgrade.e2e.test.ts @@ -0,0 +1,21 @@ +import { assetHubPolkadot, collectivesPolkadot } from '@e2e-test/networks/chains' +import { baseCollectivesChainE2ETests, registerTestTree, setupNetworks } from '@e2e-test/shared' +import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' + +import { describe, test } from 'vitest' + +registerTestTree( + baseCollectivesChainE2ETests(assetHubPolkadot, collectivesPolkadot, { testSuiteName: 'collectives & asset hub' }), +) + +describe('collectives & asset hub', async () => { + const [assetHubPolkadotClient, collectivesClient] = await setupNetworks(assetHubPolkadot, collectivesPolkadot) + + test('Asset Hub authorizes upgrade for itself', async () => { + await authorizeUpgradeViaCollectives(assetHubPolkadotClient, assetHubPolkadotClient, collectivesClient) + }) + + test('Asset Hub authorizes Collectives upgrade via Collectives', async () => { + await authorizeUpgradeViaCollectives(assetHubPolkadotClient, collectivesClient, collectivesClient) + }) +}) diff --git a/packages/polkadot/src/collectivesPolkadot.polkadot.test.ts b/packages/polkadot/src/collectivesPolkadot.polkadot.test.ts index 26f5780d1..c4065a3ef 100644 --- a/packages/polkadot/src/collectivesPolkadot.polkadot.test.ts +++ b/packages/polkadot/src/collectivesPolkadot.polkadot.test.ts @@ -1,14 +1,9 @@ import { collectivesPolkadot, polkadot } from '@e2e-test/networks/chains' -import { baseCollectivesChainE2ETests, registerTestTree, setupNetworks } from '@e2e-test/shared' +import { setupNetworks } from '@e2e-test/shared' import { query, tx } from '@e2e-test/shared/api' -import { authorizeUpgradeViaCollectives } from '@e2e-test/shared/upgrade.js' import { runXcmPalletDown, runXcmPalletUp } from '@e2e-test/shared/xcm' -import { describe, test } from 'vitest' - -registerTestTree( - baseCollectivesChainE2ETests(polkadot, collectivesPolkadot, { testSuiteName: 'collectives & polkadot' }), -) +import { describe } from 'vitest' describe('collectives & polkadot', async () => { const [polkadotClient, collectivesClient] = await setupNetworks(polkadot, collectivesPolkadot) @@ -35,12 +30,4 @@ describe('collectives & polkadot', async () => { totalIssuanceProvider: () => query.totalIssuance(polkadotClient), } }) - - test('Relay authorizes upgrade for itself', async () => { - await authorizeUpgradeViaCollectives(polkadotClient, polkadotClient, collectivesClient) - }) - - test('Relay authorizes Collectives upgrade via Collectives', async () => { - await authorizeUpgradeViaCollectives(polkadotClient, collectivesClient, collectivesClient) - }) }) From 09264a1e489778327b2b9b7ae40a5d2e13639d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 6 Nov 2025 03:24:58 +0000 Subject: [PATCH 34/40] Remove mistakenly added scripts May be re-added in thefuture; it was used only for local testing. --- scripts/print-test-tree.ts | 166 ------------------------------------- 1 file changed, 166 deletions(-) delete mode 100644 scripts/print-test-tree.ts diff --git a/scripts/print-test-tree.ts b/scripts/print-test-tree.ts deleted file mode 100644 index 7daaea6a8..000000000 --- a/scripts/print-test-tree.ts +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/env tsx - -import { createVitest } from 'vitest/node' - -import { readdir } from 'node:fs/promises' -import { join, relative, resolve } from 'node:path' - -/** - * Recursively find all test files in a directory - */ -async function findTestFiles(dir: string): Promise { - const entries = await readdir(dir, { withFileTypes: true }) - const files = await Promise.all( - entries.map(async (entry) => { - const fullPath = join(dir, entry.name) - if (entry.isDirectory() && entry.name !== '__snapshots__' && entry.name !== 'node_modules') { - return findTestFiles(fullPath) - } - if (entry.isFile() && entry.name.endsWith('.test.ts')) { - return [fullPath] - } - return [] - }), - ) - return files.flat() -} - -/** - * Recursively visit and print test collection - */ -function visit(collection: any, indent: string = '', isLast: boolean = true): { tests: number; suites: number } { - let tests = 0 - let suites = 0 - - const tasks = Array.from(collection) - - for (let i = 0; i < tasks.length; i++) { - const task = tasks[i] - const isLastTask = i === tasks.length - 1 - const connector = isLastTask ? '└─ ' : '├─ ' - const nextIndent = indent + (isLastTask ? ' ' : '│ ') - - if (task.type === 'suite') { - console.log(`${indent}${connector}📦 ${task.name}`) - suites++ - - const childCounts = visit(task.children, nextIndent, isLastTask) - tests += childCounts.tests - suites += childCounts.suites - } else if (task.type === 'test') { - console.log(`${indent}${connector}✓ ${task.name}`) - tests++ - } - } - - return { tests, suites } -} - -/** - * Main function - */ -async function main() { - const network = process.argv[2] - const chain = process.argv[3] - - if (!network) { - console.error('Usage: tsx scripts/print-test-tree.ts [chain]') - console.error('') - console.error('Examples:') - console.error(' tsx scripts/print-test-tree.ts kusama # All Kusama tests') - console.error(' tsx scripts/print-test-tree.ts kusama assetHub # AssetHub Kusama tests only') - console.error(' tsx scripts/print-test-tree.ts kusama kusama # Kusama relay chain only') - console.error(' tsx scripts/print-test-tree.ts polkadot people # People Polkadot tests only') - process.exit(1) - } - - try { - const filterInfo = chain ? ` (chain: ${chain})` : '' - console.log(`\n🔍 Collecting tests for network: ${network}${filterInfo}...\n`) - - const packagesDir = resolve(process.cwd(), 'packages', network, 'src') - - // Find all test files - let testFiles = await findTestFiles(packagesDir) - - // Filter by chain if specified - if (chain) { - const chainPattern = chain.charAt(0).toLowerCase() + chain.slice(1) - testFiles = testFiles.filter((file) => { - const fileName = file.split('/').pop() || '' - return fileName.toLowerCase().startsWith(chainPattern.toLowerCase()) - }) - } - - if (testFiles.length === 0) { - console.log('⚠️ No test files found!') - return - } - - // Print header - console.log('='.repeat(80)) - const title = chain - ? `TEST TREE STRUCTURE FOR: ${network.toUpperCase()} - ${chain.toUpperCase()}` - : `TEST TREE STRUCTURE FOR: ${network.toUpperCase()}` - console.log(title) - console.log('='.repeat(80)) - - let totalTests = 0 - let totalSuites = 0 - let totalFiles = 0 - - // Collect and print each file - for (const file of testFiles.sort()) { - const relPath = relative(packagesDir, file) - - // Create fresh vitest instance for each file to avoid state accumulation - const vitest = await createVitest('test', { - watch: false, - run: false, - }) - - // Collect tests from this file - const result = await vitest.collect([file]) - - // Close immediately after collection - await vitest.close() - - if (!result || !result.testModules || result.testModules.length === 0) { - continue - } - - console.log(`\n📄 ${relPath}`) - console.log('─'.repeat(80)) - - // Visit all test modules - const fileCounts = { tests: 0, suites: 0 } - for (const module of result.testModules) { - const counts = visit(module.children, '', true) - fileCounts.tests += counts.tests - fileCounts.suites += counts.suites - } - - totalTests += fileCounts.tests - totalSuites += fileCounts.suites - totalFiles++ - - console.log(`\n Tests: ${fileCounts.tests}, Suites: ${fileCounts.suites}`) - } - - console.log(`\n${'='.repeat(80)}`) - console.log('SUMMARY') - console.log('='.repeat(80)) - console.log(`Total files: ${totalFiles}`) - console.log(`Total tests: ${totalTests}`) - console.log(`Total suites: ${totalSuites}`) - console.log('='.repeat(80) + '\n') - } catch (error) { - console.error('❌ Error:', error instanceof Error ? error.message : error) - if (error instanceof Error && error.stack) { - console.error(error.stack) - } - process.exit(1) - } -} - -main() From d8a29a041ea0bb9411bb861ce42d526688c6e866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 6 Nov 2025 11:34:12 +0000 Subject: [PATCH 35/40] Bump block numbers --- KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env | 22 +++++++++++----------- KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env | 22 +++++++++++----------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env index 17071af98..e558f09ed 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env @@ -1,11 +1,11 @@ -ASSETHUBKUSAMA_BLOCK_NUMBER=11525877 -BASILISK_BLOCK_NUMBER=11859369 -BRIDGEHUBKUSAMA_BLOCK_NUMBER=6899336 -CORETIMEKUSAMA_BLOCK_NUMBER=3839908 -ENCOINTERKUSAMA_BLOCK_NUMBER=11358004 -INTEGRITEEKUSAMA_BLOCK_NUMBER=8859023 -KARURA_BLOCK_NUMBER=10314288 -KUSAMA_BLOCK_NUMBER=30836615 -MOONRIVER_BLOCK_NUMBER=13816741 -PEOPLEKUSAMA_BLOCK_NUMBER=6439926 -SHIDEN_BLOCK_NUMBER=12497124 +ASSETHUBKUSAMA_BLOCK_NUMBER=11536886 +BASILISK_BLOCK_NUMBER=11871367 +BRIDGEHUBKUSAMA_BLOCK_NUMBER=6905064 +CORETIMEKUSAMA_BLOCK_NUMBER=3845399 +ENCOINTERKUSAMA_BLOCK_NUMBER=11368204 +INTEGRITEEKUSAMA_BLOCK_NUMBER=8864736 +KARURA_BLOCK_NUMBER=10319067 +KUSAMA_BLOCK_NUMBER=30848782 +MOONRIVER_BLOCK_NUMBER=13827931 +PEOPLEKUSAMA_BLOCK_NUMBER=6451412 +SHIDEN_BLOCK_NUMBER=12507910 diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env index f2e679dbf..236bf195c 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env @@ -1,11 +1,11 @@ -ACALA_BLOCK_NUMBER=9804236 -ASSETHUBPOLKADOT_BLOCK_NUMBER=10272063 -ASTAR_BLOCK_NUMBER=10937868 -BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6332179 -COLLECTIVESPOLKADOT_BLOCK_NUMBER=7530046 -CORETIMEPOLKADOT_BLOCK_NUMBER=2941141 -HYDRATION_BLOCK_NUMBER=9955581 -INTEGRITEEPOLKADOT_BLOCK_NUMBER=5645229 -MOONBEAM_BLOCK_NUMBER=13231431 -PEOPLEPOLKADOT_BLOCK_NUMBER=3268505 -POLKADOT_BLOCK_NUMBER=28509562 +ACALA_BLOCK_NUMBER=9810099 +ASSETHUBPOLKADOT_BLOCK_NUMBER=10283751 +ASTAR_BLOCK_NUMBER=10949775 +BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6337964 +COLLECTIVESPOLKADOT_BLOCK_NUMBER=7535856 +CORETIMEPOLKADOT_BLOCK_NUMBER=2946717 +HYDRATION_BLOCK_NUMBER=9967755 +INTEGRITEEPOLKADOT_BLOCK_NUMBER=5648920 +MOONBEAM_BLOCK_NUMBER=13242070 +PEOPLEPOLKADOT_BLOCK_NUMBER=3274172 +POLKADOT_BLOCK_NUMBER=28521819 From ab69a6a9dfa7fdb84b6fe7396d57459dfe005fdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 6 Nov 2025 17:42:21 +0000 Subject: [PATCH 36/40] Disable XCM tests involving Polkadot relay --- KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env | 22 +++---- KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env | 22 +++---- packages/networks/src/chains/assethub.ts | 2 +- .../src/bridgeHubPolkadot.polkadot.test.ts | 48 ++++++++------- .../src/collectivesPolkadot.polkadot.test.ts | 44 ++++++++------ .../src/coretimePolkadot.polkadot.test.ts | 44 ++++++++------ .../src/peoplePolkadot.polkadot.test.ts | 58 +++++++++++-------- 7 files changed, 136 insertions(+), 104 deletions(-) diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env index e558f09ed..9da254a7b 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_KUSAMA.env @@ -1,11 +1,11 @@ -ASSETHUBKUSAMA_BLOCK_NUMBER=11536886 -BASILISK_BLOCK_NUMBER=11871367 -BRIDGEHUBKUSAMA_BLOCK_NUMBER=6905064 -CORETIMEKUSAMA_BLOCK_NUMBER=3845399 -ENCOINTERKUSAMA_BLOCK_NUMBER=11368204 -INTEGRITEEKUSAMA_BLOCK_NUMBER=8864736 -KARURA_BLOCK_NUMBER=10319067 -KUSAMA_BLOCK_NUMBER=30848782 -MOONRIVER_BLOCK_NUMBER=13827931 -PEOPLEKUSAMA_BLOCK_NUMBER=6451412 -SHIDEN_BLOCK_NUMBER=12507910 +ASSETHUBKUSAMA_BLOCK_NUMBER=11539184 +BASILISK_BLOCK_NUMBER=11873855 +BRIDGEHUBKUSAMA_BLOCK_NUMBER=6906309 +CORETIMEKUSAMA_BLOCK_NUMBER=3846550 +ENCOINTERKUSAMA_BLOCK_NUMBER=11370243 +INTEGRITEEKUSAMA_BLOCK_NUMBER=8865935 +KARURA_BLOCK_NUMBER=10320052 +KUSAMA_BLOCK_NUMBER=30851311 +MOONRIVER_BLOCK_NUMBER=13830307 +PEOPLEKUSAMA_BLOCK_NUMBER=6453798 +SHIDEN_BLOCK_NUMBER=12510171 diff --git a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env index 236bf195c..eea4fcf10 100644 --- a/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env +++ b/KNOWN_GOOD_BLOCK_NUMBERS_POLKADOT.env @@ -1,11 +1,11 @@ -ACALA_BLOCK_NUMBER=9810099 -ASSETHUBPOLKADOT_BLOCK_NUMBER=10283751 -ASTAR_BLOCK_NUMBER=10949775 -BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6337964 -COLLECTIVESPOLKADOT_BLOCK_NUMBER=7535856 -CORETIMEPOLKADOT_BLOCK_NUMBER=2946717 -HYDRATION_BLOCK_NUMBER=9967755 -INTEGRITEEPOLKADOT_BLOCK_NUMBER=5648920 -MOONBEAM_BLOCK_NUMBER=13242070 -PEOPLEPOLKADOT_BLOCK_NUMBER=3274172 -POLKADOT_BLOCK_NUMBER=28521819 +ACALA_BLOCK_NUMBER=9811323 +ASSETHUBPOLKADOT_BLOCK_NUMBER=10286151 +ASTAR_BLOCK_NUMBER=10952286 +BRIDGEHUBPOLKADOT_BLOCK_NUMBER=6339176 +COLLECTIVESPOLKADOT_BLOCK_NUMBER=7537051 +CORETIMEPOLKADOT_BLOCK_NUMBER=2947877 +HYDRATION_BLOCK_NUMBER=9970280 +INTEGRITEEPOLKADOT_BLOCK_NUMBER=5649685 +MOONBEAM_BLOCK_NUMBER=13244269 +PEOPLEPOLKADOT_BLOCK_NUMBER=3275339 +POLKADOT_BLOCK_NUMBER=28524365 diff --git a/packages/networks/src/chains/assethub.ts b/packages/networks/src/chains/assethub.ts index a3c4bb367..d9ef4c849 100644 --- a/packages/networks/src/chains/assethub.ts +++ b/packages/networks/src/chains/assethub.ts @@ -65,7 +65,7 @@ const getInitStorages = (config: typeof custom.assetHubPolkadot | typeof custom. export const assetHubPolkadot = defineChain({ name: 'assetHubPolkadot', - endpoint: 'wss://polkadot-asset-hub-rpc.polkadot.io', + endpoint: 'wss://sys.ibp.network/asset-hub-polkadot', paraId: 1000, networkGroup: 'polkadot', custom: custom.assetHubPolkadot, diff --git a/packages/polkadot/src/bridgeHubPolkadot.polkadot.test.ts b/packages/polkadot/src/bridgeHubPolkadot.polkadot.test.ts index 9133c1da4..e4643275b 100644 --- a/packages/polkadot/src/bridgeHubPolkadot.polkadot.test.ts +++ b/packages/polkadot/src/bridgeHubPolkadot.polkadot.test.ts @@ -12,25 +12,33 @@ describe('polkadot & bridgeHubPolkadot', async () => { const bridgeHubDOT = bridgeHubPolkadot.custom.dot const polkadotDOT = polkadot.custom.dot - runXcmPalletDown('polkadot transfer DOT to bridgeHubPolkadot', async () => { - return { - fromChain: polkadotClient, - toChain: bridgeHubClient, - balance: query.balances, - toAccount: defaultAccounts.dave, - tx: tx.xcmPallet.teleportAssetsV3(polkadotDOT, 1e12, tx.xcmPallet.parachainV3(0, bridgeHubPolkadot.paraId!)), - totalIssuanceProvider: () => query.totalIssuance(polkadotClient), - } - }) + runXcmPalletDown( + 'polkadot transfer DOT to bridgeHubPolkadot', + async () => { + return { + fromChain: polkadotClient, + toChain: bridgeHubClient, + balance: query.balances, + toAccount: defaultAccounts.dave, + tx: tx.xcmPallet.teleportAssetsV3(polkadotDOT, 1e12, tx.xcmPallet.parachainV3(0, bridgeHubPolkadot.paraId!)), + totalIssuanceProvider: () => query.totalIssuance(polkadotClient), + } + }, + { skip: true }, + ) - runXcmPalletUp('bridgeHubPolkadot transfer DOT to polkadot', async () => { - return { - fromChain: bridgeHubClient, - toChain: polkadotClient, - balance: query.balances, - toAccount: defaultAccounts.dave, - tx: tx.xcmPallet.teleportAssetsV3(bridgeHubDOT, 1e12, tx.xcmPallet.relaychainV4), - totalIssuanceProvider: () => query.totalIssuance(polkadotClient), - } - }) + runXcmPalletUp( + 'bridgeHubPolkadot transfer DOT to polkadot', + async () => { + return { + fromChain: bridgeHubClient, + toChain: polkadotClient, + balance: query.balances, + toAccount: defaultAccounts.dave, + tx: tx.xcmPallet.teleportAssetsV3(bridgeHubDOT, 1e12, tx.xcmPallet.relaychainV4), + totalIssuanceProvider: () => query.totalIssuance(polkadotClient), + } + }, + { skip: true }, + ) }) diff --git a/packages/polkadot/src/collectivesPolkadot.polkadot.test.ts b/packages/polkadot/src/collectivesPolkadot.polkadot.test.ts index c4065a3ef..34e2c31ce 100644 --- a/packages/polkadot/src/collectivesPolkadot.polkadot.test.ts +++ b/packages/polkadot/src/collectivesPolkadot.polkadot.test.ts @@ -11,23 +11,31 @@ describe('collectives & polkadot', async () => { const collectivesDOT = collectivesPolkadot.custom.dot const polkadotDOT = polkadot.custom.dot - runXcmPalletDown('polkadot teleport DOT to collectivesPolkadot', async () => { - return { - fromChain: polkadotClient, - toChain: collectivesClient, - balance: query.balances, - tx: tx.xcmPallet.teleportAssetsV3(polkadotDOT, 1e12, tx.xcmPallet.parachainV3(0, collectivesPolkadot.paraId!)), - totalIssuanceProvider: () => query.totalIssuance(polkadotClient), - } - }) + runXcmPalletDown( + 'polkadot teleport DOT to collectivesPolkadot', + async () => { + return { + fromChain: polkadotClient, + toChain: collectivesClient, + balance: query.balances, + tx: tx.xcmPallet.teleportAssetsV3(polkadotDOT, 1e12, tx.xcmPallet.parachainV3(0, collectivesPolkadot.paraId!)), + totalIssuanceProvider: () => query.totalIssuance(polkadotClient), + } + }, + { skip: true }, + ) - runXcmPalletUp('collectivesPolkadot teleport DOT to polkadot', async () => { - return { - fromChain: collectivesClient, - toChain: polkadotClient, - balance: query.balances, - tx: tx.xcmPallet.teleportAssetsV3(collectivesDOT, 1e12, tx.xcmPallet.relaychainV4), - totalIssuanceProvider: () => query.totalIssuance(polkadotClient), - } - }) + runXcmPalletUp( + 'collectivesPolkadot teleport DOT to polkadot', + async () => { + return { + fromChain: collectivesClient, + toChain: polkadotClient, + balance: query.balances, + tx: tx.xcmPallet.teleportAssetsV3(collectivesDOT, 1e12, tx.xcmPallet.relaychainV4), + totalIssuanceProvider: () => query.totalIssuance(polkadotClient), + } + }, + { skip: true }, + ) }) diff --git a/packages/polkadot/src/coretimePolkadot.polkadot.test.ts b/packages/polkadot/src/coretimePolkadot.polkadot.test.ts index f16d8db75..e3f6a6eaa 100644 --- a/packages/polkadot/src/coretimePolkadot.polkadot.test.ts +++ b/packages/polkadot/src/coretimePolkadot.polkadot.test.ts @@ -11,23 +11,31 @@ describe('polkadot & coretimePolkadot', async () => { const coretimeDOT = coretimePolkadot.custom.dot const polkadotDOT = polkadot.custom.dot - runXcmPalletDown('polkadot transfer DOT to coretimePolkadot', async () => { - return { - fromChain: polkadotClient, - toChain: coretimeClient, - balance: query.balances, - tx: tx.xcmPallet.teleportAssetsV3(polkadotDOT, 1e12, tx.xcmPallet.parachainV3(0, coretimePolkadot.paraId!)), - totalIssuanceProvider: () => query.totalIssuance(polkadotClient), - } - }) + runXcmPalletDown( + 'polkadot transfer DOT to coretimePolkadot', + async () => { + return { + fromChain: polkadotClient, + toChain: coretimeClient, + balance: query.balances, + tx: tx.xcmPallet.teleportAssetsV3(polkadotDOT, 1e12, tx.xcmPallet.parachainV3(0, coretimePolkadot.paraId!)), + totalIssuanceProvider: () => query.totalIssuance(polkadotClient), + } + }, + { skip: true }, + ) - runXcmPalletUp('coretimePolkadot transfer DOT to polkadot', async () => { - return { - fromChain: coretimeClient, - toChain: polkadotClient, - balance: query.balances, - tx: tx.xcmPallet.teleportAssetsV3(coretimeDOT, 1e12, tx.xcmPallet.relaychainV4), - totalIssuanceProvider: () => query.totalIssuance(polkadotClient), - } - }) + runXcmPalletUp( + 'coretimePolkadot transfer DOT to polkadot', + async () => { + return { + fromChain: coretimeClient, + toChain: polkadotClient, + balance: query.balances, + tx: tx.xcmPallet.teleportAssetsV3(coretimeDOT, 1e12, tx.xcmPallet.relaychainV4), + totalIssuanceProvider: () => query.totalIssuance(polkadotClient), + } + }, + { skip: true }, + ) }) diff --git a/packages/polkadot/src/peoplePolkadot.polkadot.test.ts b/packages/polkadot/src/peoplePolkadot.polkadot.test.ts index b1f5be625..25250b690 100644 --- a/packages/polkadot/src/peoplePolkadot.polkadot.test.ts +++ b/packages/polkadot/src/peoplePolkadot.polkadot.test.ts @@ -6,31 +6,39 @@ import { runXcmPalletDown, runXcmPalletUp } from '@e2e-test/shared/xcm' import { describe } from 'vitest' -describe('polkadot & peoplePolkadot', async () => { - const [polkadotClient, peopleClient] = await setupNetworks(polkadot, peoplePolkadot) +describe( + 'polkadot & peoplePolkadot', + async () => { + const [polkadotClient, peopleClient] = await setupNetworks(polkadot, peoplePolkadot) - const peopleDOT = peoplePolkadot.custom.dot - const polkadotDOT = polkadot.custom.dot + const peopleDOT = peoplePolkadot.custom.dot + const polkadotDOT = polkadot.custom.dot - runXcmPalletDown('polkadot transfer DOT to peoplePolkadot', async () => { - return { - fromChain: polkadotClient, - toChain: peopleClient, - balance: query.balances, - toAccount: defaultAccounts.dave, - tx: tx.xcmPallet.teleportAssetsV3(polkadotDOT, 1e12, tx.xcmPallet.parachainV3(0, peoplePolkadot.paraId!)), - totalIssuanceProvider: () => query.totalIssuance(polkadotClient), - } - }) + runXcmPalletDown( + 'polkadot transfer DOT to peoplePolkadot', + async () => { + return { + fromChain: polkadotClient, + toChain: peopleClient, + balance: query.balances, + toAccount: defaultAccounts.dave, + tx: tx.xcmPallet.teleportAssetsV3(polkadotDOT, 1e12, tx.xcmPallet.parachainV3(0, peoplePolkadot.paraId!)), + totalIssuanceProvider: () => query.totalIssuance(polkadotClient), + } + }, + { skip: true }, + ) - runXcmPalletUp('peoplePolkadot transfer DOT to polkadot', async () => { - return { - fromChain: peopleClient, - toChain: polkadotClient, - balance: query.balances, - toAccount: defaultAccounts.dave, - tx: tx.xcmPallet.teleportAssetsV3(peopleDOT, 1e12, tx.xcmPallet.relaychainV4), - totalIssuanceProvider: () => query.totalIssuance(polkadotClient), - } - }) -}) + runXcmPalletUp('peoplePolkadot transfer DOT to polkadot', async () => { + return { + fromChain: peopleClient, + toChain: polkadotClient, + balance: query.balances, + toAccount: defaultAccounts.dave, + tx: tx.xcmPallet.teleportAssetsV3(peopleDOT, 1e12, tx.xcmPallet.relaychainV4), + totalIssuanceProvider: () => query.totalIssuance(polkadotClient), + } + }) + }, + { skip: true }, +) From 5a9a6038ba3a62bec151fb8170c10dcc47844eb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 6 Nov 2025 19:19:51 +0000 Subject: [PATCH 37/40] Update treasury snapshots --- .../src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap | 2 +- packages/networks/src/chains/assethub.ts | 2 +- .../__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap index dff4215bf..2adfc729e 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap @@ -577,7 +577,7 @@ exports[`Kusama Asset Hub Bounties > All bounty success tests > Bounty Closure T }, { "data": { - "amount": "(rounded 8200000)", + "amount": "(rounded 23000000)", "from": "(redacted)", "to": "(redacted)", }, diff --git a/packages/networks/src/chains/assethub.ts b/packages/networks/src/chains/assethub.ts index d9ef4c849..f56ac24c3 100644 --- a/packages/networks/src/chains/assethub.ts +++ b/packages/networks/src/chains/assethub.ts @@ -65,7 +65,7 @@ const getInitStorages = (config: typeof custom.assetHubPolkadot | typeof custom. export const assetHubPolkadot = defineChain({ name: 'assetHubPolkadot', - endpoint: 'wss://sys.ibp.network/asset-hub-polkadot', + endpoint: 'wss://asset-hub-polkadot-rpc.n.dwellir.com', paraId: 1000, networkGroup: 'polkadot', custom: custom.assetHubPolkadot, diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap index 4b68b020f..d507a5164 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap @@ -577,7 +577,7 @@ exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure }, { "data": { - "amount": "(rounded 1000000)", + "amount": "(rounded 1200000)", "from": "(redacted)", "to": "(redacted)", }, From 9da5a7584d2edbf52e7a5853bf7c8e15cb0935a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Thu, 6 Nov 2025 20:13:03 +0000 Subject: [PATCH 38/40] Update Multisig+Proxy tests' snapshots Multisig addresses are deterministic, the when they involve proxy addresses, either as signatories or approvers, they are not. Thus, they must be redacted to avoid spurious failures. --- ...tHubKusama.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- ...timeKusama.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- .../kusama.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- ...opleKusama.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- ...ubPolkadot.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- ...esPolkadot.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- ...mePolkadot.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- ...lePolkadot.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- .../polkadot.multisig.proxy.e2e.test.ts.snap | 32 +++++++++---------- packages/shared/src/multisig.proxy.ts | 23 +++++++++---- 10 files changed, 160 insertions(+), 151 deletions(-) diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap index 5041ade74..e8c69448f 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`Kusama AssetHub Multisig Proxy > failure tests > 2-of-3 multisig as sta "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`Kusama AssetHub Multisig Proxy > failure tests > 2-of-3 multisig as sta "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "HcAjY5pXjBT5w5Sww7TuCmGUfzq8pus4istiUsmcdrA99MK", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "EwtABbxkWmBv8iWZi8SNvoJpSh1dM7n1aQp6YqqkRWQVQjT", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "HcAjY5pXjBT5w5Sww7TuCmGUfzq8pus4istiUsmcdrA99MK", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 12000000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "D6LUxyyhrBRHXzJuw62mNTnEydGLm6WUUNmMDrFxTvddZbe", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "EWvNesS5N98MspX7cr3bWssTv8cQN13h8DPtxQvuKpxbs6s", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "D6LUxyyhrBRHXzJuw62mNTnEydGLm6WUUNmMDrFxTvddZbe", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 12000000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "H48rxGReVas5pT13H4odSdbD2LV8g6cE1AJn3nqJvmsEDnd", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "HCkUdYR59ojDRKauR42rUCYMENWfPwuAAWtvAtnNfM3nt2s", + "approving": "ELPF5Yb4cyVYneiw5esrkLJP1pFCdyw35owdHFHfVef9EUh", "callHash": "(hash)", - "multisig": "GjVEtCRTRsEGpUDg9bCaTEftJAhUrxymbcg1oPLrBAkSJRU", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap index 31aa8699f..709936c7a 100644 --- a/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/coretimeKusama.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`Kusama Coretime Multisig Proxy > failure tests > 2-of-3 multisig as sta "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`Kusama Coretime Multisig Proxy > failure tests > 2-of-3 multisig as sta "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "EnXeLmZdiaAPTxcuET7KLnAPd5DTwGUzAj3mgxkh5RBDWRY", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "FyZmfeYDxoBh5ZUZ21UZAvGjxAtoJWPNsadVDWPzkrt4FE4", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "EnXeLmZdiaAPTxcuET7KLnAPd5DTwGUzAj3mgxkh5RBDWRY", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 3800000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DTsYJ1HV2KvbwnEtU4QQ3c4E59AwnYCgf7yoEcfq3djoP7x", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "Cj7HeaTSzmowTZ7mJo4m5hrVMPVdCwM3rPrCoweTHtbugJ9", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "DTsYJ1HV2KvbwnEtU4QQ3c4E59AwnYCgf7yoEcfq3djoP7x", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 3800000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`Kusama Coretime Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "HeL41HMAe3289TaSFAC58pDkPxDcCc8NueD9LhDjLxZygvH", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama Coretime Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "EQpNYRDGvkz6zBtUEt3TBxnubnmrgCWYpAwR8M9ZQvyaukv", + "approving": "Fm3riF8Pw6Fr9ZQtZo9sgdJt1E3yJvh83Jfo6LNKhrcphK8", "callHash": "(hash)", - "multisig": "HhmbaDttza955UsX6EuzVtcVbkMh5mHBtj8ZGYanSjz1mpw", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap index 9719708c2..f650e0248 100644 --- a/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/kusama.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`Kusama Multisig with Proxy > failure tests > 2-of-3 multisig as standar "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`Kusama Multisig with Proxy > failure tests > 2-of-3 multisig as standar "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig as standar "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig as standar "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig as standar "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "GozzvuRwqK3Mf55QUnQ5hTAuZDKxNXg7A4HeiR771BoWT2R", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure [ { "data": { - "approving": "FKkdc9AsnXXYsRMpSkQ5y4SpiD2EsVoUwNu7CrYEiAPHKLw", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "GozzvuRwqK3Mf55QUnQ5hTAuZDKxNXg7A4HeiR771BoWT2R", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 31000000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "FS5bRm3kvua3GcSD9SRAEZQHBSgCGVcVt977NqKEZCiz6Ja", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure [ { "data": { - "approving": "JAgBJeKPLHVGPGdphGK7U8pJEntk3qxfve4Noftwkzoefw2", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "FS5bRm3kvua3GcSD9SRAEZQHBSgCGVcVt977NqKEZCiz6Ja", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 31000000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`Kusama Multisig with Proxy > success tests > 2-of-3 multisig with pure "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DaHZyp8iyvRTw1vj5QBcT7iFdAdqKQJztcBgfXP5p3SJ25o", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Kusama Multisig with Proxy > success tests > Cancel 2-of-3 multisig wit [ { "data": { - "approving": "FnC3j2gKZNNeQ6SdZLzgxiGL5trKDSoRoC7g5e7qUBQ7gd3", + "approving": "EayYEA3eXV8Ey5oEqXZ7vet1XRYAxTDtBbuZ9nEvVVLDmZ4", "callHash": "(hash)", - "multisig": "EX9UAxo1aJh2XYao3zinbHdjrNc9SY8HWNGRPL6CT2WBEWk", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap index 41d4b7a38..daf34e260 100644 --- a/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/peopleKusama.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`People Kusama Multisig Proxy > failure tests > 2-of-3 multisig as stand "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`People Kusama Multisig Proxy > failure tests > 2-of-3 multisig as stand "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig as stand "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig as stand "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig as stand "data": { "approving": "EvvS4HELEC1nxVHsjYUsPvypd2kXeu78AguyiSN7kV2pTnk", "callHash": "(hash)", - "multisig": "DmDBuaenD2WM54PYRMHqQbCTKd1HnXi6AeHHyeiFU6cosXp", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "DimeW5rwQGByXz3vENZTk4VnrHC4MtRX3QnLbT5cewuA8cW", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "E33vQtnbiV8LGWCWxA8LoRsxyoYGXdvVapvXpHYkW46vuZN", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "DimeW5rwQGByXz3vENZTk4VnrHC4MtRX3QnLbT5cewuA8cW", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 6500000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "CtQQSxkvMVeVGD4SXA2qDQnZby6WR6gjomGGRgjjuhL2HQW", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "CqeyPnJH47PR16p7Dkk3gu2hgWPdxC7Zd8N5GT2gqierXBm", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "CtQQSxkvMVeVGD4SXA2qDQnZby6WR6gjomGGRgjjuhL2HQW", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 6500000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`People Kusama Multisig Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "D8ew585BL5H1ALhn4kmJoxhgqcgKDZLPc6xunJNv4mmrBns", "callHash": "(hash)", - "multisig": "GSgJhYU4H2xYHVEFi8THp11Wj7Dys4zFsvHRQuaaZWTguvz", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`People Kusama Multisig Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "J2br632gonmsrZoYsTSfdpyNq1LEM4tNEmM5GBMcxLjXPQx", + "approving": "FnSPhHnifMvsruFbjfCvDw42bgyrJ3CF759DZbLTJRE5Tka", "callHash": "(hash)", - "multisig": "D6SrGw5yAy7S7k2Zfuny8wWLq9SiKPBiwy22NwzH5VhWnKi", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap index bf8fe2500..03ce9e6d6 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`Polkadot AssetHub Multisig Proxy > failure tests > 2-of-3 multisig as s "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`Polkadot AssetHub Multisig Proxy > failure tests > 2-of-3 multisig as s "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig as s "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig as s "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig as s "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15N29nUeZSSiGb784vk2w11rHydpG5kUbUbyPJ1qFYn5mMLB", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "1wgYFdjeVdpFGEStPLCa9doa8CAUpg3VgX39wamP8C37Buv", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "15N29nUeZSSiGb784vk2w11rHydpG5kUbUbyPJ1qFYn5mMLB", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 10000000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14DcToZT6KQUD2hLxoAGPQ529oSkimMMAirvrBn5hQVdND8i", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "1e2HDzqfgsPUKveANrp1MgYtBvgwv6THoxThKZ1H8QtomMe", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "14DcToZT6KQUD2hLxoAGPQ529oSkimMMAirvrBn5hQVdND8i", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 10000000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1siUwy7MvGtLgaRuZBpKUhA6Ncn1M7uRtvGLu2zcKo2sqkk", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot AssetHub Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "1u25AfzWnPPhggSotF8KqBqa5c11fQqX4DKQYYpcecQa2tM", + "approving": "15m8TJPjWNjk3ij8b1sVhrt8iPQo1aUD3TAKA7hQmJgg4c1J", "callHash": "(hash)", - "multisig": "13G1sUGhNnCWuzj2CUzStezPCovZaKZ3VEyxW31grcLF4usC", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap index 9dbd15fd6..886d60469 100644 --- a/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/collectivesPolkadot.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`Polkadot Collectives Multisig Proxy > failure tests > 2-of-3 multisig a "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`Polkadot Collectives Multisig Proxy > failure tests > 2-of-3 multisig a "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig a "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig a "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig a "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15WWJKKMR736npAuvAzXDC755EVxaHpWhwMxHXKhcV1YaNPx", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w [ { "data": { - "approving": "1NzfySEZxhDz12VYVwW6chkWTMSip9LMs6M2UD3vwX4KezT", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "15WWJKKMR736npAuvAzXDC755EVxaHpWhwMxHXKhcV1YaNPx", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 7500000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14nDq3SZYPAcxcXAK98JfJMcWjrPJr1VTkKXLoEE7KgR55YE", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w [ { "data": { - "approving": "16gjK3hvmPmF4QwXv5MAno1rwy43nBryDfLdVFLYMBBuajru", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "14nDq3SZYPAcxcXAK98JfJMcWjrPJr1VTkKXLoEE7KgR55YE", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 7500000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > 2-of-3 multisig w "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14osvZAiZ9su6NA88R39hSvUkqZEYBj9XWq4W6rtwed5HRnZ", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Collectives Multisig Proxy > success tests > Cancel 2-of-3 mul [ { "data": { - "approving": "15nS3nQjKqA9u9pa6cyRvBPyLpaXYxPXREVgCUVTzCrJEhjN", + "approving": "13hXzvDdnpyX3eHkDuXCeWGX3aVnwxWmyEijZXVMxsQZ41ZP", "callHash": "(hash)", - "multisig": "15XsWuGkEvtAx6jdQiavJ17B5rvppf657qnAvDLjELd5MWcD", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap index d18b7ca1c..360c86400 100644 --- a/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/coretimePolkadot.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`Polkadot Coretime Multisig Proxy > failure tests > 2-of-3 multisig as s "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`Polkadot Coretime Multisig Proxy > failure tests > 2-of-3 multisig as s "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig as s "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig as s "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig as s "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "16CJmKAtaYK7eQky2t4VLxcSUecchEavw6X4c3iGCXtxQpZg", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "149EgyaW1qmXGagDMLPB38AzTJSfjuZpwLUYymgX7WxcwDUT", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "16CJmKAtaYK7eQky2t4VLxcSUecchEavw6X4c3iGCXtxQpZg", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 2900000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "16egysi17wLyemGyd61HgRUSipHN1puoTHFEsU4MqXUeL9eM", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with [ { "data": { - "approving": "152ehfHaiQ5ZSxE6wdwPTb2hc5EW84vM11Mcair3e9xtM6DJ", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "16egysi17wLyemGyd61HgRUSipHN1puoTHFEsU4MqXUeL9eM", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 2900000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > 2-of-3 multisig with "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14TEko61bzuSCsMtYzSJCbsHpKGrZYVdb2cB4QiVSJsL3iyM", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Coretime Multisig Proxy > success tests > Cancel 2-of-3 multis [ { "data": { - "approving": "13Bfr3tLyKxxgtA5Let3BKz5SuiU9gb46nmf4U3LfXv6Ynpx", + "approving": "1AZPXKv7JjFeP2HinaAgtVUxJHkfz5kkHS4RsSAbSp5v9CG", "callHash": "(hash)", - "multisig": "12TdCV3uGEJByhHJjCNedwLhJL3AM6eWF922A1ZmuW7TBbMA", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap index de13674f4..d1b606e35 100644 --- a/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/peoplePolkadot.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`People Polkadot Multisig Proxy > failure tests > 2-of-3 multisig as sta "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`People Polkadot Multisig Proxy > failure tests > 2-of-3 multisig as sta "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig as sta "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "13WVKkNyn3tweWh7Ea2D4ewz1wcKqY8EXG5ksDxZKQqMfstW", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "16VQgG5Qx8rQnZeXVunn4t99FZ76ohohqjdPEeqqAzJxc9fm", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "13WVKkNyn3tweWh7Ea2D4ewz1wcKqY8EXG5ksDxZKQqMfstW", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 3300000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12QhUKnt4tQB2xkm8v8QXAmnNomdFzeMnmZPDf2vXRSzDbGC", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p [ { "data": { - "approving": "12HjnbFpphrLgyyR5VR7zagVz7SEZyF22uMTVyVbwF6dk3Wv", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "12QhUKnt4tQB2xkm8v8QXAmnNomdFzeMnmZPDf2vXRSzDbGC", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 3300000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`People Polkadot Multisig Proxy > success tests > 2-of-3 multisig with p "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "15sXj6MJq9SXudrMYbuGMZ5xdfBSKAMGu82pRpbs5AvkFiEb", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`People Polkadot Multisig Proxy > success tests > Cancel 2-of-3 multisig [ { "data": { - "approving": "13Hjt3R93TprkYG23TzdrQZYJX1uLJTthNP6CYRCpPuuB3nJ", + "approving": "16HDq2bXYHcGUY81ESHc7yWZ4D2hNCPecF88LWD9FUmaB1Mi", "callHash": "(hash)", - "multisig": "15SYcbSUKoj5qc4xyGyST14fQbhaTCiDC36DtzxW1EkefBaL", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap index 0beae6761..e583807cc 100644 --- a/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/polkadot.multisig.proxy.e2e.test.ts.snap @@ -6,7 +6,7 @@ exports[`Polkadot Multisig with Proxy > failure tests > 2-of-3 multisig as stand "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -20,7 +20,7 @@ exports[`Polkadot Multisig with Proxy > failure tests > 2-of-3 multisig as stand "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -39,7 +39,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig as stand "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -53,7 +53,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig as stand "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -72,7 +72,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig as stand "data": { "approving": "13Mbv5CRZeSZUqgN4fnS7bQ8XekARHe4kHaekM9mC3J4Fh7e", "callHash": "(hash)", - "multisig": "12BtfvVr1dH42xFTjMbF5c4MAMLRBRGfiHY24cN7KkueFPFF", + "multisig": "(redacted)", "result": "Ok", "timepoint": { "height": "(redacted)", @@ -93,7 +93,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "14nDnepJCwyDm524eyij9P5u9qJmpUjwvjMP14y6j1AZ66ND", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -105,12 +105,12 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "14PSBSTF1udBBxog5MnrawRdNTsLV4Wrsz7czHP6ScmxgTWt", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "14nDnepJCwyDm524eyij9P5u9qJmpUjwvjMP14y6j1AZ66ND", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 29000000)", "index": 2, }, }, @@ -126,7 +126,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "12k4TyChBdC8aehLHYnWfUmWzhwTSG399NDMgNFCkJmcvgBt", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -138,12 +138,12 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur [ { "data": { - "approving": "14bc7QUb6C2jZqNaQhMk2Z3gKckCM2APpqhTFAFAy89FmQUU", + "approving": "(redacted)", "callHash": "(hash)", - "multisig": "12k4TyChBdC8aehLHYnWfUmWzhwTSG399NDMgNFCkJmcvgBt", + "multisig": "(redacted)", "result": "Ok", "timepoint": { - "height": "(redacted)", + "height": "(rounded 29000000)", "index": 2, }, }, @@ -159,7 +159,7 @@ exports[`Polkadot Multisig with Proxy > success tests > 2-of-3 multisig with pur "data": { "approving": "1ZLR63GQkKph3XmxzziZ1RrPsL6CrJJ1izhgR1mzMaoHZJA", "callHash": "(hash)", - "multisig": "1AHzwRUBMvm7FWfUyaYuVm2znYB79bjLMcguVdr36AFmcwm", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", @@ -171,9 +171,9 @@ exports[`Polkadot Multisig with Proxy > success tests > Cancel 2-of-3 multisig w [ { "data": { - "approving": "12ZUUx4sGppVR2Tnpy8fG9LbkJKW4dh7WSRnXEG6Cdk3u4Cg", + "approving": "15tqmU53bSoExkZmo6FjTaPBBhXWTXWVBWs5yPZ1mWubXpmb", "callHash": "(hash)", - "multisig": "16JWgUcdThqFLohVZS5CLfiZ3qzNb1b85Avh7FEE3WdoUxNG", + "multisig": "(redacted)", }, "method": "NewMultisig", "section": "multisig", diff --git a/packages/shared/src/multisig.proxy.ts b/packages/shared/src/multisig.proxy.ts index b7379e62c..b8fcaa289 100644 --- a/packages/shared/src/multisig.proxy.ts +++ b/packages/shared/src/multisig.proxy.ts @@ -194,7 +194,9 @@ async function multisigWithPureProxyTest< await client.dev.newBlock() // Check that the multisig was created successfully. - await checkEvents(multisigEvents, 'multisig').toMatchSnapshot('events when Alice creates multisig') + await checkEvents(multisigEvents, 'multisig') + .redact({ redactKeys: /multisig/ }) + .toMatchSnapshot('events when Alice creates multisig') // Check that Alice's multisig creation deposit was reserved. let aliceReservedFunds = await getReservedFunds(client, alice.address) @@ -239,7 +241,8 @@ async function multisigWithPureProxyTest< await checkEvents(finalApprovalEvents, 'multisig') .redact({ - redactKeys: /height/, + // The approving address is the proxy, which is not deterministic. + redactKeys: /approving|multisig/, }) .toMatchSnapshot("events when Bob's proxy approves the multisig call") @@ -323,7 +326,9 @@ async function multisigAsStandardProxyTest< await client.dev.newBlock() // Check that the multisig was created successfully. - await checkEvents(multisigEvents, 'multisig').toMatchSnapshot('events when Alice creates multisig') + await checkEvents(multisigEvents, 'multisig') + .redact({ redactKeys: /multisig/ }) + .toMatchSnapshot('events when Alice creates multisig') // Check that Alice's multisig creation deposit was reserved. let aliceReservedFunds = await getReservedFunds(client, alice.address) @@ -381,7 +386,7 @@ async function multisigAsStandardProxyTest< await checkEvents(finalApprovalEvents, 'multisig') .redact({ - redactKeys: /height/, + redactKeys: /height|multisig/, }) .toMatchSnapshot('events when Bob approves multisig call') @@ -475,7 +480,9 @@ async function multisigWithPureProxyMultisigTest< await client.dev.newBlock() // Check that the multisig was created successfully. - await checkEvents(multisigEvents, 'multisig').toMatchSnapshot('events when Alice creates multisig') + await checkEvents(multisigEvents, 'multisig') + .redact({ redactKeys: /multisig/ }) + .toMatchSnapshot('events when Alice creates multisig') // Check that Alice's multisig creation deposit was reserved. let aliceReservedFunds = await getReservedFunds(client, alice.address) @@ -658,7 +665,9 @@ async function cancelMultisigWithPureProxyTest< expect(newAliceReservedFunds, 'Alice should have the same reserved funds').toBe(aliceReservedFunds) // Check that the multisig was created successfully - await checkEvents(multisigEvents, 'multisig').toMatchSnapshot('events when Alice creates multisig') + await checkEvents(multisigEvents, 'multisig') + .redact({ redactKeys: /multisig/ }) + .toMatchSnapshot('events when Alice creates multisig') // Check the multisig creation event (and extract multisig account address) const [, multisigExtrinsicIndex, multisigCallHash] = await getAndVerifyMultisigEventData( @@ -795,7 +804,7 @@ async function multisigAsStandardProxyAnnouncementTest< await checkEvents(finalApprovalEvents, 'multisig') .redact({ - redactKeys: /height/, + redactKeys: /height|multisig/, }) .toMatchSnapshot('events when Bob approves multisig call') From a409c9876d0f4e0b87fc0837b337ddb3a7863f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Fri, 7 Nov 2025 00:23:04 +0000 Subject: [PATCH 39/40] Remove unstable transfer data from bounties snapshots --- .../assetHubKusama.bounties.e2e.test.ts.snap | 46 ------------------- ...assetHubPolkadot.bounties.e2e.test.ts.snap | 46 ------------------- packages/shared/src/bounties.ts | 41 ++++++++++++++--- 3 files changed, 35 insertions(+), 98 deletions(-) diff --git a/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap b/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap index 2adfc729e..35a777dd9 100644 --- a/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap +++ b/packages/kusama/src/__snapshots__/assetHubKusama.bounties.e2e.test.ts.snap @@ -443,29 +443,6 @@ exports[`Kusama Asset Hub Bounties > All bounty success tests > All curator unas ] `; -exports[`Kusama Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > Bounty value is transferred to the treasury 1`] = ` -[ - { - "data": { - "amount": "(rounded 67000000000000)", - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, - { - "data": { - "amount": "(rounded 45000000)", - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, -] -`; - exports[`Kusama Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > bounty approved events 1`] = ` [ { @@ -564,29 +541,6 @@ exports[`Kusama Asset Hub Bounties > All bounty success tests > Bounty Closure T ] `; -exports[`Kusama Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty value transferred to treasury 1`] = ` -[ - { - "data": { - "amount": "(rounded 67000000000000)", - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, - { - "data": { - "amount": "(rounded 23000000)", - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, -] -`; - exports[`Kusama Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in proposed state > bounty rejected events 1`] = ` [ { diff --git a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap index d507a5164..f93d7d991 100644 --- a/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap +++ b/packages/polkadot/src/__snapshots__/assetHubPolkadot.bounties.e2e.test.ts.snap @@ -443,29 +443,6 @@ exports[`Polkadot Asset Hub Bounties > All bounty success tests > All curator un ] `; -exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > Bounty value is transferred to the treasury 1`] = ` -[ - { - "data": { - "amount": 100000000000000, - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, - { - "data": { - "amount": "(rounded 6700000)", - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, -] -`; - exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in active state > bounty approved events 1`] = ` [ { @@ -564,29 +541,6 @@ exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure ] `; -exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in funded state > bounty value transferred to treasury 1`] = ` -[ - { - "data": { - "amount": 100000000000000, - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, - { - "data": { - "amount": "(rounded 1200000)", - "from": "(redacted)", - "to": "(redacted)", - }, - "method": "Transfer", - "section": "balances", - }, -] -`; - exports[`Polkadot Asset Hub Bounties > All bounty success tests > Bounty Closure Tests > Bounty closure in proposed state > bounty rejected events 1`] = ` [ { diff --git a/packages/shared/src/bounties.ts b/packages/shared/src/bounties.ts index 05e12d27d..c6b1b5b5e 100644 --- a/packages/shared/src/bounties.ts +++ b/packages/shared/src/bounties.ts @@ -3,6 +3,8 @@ import { sendTransaction } from '@acala-network/chopsticks-testing' import { type Chain, testAccounts } from '@e2e-test/networks' import { type Client, setupNetworks } from '@e2e-test/shared' +import { encodeAddress } from '@polkadot/util-crypto' + import { assert, expect } from 'vitest' import { match } from 'ts-pattern' @@ -1159,9 +1161,22 @@ export async function bountyClosureFundedTest< .toMatchSnapshot('bounty canceled events') // verify the transfer event - await checkSystemEvents(client, { section: 'balances', method: 'Transfer' }) - .redact({ redactKeys: /from|to/ }) - .toMatchSnapshot('bounty value transferred to treasury') + const events = await client.api.query.system.events() + const treasuryTransferEvent = events.find((record) => { + const { event } = record + if (event.section === 'balances' && event.method === 'Transfer') { + assert(client.api.events.balances.Transfer.is(event)) + return ( + event.data.to.toString() === + encodeAddress(client.api.consts.treasury.potAccount.toHex(), testConfig.addressEncoding) + ) + } + return false + }) + expect(treasuryTransferEvent).toBeDefined() + assert(client.api.events.balances.Transfer.is(treasuryTransferEvent!.event)) + const treasuryTransferEventData = treasuryTransferEvent!.event.data + expect(treasuryTransferEventData.amount.toBigInt()).toBe(bountyValue) // get treasury balance after closure const treasuryAccountAfterClosureInfo = await client.api.query.system.account(treasuryAccountId) @@ -1302,9 +1317,23 @@ export async function bountyClosureActiveTest< .toMatchSnapshot('bounty canceled event') // verify the curator transfer of balance event to the treasury - await checkSystemEvents(client, { section: 'balances', method: 'Transfer' }) - .redact({ redactKeys: /from|to/ }) - .toMatchSnapshot('Bounty value is transferred to the treasury') + const events = await client.api.query.system.events() + const treasuryTransferEvent = events.find((record) => { + const { event } = record + if (event.section === 'balances' && event.method === 'Transfer') { + assert(client.api.events.balances.Transfer.is(event)) + return ( + event.data.to.toString() === + encodeAddress(client.api.consts.treasury.potAccount.toHex(), testConfig.addressEncoding) + ) + } + return false + }) + expect(treasuryTransferEvent).toBeDefined() + assert(client.api.events.balances.Transfer.is(treasuryTransferEvent!.event)) + const treasuryTransferEventData = treasuryTransferEvent!.event.data + // TODO: @dhirajs0, shouldn't this be unnecessary? + expect(treasuryTransferEventData.amount.toBigInt()).toBe(curatorFee * 10n) // Verify bounty is removed from storage const bountyAfterClosure = await getBounty(client, bountyIndex) From 5322cc1748956ab87c8e95b92895153111e0778b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Bald=C3=A9?= Date: Fri, 7 Nov 2025 01:55:48 +0000 Subject: [PATCH 40/40] Fix named scheduled task retry config test It did not take into account the possibility that a test task would be scheduled in the same block as a real task. --- packages/shared/src/scheduler.ts | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/packages/shared/src/scheduler.ts b/packages/shared/src/scheduler.ts index 3bf8680bf..c1c8aadc9 100644 --- a/packages/shared/src/scheduler.ts +++ b/packages/shared/src/scheduler.ts @@ -1773,13 +1773,20 @@ export async function scheduleNamedWithRetryConfig< // In the meantime, the task has been retried a second time, and has scheduled for a third scheduled = await client.api.query.scheduler.agenda(finalRescheduledBlock!) - expect(scheduled.length).toBe(1) - expect(scheduled[0].isSome).toBeTruthy() - await check(scheduled[0].unwrap()).toMatchObject({ + expect(scheduled.length).toBeGreaterThan(0) + // Find the task by its call + const taskIndex = scheduled.findIndex((t) => { + if (!t.isSome) return false + const unwrapped = t.unwrap() + return unwrapped.call.isInline && unwrapped.call.asInline.toHex() === failingTx.method.toHex() + }) + expect(taskIndex).toBeGreaterThanOrEqual(0) + expect(scheduled[taskIndex].isSome).toBeTruthy() + await check(scheduled[taskIndex].unwrap()).toMatchObject({ ...baseTask, maybeId: null, }) - retryOpt = await client.api.query.scheduler.retries([finalRescheduledBlock!, 0]) + retryOpt = await client.api.query.scheduler.retries([finalRescheduledBlock!, taskIndex]) assert(retryOpt.isSome) retry = retryOpt.unwrap() await check(retry).toMatchObject({ @@ -1788,19 +1795,26 @@ export async function scheduleNamedWithRetryConfig< }) // Cancel the retry configuration with `cancelRetry` - cancelRetryTx = client.api.tx.scheduler.cancelRetry([finalRescheduledBlock!, 0]) + cancelRetryTx = client.api.tx.scheduler.cancelRetry([finalRescheduledBlock!, taskIndex]) await scheduleInlineCallWithOrigin(client, cancelRetryTx.method.toHex(), { system: 'Root' }, testConfig.blockProvider) await client.dev.newBlock() - retryOpt = await client.api.query.scheduler.retries([finalRescheduledBlock!, 0]) + retryOpt = await client.api.query.scheduler.retries([finalRescheduledBlock!, taskIndex]) expect(retryOpt.isNone).toBeTruthy() // Check that the retry config cancellation does not affect the scheduled third try scheduled = await client.api.query.scheduler.agenda(finalRescheduledBlock!) - expect(scheduled.length).toBe(1) - expect(scheduled[0].isSome).toBeTruthy() - await check(scheduled[0].unwrap()).toMatchObject({ + expect(scheduled.length).toBeGreaterThan(0) + // Find the task by its call + const finalTaskIndex = scheduled.findIndex((t) => { + if (!t.isSome) return false + const unwrapped = t.unwrap() + return unwrapped.call.isInline && unwrapped.call.asInline.toHex() === failingTx.method.toHex() + }) + expect(finalTaskIndex).toBeGreaterThanOrEqual(0) + expect(scheduled[finalTaskIndex].isSome).toBeTruthy() + await check(scheduled[finalTaskIndex].unwrap()).toMatchObject({ ...baseTask, maybeId: null, })