@@ -1014,6 +1014,8 @@ impl ConsensusExecutionHandler {
10141014 self . data_man
10151015 . insert_hash_by_block_number ( block_number, hash) ;
10161016 }
1017+ let end_block_number =
1018+ start_block_number + epoch_block_hashes. len ( ) as u64 - 1 ;
10171019
10181020 let pivot_block_header = self
10191021 . data_man
@@ -1071,13 +1073,10 @@ impl ConsensusExecutionHandler {
10711073 // program may restart by itself.
10721074 . expect ( "Can not handle db error in consensus, crashing." ) ;
10731075
1074- let current_block_number =
1075- start_block_number + epoch_receipts. len ( ) as u64 - 1 ;
1076-
10771076 if let Some ( reward_execution_info) = reward_execution_info {
10781077 let spec = self
10791078 . machine
1080- . spec ( current_block_number , pivot_block. block_header . height ( ) ) ;
1079+ . spec ( end_block_number , pivot_block. block_header . height ( ) ) ;
10811080 // Calculate the block reward for blocks inside the epoch
10821081 // All transaction fees are shared among blocks inside one epoch
10831082 self . process_rewards_and_fees (
@@ -1092,8 +1091,8 @@ impl ConsensusExecutionHandler {
10921091
10931092 self . process_pos_interest (
10941093 & mut state,
1095- pivot_block,
1096- current_block_number ,
1094+ & pivot_block. block_header ,
1095+ end_block_number ,
10971096 )
10981097 . expect ( "db error" ) ;
10991098
@@ -1162,23 +1161,22 @@ impl ConsensusExecutionHandler {
11621161 }
11631162
11641163 fn process_pos_interest (
1165- & self , state : & mut State , pivot_block : & Block ,
1164+ & self , state : & mut State , pivot_header : & BlockHeader ,
11661165 current_block_number : u64 ,
11671166 ) -> DbResult < ( ) > {
11681167 // TODO(peilun): Specify if we unlock before or after executing the
11691168 // transactions.
11701169 let maybe_parent_pos_ref = self
11711170 . data_man
1172- . block_header_by_hash ( & pivot_block . block_header . parent_hash ( ) ) // `None` only for genesis.
1171+ . block_header_by_hash ( & pivot_header . parent_hash ( ) ) // `None` only for genesis.
11731172 . and_then ( |parent| parent. pos_reference ( ) . clone ( ) ) ;
11741173 if self
11751174 . pos_verifier
1176- . is_enabled_at_height ( pivot_block . block_header . height ( ) )
1175+ . is_enabled_at_height ( pivot_header . height ( ) )
11771176 && maybe_parent_pos_ref. is_some ( )
1178- && * pivot_block . block_header . pos_reference ( ) != maybe_parent_pos_ref
1177+ && * pivot_header . pos_reference ( ) != maybe_parent_pos_ref
11791178 {
1180- let current_pos_ref = pivot_block
1181- . block_header
1179+ let current_pos_ref = pivot_header
11821180 . pos_reference ( )
11831181 . as_ref ( )
11841182 . expect ( "checked before sync graph insertion" ) ;
@@ -1208,7 +1206,7 @@ impl ConsensusExecutionHandler {
12081206 ) ?;
12091207 self . data_man . insert_pos_reward (
12101208 * pos_epoch,
1211- & PosRewardInfo :: new ( account_rewards, pivot_block . hash ( ) ) ,
1209+ & PosRewardInfo :: new ( account_rewards, pivot_header . hash ( ) ) ,
12121210 )
12131211 }
12141212 }
0 commit comments