mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 09:21:05 +00:00
allow 'latest' metadata to be returned from the fallback code (#1127)
This commit is contained in:
+4
-8
@@ -24,15 +24,11 @@ pub struct FileOrUrl {
|
||||
pub file: Option<PathBuf>,
|
||||
/// Specify the metadata version.
|
||||
///
|
||||
/// - unstable:
|
||||
/// - "latest": Use the latest stable version available.
|
||||
/// - "unstable": Use the unstable metadata, if present.
|
||||
/// - a number: Use a specific metadata version.
|
||||
///
|
||||
/// Use the latest unstable metadata of the node.
|
||||
///
|
||||
/// - number
|
||||
///
|
||||
/// Use this specific metadata version.
|
||||
///
|
||||
/// Defaults to 14.
|
||||
/// Defaults to asking for the latest stable metadata version.
|
||||
#[clap(long)]
|
||||
pub version: Option<MetadataVersion>,
|
||||
}
|
||||
|
||||
@@ -201,14 +201,18 @@ async fn fetch_metadata(
|
||||
client: &impl ClientT,
|
||||
version: MetadataVersion,
|
||||
) -> Result<Vec<u8>, FetchMetadataError> {
|
||||
if !matches!(version, MetadataVersion::Version(14)) {
|
||||
// If the user specifically asks for anything other than version 14 or "latest", error.
|
||||
if !matches!(
|
||||
version,
|
||||
MetadataVersion::Latest | MetadataVersion::Version(14)
|
||||
) {
|
||||
return Err(FetchMetadataError::Other(
|
||||
"The node can only return version 14 metadata using the legacy API but you've asked for something else"
|
||||
.to_string(),
|
||||
));
|
||||
}
|
||||
|
||||
// Fetch the metadata at that version:
|
||||
// Fetch the metadata.
|
||||
let metadata_string: String = client
|
||||
.request("state_call", rpc_params!["Metadata_metadata", "0x"])
|
||||
.await?;
|
||||
|
||||
Reference in New Issue
Block a user