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

Introduce System version to RuntimeVersion object #42

Merged

Conversation

vedhavyas
Copy link
Contributor

@vedhavyas vedhavyas commented Oct 25, 2023

This RFC proposes adding system_version and remove state_version from RuntimeVersion object. This makes it possible to use StateVersion::V1 for both Storage and Extrinsic root derivations

@vedhavyas
Copy link
Contributor Author

Would be really helpful if we can get some more feedback on this one from other team members :)

@vedhavyas
Copy link
Contributor Author

@bkchr @tomaka The RFC is updated as per our discussion above. Please let me know your feedback

@tomaka
Copy link
Contributor

tomaka commented Nov 24, 2023

The Motivation section is not super clear. Another motivation is #19.
But I would vote yes.

@vedhavyas
Copy link
Contributor Author

The Motivation section is not super clear.

This is the only use case we have right now. Is the wording confusing or does not meet standards?

Another motivation is #19.

I can tag this in the motivation section if it helps

@tomaka
Copy link
Contributor

tomaka commented Nov 24, 2023

I just mean that someone who isn't deeply familiar with the trie format and V0 and V1 will not understand the "Motivation" section. But that's not a big deal to me.

@vedhavyas
Copy link
Contributor Author

@tomaka what would be the next steps here ?
I can submit a change set to polkadot-sdk as well. Please let me know

@nazar-pc
Copy link

Any blockers for moving forward with this?

@ggwpez ggwpez requested review from bkchr and tomaka and removed request for tomaka and bkchr January 15, 2024 17:11
@ggwpez
Copy link
Member

ggwpez commented Jan 15, 2024

Any blockers for moving forward with this?

"Just" needs some approvals 😄

@tomaka
Copy link
Contributor

tomaka commented Jan 17, 2024

Looks good to me.

@vedhavyas vedhavyas changed the title Introduce extrinsic state version to RuntimeVersion object Introduce System version to RuntimeVersion object Jan 17, 2024
@tomaka
Copy link
Contributor

tomaka commented Jan 30, 2024

If there's no other comment, I can submit your RFC for voting.

@vedhavyas
Copy link
Contributor Author

No other changes from my end.
Thank you!!

@tomaka
Copy link
Contributor

tomaka commented Feb 1, 2024

/rfc propose

@paritytech-rfc-bot
Copy link
Contributor

Hey @tomaka, here is a link you can use to create the referendum aiming to approve this RFC number 0042.

Instructions
  1. Open the link.

  2. Switch to the Submission tab.

  1. Adjust the transaction if needed (for example, the proposal Origin).

  2. Submit the Transaction


It is based on commit hash 36b9812834179d8d5109e6ca064a38197d8557d0.

The proposed remark text is: RFC_APPROVE(0042,de6ef59e34a9e9c874de65fb01724a7ee9e14ac4dc907d384970346a8cab12a0).

@tomaka
Copy link
Contributor

tomaka commented Feb 1, 2024

Copy link

github-actions bot commented Feb 2, 2024

Voting for this referenda is ongoing.

Vote for it [here]https://collectives.polkassembly.io/referenda/70

@tomaka
Copy link
Contributor

tomaka commented Feb 12, 2024

/rfc process 0x10ac786bc859fbaad56ca436bd822a01e0f120d37f85680621700323d35756d9

@paritytech-rfc-bot
Copy link
Contributor

Unable to find the referendum confirm event in the given block.

Instructions to find the block hashHere is one way to find the corresponding block hash.
  1. Open the referendum on Subsquare.

  2. Switch to the Timeline tab.


  1. Go to the details of the Confirmed event.

  1. Go to the details of the block containing that event.

  1. Here you can find the block hash.

@tomaka
Copy link
Contributor

tomaka commented Feb 12, 2024

/rfc process 0x2cd018900d9c915ce8104cc6e37141b663cb46d13aadbff9dbfa038211228789

@paritytech-rfc-bot
Copy link
Contributor

The on-chain referendum has approved the RFC.

@paritytech-rfc-bot paritytech-rfc-bot bot merged commit 94f434e into polkadot-fellows:main Feb 12, 2024
@vedhavyas vedhavyas deleted the rfc/extrinsic_state_version branch February 22, 2024 13:53
@vedhavyas
Copy link
Contributor Author

@tomaka Can you explain what is the process next? I would be happy to produce a PR for this RFC

@bkchr
Copy link
Contributor

bkchr commented Feb 22, 2024

@vedhavyas feel free to open a pr and link to the RFC in the pr description. Thank you!

@anaelleltd anaelleltd added the Approved Has passed on-chain voting. label Sep 10, 2024
github-merge-queue bot pushed a commit to paritytech/polkadot-sdk that referenced this pull request Sep 10, 2024
…nsics root `StateVersion` instead of `V0` (#4257)

This PR 
- Renames `RuntimeVersion::state_version` to `system_version`
- Uses `Runtime::system_version` to derive extrinsics root
`StateVersion` instead of default `StateVersion::V0`

This PR should not be breaking any existing chains so long as they use
same `RuntimeVersion::state_version` for `Runtime::system_version`

Using `RuntimeVersion::system_version = 2` will make the extrinsics root
to use `StateVersion::V1` instead of `V0`

RFC for this change - polkadot-fellows/RFCs#42

---------

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Koute <[email protected]>
Co-authored-by: Nazar Mokrynskyi <[email protected]>
@anaelleltd
Copy link
Contributor

@vedhavyas, do you have an update on the status of this RFC?
Is somebody working on its implementation?
Thanks.

@bkchr
Copy link
Contributor

bkchr commented Sep 16, 2024

Was implemented [here[(https://github.com/paritytech/polkadot-sdk/pull/4257).

@anaelleltd anaelleltd added Implemented Is merged or live as a feature/service. and removed Approved Has passed on-chain voting. labels Sep 16, 2024
nazar-pc pushed a commit to autonomys/polkadot-sdk that referenced this pull request Sep 27, 2024
…nsics root `StateVersion` instead of `V0` (paritytech#4257)

This PR
- Renames `RuntimeVersion::state_version` to `system_version`
- Uses `Runtime::system_version` to derive extrinsics root
`StateVersion` instead of default `StateVersion::V0`

This PR should not be breaking any existing chains so long as they use
same `RuntimeVersion::state_version` for `Runtime::system_version`

Using `RuntimeVersion::system_version = 2` will make the extrinsics root
to use `StateVersion::V1` instead of `V0`

RFC for this change - polkadot-fellows/RFCs#42

---------

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Koute <[email protected]>
Co-authored-by: Nazar Mokrynskyi <[email protected]>

(cherry picked from commit 9930d21)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Implemented Is merged or live as a feature/service.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants