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

Feat: Polkadot v1.7 to v1.8 upgrade #442

Draft
wants to merge 14 commits into
base: feat/polkadot-v1.7.0-updates
Choose a base branch
from

Conversation

Aideepakchaudhary
Copy link
Contributor

@Aideepakchaudhary Aideepakchaudhary commented Oct 8, 2024

Description

This PR is upgrading Runtime's and Node's dependencies from Polkadot-SDK release v1.7.0 to v1.8.0

Notes

Relevant upgrade's notes and comments.

  • Added ApiVersion type in pallet_contract config.
  • Breaking changes
    • 3395: benchmarking-cli pallet subcommand: refactor --list and add --all option
    • 3079: Implement transaction_unstable_broadcast and transaction_unstable_stop
    • 3244: Make the benchmark pallet command only require a Hasher
    • 3384: [pallet_contracts] stabilize call_v2, instantiate_v2, lock_dependency and unlock_dependency
    • 3052: Fixes a scenario where a nomination pool's TotalValueLocked is out of sync due to staking's implicit withdraw
    • 3060: Add retry mechanics to pallet-scheduler
    • 3154: Contracts: Stabilize caller_is_root API
    • 3184: Contracts: Remove no longer enforced limits from the Schedule
    • 3230: rpc server remove prometheus metrics substrate_rpc_requests_started/finished and refactor WS ping/pongs.
  • Kindly refer to the official Polkadot release report for further details: Polkadot v1.8.0

Process

  • Bump workspace dependencies
  • Fix issues
  • Bump spec_ver for both testnet and mainnet Runtime.
  • Bump node version if there were changes in the node.

Codebase Upgrade Acceptance Criteria

  • cargo check passes
  • cargo test passes
  • cargo build on -- release profile correctly builds
  • try-runtime and runtime-benchmarks features compile
  • Single node spinned up from binary works and generates blocks
  • Zombienet network with 2 peers spawned with block-production config file generates blocks.

Runtime & Node Upgrade Acceptance Criteria

  • Runtime upgrade works on Zombienet

  • Node upgrade works on Zombienet

  • Runtime upgrade works on Chopsticks

    • Testnet
    • Mainnet
  • Try-runtime passes with no pending migrations

    • Testnet
    • Mainnet

<!--- PR TEMPLATE CONTENT STARTS HERE -->

Types of Changes

Please select the branch type you are merging and fill in the relevant template.

<!--- Check the following box with an x if the following applies: -->

  • Hotfix
  • Release
  • Fix or Feature

Fix or Feature

<!--- Check the following box with an x if the following applies: -->

Types of Changes

<!--- What types of changes does your code introduce? -->

  • Tech Debt (Code improvements)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Dependency upgrade (A change in substrate or any 3rd party crate version)

Migrations and Hooks

<!--- Check the following box with an x if the following applies: -->

  • This change requires a runtime migration.
  • Modifies on_initialize
  • Modifies on_finalize

Checklist for Fix or Feature

<!--- All boxes need to be checked. Follow this checklist before requiring PR review -->

  • Change has been tested locally.
  • Change adds / updates tests if applicable.
  • Changelog doc updated.
  • spec_version has been incremented.
  • network-relayer's events have been updated according to the blockchain events if applicable.
  • All CI checks have been passed successfully

Checklist for Hotfix

<!--- All boxes need to be checked. Follow this checklist before requiring PR review -->

  • Change has been deployed to Testnet.
  • Change has been tested in Testnet.
  • Changelog has been updated.
  • Crate version has been updated.
  • spec_version has been incremented.
  • Transaction version has been updated if required.
  • Pull Request to dev has been created.
  • Pull Request to staging has been created.
  • network-relayer's events have been updated according to the blockchain events if applicable.
  • All CI checks have been passed successfully

Checklist for Release

<!--- All boxes need to be checked. Follow this checklist before requiring PR review -->

  • Change has been deployed to Devnet.
  • Change has been tested in Devnet.
  • Change has been deployed to Qanet.
  • Change has been tested in Qanet.
  • Change has been deployed to Testnet.
  • Change has been tested in Testnet.
  • Changelog has been updated.
  • Crate version has been updated.
  • Spec version has been updated.
  • Transaction version has been updated if required.
  • All CI checks have been passed successfully

Copy link
Contributor

@ayushmishra2005 ayushmishra2005 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Aideepakchaudhary pallet::getter has been deprecated and removed in Polkadot v1.8.0. Would it be possible to remove it from all storages and pallets in our codebase?

Please see this paritytech/polkadot-sdk#3371 for example.

cc @aie0

@Aideepakchaudhary
Copy link
Contributor Author

@Aideepakchaudhary pallet::getter has been deprecated and removed in Polkadot v1.8.0. Would it be possible to remove it from all storages and pallets in our codebase?
Please see this paritytech/polkadot-sdk#3371 for example.

Hi @ayushmishra2005 , we'll integrate these changes in the stable branch: #456

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.

2 participants