-
Notifications
You must be signed in to change notification settings - Fork 808
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
add extrinsic_state_version
to RuntimeVersion and bump CoreApi version to 5
#1968
add extrinsic_state_version
to RuntimeVersion and bump CoreApi version to 5
#1968
Conversation
f412ac9
to
05903d6
Compare
54ad3d7
to
1262d44
Compare
Since it would modify Polkadot/Kusama, this change needs an RFC: https://github.com/polkadot-fellows/RFCs |
I have opened RFC here - polkadot-fellows/RFCs#42 Thanks for the heads up @tomaka |
1262d44
to
c42304c
Compare
The changes are simple, so I did a rebase on latest |
b980518
to
6853e2b
Compare
6853e2b
to
ee5cf7d
Compare
Note that the PR no longer matches what the RFC says. |
Hm, true. |
…hub-cumulus-primitives (#1968)
@vedhavyas do you still want to open a pr based on the RFC? |
@bkchr yes, I'm working on this right now. Should have a PR soon |
Description
Adds
extrinsic_state_version
field to RuntimeVersion so that projects can pick V0/V1 depending on the use case.Currently extrinsic root is derived using StateVersion::V0. In order to generate the extrinsic root, we would need to have access to full extrinsic data. We have a use case where, domains extrinsic root need to be derived on consensus runtime and passing all the extrinsic data through Fraud proof will exceed block limit. We are planning to use StateVersion::V1 so that we can just use extrinsic hashes if the extrinsic data is more than 32 bytes.
Field
extrinsic_state_version
is added to RuntimeVersion struct andCoreApi
version is bumped to 5.CoreApi version < 5
always leads toStateVersion::V0
whileCoreApi verision >= 5
can let projects to pick ether V0 or V1Checklist
T
required)