Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Release Checklist for Runtime v9420 #2507

Closed
14 tasks done
EgorPopelyaev opened this issue May 2, 2023 · 13 comments
Closed
14 tasks done

Release Checklist for Runtime v9420 #2507

EgorPopelyaev opened this issue May 2, 2023 · 13 comments
Labels
B0-silent Changes should not be mentioned in any release notes T9-release This PR/Issue is related to topics touching the release notes.

Comments

@EgorPopelyaev
Copy link
Contributor

EgorPopelyaev commented May 2, 2023

Release Checklist - Runtimes

All following checks must be completed before publishing a new release.
The release process is owned and led by @paritytech/release-engineering team.
The checks marked with 🦀 are meant to be checked by a runtime engineer.

Runtimes Release

Codebase

These checks should be performed on the codebase.

  • the spec_version has been incremented since the
    last release for any native runtimes from any existing use on public (non-private/test) networks
  • 🦀 previously completed migrations are removed for any public (non-private/test) networks
  • pallet and extrinsic ordering as well as SignedExtensions have stayed
    the same. Bump transaction_version otherwise
  • the benchmarks ran
  • the weights have been updated for any modified runtime logic
  • 🦀 the new weights are sane, there are no significant (>50%) drops or rises with no reason
  • 🦀 XCM config is compatible with the configurations and versions of relevant interlocutors, like the Relay Chain.

On the release branch

The following checks can be performed after we have forked off to the release-candidate branch or started an additional release candidate branch (rc-2, rc-3, etc)

  • Verify new migrations complete successfully, and the
    runtime state is correctly updated for any public (non-private/test)
    networks
  • Run integration tests, and make sure they pass.
  • Push runtime upgrade to Westmint and verify network stability
  • Push runtime upgrade to Collectives and verify network stability

Github

Post release

  • 🦀 all commits (runtime version bumps, fixes) on this release branch have been merged back to master.

Read more about the release documentation.

@EgorPopelyaev EgorPopelyaev added B0-silent Changes should not be mentioned in any release notes T9-release This PR/Issue is related to topics touching the release notes. labels May 2, 2023
@EgorPopelyaev
Copy link
Contributor Author

Extrinsic ordering check ⬇️

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

bridge-hub-kusama v9400 vs bridge-hub-kusama v9420

Comparison of the following runtimes:
specifications : bridge-hub-kusama v9400
implementation : bridge-hub-kusama v0
transaction    : v3
authoring      : v1
specifications : bridge-hub-kusama v9420
implementation : bridge-hub-kusama v0
transaction    : v3
authoring      : v1

Compatible: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 2 change(s)
  - constants changes:
    [≠] Version: [68, 98, 114, 105, 100, 103, 101, 45, 104, 117, 98, 45, 107, 117, 115, 97, 109, 97, 68, 98, 114, 105, 100, 103, 101, 45, 104, 117, 98, 45, 107, 117, 115, 97, 109, 97, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 40, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 3, 0, 0, 0, 1]
        [Value([Changed(40, U8Change(184, 204)), Changed(81, U8Change(1, 2)), Changed(153, U8Change(3, 4))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 10: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: PolkadotXcm -> 1 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

compatible: true
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

bridge-hub-polkadot v9400 vs bridge-hub-polkadot v9420

Comparison of the following runtimes:
specifications : bridge-hub-polkadot v9400
implementation : bridge-hub-polkadot v0
transaction    : v2
authoring      : v1
specifications : bridge-hub-polkadot v9420
implementation : bridge-hub-polkadot v0
transaction    : v2
authoring      : v1

Compatible: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 2 change(s)
  - constants changes:
    [≠] Version: [76, 98, 114, 105, 100, 103, 101, 45, 104, 117, 98, 45, 112, 111, 108, 107, 97, 100, 111, 116, 76, 98, 114, 105, 100, 103, 101, 45, 104, 117, 98, 45, 112, 111, 108, 107, 97, 100, 111, 116, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 40, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 2, 0, 0, 0, 1]
        [Value([Changed(44, U8Change(184, 204)), Changed(85, U8Change(1, 2)), Changed(157, U8Change(3, 4))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 10: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: PolkadotXcm -> 1 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

compatible: true
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

bridge-hub-rococo v9400 vs bridge-hub-rococo v9420

Comparison of the following runtimes:
specifications : bridge-hub-rococo v9400
implementation : bridge-hub-rococo v0
transaction    : v3
authoring      : v1
specifications : bridge-hub-rococo v9420
implementation : bridge-hub-rococo v0
transaction    : v3
authoring      : v1

Compatible: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 2 change(s)
  - constants changes:
    [≠] Version: [68, 98, 114, 105, 100, 103, 101, 45, 104, 117, 98, 45, 114, 111, 99, 111, 99, 111, 68, 98, 114, 105, 100, 103, 101, 45, 104, 117, 98, 45, 114, 111, 99, 111, 99, 111, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 40, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 3, 0, 0, 0, 1]
        [Value([Changed(40, U8Change(184, 204)), Changed(81, U8Change(1, 2)), Changed(153, U8Change(3, 4))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 10: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: PolkadotXcm -> 1 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

compatible: true
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

collectives v9400 vs collectives v9420

Comparison of the following runtimes:
specifications : collectives v9400
implementation : collectives v0
transaction    : v4
authoring      : v1
specifications : collectives v9420
implementation : collectives v0
transaction    : v4
authoring      : v1

Compatible: false

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 2 change(s)
  - constants changes:
    [≠] Version: [44, 99, 111, 108, 108, 101, 99, 116, 105, 118, 101, 115, 44, 99, 111, 108, 108, 101, 99, 116, 105, 118, 101, 115, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 44, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 243, 255, 20, 213, 171, 82, 112, 89, 3, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 4, 0, 0, 0, 0]
        [Value([Changed(28, U8Change(184, 204)), Changed(69, U8Change(1, 2)), Changed(141, U8Change(3, 4))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 10: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: PolkadotXcm -> 2 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

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

[+] id: 43 - new pallet: Preimage
[+] id: 44 - new pallet: Scheduler
[≠] pallet 50: Alliance -> 1 change(s)
  - calls changes:
    [-] "close_old_weight"

[≠] pallet 51: AllianceMotion -> 2 change(s)
  - calls changes:
    [-] "close_old_weight"

  - constants changes:
    [+] ConstantDesc { name: "MaxProposalWeight", value: [7, 0, 68, 41, 53, 58, 2, 0, 160, 0] }

[+] id: 60 - new pallet: FellowshipCollective
[+] id: 61 - new pallet: FellowshipReferenda
compatible: false
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

contracts-rococo v9400 vs contracts-rococo v9420

Comparison of the following runtimes:
specifications : contracts-rococo v9400
implementation : contracts-rococo v0
transaction    : v6
authoring      : v1
specifications : contracts-rococo v9420
implementation : contracts-rococo v0
transaction    : v6
authoring      : v1

Compatible: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 2 change(s)
  - constants changes:
    [≠] Version: [64, 99, 111, 110, 116, 114, 97, 99, 116, 115, 45, 114, 111, 99, 111, 99, 111, 64, 99, 111, 110, 116, 114, 97, 99, 116, 115, 45, 114, 111, 99, 111, 99, 111, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 48, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 243, 255, 20, 213, 171, 82, 112, 89, 3, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 104, 182, 107, 161, 34, 201, 63, 167, 2, 0, 0, 0, 6, 0, 0, 0, 1]
        [Value([Changed(38, U8Change(184, 204)), Changed(79, U8Change(1, 2)), Changed(151, U8Change(3, 4))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 10: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: PolkadotXcm -> 2 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

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

[≠] pallet 40: Contracts -> 16 change(s)
  - errors changes:
    [≠] 18: DeletionQueueFull
        [Name(StringChange("DeletionQueueFull", "DuplicateContract"))]
    [≠] 19: DuplicateContract
        [Name(StringChange("DuplicateContract", "TerminatedInConstructor"))]
    [≠] 20: TerminatedInConstructor
        [Name(StringChange("TerminatedInConstructor", "ReentranceDenied"))]
    [≠] 21: ReentranceDenied
        [Name(StringChange("ReentranceDenied", "StorageDepositNotEnoughFunds"))]
    [≠] 22: StorageDepositNotEnoughFunds
        [Name(StringChange("StorageDepositNotEnoughFunds", "StorageDepositLimitExhausted"))]
    [≠] 23: StorageDepositLimitExhausted
        [Name(StringChange("StorageDepositLimitExhausted", "CodeInUse"))]
    [≠] 24: CodeInUse
        [Name(StringChange("CodeInUse", "ContractReverted"))]
    [≠] 25: ContractReverted
        [Name(StringChange("ContractReverted", "CodeRejected"))]
    [≠] 26: CodeRejected
        [Name(StringChange("CodeRejected", "Indeterministic"))]
    [-] "Indeterministic"

  - constants changes:
    [+] ConstantDesc { name: "DefaultDepositLimit", value: [0, 144, 90, 214, 134, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }
    [≠] Schedule: [4, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 128, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 1, 0, 0, 32, 0, 0, 0, 0, 64, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 8, 0, 0, 240, 25, 0, 0, 6, 23, 0, 0, 183, 12, 0, 0, 67, 27, 0, 0, 239, 8, 0, 0, 244, 12, 0, 0, 81, 21, 0, 0, 46, 0, 0, 0, 3, 75, 0, 0, 23, 90, 0, 0, 241, 8, 0, 0, 145, 3, 0, 0, 230, 9, 0, 0, 235, 10, 0, 0, 156, 9, 0, 0, 252, 26, 0, 0, 226, 27, 0, 0, 183, 23, 0, 0, 93, 226, 225, 0, 88, 8, 0, 0, 176, 8, 0, 0, 166, 9, 0, 0, 106, 9, 0, 0, 18, 8, 0, 0, 203, 7, 0, 0, 10, 8, 0, 0, 98, 11, 0, 0, 80, 11, 0, 0, 27, 11, 0, 0, 71, 11, 0, 0, 73, 11, 0, 0, 200, 11, 0, 0, 87, 11, 0, 0, 49, 12, 0, 0, 90, 11, 0, 0, 142, 11, 0, 0, 226, 10, 0, 0, 126, 10, 0, 0, 128, 10, 0, 0, 81, 35, 0, 0, 208, 32, 0, 0, 106, 36, 0, 0, 161, 32, 0, 0, 233, 10, 0, 0, 128, 13, 0, 0, 233, 10, 0, 0, 2, 11, 0, 0, 39, 11, 0, 0, 29, 11, 0, 0, 34, 11, 0, 0, 229, 10, 0, 0, 22, 132, 13, 0, 120, 66, 237, 179, 6, 241, 59, 146, 107, 220, 6, 65, 60, 118, 18, 17, 0, 120, 174, 170, 8, 0, 60, 246, 125, 13, 0, 120, 30, 22, 13, 0, 120, 118, 253, 74, 0, 120, 166, 78, 13, 0, 120, 50, 21, 13, 0, 120, 246, 235, 12, 0, 120, 6, 58, 13, 0, 120, 6, 139, 67, 0, 240, 78, 37, 6, 0, 0, 78, 27, 12, 0, 120, 217, 1, 0, 214, 10, 106, 0, 133, 3, 141, 3, 0, 6, 77, 115, 219, 113, 234, 254, 235, 84, 0, 240, 98, 224, 174, 0, 200, 118, 216, 87, 30, 53, 41, 169, 13, 0, 222, 81, 11, 0, 140, 129, 12, 0, 122, 209, 47, 31, 145, 4, 141, 185, 0, 113, 179, 8, 30, 112, 19, 66, 41, 184, 70, 63, 39, 31, 129, 4, 161, 179, 8, 234, 89, 6, 7, 129, 4, 41, 45, 8, 142, 23, 17, 7, 161, 4, 17, 64, 8, 246, 82, 48, 31, 161, 4, 169, 198, 8, 230, 224, 246, 33, 53, 42, 234, 159, 250, 145, 229, 99, 46, 231, 27, 119, 229, 128, 202, 106, 81, 34, 169, 55, 225, 1, 0, 3, 216, 131, 126, 65, 2, 11, 1, 0, 214, 0, 160, 0, 132, 13, 24, 0, 37, 24, 0, 18, 68, 32, 0, 160, 229, 61, 0, 78, 21, 44, 0, 160, 197, 49, 0, 30, 113, 25, 0, 160, 177, 19, 0, 70, 106, 27, 0, 168, 181, 19, 0, 174, 234, 0, 9, 241, 5, 242, 62, 51, 2, 73, 3, 210, 194, 8, 0, 60, 210, 198, 13, 0, 25, 3, 66, 40, 7, 0, 72]
        [Value([Changed(36, U8Change(4, 0)), Changed(39, U8Change(0, 8)), Changed(40, U8Change(0, 4)), Changed(44, U8Change(12, 0)), Changed(45, U8Change(8, 0)), Changed(48, U8Change(240, 188)), Changed(49, U8Change(25, 5)), Changed(52, U8Change(6, 73)), Changed(53, U8Change(23, 13)), Changed(56, U8Change(183, 5)), Changed(60, U8Change(67, 241)), Changed(61, U8Change(27, 7)), Changed(64, U8Change(239, 225)), Changed(65, U8Change(8, 23)), Changed(68, U8Change(244, 53)), Changed(69, U8Change(12, 6)), Changed(72, U8Change(81, 127)), Changed(73, U8Change(21, 9)), Changed(76, U8Change(46, 190)), Changed(77, U8Change(0, 18)), Changed(80, U8Change(3, 42)), Changed(81, U8Change(75, 0)), Changed(84, U8Change(23, 111)), Changed(85, U8Change(90, 62)), Changed(88, U8Change(241, 89)), Changed(89, U8Change(8, 79)), Changed(92, U8Change(145, 219)), Changed(93, U8Change(3, 4)), Changed(96, U8Change(230, 212)), Changed(97, U8Change(9, 3)), Changed(100, U8Change(235, 93)), Changed(101, U8Change(10, 8)), Changed(104, U8Change(156, 139)), Changed(105, U8Change(9, 3)), Changed(108, U8Change(252, 243)), Changed(112, U8Change(226, 191)), Changed(113, U8Change(27, 28)), Changed(116, U8Change(183, 231)), Changed(117, U8Change(23, 8)), Changed(120, U8Change(93, 187)), Changed(121, U8Change(226, 32)), Changed(122, U8Change(225, 201)), Changed(124, U8Change(88, 118)), Changed(125, U8Change(8, 3)), Changed(128, U8Change(176, 30)), Changed(129, U8Change(8, 3)), Changed(132, U8Change(166, 29)), Changed(133, U8Change(9, 3)), Changed(136, U8Change(106, 212)), Changed(137, U8Change(9, 2)), Changed(140, U8Change(18, 150)), Changed(141, U8Change(8, 3)), Changed(144, U8Change(203, 104)), Changed(145, U8Change(7, 3)), Changed(148, U8Change(10, 254)), Changed(149, U8Change(8, 2)), Changed(152, U8Change(98, 18)), Changed(153, U8Change(11, 6)), Changed(156, U8Change(80, 252)), Changed(157, U8Change(11, 5)), Changed(160, U8Change(27, 29)), Changed(161, U8Change(11, 6)), Changed(164, U8Change(71, 28)), Changed(165, U8Change(11, 6)), Changed(168, U8Change(73, 161)), Changed(169, U8Change(11, 5)), Changed(172, U8Change(200, 138)), Changed(173, U8Change(11, 6)), Changed(176, U8Change(87, 34)), Changed(177, U8Change(11, 6)), Changed(180, U8Change(49, 122)), Changed(181, U8Change(12, 6)), Changed(184, U8Change(90, 6)), Changed(185, U8Change(11, 6)), Changed(188, U8Change(142, 38)), Changed(189, U8Change(11, 6)), Changed(192, U8Change(226, 165)), Changed(193, U8Change(10, 5)), Changed(196, U8Change(126, 159)), Changed(197, U8Change(10, 6)), Changed(200, U8Change(128, 73)), Changed(201, U8Change(10, 5)), Changed(204, U8Change(81, 17)), Changed(205, U8Change(35, 29)), Changed(208, U8Change(208, 68)), Changed(209, U8Change(32, 24)), Changed(212, U8Change(106, 200)), Changed(213, U8Change(36, 30)), Changed(216, U8Change(161, 192)), Changed(217, U8Change(32, 24)), Changed(220, U8Change(233, 220)), Changed(221, U8Change(10, 4)), Changed(224, U8Change(128, 64)), Changed(225, U8Change(13, 5)), Changed(228, U8Change(233, 192)), Changed(229, U8Change(10, 5)), Changed(232, U8Change(2, 162)), Changed(233, U8Change(11, 5)), Changed(236, U8Change(39, 170)), Changed(237, U8Change(11, 6)), Changed(240, U8Change(29, 168)), Changed(241, U8Change(11, 5)), Changed(244, U8Change(34, 50)), Changed(245, U8Change(11, 6)), Changed(248, U8Change(229, 167)), Changed(249, U8Change(10, 5)), Changed(252, U8Change(22, 38)), Changed(253, U8Change(132, 191)), Changed(254, U8Change(13, 20)), Changed(256, U8Change(120, 24)), Changed(257, U8Change(66, 22)), Changed(258, U8Change(237, 60)), Changed(259, U8Change(179, 193)), Changed(261, U8Change(241, 109)), Changed(262, U8Change(59, 42)), Changed(263, U8Change(146, 178)), Changed(264, U8Change(107, 16)), Changed(265, U8Change(220, 242)), Changed(267, U8Change(65, 125)), Changed(268, U8Change(60, 42)), Changed(269, U8Change(118, 14)), Changed(270, U8Change(18, 5)), Changed(271, U8Change(17, 25)), Changed(273, U8Change(120, 24)), Changed(274, U8Change(174, 254)), Changed(275, U8Change(170, 30)), Changed(276, U8Change(8, 10)), Changed(278, U8Change(60, 12)), Changed(279, U8Change(246, 14)), Changed(280, U8Change(125, 72)), Changed(281, U8Change(13, 20)), Changed(283, U8Change(120, 24)), Changed(284, U8Change(30, 14)), Changed(285, U8Change(22, 19)), Changed(286, U8Change(13, 20)), Changed(288, U8Change(120, 24)), Changed(289, U8Change(118, 254)), Changed(290, U8Change(253, 121)), Changed(291, U8Change(74, 88)), Changed(293, U8Change(120, 24)), Changed(294, U8Change(166, 222)), Changed(295, U8Change(78, 34)), Changed(296, U8Change(13, 20)), Changed(298, U8Change(120, 24)), Changed(299, U8Change(50, 86)), Changed(300, U8Change(21, 209)), Changed(301, U8Change(13, 19)), Changed(303, U8Change(120, 24)), Changed(304, U8Change(246, 162)), Changed(305, U8Change(235, 6)), Changed(306, U8Change(12, 21)), Changed(308, U8Change(120, 24)), Changed(309, U8Change(6, 174)), Changed(310, U8Change(58, 8)), Changed(311, U8Change(13, 20)), Changed(313, U8Change(120, 24)), Changed(314, U8Change(6, 214)), Changed(315, U8Change(139, 164)), Changed(316, U8Change(67, 81)), Changed(318, U8Change(240, 40)), Changed(319, U8Change(78, 158)), Changed(320, U8Change(37, 39)), Changed(321, U8Change(6, 8)), Changed(324, U8Change(78, 154)), Changed(325, U8Change(27, 80)), Changed(326, U8Change(12, 16)), Changed(328, U8Change(120, 24)), Changed(329, U8Change(217, 45)), Changed(330, U8Change(1, 9)), Changed(332, U8Change(214, 246)), Changed(333, U8Change(10, 200)), Changed(334, U8Change(106, 105)), Changed(336, U8Change(133, 180)), Changed(337, U8Change(3, 197)), Changed(338, U8Change(141, 2)), Changed(339, U8Change(3, 0)), Changed(340, U8Change(0, 74)), Changed(341, U8Change(6, 150)), Changed(342, U8Change(77, 231)), Changed(343, U8Change(115, 252)), Changed(344, U8Change(219, 149)), Changed(345, U8Change(113, 121)), Changed(346, U8Change(234, 134)), Changed(347, U8Change(254, 28)), Changed(348, U8Change(235, 108)), Changed(349, U8Change(84, 0)), Changed(350, U8Change(0, 40)), Changed(351, U8Change(240, 42)), Changed(352, U8Change(98, 209)), Changed(353, U8Change(224, 211)), Changed(354, U8Change(174, 0)), Changed(355, U8Change(0, 40)), Changed(356, U8Change(200, 46)), Changed(357, U8Change(118, 114)), Changed(358, U8Change(216, 81)), Changed(359, U8Change(87, 30)), Changed(360, U8Change(30, 49)), Changed(361, U8Change(53, 39)), Changed(362, U8Change(41, 29)), Changed(363, U8Change(169, 9)), Changed(364, U8Change(13, 0)), Changed(365, U8Change(0, 54)), Changed(366, U8Change(222, 14)), Changed(367, U8Change(81, 14)), Changed(368, U8Change(11, 0)), Changed(369, U8Change(0, 28)), Changed(370, U8Change(140, 109)), Changed(371, U8Change(129, 11)), Changed(372, U8Change(12, 0)), Changed(373, U8Change(0, 14)), Changed(374, U8Change(122, 236)), Changed(375, U8Change(209, 59)), Changed(376, U8Change(47, 31)), Changed(377, U8Change(31, 149)), Changed(378, U8Change(145, 4)), Changed(379, U8Change(4, 105)), Changed(380, U8Change(141, 6)), Changed(381, U8Change(185, 0)), Changed(382, U8Change(0, 108)), Changed(383, U8Change(113, 4)), Changed(384, U8Change(179, 194)), Changed(385, U8Change(8, 191)), Changed(386, U8Change(30, 173)), Changed(387, U8Change(112, 70)), Changed(388, U8Change(19, 73)), Changed(389, U8Change(66, 48)), Changed(390, U8Change(41, 194)), Changed(391, U8Change(184, 191)), Changed(392, U8Change(70, 50)), Changed(393, U8Change(63, 31)), Changed(394, U8Change(39, 133)), Changed(395, U8Change(31, 4)), Changed(396, U8Change(129, 41)), Changed(397, U8Change(4, 1)), Changed(398, U8Change(161, 4)), Changed(399, U8Change(179, 122)), Changed(400, U8Change(8, 198)), Changed(401, U8Change(234, 19)), Changed(402, U8Change(89, 7)), Changed(403, U8Change(6, 133)), Changed(404, U8Change(7, 4)), Changed(405, U8Change(129, 141)), Changed(406, U8Change(4, 1)), Changed(407, U8Change(41, 4)), Changed(408, U8Change(45, 214)), Changed(409, U8Change(8, 225)), Changed(410, U8Change(142, 35)), Changed(411, U8Change(23, 7)), Changed(412, U8Change(17, 165)), Changed(413, U8Change(7, 4)), Changed(414, U8Change(161, 53)), Changed(415, U8Change(4, 11)), Changed(416, U8Change(17, 4)), Changed(417, U8Change(64, 34)), Changed(418, U8Change(8, 207)), Changed(419, U8Change(246, 69)), Changed(420, U8Change(82, 31)), Changed(421, U8Change(48, 165)), Changed(422, U8Change(31, 4)), Changed(423, U8Change(161, 109)), Changed(424, U8Change(4, 10)), Changed(425, U8Change(169, 4)), Changed(426, U8Change(198, 234)), Changed(427, U8Change(8, 198)), Changed(428, U8Change(230, 46)), Changed(429, U8Change(224, 38)), Changed(430, U8Change(246, 97)), Changed(431, U8Change(33, 39)), Changed(432, U8Change(53, 254)), Changed(433, U8Change(42, 182)), Changed(434, U8Change(234, 136)), Changed(435, U8Change(159, 109)), Changed(436, U8Change(250, 177)), Changed(437, U8Change(145, 42)), Changed(438, U8Change(229, 214)), Changed(439, U8Change(99, 240)), Changed(440, U8Change(46, 202)), Changed(441, U8Change(231, 84)), Changed(442, U8Change(27, 49)), Changed(443, U8Change(119, 40)), Changed(444, U8Change(229, 146)), Changed(445, U8Change(128, 243)), Changed(446, U8Change(202, 226)), Changed(447, U8Change(106, 67)), Changed(448, U8Change(81, 137)), Changed(449, U8Change(34, 80)), Changed(450, U8Change(169, 61)), Changed(451, U8Change(55, 9)), Changed(452, U8Change(225, 0)), Changed(453, U8Change(1, 182)), Changed(454, U8Change(0, 246)), Changed(455, U8Change(3, 95)), Changed(456, U8Change(216, 236)), Changed(457, U8Change(131, 85)), Changed(458, U8Change(126, 81)), Changed(459, U8Change(65, 106)), Changed(460, U8Change(2, 19)), Changed(461, U8Change(11, 71)), Changed(462, U8Change(1, 57)), Changed(463, U8Change(0, 41)), Changed(464, U8Change(214, 41)), Changed(465, U8Change(0, 229)), Changed(466, U8Change(160, 17)), Changed(468, U8Change(132, 141)), Changed(469, U8Change(13, 20)), Changed(470, U8Change(24, 0)), Changed(471, U8Change(0, 34)), Changed(472, U8Change(37, 238)), Changed(473, U8Change(24, 34)), Changed(475, U8Change(18, 32)), Changed(476, U8Change(68, 209)), Changed(477, U8Change(32, 60)), Changed(479, U8Change(160, 222)), Changed(480, U8Change(229, 202)), Changed(481, U8Change(61, 44)), Changed(483, U8Change(78, 32)), Changed(484, U8Change(21, 221)), Changed(485, U8Change(44, 48)), Changed(487, U8Change(160, 126)), Changed(488, U8Change(197, 58)), Changed(489, U8Change(49, 25)), Changed(491, U8Change(30, 32)), Changed(492, U8Change(113, 49)), Changed(493, U8Change(25, 14)), Changed(495, U8Change(160, 6)), Changed(496, U8Change(177, 9)), Changed(497, U8Change(19, 25)), Changed(499, U8Change(70, 32)), Changed(500, U8Change(106, 61)), Changed(501, U8Change(27, 14)), Changed(503, U8Change(168, 194)), Changed(504, U8Change(181, 9)), Changed(505, U8Change(19, 194)), Changed(506, U8Change(0, 8)), Changed(507, U8Change(174, 53)), Changed(508, U8Change(234, 1)), Changed(509, U8Change(0, 162)), Changed(510, U8Change(9, 169)), Changed(511, U8Change(241, 48)), Changed(512, U8Change(5, 2)), Changed(513, U8Change(242, 168)), Changed(514, U8Change(62, 242)), Changed(515, U8Change(51, 220)), Changed(516, U8Change(2, 84)), Changed(517, U8Change(73, 11)), Changed(518, U8Change(3, 193)), Changed(519, U8Change(210, 1)), Changed(520, U8Change(194, 85)), Changed(521, U8Change(8, 73)), Changed(522, U8Change(0, 4)), Changed(523, U8Change(60, 174)), Changed(524, U8Change(210, 193)), Changed(525, U8Change(198, 9)), Changed(526, U8Change(13, 0)), Changed(527, U8Change(0, 12)), Changed(528, U8Change(25, 150)), Changed(529, U8Change(3, 222)), Changed(530, U8Change(66, 15)), Changed(531, U8Change(40, 0)), Changed(532, U8Change(7, 160)), Changed(533, U8Change(0, 58)), Changed(534, U8Change(72, 114)), Added(535, 8), Added(536, 0), Added(537, 12)])]
    [-] "DeletionQueueDepth"
    [-] "DeletionWeightLimit"

  - storages changes:
    [≠] mod:Default name:DeletionQueue value:[0]
        [Modifier(StringChange("Default", "Optional"))]
    [+] StorageDesc { name: "DeletionQueueCounter", modifier: "Default", default_value: [0, 0, 0, 0, 0, 0, 0, 0] }

compatible: true
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

test-parachain v9400 vs test-parachain v9420

Comparison of the following runtimes:
specifications : test-parachain v9400
implementation : test-parachain v0
transaction    : v6
authoring      : v1
specifications : test-parachain v9420
implementation : test-parachain v0
transaction    : v6
authoring      : v1

Compatible: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 3 change(s)
  - constants changes:
    [≠] BlockWeights: [98, 79, 215, 90, 0, 7, 0, 136, 82, 106, 116, 2, 0, 64, 1, 2, 192, 205, 23, 0, 1, 7, 0, 2, 143, 165, 75, 2, 0, 208, 0, 1, 7, 0, 230, 189, 79, 87, 2, 0, 240, 0, 1, 0, 0, 2, 192, 205, 23, 0, 1, 7, 0, 164, 35, 192, 104, 2, 0, 32, 1, 1, 7, 0, 136, 82, 106, 116, 2, 0, 64, 1, 1, 7, 0, 162, 148, 26, 29, 2, 0, 80, 0, 2, 192, 205, 23, 0, 0, 0, 0]
        [Value([Changed(0, U8Change(98, 2)), Changed(1, U8Change(79, 3)), Changed(2, U8Change(215, 129)), Changed(3, U8Change(90, 93)), Changed(15, U8Change(2, 194)), Changed(16, U8Change(192, 233)), Changed(17, U8Change(205, 23)), Changed(18, U8Change(23, 27)), Changed(22, U8Change(0, 144)), Changed(23, U8Change(2, 119)), Changed(24, U8Change(143, 188)), Changed(25, U8Change(165, 164)), Changed(45, U8Change(2, 194)), Changed(46, U8Change(192, 233)), Changed(47, U8Change(205, 23)), Changed(48, U8Change(23, 27)), Changed(52, U8Change(0, 144)), Changed(53, U8Change(164, 25)), Changed(54, U8Change(35, 81)), Changed(55, U8Change(192, 191)), Changed(83, U8Change(2, 194)), Changed(84, U8Change(192, 233)), Changed(85, U8Change(205, 23)), Changed(86, U8Change(23, 27))])]
    [≠] Version: [56, 116, 101, 115, 116, 45, 112, 97, 114, 97, 99, 104, 97, 105, 110, 56, 116, 101, 115, 116, 45, 112, 97, 114, 97, 99, 104, 97, 105, 110, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 44, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 243, 255, 20, 213, 171, 82, 112, 89, 3, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 6, 0, 0, 0, 0]
        [Value([Changed(34, U8Change(184, 204)), Changed(63, U8Change(1, 2)), Changed(147, U8Change(3, 4))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 30: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: Assets -> 1 change(s)
  - errors changes:
    [≠]  8: NoProvider
        [Name(StringChange("NoProvider", "UnavailableConsumer"))]

[≠] pallet 51: PolkadotXcm -> 1 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

compatible: true
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

statemine v9400 vs statemine v9420

Comparison of the following runtimes:
specifications : statemine v9400
implementation : statemine v0
transaction    : v13
authoring      : v1
specifications : statemine v9420
implementation : statemine v0
transaction    : v13
authoring      : v1

Compatible: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 2 change(s)
  - constants changes:
    [≠] Version: [36, 115, 116, 97, 116, 101, 109, 105, 110, 101, 36, 115, 116, 97, 116, 101, 109, 105, 110, 101, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 48, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 243, 255, 20, 213, 171, 82, 112, 89, 3, 0, 0, 0, 222, 146, 184, 160, 66, 107, 155, 246, 1, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 13, 0, 0, 0, 0]
        [Value([Changed(24, U8Change(184, 204)), Changed(65, U8Change(1, 2)), Changed(137, U8Change(3, 4)), Changed(161, U8Change(1, 2))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 10: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: PolkadotXcm -> 2 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

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

[≠] pallet 50: Assets -> 1 change(s)
  - errors changes:
    [≠]  8: NoProvider
        [Name(StringChange("NoProvider", "UnavailableConsumer"))]

[+] id: 53 - new pallet: ForeignAssets
compatible: true
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

statemint v9400 vs statemint v9420

Comparison of the following runtimes:
specifications : statemint v9400
implementation : statemint v0
transaction    : v13
authoring      : v1
specifications : statemint v9420
implementation : statemint v0
transaction    : v13
authoring      : v1

Compatible: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 2 change(s)
  - constants changes:
    [≠] Version: [36, 115, 116, 97, 116, 101, 109, 105, 110, 116, 36, 115, 116, 97, 116, 101, 109, 105, 110, 116, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 48, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 243, 255, 20, 213, 171, 82, 112, 89, 3, 0, 0, 0, 222, 146, 184, 160, 66, 107, 155, 246, 1, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 13, 0, 0, 0, 0]
        [Value([Changed(24, U8Change(184, 204)), Changed(65, U8Change(1, 2)), Changed(137, U8Change(3, 4)), Changed(161, U8Change(1, 2))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 10: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: PolkadotXcm -> 2 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

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

[≠] pallet 50: Assets -> 1 change(s)
  - errors changes:
    [≠]  8: NoProvider
        [Name(StringChange("NoProvider", "UnavailableConsumer"))]

compatible: true
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

westmint v9400 vs westmint v9420

Comparison of the following runtimes:
specifications : westmint v9400
implementation : westmint v0
transaction    : v13
authoring      : v1
specifications : westmint v9420
implementation : westmint v0
transaction    : v13
authoring      : v1

Compatible: true

!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!
[≠] pallet 0: System -> 2 change(s)
  - constants changes:
    [≠] Version: [32, 119, 101, 115, 116, 109, 105, 110, 116, 32, 119, 101, 115, 116, 109, 105, 110, 116, 1, 0, 0, 0, 184, 36, 0, 0, 0, 0, 0, 0, 52, 221, 113, 141, 92, 197, 50, 98, 212, 1, 0, 0, 0, 223, 106, 203, 104, 153, 7, 96, 155, 4, 0, 0, 0, 55, 227, 151, 252, 124, 145, 245, 228, 1, 0, 0, 0, 64, 254, 58, 212, 1, 248, 149, 154, 6, 0, 0, 0, 210, 188, 152, 151, 238, 208, 143, 21, 3, 0, 0, 0, 247, 139, 39, 139, 229, 63, 69, 76, 2, 0, 0, 0, 171, 60, 5, 114, 41, 31, 235, 139, 1, 0, 0, 0, 188, 157, 137, 144, 79, 91, 146, 63, 1, 0, 0, 0, 137, 154, 37, 12, 190, 132, 242, 80, 1, 0, 0, 0, 55, 200, 187, 19, 80, 169, 162, 168, 3, 0, 0, 0, 243, 255, 20, 213, 171, 82, 112, 89, 3, 0, 0, 0, 222, 146, 184, 160, 66, 107, 155, 246, 1, 0, 0, 0, 234, 147, 227, 241, 111, 61, 105, 98, 2, 0, 0, 0, 13, 0, 0, 0, 0]
        [Value([Changed(22, U8Change(184, 204)), Changed(63, U8Change(1, 2)), Changed(147, U8Change(3, 4)), Changed(171, U8Change(1, 2))])]

  - storages changes:
    [≠] mod:Default name:Account value:[0; 80]
        [DefaultValue([Changed(79, U8Change(0, 128))])]

[≠] pallet 10: Balances -> 25 change(s)
  - calls changes:
    [≠]  0: transfer ( dest: AccountIdLookupOf<T>, value: T::Balance, )  )
        [Name(StringChange("transfer", "transfer_allow_death"))]
    [≠]  1: set_balance ( who: AccountIdLookupOf<T>, new_free: T::Balance, new_reserved: T::Balance, )  )
        [Name(StringChange("set_balance", "set_balance_deprecated")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("new_reserved", "old_reserved"))])] })]
    [+] CallDesc { index: 6, name: "upgrade_accounts", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "Vec<T::AccountId>" }] } }
    [+] CallDesc { index: 7, name: "transfer", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "value", ty: "T::Balance" }] } }
    [+] CallDesc { index: 8, name: "force_set_balance", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "new_free", ty: "T::Balance" }] } }

  - events changes:
    [≠]  3: BalanceSet ( who: T::AccountId, free: T::Balance, reserved: T::Balance, )  )
        [Signature(SignatureChange { args: [Removed(2, ArgDesc { name: "reserved", ty: "T::Balance" })] })]
    [+] EventDesc { index: 10, name: "Minted", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 11, name: "Burned", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 12, name: "Suspended", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 13, name: "Restored", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 14, name: "Upgraded", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }] } }
    [+] EventDesc { index: 15, name: "Issued", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 16, name: "Rescinded", signature: SignatureDesc { args: [ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 17, name: "Locked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 18, name: "Unlocked", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 19, name: "Frozen", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }
    [+] EventDesc { index: 20, name: "Thawed", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "amount", ty: "T::Balance" }] } }

  - errors changes:
    [≠]  4: KeepAlive
        [Name(StringChange("KeepAlive", "Expendability"))]
    [+] ErrorDesc { index: 8, name: "TooManyHolds" }
    [+] ErrorDesc { index: 9, name: "TooManyFreezes" }

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

  - storages changes:
    [≠] mod:Default name:Account value:[0; 64]
        [DefaultValue([Changed(63, U8Change(0, 128))])]
    [+] StorageDesc { name: "Freezes", modifier: "Default", default_value: [0] }
    [+] StorageDesc { name: "Holds", modifier: "Default", default_value: [0] }

[≠] pallet 31: PolkadotXcm -> 2 change(s)
  - calls changes:
    [+] CallDesc { index: 10, name: "force_suspension", signature: SignatureDesc { args: [ArgDesc { name: "suspended", ty: "bool" }] } }

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

[≠] pallet 50: Assets -> 1 change(s)
  - errors changes:
    [≠]  8: NoProvider
        [Name(StringChange("NoProvider", "UnavailableConsumer"))]

[+] id: 53 - new pallet: ForeignAssets
compatible: true
!!! THE SUBWASM REDUCED DIFFER IS EXPERIMENTAL, DOUBLE CHECK THE RESULTS !!!

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 4, 2023

Based on results, we need to bump transaction_version for:

  • Collectives

@EgorPopelyaev
Copy link
Contributor Author

@EgorPopelyaev
Copy link
Contributor Author

EgorPopelyaev commented May 10, 2023

Backports from 9420 release to master:

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
B0-silent Changes should not be mentioned in any release notes T9-release This PR/Issue is related to topics touching the release notes.
Projects
None yet
Development

No branches or pull requests

1 participant