@@ -55,6 +55,7 @@ pub enum ConsensusVersion {
5555 /// and dynamic dispatch, and identifier literal types.
5656 V14 = 14 ,
5757 /// V15: Introduces the record-existence check and `commit.*.raw` instruction variants.
58+ /// Increase the anchor time to 35.
5859 V15 = 15 ,
5960}
6061
@@ -347,6 +348,11 @@ mod tests {
347348 assert ! ( * version > previous_version) ;
348349 previous_version = * version;
349350 }
351+ let mut previous_version = N :: ANCHOR_TIMES . first ( ) . unwrap ( ) . 0 ;
352+ for ( version, _) in N :: ANCHOR_TIMES . iter ( ) . skip ( 1 ) {
353+ assert ! ( * version > previous_version) ;
354+ previous_version = * version;
355+ }
350356 }
351357
352358 /// Ensure that consensus *heights* are unique and incrementing.
@@ -400,6 +406,10 @@ mod tests {
400406 // Double-check that consensus_config_value returns the correct value.
401407 assert_eq ! ( consensus_config_value!( N , MAX_WRITES , height) . unwrap( ) , * value) ;
402408 }
409+ for ( version, value) in N :: ANCHOR_TIMES . iter ( ) {
410+ let height = N :: CONSENSUS_VERSION_HEIGHTS ( ) . iter ( ) . find ( |( c_version, _) | c_version == version) . unwrap ( ) . 1 ;
411+ assert_eq ! ( consensus_config_value!( N , ANCHOR_TIMES , height) . unwrap( ) , * value) ;
412+ }
403413 }
404414
405415 /// Ensure that consensus_config_value returns a valid value for all consensus versions.
@@ -411,6 +421,7 @@ mod tests {
411421 assert ! ( consensus_config_value!( N , MAX_PROGRAM_SIZE , * height) . is_some( ) ) ;
412422 assert ! ( consensus_config_value!( N , MAX_TRANSACTION_SIZE , * height) . is_some( ) ) ;
413423 assert ! ( consensus_config_value!( N , MAX_WRITES , * height) . is_some( ) ) ;
424+ assert ! ( consensus_config_value!( N , ANCHOR_TIMES , * height) . is_some( ) ) ;
414425 }
415426 }
416427
@@ -460,6 +471,7 @@ mod tests {
460471 let _ = [ N1 :: MAX_PROGRAM_SIZE , N2 :: MAX_PROGRAM_SIZE , N3 :: MAX_PROGRAM_SIZE ] ;
461472 let _ = [ N1 :: MAX_TRANSACTION_SIZE , N2 :: MAX_TRANSACTION_SIZE , N3 :: MAX_TRANSACTION_SIZE ] ;
462473 let _ = [ N1 :: MAX_WRITES , N2 :: MAX_WRITES , N3 :: MAX_WRITES ] ;
474+ let _ = [ N1 :: ANCHOR_TIMES , N2 :: ANCHOR_TIMES , N3 :: ANCHOR_TIMES ] ;
463475 }
464476
465477 /// Ensure that `LATEST_MAX_*` functions return valid values without panicking.
@@ -534,4 +546,11 @@ mod tests {
534546 let result = ConsensusVersion :: from_bytes_le ( & invalid_bytes) ;
535547 assert ! ( result. is_err( ) ) ;
536548 }
549+
550+ #[ test]
551+ fn test_reward_anchor_time ( ) {
552+ assert_eq ! ( MainnetV0 :: REWARD_ANCHOR_TIME , MainnetV0 :: ANCHOR_TIMES . first( ) . unwrap( ) . 1 ) ;
553+ assert_eq ! ( TestnetV0 :: REWARD_ANCHOR_TIME , TestnetV0 :: ANCHOR_TIMES . first( ) . unwrap( ) . 1 ) ;
554+ assert_eq ! ( CanaryV0 :: REWARD_ANCHOR_TIME , CanaryV0 :: ANCHOR_TIMES . first( ) . unwrap( ) . 1 ) ;
555+ }
537556}
0 commit comments