Skip to content

Commit

Permalink
chore: Polkadot 1.7.0 (#655)
Browse files Browse the repository at this point in the history
## fixes
[KILTprotocol/ticket#3439](KILTprotocol/ticket#3439)


### notable Changes

- rust version 1.7.4 (Toolchain and gitlab runner are updated) 
- the preimage_pallet is no longer using deposits, instead it uses
[consideration](paritytech/polkadot-sdk#1361),
which is an abstration over the balance. The exact footprint of an
storage entry is used to calculate the cost storing entries. Might be
interesting for our current deposit model.
- The pallet-xcm introduced a new benchmarking logic 

### Pallets

- Removed cumulus_pallet_dmp_queue (Replaced by pallet_message_queue).
There is a lazy migration provided, which is running automatically. Once
the the [Complete
event](paritytech/polkadot-sdk#1246) is emitted,
we can delete the pallet.
- Treasur introduced a new [spending
support](paritytech/polkadot-sdk#1333), which is
currently disabled. Might be interesting at some point, if other
currencies are available.
- `transfer` extrinsic in `pallet_balances` is removed. Will be a
breaking change for Sporran. For other new introduced extrinsics, please
have a lookin the diffs below.
- Tips: A max tip amount has to be specified, which is currently set to
1_000_000 KILT


### Emulated Tests

I am quite unhappy with the current state of the emulated tests. I would
like to refactor those tests as described in this
[issue](KILTprotocol/ticket#3241 (comment)).
For this PR, I only fixed problems arised by updating the dependencies.

Since the polkadot-runtime is no longer part of the Polkadot-SDK, the
relay chain for Spiritnet has been changed to Rococo. The purpose of
these tests is to ensure that the expectations of the xcm-configuration
match the implementation. The specific relay chain used should not
matter.

### XCM 

- XCM version 4 is out which is also the LTS for XCM. 
- In version 4 a new instruction `Transfer` is introduced, which needed
to be denied by the Barrier
- renaming of paramters: The `Multi` is removed: MultiLocation ->
Location, MultiAsset -> Asset, ...


### Try-runtime

In version 1.7.0 additional try-runtime tests are introduced, where it
is tried to decode the whole storage of the chain. This error should
only occur for chains which are still running on an ancient SDK version
and will be fixed automatically in the next runtime upgrade.

### Weights

Since a lot of new extrinsics are introduced, I updated all weights.

### Todos

- [x] execute Benchmarking 

## Metadata Diff to Develop Branch

<details>
<summary>Peregrine Diff</summary>

```
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 8 change(s)
  - calls changes:
    [+] CallDesc { index: 9, name: "authorize_upgrade", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }] } }
    [+] CallDesc { index: 10, name: "authorize_upgrade_without_checks", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }] } }
    [+] CallDesc { index: 11, name: "apply_authorized_upgrade", signature: SignatureDesc { args: [ArgDesc { name: "code", ty: "Vec<u8>" }] } }

  - events changes:
    [+] EventDesc { index: 6, name: "UpgradeAuthorized", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }, ArgDesc { name: "check_version", ty: "bool" }] } }

  - errors changes:
    [+] ErrorDesc { index: 6, name: "NothingAuthorized" }
    [+] ErrorDesc { index: 7, name: "Unauthorized" }

  - constants changes:
    [≠] Version: [ 48, 109, 97, 115, 104, 110, 101, 116, 45, 110, 111, 100, 101, 48, 109, 97, 115, 104, 110, 101, 116, 45, 110, 111, 100, 101, 4, 0, 0, 0, 136, 44, ... ]
        [Value([Changed(38, U8Change(60, 68)), Changed(159, U8Change(234, 215)), Changed(160, U8Change(147, 189)), Changed(161, U8Change(227, 216)), Changed(162, U8Change(241, 162)), Changed(163, U8Change(111, 114)), Changed(164, U8Change(61, 202)), Changed(165, U8Change(105, 13)), Changed(166, U8Change(98, 101)), Changed(167, U8Change(2, 1)), Changed(171, U8Change(38, 234)), Changed(172, U8Change(96, 147)), Changed(173, U8Change(149, 227)), Changed(174, U8Change(85, 241)), Changed(175, U8Change(192, 111)), Changed(176, U8Change(101, 61)), Changed(177, U8Change(102, 105)), Changed(178, U8Change(3, 98)), Changed(183, U8Change(164, 38)), Changed(184, U8Change(123, 96)), Changed(185, U8Change(125, 149)), Changed(186, U8Change(84, 85)), Changed(187, U8Change(73, 192)), Changed(188, U8Change(148, 101)), Changed(189, U8Change(201, 102)), Changed(190, U8Change(155, 3)), Changed(191, U8Change(1, 2)), Changed(195, U8Change(69, 164)), Changed(196, U8Change(191, 123)), Changed(197, U8Change(186, 125)), Changed(198, U8Change(81, 84)), Changed(199, U8Change(163, 73)), Changed(200, U8Change(16, 148)), Changed(201, U8Change(178, 201)), Changed(202, U8Change(35, 155)), Changed(207, U8Change(195, 69)), Changed(208, U8Change(179, 191)), Changed(209, U8Change(232, 186)), Changed(210, U8Change(211, 81)), Changed(211, U8Change(50, 163)), Changed(212, U8Change(115, 16)), Changed(213, U8Change(153, 178)), Changed(214, U8Change(13, 35)), Changed(219, U8Change(8, 195)), Changed(220, U8Change(0, 179)), Changed(221, U8Change(0, 232)), Changed(222, U8Change(0, 211)), Changed(223, U8Change(0, 50)), Added(224, 115), Added(225, 153), Added(226, 13), Added(227, 1), Added(228, 0), Added(229, 0), Added(230, 0), Added(231, 251), Added(232, 197), Added(233, 119), Added(234, 185), Added(235, 215), Added(236, 71), Added(237, 239), Added(238, 214), Added(239, 1), Added(240, 0), Added(241, 0), Added(242, 0), Added(243, 8), Added(244, 0), Added(245, 0), Added(246, 0), Added(247, 0)])]

  - storages changes:
    [+] StorageDesc { name: "AuthorizedUpgrade", modifier: "Optional", default_value: [0] }

[≠] pallet 6: Balances -> 7 change(s)
  - calls changes:
    [+] CallDesc { index: 9, name: "force_adjust_total_issuance", signature: SignatureDesc { args: [ArgDesc { name: "direction", ty: "AdjustmentDirection" }, ArgDesc { name: "delta", ty: "T::Balance" }] } }
    [-] "set_balance_deprecated"
    [-] "transfer"

  - events changes:
    [+] EventDesc { index: 21, name: "TotalIssuanceForced", signature: SignatureDesc { args: [ArgDesc { name: "old", ty: "T::Balance" }, ArgDesc { name: "new", ty: "T::Balance" }] } }

  - errors changes:
    [+] ErrorDesc { index: 10, name: "IssuanceDeactivated" }
    [+] ErrorDesc { index: 11, name: "DeltaZero" }

  - constants changes:
    [-] "MaxHolds"

[≠] pallet 8: Sudo -> 4 change(s)
  - calls changes:
    [+] CallDesc { index: 4, name: "remove_key", signature: SignatureDesc { args: [] } }

  - events changes:
    [≠]  1: KeyChanged ( old_sudoer: Option<T::AccountId>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Name(StringChange("old_sudoer", "old"))]), Added(1, ArgDesc { name: "new", ty: "T::AccountId" })] })]
    [≠]  2: SudoAsDone ( sudo_result: DispatchResult, )  )
        [Name(StringChange("SudoAsDone", "KeyRemoved")), Signature(SignatureChange { args: [Removed(0, ArgDesc { name: "sudo_result", ty: "DispatchResult" })] })]
    [+] EventDesc { index: 3, name: "SudoAsDone", signature: SignatureDesc { args: [ArgDesc { name: "sudo_result", ty: "DispatchResult" }] } }

[≠] pallet 24: AuraExt -> 1 change(s)
  - storages changes:
    [+] StorageDesc { name: "SlotInfo", modifier: "Optional", default_value: [0] }

[≠] pallet 30: Democracy -> 9 change(s)
  - calls changes:
    [≠]  7: fast_track ( proposal_hash: H256, voting_period: BlockNumberFor<T>, delay: BlockNumberFor<T>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠]  8: veto_external ( proposal_hash: H256, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠] 16: blacklist ( proposal_hash: H256, maybe_ref_index: Option<ReferendumIndex>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠] 18: set_metadata ( owner: MetadataOwner, maybe_hash: Option<PreimageHash>, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("Option<PreimageHash>", "Option<T::Hash>"))])] })]

  - events changes:
    [≠]  9: Vetoed ( who: T::AccountId, proposal_hash: H256, until: BlockNumberFor<T>, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠] 10: Blacklisted ( proposal_hash: H256, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠] 14: MetadataSet ( owner: MetadataOwner, hash: PreimageHash, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
    [≠] 15: MetadataCleared ( owner: MetadataOwner, hash: PreimageHash, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
    [≠] 16: MetadataTransferred ( prev_owner: MetadataOwner, owner: MetadataOwner, hash: PreimageHash, )  )
        [Signature(SignatureChange { args: [Changed(2, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]

[≠] pallet 31: Council -> 1 change(s)
  - errors changes:
    [+] ErrorDesc { index: 10, name: "PrimeAccountNotMember" }

[≠] pallet 32: TechnicalCommittee -> 1 change(s)
  - errors changes:
    [+] ErrorDesc { index: 10, name: "PrimeAccountNotMember" }

[≠] pallet 35: Treasury -> 20 change(s)
  - calls changes:
    [≠]  3: spend ( amount: BalanceOf<T, I>, beneficiary: AccountIdLookupOf<T>, )  )
        [Name(StringChange("spend", "spend_local"))]
    [+] CallDesc { index: 5, name: "spend", signature: SignatureDesc { args: [ArgDesc { name: "asset_kind", ty: "Box<T::AssetKind>" }, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }, ArgDesc { name: "beneficiary", ty: "Box<BeneficiaryLookupOf<T, I>>" }, ArgDesc { name: "valid_from", ty: "Option<BlockNumberFor<T>>" }] } }
    [+] CallDesc { index: 6, name: "payout", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
    [+] CallDesc { index: 7, name: "check_status", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
    [+] CallDesc { index: 8, name: "void_spend", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }

  - events changes:
    [+] EventDesc { index: 9, name: "AssetSpendApproved", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "asset_kind", ty: "T::AssetKind" }, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" }] } }
    [+] EventDesc { index: 10, name: "AssetSpendVoided", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
    [+] EventDesc { index: 11, name: "Paid", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" }] } }
    [+] EventDesc { index: 12, name: "PaymentFailed", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" }] } }
    [+] EventDesc { index: 13, name: "SpendProcessed", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }

  - errors changes:
    [+] ErrorDesc { index: 5, name: "FailedToConvertBalance" }
    [+] ErrorDesc { index: 6, name: "SpendExpired" }
    [+] ErrorDesc { index: 7, name: "EarlyPayout" }
    [+] ErrorDesc { index: 8, name: "AlreadyAttempted" }
    [+] ErrorDesc { index: 9, name: "PayoutError" }
    [+] ErrorDesc { index: 10, name: "NotAttempted" }
    [+] ErrorDesc { index: 11, name: "Inconclusive" }

  - constants changes:
    [+] ConstantDesc { name: "PayoutPeriod", value: [192, 75, 3, 0, 0, 0, 0, 0] }

  - storages changes:
    [+] StorageDesc { name: "SpendCount", modifier: "Default", default_value: [0, 0, 0, 0] }
    [+] StorageDesc { name: "Spends", modifier: "Optional", default_value: [0] }

[≠] pallet 41: Vesting -> 1 change(s)
  - calls changes:
    [+] CallDesc { index: 5, name: "force_remove_vesting_schedule", signature: SignatureDesc { args: [ArgDesc { name: "target", ty: "<T::Lookup as StaticLookup>::Source" }, ArgDesc { name: "schedule_index", ty: "u32" }] } }

[≠] pallet 44: Preimage -> 4 change(s)
  - calls changes:
    [+] CallDesc { index: 4, name: "ensure_updated", signature: SignatureDesc { args: [ArgDesc { name: "hashes", ty: "Vec<T::Hash>" }] } }

  - errors changes:
    [+] ErrorDesc { index: 6, name: "TooMany" }
    [+] ErrorDesc { index: 7, name: "TooFew" }

  - storages changes:
    [+] StorageDesc { name: "RequestStatusFor", modifier: "Optional", default_value: [0] }

[≠] pallet 46: Tips -> 5 change(s)
  - errors changes:
    [≠]  3: NotFinder       
        [Name(StringChange("NotFinder", "MaxTipAmountExceeded"))]
    [≠]  4: StillOpen       
        [Name(StringChange("StillOpen", "NotFinder"))]
    [≠]  5: Premature       
        [Name(StringChange("Premature", "StillOpen"))]
    [+] ErrorDesc { index: 6, name: "Premature" }

  - constants changes:
    [+] ConstantDesc { name: "MaxTipAmount", value: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }

[≠] pallet 80: ParachainSystem -> 9 change(s)
  - events changes:
    [≠]  3: UpgradeAuthorized ( code_hash: T::Hash, )  )
        [Name(StringChange("UpgradeAuthorized", "DownwardMessagesReceived")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("code_hash", "count")), Ty(StringChange("T::Hash", "u32"))])] })]
    [≠]  4: DownwardMessagesReceived ( count: u32, )  )
        [Name(StringChange("DownwardMessagesReceived", "DownwardMessagesProcessed")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("count", "weight_used")), Ty(StringChange("u32", "Weight"))]), Added(1, ArgDesc { name: "dmq_head", ty: "relay_chain::Hash" })] })]
    [≠]  5: DownwardMessagesProcessed ( weight_used: Weight, dmq_head: relay_chain::Hash, )  )
        [Name(StringChange("DownwardMessagesProcessed", "UpwardMessageSent")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("weight_used", "message_hash")), Ty(StringChange("Weight", "Option<XcmHash>"))]), Removed(1, ArgDesc { name: "dmq_head", ty: "relay_chain::Hash" })] })]
    [-] "UpwardMessageSent"

  - storages changes:
    [+] StorageDesc { name: "AggregatedUnincludedSegment", modifier: "Optional", default_value: [0] }
    [+] StorageDesc { name: "UnincludedSegment", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "UpgradeGoAhead", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "UpwardDeliveryFeeFactor", modifier: "Default", default_value: [0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0] }
    [-] "AuthorizedUpgrade"

[≠] pallet 82: XcmpQueue -> 25 change(s)
  - calls changes:
    [-] "service_overweight"
    [-] "update_threshold_weight"
    [-] "update_weight_restrict_decay"
    [-] "update_xcmp_max_individual_weight"

  - events changes:
    [≠]  0: Success ( message_hash: XcmHash, message_id: XcmHash, weight: Weight, )  )
        [Name(StringChange("Success", "XcmpMessageSent")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "message_id", ty: "XcmHash" }), Removed(2, ArgDesc { name: "weight", ty: "Weight" })] })]
    [-] "Fail"
    [-] "BadVersion"
    [-] "BadFormat"
    [-] "XcmpMessageSent"
    [-] "OverweightEnqueued"
    [-] "OverweightServiced"

  - errors changes:
    [≠]  0: FailedToSend    
        [Name(StringChange("FailedToSend", "BadQueueConfig"))]
    [≠]  1: BadXcmOrigin    
        [Name(StringChange("BadXcmOrigin", "AlreadySuspended"))]
    [≠]  2: BadXcm          
        [Name(StringChange("BadXcm", "AlreadyResumed"))]
    [-] "BadOverweightIndex"
    [-] "WeightOverLimit"

  - constants changes:
    [+] ConstantDesc { name: "MaxInboundSuspended", value: [0, 0, 0, 0] }

  - storages changes:
    [+] StorageDesc { name: "DeliveryFeeFactor", modifier: "Default", default_value: [0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0] }
    [+] StorageDesc { name: "InboundXcmpSuspended", modifier: "Default", default_value: [0] }
    [≠] Default  QueueConfig: [2, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 130, 26, 6, 0, 0, 8, 0, 7, 0, 200, 23, 168, 4, 2, 0, 4, 0]
        [DefaultValue([Changed(0, U8Change(2, 32)), Changed(4, U8Change(5, 48)), Changed(8, U8Change(1, 8)), Removed(12, 130), Removed(13, 26), Removed(14, 6), Removed(15, 0), Removed(16, 0), Removed(17, 8), Removed(18, 0), Removed(19, 7), Removed(20, 0), Removed(21, 200), Removed(22, 23), Removed(23, 168), Removed(24, 4), Removed(25, 2), Removed(26, 0), Removed(27, 4), Removed(28, 0)])]
    [-] "CounterForOverweight"
    [-] "InboundXcmpMessages"
    [-] "InboundXcmpStatus"
    [-] "Overweight"
    [-] "OverweightCount"

[≠] pallet 83: PolkadotXcm -> 35 change(s)
  - calls changes:
    [≠]  0: send ( dest: Box<VersionedMultiLocation>, message: Box<VersionedXcm<()>>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))])] })]
    [≠]  1: teleport_assets ( dest: Box<VersionedMultiLocation>, beneficiary: Box<VersionedMultiLocation>, assets: Box<VersionedMultiAssets>, fee_asset_item: u32, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(1, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(2, [Ty(StringChange("Box<VersionedMultiAssets>", "Box<VersionedAssets>"))])] })]
    [≠]  2: reserve_transfer_assets ( dest: Box<VersionedMultiLocation>, beneficiary: Box<VersionedMultiLocation>, assets: Box<VersionedMultiAssets>, fee_asset_item: u32, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(1, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(2, [Ty(StringChange("Box<VersionedMultiAssets>", "Box<VersionedAssets>"))])] })]
    [≠]  3: execute ( message: Box<VersionedXcm<<T as SysConfig>::RuntimeCall>>, max_weight: Weight, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedXcm<<T as SysConfig>::RuntimeCall>>", "Box<VersionedXcm<<T as Config>::RuntimeCall>>"))])] })]
    [≠]  4: force_xcm_version ( location: Box<MultiLocation>, version: XcmVersion, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<MultiLocation>", "Box<Location>"))])] })]
    [≠]  6: force_subscribe_version_notify ( location: Box<VersionedMultiLocation>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))])] })]
    [≠]  7: force_unsubscribe_version_notify ( location: Box<VersionedMultiLocation>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))])] })]
    [≠]  8: limited_reserve_transfer_assets ( dest: Box<VersionedMultiLocation>, beneficiary: Box<VersionedMultiLocation>, assets: Box<VersionedMultiAssets>, fee_asset_item: u32, weight_limit: WeightLimit, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(1, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(2, [Ty(StringChange("Box<VersionedMultiAssets>", "Box<VersionedAssets>"))])] })]
    [≠]  9: limited_teleport_assets ( dest: Box<VersionedMultiLocation>, beneficiary: Box<VersionedMultiLocation>, assets: Box<VersionedMultiAssets>, fee_asset_item: u32, weight_limit: WeightLimit, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(1, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(2, [Ty(StringChange("Box<VersionedMultiAssets>", "Box<VersionedAssets>"))])] })]
    [+] CallDesc { index: 11, name: "transfer_assets", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "Box<VersionedLocation>" }, ArgDesc { name: "beneficiary", ty: "Box<VersionedLocation>" }, ArgDesc { name: "assets", ty: "Box<VersionedAssets>" }, ArgDesc { name: "fee_asset_item", ty: "u32" }, ArgDesc { name: "weight_limit", ty: "WeightLimit" }] } }
    [+] CallDesc { index: 12, name: "claim_assets", signature: SignatureDesc { args: [ArgDesc { name: "assets", ty: "Box<VersionedAssets>" }, ArgDesc { name: "beneficiary", ty: "Box<VersionedLocation>" }] } }
    [+] CallDesc { index: 13, name: "transfer_assets_using_type_and_then", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "Box<VersionedLocation>" }, ArgDesc { name: "assets", ty: "Box<VersionedAssets>" }, ArgDesc { name: "assets_transfer_type", ty: "Box<TransferType>" }, ArgDesc { name: "remote_fees_id", ty: "Box<VersionedAssetId>" }, ArgDesc { name: "fees_transfer_type", ty: "Box<TransferType>" }, ArgDesc { name: "custom_xcm_on_dest", ty: "Box<VersionedXcm<()>>" }, ArgDesc { name: "weight_limit", ty: "WeightLimit" }] } }

  - events changes:
    [≠]  1: Sent ( origin: MultiLocation, destination: MultiLocation, message: Xcm<()>, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠]  2: UnexpectedResponse ( origin: MultiLocation, query_id: QueryId, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠]  8: InvalidResponder ( origin: MultiLocation, query_id: QueryId, expected_location: Option<MultiLocation>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("Option<MultiLocation>", "Option<Location>"))])] })]
    [≠]  9: InvalidResponderVersion ( origin: MultiLocation, query_id: QueryId, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠] 11: AssetsTrapped ( hash: H256, origin: MultiLocation, assets: VersionedMultiAssets, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("VersionedMultiAssets", "VersionedAssets"))])] })]
    [≠] 12: VersionChangeNotified ( destination: MultiLocation, result: XcmVersion, cost: MultiAssets, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 13: SupportedVersionChanged ( location: MultiLocation, version: XcmVersion, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠] 14: NotifyTargetSendFail ( location: MultiLocation, query_id: QueryId, error: XcmError, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠] 15: NotifyTargetMigrationFail ( location: VersionedMultiLocation, query_id: QueryId, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("VersionedMultiLocation", "VersionedLocation"))])] })]
    [≠] 16: InvalidQuerierVersion ( origin: MultiLocation, query_id: QueryId, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠] 17: InvalidQuerier ( origin: MultiLocation, query_id: QueryId, expected_querier: MultiLocation, maybe_actual_querier: Option<MultiLocation>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("MultiLocation", "Location"))]), Changed(3, [Ty(StringChange("Option<MultiLocation>", "Option<Location>"))])] })]
    [≠] 18: VersionNotifyStarted ( destination: MultiLocation, cost: MultiAssets, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 19: VersionNotifyRequested ( destination: MultiLocation, cost: MultiAssets, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 20: VersionNotifyUnrequested ( destination: MultiLocation, cost: MultiAssets, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 21: FeesPaid ( paying: MultiLocation, fees: MultiAssets, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 22: AssetsClaimed ( hash: H256, origin: MultiLocation, assets: VersionedMultiAssets, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("VersionedMultiAssets", "VersionedAssets"))])] })]
    [+] EventDesc { index: 23, name: "VersionMigrationFinished", signature: SignatureDesc { args: [ArgDesc { name: "version", ty: "XcmVersion" }] } }

  - errors changes:
    [≠] 13: InvalidAsset    
        [Name(StringChange("InvalidAsset", "CannotCheckOutTeleport"))]
    [+] ErrorDesc { index: 20, name: "InvalidAssetNotConcrete" }
    [+] ErrorDesc { index: 21, name: "InvalidAssetUnknownReserve" }
    [+] ErrorDesc { index: 22, name: "InvalidAssetUnsupportedReserve" }
    [+] ErrorDesc { index: 23, name: "TooManyReserves" }
    [+] ErrorDesc { index: 24, name: "LocalExecutionIncomplete" }

[+] id: 86 - new pallet: MessageQueue
[-] pallet 9: Configuration
[-] pallet 85: DmpQueue
SUMMARY:
- Compatible.......................: false
- Require transaction_version bump.: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
```

</details>

<details>
<summary>Spiritnet Diff</summary>

```
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 8 change(s)
  - calls changes:
    [+] CallDesc { index: 9, name: "authorize_upgrade", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }] } }
    [+] CallDesc { index: 10, name: "authorize_upgrade_without_checks", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }] } }
    [+] CallDesc { index: 11, name: "apply_authorized_upgrade", signature: SignatureDesc { args: [ArgDesc { name: "code", ty: "Vec<u8>" }] } }

  - events changes:
    [+] EventDesc { index: 6, name: "UpgradeAuthorized", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }, ArgDesc { name: "check_version", ty: "bool" }] } }

  - errors changes:
    [+] ErrorDesc { index: 6, name: "NothingAuthorized" }
    [+] ErrorDesc { index: 7, name: "Unauthorized" }

  - constants changes:
    [≠] Version: [ 56, 107, 105, 108, 116, 45, 115, 112, 105, 114, 105, 116, 110, 101, 116, 56, 107, 105, 108, 116, 45, 115, 112, 105, 114, 105, 116, 110, 101, 116, 1, 0, ... ]
        [Value([Changed(42, U8Change(60, 68)), Changed(163, U8Change(234, 215)), Changed(164, U8Change(147, 189)), Changed(165, U8Change(227, 216)), Changed(166, U8Change(241, 162)), Changed(167, U8Change(111, 114)), Changed(168, U8Change(61, 202)), Changed(169, U8Change(105, 13)), Changed(170, U8Change(98, 101)), Changed(171, U8Change(2, 1)), Changed(175, U8Change(38, 234)), Changed(176, U8Change(96, 147)), Changed(177, U8Change(149, 227)), Changed(178, U8Change(85, 241)), Changed(179, U8Change(192, 111)), Changed(180, U8Change(101, 61)), Changed(181, U8Change(102, 105)), Changed(182, U8Change(3, 98)), Changed(187, U8Change(164, 38)), Changed(188, U8Change(123, 96)), Changed(189, U8Change(125, 149)), Changed(190, U8Change(84, 85)), Changed(191, U8Change(73, 192)), Changed(192, U8Change(148, 101)), Changed(193, U8Change(201, 102)), Changed(194, U8Change(155, 3)), Changed(195, U8Change(1, 2)), Changed(199, U8Change(69, 164)), Changed(200, U8Change(191, 123)), Changed(201, U8Change(186, 125)), Changed(202, U8Change(81, 84)), Changed(203, U8Change(163, 73)), Changed(204, U8Change(16, 148)), Changed(205, U8Change(178, 201)), Changed(206, U8Change(35, 155)), Changed(211, U8Change(195, 69)), Changed(212, U8Change(179, 191)), Changed(213, U8Change(232, 186)), Changed(214, U8Change(211, 81)), Changed(215, U8Change(50, 163)), Changed(216, U8Change(115, 16)), Changed(217, U8Change(153, 178)), Changed(218, U8Change(13, 35)), Changed(223, U8Change(8, 195)), Changed(224, U8Change(0, 179)), Changed(225, U8Change(0, 232)), Changed(226, U8Change(0, 211)), Changed(227, U8Change(0, 50)), Added(228, 115), Added(229, 153), Added(230, 13), Added(231, 1), Added(232, 0), Added(233, 0), Added(234, 0), Added(235, 251), Added(236, 197), Added(237, 119), Added(238, 185), Added(239, 215), Added(240, 71), Added(241, 239), Added(242, 214), Added(243, 1), Added(244, 0), Added(245, 0), Added(246, 0), Added(247, 8), Added(248, 0), Added(249, 0), Added(250, 0), Added(251, 0)])]

  - storages changes:
    [+] StorageDesc { name: "AuthorizedUpgrade", modifier: "Optional", default_value: [0] }

[≠] pallet 6: Balances -> 7 change(s)
  - calls changes:
    [+] CallDesc { index: 9, name: "force_adjust_total_issuance", signature: SignatureDesc { args: [ArgDesc { name: "direction", ty: "AdjustmentDirection" }, ArgDesc { name: "delta", ty: "T::Balance" }] } }
    [-] "set_balance_deprecated"
    [-] "transfer"

  - events changes:
    [+] EventDesc { index: 21, name: "TotalIssuanceForced", signature: SignatureDesc { args: [ArgDesc { name: "old", ty: "T::Balance" }, ArgDesc { name: "new", ty: "T::Balance" }] } }

  - errors changes:
    [+] ErrorDesc { index: 10, name: "IssuanceDeactivated" }
    [+] ErrorDesc { index: 11, name: "DeltaZero" }

  - constants changes:
    [-] "MaxHolds"

[≠] pallet 24: AuraExt -> 1 change(s)
  - storages changes:
    [+] StorageDesc { name: "SlotInfo", modifier: "Optional", default_value: [0] }

[≠] pallet 30: Democracy -> 9 change(s)
  - calls changes:
    [≠]  7: fast_track ( proposal_hash: H256, voting_period: BlockNumberFor<T>, delay: BlockNumberFor<T>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠]  8: veto_external ( proposal_hash: H256, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠] 16: blacklist ( proposal_hash: H256, maybe_ref_index: Option<ReferendumIndex>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠] 18: set_metadata ( owner: MetadataOwner, maybe_hash: Option<PreimageHash>, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("Option<PreimageHash>", "Option<T::Hash>"))])] })]

  - events changes:
    [≠]  9: Vetoed ( who: T::AccountId, proposal_hash: H256, until: BlockNumberFor<T>, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠] 10: Blacklisted ( proposal_hash: H256, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
    [≠] 14: MetadataSet ( owner: MetadataOwner, hash: PreimageHash, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
    [≠] 15: MetadataCleared ( owner: MetadataOwner, hash: PreimageHash, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
    [≠] 16: MetadataTransferred ( prev_owner: MetadataOwner, owner: MetadataOwner, hash: PreimageHash, )  )
        [Signature(SignatureChange { args: [Changed(2, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]

[≠] pallet 31: Council -> 1 change(s)
  - errors changes:
    [+] ErrorDesc { index: 10, name: "PrimeAccountNotMember" }

[≠] pallet 32: TechnicalCommittee -> 1 change(s)
  - errors changes:
    [+] ErrorDesc { index: 10, name: "PrimeAccountNotMember" }

[≠] pallet 35: Treasury -> 20 change(s)
  - calls changes:
    [≠]  3: spend ( amount: BalanceOf<T, I>, beneficiary: AccountIdLookupOf<T>, )  )
        [Name(StringChange("spend", "spend_local"))]
    [+] CallDesc { index: 5, name: "spend", signature: SignatureDesc { args: [ArgDesc { name: "asset_kind", ty: "Box<T::AssetKind>" }, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }, ArgDesc { name: "beneficiary", ty: "Box<BeneficiaryLookupOf<T, I>>" }, ArgDesc { name: "valid_from", ty: "Option<BlockNumberFor<T>>" }] } }
    [+] CallDesc { index: 6, name: "payout", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
    [+] CallDesc { index: 7, name: "check_status", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
    [+] CallDesc { index: 8, name: "void_spend", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }

  - events changes:
    [+] EventDesc { index: 9, name: "AssetSpendApproved", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "asset_kind", ty: "T::AssetKind" }, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" }] } }
    [+] EventDesc { index: 10, name: "AssetSpendVoided", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
    [+] EventDesc { index: 11, name: "Paid", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" }] } }
    [+] EventDesc { index: 12, name: "PaymentFailed", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" }] } }
    [+] EventDesc { index: 13, name: "SpendProcessed", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }

  - errors changes:
    [+] ErrorDesc { index: 5, name: "FailedToConvertBalance" }
    [+] ErrorDesc { index: 6, name: "SpendExpired" }
    [+] ErrorDesc { index: 7, name: "EarlyPayout" }
    [+] ErrorDesc { index: 8, name: "AlreadyAttempted" }
    [+] ErrorDesc { index: 9, name: "PayoutError" }
    [+] ErrorDesc { index: 10, name: "NotAttempted" }
    [+] ErrorDesc { index: 11, name: "Inconclusive" }

  - constants changes:
    [+] ConstantDesc { name: "PayoutPeriod", value: [192, 75, 3, 0, 0, 0, 0, 0] }

  - storages changes:
    [+] StorageDesc { name: "SpendCount", modifier: "Default", default_value: [0, 0, 0, 0] }
    [+] StorageDesc { name: "Spends", modifier: "Optional", default_value: [0] }

[≠] pallet 41: Vesting -> 1 change(s)
  - calls changes:
    [+] CallDesc { index: 5, name: "force_remove_vesting_schedule", signature: SignatureDesc { args: [ArgDesc { name: "target", ty: "<T::Lookup as StaticLookup>::Source" }, ArgDesc { name: "schedule_index", ty: "u32" }] } }

[≠] pallet 44: Preimage -> 4 change(s)
  - calls changes:
    [+] CallDesc { index: 4, name: "ensure_updated", signature: SignatureDesc { args: [ArgDesc { name: "hashes", ty: "Vec<T::Hash>" }] } }

  - errors changes:
    [+] ErrorDesc { index: 6, name: "TooMany" }
    [+] ErrorDesc { index: 7, name: "TooFew" }

  - storages changes:
    [+] StorageDesc { name: "RequestStatusFor", modifier: "Optional", default_value: [0] }

[≠] pallet 46: Tips -> 5 change(s)
  - errors changes:
    [≠]  3: NotFinder       
        [Name(StringChange("NotFinder", "MaxTipAmountExceeded"))]
    [≠]  4: StillOpen       
        [Name(StringChange("StillOpen", "NotFinder"))]
    [≠]  5: Premature       
        [Name(StringChange("Premature", "StillOpen"))]
    [+] ErrorDesc { index: 6, name: "Premature" }

  - constants changes:
    [+] ConstantDesc { name: "MaxTipAmount", value: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }

[≠] pallet 80: ParachainSystem -> 9 change(s)
  - events changes:
    [≠]  3: UpgradeAuthorized ( code_hash: T::Hash, )  )
        [Name(StringChange("UpgradeAuthorized", "DownwardMessagesReceived")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("code_hash", "count")), Ty(StringChange("T::Hash", "u32"))])] })]
    [≠]  4: DownwardMessagesReceived ( count: u32, )  )
        [Name(StringChange("DownwardMessagesReceived", "DownwardMessagesProcessed")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("count", "weight_used")), Ty(StringChange("u32", "Weight"))]), Added(1, ArgDesc { name: "dmq_head", ty: "relay_chain::Hash" })] })]
    [≠]  5: DownwardMessagesProcessed ( weight_used: Weight, dmq_head: relay_chain::Hash, )  )
        [Name(StringChange("DownwardMessagesProcessed", "UpwardMessageSent")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("weight_used", "message_hash")), Ty(StringChange("Weight", "Option<XcmHash>"))]), Removed(1, ArgDesc { name: "dmq_head", ty: "relay_chain::Hash" })] })]
    [-] "UpwardMessageSent"

  - storages changes:
    [+] StorageDesc { name: "AggregatedUnincludedSegment", modifier: "Optional", default_value: [0] }
    [+] StorageDesc { name: "UnincludedSegment", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "UpgradeGoAhead", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "UpwardDeliveryFeeFactor", modifier: "Default", default_value: [0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0] }
    [-] "AuthorizedUpgrade"

[≠] pallet 82: XcmpQueue -> 25 change(s)
  - calls changes:
    [-] "service_overweight"
    [-] "update_threshold_weight"
    [-] "update_weight_restrict_decay"
    [-] "update_xcmp_max_individual_weight"

  - events changes:
    [≠]  0: Success ( message_hash: XcmHash, message_id: XcmHash, weight: Weight, )  )
        [Name(StringChange("Success", "XcmpMessageSent")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "message_id", ty: "XcmHash" }), Removed(2, ArgDesc { name: "weight", ty: "Weight" })] })]
    [-] "Fail"
    [-] "BadVersion"
    [-] "BadFormat"
    [-] "XcmpMessageSent"
    [-] "OverweightEnqueued"
    [-] "OverweightServiced"

  - errors changes:
    [≠]  0: FailedToSend    
        [Name(StringChange("FailedToSend", "BadQueueConfig"))]
    [≠]  1: BadXcmOrigin    
        [Name(StringChange("BadXcmOrigin", "AlreadySuspended"))]
    [≠]  2: BadXcm          
        [Name(StringChange("BadXcm", "AlreadyResumed"))]
    [-] "BadOverweightIndex"
    [-] "WeightOverLimit"

  - constants changes:
    [+] ConstantDesc { name: "MaxInboundSuspended", value: [0, 0, 0, 0] }

  - storages changes:
    [+] StorageDesc { name: "DeliveryFeeFactor", modifier: "Default", default_value: [0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0] }
    [+] StorageDesc { name: "InboundXcmpSuspended", modifier: "Default", default_value: [0] }
    [≠] Default  QueueConfig: [2, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 130, 26, 6, 0, 0, 8, 0, 7, 0, 200, 23, 168, 4, 2, 0, 4, 0]
        [DefaultValue([Changed(0, U8Change(2, 32)), Changed(4, U8Change(5, 48)), Changed(8, U8Change(1, 8)), Removed(12, 130), Removed(13, 26), Removed(14, 6), Removed(15, 0), Removed(16, 0), Removed(17, 8), Removed(18, 0), Removed(19, 7), Removed(20, 0), Removed(21, 200), Removed(22, 23), Removed(23, 168), Removed(24, 4), Removed(25, 2), Removed(26, 0), Removed(27, 4), Removed(28, 0)])]
    [-] "CounterForOverweight"
    [-] "InboundXcmpMessages"
    [-] "InboundXcmpStatus"
    [-] "Overweight"
    [-] "OverweightCount"

[≠] pallet 83: PolkadotXcm -> 35 change(s)
  - calls changes:
    [≠]  0: send ( dest: Box<VersionedMultiLocation>, message: Box<VersionedXcm<()>>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))])] })]
    [≠]  1: teleport_assets ( dest: Box<VersionedMultiLocation>, beneficiary: Box<VersionedMultiLocation>, assets: Box<VersionedMultiAssets>, fee_asset_item: u32, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(1, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(2, [Ty(StringChange("Box<VersionedMultiAssets>", "Box<VersionedAssets>"))])] })]
    [≠]  2: reserve_transfer_assets ( dest: Box<VersionedMultiLocation>, beneficiary: Box<VersionedMultiLocation>, assets: Box<VersionedMultiAssets>, fee_asset_item: u32, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(1, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(2, [Ty(StringChange("Box<VersionedMultiAssets>", "Box<VersionedAssets>"))])] })]
    [≠]  3: execute ( message: Box<VersionedXcm<<T as SysConfig>::RuntimeCall>>, max_weight: Weight, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedXcm<<T as SysConfig>::RuntimeCall>>", "Box<VersionedXcm<<T as Config>::RuntimeCall>>"))])] })]
    [≠]  4: force_xcm_version ( location: Box<MultiLocation>, version: XcmVersion, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<MultiLocation>", "Box<Location>"))])] })]
    [≠]  6: force_subscribe_version_notify ( location: Box<VersionedMultiLocation>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))])] })]
    [≠]  7: force_unsubscribe_version_notify ( location: Box<VersionedMultiLocation>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))])] })]
    [≠]  8: limited_reserve_transfer_assets ( dest: Box<VersionedMultiLocation>, beneficiary: Box<VersionedMultiLocation>, assets: Box<VersionedMultiAssets>, fee_asset_item: u32, weight_limit: WeightLimit, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(1, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(2, [Ty(StringChange("Box<VersionedMultiAssets>", "Box<VersionedAssets>"))])] })]
    [≠]  9: limited_teleport_assets ( dest: Box<VersionedMultiLocation>, beneficiary: Box<VersionedMultiLocation>, assets: Box<VersionedMultiAssets>, fee_asset_item: u32, weight_limit: WeightLimit, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(1, [Ty(StringChange("Box<VersionedMultiLocation>", "Box<VersionedLocation>"))]), Changed(2, [Ty(StringChange("Box<VersionedMultiAssets>", "Box<VersionedAssets>"))])] })]
    [+] CallDesc { index: 11, name: "transfer_assets", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "Box<VersionedLocation>" }, ArgDesc { name: "beneficiary", ty: "Box<VersionedLocation>" }, ArgDesc { name: "assets", ty: "Box<VersionedAssets>" }, ArgDesc { name: "fee_asset_item", ty: "u32" }, ArgDesc { name: "weight_limit", ty: "WeightLimit" }] } }
    [+] CallDesc { index: 12, name: "claim_assets", signature: SignatureDesc { args: [ArgDesc { name: "assets", ty: "Box<VersionedAssets>" }, ArgDesc { name: "beneficiary", ty: "Box<VersionedLocation>" }] } }
    [+] CallDesc { index: 13, name: "transfer_assets_using_type_and_then", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "Box<VersionedLocation>" }, ArgDesc { name: "assets", ty: "Box<VersionedAssets>" }, ArgDesc { name: "assets_transfer_type", ty: "Box<TransferType>" }, ArgDesc { name: "remote_fees_id", ty: "Box<VersionedAssetId>" }, ArgDesc { name: "fees_transfer_type", ty: "Box<TransferType>" }, ArgDesc { name: "custom_xcm_on_dest", ty: "Box<VersionedXcm<()>>" }, ArgDesc { name: "weight_limit", ty: "WeightLimit" }] } }

  - events changes:
    [≠]  1: Sent ( origin: MultiLocation, destination: MultiLocation, message: Xcm<()>, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠]  2: UnexpectedResponse ( origin: MultiLocation, query_id: QueryId, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠]  8: InvalidResponder ( origin: MultiLocation, query_id: QueryId, expected_location: Option<MultiLocation>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("Option<MultiLocation>", "Option<Location>"))])] })]
    [≠]  9: InvalidResponderVersion ( origin: MultiLocation, query_id: QueryId, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠] 11: AssetsTrapped ( hash: H256, origin: MultiLocation, assets: VersionedMultiAssets, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("VersionedMultiAssets", "VersionedAssets"))])] })]
    [≠] 12: VersionChangeNotified ( destination: MultiLocation, result: XcmVersion, cost: MultiAssets, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 13: SupportedVersionChanged ( location: MultiLocation, version: XcmVersion, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠] 14: NotifyTargetSendFail ( location: MultiLocation, query_id: QueryId, error: XcmError, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠] 15: NotifyTargetMigrationFail ( location: VersionedMultiLocation, query_id: QueryId, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("VersionedMultiLocation", "VersionedLocation"))])] })]
    [≠] 16: InvalidQuerierVersion ( origin: MultiLocation, query_id: QueryId, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))])] })]
    [≠] 17: InvalidQuerier ( origin: MultiLocation, query_id: QueryId, expected_querier: MultiLocation, maybe_actual_querier: Option<MultiLocation>, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("MultiLocation", "Location"))]), Changed(3, [Ty(StringChange("Option<MultiLocation>", "Option<Location>"))])] })]
    [≠] 18: VersionNotifyStarted ( destination: MultiLocation, cost: MultiAssets, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 19: VersionNotifyRequested ( destination: MultiLocation, cost: MultiAssets, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 20: VersionNotifyUnrequested ( destination: MultiLocation, cost: MultiAssets, message_id: XcmHash, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 21: FeesPaid ( paying: MultiLocation, fees: MultiAssets, )  )
        [Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("MultiLocation", "Location"))]), Changed(1, [Ty(StringChange("MultiAssets", "Assets"))])] })]
    [≠] 22: AssetsClaimed ( hash: H256, origin: MultiLocation, assets: VersionedMultiAssets, )  )
        [Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("MultiLocation", "Location"))]), Changed(2, [Ty(StringChange("VersionedMultiAssets", "VersionedAssets"))])] })]
    [+] EventDesc { index: 23, name: "VersionMigrationFinished", signature: SignatureDesc { args: [ArgDesc { name: "version", ty: "XcmVersion" }] } }

  - errors changes:
    [≠] 13: InvalidAsset    
        [Name(StringChange("InvalidAsset", "CannotCheckOutTeleport"))]
    [+] ErrorDesc { index: 20, name: "InvalidAssetNotConcrete" }
    [+] ErrorDesc { index: 21, name: "InvalidAssetUnknownReserve" }
    [+] ErrorDesc { index: 22, name: "InvalidAssetUnsupportedReserve" }
    [+] ErrorDesc { index: 23, name: "TooManyReserves" }
    [+] ErrorDesc { index: 24, name: "LocalExecutionIncomplete" }

[+] id: 86 - new pallet: MessageQueue
[-] pallet 85: DmpQueue
SUMMARY:
- Compatible.......................: false
- Require transaction_version bump.: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
```

</details>
## Checklist:

- [ ] I have verified that the code works
- [ ] No panics! (checked arithmetic ops, no indexing `array[3]` use
`get(3)`, ...)
- [ ] I have verified that the code is easy to understand
  - [ ] If not, I have left a well-balanced amount of inline comments
- [ ] I have [left the code in a better
state](https://deviq.com/principles/boy-scout-rule)
- [ ] I have documented the changes (where applicable)
* Either PR or Ticket to update [the
Docs](https://github.com/KILTprotocol/docs)
    * Link the PR/Ticket here
  • Loading branch information
Ad96el committed Jul 26, 2024
1 parent 2ca9661 commit d1f0601
Show file tree
Hide file tree
Showing 178 changed files with 14,708 additions and 10,608 deletions.
18 changes: 9 additions & 9 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ clippy-and-docs:
extends: .check_skip_rust
interruptible: true
timeout: 2 hours
image: paritytech/ci-unified:bullseye-1.70.0
image: paritytech/ci-unified:bullseye-1.74.0
stage: test
script:
- cargo clippy --all-features --all-targets --locked -- -D warnings
Expand All @@ -36,7 +36,7 @@ clippy-and-docs:
fmt:
interruptible: true
extends: .check_skip_rust
image: paritytech/ci-unified:bullseye-1.70.0
image: paritytech/ci-unified:bullseye-1.74.0
stage: test
script:
- cargo fmt -- --check
Expand All @@ -47,7 +47,7 @@ test:
interruptible: true
extends: .check_skip_rust
timeout: 2 hours
image: paritytech/ci-unified:bullseye-1.70.0
image: paritytech/ci-unified:bullseye-1.74.0
stage: test
script:
- cargo test --all --all-targets --locked
Expand All @@ -56,7 +56,7 @@ test-features:
extends: .check_skip_rust
interruptible: true
timeout: 2 hours
image: paritytech/ci-unified:bullseye-1.70.0
image: paritytech/ci-unified:bullseye-1.74.0
stage: test
script:
- cargo test --all --all-features --all-targets --locked
Expand All @@ -65,7 +65,7 @@ integration-tests:
extends: .check_skip_integration_tests
interruptible: true
timeout: 30 minutes
image: paritytech/ci-unified:bullseye-1.70.0
image: paritytech/ci-unified:bullseye-1.74.0
stage: test
variables:
CI: "true"
Expand All @@ -90,7 +90,7 @@ test-try-runtime:
- RUNTIME: "spiritnet"
ENDPOINT: "wss://spiritnet.kilt.io:443"
timeout: 2 hours
image: paritytech/ci-unified:bullseye-1.70.0
image: paritytech/ci-unified:bullseye-1.74.0
stage: test
variables:
TRY_RUNTIME_CLI_VERSION_TAG: v0.6.1
Expand Down Expand Up @@ -136,7 +136,7 @@ build:
build-wasm-peregrine:
interruptible: true
image:
name: paritytech/srtool:1.70.0
name: paritytech/srtool:1.74.0
entrypoint: [""]
stage: build
only:
Expand Down Expand Up @@ -165,7 +165,7 @@ build-wasm-peregrine:
build-wasm-spiritnet:
interruptible: true
image:
name: paritytech/srtool:1.70.0
name: paritytech/srtool:1.74.0
entrypoint: [""]
stage: build
only:
Expand Down Expand Up @@ -198,7 +198,7 @@ build-wasm-try-runtime:
- RUNTIME: "peregrine"
- RUNTIME: "spiritnet"
image:
name: paritytech/ci-unified:bullseye-1.70.0
name: paritytech/ci-unified:bullseye-1.74.0
entrypoint: [""]
stage: build
only:
Expand Down
Loading

0 comments on commit d1f0601

Please sign in to comment.