@@ -13,7 +13,7 @@ use da_runtime::{
1313 apis:: { DataAvailApi , ExtensionBuilder } ,
1414 Header as DaHeader ,
1515} ;
16- use frame_system:: limits:: BlockLength ;
16+ use frame_system:: limits:: { BlockLength , BlockLengthError } ;
1717
1818use sc_consensus:: {
1919 block_import:: { BlockCheckParams , BlockImport as BlockImportT , BlockImportParams } ,
8282 & self ,
8383 block : & BlockImportParams < B > ,
8484 ) -> Result < ( ) , ConsensusError > {
85- let block_len = extension_block_len ( & block. header . extension ) ;
85+ let block_len = extension_block_len ( & block. header . extension ) ? ;
8686 let extrinsics = || block. body . clone ( ) . unwrap_or_default ( ) ;
8787 let block_number: u32 = block. header . number ;
8888 let parent_hash = <B as BlockT >:: Hash :: from ( block. header . parent_hash ) ;
@@ -168,14 +168,14 @@ impl<B, C, I: Clone> Clone for BlockImport<B, C, I> {
168168}
169169
170170/// Calculate block length from `extension`.
171- fn extension_block_len ( extension : & HeaderExtension ) -> BlockLength {
171+ fn extension_block_len ( extension : & HeaderExtension ) -> Result < BlockLength , ConsensusError > {
172172 BlockLength :: with_normal_ratio (
173173 BlockLengthRows ( extension. rows ( ) as u32 ) ,
174174 BlockLengthColumns ( extension. cols ( ) as u32 ) ,
175175 BLOCK_CHUNK_SIZE ,
176176 sp_runtime:: Perbill :: from_percent ( 90 ) ,
177177 )
178- . expect ( "Valid BlockLength at genesis .qed" )
178+ . map_err ( block_contains_invalid_block_length )
179179}
180180
181181fn extension_mismatch ( imported : & HeaderExtension , generated : & HeaderExtension ) -> ConsensusError {
@@ -198,3 +198,8 @@ fn block_doesnt_contain_post_inherent() -> ConsensusError {
198198 let msg = "Block does not contain post inherent" . to_string ( ) ;
199199 ConsensusError :: ClientImport ( msg)
200200}
201+
202+ fn block_contains_invalid_block_length ( err : BlockLengthError ) -> ConsensusError {
203+ let msg = format ! ( "Block contains invalid block_length: {err:?}" ) ;
204+ ConsensusError :: ClientImport ( msg)
205+ }
0 commit comments