diff --git a/xtask/src/gen_doc.rs b/xtask/src/gen_doc.rs index 7dc7631b0fa4eb76bb0ccaca9e428a0faf458fcb..13ce53a7af00e5b99b34485133038c5c3a66dc96 100644 --- a/xtask/src/gen_doc.rs +++ b/xtask/src/gen_doc.rs @@ -264,47 +264,34 @@ pub(super) fn gen_doc() -> Result<()> { // Compute the weights from the weight files. // Require the `pallet_xxx.rs` weights, // the `paritydb_weights.rs` and the `extrinsic_weights.rs` - // TODO SIMPLIFY IF POSSIBLE!!! let max_weight = if let frame_metadata::RuntimeMetadata::V14(metadata_v14) = metadata.1 { let block_weights = metadata_v14 .pallets .iter() .find(|pallet| pallet.name == "System") - .unwrap() + .expect("Can't find System pallet metadata") .constants .iter() .find(|constant| constant.name == "BlockWeights") - .unwrap(); + .expect("Can't find BlockWeights"); let block_weights = scale_value::scale::decode_as_type( &mut &*block_weights.value, block_weights.ty.id, &metadata_v14.types, ) - .unwrap() + .expect("Can't decode max_weight") .value; let max_weight: u128 = - if let scale_value::ValueDef::Composite(scale_value::Composite::Named(i)) = - block_weights - { - if let scale_value::ValueDef::Composite(scale_value::Composite::Named(j)) = - &i.iter().find(|name| name.0 == "max_block").unwrap().1.value - { - if let scale_value::ValueDef::Primitive(scale_value::Primitive::U128(k)) = - &j.iter().find(|name| name.0 == "ref_time").unwrap().1.value - { - *k - } else { - 0u128 - } - } else { - 0u128 - } - } else { - 0u128 - }; - + if let scale_value::ValueDef::Composite(scale_value::Composite::Named(i)) = block_weights + && let scale_value::ValueDef::Composite(scale_value::Composite::Named(j)) = &i.iter().find(|name| name.0 == "max_block").unwrap().1.value + && let scale_value::ValueDef::Primitive(scale_value::Primitive::U128(k)) = &j.iter().find(|name| name.0 == "ref_time").unwrap().1.value + { + *k + } else { + 0u128 + }; max_weight } else { 0u128 diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 331bab7a9edb1333687885206eb2fd0d5ce34371..c6b201b9d06d1b0af24dc9771305d9b51cb6d56f 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -14,6 +14,8 @@ // You should have received a copy of the GNU Affero General Public License // along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>. +#![feature(let_chains)] + mod gen_doc; mod release_runtime;