Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## 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