fix: Add workspace dependencies for vendored pezkuwi-subxt and zombienet-sdk
- Add all missing workspace dependencies required by vendor crates - Include external crates: scale-*, sp-core, sc-chain-spec, kube, etc. - Include subxt dependencies: smoldot, web-time, wasm-bindgen, etc. - Regenerate umbrella crate with updated dependencies - Apply zepter std feature propagation fixes to vendor crates - Apply rustfmt formatting to vendor and pezframe files
This commit is contained in:
+8
-1
@@ -15,7 +15,14 @@ description = "Command line utilities for checking metadata compatibility betwee
|
||||
|
||||
[features]
|
||||
default = ["legacy", "std"]
|
||||
std = ["frame-metadata/std", "scale-info/std"]
|
||||
std = [
|
||||
"frame-metadata/std",
|
||||
"scale-info/std",
|
||||
"bitvec/std",
|
||||
"frame-decode/std",
|
||||
"codec/std",
|
||||
"pezsp-crypto-hashing/std"
|
||||
]
|
||||
|
||||
# Enable decoding of legacy metadata, too.
|
||||
# std required by frame-metadata to decode <V14.
|
||||
|
||||
+2
-2
@@ -3,8 +3,8 @@ mod portable_registry_builder;
|
||||
mod tests;
|
||||
|
||||
use crate::{
|
||||
Metadata,
|
||||
utils::{ordered_map::OrderedMap, variant_index::VariantIndex},
|
||||
Metadata,
|
||||
};
|
||||
use alloc::{borrow::ToOwned, collections::BTreeMap, format, string::ToString, vec::Vec};
|
||||
use frame_decode::{
|
||||
@@ -15,7 +15,7 @@ use frame_decode::{
|
||||
};
|
||||
use frame_metadata::v15;
|
||||
use portable_registry_builder::PortableRegistryBuilder;
|
||||
use scale_info_legacy::{TypeRegistrySet, type_registry::RuntimeApiName};
|
||||
use scale_info_legacy::{type_registry::RuntimeApiName, TypeRegistrySet};
|
||||
|
||||
/// Options to configure the legacy translating.
|
||||
pub(crate) struct Opts {
|
||||
|
||||
@@ -4,8 +4,8 @@ use alloc::{
|
||||
string::ToString,
|
||||
vec::Vec,
|
||||
};
|
||||
use scale_info::{PortableRegistry, PortableType, form::PortableForm};
|
||||
use scale_info_legacy::{LookupName, TypeRegistrySet, type_registry::TypeRegistryResolveError};
|
||||
use scale_info::{form::PortableForm, PortableRegistry, PortableType};
|
||||
use scale_info_legacy::{type_registry::TypeRegistryResolveError, LookupName, TypeRegistrySet};
|
||||
use scale_type_resolver::{
|
||||
BitsOrderFormat, BitsStoreFormat, FieldIter, PathIter, Primitive, ResolvedTypeVisitor,
|
||||
UnhandledKind, VariantIter,
|
||||
@@ -459,9 +459,9 @@ fn prepare_path<'info, Path: PathIter<'info>>(
|
||||
|
||||
// Non-compliant paths are converted to our default path
|
||||
let non_compliant_path = path[0..path.len() - 1].iter().any(|&p| {
|
||||
p.is_empty() ||
|
||||
p.starts_with(|c: char| !c.is_ascii_alphabetic()) ||
|
||||
p.contains(|c: char| !c.is_ascii_alphanumeric() || c.is_ascii_uppercase())
|
||||
p.is_empty()
|
||||
|| p.starts_with(|c: char| !c.is_ascii_alphabetic())
|
||||
|| p.contains(|c: char| !c.is_ascii_alphanumeric() || c.is_ascii_uppercase())
|
||||
});
|
||||
if non_compliant_path {
|
||||
let last = *path.last().unwrap();
|
||||
|
||||
+15
-10
@@ -432,16 +432,21 @@ fn codegen_works() {
|
||||
};
|
||||
|
||||
match &metadata {
|
||||
RuntimeMetadata::V9(m) =>
|
||||
pezkuwi_subxt_codegen::Metadata::from_v9(m, &types_for_spec),
|
||||
RuntimeMetadata::V10(m) =>
|
||||
pezkuwi_subxt_codegen::Metadata::from_v10(m, &types_for_spec),
|
||||
RuntimeMetadata::V11(m) =>
|
||||
pezkuwi_subxt_codegen::Metadata::from_v11(m, &types_for_spec),
|
||||
RuntimeMetadata::V12(m) =>
|
||||
pezkuwi_subxt_codegen::Metadata::from_v12(m, &types_for_spec),
|
||||
RuntimeMetadata::V13(m) =>
|
||||
pezkuwi_subxt_codegen::Metadata::from_v13(m, &types_for_spec),
|
||||
RuntimeMetadata::V9(m) => {
|
||||
pezkuwi_subxt_codegen::Metadata::from_v9(m, &types_for_spec)
|
||||
},
|
||||
RuntimeMetadata::V10(m) => {
|
||||
pezkuwi_subxt_codegen::Metadata::from_v10(m, &types_for_spec)
|
||||
},
|
||||
RuntimeMetadata::V11(m) => {
|
||||
pezkuwi_subxt_codegen::Metadata::from_v11(m, &types_for_spec)
|
||||
},
|
||||
RuntimeMetadata::V12(m) => {
|
||||
pezkuwi_subxt_codegen::Metadata::from_v12(m, &types_for_spec)
|
||||
},
|
||||
RuntimeMetadata::V13(m) => {
|
||||
pezkuwi_subxt_codegen::Metadata::from_v13(m, &types_for_spec)
|
||||
},
|
||||
_ => panic!("Metadata version {} not expected", metadata.version()),
|
||||
}
|
||||
.expect("Could not convert to pezkuwi_subxt_metadata::Metadata")
|
||||
|
||||
+42
-28
@@ -53,34 +53,48 @@ impl TryFrom<frame_metadata::RuntimeMetadataPrefixed> for crate::Metadata {
|
||||
|
||||
fn try_from(value: frame_metadata::RuntimeMetadataPrefixed) -> Result<Self, Self::Error> {
|
||||
match value.1 {
|
||||
frame_metadata::RuntimeMetadata::V0(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(0)),
|
||||
frame_metadata::RuntimeMetadata::V1(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(1)),
|
||||
frame_metadata::RuntimeMetadata::V2(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(2)),
|
||||
frame_metadata::RuntimeMetadata::V3(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(3)),
|
||||
frame_metadata::RuntimeMetadata::V4(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(4)),
|
||||
frame_metadata::RuntimeMetadata::V5(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(5)),
|
||||
frame_metadata::RuntimeMetadata::V6(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(6)),
|
||||
frame_metadata::RuntimeMetadata::V7(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(7)),
|
||||
frame_metadata::RuntimeMetadata::V8(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(8)),
|
||||
frame_metadata::RuntimeMetadata::V9(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(9)),
|
||||
frame_metadata::RuntimeMetadata::V10(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(10)),
|
||||
frame_metadata::RuntimeMetadata::V11(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(11)),
|
||||
frame_metadata::RuntimeMetadata::V12(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(12)),
|
||||
frame_metadata::RuntimeMetadata::V13(_) =>
|
||||
Err(TryFromError::UnsupportedMetadataVersion(13)),
|
||||
frame_metadata::RuntimeMetadata::V0(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(0))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V1(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(1))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V2(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(2))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V3(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(3))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V4(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(4))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V5(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(5))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V6(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(6))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V7(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(7))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V8(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(8))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V9(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(9))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V10(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(10))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V11(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(11))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V12(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(12))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V13(_) => {
|
||||
Err(TryFromError::UnsupportedMetadataVersion(13))
|
||||
},
|
||||
frame_metadata::RuntimeMetadata::V14(m) => m.try_into(),
|
||||
frame_metadata::RuntimeMetadata::V15(m) => m.try_into(),
|
||||
frame_metadata::RuntimeMetadata::V16(m) => m.try_into(),
|
||||
|
||||
+1
-1
@@ -5,9 +5,9 @@
|
||||
use super::TryFromError;
|
||||
|
||||
use crate::{
|
||||
utils::{ordered_map::OrderedMap, variant_index::VariantIndex},
|
||||
ConstantMetadata, CustomMetadataInner, ExtrinsicMetadata, Metadata, OuterEnumsMetadata,
|
||||
PalletMetadataInner, StorageEntryMetadata, StorageMetadata, TransactionExtensionMetadataInner,
|
||||
utils::{ordered_map::OrderedMap, variant_index::VariantIndex},
|
||||
};
|
||||
use alloc::{borrow::ToOwned, collections::BTreeMap, format, string::String, vec, vec::Vec};
|
||||
use frame_decode::storage::StorageTypeInfo;
|
||||
|
||||
+1
-1
@@ -5,10 +5,10 @@
|
||||
use super::TryFromError;
|
||||
|
||||
use crate::{
|
||||
utils::{ordered_map::OrderedMap, variant_index::VariantIndex},
|
||||
ConstantMetadata, ExtrinsicMetadata, Metadata, OuterEnumsMetadata, PalletMetadataInner,
|
||||
RuntimeApiMetadataInner, RuntimeApiMethodMetadataInner, StorageEntryMetadata, StorageMetadata,
|
||||
TransactionExtensionMetadataInner,
|
||||
utils::{ordered_map::OrderedMap, variant_index::VariantIndex},
|
||||
};
|
||||
use alloc::{collections::BTreeMap, vec, vec::Vec};
|
||||
use frame_decode::{runtime_apis::RuntimeApiTypeInfo, storage::StorageTypeInfo};
|
||||
|
||||
+1
-1
@@ -5,10 +5,10 @@
|
||||
use super::TryFromError;
|
||||
|
||||
use crate::{
|
||||
utils::{ordered_map::OrderedMap, variant_index::VariantIndex},
|
||||
ConstantMetadata, ExtrinsicMetadata, Metadata, OuterEnumsMetadata, PalletMetadataInner,
|
||||
RuntimeApiMetadataInner, RuntimeApiMethodMetadataInner, StorageEntryMetadata, StorageMetadata,
|
||||
TransactionExtensionMetadataInner, ViewFunctionMetadataInner,
|
||||
utils::{ordered_map::OrderedMap, variant_index::VariantIndex},
|
||||
};
|
||||
use frame_decode::{
|
||||
runtime_apis::RuntimeApiTypeInfo, storage::StorageTypeInfo,
|
||||
|
||||
+3
-3
@@ -43,15 +43,15 @@ use frame_decode::{
|
||||
};
|
||||
|
||||
use hashbrown::HashMap;
|
||||
use scale_info::{PortableRegistry, Variant, form::PortableForm};
|
||||
use scale_info::{form::PortableForm, PortableRegistry, Variant};
|
||||
use utils::{
|
||||
ordered_map::OrderedMap,
|
||||
validation::{HASH_LEN, get_custom_value_hash},
|
||||
validation::{get_custom_value_hash, HASH_LEN},
|
||||
variant_index::VariantIndex,
|
||||
};
|
||||
|
||||
pub use frame_decode::storage::StorageHasher;
|
||||
pub use from::{SUPPORTED_METADATA_VERSIONS, TryFromError};
|
||||
pub use from::{TryFromError, SUPPORTED_METADATA_VERSIONS};
|
||||
pub use utils::validation::MetadataHasher;
|
||||
|
||||
#[cfg(feature = "legacy")]
|
||||
|
||||
+17
-5
@@ -10,7 +10,7 @@ use crate::{
|
||||
};
|
||||
use alloc::vec::Vec;
|
||||
use hashbrown::HashMap;
|
||||
use scale_info::{Field, PortableRegistry, TypeDef, TypeDefVariant, Variant, form::PortableForm};
|
||||
use scale_info::{form::PortableForm, Field, PortableRegistry, TypeDef, TypeDefVariant, Variant};
|
||||
|
||||
// The number of bytes our `hash` function produces.
|
||||
pub(crate) const HASH_LEN: usize = 32;
|
||||
@@ -115,7 +115,11 @@ fn get_type_def_variant_hash(
|
||||
.as_ref()
|
||||
.map(|only_these_variants| only_these_variants.contains(&var.name.as_str()))
|
||||
.unwrap_or(true);
|
||||
if should_hash { xor(bytes, get_variant_hash(registry, var, cache)) } else { bytes }
|
||||
if should_hash {
|
||||
xor(bytes, get_variant_hash(registry, var, cache))
|
||||
} else {
|
||||
bytes
|
||||
}
|
||||
});
|
||||
concat_and_hash2(&variant_id_bytes, &variant_field_bytes)
|
||||
}
|
||||
@@ -521,7 +525,11 @@ impl<'a> MetadataHasher<'a> {
|
||||
.unwrap_or(true);
|
||||
// We don't care what order the pallets are seen in, so XOR their
|
||||
// hashes together to be order independent.
|
||||
if should_hash { xor(bytes, get_pallet_hash(pallet)) } else { bytes }
|
||||
if should_hash {
|
||||
xor(bytes, get_pallet_hash(pallet))
|
||||
} else {
|
||||
bytes
|
||||
}
|
||||
});
|
||||
|
||||
let apis_hash = metadata.runtime_api_traits().fold([0u8; HASH_LEN], |bytes, api| {
|
||||
@@ -534,7 +542,11 @@ impl<'a> MetadataHasher<'a> {
|
||||
.unwrap_or(true);
|
||||
// We don't care what order the runtime APIs are seen in, so XOR their
|
||||
// hashes together to be order independent.
|
||||
if should_hash { xor(bytes, get_runtime_apis_hash(api)) } else { bytes }
|
||||
if should_hash {
|
||||
xor(bytes, get_runtime_apis_hash(api))
|
||||
} else {
|
||||
bytes
|
||||
}
|
||||
});
|
||||
|
||||
let outer_enums_hash = concat_and_hash3(
|
||||
@@ -566,7 +578,7 @@ mod tests {
|
||||
use super::*;
|
||||
use bitvec::{order::Lsb0, vec::BitVec};
|
||||
use frame_metadata::v15;
|
||||
use scale_info::{Registry, meta_type};
|
||||
use scale_info::{meta_type, Registry};
|
||||
|
||||
// Define recursive types.
|
||||
#[allow(dead_code)]
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
use alloc::{borrow::ToOwned, string::String};
|
||||
use hashbrown::HashMap;
|
||||
use scale_info::{PortableRegistry, TypeDef, Variant, form::PortableForm};
|
||||
use scale_info::{form::PortableForm, PortableRegistry, TypeDef, Variant};
|
||||
|
||||
/// Given some type ID and type registry, build a couple of
|
||||
/// indexes to look up variants by index or name. If the ID provided
|
||||
|
||||
Reference in New Issue
Block a user