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

Metadata V16: Have a vec of supported extrinsic versions #5980

Closed
Tracked by #4520
jsdw opened this issue Oct 8, 2024 · 3 comments · Fixed by #5732
Closed
Tracked by #4520

Metadata V16: Have a vec of supported extrinsic versions #5980

jsdw opened this issue Oct 8, 2024 · 3 comments · Fixed by #5732
Assignees

Comments

@jsdw
Copy link
Contributor

jsdw commented Oct 8, 2024

<=V15 metadatas contain a single extrinsic version field (set to 4 currently).

With V5 extrinsics coming, and runtimes that can support either V4 or V5 extrinsics, we should extens this to be a vec of the extrinsic versions that the runtime supports. This allows dApps/client libsto inspect that vec to understand whether they are able to construct a valid extrinsic for it.

@jsdw
Copy link
Contributor Author

jsdw commented Oct 8, 2024

(I think this might already be done in the code, but wanted to track and make sure either way with the issue, \cc @lexnv)

@bkchr
Copy link
Member

bkchr commented Oct 8, 2024

@lexnv
Copy link
Contributor

lexnv commented Oct 9, 2024

Added this to frame-metadata pr. It should be exposed in the enablement of V16-unstable PR here.

I think its good to have this issue around to not forget about it, next steps here: release frame-metdata crate, merge associated types (#5274) and then the enablement PR

@lexnv lexnv self-assigned this Nov 13, 2024
github-merge-queue bot pushed a commit that referenced this issue Nov 27, 2024
This PR exposes the *unstable* metadata V16. The metadata is exposed
under the unstable u32::MAX number.

Developers can start experimenting with the new features of the metadata
v16. *Please note that this metadata is under development and expect
breaking changes until stabilization.*

The `ExtrinsicMetadata` trait receives a breaking change. Its associated
type `VERSION` is rename to `VERSIONS` and now supports a constant
static list of metadata versions.
The versions implemented for `UncheckedExtrinsic` are v4 (legacy
version) and v5 (new version).

For metadata collection, it is assumed that all `TransactionExtensions`
are under version 0.

Builds on top of: #5274

Closes: #5980
Closes: #5347
Closes: #5285

cc @paritytech/subxt-team

---------

Signed-off-by: Alexandru Vasile <[email protected]>
Co-authored-by: Niklas Adolfsson <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: James Wilson <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
Krayt78 pushed a commit to Krayt78/polkadot-sdk that referenced this issue Dec 18, 2024
This PR exposes the *unstable* metadata V16. The metadata is exposed
under the unstable u32::MAX number.

Developers can start experimenting with the new features of the metadata
v16. *Please note that this metadata is under development and expect
breaking changes until stabilization.*

The `ExtrinsicMetadata` trait receives a breaking change. Its associated
type `VERSION` is rename to `VERSIONS` and now supports a constant
static list of metadata versions.
The versions implemented for `UncheckedExtrinsic` are v4 (legacy
version) and v5 (new version).

For metadata collection, it is assumed that all `TransactionExtensions`
are under version 0.

Builds on top of: paritytech#5274

Closes: paritytech#5980
Closes: paritytech#5347
Closes: paritytech#5285

cc @paritytech/subxt-team

---------

Signed-off-by: Alexandru Vasile <[email protected]>
Co-authored-by: Niklas Adolfsson <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: James Wilson <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
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 a pull request may close this issue.

3 participants