Skip to content

Commit 94f4e7f

Browse files
authored
preserve custom metadata when converting between Subxt metadata and frame_metadata (#1914)
1 parent a5a1733 commit 94f4e7f

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

metadata/src/from_into/v15.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,7 @@ mod into_v15 {
284284
event_enum_ty: m.outer_enums.event_enum_ty.into(),
285285
error_enum_ty: m.outer_enums.error_enum_ty.into(),
286286
},
287-
custom: v15::CustomMetadata {
288-
map: Default::default(),
289-
},
287+
custom: m.custom,
290288
}
291289
}
292290
}

testing/integration-tests/src/full_client/metadata/validation.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,25 @@ fn pallets_to_metadata(pallets: Vec<PalletMetadata>) -> Metadata {
9797
))
9898
}
9999

100+
#[subxt_test]
101+
async fn metadata_converting_works_ok() {
102+
let ctx = test_context().await;
103+
let api = ctx.client();
104+
105+
assert!(
106+
node_runtime::is_codegen_valid_for(&api.metadata()),
107+
"Should be valid initially"
108+
);
109+
110+
let metadata = RuntimeMetadataV15::from((*api.metadata()).clone());
111+
let metadata = v15_to_metadata(metadata);
112+
113+
assert!(
114+
node_runtime::is_codegen_valid_for(&metadata),
115+
"Should still be valid after conversion back and forth"
116+
);
117+
}
118+
100119
#[subxt_test]
101120
async fn full_metadata_check() {
102121
let ctx = test_context().await;

0 commit comments

Comments
 (0)