mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 09:21:05 +00:00
XXX: Adjust to u32::MAX and metaV15 built from IR
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
This commit is contained in:
+1
-1
@@ -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"
|
||||
|
||||
@@ -9,9 +9,9 @@ use crate::{
|
||||
},
|
||||
CratePath,
|
||||
};
|
||||
use frame_metadata::{
|
||||
v15::RuntimeMetadataV15,
|
||||
use frame_metadata::v15::{
|
||||
PalletMetadata,
|
||||
RuntimeMetadataV15,
|
||||
};
|
||||
use heck::{
|
||||
ToSnakeCase as _,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -6,9 +6,9 @@ use crate::{
|
||||
types::TypeGenerator,
|
||||
CratePath,
|
||||
};
|
||||
use frame_metadata::{
|
||||
v15::RuntimeMetadataV15,
|
||||
use frame_metadata::v15::{
|
||||
PalletMetadata,
|
||||
RuntimeMetadataV15,
|
||||
StorageEntryMetadata,
|
||||
StorageEntryModifier,
|
||||
StorageEntryType,
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user