mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 05:51:02 +00:00
expose linked map info to metadata (#2037)
* expose linked map info to metadata * Make it non breaking change * another way * change to option 1 * bump metadata version * fix test * bump version and update wasm
This commit is contained in:
+825
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
+825
File diff suppressed because it is too large
Load Diff
@@ -58,8 +58,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
|
|||||||
spec_name: create_runtime_str!("node"),
|
spec_name: create_runtime_str!("node"),
|
||||||
impl_name: create_runtime_str!("substrate-node"),
|
impl_name: create_runtime_str!("substrate-node"),
|
||||||
authoring_version: 10,
|
authoring_version: 10,
|
||||||
spec_version: 40,
|
spec_version: 41,
|
||||||
impl_version: 40,
|
impl_version: 41,
|
||||||
apis: RUNTIME_API_VERSIONS,
|
apis: RUNTIME_API_VERSIONS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Generated
+825
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
@@ -261,7 +261,8 @@ pub enum StorageFunctionType {
|
|||||||
Map {
|
Map {
|
||||||
key: DecodeDifferentStr,
|
key: DecodeDifferentStr,
|
||||||
value: DecodeDifferentStr,
|
value: DecodeDifferentStr,
|
||||||
}
|
is_linked: bool,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A storage function modifier.
|
/// A storage function modifier.
|
||||||
@@ -301,8 +302,10 @@ pub struct RuntimeMetadataPrefixed(pub u32, pub RuntimeMetadata);
|
|||||||
pub enum RuntimeMetadata {
|
pub enum RuntimeMetadata {
|
||||||
/// Unused; enum filler.
|
/// Unused; enum filler.
|
||||||
V0(RuntimeMetadataDeprecated),
|
V0(RuntimeMetadataDeprecated),
|
||||||
/// Version 1 for runtime metadata.
|
/// Version 1 for runtime metadata. No longer used.
|
||||||
V1(RuntimeMetadataV1),
|
V1(RuntimeMetadataDeprecated),
|
||||||
|
/// Version 2 for runtime metadata.
|
||||||
|
V2(RuntimeMetadataV2),
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Enum that should fail.
|
/// Enum that should fail.
|
||||||
@@ -322,10 +325,10 @@ impl Decode for RuntimeMetadataDeprecated {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The metadata of a runtime version 1.
|
/// The metadata of a runtime version 2.
|
||||||
#[derive(Eq, Encode, PartialEq)]
|
#[derive(Eq, Encode, PartialEq)]
|
||||||
#[cfg_attr(feature = "std", derive(Decode, Debug, Serialize))]
|
#[cfg_attr(feature = "std", derive(Decode, Debug, Serialize))]
|
||||||
pub struct RuntimeMetadataV1 {
|
pub struct RuntimeMetadataV2 {
|
||||||
pub modules: DecodeDifferentArray<ModuleMetadata>,
|
pub modules: DecodeDifferentArray<ModuleMetadata>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -700,12 +700,13 @@ fn store_functions_to_metadata (
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
DeclStorageTypeInfosKind::Map { key_type, .. } => {
|
DeclStorageTypeInfosKind::Map { key_type, is_linked } => {
|
||||||
let kty = clean_type_string("e!(#key_type).to_string());
|
let kty = clean_type_string("e!(#key_type).to_string());
|
||||||
quote!{
|
quote!{
|
||||||
#scrate::storage::generator::StorageFunctionType::Map {
|
#scrate::storage::generator::StorageFunctionType::Map {
|
||||||
key: #scrate::storage::generator::DecodeDifferent::Encode(#kty),
|
key: #scrate::storage::generator::DecodeDifferent::Encode(#kty),
|
||||||
value: #scrate::storage::generator::DecodeDifferent::Encode(#styp),
|
value: #scrate::storage::generator::DecodeDifferent::Encode(#styp),
|
||||||
|
is_linked: #is_linked,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
pub use srml_metadata::{
|
pub use srml_metadata::{
|
||||||
DecodeDifferent, FnEncode, RuntimeMetadata,
|
DecodeDifferent, FnEncode, RuntimeMetadata,
|
||||||
ModuleMetadata, RuntimeMetadataV1,
|
ModuleMetadata, RuntimeMetadataV2,
|
||||||
DefaultByteGetter, RuntimeMetadataPrefixed,
|
DefaultByteGetter, RuntimeMetadataPrefixed,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -36,8 +36,8 @@ macro_rules! impl_runtime_metadata {
|
|||||||
) => {
|
) => {
|
||||||
impl $runtime {
|
impl $runtime {
|
||||||
pub fn metadata() -> $crate::metadata::RuntimeMetadataPrefixed {
|
pub fn metadata() -> $crate::metadata::RuntimeMetadataPrefixed {
|
||||||
$crate::metadata::RuntimeMetadata::V1 (
|
$crate::metadata::RuntimeMetadata::V2 (
|
||||||
$crate::metadata::RuntimeMetadataV1 {
|
$crate::metadata::RuntimeMetadataV2 {
|
||||||
modules: $crate::__runtime_modules_to_metadata!($runtime;; $( $rest )*),
|
modules: $crate::__runtime_modules_to_metadata!($runtime;; $( $rest )*),
|
||||||
}
|
}
|
||||||
).into()
|
).into()
|
||||||
@@ -377,8 +377,8 @@ mod tests {
|
|||||||
event_module2::Module with Event Storage Call,
|
event_module2::Module with Event Storage Call,
|
||||||
);
|
);
|
||||||
|
|
||||||
const EXPECTED_METADATA: RuntimeMetadata = RuntimeMetadata::V1(
|
const EXPECTED_METADATA: RuntimeMetadata = RuntimeMetadata::V2(
|
||||||
RuntimeMetadataV1 {
|
RuntimeMetadataV2 {
|
||||||
modules: DecodeDifferent::Encode(&[
|
modules: DecodeDifferent::Encode(&[
|
||||||
ModuleMetadata {
|
ModuleMetadata {
|
||||||
name: DecodeDifferent::Encode("system"),
|
name: DecodeDifferent::Encode("system"),
|
||||||
|
|||||||
@@ -667,6 +667,12 @@ mod tests {
|
|||||||
GETMAPU32MYDEF get(map_u32_getter_mydef): map u32 => String = "map".into();
|
GETMAPU32MYDEF get(map_u32_getter_mydef): map u32 => String = "map".into();
|
||||||
pub PUBGETMAPU32MYDEF get(pub_map_u32_getter_mydef): map u32 => String = "pubmap".into();
|
pub PUBGETMAPU32MYDEF get(pub_map_u32_getter_mydef): map u32 => String = "pubmap".into();
|
||||||
|
|
||||||
|
// linked map
|
||||||
|
LINKEDMAPU32 : linked_map u32 => Option<String>;
|
||||||
|
pub PUBLINKEDMAPU32MYDEF : linked_map u32 => Option<String> = Some("hello".into());
|
||||||
|
GETLINKEDMAPU32 get(linked_map_u32_getter): linked_map u32 => String;
|
||||||
|
pub PUBGETLINKEDMAPU32MYDEF get(pub_linked_map_u32_getter_mydef): linked_map u32 => String = "pubmap".into();
|
||||||
|
|
||||||
COMPLEXTYPE1: ::std::vec::Vec<<T as Trait>::Origin>;
|
COMPLEXTYPE1: ::std::vec::Vec<<T as Trait>::Origin>;
|
||||||
COMPLEXTYPE2: (Vec<Vec<(u16,Box<( )>)>>, u32);
|
COMPLEXTYPE2: (Vec<Vec<(u16,Box<( )>)>>, u32);
|
||||||
COMPLEXTYPE3: ([u32;25]);
|
COMPLEXTYPE3: ([u32;25]);
|
||||||
@@ -806,8 +812,10 @@ mod tests {
|
|||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("MAPU32"),
|
name: DecodeDifferent::Encode("MAPU32"),
|
||||||
modifier: StorageFunctionModifier::Optional,
|
modifier: StorageFunctionModifier::Optional,
|
||||||
ty: StorageFunctionType::Map{
|
ty: StorageFunctionType::Map {
|
||||||
key: DecodeDifferent::Encode("u32"), value: DecodeDifferent::Encode("String")
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: false,
|
||||||
},
|
},
|
||||||
default: DecodeDifferent::Encode(
|
default: DecodeDifferent::Encode(
|
||||||
DefaultByteGetter(&__GetByteStructMAPU32(PhantomData::<TraitImpl>))
|
DefaultByteGetter(&__GetByteStructMAPU32(PhantomData::<TraitImpl>))
|
||||||
@@ -817,8 +825,10 @@ mod tests {
|
|||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("PUBMAPU32"),
|
name: DecodeDifferent::Encode("PUBMAPU32"),
|
||||||
modifier: StorageFunctionModifier::Optional,
|
modifier: StorageFunctionModifier::Optional,
|
||||||
ty: StorageFunctionType::Map{
|
ty: StorageFunctionType::Map {
|
||||||
key: DecodeDifferent::Encode("u32"), value: DecodeDifferent::Encode("String")
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: false,
|
||||||
},
|
},
|
||||||
default: DecodeDifferent::Encode(
|
default: DecodeDifferent::Encode(
|
||||||
DefaultByteGetter(&__GetByteStructPUBMAPU32(PhantomData::<TraitImpl>))
|
DefaultByteGetter(&__GetByteStructPUBMAPU32(PhantomData::<TraitImpl>))
|
||||||
@@ -828,8 +838,10 @@ mod tests {
|
|||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("MAPU32MYDEF"),
|
name: DecodeDifferent::Encode("MAPU32MYDEF"),
|
||||||
modifier: StorageFunctionModifier::Optional,
|
modifier: StorageFunctionModifier::Optional,
|
||||||
ty: StorageFunctionType::Map{
|
ty: StorageFunctionType::Map {
|
||||||
key: DecodeDifferent::Encode("u32"), value: DecodeDifferent::Encode("String")
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: false,
|
||||||
},
|
},
|
||||||
default: DecodeDifferent::Encode(
|
default: DecodeDifferent::Encode(
|
||||||
DefaultByteGetter(&__GetByteStructMAPU32MYDEF(PhantomData::<TraitImpl>))
|
DefaultByteGetter(&__GetByteStructMAPU32MYDEF(PhantomData::<TraitImpl>))
|
||||||
@@ -839,8 +851,10 @@ mod tests {
|
|||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("PUBMAPU32MYDEF"),
|
name: DecodeDifferent::Encode("PUBMAPU32MYDEF"),
|
||||||
modifier: StorageFunctionModifier::Optional,
|
modifier: StorageFunctionModifier::Optional,
|
||||||
ty: StorageFunctionType::Map{
|
ty: StorageFunctionType::Map {
|
||||||
key: DecodeDifferent::Encode("u32"), value: DecodeDifferent::Encode("String")
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: false,
|
||||||
},
|
},
|
||||||
default: DecodeDifferent::Encode(
|
default: DecodeDifferent::Encode(
|
||||||
DefaultByteGetter(&__GetByteStructPUBMAPU32MYDEF(PhantomData::<TraitImpl>))
|
DefaultByteGetter(&__GetByteStructPUBMAPU32MYDEF(PhantomData::<TraitImpl>))
|
||||||
@@ -850,8 +864,10 @@ mod tests {
|
|||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("GETMAPU32"),
|
name: DecodeDifferent::Encode("GETMAPU32"),
|
||||||
modifier: StorageFunctionModifier::Default,
|
modifier: StorageFunctionModifier::Default,
|
||||||
ty: StorageFunctionType::Map{
|
ty: StorageFunctionType::Map {
|
||||||
key: DecodeDifferent::Encode("u32"), value: DecodeDifferent::Encode("String")
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: false,
|
||||||
},
|
},
|
||||||
default: DecodeDifferent::Encode(
|
default: DecodeDifferent::Encode(
|
||||||
DefaultByteGetter(&__GetByteStructGETMAPU32(PhantomData::<TraitImpl>))
|
DefaultByteGetter(&__GetByteStructGETMAPU32(PhantomData::<TraitImpl>))
|
||||||
@@ -861,8 +877,10 @@ mod tests {
|
|||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("PUBGETMAPU32"),
|
name: DecodeDifferent::Encode("PUBGETMAPU32"),
|
||||||
modifier: StorageFunctionModifier::Default,
|
modifier: StorageFunctionModifier::Default,
|
||||||
ty: StorageFunctionType::Map{
|
ty: StorageFunctionType::Map {
|
||||||
key: DecodeDifferent::Encode("u32"), value: DecodeDifferent::Encode("String")
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: false,
|
||||||
},
|
},
|
||||||
default: DecodeDifferent::Encode(
|
default: DecodeDifferent::Encode(
|
||||||
DefaultByteGetter(&__GetByteStructPUBGETMAPU32(PhantomData::<TraitImpl>))
|
DefaultByteGetter(&__GetByteStructPUBGETMAPU32(PhantomData::<TraitImpl>))
|
||||||
@@ -872,8 +890,10 @@ mod tests {
|
|||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("GETMAPU32MYDEF"),
|
name: DecodeDifferent::Encode("GETMAPU32MYDEF"),
|
||||||
modifier: StorageFunctionModifier::Default,
|
modifier: StorageFunctionModifier::Default,
|
||||||
ty: StorageFunctionType::Map{
|
ty: StorageFunctionType::Map {
|
||||||
key: DecodeDifferent::Encode("u32"), value: DecodeDifferent::Encode("String")
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: false,
|
||||||
},
|
},
|
||||||
default: DecodeDifferent::Encode(
|
default: DecodeDifferent::Encode(
|
||||||
DefaultByteGetter(&__GetByteStructGETMAPU32MYDEF(PhantomData::<TraitImpl>))
|
DefaultByteGetter(&__GetByteStructGETMAPU32MYDEF(PhantomData::<TraitImpl>))
|
||||||
@@ -883,14 +903,68 @@ mod tests {
|
|||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("PUBGETMAPU32MYDEF"),
|
name: DecodeDifferent::Encode("PUBGETMAPU32MYDEF"),
|
||||||
modifier: StorageFunctionModifier::Default,
|
modifier: StorageFunctionModifier::Default,
|
||||||
ty: StorageFunctionType::Map{
|
ty: StorageFunctionType::Map {
|
||||||
key: DecodeDifferent::Encode("u32"), value: DecodeDifferent::Encode("String")
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: false,
|
||||||
},
|
},
|
||||||
default: DecodeDifferent::Encode(
|
default: DecodeDifferent::Encode(
|
||||||
DefaultByteGetter(&__GetByteStructPUBGETMAPU32MYDEF(PhantomData::<TraitImpl>))
|
DefaultByteGetter(&__GetByteStructPUBGETMAPU32MYDEF(PhantomData::<TraitImpl>))
|
||||||
),
|
),
|
||||||
documentation: DecodeDifferent::Encode(&[]),
|
documentation: DecodeDifferent::Encode(&[]),
|
||||||
},
|
},
|
||||||
|
StorageFunctionMetadata {
|
||||||
|
name: DecodeDifferent::Encode("LINKEDMAPU32"),
|
||||||
|
modifier: StorageFunctionModifier::Optional,
|
||||||
|
ty: StorageFunctionType::Map {
|
||||||
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: true,
|
||||||
|
},
|
||||||
|
default: DecodeDifferent::Encode(
|
||||||
|
DefaultByteGetter(&__GetByteStructLINKEDMAPU32(PhantomData::<TraitImpl>))
|
||||||
|
),
|
||||||
|
documentation: DecodeDifferent::Encode(&[]),
|
||||||
|
},
|
||||||
|
StorageFunctionMetadata {
|
||||||
|
name: DecodeDifferent::Encode("PUBLINKEDMAPU32MYDEF"),
|
||||||
|
modifier: StorageFunctionModifier::Optional,
|
||||||
|
ty: StorageFunctionType::Map {
|
||||||
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: true,
|
||||||
|
},
|
||||||
|
default: DecodeDifferent::Encode(
|
||||||
|
DefaultByteGetter(&__GetByteStructPUBLINKEDMAPU32MYDEF(PhantomData::<TraitImpl>))
|
||||||
|
),
|
||||||
|
documentation: DecodeDifferent::Encode(&[]),
|
||||||
|
},
|
||||||
|
StorageFunctionMetadata {
|
||||||
|
name: DecodeDifferent::Encode("GETLINKEDMAPU32"),
|
||||||
|
modifier: StorageFunctionModifier::Default,
|
||||||
|
ty: StorageFunctionType::Map {
|
||||||
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: true,
|
||||||
|
},
|
||||||
|
default: DecodeDifferent::Encode(
|
||||||
|
DefaultByteGetter(&__GetByteStructGETLINKEDMAPU32(PhantomData::<TraitImpl>))
|
||||||
|
),
|
||||||
|
documentation: DecodeDifferent::Encode(&[]),
|
||||||
|
},
|
||||||
|
StorageFunctionMetadata {
|
||||||
|
name: DecodeDifferent::Encode("PUBGETLINKEDMAPU32MYDEF"),
|
||||||
|
modifier: StorageFunctionModifier::Default,
|
||||||
|
ty: StorageFunctionType::Map {
|
||||||
|
key: DecodeDifferent::Encode("u32"),
|
||||||
|
value: DecodeDifferent::Encode("String"),
|
||||||
|
is_linked: true,
|
||||||
|
},
|
||||||
|
default: DecodeDifferent::Encode(
|
||||||
|
DefaultByteGetter(&__GetByteStructPUBGETLINKEDMAPU32MYDEF(PhantomData::<TraitImpl>))
|
||||||
|
),
|
||||||
|
documentation: DecodeDifferent::Encode(&[]),
|
||||||
|
},
|
||||||
StorageFunctionMetadata {
|
StorageFunctionMetadata {
|
||||||
name: DecodeDifferent::Encode("COMPLEXTYPE1"),
|
name: DecodeDifferent::Encode("COMPLEXTYPE1"),
|
||||||
modifier: StorageFunctionModifier::Default,
|
modifier: StorageFunctionModifier::Default,
|
||||||
|
|||||||
Reference in New Issue
Block a user