chore: Polkadot 1.7.0#655
Merged
Merged
Conversation
Contributor
Author
|
I hope, I answered every question. Based on the offline discussion, I didn't change the xcm versions. |
ntn-x2
reviewed
Jul 18, 2024
ntn-x2
reviewed
Jul 18, 2024
ntn-x2
left a comment
Contributor
There was a problem hiding this comment.
More (very) minor stuff. I'll go over the new benchmarking logic and leave a new review probably.
ntn-x2
reviewed
Jul 18, 2024
ntn-x2
reviewed
Jul 18, 2024
Contributor
Author
|
Good catch. The |
ntn-x2
reviewed
Jul 26, 2024
Contributor
Author
|
Cant merge. Feel free at any time to merge this bad boy. |
Ad96el
added a commit
that referenced
this pull request
Aug 20, 2024
## fixes [KILTProtocol/ticket#3439](https://github.com/KILTprotocol/ticket/issues/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](https://github.com/KILTprotocol/ticket/issues/3241#issuecomment-2175869215). 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixes KILTProtocol/ticket#3439
notable Changes
Pallets
transferextrinsic inpallet_balancesis removed. Will be a breaking change for Sporran. For other new introduced extrinsics, please have a lookin the diffs below.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. 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
Transferis introduced, which needed to be denied by the BarrierMultiis 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
Metadata Diff to Develop Branch
Peregrine Diff
Spiritnet Diff
array[3]useget(3), ...)