@@ -302,27 +302,30 @@ pub fn get_consensus_version_from_height(seek_height: u32, heights: &[u32]) -> R
302302 }
303303 } ;
304304 // Convert the index to a consensus version.
305- Ok ( number_to_consensus_version ( index + 1 ) )
305+ number_to_consensus_version ( index + 1 )
306306}
307307
308308// A helper to convert an index to a consensus version.
309- pub fn number_to_consensus_version ( index : usize ) -> ConsensusVersion {
309+ pub fn number_to_consensus_version ( index : usize ) -> Result < ConsensusVersion > {
310310 match index {
311- 1 => ConsensusVersion :: V1 ,
312- 2 => ConsensusVersion :: V2 ,
313- 3 => ConsensusVersion :: V3 ,
314- 4 => ConsensusVersion :: V4 ,
315- 5 => ConsensusVersion :: V5 ,
316- 6 => ConsensusVersion :: V6 ,
317- 7 => ConsensusVersion :: V7 ,
318- 8 => ConsensusVersion :: V8 ,
319- 9 => ConsensusVersion :: V9 ,
320- 10 => ConsensusVersion :: V10 ,
321- 11 => ConsensusVersion :: V11 ,
322- 12 => ConsensusVersion :: V12 ,
323- 13 => ConsensusVersion :: V13 ,
324- 14 => ConsensusVersion :: V14 ,
325- _ => panic ! ( "Invalid consensus version: {index}" ) ,
311+ 1 => Ok ( ConsensusVersion :: V1 ) ,
312+ 2 => Ok ( ConsensusVersion :: V2 ) ,
313+ 3 => Ok ( ConsensusVersion :: V3 ) ,
314+ 4 => Ok ( ConsensusVersion :: V4 ) ,
315+ 5 => Ok ( ConsensusVersion :: V5 ) ,
316+ 6 => Ok ( ConsensusVersion :: V6 ) ,
317+ 7 => Ok ( ConsensusVersion :: V7 ) ,
318+ 8 => Ok ( ConsensusVersion :: V8 ) ,
319+ 9 => Ok ( ConsensusVersion :: V9 ) ,
320+ 10 => Ok ( ConsensusVersion :: V10 ) ,
321+ 11 => Ok ( ConsensusVersion :: V11 ) ,
322+ 12 => Ok ( ConsensusVersion :: V12 ) ,
323+ 13 => Ok ( ConsensusVersion :: V13 ) ,
324+ 14 => Ok ( ConsensusVersion :: V14 ) ,
325+ _ => Err ( CliError :: custom ( format ! (
326+ "Invalid consensus version: {index}. You may need to update Leo to support this version."
327+ ) )
328+ . into ( ) ) ,
326329 }
327330}
328331
0 commit comments