Files
pezkuwi-subxt/parachains/integration-tests/statemint/xcm/1_dmp.yml
T
Squirrel 27d05a38e1 backport: update integration tests (#1695)
* Update integration test v0.9.29 (#1681)

* update it

* remove comment

* update it (#1689)

Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
2022-09-28 16:37:57 +00:00

257 lines
9.3 KiB
YAML

---
settings:
chains:
relay_chain: &relay_chain
wsPort: 9900
assets_parachain: &assets_parachain
wsPort: 9910
paraId: &ap_id 1000
variables:
relay_chain:
signer: &rc_signer //Alice
wallet: &rc_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
assets_parachain_destination: &ap_dest { v1: { parents: 0, interior: { x1: { parachain: *ap_id }}}}
assets_parachain_account: &ap_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
assets_parachain_beneficiary: &ap_benf {v1: { parents: 0, interior: { x1: { accountId32: { network: { any: true }, id: *ap_acc }}}}}
ksm: &rc_ksm { concrete: { parents: 0, interior: { here: true }}}
amount: &amount 1000000000000
ksm_fungible: &rc_ksm_fungible { id: *rc_ksm, fun: { fungible: *amount }}
require_weight_at_most: &rc_weight_at_most 1000000000
assets_parachain_account:
wallet: &ap_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
asset_id: &asset_id 1
asset_min_balance: &asset_ed 1000
decodedCalls:
force_create_asset:
chain: *assets_parachain
pallet: assets
call: forceCreate
args: [
*asset_id,
{ Id: *ap_wallet }, # owner
true, # isSufficient
*asset_ed # minBalance
]
tests:
- name: DMP
its: []
describes:
- name: xcmPallet.limitedTeleportAssets
before: &before_get_balances
- name: Get the balances of the Relay Chain's sender & Assets Parachain's receiver
actions:
- queries:
balance_rc_sender_before:
chain: *relay_chain
pallet: system
call: account
args: [ *rc_wallet ]
balance_ap_receiver_before:
chain: *assets_parachain
pallet: system
call: account
args: [ *ap_wallet ]
its:
- name: Should teleport native assets from the Relay Chain to the Assets Parachain
actions:
- extrinsics:
- chain: *relay_chain
signer: *rc_signer
pallet: xcmPallet
call: limitedTeleportAssets
args: [
*ap_dest, # destination
*ap_benf, # beneficiary
{ v1: [ *rc_ksm_fungible ] }, # assets
0, # feeAssetItem
{ unlimited: true } # weightLimit
]
events:
- name: xcmPallet.Attempted
attribute:
type: XcmV2TraitsOutcome
isComplete: true
- name: dmpQueue.ExecutedDownward
chain: *assets_parachain
attribute:
type: XcmV2TraitsOutcome
isComplete: true
threshold: [10, 10]
value: 1,021,635,000
- queries:
balance_rc_sender_after:
chain: *relay_chain
pallet: system
call: account
args: [ *rc_wallet ]
balance_ap_receiver_after:
chain: *assets_parachain
pallet: system
call: account
args: [ *ap_wallet ]
- name: Should reduce the balance of the sender
actions:
- asserts:
balanceDecreased:
args: [
{
balances: {
before: $balance_rc_sender_before,
after: $balance_rc_sender_after,
},
amount: *amount
}
]
- name: Should increase the balance of the receiver
actions:
- asserts:
balanceIncreased:
args: [
{
balances: {
before: $balance_ap_receiver_before,
after: $balance_ap_receiver_after,
}
}
]
- name: xcmPallet.send | Superuser - Transact(assets.forceCreate)
its:
- name: Relay Chain Superuser account SHOULD be able to execute a XCM Transact instruction in the Assets Parachain
actions:
- extrinsics:
- chain: *relay_chain
signer: *rc_signer
sudo: true
pallet: xcmPallet
call: send
args: [
*ap_dest, # destination
{
v2: [ #message
{
Transact: {
originType: Superuser,
requireWeightAtMost: *rc_weight_at_most,
call: $force_create_asset
}
}
]
}
]
events:
- name: xcmPallet.Sent
- name: dmpQueue.ExecutedDownward
chain: *assets_parachain
attribute:
type: XcmV2TraitsOutcome
isComplete: true
threshold: [10, 10]
value: 1,020,807,000
- queries:
forced_created_asset:
chain: *assets_parachain
pallet: assets
call: asset
args: [ *asset_id ]
- asserts:
isSome:
args: [ $forced_created_asset ]
- name: xcmPallet.send | Native - Transact(assets.forceCreate)
its:
- name: Relay Chain Native account SHOULD NOT be able to execute a XCM Transact instruction in the Assets Parachain
actions:
- extrinsics:
- chain: *relay_chain
signer: *rc_signer
pallet: xcmPallet
call: send
args: [
*ap_dest, # destination
{
v2: [ #message
{
Transact: {
originType: Native,
requireWeightAtMost: *rc_weight_at_most,
call: $force_create_asset
}
}
]
}
]
events:
- name: system.ExtrinsicFailed
attribute:
type: SpRuntimeDispatchError
value: BadOrigin
- name: xcmPallet.limitedReserveTransferAssets
before: *before_get_balances
its:
- name: SHOULD NOT reserved transfer native assets from the Relay Chain to the Assets Parachain
actions:
- extrinsics:
- chain: *relay_chain
signer: *rc_signer
pallet: xcmPallet
call: limitedReserveTransferAssets
args: [
*ap_dest, # destination
*ap_benf, # beneficiary
{ v1: [ *rc_ksm_fungible ] }, # assets
0, # feeAssetItem
{ unlimited: true } # weightLimit
]
events:
- name: xcmPallet.Attempted
attribute:
type: XcmV2TraitsOutcome
isComplete: true
value: 1,000,000,000
- name: dmpQueue.ExecutedDownward
chain: *assets_parachain
attribute:
type: XcmV2TraitsOutcome
isError: true
value: "WeightNotComputable"
- queries:
balance_rc_sender_after:
chain: *relay_chain
pallet: system
call: account
args: [ *rc_wallet ]
balance_ap_receiver_after:
chain: *assets_parachain
pallet: system
call: account
args: [ *ap_wallet ]
- name: Should reduce the balance of the sender
actions:
- asserts:
balanceDecreased:
args: [
{
balances: {
before: $balance_rc_sender_before,
after: $balance_rc_sender_after,
},
amount: *amount
}
]
- name: Should keep the balance of the receiver
actions:
- asserts:
equal:
args:
[
$balance_ap_receiver_before,
$balance_ap_receiver_after
]