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

Add Runtime Api version to metadata #7607

Merged
merged 24 commits into from
Feb 25, 2025
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
baa61fd
add Runtime Api version to runtime metadata
re-gius Feb 18, 2025
4d4c59a
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 18, 2025
a165fbc
Add TODO for v16 integration
re-gius Feb 18, 2025
da85e8a
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 18, 2025
a9c74f6
Update from re-gius running command 'prdoc --audience runtime_dev --b…
github-actions[bot] Feb 18, 2025
9fe6988
fix prdoc
re-gius Feb 18, 2025
c4b0ba7
convert `Compact<u32>` into `u32`
re-gius Feb 18, 2025
0f6f919
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 18, 2025
4c7a507
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 21, 2025
84b227b
Bump `frame-metadata` and `merkleized-metadata`
re-gius Feb 21, 2025
83fb666
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 24, 2025
c793453
fix prdoc
re-gius Feb 24, 2025
945c363
Replate `ViewFunctionMethod` with `ViewFunction` everywhere in metada…
re-gius Feb 24, 2025
c331fe1
fix prdoc
re-gius Feb 24, 2025
84e76d1
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 24, 2025
2fb9db2
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 24, 2025
cc0b1a3
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 24, 2025
f9c37b6
Merge branch 'master' into re-gius/runtime-api-metadata-version
re-gius Feb 25, 2025
3662a92
Try to fix semver CI
re-gius Feb 25, 2025
e353eb6
undo nightly change
re-gius Feb 25, 2025
ef3e8af
use same nightly version as rust version in `check-semver` CI
re-gius Feb 25, 2025
c252bf4
undo change
re-gius Feb 25, 2025
ff5d2a6
undo change
re-gius Feb 25, 2025
2964fb0
Cargo.lock fix
re-gius Feb 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -787,7 +787,7 @@ frame-benchmarking-pallet-pov = { default-features = false, path = "substrate/fr
frame-election-provider-solution-type = { path = "substrate/frame/election-provider-support/solution-type", default-features = false }
frame-election-provider-support = { path = "substrate/frame/election-provider-support", default-features = false }
frame-executive = { path = "substrate/frame/executive", default-features = false }
frame-metadata = { version = "19.0.0", default-features = false }
frame-metadata = { version = "20.0.0", default-features = false }
frame-metadata-hash-extension = { path = "substrate/frame/metadata-hash-extension", default-features = false }
frame-support = { path = "substrate/frame/support", default-features = false }
frame-support-procedural = { path = "substrate/frame/support/procedural", default-features = false }
Expand Down Expand Up @@ -862,7 +862,7 @@ macro_magic = { version = "0.5.1" }
maplit = { version = "1.0.2" }
memmap2 = { version = "0.9.3" }
memory-db = { version = "0.32.0", default-features = false }
merkleized-metadata = { version = "0.3.0" }
merkleized-metadata = { version = "0.4.0" }
merlin = { version = "3.0", default-features = false }
messages-relay = { path = "bridges/relays/messages" }
metered = { version = "0.6.1", default-features = false, package = "prioritized-metered-channel" }
Expand Down
12 changes: 12 additions & 0 deletions prdoc/pr_7607.prdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
title: Add Runtime Api version to metadata
doc:
- audience: Runtime Dev
description: |-
The runtime API implemented version is not explicitly shown in metadata, so here we add it to improve developer experience.

This closes #7352 .
crates:
- name: sp-api-proc-macro
bump: patch
- name: sp-metadata-ir
bump: major
2 changes: 2 additions & 0 deletions substrate/frame/support/test/tests/runtime_metadata.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ fn runtime_metadata() {
" Documentation on multiline.",
]),
deprecation_info: DeprecationStatusIR::DeprecatedWithoutNote,
version: codec::Compact(1),

},
RuntimeApiMetadataIR {
Expand Down Expand Up @@ -238,6 +239,7 @@ fn runtime_metadata() {
" The `Core` runtime api that every Substrate runtime needs to implement.",
]),
deprecation_info: DeprecationStatusIR::NotDeprecated,
version: codec::Compact(5),
},
];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@ pub fn generate_decl_runtime_metadata<'a>(
.collect(),
docs: #docs,
deprecation_info: #deprecation,
version: impl_version.into(),
}
}
}
Expand Down
5 changes: 4 additions & 1 deletion substrate/primitives/metadata-ir/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,10 @@ pub struct RuntimeApiMetadataIR<T: Form = MetaForm> {
pub methods: Vec<RuntimeApiMethodMetadataIR<T>>,
/// Trait documentation.
pub docs: Vec<T::String>,
/// Deprecation info
/// Deprecation info.
pub deprecation_info: DeprecationStatusIR<T>,
/// Runtime API version.
pub version: Compact<u32>,
}

impl IntoPortable for RuntimeApiMetadataIR {
Expand All @@ -65,6 +67,7 @@ impl IntoPortable for RuntimeApiMetadataIR {
methods: registry.map_into_portable(self.methods),
docs: registry.map_into_portable(self.docs),
deprecation_info: self.deprecation_info.into_portable(registry),
version: self.version,
}
}
}
Expand Down
1 change: 1 addition & 0 deletions substrate/primitives/metadata-ir/src/unstable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ impl From<RuntimeApiMetadataIR> for RuntimeApiMetadata {
methods: ir.methods.into_iter().map(Into::into).collect(),
docs: ir.docs,
deprecation_info: ir.deprecation_info.into(),
version: ir.version.into(),
}
}
}
Expand Down
Loading