diff --git a/xtask/res/templates/runtime-calls-category.md b/xtask/res/templates/runtime-calls-category.md index 71c6a7bcec12c936d5ccf4dd912227954ab18b3b..40fd4dca280a0dfcd8ace52f0ef4f4894ec041c5 100644 --- a/xtask/res/templates/runtime-calls-category.md +++ b/xtask/res/templates/runtime-calls-category.md @@ -23,8 +23,7 @@ Taking {{ call.weight }} % of a block. ``` </details> -{# replace markdown sytax in documentation breaking the final result #} -{{ call.documentation | replace(from="# WARNING:", to="WARNING:") | replace(from="## Complexity", to="**Complexity**") }} +See [Pallet::{{ call.name }}](./doc/{{ pallet.type_name }}/pallet/struct.Pallet.html#method.{{ call.name }} ) {% endfor -%} {% endfor -%} diff --git a/xtask/src/gen_doc.rs b/xtask/src/gen_doc.rs index 5e4b4b23898522ce26c57be25f12abca7c2289fe..85dc61d546da82d5f59a0dcaf9fd57182e0c51cb 100644 --- a/xtask/src/gen_doc.rs +++ b/xtask/src/gen_doc.rs @@ -56,6 +56,7 @@ type RuntimePallets = Vec<Pallet>; struct Pallet { index: u8, name: String, + type_name: String, calls: Vec<Call>, events: Vec<Event>, errors: Vec<ErroR>, @@ -96,6 +97,7 @@ impl Pallet { fn new( index: u8, name: String, + type_name: String, call_scale_type_def: &Option<scale_info::TypeDef<PortableForm>>, event_scale_type_def: &Option<scale_info::TypeDef<PortableForm>>, error_scale_type_def: &Option<scale_info::TypeDef<PortableForm>>, @@ -130,6 +132,7 @@ impl Pallet { Ok(Self { index, name, + type_name, calls, events, errors, @@ -382,10 +385,17 @@ fn get_from_metadata_v15( println!("Number of pallets: {}", metadata_v15.pallets.len()); let mut pallets = Vec::new(); for pallet in metadata_v15.pallets { + let mut type_name: String = Default::default(); let calls_type_def = if let Some(calls) = pallet.calls { let Some(calls_type) = metadata_v15.types.resolve(calls.ty.id) else { bail!("Invalid metadata") }; + type_name = calls_type + .path + .segments + .first() + .expect("cannot decode pallet type") + .to_string(); Some(calls_type.type_def.clone()) } else { println!("{}: {} (0 calls)", pallet.index, pallet.name); @@ -413,6 +423,7 @@ fn get_from_metadata_v15( let pallet = Pallet::new( pallet.index, pallet.name.clone(), + type_name, &calls_type_def, &events_type_def, &errors_type_def,