From c409dc1a816a8ea4331c7d5a19346268d335f276 Mon Sep 17 00:00:00 2001 From: Muharem Ismailov Date: Tue, 16 May 2023 17:03:26 +0200 Subject: [PATCH] Collectives integration tests xcm v3 (#2221) * Collectives integration tests xcm v3 * remove comment * review fixs --------- Co-authored-by: parity-processbot <> --- .../collectives/0_xcm/0_init.yml | 27 +++-- .../collectives/0_xcm/1_teleport.yml | 30 ++---- .../collectives/0_xcm/2_reserve.yml | 45 +------- .../1_alliance/1_init_alliance.yml | 100 +++++++++++++----- .../collectives/1_alliance/3_kick_member.yml | 44 ++++---- 5 files changed, 129 insertions(+), 117 deletions(-) diff --git a/parachains/integration-tests/collectives/0_xcm/0_init.yml b/parachains/integration-tests/collectives/0_xcm/0_init.yml index 8c03348025d..48a86f9136e 100644 --- a/parachains/integration-tests/collectives/0_xcm/0_init.yml +++ b/parachains/integration-tests/collectives/0_xcm/0_init.yml @@ -7,7 +7,7 @@ settings: wsPort: 9710 paraId: &cp_id 1001 variables: - xcm_version: &xcm_version '2' + xcm_version: &xcm_version '3' chains: accounts: alice_signer: &alice_signer //Alice @@ -62,13 +62,26 @@ tests: pallet: xcmPallet call: send args: [ - { v1: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination + { v3: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination { - v2: [ # message + v3: [ # message + { + UnpaidExecution: { + weightLimit: { + limited: { + refTime: 2200000000, # 2_200_000_000 + proofSize: 200000, # 200_000 + }, + } + } + }, { Transact: { - originType: Superuser, - requireWeightAtMost: 1000000000, # 1_000_000_000 + originKind: Superuser, + requireWeightAtMost: { + refTime: 200000000, # 200_000_000 + proofSize: 0, + }, call: $ap_force_xcm_version } } @@ -89,7 +102,5 @@ tests: - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # the weight must be static - value: 2,000,000,000 diff --git a/parachains/integration-tests/collectives/0_xcm/1_teleport.yml b/parachains/integration-tests/collectives/0_xcm/1_teleport.yml index cedd08438ad..2b1a6bba8f1 100644 --- a/parachains/integration-tests/collectives/0_xcm/1_teleport.yml +++ b/parachains/integration-tests/collectives/0_xcm/1_teleport.yml @@ -7,8 +7,6 @@ settings: wsPort: 9710 paraId: &cp_id 1001 variables: - weight_to_send_teleport: &weight_to_send_teleport 2,000,000,000 # must be same for both chains - weight_to_receive_teleport: &weight_to_receive_teleport 4,000,000,000 # must be same for both chains accounts: alice_signer: &acc_alice_signer //Alice alice_account32: &acc_alice_acc32 '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d' @@ -39,10 +37,10 @@ tests: pallet: xcmPallet call: teleportAssets args: [ - { v1: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination - { v1: { parents: 0, interior: { x1: { accountId32: { network: { any: true }, id: *acc_alice_acc32 }}}}}, # beneficiary + { v3: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination + { v3: { parents: 0, interior: { x1: { accountId32: { id: *acc_alice_acc32 }}}}}, # beneficiary { - v1: [ + v3: [ # { # # TODO use a separate Assets to pay a fee, to receive an exact amount of assets on beneficiary account. # # a call with two assets fails with an error right now. @@ -61,17 +59,13 @@ tests: - name: xcmPallet.Attempted chain: *relay_chain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # the weight must be static - value: *weight_to_send_teleport - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # the weight must be static - value: *weight_to_receive_teleport - queries: balance_rc_alice_2: chain: *relay_chain @@ -113,10 +107,10 @@ tests: pallet: polkadotXcm call: teleportAssets args: [ - { v1: { parents: 1, interior: { here: true }}}, # destination - { v1: { parents: 0, interior: { x1: { accountId32: { network: { any: true }, id: *acc_alice_acc32 }}}}}, # beneficiary + { v3: { parents: 1, interior: { here: true }}}, # destination + { v3: { parents: 0, interior: { x1: { accountId32: { id: *acc_alice_acc32 }}}}}, # beneficiary { - v1: [ + v3: [ { id: { concrete: { parents: 1, interior: { here: true }}}, fun: { fungible: 10000000000000 } # 10_000_000_000_000 @@ -136,10 +130,8 @@ tests: value: 10000000000000 - name: polkadotXcm.Attempted attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # the weight must be static - value: *weight_to_send_teleport - name: balances.Withdraw chain: *relay_chain attributes: @@ -149,10 +141,8 @@ tests: - name: ump.ExecutedUpward chain: *relay_chain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # the weight must be static - value: *weight_to_receive_teleport - queries: balance_rc_alice_3: chain: *relay_chain diff --git a/parachains/integration-tests/collectives/0_xcm/2_reserve.yml b/parachains/integration-tests/collectives/0_xcm/2_reserve.yml index 0af20ba7daa..ac42ca4a4b0 100644 --- a/parachains/integration-tests/collectives/0_xcm/2_reserve.yml +++ b/parachains/integration-tests/collectives/0_xcm/2_reserve.yml @@ -7,8 +7,6 @@ settings: wsPort: 9710 paraId: &cp_id 1001 variables: - xcm_version: &xcm_version '2' - weight_to_send_reserve: &weight_to_send_reserve 1,000,000,000 # must be same for both chains chains: accounts: alice_signer: &alice_signer //Alice @@ -26,10 +24,10 @@ tests: pallet: xcmPallet call: reserveTransferAssets args: [ - { v1: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination - { v1: { parents: 0, interior: { x1: { accountId32: { network: { any: true }, id: *alice_acc32 }}}}}, # beneficiary + { v3: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination + { v3: { parents: 0, interior: { x1: { accountId32: { id: *alice_acc32 }}}}}, # beneficiary { - v1: [ + v3: [ { id: { concrete: { 0, interior: { here: true }}}, fun: { fungible: 20000000000000 } # 20_000_000_000_000 @@ -42,43 +40,10 @@ tests: - name: xcmPallet.Attempted chain: *relay_chain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # the weight must be static - value: *weight_to_send_reserve - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Incomplete - # the weight must be static - value: [1000000000, UntrustedReserveLocation] - - - name: Reserve assets from Collectives Parachain to Relay Chain fails - actions: - - extrinsics: - - chain: *collectives_parachain - signer: *alice_signer - pallet: polkadotXcm - call: reserveTransferAssets - args: [ - { v1: { parents: 1, interior: { here: true }}}, # destination - { v1: { parents: 0, interior: { x1: { accountId32: { network: { any: true }, id: *alice_acc32 }}}}}, # beneficiary - { - v1: [ - { - id: { concrete: { parents: 1, interior: { here: true }}}, - fun: { fungible: 10000000000000 } # 10_000_000_000_000 - } - ] - }, # assets - 0, # feeAssetItem - ] - events: - - name: system.ExtrinsicFailed - attributes: - - type: SpRuntimeDispatchError - key: dispatchError - # TODO assert variant - # issue - https://github.com/paritytech/parachains-integration-tests/issues/59 - value: {"Module":{"index":"31","error":"0x02000000"}} diff --git a/parachains/integration-tests/collectives/1_alliance/1_init_alliance.yml b/parachains/integration-tests/collectives/1_alliance/1_init_alliance.yml index 2891d01ca02..8e9adbbeb47 100644 --- a/parachains/integration-tests/collectives/1_alliance/1_init_alliance.yml +++ b/parachains/integration-tests/collectives/1_alliance/1_init_alliance.yml @@ -81,13 +81,26 @@ tests: pallet: xcmPallet call: send args: [ - { v1: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination + { v3: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination { - v2: [ # message + v3: [ # message + { + UnpaidExecution: { + weightLimit: { + limited: { + refTime: 3000000000, # 3_000_000_000 + proofSize: 2000000, # 2_000_000 + }, + } + } + }, { Transact: { - originType: Superuser, - requireWeightAtMost: 1000000000, # 1_000_000_000 + originKind: Superuser, + requireWeightAtMost: { + refTime: 1000000000, # 1_000_000_000 + proofSize: 1000000, # 1_000_000 + }, call: $init_alliance_members } } @@ -105,10 +118,8 @@ tests: - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # we don't know how much weight will be spent for custom call within Transact operation - # value: skipping the assertion - name: Alliance init call fails. actions: @@ -119,13 +130,26 @@ tests: pallet: xcmPallet call: send args: [ - { v1: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination + { v3: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination { - v2: [ # message + v3: [ # message + { + UnpaidExecution: { + weightLimit: { + limited: { + refTime: 3000000000, # 3_000_000_000 + proofSize: 2000000, # 2_000_000 + }, + } + } + }, { Transact: { - originType: Superuser, - requireWeightAtMost: 1000000000, # 1_000_000_000 + originKind: Superuser, + requireWeightAtMost: { + refTime: 1000000000, # 1_000_000_000 + proofSize: 1000000, # 1_000_000 + }, call: $init_alliance_voting_members } } @@ -145,10 +169,8 @@ tests: - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # the call must fail, the weight spent is static - value: 2,000,000,000 - name: Alliance disbanded and initialized again. actions: @@ -159,13 +181,26 @@ tests: pallet: xcmPallet call: send args: [ - { v1: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination + { v3: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination { - v2: [ # message + v3: [ # message + { + UnpaidExecution: { + weightLimit: { + limited: { + refTime: 5000000000, # 3_000_000_000 + proofSize: 1000000, # 1_000_000 + }, + } + } + }, { Transact: { - originType: Superuser, - requireWeightAtMost: 100000000000, # 100_000_000_000 + originKind: Superuser, + requireWeightAtMost: { + refTime: 3000000000, # 3_000_000_000 + proofSize: 200000, # 200_000 + }, call: $disband } } @@ -193,10 +228,8 @@ tests: - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # we don't know how much weight will be spent for custom call within Transact operation - # value: skipping the assertion - name: Alliance initiated, founders and fellows are set. actions: - extrinsics: @@ -206,13 +239,26 @@ tests: pallet: xcmPallet call: send args: [ - { v1: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination + { v3: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination { - v2: [ # message + v3: [ # message + { + UnpaidExecution: { + weightLimit: { + limited: { + refTime: 3000000000, # 3_000_000_000 + proofSize: 2000000, # 2_000_000 + }, + } + } + }, { Transact: { - originType: Superuser, - requireWeightAtMost: 1000000000, # 1_000_000_000 + originKind: Superuser, + requireWeightAtMost: { + refTime: 1000000000, # 1_000_000_000 + proofSize: 1000000, # 1_000_000 + }, call: $init_alliance_members } } @@ -230,8 +276,6 @@ tests: - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # we don't know how much weight will be spent for custom call within Transact operation - # value: skipping the assertion diff --git a/parachains/integration-tests/collectives/1_alliance/3_kick_member.yml b/parachains/integration-tests/collectives/1_alliance/3_kick_member.yml index 6283bacfdb9..62c61787e21 100644 --- a/parachains/integration-tests/collectives/1_alliance/3_kick_member.yml +++ b/parachains/integration-tests/collectives/1_alliance/3_kick_member.yml @@ -8,9 +8,6 @@ settings: paraId: &cp_id 1001 variables: init_teleport_amount: &init_teleport_amount 20000000000000 # 20_000_000_000_000 - weight_to_send_teleport: &weight_to_send_teleport 2,000,000,000 # must be same for both chains - weight_to_receive_teleport: &weight_to_receive_teleport 4,000,000,000 # must be same for both chains - weight_to_receive_transact: &weight_to_receive_transact 3,000,000,000 # must be same for both chains accounts: alice_signer: &acc_alice_signer //Alice treasury_account32: &acc_treasury_acc32 '0x6d6f646c70792f74727372790000000000000000000000000000000000000000' @@ -36,34 +33,28 @@ tests: pallet: xcmPallet call: limitedTeleportAssets args: [ - { v1: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination - { v1: { parents: 0, interior: { x1: { accountId32: { network: { any: true }, id: *acc_alice_acc32 }}}}}, # beneficiary - { v1: [ { id: { concrete: { 0, interior: { here: true }}}, fun: { fungible: *init_teleport_amount }} ] }, # assets + { v3: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination + { v3: { parents: 0, interior: { x1: { accountId32: { id: *acc_alice_acc32 }}}}}, # beneficiary + { v3: [ { id: { concrete: { 0, interior: { here: true }}}, fun: { fungible: *init_teleport_amount }} ] }, # assets 0, # feeAssetItem { unlimited: true } # weightLimit ] events: - name: xcmPallet.Attempted attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - value: *weight_to_send_teleport - name: balances.Deposit chain: *collectives_parachain attributes: - type: AccountId32 key: who value: *acc_alice_ss58 - - type: u128 - key: amount - value: 20,000,000,000,000 - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # must be static - value: *weight_to_receive_teleport - name: Get the balances of the Relay Chain's treasury & Collectives parachain's future alliance member actions: - queries: @@ -129,13 +120,26 @@ tests: pallet: xcmPallet call: send args: [ - { v1: { parents: 0, interior: { x1: { parachain: *cp_id }}}}, # destination + { v3: { parents: 0, interior: { x1: { parachain: *cp_id }}}}, # destination { - v2: [ #message + v3: [ #message + { + UnpaidExecution: { + weightLimit: { + limited: { + refTime: 4000000000, # 4_000_000_000 + proofSize: 2000000, # 2_000_000 + }, + } + } + }, { Transact: { - originType: Superuser, - requireWeightAtMost: 2000000000, + originKind: Superuser, + requireWeightAtMost: { + refTime: 2000000000, # 2_000_000_000 + proofSize: 1000000, # 1_000_000 + }, call: $alliance_kick_member } } @@ -157,10 +161,8 @@ tests: - name: dmpQueue.ExecutedDownward chain: *collectives_parachain attributes: - - type: XcmV2TraitsOutcome + - type: XcmV3TraitsOutcome xcmOutcome: Complete - # must be static - value: *weight_to_receive_transact - queries: balance_rc_treasury_after: