Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Manta] Integrate v0.9.13 upstream changes #294

Merged
merged 30 commits into from
Dec 22, 2021
Merged

Conversation

ghzlatarev
Copy link
Contributor

@ghzlatarev ghzlatarev commented Dec 4, 2021

Description

closes: #293
closes: #271
closes #306

Manta Changes

  • use validation_delay_upgrade of 20 blocks in polkadot-launch configs
  • add 30 second sleep to docker CI tests, to reduce unintentional failures
  • fix missing weights template file

Client

Runtime

Upstream Changes

Polkadot Changes:

Release Checklist:

  1. Polkadot v0.9.13 Release checklist paritytech/polkadot#4286

Substrate Changes:

Cumulus Changes:

statemine diffs between:
c02514d8cb66d6860e597f75d53ca07119dbbf32-> 0.9.12
0be8e8fc214641e306e4f913dd64ff1913e46e95 -> 0.9.13

Tests (Local --> Baikal)

  • Does key injection script work (only for calamari-testnet)
  • Check block production
  • Sudo system.setCode upgrade
  • Force transfer balances
  • Pass sudo to multi-sig account (try action like adding a Council member)
  • Upgrade with authorizeUpgrade + enactAuthorized
  • Check average block time is ~12 seconds
  • Check dropping and reconnecting a collator
  • Native binary replacement
  • Check relay chain XCM message upgrade
  • Check governance runtime upgrade

QA Tests (Local)

https://hackmd.io/TbFmorG2RnOPmLuFcg9JOQ?view


Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

  • Targeted PR against correct branch (manta or dolphin) with right title (start with [Manta] or [Dolphin]),
  • Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
  • Wrote unit tests.
  • Updated relevant documentation in the code.
  • Re-reviewed Files changed in the Github PR explorer.
  • If runtime changes, need to update the version numbers properly:
    • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
    • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
    • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
    • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. If this number is updated, then the spec_version must also be updated
  • If needed, notify the committer this is a draft-release and a tag is needed after merging the PR.
  • Verify benchmarks & weights have been updated for any modified runtime logics
  • If needed, bump version for every crate.
  • If import a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
  • If needed, update our Javascript/Typescript APIs. These APIs are offcially used by exchanges or community developers.
  • If we're going to issue a new release, freeze the code one week early(it depends, but usually it's one week), ensure we have enough time for related testing.

node/src/command.rs Outdated Show resolved Hide resolved
@ghzlatarev ghzlatarev changed the title Refactor for 0.9.13 upstream changes [Manta] Integrate v0.9.13 upstream changes Dec 5, 2021
@ghzlatarev ghzlatarev self-assigned this Dec 5, 2021
@ghzlatarev ghzlatarev marked this pull request as ready for review December 6, 2021 18:19
@Dengjianping Dengjianping added this to the v3.1.1 milestone Dec 7, 2021
@Dengjianping
Copy link
Contributor

Dengjianping commented Dec 9, 2021

Because we're going to support rust 2021, so perhaps we have to add a icon or section in readme to tell users the MSRV(minimum supported Rust version), it should be 1.56.

@ghzlatarev
Copy link
Contributor Author

MSRV(minimum supported Rust version), it should be 1.56

Thanks, please let me know if this is enough in the README

@ghzlatarev ghzlatarev mentioned this pull request Dec 17, 2021
7 tasks
@stechu
Copy link
Collaborator

stechu commented Dec 22, 2021

Can you also take a look at the runtime upgrade failure?

@ghzlatarev
Copy link
Contributor Author

ghzlatarev commented Dec 22, 2021

Can you also take a look at the runtime upgrade failure?

This is a rococo and 0.9.12 issue.
Here is a run where the calamari collators are on 0.9.13 when the runtime upgrade is executed and it passes pass: https://github.com/Manta-Network/Manta/actions/runs/1610569171

@stechu stechu merged commit 826686a into manta Dec 22, 2021
@stechu stechu deleted the ghzlatarev/polkadot-v0.9.13 branch June 23, 2022 01:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Calamari/Manta 3.1.1 Release Bump dependencies to polkadot-v0.9.13 Support rust 2021
3 participants