XXX: Adjust to u32::MAX and metaV15 built from IR

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
This commit is contained in:
Alexandru Vasile
2023-03-16 18:17:35 +02:00
parent 8911550234
commit a5b3669f73
21 changed files with 46 additions and 39 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ description = "Generate an API for interacting with a substrate node from FRAME
[dependencies]
codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full"] }
darling = "0.14.0"
frame-metadata = { version = "15.0.0", git = "https://github.com/paritytech/frame-metadata/", branch = "lexnv/md_v15_test", default-features = false, features = ["std", "v14", "v15-unstable"] }
frame-metadata = { version = "15.0.0", git = "https://github.com/paritytech/frame-metadata/", branch = "lexnv/md_v15", default-features = false, features = ["std", "v14", "v15-unstable"] }
heck = "0.4.0"
proc-macro2 = "1.0.24"
proc-macro-error = "1.0.4"
+2 -2
View File
@@ -9,9 +9,9 @@ use crate::{
},
CratePath,
};
use frame_metadata::{
v15::RuntimeMetadataV15,
use frame_metadata::v15::{
PalletMetadata,
RuntimeMetadataV15,
};
use heck::{
ToSnakeCase as _,
+2 -2
View File
@@ -6,9 +6,9 @@ use crate::{
types::TypeGenerator,
CratePath,
};
use frame_metadata::{
v15::RuntimeMetadataV15,
use frame_metadata::v15::{
PalletMetadata,
RuntimeMetadataV15,
};
use heck::ToSnakeCase as _;
use proc_macro2::TokenStream as TokenStream2;
+1 -1
View File
@@ -6,7 +6,7 @@ use crate::{
types::TypeGenerator,
CratePath,
};
use frame_metadata::PalletMetadata;
use frame_metadata::v15::PalletMetadata;
use proc_macro2::TokenStream as TokenStream2;
use quote::quote;
use scale_info::form::PortableForm;
+4
View File
@@ -138,12 +138,16 @@ pub fn generate_runtime_api_from_bytes(
type_substitutes: TypeSubstitutes,
crate_path: CratePath,
) -> TokenStream2 {
println!("Decodign metadata");
let decoded: Option<frame_metadata::OpaqueMetadata> = Decode::decode(&mut &*bytes)
.unwrap_or_else(|e| abort_call_site!("Failed to decode opaque metadata: {}", e));
let decoded = decoded.unwrap();
let bytes = &decoded.0;
let metadata: RuntimeMetadataPrefixed = Decode::decode(&mut &bytes[..])
.unwrap_or_else(|e| abort_call_site!("Failed to decode metadata: {}", e));
println!("META done");
println!("{:#?}", metadata);
let generator = RuntimeGenerator::new(metadata);
generator.generate_runtime(item_mod, derives, type_substitutes, crate_path)
+2 -2
View File
@@ -8,7 +8,7 @@ use crate::{
};
use frame_metadata::v15::{
RuntimeMetadataV15,
TraitMetadata,
RuntimeApiMetadata,
};
use proc_macro2::TokenStream as TokenStream2;
@@ -20,7 +20,7 @@ use scale_info::form::PortableForm;
/// Generates the accessor functions for the given trait.
fn generate_trait_api(
trait_: &TraitMetadata<PortableForm>,
trait_: &RuntimeApiMetadata<PortableForm>,
type_gen: &TypeGenerator,
types_mod_ident: &syn::Ident,
crate_path: &CratePath,
+2 -2
View File
@@ -6,9 +6,9 @@ use crate::{
types::TypeGenerator,
CratePath,
};
use frame_metadata::{
v15::RuntimeMetadataV15,
use frame_metadata::v15::{
PalletMetadata,
RuntimeMetadataV15,
StorageEntryMetadata,
StorageEntryModifier,
StorageEntryType,
+2 -2
View File
@@ -64,7 +64,7 @@ async fn fetch_metadata_ws(url: &Uri) -> Result<String, FetchMetadataError> {
.build_with_tokio(sender, receiver);
use codec::Encode;
let bytes = 15u32.encode();
let bytes = u32::MAX.encode();
let param = format!("0x{}", hex::encode(&bytes));
Ok(client
@@ -81,7 +81,7 @@ async fn fetch_metadata_http(url: &Uri) -> Result<String, FetchMetadataError> {
.build(url.to_string())?;
use codec::Encode;
let bytes = 15u32.encode();
let bytes = u32::MAX.encode();
let param = format!("0x{}", hex::encode(&bytes));
Ok(client