Remove deprecated calls in cumulus-parachain-system#5439
Remove deprecated calls in cumulus-parachain-system#5439ggwpez merged 9 commits intoparitytech:masterfrom
Conversation
|
The CI pipeline was cancelled due to failure one of the required jobs. |
| }) | ||
| } | ||
| } | ||
| if let Call::set_validation_data { .. } = call { |
There was a problem hiding this comment.
set_validation_data is an inherent, inherent should not be validated by validate_unsigned, they only go through pre_dispatch.
The default implementation (by construct_runtime) is to consider all calls invalid in validate_unsigned and all calls valid in pre_dispatch. So the default implementation is what we want here.
There was a problem hiding this comment.
Indeed the behavior in construct runtime is allow calls in pre_dispatch and automatically reject any calls that don't have ValidateUnsigned::validate_unsigned impl.
On a different note, inherents are never "validated" as transactions and never enter the transaction pool, they are just included in the block and applied along with other regular transactions. Specifically when inherents are applied, the Applyable impl of UncheckedExtrinsic calls on ValidateUnsigned::pre_dispatch. ValidateUnsigned::validate_unsigned is called only when validating a checked extrinsic in frame_executive, which is called when a transaction tries to enter the transaction pool, which should never happen for inherents.
set_validation_data must be called exactly once per block, as an inherent, at the beginning of the block. This means it was never correct to have a ValidateUnsigned validation for it. It should never be allowed as an unsigned transaction, only as an inherent.
Also, for peace of mind, all of the tests, including zombienet tests, are passing with the changes in this PR. The chain doesn't work without calls to set_validation_data every block, so the fact that the tests pass reinforces the reasoning.
|
CI is good, non-mandatory |
* master: (36 commits) Bump the ci_dependencies group across 1 directory with 2 updates (#5401) Remove deprecated calls in cumulus-parachain-system (#5439) Make the PR template a default for new PRs (#5462) Only log the propagating transactions when they are not empty (#5424) [CI] Fix SemVer check base commit (#5361) Sync status refactoring (#5450) Add build options to the srtool build step (#4956) `MaybeConsideration` extension trait for `Consideration` (#5384) Skip slot before creating inherent data providers during major sync (#5344) Add symlinks for code of conduct and contribution guidelines (#5447) pallet-collator-selection: correctly register weight in `new_session` (#5430) Derive `Clone` on `EncodableOpaqueLeaf` (#5442) Moving `Find FAIL-CI` check to GHA (#5377) Remove panic, as proof is invalid. (#5427) Reactive syncing metrics (#5410) [bridges] Prune messages from confirmation tx body, not from the on_idle (#5006) Change the chain to Rococo in the parachain template Zombienet config (#5279) Improve the appearance of crates on `crates.io` (#5243) Add initial version of `pallet_revive` (#5293) Update OpenZeppelin template documentation (#5398) ...
## Updates Polkadot dependencies to version 2409-05 ### Versioning Polkadot dependencies have been updated from version 1.7.0 to 1.16.5. Versions between 1.7.0 and 1.14.x were skipped due to ambiguity around which tag, branch, crates.io version, or commit to use. Additionally, many intermediate versions were broken, as Parity crates frequently failed to compile. The main motivation for this update was to ensure compatibility with Hyperbridge, which only supports the current LTS version. LTS version 2407 was also skipped, as internal crates failed to compile (I admit I did not test all possible patch versions). ### Notable changes - The pallet-parachain-system no longer exposes the authorize_upgrade and enact_authorized_upgrade extrinsics. According to [this PR](paritytech/polkadot-sdk#5439), parachains should now use the system.setCode extrinsic instead. - The pallet-treasury no longer exposes `propose_spend`, `reject_proposal`, and `approve_proposal`. This may pose issues if there are pending proposals during a runtime upgrade. - frame-omni-bencher is now available. As a result, the custom benchmarking CLI has been removed from the node. I can reintroduce it if needed. - I removed the genesis builder from the node implementation and moved it into the runtime itself, following the pattern used in the parachain template and other projects. The RuntimeGenesis is now required by the runtime-api; without it, benchmarking no longer works. To improve compatibility with the upcoming omni-node, we should consider introducing a separate crate that handles the chain specs and RuntimeGenesis configurations for different chains. ### Migrations - cumulus_pallet_xcmp_queue has a migration, which is added to Peregrine and Spiritnet. ### Future work - Replace construct_rutnime macro with the new more rusty construct runtime. - Introduce a new crate for the Omni Node that is responsible for managing chain specs and RuntimeGenesis configurations The WASMs diff can be investigated here: <details> <summary> Spiritnet Wasm Diff </summary> ``` [≠] pallet 0: System -> 6 change(s) - errors changes: [≠] 6: NothingAuthorized [Name(StringChange("NothingAuthorized", "MultiBlockMigrationsOngoing"))] [≠] 7: Unauthorized [Name(StringChange("Unauthorized", "NothingAuthorized"))] [+] ErrorDesc { index: 8, name: "Unauthorized" } - constants changes: [≠] BlockWeights: [ 2, 91, 31, 93, 0, 7, 0, 136, 82, 106, 116, 2, 0, 64, 1, 194, 160, 169, 29, 0, 1, 7, 208, 9, 24, 164, 75, 2, 0, 208, 0, 1, ... ] [Value([Changed(0, U8Change(2, 98)), Changed(1, U8Change(91, 77)), Changed(2, U8Change(31, 24)), Changed(3, U8Change(93, 108)), Changed(15, U8Change(194, 66)), Changed(16, U8Change(160, 71)), Changed(17, U8Change(169, 135)), Changed(18, U8Change(29, 25)), Changed(22, U8Change(208, 48)), Changed(23, U8Change(9, 160)), Changed(24, U8Change(24, 32)), Changed(25, U8Change(164, 165)), Changed(45, U8Change(194, 66)), Changed(46, U8Change(160, 71)), Changed(47, U8Change(169, 135)), Changed(48, U8Change(29, 25)), Changed(52, U8Change(208, 48)), Changed(53, U8Change(171, 66)), Changed(54, U8Change(172, 181)), Changed(55, U8Change(190, 191)), Changed(83, U8Change(194, 66)), Changed(84, U8Change(160, 71)), Changed(85, U8Change(169, 135)), Changed(86, U8Change(29, 25))])] [≠] 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(34, U8Change(238, 80)), Changed(35, U8Change(44, 45)), Changed(51, U8Change(4, 5))])] - storages changes: [+] StorageDesc { name: "InherentsApplied", modifier: "Default", default_value: [0] } [≠] pallet 5: Indices -> 1 change(s) - constants changes: [≠] Deposit: [0, 180, 124, 243, 40, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(180, 0)), Changed(2, U8Change(124, 0)), Changed(3, U8Change(243, 0)), Changed(4, U8Change(40, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 6: Balances -> 1 change(s) - calls changes: [+] CallDesc { index: 10, name: "burn", signature: SignatureDesc { args: [ArgDesc { name: "value", ty: "T::Balance" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } [≠] pallet 23: Aura -> 1 change(s) - constants changes: [+] ConstantDesc { name: "SlotDuration", value: [224, 46, 0, 0, 0, 0, 0, 0] } [+] id: 25 - new pallet: Collators [≠] pallet 35: Treasury -> 32 change(s) - calls changes: [-] "propose_spend" [-] "reject_proposal" [-] "approve_proposal" - events changes: [≠] 0: Proposed ( proposal_index: ProposalIndex, ) ) [Name(StringChange("Proposed", "Spending")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "budget_remaining")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))])] })] [≠] 1: Spending ( budget_remaining: BalanceOf<T, I>, ) ) [Name(StringChange("Spending", "Awarded")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("budget_remaining", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 2: Awarded ( proposal_index: ProposalIndex, award: BalanceOf<T, I>, account: T::AccountId, ) ) [Name(StringChange("Awarded", "Burnt")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "burnt_funds")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Removed(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 3: Rejected ( proposal_index: ProposalIndex, slashed: BalanceOf<T, I>, ) ) [Name(StringChange("Rejected", "Rollover")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "rollover_balance")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "slashed", ty: "BalanceOf<T, I>" })] })] [≠] 4: Burnt ( burnt_funds: BalanceOf<T, I>, ) ) [Name(StringChange("Burnt", "Deposit")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("burnt_funds", "value"))])] })] [≠] 5: Rollover ( rollover_balance: BalanceOf<T, I>, ) ) [Name(StringChange("Rollover", "SpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("rollover_balance", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "amount", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "beneficiary", ty: "T::AccountId" })] })] [≠] 6: Deposit ( value: BalanceOf<T, I>, ) ) [Name(StringChange("Deposit", "UpdatedInactive")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("value", "reactivated"))]), Added(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 7: SpendApproved ( proposal_index: ProposalIndex, amount: BalanceOf<T, I>, beneficiary: T::AccountId, ) ) [Name(StringChange("SpendApproved", "AssetSpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "index")), Ty(StringChange("ProposalIndex", "SpendIndex"))]), Changed(1, [Name(StringChange("amount", "asset_kind")), Ty(StringChange("BalanceOf<T, I>", "T::AssetKind"))]), Changed(2, [Name(StringChange("beneficiary", "amount")), Ty(StringChange("T::AccountId", "AssetBalanceOf<T, I>"))]), Added(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Added(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Added(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 8: UpdatedInactive ( reactivated: BalanceOf<T, I>, deactivated: BalanceOf<T, I>, ) ) [Name(StringChange("UpdatedInactive", "AssetSpendVoided")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("reactivated", "index")), Ty(StringChange("BalanceOf<T, I>", "SpendIndex"))]), Removed(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 9: AssetSpendApproved ( index: SpendIndex, asset_kind: T::AssetKind, amount: AssetBalanceOf<T, I>, beneficiary: T::Beneficiary, valid_from: BlockNumberFor<T>, expire_at: BlockNumberFor<T>, ) ) [Name(StringChange("AssetSpendApproved", "Paid")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("asset_kind", "payment_id")), Ty(StringChange("T::AssetKind", "<T::Paymaster as Pay>::Id"))]), Removed(2, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }), Removed(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Removed(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Removed(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 10: AssetSpendVoided ( index: SpendIndex, ) ) [Name(StringChange("AssetSpendVoided", "PaymentFailed")), Signature(SignatureChange { args: [Added(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [≠] 11: Paid ( index: SpendIndex, payment_id: <T::Paymaster as Pay>::Id, ) ) [Name(StringChange("Paid", "SpendProcessed")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [-] "PaymentFailed" [-] "SpendProcessed" - errors changes: [≠] 0: InsufficientProposersBalance [Name(StringChange("InsufficientProposersBalance", "InvalidIndex"))] [≠] 1: InvalidIndex [Name(StringChange("InvalidIndex", "TooManyApprovals"))] [≠] 2: TooManyApprovals [Name(StringChange("TooManyApprovals", "InsufficientPermission"))] [≠] 3: InsufficientPermission [Name(StringChange("InsufficientPermission", "ProposalNotApproved"))] [≠] 4: ProposalNotApproved [Name(StringChange("ProposalNotApproved", "FailedToConvertBalance"))] [≠] 5: FailedToConvertBalance [Name(StringChange("FailedToConvertBalance", "SpendExpired"))] [≠] 6: SpendExpired [Name(StringChange("SpendExpired", "EarlyPayout"))] [≠] 7: EarlyPayout [Name(StringChange("EarlyPayout", "AlreadyAttempted"))] [≠] 8: AlreadyAttempted [Name(StringChange("AlreadyAttempted", "PayoutError"))] [≠] 9: PayoutError [Name(StringChange("PayoutError", "NotAttempted"))] [≠] 10: NotAttempted [Name(StringChange("NotAttempted", "Inconclusive"))] [-] "Inconclusive" - constants changes: [-] "ProposalBond" [-] "ProposalBondMaximum" [-] "ProposalBondMinimum" [≠] pallet 42: Scheduler -> 11 change(s) - calls changes: [+] CallDesc { index: 6, name: "set_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 7, name: "set_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 8, name: "cancel_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }] } } [+] CallDesc { index: 9, name: "cancel_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }] } } - events changes: [≠] 3: CallUnavailable ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("CallUnavailable", "RetrySet")), Signature(SignatureChange { args: [Added(2, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }), Added(3, ArgDesc { name: "retries", ty: "u8" })] })] [≠] 4: PeriodicFailed ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PeriodicFailed", "RetryCancelled"))] [≠] 5: PermanentlyOverweight ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PermanentlyOverweight", "CallUnavailable"))] [+] EventDesc { index: 6, name: "PeriodicFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 7, name: "RetryFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 8, name: "PermanentlyOverweight", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } - storages changes: [+] StorageDesc { name: "Retries", modifier: "Optional", default_value: [0] } [≠] pallet 43: Proxy -> 4 change(s) - constants changes: [≠] AnnouncementDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] AnnouncementDepositFactor: [0, 232, 83, 87, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(232, 0)), Changed(2, U8Change(83, 0)), Changed(3, U8Change(87, 0)), Changed(5, U8Change(3, 0))])] [≠] ProxyDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] ProxyDepositFactor: [0, 244, 169, 43, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(244, 0)), Changed(2, U8Change(169, 0)), Changed(3, U8Change(43, 0)), Changed(4, U8Change(128, 0)), Changed(5, U8Change(1, 0))])] [≠] pallet 46: Tips -> 2 change(s) - constants changes: [≠] DataDepositPerByte: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] TipReportDepositBase: [0, 244, 86, 40, 250, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(0, U8Change(0, 1)), Changed(1, U8Change(244, 0)), Changed(2, U8Change(86, 0)), Changed(3, U8Change(40, 0)), Changed(4, U8Change(250, 0)), Changed(5, U8Change(50, 0))])] [≠] pallet 47: Multisig -> 2 change(s) - constants changes: [≠] DepositBase: [0, 128, 27, 132, 238, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(27, 0)), Changed(3, U8Change(132, 0)), Changed(4, U8Change(238, 0)), Changed(5, U8Change(50, 0))])] [≠] DepositFactor: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] pallet 49: Fungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 62: Attestation -> 1 change(s) - constants changes: [≠] Deposit: [0, 28, 201, 221, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(28, 0)), Changed(2, U8Change(201, 0)), Changed(3, U8Change(221, 0)), Changed(5, U8Change(110, 0))])] [≠] pallet 63: Delegation -> 1 change(s) - constants changes: [≠] Deposit: [0, 128, 198, 164, 126, 141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(198, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(126, 0)), Changed(5, U8Change(141, 0)), Changed(6, U8Change(3, 0))])] [≠] pallet 64: Did -> 4 change(s) - constants changes: [≠] BaseDeposit: [0, 0, 141, 73, 253, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(2, U8Change(141, 0)), Changed(3, U8Change(73, 0)), Changed(4, U8Change(253, 0)), Changed(5, U8Change(26, 0)), Changed(6, U8Change(7, 0))])] [≠] Fee: [0, 32, 61, 136, 121, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(61, 0)), Changed(3, U8Change(136, 0)), Changed(4, U8Change(121, 0)), Changed(5, U8Change(45, 0))])] [≠] KeyDeposit: [0, 220, 32, 116, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(220, 0)), Changed(2, U8Change(32, 0)), Changed(3, U8Change(116, 0)), Changed(4, U8Change(151, 0)), Changed(5, U8Change(1, 0))])] [≠] ServiceEndpointDeposit: [0, 240, 36, 238, 189, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(240, 0)), Changed(2, U8Change(36, 0)), Changed(3, U8Change(238, 0)), Changed(4, U8Change(189, 0)), Changed(5, U8Change(237, 0))])] [≠] pallet 67: DidLookup -> 1 change(s) - constants changes: [≠] Deposit: [0, 192, 175, 214, 145, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(192, 0)), Changed(2, U8Change(175, 0)), Changed(3, U8Change(214, 0)), Changed(4, U8Change(145, 0)), Changed(5, U8Change(54, 0))])] [≠] pallet 68: Web3Names -> 1 change(s) - constants changes: [≠] Deposit: [0, 212, 80, 168, 93, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(212, 0)), Changed(2, U8Change(80, 0)), Changed(3, U8Change(168, 0)), Changed(4, U8Change(93, 0)), Changed(5, U8Change(107, 0))])] [≠] pallet 69: PublicCredentials -> 1 change(s) - constants changes: [≠] Deposit: [0, 92, 106, 81, 252, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(92, 0)), Changed(2, U8Change(106, 0)), Changed(3, U8Change(81, 0)), Changed(4, U8Change(252, 0)), Changed(5, U8Change(69, 0))])] [≠] pallet 80: ParachainSystem -> 3 change(s) - calls changes: [-] "authorize_upgrade" [-] "enact_authorized_upgrade" - constants changes: [+] ConstantDesc { name: "SelfParaId", value: [100, 0, 0, 0] } [≠] pallet 82: XcmpQueue -> 4 change(s) - errors changes: [+] ErrorDesc { index: 3, name: "TooManyActiveOutboundChannels" } [+] ErrorDesc { index: 4, name: "TooBig" } - constants changes: [+] ConstantDesc { name: "MaxActiveOutboundChannels", value: [128, 0, 0, 0] } [+] ConstantDesc { name: "MaxPageSize", value: [0, 0, 2, 0] } [≠] pallet 83: PolkadotXcm -> 3 change(s) - errors changes: [-] "InvalidAssetNotConcrete" - storages changes: [+] StorageDesc { name: "RecordedXcm", modifier: "Optional", default_value: [0] } [+] StorageDesc { name: "ShouldRecordXcm", modifier: "Default", default_value: [0] } [≠] pallet 86: MessageQueue -> 1 change(s) - constants changes: [+] ConstantDesc { name: "IdleMaxServiceWeight", value: [0] } [-] pallet 66: Inflation SUMMARY: - Compatible.......................: false - Require transaction_version bump.: true !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! ``` </details> <details> <summary> Peregrine WASM diff </summary> ``` !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! [≠] pallet 0: System -> 6 change(s) - errors changes: [≠] 6: NothingAuthorized [Name(StringChange("NothingAuthorized", "MultiBlockMigrationsOngoing"))] [≠] 7: Unauthorized [Name(StringChange("Unauthorized", "NothingAuthorized"))] [+] ErrorDesc { index: 8, name: "Unauthorized" } - constants changes: [≠] BlockWeights: [ 2, 91, 31, 93, 0, 7, 0, 136, 82, 106, 116, 2, 0, 64, 1, 194, 160, 169, 29, 0, 1, 7, 208, 9, 24, 164, 75, 2, 0, 208, 0, 1, ... ] [Value([Changed(0, U8Change(2, 98)), Changed(1, U8Change(91, 77)), Changed(2, U8Change(31, 24)), Changed(3, U8Change(93, 108)), Changed(15, U8Change(194, 66)), Changed(16, U8Change(160, 71)), Changed(17, U8Change(169, 135)), Changed(18, U8Change(29, 25)), Changed(22, U8Change(208, 48)), Changed(23, U8Change(9, 160)), Changed(24, U8Change(24, 32)), Changed(25, U8Change(164, 165)), Changed(45, U8Change(194, 66)), Changed(46, U8Change(160, 71)), Changed(47, U8Change(169, 135)), Changed(48, U8Change(29, 25)), Changed(52, U8Change(208, 48)), Changed(53, U8Change(171, 66)), Changed(54, U8Change(172, 181)), Changed(55, U8Change(190, 191)), Changed(83, U8Change(194, 66)), Changed(84, U8Change(160, 71)), Changed(85, U8Change(169, 135)), Changed(86, U8Change(29, 25))])] [≠] 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, 238, 44, ... ] [Value([Changed(30, U8Change(238, 80)), Changed(31, U8Change(44, 45)), Changed(47, U8Change(4, 5)), Changed(263, U8Change(1, 2))])] - storages changes: [+] StorageDesc { name: "InherentsApplied", modifier: "Default", default_value: [0] } [≠] pallet 5: Indices -> 1 change(s) - constants changes: [≠] Deposit: [0, 180, 124, 243, 40, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(180, 0)), Changed(2, U8Change(124, 0)), Changed(3, U8Change(243, 0)), Changed(4, U8Change(40, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 6: Balances -> 1 change(s) - calls changes: [+] CallDesc { index: 10, name: "burn", signature: SignatureDesc { args: [ArgDesc { name: "value", ty: "T::Balance" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } [≠] pallet 23: Aura -> 1 change(s) - constants changes: [+] ConstantDesc { name: "SlotDuration", value: [224, 46, 0, 0, 0, 0, 0, 0] } [+] id: 25 - new pallet: Collators [≠] pallet 35: Treasury -> 33 change(s) - calls changes: [-] "propose_spend" [-] "reject_proposal" [-] "approve_proposal" - events changes: [≠] 0: Proposed ( proposal_index: ProposalIndex, ) ) [Name(StringChange("Proposed", "Spending")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "budget_remaining")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))])] })] [≠] 1: Spending ( budget_remaining: BalanceOf<T, I>, ) ) [Name(StringChange("Spending", "Awarded")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("budget_remaining", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 2: Awarded ( proposal_index: ProposalIndex, award: BalanceOf<T, I>, account: T::AccountId, ) ) [Name(StringChange("Awarded", "Burnt")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "burnt_funds")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Removed(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 3: Rejected ( proposal_index: ProposalIndex, slashed: BalanceOf<T, I>, ) ) [Name(StringChange("Rejected", "Rollover")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "rollover_balance")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "slashed", ty: "BalanceOf<T, I>" })] })] [≠] 4: Burnt ( burnt_funds: BalanceOf<T, I>, ) ) [Name(StringChange("Burnt", "Deposit")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("burnt_funds", "value"))])] })] [≠] 5: Rollover ( rollover_balance: BalanceOf<T, I>, ) ) [Name(StringChange("Rollover", "SpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("rollover_balance", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "amount", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "beneficiary", ty: "T::AccountId" })] })] [≠] 6: Deposit ( value: BalanceOf<T, I>, ) ) [Name(StringChange("Deposit", "UpdatedInactive")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("value", "reactivated"))]), Added(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 7: SpendApproved ( proposal_index: ProposalIndex, amount: BalanceOf<T, I>, beneficiary: T::AccountId, ) ) [Name(StringChange("SpendApproved", "AssetSpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "index")), Ty(StringChange("ProposalIndex", "SpendIndex"))]), Changed(1, [Name(StringChange("amount", "asset_kind")), Ty(StringChange("BalanceOf<T, I>", "T::AssetKind"))]), Changed(2, [Name(StringChange("beneficiary", "amount")), Ty(StringChange("T::AccountId", "AssetBalanceOf<T, I>"))]), Added(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Added(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Added(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 8: UpdatedInactive ( reactivated: BalanceOf<T, I>, deactivated: BalanceOf<T, I>, ) ) [Name(StringChange("UpdatedInactive", "AssetSpendVoided")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("reactivated", "index")), Ty(StringChange("BalanceOf<T, I>", "SpendIndex"))]), Removed(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 9: AssetSpendApproved ( index: SpendIndex, asset_kind: T::AssetKind, amount: AssetBalanceOf<T, I>, beneficiary: T::Beneficiary, valid_from: BlockNumberFor<T>, expire_at: BlockNumberFor<T>, ) ) [Name(StringChange("AssetSpendApproved", "Paid")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("asset_kind", "payment_id")), Ty(StringChange("T::AssetKind", "<T::Paymaster as Pay>::Id"))]), Removed(2, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }), Removed(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Removed(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Removed(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 10: AssetSpendVoided ( index: SpendIndex, ) ) [Name(StringChange("AssetSpendVoided", "PaymentFailed")), Signature(SignatureChange { args: [Added(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [≠] 11: Paid ( index: SpendIndex, payment_id: <T::Paymaster as Pay>::Id, ) ) [Name(StringChange("Paid", "SpendProcessed")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [-] "PaymentFailed" [-] "SpendProcessed" - errors changes: [≠] 0: InsufficientProposersBalance [Name(StringChange("InsufficientProposersBalance", "InvalidIndex"))] [≠] 1: InvalidIndex [Name(StringChange("InvalidIndex", "TooManyApprovals"))] [≠] 2: TooManyApprovals [Name(StringChange("TooManyApprovals", "InsufficientPermission"))] [≠] 3: InsufficientPermission [Name(StringChange("InsufficientPermission", "ProposalNotApproved"))] [≠] 4: ProposalNotApproved [Name(StringChange("ProposalNotApproved", "FailedToConvertBalance"))] [≠] 5: FailedToConvertBalance [Name(StringChange("FailedToConvertBalance", "SpendExpired"))] [≠] 6: SpendExpired [Name(StringChange("SpendExpired", "EarlyPayout"))] [≠] 7: EarlyPayout [Name(StringChange("EarlyPayout", "AlreadyAttempted"))] [≠] 8: AlreadyAttempted [Name(StringChange("AlreadyAttempted", "PayoutError"))] [≠] 9: PayoutError [Name(StringChange("PayoutError", "NotAttempted"))] [≠] 10: NotAttempted [Name(StringChange("NotAttempted", "Inconclusive"))] [-] "Inconclusive" - constants changes: [≠] Burn: [0; 4] [Value([Changed(0, U8Change(0, 64)), Changed(1, U8Change(0, 66)), Changed(2, U8Change(0, 15))])] [-] "ProposalBond" [-] "ProposalBondMaximum" [-] "ProposalBondMinimum" [≠] pallet 42: Scheduler -> 11 change(s) - calls changes: [+] CallDesc { index: 6, name: "set_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 7, name: "set_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 8, name: "cancel_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }] } } [+] CallDesc { index: 9, name: "cancel_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }] } } - events changes: [≠] 3: CallUnavailable ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("CallUnavailable", "RetrySet")), Signature(SignatureChange { args: [Added(2, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }), Added(3, ArgDesc { name: "retries", ty: "u8" })] })] [≠] 4: PeriodicFailed ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PeriodicFailed", "RetryCancelled"))] [≠] 5: PermanentlyOverweight ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PermanentlyOverweight", "CallUnavailable"))] [+] EventDesc { index: 6, name: "PeriodicFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 7, name: "RetryFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 8, name: "PermanentlyOverweight", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } - storages changes: [+] StorageDesc { name: "Retries", modifier: "Optional", default_value: [0] } [≠] pallet 43: Proxy -> 4 change(s) - constants changes: [≠] AnnouncementDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] AnnouncementDepositFactor: [0, 232, 83, 87, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(232, 0)), Changed(2, U8Change(83, 0)), Changed(3, U8Change(87, 0)), Changed(5, U8Change(3, 0))])] [≠] ProxyDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] ProxyDepositFactor: [0, 244, 169, 43, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(244, 0)), Changed(2, U8Change(169, 0)), Changed(3, U8Change(43, 0)), Changed(4, U8Change(128, 0)), Changed(5, U8Change(1, 0))])] [≠] pallet 46: Tips -> 2 change(s) - constants changes: [≠] DataDepositPerByte: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] TipReportDepositBase: [0, 244, 86, 40, 250, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(0, U8Change(0, 1)), Changed(1, U8Change(244, 0)), Changed(2, U8Change(86, 0)), Changed(3, U8Change(40, 0)), Changed(4, U8Change(250, 0)), Changed(5, U8Change(50, 0))])] [≠] pallet 47: Multisig -> 2 change(s) - constants changes: [≠] DepositBase: [0, 128, 27, 132, 238, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(27, 0)), Changed(3, U8Change(132, 0)), Changed(4, U8Change(238, 0)), Changed(5, U8Change(50, 0))])] [≠] DepositFactor: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] pallet 49: Fungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 50: BondedFungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 62: Attestation -> 1 change(s) - constants changes: [≠] Deposit: [0, 28, 201, 221, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(28, 0)), Changed(2, U8Change(201, 0)), Changed(3, U8Change(221, 0)), Changed(5, U8Change(110, 0))])] [≠] pallet 63: Delegation -> 1 change(s) - constants changes: [≠] Deposit: [0, 128, 198, 164, 126, 141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(198, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(126, 0)), Changed(5, U8Change(141, 0)), Changed(6, U8Change(3, 0))])] [≠] pallet 64: Did -> 4 change(s) - constants changes: [≠] BaseDeposit: [0, 0, 141, 73, 253, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(2, U8Change(141, 0)), Changed(3, U8Change(73, 0)), Changed(4, U8Change(253, 0)), Changed(5, U8Change(26, 0)), Changed(6, U8Change(7, 0))])] [≠] Fee: [0, 32, 61, 136, 121, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(61, 0)), Changed(3, U8Change(136, 0)), Changed(4, U8Change(121, 0)), Changed(5, U8Change(45, 0))])] [≠] KeyDeposit: [0, 220, 32, 116, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(220, 0)), Changed(2, U8Change(32, 0)), Changed(3, U8Change(116, 0)), Changed(4, U8Change(151, 0)), Changed(5, U8Change(1, 0))])] [≠] ServiceEndpointDeposit: [0, 240, 36, 238, 189, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(240, 0)), Changed(2, U8Change(36, 0)), Changed(3, U8Change(238, 0)), Changed(4, U8Change(189, 0)), Changed(5, U8Change(237, 0))])] [≠] pallet 67: DidLookup -> 1 change(s) - constants changes: [≠] Deposit: [0, 192, 175, 214, 145, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(192, 0)), Changed(2, U8Change(175, 0)), Changed(3, U8Change(214, 0)), Changed(4, U8Change(145, 0)), Changed(5, U8Change(54, 0))])] [≠] pallet 68: Web3Names -> 1 change(s) - constants changes: [≠] Deposit: [0, 212, 80, 168, 93, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(212, 0)), Changed(2, U8Change(80, 0)), Changed(3, U8Change(168, 0)), Changed(4, U8Change(93, 0)), Changed(5, U8Change(107, 0))])] [≠] pallet 69: PublicCredentials -> 1 change(s) - constants changes: [≠] Deposit: [0, 92, 106, 81, 252, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(92, 0)), Changed(2, U8Change(106, 0)), Changed(3, U8Change(81, 0)), Changed(4, U8Change(252, 0)), Changed(5, U8Change(69, 0))])] [≠] pallet 75: BondedCurrencies -> 5 change(s) - calls changes: [≠] 0: create_pool ( curve: CurveInput<CurveParameterInputOf<T>>, collateral_id: CollateralAssetIdOf<T>, currencies: BoundedVec<TokenMetaOf<T>, T::MaxCurrenciesPerPool>, denomination: u8, transferable: bool, min_operation_balance: u128, ) ) [Signature(SignatureChange { args: [Changed(3, [Name(StringChange("denomination", "currencies_settings")), Ty(StringChange("u8", "BondedCurrenciesSettingsOf<T>"))]), Removed(4, ArgDesc { name: "transferable", ty: "bool" }), Removed(5, ArgDesc { name: "min_operation_balance", ty: "u128" })] })] [≠] 1: reset_team ( pool_id: T::PoolId, team: PoolManagingTeam<AccountIdOf<T>>, currency_idx: u32, ) ) [Signature(SignatureChange { args: [Changed(2, [Name(StringChange("currency_idx", "currency_count"))])] })] - events changes: [+] EventDesc { index: 8, name: "TeamChanged", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::PoolId" }, ArgDesc { name: "admin", ty: "T::AccountId" }, ArgDesc { name: "freezer", ty: "T::AccountId" }] } } - constants changes: [≠] BaseDeposit: [0, 72, 24, 17, 197, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(72, 0)), Changed(2, U8Change(24, 0)), Changed(3, U8Change(17, 0)), Changed(4, U8Change(197, 0)), Changed(5, U8Change(95, 0))])] [≠] DepositPerCurrency: [0, 176, 10, 2, 169, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(176, 0)), Changed(2, U8Change(10, 0)), Changed(3, U8Change(2, 0)), Changed(4, U8Change(169, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 80: ParachainSystem -> 3 change(s) - calls changes: [-] "authorize_upgrade" [-] "enact_authorized_upgrade" - constants changes: [+] ConstantDesc { name: "SelfParaId", value: [100, 0, 0, 0] } [≠] pallet 82: XcmpQueue -> 4 change(s) - errors changes: [+] ErrorDesc { index: 3, name: "TooManyActiveOutboundChannels" } [+] ErrorDesc { index: 4, name: "TooBig" } - constants changes: [+] ConstantDesc { name: "MaxActiveOutboundChannels", value: [128, 0, 0, 0] } [+] ConstantDesc { name: "MaxPageSize", value: [0, 0, 2, 0] } [≠] pallet 83: PolkadotXcm -> 3 change(s) - errors changes: [-] "InvalidAssetNotConcrete" - storages changes: [+] StorageDesc { name: "RecordedXcm", modifier: "Optional", default_value: [0] } [+] StorageDesc { name: "ShouldRecordXcm", modifier: "Default", default_value: [0] } [≠] pallet 86: MessageQueue -> 1 change(s) - constants changes: [+] ConstantDesc { name: "IdleMaxServiceWeight", value: [0] } [-] pallet 66: Inflation SUMMARY: - Compatible.......................: false - Require transaction_version bump.: true !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! ``` </details>
## Updates Polkadot dependencies to version 2409-05 ### Versioning Polkadot dependencies have been updated from version 1.7.0 to 1.16.5. Versions between 1.7.0 and 1.14.x were skipped due to ambiguity around which tag, branch, crates.io version, or commit to use. Additionally, many intermediate versions were broken, as Parity crates frequently failed to compile. The main motivation for this update was to ensure compatibility with Hyperbridge, which only supports the current LTS version. LTS version 2407 was also skipped, as internal crates failed to compile (I admit I did not test all possible patch versions). ### Notable changes - The pallet-parachain-system no longer exposes the authorize_upgrade and enact_authorized_upgrade extrinsics. According to [this PR](paritytech/polkadot-sdk#5439), parachains should now use the system.setCode extrinsic instead. - The pallet-treasury no longer exposes `propose_spend`, `reject_proposal`, and `approve_proposal`. This may pose issues if there are pending proposals during a runtime upgrade. - frame-omni-bencher is now available. As a result, the custom benchmarking CLI has been removed from the node. I can reintroduce it if needed. - I removed the genesis builder from the node implementation and moved it into the runtime itself, following the pattern used in the parachain template and other projects. The RuntimeGenesis is now required by the runtime-api; without it, benchmarking no longer works. To improve compatibility with the upcoming omni-node, we should consider introducing a separate crate that handles the chain specs and RuntimeGenesis configurations for different chains. ### Migrations - cumulus_pallet_xcmp_queue has a migration, which is added to Peregrine and Spiritnet. ### Future work - Replace construct_rutnime macro with the new more rusty construct runtime. - Introduce a new crate for the Omni Node that is responsible for managing chain specs and RuntimeGenesis configurations The WASMs diff can be investigated here: <details> <summary> Spiritnet Wasm Diff </summary> ``` [≠] pallet 0: System -> 6 change(s) - errors changes: [≠] 6: NothingAuthorized [Name(StringChange("NothingAuthorized", "MultiBlockMigrationsOngoing"))] [≠] 7: Unauthorized [Name(StringChange("Unauthorized", "NothingAuthorized"))] [+] ErrorDesc { index: 8, name: "Unauthorized" } - constants changes: [≠] BlockWeights: [ 2, 91, 31, 93, 0, 7, 0, 136, 82, 106, 116, 2, 0, 64, 1, 194, 160, 169, 29, 0, 1, 7, 208, 9, 24, 164, 75, 2, 0, 208, 0, 1, ... ] [Value([Changed(0, U8Change(2, 98)), Changed(1, U8Change(91, 77)), Changed(2, U8Change(31, 24)), Changed(3, U8Change(93, 108)), Changed(15, U8Change(194, 66)), Changed(16, U8Change(160, 71)), Changed(17, U8Change(169, 135)), Changed(18, U8Change(29, 25)), Changed(22, U8Change(208, 48)), Changed(23, U8Change(9, 160)), Changed(24, U8Change(24, 32)), Changed(25, U8Change(164, 165)), Changed(45, U8Change(194, 66)), Changed(46, U8Change(160, 71)), Changed(47, U8Change(169, 135)), Changed(48, U8Change(29, 25)), Changed(52, U8Change(208, 48)), Changed(53, U8Change(171, 66)), Changed(54, U8Change(172, 181)), Changed(55, U8Change(190, 191)), Changed(83, U8Change(194, 66)), Changed(84, U8Change(160, 71)), Changed(85, U8Change(169, 135)), Changed(86, U8Change(29, 25))])] [≠] 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(34, U8Change(238, 80)), Changed(35, U8Change(44, 45)), Changed(51, U8Change(4, 5))])] - storages changes: [+] StorageDesc { name: "InherentsApplied", modifier: "Default", default_value: [0] } [≠] pallet 5: Indices -> 1 change(s) - constants changes: [≠] Deposit: [0, 180, 124, 243, 40, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(180, 0)), Changed(2, U8Change(124, 0)), Changed(3, U8Change(243, 0)), Changed(4, U8Change(40, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 6: Balances -> 1 change(s) - calls changes: [+] CallDesc { index: 10, name: "burn", signature: SignatureDesc { args: [ArgDesc { name: "value", ty: "T::Balance" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } [≠] pallet 23: Aura -> 1 change(s) - constants changes: [+] ConstantDesc { name: "SlotDuration", value: [224, 46, 0, 0, 0, 0, 0, 0] } [+] id: 25 - new pallet: Collators [≠] pallet 35: Treasury -> 32 change(s) - calls changes: [-] "propose_spend" [-] "reject_proposal" [-] "approve_proposal" - events changes: [≠] 0: Proposed ( proposal_index: ProposalIndex, ) ) [Name(StringChange("Proposed", "Spending")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "budget_remaining")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))])] })] [≠] 1: Spending ( budget_remaining: BalanceOf<T, I>, ) ) [Name(StringChange("Spending", "Awarded")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("budget_remaining", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 2: Awarded ( proposal_index: ProposalIndex, award: BalanceOf<T, I>, account: T::AccountId, ) ) [Name(StringChange("Awarded", "Burnt")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "burnt_funds")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Removed(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 3: Rejected ( proposal_index: ProposalIndex, slashed: BalanceOf<T, I>, ) ) [Name(StringChange("Rejected", "Rollover")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "rollover_balance")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "slashed", ty: "BalanceOf<T, I>" })] })] [≠] 4: Burnt ( burnt_funds: BalanceOf<T, I>, ) ) [Name(StringChange("Burnt", "Deposit")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("burnt_funds", "value"))])] })] [≠] 5: Rollover ( rollover_balance: BalanceOf<T, I>, ) ) [Name(StringChange("Rollover", "SpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("rollover_balance", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "amount", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "beneficiary", ty: "T::AccountId" })] })] [≠] 6: Deposit ( value: BalanceOf<T, I>, ) ) [Name(StringChange("Deposit", "UpdatedInactive")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("value", "reactivated"))]), Added(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 7: SpendApproved ( proposal_index: ProposalIndex, amount: BalanceOf<T, I>, beneficiary: T::AccountId, ) ) [Name(StringChange("SpendApproved", "AssetSpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "index")), Ty(StringChange("ProposalIndex", "SpendIndex"))]), Changed(1, [Name(StringChange("amount", "asset_kind")), Ty(StringChange("BalanceOf<T, I>", "T::AssetKind"))]), Changed(2, [Name(StringChange("beneficiary", "amount")), Ty(StringChange("T::AccountId", "AssetBalanceOf<T, I>"))]), Added(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Added(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Added(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 8: UpdatedInactive ( reactivated: BalanceOf<T, I>, deactivated: BalanceOf<T, I>, ) ) [Name(StringChange("UpdatedInactive", "AssetSpendVoided")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("reactivated", "index")), Ty(StringChange("BalanceOf<T, I>", "SpendIndex"))]), Removed(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 9: AssetSpendApproved ( index: SpendIndex, asset_kind: T::AssetKind, amount: AssetBalanceOf<T, I>, beneficiary: T::Beneficiary, valid_from: BlockNumberFor<T>, expire_at: BlockNumberFor<T>, ) ) [Name(StringChange("AssetSpendApproved", "Paid")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("asset_kind", "payment_id")), Ty(StringChange("T::AssetKind", "<T::Paymaster as Pay>::Id"))]), Removed(2, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }), Removed(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Removed(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Removed(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 10: AssetSpendVoided ( index: SpendIndex, ) ) [Name(StringChange("AssetSpendVoided", "PaymentFailed")), Signature(SignatureChange { args: [Added(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [≠] 11: Paid ( index: SpendIndex, payment_id: <T::Paymaster as Pay>::Id, ) ) [Name(StringChange("Paid", "SpendProcessed")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [-] "PaymentFailed" [-] "SpendProcessed" - errors changes: [≠] 0: InsufficientProposersBalance [Name(StringChange("InsufficientProposersBalance", "InvalidIndex"))] [≠] 1: InvalidIndex [Name(StringChange("InvalidIndex", "TooManyApprovals"))] [≠] 2: TooManyApprovals [Name(StringChange("TooManyApprovals", "InsufficientPermission"))] [≠] 3: InsufficientPermission [Name(StringChange("InsufficientPermission", "ProposalNotApproved"))] [≠] 4: ProposalNotApproved [Name(StringChange("ProposalNotApproved", "FailedToConvertBalance"))] [≠] 5: FailedToConvertBalance [Name(StringChange("FailedToConvertBalance", "SpendExpired"))] [≠] 6: SpendExpired [Name(StringChange("SpendExpired", "EarlyPayout"))] [≠] 7: EarlyPayout [Name(StringChange("EarlyPayout", "AlreadyAttempted"))] [≠] 8: AlreadyAttempted [Name(StringChange("AlreadyAttempted", "PayoutError"))] [≠] 9: PayoutError [Name(StringChange("PayoutError", "NotAttempted"))] [≠] 10: NotAttempted [Name(StringChange("NotAttempted", "Inconclusive"))] [-] "Inconclusive" - constants changes: [-] "ProposalBond" [-] "ProposalBondMaximum" [-] "ProposalBondMinimum" [≠] pallet 42: Scheduler -> 11 change(s) - calls changes: [+] CallDesc { index: 6, name: "set_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 7, name: "set_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 8, name: "cancel_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }] } } [+] CallDesc { index: 9, name: "cancel_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }] } } - events changes: [≠] 3: CallUnavailable ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("CallUnavailable", "RetrySet")), Signature(SignatureChange { args: [Added(2, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }), Added(3, ArgDesc { name: "retries", ty: "u8" })] })] [≠] 4: PeriodicFailed ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PeriodicFailed", "RetryCancelled"))] [≠] 5: PermanentlyOverweight ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PermanentlyOverweight", "CallUnavailable"))] [+] EventDesc { index: 6, name: "PeriodicFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 7, name: "RetryFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 8, name: "PermanentlyOverweight", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } - storages changes: [+] StorageDesc { name: "Retries", modifier: "Optional", default_value: [0] } [≠] pallet 43: Proxy -> 4 change(s) - constants changes: [≠] AnnouncementDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] AnnouncementDepositFactor: [0, 232, 83, 87, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(232, 0)), Changed(2, U8Change(83, 0)), Changed(3, U8Change(87, 0)), Changed(5, U8Change(3, 0))])] [≠] ProxyDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] ProxyDepositFactor: [0, 244, 169, 43, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(244, 0)), Changed(2, U8Change(169, 0)), Changed(3, U8Change(43, 0)), Changed(4, U8Change(128, 0)), Changed(5, U8Change(1, 0))])] [≠] pallet 46: Tips -> 2 change(s) - constants changes: [≠] DataDepositPerByte: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] TipReportDepositBase: [0, 244, 86, 40, 250, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(0, U8Change(0, 1)), Changed(1, U8Change(244, 0)), Changed(2, U8Change(86, 0)), Changed(3, U8Change(40, 0)), Changed(4, U8Change(250, 0)), Changed(5, U8Change(50, 0))])] [≠] pallet 47: Multisig -> 2 change(s) - constants changes: [≠] DepositBase: [0, 128, 27, 132, 238, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(27, 0)), Changed(3, U8Change(132, 0)), Changed(4, U8Change(238, 0)), Changed(5, U8Change(50, 0))])] [≠] DepositFactor: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] pallet 49: Fungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 62: Attestation -> 1 change(s) - constants changes: [≠] Deposit: [0, 28, 201, 221, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(28, 0)), Changed(2, U8Change(201, 0)), Changed(3, U8Change(221, 0)), Changed(5, U8Change(110, 0))])] [≠] pallet 63: Delegation -> 1 change(s) - constants changes: [≠] Deposit: [0, 128, 198, 164, 126, 141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(198, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(126, 0)), Changed(5, U8Change(141, 0)), Changed(6, U8Change(3, 0))])] [≠] pallet 64: Did -> 4 change(s) - constants changes: [≠] BaseDeposit: [0, 0, 141, 73, 253, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(2, U8Change(141, 0)), Changed(3, U8Change(73, 0)), Changed(4, U8Change(253, 0)), Changed(5, U8Change(26, 0)), Changed(6, U8Change(7, 0))])] [≠] Fee: [0, 32, 61, 136, 121, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(61, 0)), Changed(3, U8Change(136, 0)), Changed(4, U8Change(121, 0)), Changed(5, U8Change(45, 0))])] [≠] KeyDeposit: [0, 220, 32, 116, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(220, 0)), Changed(2, U8Change(32, 0)), Changed(3, U8Change(116, 0)), Changed(4, U8Change(151, 0)), Changed(5, U8Change(1, 0))])] [≠] ServiceEndpointDeposit: [0, 240, 36, 238, 189, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(240, 0)), Changed(2, U8Change(36, 0)), Changed(3, U8Change(238, 0)), Changed(4, U8Change(189, 0)), Changed(5, U8Change(237, 0))])] [≠] pallet 67: DidLookup -> 1 change(s) - constants changes: [≠] Deposit: [0, 192, 175, 214, 145, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(192, 0)), Changed(2, U8Change(175, 0)), Changed(3, U8Change(214, 0)), Changed(4, U8Change(145, 0)), Changed(5, U8Change(54, 0))])] [≠] pallet 68: Web3Names -> 1 change(s) - constants changes: [≠] Deposit: [0, 212, 80, 168, 93, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(212, 0)), Changed(2, U8Change(80, 0)), Changed(3, U8Change(168, 0)), Changed(4, U8Change(93, 0)), Changed(5, U8Change(107, 0))])] [≠] pallet 69: PublicCredentials -> 1 change(s) - constants changes: [≠] Deposit: [0, 92, 106, 81, 252, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(92, 0)), Changed(2, U8Change(106, 0)), Changed(3, U8Change(81, 0)), Changed(4, U8Change(252, 0)), Changed(5, U8Change(69, 0))])] [≠] pallet 80: ParachainSystem -> 3 change(s) - calls changes: [-] "authorize_upgrade" [-] "enact_authorized_upgrade" - constants changes: [+] ConstantDesc { name: "SelfParaId", value: [100, 0, 0, 0] } [≠] pallet 82: XcmpQueue -> 4 change(s) - errors changes: [+] ErrorDesc { index: 3, name: "TooManyActiveOutboundChannels" } [+] ErrorDesc { index: 4, name: "TooBig" } - constants changes: [+] ConstantDesc { name: "MaxActiveOutboundChannels", value: [128, 0, 0, 0] } [+] ConstantDesc { name: "MaxPageSize", value: [0, 0, 2, 0] } [≠] pallet 83: PolkadotXcm -> 3 change(s) - errors changes: [-] "InvalidAssetNotConcrete" - storages changes: [+] StorageDesc { name: "RecordedXcm", modifier: "Optional", default_value: [0] } [+] StorageDesc { name: "ShouldRecordXcm", modifier: "Default", default_value: [0] } [≠] pallet 86: MessageQueue -> 1 change(s) - constants changes: [+] ConstantDesc { name: "IdleMaxServiceWeight", value: [0] } [-] pallet 66: Inflation SUMMARY: - Compatible.......................: false - Require transaction_version bump.: true !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! ``` </details> <details> <summary> Peregrine WASM diff </summary> ``` !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! [≠] pallet 0: System -> 6 change(s) - errors changes: [≠] 6: NothingAuthorized [Name(StringChange("NothingAuthorized", "MultiBlockMigrationsOngoing"))] [≠] 7: Unauthorized [Name(StringChange("Unauthorized", "NothingAuthorized"))] [+] ErrorDesc { index: 8, name: "Unauthorized" } - constants changes: [≠] BlockWeights: [ 2, 91, 31, 93, 0, 7, 0, 136, 82, 106, 116, 2, 0, 64, 1, 194, 160, 169, 29, 0, 1, 7, 208, 9, 24, 164, 75, 2, 0, 208, 0, 1, ... ] [Value([Changed(0, U8Change(2, 98)), Changed(1, U8Change(91, 77)), Changed(2, U8Change(31, 24)), Changed(3, U8Change(93, 108)), Changed(15, U8Change(194, 66)), Changed(16, U8Change(160, 71)), Changed(17, U8Change(169, 135)), Changed(18, U8Change(29, 25)), Changed(22, U8Change(208, 48)), Changed(23, U8Change(9, 160)), Changed(24, U8Change(24, 32)), Changed(25, U8Change(164, 165)), Changed(45, U8Change(194, 66)), Changed(46, U8Change(160, 71)), Changed(47, U8Change(169, 135)), Changed(48, U8Change(29, 25)), Changed(52, U8Change(208, 48)), Changed(53, U8Change(171, 66)), Changed(54, U8Change(172, 181)), Changed(55, U8Change(190, 191)), Changed(83, U8Change(194, 66)), Changed(84, U8Change(160, 71)), Changed(85, U8Change(169, 135)), Changed(86, U8Change(29, 25))])] [≠] 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, 238, 44, ... ] [Value([Changed(30, U8Change(238, 80)), Changed(31, U8Change(44, 45)), Changed(47, U8Change(4, 5)), Changed(263, U8Change(1, 2))])] - storages changes: [+] StorageDesc { name: "InherentsApplied", modifier: "Default", default_value: [0] } [≠] pallet 5: Indices -> 1 change(s) - constants changes: [≠] Deposit: [0, 180, 124, 243, 40, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(180, 0)), Changed(2, U8Change(124, 0)), Changed(3, U8Change(243, 0)), Changed(4, U8Change(40, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 6: Balances -> 1 change(s) - calls changes: [+] CallDesc { index: 10, name: "burn", signature: SignatureDesc { args: [ArgDesc { name: "value", ty: "T::Balance" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } [≠] pallet 23: Aura -> 1 change(s) - constants changes: [+] ConstantDesc { name: "SlotDuration", value: [224, 46, 0, 0, 0, 0, 0, 0] } [+] id: 25 - new pallet: Collators [≠] pallet 35: Treasury -> 33 change(s) - calls changes: [-] "propose_spend" [-] "reject_proposal" [-] "approve_proposal" - events changes: [≠] 0: Proposed ( proposal_index: ProposalIndex, ) ) [Name(StringChange("Proposed", "Spending")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "budget_remaining")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))])] })] [≠] 1: Spending ( budget_remaining: BalanceOf<T, I>, ) ) [Name(StringChange("Spending", "Awarded")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("budget_remaining", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 2: Awarded ( proposal_index: ProposalIndex, award: BalanceOf<T, I>, account: T::AccountId, ) ) [Name(StringChange("Awarded", "Burnt")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "burnt_funds")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Removed(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 3: Rejected ( proposal_index: ProposalIndex, slashed: BalanceOf<T, I>, ) ) [Name(StringChange("Rejected", "Rollover")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "rollover_balance")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "slashed", ty: "BalanceOf<T, I>" })] })] [≠] 4: Burnt ( burnt_funds: BalanceOf<T, I>, ) ) [Name(StringChange("Burnt", "Deposit")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("burnt_funds", "value"))])] })] [≠] 5: Rollover ( rollover_balance: BalanceOf<T, I>, ) ) [Name(StringChange("Rollover", "SpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("rollover_balance", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "amount", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "beneficiary", ty: "T::AccountId" })] })] [≠] 6: Deposit ( value: BalanceOf<T, I>, ) ) [Name(StringChange("Deposit", "UpdatedInactive")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("value", "reactivated"))]), Added(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 7: SpendApproved ( proposal_index: ProposalIndex, amount: BalanceOf<T, I>, beneficiary: T::AccountId, ) ) [Name(StringChange("SpendApproved", "AssetSpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "index")), Ty(StringChange("ProposalIndex", "SpendIndex"))]), Changed(1, [Name(StringChange("amount", "asset_kind")), Ty(StringChange("BalanceOf<T, I>", "T::AssetKind"))]), Changed(2, [Name(StringChange("beneficiary", "amount")), Ty(StringChange("T::AccountId", "AssetBalanceOf<T, I>"))]), Added(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Added(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Added(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 8: UpdatedInactive ( reactivated: BalanceOf<T, I>, deactivated: BalanceOf<T, I>, ) ) [Name(StringChange("UpdatedInactive", "AssetSpendVoided")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("reactivated", "index")), Ty(StringChange("BalanceOf<T, I>", "SpendIndex"))]), Removed(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 9: AssetSpendApproved ( index: SpendIndex, asset_kind: T::AssetKind, amount: AssetBalanceOf<T, I>, beneficiary: T::Beneficiary, valid_from: BlockNumberFor<T>, expire_at: BlockNumberFor<T>, ) ) [Name(StringChange("AssetSpendApproved", "Paid")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("asset_kind", "payment_id")), Ty(StringChange("T::AssetKind", "<T::Paymaster as Pay>::Id"))]), Removed(2, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }), Removed(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Removed(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Removed(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 10: AssetSpendVoided ( index: SpendIndex, ) ) [Name(StringChange("AssetSpendVoided", "PaymentFailed")), Signature(SignatureChange { args: [Added(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [≠] 11: Paid ( index: SpendIndex, payment_id: <T::Paymaster as Pay>::Id, ) ) [Name(StringChange("Paid", "SpendProcessed")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [-] "PaymentFailed" [-] "SpendProcessed" - errors changes: [≠] 0: InsufficientProposersBalance [Name(StringChange("InsufficientProposersBalance", "InvalidIndex"))] [≠] 1: InvalidIndex [Name(StringChange("InvalidIndex", "TooManyApprovals"))] [≠] 2: TooManyApprovals [Name(StringChange("TooManyApprovals", "InsufficientPermission"))] [≠] 3: InsufficientPermission [Name(StringChange("InsufficientPermission", "ProposalNotApproved"))] [≠] 4: ProposalNotApproved [Name(StringChange("ProposalNotApproved", "FailedToConvertBalance"))] [≠] 5: FailedToConvertBalance [Name(StringChange("FailedToConvertBalance", "SpendExpired"))] [≠] 6: SpendExpired [Name(StringChange("SpendExpired", "EarlyPayout"))] [≠] 7: EarlyPayout [Name(StringChange("EarlyPayout", "AlreadyAttempted"))] [≠] 8: AlreadyAttempted [Name(StringChange("AlreadyAttempted", "PayoutError"))] [≠] 9: PayoutError [Name(StringChange("PayoutError", "NotAttempted"))] [≠] 10: NotAttempted [Name(StringChange("NotAttempted", "Inconclusive"))] [-] "Inconclusive" - constants changes: [≠] Burn: [0; 4] [Value([Changed(0, U8Change(0, 64)), Changed(1, U8Change(0, 66)), Changed(2, U8Change(0, 15))])] [-] "ProposalBond" [-] "ProposalBondMaximum" [-] "ProposalBondMinimum" [≠] pallet 42: Scheduler -> 11 change(s) - calls changes: [+] CallDesc { index: 6, name: "set_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 7, name: "set_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 8, name: "cancel_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }] } } [+] CallDesc { index: 9, name: "cancel_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }] } } - events changes: [≠] 3: CallUnavailable ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("CallUnavailable", "RetrySet")), Signature(SignatureChange { args: [Added(2, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }), Added(3, ArgDesc { name: "retries", ty: "u8" })] })] [≠] 4: PeriodicFailed ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PeriodicFailed", "RetryCancelled"))] [≠] 5: PermanentlyOverweight ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PermanentlyOverweight", "CallUnavailable"))] [+] EventDesc { index: 6, name: "PeriodicFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 7, name: "RetryFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 8, name: "PermanentlyOverweight", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } - storages changes: [+] StorageDesc { name: "Retries", modifier: "Optional", default_value: [0] } [≠] pallet 43: Proxy -> 4 change(s) - constants changes: [≠] AnnouncementDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] AnnouncementDepositFactor: [0, 232, 83, 87, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(232, 0)), Changed(2, U8Change(83, 0)), Changed(3, U8Change(87, 0)), Changed(5, U8Change(3, 0))])] [≠] ProxyDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] ProxyDepositFactor: [0, 244, 169, 43, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(244, 0)), Changed(2, U8Change(169, 0)), Changed(3, U8Change(43, 0)), Changed(4, U8Change(128, 0)), Changed(5, U8Change(1, 0))])] [≠] pallet 46: Tips -> 2 change(s) - constants changes: [≠] DataDepositPerByte: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] TipReportDepositBase: [0, 244, 86, 40, 250, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(0, U8Change(0, 1)), Changed(1, U8Change(244, 0)), Changed(2, U8Change(86, 0)), Changed(3, U8Change(40, 0)), Changed(4, U8Change(250, 0)), Changed(5, U8Change(50, 0))])] [≠] pallet 47: Multisig -> 2 change(s) - constants changes: [≠] DepositBase: [0, 128, 27, 132, 238, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(27, 0)), Changed(3, U8Change(132, 0)), Changed(4, U8Change(238, 0)), Changed(5, U8Change(50, 0))])] [≠] DepositFactor: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] pallet 49: Fungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 50: BondedFungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 62: Attestation -> 1 change(s) - constants changes: [≠] Deposit: [0, 28, 201, 221, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(28, 0)), Changed(2, U8Change(201, 0)), Changed(3, U8Change(221, 0)), Changed(5, U8Change(110, 0))])] [≠] pallet 63: Delegation -> 1 change(s) - constants changes: [≠] Deposit: [0, 128, 198, 164, 126, 141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(198, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(126, 0)), Changed(5, U8Change(141, 0)), Changed(6, U8Change(3, 0))])] [≠] pallet 64: Did -> 4 change(s) - constants changes: [≠] BaseDeposit: [0, 0, 141, 73, 253, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(2, U8Change(141, 0)), Changed(3, U8Change(73, 0)), Changed(4, U8Change(253, 0)), Changed(5, U8Change(26, 0)), Changed(6, U8Change(7, 0))])] [≠] Fee: [0, 32, 61, 136, 121, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(61, 0)), Changed(3, U8Change(136, 0)), Changed(4, U8Change(121, 0)), Changed(5, U8Change(45, 0))])] [≠] KeyDeposit: [0, 220, 32, 116, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(220, 0)), Changed(2, U8Change(32, 0)), Changed(3, U8Change(116, 0)), Changed(4, U8Change(151, 0)), Changed(5, U8Change(1, 0))])] [≠] ServiceEndpointDeposit: [0, 240, 36, 238, 189, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(240, 0)), Changed(2, U8Change(36, 0)), Changed(3, U8Change(238, 0)), Changed(4, U8Change(189, 0)), Changed(5, U8Change(237, 0))])] [≠] pallet 67: DidLookup -> 1 change(s) - constants changes: [≠] Deposit: [0, 192, 175, 214, 145, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(192, 0)), Changed(2, U8Change(175, 0)), Changed(3, U8Change(214, 0)), Changed(4, U8Change(145, 0)), Changed(5, U8Change(54, 0))])] [≠] pallet 68: Web3Names -> 1 change(s) - constants changes: [≠] Deposit: [0, 212, 80, 168, 93, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(212, 0)), Changed(2, U8Change(80, 0)), Changed(3, U8Change(168, 0)), Changed(4, U8Change(93, 0)), Changed(5, U8Change(107, 0))])] [≠] pallet 69: PublicCredentials -> 1 change(s) - constants changes: [≠] Deposit: [0, 92, 106, 81, 252, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(92, 0)), Changed(2, U8Change(106, 0)), Changed(3, U8Change(81, 0)), Changed(4, U8Change(252, 0)), Changed(5, U8Change(69, 0))])] [≠] pallet 75: BondedCurrencies -> 5 change(s) - calls changes: [≠] 0: create_pool ( curve: CurveInput<CurveParameterInputOf<T>>, collateral_id: CollateralAssetIdOf<T>, currencies: BoundedVec<TokenMetaOf<T>, T::MaxCurrenciesPerPool>, denomination: u8, transferable: bool, min_operation_balance: u128, ) ) [Signature(SignatureChange { args: [Changed(3, [Name(StringChange("denomination", "currencies_settings")), Ty(StringChange("u8", "BondedCurrenciesSettingsOf<T>"))]), Removed(4, ArgDesc { name: "transferable", ty: "bool" }), Removed(5, ArgDesc { name: "min_operation_balance", ty: "u128" })] })] [≠] 1: reset_team ( pool_id: T::PoolId, team: PoolManagingTeam<AccountIdOf<T>>, currency_idx: u32, ) ) [Signature(SignatureChange { args: [Changed(2, [Name(StringChange("currency_idx", "currency_count"))])] })] - events changes: [+] EventDesc { index: 8, name: "TeamChanged", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::PoolId" }, ArgDesc { name: "admin", ty: "T::AccountId" }, ArgDesc { name: "freezer", ty: "T::AccountId" }] } } - constants changes: [≠] BaseDeposit: [0, 72, 24, 17, 197, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(72, 0)), Changed(2, U8Change(24, 0)), Changed(3, U8Change(17, 0)), Changed(4, U8Change(197, 0)), Changed(5, U8Change(95, 0))])] [≠] DepositPerCurrency: [0, 176, 10, 2, 169, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(176, 0)), Changed(2, U8Change(10, 0)), Changed(3, U8Change(2, 0)), Changed(4, U8Change(169, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 80: ParachainSystem -> 3 change(s) - calls changes: [-] "authorize_upgrade" [-] "enact_authorized_upgrade" - constants changes: [+] ConstantDesc { name: "SelfParaId", value: [100, 0, 0, 0] } [≠] pallet 82: XcmpQueue -> 4 change(s) - errors changes: [+] ErrorDesc { index: 3, name: "TooManyActiveOutboundChannels" } [+] ErrorDesc { index: 4, name: "TooBig" } - constants changes: [+] ConstantDesc { name: "MaxActiveOutboundChannels", value: [128, 0, 0, 0] } [+] ConstantDesc { name: "MaxPageSize", value: [0, 0, 2, 0] } [≠] pallet 83: PolkadotXcm -> 3 change(s) - errors changes: [-] "InvalidAssetNotConcrete" - storages changes: [+] StorageDesc { name: "RecordedXcm", modifier: "Optional", default_value: [0] } [+] StorageDesc { name: "ShouldRecordXcm", modifier: "Default", default_value: [0] } [≠] pallet 86: MessageQueue -> 1 change(s) - constants changes: [+] ConstantDesc { name: "IdleMaxServiceWeight", value: [0] } [-] pallet 66: Inflation SUMMARY: - Compatible.......................: false - Require transaction_version bump.: true !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! ``` </details>
## Updates Polkadot dependencies to version 2409-05 ### Versioning Polkadot dependencies have been updated from version 1.7.0 to 1.16.5. Versions between 1.7.0 and 1.14.x were skipped due to ambiguity around which tag, branch, crates.io version, or commit to use. Additionally, many intermediate versions were broken, as Parity crates frequently failed to compile. The main motivation for this update was to ensure compatibility with Hyperbridge, which only supports the current LTS version. LTS version 2407 was also skipped, as internal crates failed to compile (I admit I did not test all possible patch versions). ### Notable changes - The pallet-parachain-system no longer exposes the authorize_upgrade and enact_authorized_upgrade extrinsics. According to [this PR](paritytech/polkadot-sdk#5439), parachains should now use the system.setCode extrinsic instead. - The pallet-treasury no longer exposes `propose_spend`, `reject_proposal`, and `approve_proposal`. This may pose issues if there are pending proposals during a runtime upgrade. - frame-omni-bencher is now available. As a result, the custom benchmarking CLI has been removed from the node. I can reintroduce it if needed. - I removed the genesis builder from the node implementation and moved it into the runtime itself, following the pattern used in the parachain template and other projects. The RuntimeGenesis is now required by the runtime-api; without it, benchmarking no longer works. To improve compatibility with the upcoming omni-node, we should consider introducing a separate crate that handles the chain specs and RuntimeGenesis configurations for different chains. ### Migrations - cumulus_pallet_xcmp_queue has a migration, which is added to Peregrine and Spiritnet. ### Future work - Replace construct_rutnime macro with the new more rusty construct runtime. - Introduce a new crate for the Omni Node that is responsible for managing chain specs and RuntimeGenesis configurations The WASMs diff can be investigated here: <details> <summary> Spiritnet Wasm Diff </summary> ``` [≠] pallet 0: System -> 6 change(s) - errors changes: [≠] 6: NothingAuthorized [Name(StringChange("NothingAuthorized", "MultiBlockMigrationsOngoing"))] [≠] 7: Unauthorized [Name(StringChange("Unauthorized", "NothingAuthorized"))] [+] ErrorDesc { index: 8, name: "Unauthorized" } - constants changes: [≠] BlockWeights: [ 2, 91, 31, 93, 0, 7, 0, 136, 82, 106, 116, 2, 0, 64, 1, 194, 160, 169, 29, 0, 1, 7, 208, 9, 24, 164, 75, 2, 0, 208, 0, 1, ... ] [Value([Changed(0, U8Change(2, 98)), Changed(1, U8Change(91, 77)), Changed(2, U8Change(31, 24)), Changed(3, U8Change(93, 108)), Changed(15, U8Change(194, 66)), Changed(16, U8Change(160, 71)), Changed(17, U8Change(169, 135)), Changed(18, U8Change(29, 25)), Changed(22, U8Change(208, 48)), Changed(23, U8Change(9, 160)), Changed(24, U8Change(24, 32)), Changed(25, U8Change(164, 165)), Changed(45, U8Change(194, 66)), Changed(46, U8Change(160, 71)), Changed(47, U8Change(169, 135)), Changed(48, U8Change(29, 25)), Changed(52, U8Change(208, 48)), Changed(53, U8Change(171, 66)), Changed(54, U8Change(172, 181)), Changed(55, U8Change(190, 191)), Changed(83, U8Change(194, 66)), Changed(84, U8Change(160, 71)), Changed(85, U8Change(169, 135)), Changed(86, U8Change(29, 25))])] [≠] 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(34, U8Change(238, 80)), Changed(35, U8Change(44, 45)), Changed(51, U8Change(4, 5))])] - storages changes: [+] StorageDesc { name: "InherentsApplied", modifier: "Default", default_value: [0] } [≠] pallet 5: Indices -> 1 change(s) - constants changes: [≠] Deposit: [0, 180, 124, 243, 40, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(180, 0)), Changed(2, U8Change(124, 0)), Changed(3, U8Change(243, 0)), Changed(4, U8Change(40, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 6: Balances -> 1 change(s) - calls changes: [+] CallDesc { index: 10, name: "burn", signature: SignatureDesc { args: [ArgDesc { name: "value", ty: "T::Balance" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } [≠] pallet 23: Aura -> 1 change(s) - constants changes: [+] ConstantDesc { name: "SlotDuration", value: [224, 46, 0, 0, 0, 0, 0, 0] } [+] id: 25 - new pallet: Collators [≠] pallet 35: Treasury -> 32 change(s) - calls changes: [-] "propose_spend" [-] "reject_proposal" [-] "approve_proposal" - events changes: [≠] 0: Proposed ( proposal_index: ProposalIndex, ) ) [Name(StringChange("Proposed", "Spending")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "budget_remaining")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))])] })] [≠] 1: Spending ( budget_remaining: BalanceOf<T, I>, ) ) [Name(StringChange("Spending", "Awarded")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("budget_remaining", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 2: Awarded ( proposal_index: ProposalIndex, award: BalanceOf<T, I>, account: T::AccountId, ) ) [Name(StringChange("Awarded", "Burnt")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "burnt_funds")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Removed(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 3: Rejected ( proposal_index: ProposalIndex, slashed: BalanceOf<T, I>, ) ) [Name(StringChange("Rejected", "Rollover")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "rollover_balance")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "slashed", ty: "BalanceOf<T, I>" })] })] [≠] 4: Burnt ( burnt_funds: BalanceOf<T, I>, ) ) [Name(StringChange("Burnt", "Deposit")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("burnt_funds", "value"))])] })] [≠] 5: Rollover ( rollover_balance: BalanceOf<T, I>, ) ) [Name(StringChange("Rollover", "SpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("rollover_balance", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "amount", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "beneficiary", ty: "T::AccountId" })] })] [≠] 6: Deposit ( value: BalanceOf<T, I>, ) ) [Name(StringChange("Deposit", "UpdatedInactive")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("value", "reactivated"))]), Added(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 7: SpendApproved ( proposal_index: ProposalIndex, amount: BalanceOf<T, I>, beneficiary: T::AccountId, ) ) [Name(StringChange("SpendApproved", "AssetSpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "index")), Ty(StringChange("ProposalIndex", "SpendIndex"))]), Changed(1, [Name(StringChange("amount", "asset_kind")), Ty(StringChange("BalanceOf<T, I>", "T::AssetKind"))]), Changed(2, [Name(StringChange("beneficiary", "amount")), Ty(StringChange("T::AccountId", "AssetBalanceOf<T, I>"))]), Added(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Added(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Added(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 8: UpdatedInactive ( reactivated: BalanceOf<T, I>, deactivated: BalanceOf<T, I>, ) ) [Name(StringChange("UpdatedInactive", "AssetSpendVoided")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("reactivated", "index")), Ty(StringChange("BalanceOf<T, I>", "SpendIndex"))]), Removed(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 9: AssetSpendApproved ( index: SpendIndex, asset_kind: T::AssetKind, amount: AssetBalanceOf<T, I>, beneficiary: T::Beneficiary, valid_from: BlockNumberFor<T>, expire_at: BlockNumberFor<T>, ) ) [Name(StringChange("AssetSpendApproved", "Paid")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("asset_kind", "payment_id")), Ty(StringChange("T::AssetKind", "<T::Paymaster as Pay>::Id"))]), Removed(2, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }), Removed(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Removed(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Removed(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 10: AssetSpendVoided ( index: SpendIndex, ) ) [Name(StringChange("AssetSpendVoided", "PaymentFailed")), Signature(SignatureChange { args: [Added(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [≠] 11: Paid ( index: SpendIndex, payment_id: <T::Paymaster as Pay>::Id, ) ) [Name(StringChange("Paid", "SpendProcessed")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [-] "PaymentFailed" [-] "SpendProcessed" - errors changes: [≠] 0: InsufficientProposersBalance [Name(StringChange("InsufficientProposersBalance", "InvalidIndex"))] [≠] 1: InvalidIndex [Name(StringChange("InvalidIndex", "TooManyApprovals"))] [≠] 2: TooManyApprovals [Name(StringChange("TooManyApprovals", "InsufficientPermission"))] [≠] 3: InsufficientPermission [Name(StringChange("InsufficientPermission", "ProposalNotApproved"))] [≠] 4: ProposalNotApproved [Name(StringChange("ProposalNotApproved", "FailedToConvertBalance"))] [≠] 5: FailedToConvertBalance [Name(StringChange("FailedToConvertBalance", "SpendExpired"))] [≠] 6: SpendExpired [Name(StringChange("SpendExpired", "EarlyPayout"))] [≠] 7: EarlyPayout [Name(StringChange("EarlyPayout", "AlreadyAttempted"))] [≠] 8: AlreadyAttempted [Name(StringChange("AlreadyAttempted", "PayoutError"))] [≠] 9: PayoutError [Name(StringChange("PayoutError", "NotAttempted"))] [≠] 10: NotAttempted [Name(StringChange("NotAttempted", "Inconclusive"))] [-] "Inconclusive" - constants changes: [-] "ProposalBond" [-] "ProposalBondMaximum" [-] "ProposalBondMinimum" [≠] pallet 42: Scheduler -> 11 change(s) - calls changes: [+] CallDesc { index: 6, name: "set_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 7, name: "set_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 8, name: "cancel_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }] } } [+] CallDesc { index: 9, name: "cancel_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }] } } - events changes: [≠] 3: CallUnavailable ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("CallUnavailable", "RetrySet")), Signature(SignatureChange { args: [Added(2, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }), Added(3, ArgDesc { name: "retries", ty: "u8" })] })] [≠] 4: PeriodicFailed ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PeriodicFailed", "RetryCancelled"))] [≠] 5: PermanentlyOverweight ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PermanentlyOverweight", "CallUnavailable"))] [+] EventDesc { index: 6, name: "PeriodicFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 7, name: "RetryFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 8, name: "PermanentlyOverweight", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } - storages changes: [+] StorageDesc { name: "Retries", modifier: "Optional", default_value: [0] } [≠] pallet 43: Proxy -> 4 change(s) - constants changes: [≠] AnnouncementDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] AnnouncementDepositFactor: [0, 232, 83, 87, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(232, 0)), Changed(2, U8Change(83, 0)), Changed(3, U8Change(87, 0)), Changed(5, U8Change(3, 0))])] [≠] ProxyDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] ProxyDepositFactor: [0, 244, 169, 43, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(244, 0)), Changed(2, U8Change(169, 0)), Changed(3, U8Change(43, 0)), Changed(4, U8Change(128, 0)), Changed(5, U8Change(1, 0))])] [≠] pallet 46: Tips -> 2 change(s) - constants changes: [≠] DataDepositPerByte: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] TipReportDepositBase: [0, 244, 86, 40, 250, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(0, U8Change(0, 1)), Changed(1, U8Change(244, 0)), Changed(2, U8Change(86, 0)), Changed(3, U8Change(40, 0)), Changed(4, U8Change(250, 0)), Changed(5, U8Change(50, 0))])] [≠] pallet 47: Multisig -> 2 change(s) - constants changes: [≠] DepositBase: [0, 128, 27, 132, 238, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(27, 0)), Changed(3, U8Change(132, 0)), Changed(4, U8Change(238, 0)), Changed(5, U8Change(50, 0))])] [≠] DepositFactor: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] pallet 49: Fungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 62: Attestation -> 1 change(s) - constants changes: [≠] Deposit: [0, 28, 201, 221, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(28, 0)), Changed(2, U8Change(201, 0)), Changed(3, U8Change(221, 0)), Changed(5, U8Change(110, 0))])] [≠] pallet 63: Delegation -> 1 change(s) - constants changes: [≠] Deposit: [0, 128, 198, 164, 126, 141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(198, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(126, 0)), Changed(5, U8Change(141, 0)), Changed(6, U8Change(3, 0))])] [≠] pallet 64: Did -> 4 change(s) - constants changes: [≠] BaseDeposit: [0, 0, 141, 73, 253, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(2, U8Change(141, 0)), Changed(3, U8Change(73, 0)), Changed(4, U8Change(253, 0)), Changed(5, U8Change(26, 0)), Changed(6, U8Change(7, 0))])] [≠] Fee: [0, 32, 61, 136, 121, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(61, 0)), Changed(3, U8Change(136, 0)), Changed(4, U8Change(121, 0)), Changed(5, U8Change(45, 0))])] [≠] KeyDeposit: [0, 220, 32, 116, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(220, 0)), Changed(2, U8Change(32, 0)), Changed(3, U8Change(116, 0)), Changed(4, U8Change(151, 0)), Changed(5, U8Change(1, 0))])] [≠] ServiceEndpointDeposit: [0, 240, 36, 238, 189, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(240, 0)), Changed(2, U8Change(36, 0)), Changed(3, U8Change(238, 0)), Changed(4, U8Change(189, 0)), Changed(5, U8Change(237, 0))])] [≠] pallet 67: DidLookup -> 1 change(s) - constants changes: [≠] Deposit: [0, 192, 175, 214, 145, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(192, 0)), Changed(2, U8Change(175, 0)), Changed(3, U8Change(214, 0)), Changed(4, U8Change(145, 0)), Changed(5, U8Change(54, 0))])] [≠] pallet 68: Web3Names -> 1 change(s) - constants changes: [≠] Deposit: [0, 212, 80, 168, 93, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(212, 0)), Changed(2, U8Change(80, 0)), Changed(3, U8Change(168, 0)), Changed(4, U8Change(93, 0)), Changed(5, U8Change(107, 0))])] [≠] pallet 69: PublicCredentials -> 1 change(s) - constants changes: [≠] Deposit: [0, 92, 106, 81, 252, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(92, 0)), Changed(2, U8Change(106, 0)), Changed(3, U8Change(81, 0)), Changed(4, U8Change(252, 0)), Changed(5, U8Change(69, 0))])] [≠] pallet 80: ParachainSystem -> 3 change(s) - calls changes: [-] "authorize_upgrade" [-] "enact_authorized_upgrade" - constants changes: [+] ConstantDesc { name: "SelfParaId", value: [100, 0, 0, 0] } [≠] pallet 82: XcmpQueue -> 4 change(s) - errors changes: [+] ErrorDesc { index: 3, name: "TooManyActiveOutboundChannels" } [+] ErrorDesc { index: 4, name: "TooBig" } - constants changes: [+] ConstantDesc { name: "MaxActiveOutboundChannels", value: [128, 0, 0, 0] } [+] ConstantDesc { name: "MaxPageSize", value: [0, 0, 2, 0] } [≠] pallet 83: PolkadotXcm -> 3 change(s) - errors changes: [-] "InvalidAssetNotConcrete" - storages changes: [+] StorageDesc { name: "RecordedXcm", modifier: "Optional", default_value: [0] } [+] StorageDesc { name: "ShouldRecordXcm", modifier: "Default", default_value: [0] } [≠] pallet 86: MessageQueue -> 1 change(s) - constants changes: [+] ConstantDesc { name: "IdleMaxServiceWeight", value: [0] } [-] pallet 66: Inflation SUMMARY: - Compatible.......................: false - Require transaction_version bump.: true !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! ``` </details> <details> <summary> Peregrine WASM diff </summary> ``` !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! [≠] pallet 0: System -> 6 change(s) - errors changes: [≠] 6: NothingAuthorized [Name(StringChange("NothingAuthorized", "MultiBlockMigrationsOngoing"))] [≠] 7: Unauthorized [Name(StringChange("Unauthorized", "NothingAuthorized"))] [+] ErrorDesc { index: 8, name: "Unauthorized" } - constants changes: [≠] BlockWeights: [ 2, 91, 31, 93, 0, 7, 0, 136, 82, 106, 116, 2, 0, 64, 1, 194, 160, 169, 29, 0, 1, 7, 208, 9, 24, 164, 75, 2, 0, 208, 0, 1, ... ] [Value([Changed(0, U8Change(2, 98)), Changed(1, U8Change(91, 77)), Changed(2, U8Change(31, 24)), Changed(3, U8Change(93, 108)), Changed(15, U8Change(194, 66)), Changed(16, U8Change(160, 71)), Changed(17, U8Change(169, 135)), Changed(18, U8Change(29, 25)), Changed(22, U8Change(208, 48)), Changed(23, U8Change(9, 160)), Changed(24, U8Change(24, 32)), Changed(25, U8Change(164, 165)), Changed(45, U8Change(194, 66)), Changed(46, U8Change(160, 71)), Changed(47, U8Change(169, 135)), Changed(48, U8Change(29, 25)), Changed(52, U8Change(208, 48)), Changed(53, U8Change(171, 66)), Changed(54, U8Change(172, 181)), Changed(55, U8Change(190, 191)), Changed(83, U8Change(194, 66)), Changed(84, U8Change(160, 71)), Changed(85, U8Change(169, 135)), Changed(86, U8Change(29, 25))])] [≠] 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, 238, 44, ... ] [Value([Changed(30, U8Change(238, 80)), Changed(31, U8Change(44, 45)), Changed(47, U8Change(4, 5)), Changed(263, U8Change(1, 2))])] - storages changes: [+] StorageDesc { name: "InherentsApplied", modifier: "Default", default_value: [0] } [≠] pallet 5: Indices -> 1 change(s) - constants changes: [≠] Deposit: [0, 180, 124, 243, 40, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(180, 0)), Changed(2, U8Change(124, 0)), Changed(3, U8Change(243, 0)), Changed(4, U8Change(40, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 6: Balances -> 1 change(s) - calls changes: [+] CallDesc { index: 10, name: "burn", signature: SignatureDesc { args: [ArgDesc { name: "value", ty: "T::Balance" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } [≠] pallet 23: Aura -> 1 change(s) - constants changes: [+] ConstantDesc { name: "SlotDuration", value: [224, 46, 0, 0, 0, 0, 0, 0] } [+] id: 25 - new pallet: Collators [≠] pallet 35: Treasury -> 33 change(s) - calls changes: [-] "propose_spend" [-] "reject_proposal" [-] "approve_proposal" - events changes: [≠] 0: Proposed ( proposal_index: ProposalIndex, ) ) [Name(StringChange("Proposed", "Spending")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "budget_remaining")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))])] })] [≠] 1: Spending ( budget_remaining: BalanceOf<T, I>, ) ) [Name(StringChange("Spending", "Awarded")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("budget_remaining", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 2: Awarded ( proposal_index: ProposalIndex, award: BalanceOf<T, I>, account: T::AccountId, ) ) [Name(StringChange("Awarded", "Burnt")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "burnt_funds")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "award", ty: "BalanceOf<T, I>" }), Removed(2, ArgDesc { name: "account", ty: "T::AccountId" })] })] [≠] 3: Rejected ( proposal_index: ProposalIndex, slashed: BalanceOf<T, I>, ) ) [Name(StringChange("Rejected", "Rollover")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "rollover_balance")), Ty(StringChange("ProposalIndex", "BalanceOf<T, I>"))]), Removed(1, ArgDesc { name: "slashed", ty: "BalanceOf<T, I>" })] })] [≠] 4: Burnt ( burnt_funds: BalanceOf<T, I>, ) ) [Name(StringChange("Burnt", "Deposit")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("burnt_funds", "value"))])] })] [≠] 5: Rollover ( rollover_balance: BalanceOf<T, I>, ) ) [Name(StringChange("Rollover", "SpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("rollover_balance", "proposal_index")), Ty(StringChange("BalanceOf<T, I>", "ProposalIndex"))]), Added(1, ArgDesc { name: "amount", ty: "BalanceOf<T, I>" }), Added(2, ArgDesc { name: "beneficiary", ty: "T::AccountId" })] })] [≠] 6: Deposit ( value: BalanceOf<T, I>, ) ) [Name(StringChange("Deposit", "UpdatedInactive")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("value", "reactivated"))]), Added(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 7: SpendApproved ( proposal_index: ProposalIndex, amount: BalanceOf<T, I>, beneficiary: T::AccountId, ) ) [Name(StringChange("SpendApproved", "AssetSpendApproved")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("proposal_index", "index")), Ty(StringChange("ProposalIndex", "SpendIndex"))]), Changed(1, [Name(StringChange("amount", "asset_kind")), Ty(StringChange("BalanceOf<T, I>", "T::AssetKind"))]), Changed(2, [Name(StringChange("beneficiary", "amount")), Ty(StringChange("T::AccountId", "AssetBalanceOf<T, I>"))]), Added(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Added(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Added(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 8: UpdatedInactive ( reactivated: BalanceOf<T, I>, deactivated: BalanceOf<T, I>, ) ) [Name(StringChange("UpdatedInactive", "AssetSpendVoided")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("reactivated", "index")), Ty(StringChange("BalanceOf<T, I>", "SpendIndex"))]), Removed(1, ArgDesc { name: "deactivated", ty: "BalanceOf<T, I>" })] })] [≠] 9: AssetSpendApproved ( index: SpendIndex, asset_kind: T::AssetKind, amount: AssetBalanceOf<T, I>, beneficiary: T::Beneficiary, valid_from: BlockNumberFor<T>, expire_at: BlockNumberFor<T>, ) ) [Name(StringChange("AssetSpendApproved", "Paid")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("asset_kind", "payment_id")), Ty(StringChange("T::AssetKind", "<T::Paymaster as Pay>::Id"))]), Removed(2, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }), Removed(3, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }), Removed(4, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }), Removed(5, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" })] })] [≠] 10: AssetSpendVoided ( index: SpendIndex, ) ) [Name(StringChange("AssetSpendVoided", "PaymentFailed")), Signature(SignatureChange { args: [Added(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [≠] 11: Paid ( index: SpendIndex, payment_id: <T::Paymaster as Pay>::Id, ) ) [Name(StringChange("Paid", "SpendProcessed")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" })] })] [-] "PaymentFailed" [-] "SpendProcessed" - errors changes: [≠] 0: InsufficientProposersBalance [Name(StringChange("InsufficientProposersBalance", "InvalidIndex"))] [≠] 1: InvalidIndex [Name(StringChange("InvalidIndex", "TooManyApprovals"))] [≠] 2: TooManyApprovals [Name(StringChange("TooManyApprovals", "InsufficientPermission"))] [≠] 3: InsufficientPermission [Name(StringChange("InsufficientPermission", "ProposalNotApproved"))] [≠] 4: ProposalNotApproved [Name(StringChange("ProposalNotApproved", "FailedToConvertBalance"))] [≠] 5: FailedToConvertBalance [Name(StringChange("FailedToConvertBalance", "SpendExpired"))] [≠] 6: SpendExpired [Name(StringChange("SpendExpired", "EarlyPayout"))] [≠] 7: EarlyPayout [Name(StringChange("EarlyPayout", "AlreadyAttempted"))] [≠] 8: AlreadyAttempted [Name(StringChange("AlreadyAttempted", "PayoutError"))] [≠] 9: PayoutError [Name(StringChange("PayoutError", "NotAttempted"))] [≠] 10: NotAttempted [Name(StringChange("NotAttempted", "Inconclusive"))] [-] "Inconclusive" - constants changes: [≠] Burn: [0; 4] [Value([Changed(0, U8Change(0, 64)), Changed(1, U8Change(0, 66)), Changed(2, U8Change(0, 15))])] [-] "ProposalBond" [-] "ProposalBondMaximum" [-] "ProposalBondMinimum" [≠] pallet 42: Scheduler -> 11 change(s) - calls changes: [+] CallDesc { index: 6, name: "set_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 7, name: "set_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }, ArgDesc { name: "retries", ty: "u8" }, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }] } } [+] CallDesc { index: 8, name: "cancel_retry", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }] } } [+] CallDesc { index: 9, name: "cancel_retry_named", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "TaskName" }] } } - events changes: [≠] 3: CallUnavailable ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("CallUnavailable", "RetrySet")), Signature(SignatureChange { args: [Added(2, ArgDesc { name: "period", ty: "BlockNumberFor<T>" }), Added(3, ArgDesc { name: "retries", ty: "u8" })] })] [≠] 4: PeriodicFailed ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PeriodicFailed", "RetryCancelled"))] [≠] 5: PermanentlyOverweight ( task: TaskAddress<BlockNumberFor<T>>, id: Option<TaskName>, ) ) [Name(StringChange("PermanentlyOverweight", "CallUnavailable"))] [+] EventDesc { index: 6, name: "PeriodicFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 7, name: "RetryFailed", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } [+] EventDesc { index: 8, name: "PermanentlyOverweight", signature: SignatureDesc { args: [ArgDesc { name: "task", ty: "TaskAddress<BlockNumberFor<T>>" }, ArgDesc { name: "id", ty: "Option<TaskName>" }] } } - storages changes: [+] StorageDesc { name: "Retries", modifier: "Optional", default_value: [0] } [≠] pallet 43: Proxy -> 4 change(s) - constants changes: [≠] AnnouncementDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] AnnouncementDepositFactor: [0, 232, 83, 87, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(232, 0)), Changed(2, U8Change(83, 0)), Changed(3, U8Change(87, 0)), Changed(5, U8Change(3, 0))])] [≠] ProxyDepositBase: [0, 32, 247, 165, 75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(247, 0)), Changed(3, U8Change(165, 0)), Changed(4, U8Change(75, 0)), Changed(5, U8Change(51, 0))])] [≠] ProxyDepositFactor: [0, 244, 169, 43, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(244, 0)), Changed(2, U8Change(169, 0)), Changed(3, U8Change(43, 0)), Changed(4, U8Change(128, 0)), Changed(5, U8Change(1, 0))])] [≠] pallet 46: Tips -> 2 change(s) - constants changes: [≠] DataDepositPerByte: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] TipReportDepositBase: [0, 244, 86, 40, 250, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(0, U8Change(0, 1)), Changed(1, U8Change(244, 0)), Changed(2, U8Change(86, 0)), Changed(3, U8Change(40, 0)), Changed(4, U8Change(250, 0)), Changed(5, U8Change(50, 0))])] [≠] pallet 47: Multisig -> 2 change(s) - constants changes: [≠] DepositBase: [0, 128, 27, 132, 238, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(27, 0)), Changed(3, U8Change(132, 0)), Changed(4, U8Change(238, 0)), Changed(5, U8Change(50, 0))])] [≠] DepositFactor: [0, 116, 59, 164, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(116, 0)), Changed(2, U8Change(59, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(11, 0))])] [≠] pallet 49: Fungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 50: BondedFungibles -> 5 change(s) - calls changes: [+] CallDesc { index: 32, name: "transfer_all", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::AssetIdParameter" }, ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "keep_alive", ty: "bool" }] } } - events changes: [+] EventDesc { index: 24, name: "Deposited", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } [+] EventDesc { index: 25, name: "Withdrawn", signature: SignatureDesc { args: [ArgDesc { name: "asset_id", ty: "T::AssetId" }, ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } } - errors changes: [+] ErrorDesc { index: 20, name: "BadAssetId" } - storages changes: [+] StorageDesc { name: "NextAssetId", modifier: "Optional", default_value: [0] } [≠] pallet 62: Attestation -> 1 change(s) - constants changes: [≠] Deposit: [0, 28, 201, 221, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(28, 0)), Changed(2, U8Change(201, 0)), Changed(3, U8Change(221, 0)), Changed(5, U8Change(110, 0))])] [≠] pallet 63: Delegation -> 1 change(s) - constants changes: [≠] Deposit: [0, 128, 198, 164, 126, 141, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(128, 0)), Changed(2, U8Change(198, 0)), Changed(3, U8Change(164, 0)), Changed(4, U8Change(126, 0)), Changed(5, U8Change(141, 0)), Changed(6, U8Change(3, 0))])] [≠] pallet 64: Did -> 4 change(s) - constants changes: [≠] BaseDeposit: [0, 0, 141, 73, 253, 26, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(2, U8Change(141, 0)), Changed(3, U8Change(73, 0)), Changed(4, U8Change(253, 0)), Changed(5, U8Change(26, 0)), Changed(6, U8Change(7, 0))])] [≠] Fee: [0, 32, 61, 136, 121, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(32, 0)), Changed(2, U8Change(61, 0)), Changed(3, U8Change(136, 0)), Changed(4, U8Change(121, 0)), Changed(5, U8Change(45, 0))])] [≠] KeyDeposit: [0, 220, 32, 116, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(220, 0)), Changed(2, U8Change(32, 0)), Changed(3, U8Change(116, 0)), Changed(4, U8Change(151, 0)), Changed(5, U8Change(1, 0))])] [≠] ServiceEndpointDeposit: [0, 240, 36, 238, 189, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(240, 0)), Changed(2, U8Change(36, 0)), Changed(3, U8Change(238, 0)), Changed(4, U8Change(189, 0)), Changed(5, U8Change(237, 0))])] [≠] pallet 67: DidLookup -> 1 change(s) - constants changes: [≠] Deposit: [0, 192, 175, 214, 145, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(192, 0)), Changed(2, U8Change(175, 0)), Changed(3, U8Change(214, 0)), Changed(4, U8Change(145, 0)), Changed(5, U8Change(54, 0))])] [≠] pallet 68: Web3Names -> 1 change(s) - constants changes: [≠] Deposit: [0, 212, 80, 168, 93, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(212, 0)), Changed(2, U8Change(80, 0)), Changed(3, U8Change(168, 0)), Changed(4, U8Change(93, 0)), Changed(5, U8Change(107, 0))])] [≠] pallet 69: PublicCredentials -> 1 change(s) - constants changes: [≠] Deposit: [0, 92, 106, 81, 252, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(92, 0)), Changed(2, U8Change(106, 0)), Changed(3, U8Change(81, 0)), Changed(4, U8Change(252, 0)), Changed(5, U8Change(69, 0))])] [≠] pallet 75: BondedCurrencies -> 5 change(s) - calls changes: [≠] 0: create_pool ( curve: CurveInput<CurveParameterInputOf<T>>, collateral_id: CollateralAssetIdOf<T>, currencies: BoundedVec<TokenMetaOf<T>, T::MaxCurrenciesPerPool>, denomination: u8, transferable: bool, min_operation_balance: u128, ) ) [Signature(SignatureChange { args: [Changed(3, [Name(StringChange("denomination", "currencies_settings")), Ty(StringChange("u8", "BondedCurrenciesSettingsOf<T>"))]), Removed(4, ArgDesc { name: "transferable", ty: "bool" }), Removed(5, ArgDesc { name: "min_operation_balance", ty: "u128" })] })] [≠] 1: reset_team ( pool_id: T::PoolId, team: PoolManagingTeam<AccountIdOf<T>>, currency_idx: u32, ) ) [Signature(SignatureChange { args: [Changed(2, [Name(StringChange("currency_idx", "currency_count"))])] })] - events changes: [+] EventDesc { index: 8, name: "TeamChanged", signature: SignatureDesc { args: [ArgDesc { name: "id", ty: "T::PoolId" }, ArgDesc { name: "admin", ty: "T::AccountId" }, ArgDesc { name: "freezer", ty: "T::AccountId" }] } } - constants changes: [≠] BaseDeposit: [0, 72, 24, 17, 197, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(72, 0)), Changed(2, U8Change(24, 0)), Changed(3, U8Change(17, 0)), Changed(4, U8Change(197, 0)), Changed(5, U8Change(95, 0))])] [≠] DepositPerCurrency: [0, 176, 10, 2, 169, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [Value([Changed(1, U8Change(176, 0)), Changed(2, U8Change(10, 0)), Changed(3, U8Change(2, 0)), Changed(4, U8Change(169, 0)), Changed(5, U8Change(53, 0))])] [≠] pallet 80: ParachainSystem -> 3 change(s) - calls changes: [-] "authorize_upgrade" [-] "enact_authorized_upgrade" - constants changes: [+] ConstantDesc { name: "SelfParaId", value: [100, 0, 0, 0] } [≠] pallet 82: XcmpQueue -> 4 change(s) - errors changes: [+] ErrorDesc { index: 3, name: "TooManyActiveOutboundChannels" } [+] ErrorDesc { index: 4, name: "TooBig" } - constants changes: [+] ConstantDesc { name: "MaxActiveOutboundChannels", value: [128, 0, 0, 0] } [+] ConstantDesc { name: "MaxPageSize", value: [0, 0, 2, 0] } [≠] pallet 83: PolkadotXcm -> 3 change(s) - errors changes: [-] "InvalidAssetNotConcrete" - storages changes: [+] StorageDesc { name: "RecordedXcm", modifier: "Optional", default_value: [0] } [+] StorageDesc { name: "ShouldRecordXcm", modifier: "Default", default_value: [0] } [≠] pallet 86: MessageQueue -> 1 change(s) - constants changes: [+] ConstantDesc { name: "IdleMaxServiceWeight", value: [0] } [-] pallet 66: Inflation SUMMARY: - Compatible.......................: false - Require transaction_version bump.: true !!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!! ``` </details>
Calls were written to be removed after June 2024. This PR removes them.
This PR will break users using those calls. The call won't be decodable by the runtime, so it should fail early with no consequences. The functionality must be same as before, users will just need to use the calls in
System.