Skip to content

Metadata V16: Features to include in V16 #4520

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

Open
lexnv opened this issue May 20, 2024 · 8 comments
Open

Metadata V16: Features to include in V16 #4520

lexnv opened this issue May 20, 2024 · 8 comments

Comments

@lexnv
Copy link
Contributor

lexnv commented May 20, 2024

Raising this issue to discuss about the features that are needed by the community in the next metadata version.

These features will be initially exposed under a metadata unstable versioning (u32::max), that will stabilize into v16.

I've compiled a possibly incomplete list of requested features that we may want to add to v16:

### Requested features V16
- [ ] https://github.com/paritytech/polkadot-sdk/issues/4519
- [ ] https://github.com/paritytech/polkadot-sdk/issues/4098
- [ ] https://github.com/paritytech/polkadot-sdk/issues/5285
- [ ] https://github.com/paritytech/polkadot-sdk/issues/5347
- [ ] https://github.com/paritytech/polkadot-sdk/issues/5468
- [ ] https://github.com/paritytech/polkadot-sdk/issues/5980
- [ ] https://github.com/paritytech/polkadot-sdk/issues/6833
- [ ] https://github.com/paritytech/polkadot-sdk/issues/7352
### Outstanding (next V17)
- [ ] https://github.com/paritytech/polkadot-sdk/issues/349
- [ ] https://github.com/paritytech/polkadot-sdk/issues/3594
- [ ] https://github.com/paritytech/polkadot-sdk/issues/3238

cc @jsdw @niklasad1 @bkchr @paritytech/subxt-team @xlc @josepot

@bkchr
Copy link
Member

bkchr commented Jul 8, 2024

polkadot-fellows/RFCs#99 with we would need to change the metadata to return multiple sets of transaction/signed extensions indexed by the version.

@josepot
Copy link
Contributor

josepot commented Jul 18, 2024

IMO an absolute must have of metadata v16 is a dedicated top-level entry named "hasher" (right after the "extrinsic" entry for instance, or at least at the same level), which should have 2 different properties:

  • "name": the name of the hashing function
  • "runtimeApi": a path to a runtime-api which just implements the hasher (E.g: Core_hash)

@Polkadot-Forum
Copy link

This issue has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/metadata-v16-updates/9557/1

@Polkadot-Forum
Copy link

This issue has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/metadata-v16-updates/9557/7

@Polkadot-Forum
Copy link

This issue has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/upcoming-metadata-v16-features-to-include-in-v16/8153/8

@gui1117
Copy link
Contributor

gui1117 commented Dec 31, 2024

Metadata v16 doesn't explicitly specify the transaction extensions used by signed extrinsics.
Signed extrinsics don't support multiple versions of transaction extensions.
Currently, it dispatches with version 0, and we can consider that version 0 is always the version used by signed extensions.

I think it is ok to have implicit as it is deprecated in the long term, but otherwise, we could add the version used by signed extensions in the metadata.

@jsdw
Copy link
Contributor

jsdw commented Feb 10, 2025

We have just one thing left to add before our V16 impl is "done"; #7352 (which @re-gius is going to look into).

After that, we should:

  1. Release latest frame-metadata and use it in polkadot-sdk so that the "unstable" metadata handed back from the Runtime API Metadata_metadata_at_version is our latest V16 impl.
  2. Subxt, PAPI and PJS to try out latest unstable V16 and uncover any shortcomings.
  3. Write a forum post describing the new metadata and asking for feedback.
    1. If everybody is happy (noting that low prio things can be added in V17), aim to stabilise V16 in 1-2 months (basically, expose it as version 16 rather than u32::MAX)

@Polkadot-Forum
Copy link

This issue has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/stabilizing-v16-metadata/12352/1

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

No branches or pull requests

6 participants