@@ -389,16 +389,24 @@ func (app *HeimdallApp) PreBlocker(ctx sdk.Context, req *abci.RequestFinalizeBlo
389
389
}
390
390
391
391
var lastEndBlock * uint64 = nil
392
+ var lastEndHash []byte
392
393
if hasMilestone {
393
394
lastMilestone , err := app .MilestoneKeeper .GetLastMilestone (ctx )
394
395
if err != nil {
395
396
logger .Error ("Error occurred while fetching the last milestone" , "error" , err )
396
397
return nil , err
397
398
}
398
399
lastEndBlock = & lastMilestone .EndBlock
400
+ lastEndHash = lastMilestone .Hash
399
401
}
400
402
401
- majorityMilestone , aggregatedProposers , proposer , err := milestoneAbci .GetMajorityMilestoneProposition (validatorSet , extVoteInfo , logger , lastEndBlock )
403
+ majorityMilestone , aggregatedProposers , proposer , err := milestoneAbci .GetMajorityMilestoneProposition (
404
+ validatorSet ,
405
+ extVoteInfo ,
406
+ logger ,
407
+ lastEndBlock ,
408
+ lastEndHash ,
409
+ )
402
410
if err != nil {
403
411
logger .Error ("Error occurred while getting majority milestone proposition" , "error" , err )
404
412
return nil , err
@@ -423,24 +431,18 @@ func (app *HeimdallApp) PreBlocker(ctx sdk.Context, req *abci.RequestFinalizeBlo
423
431
424
432
addMilestoneCtx , msCache := app .cacheTxContext (ctx )
425
433
426
- if lastEndBlock != nil {
427
- * lastEndBlock += 1
428
- } else {
429
- lastEndBlock = new (uint64 )
430
- }
431
-
432
434
logger .Debug ("Adding milestone" , "hashes" ,
433
435
strutil .HashesToString (majorityMilestone .BlockHashes ),
434
436
"startBlock" , majorityMilestone .StartBlockNumber ,
435
- "endBlock" , * lastEndBlock ,
437
+ "endBlock" , majorityMilestone . StartBlockNumber + uint64 ( len ( majorityMilestone . BlockHashes ) - 1 ) ,
436
438
"proposer" , proposer ,
437
439
)
438
440
439
441
if err := app .MilestoneKeeper .AddMilestone (addMilestoneCtx , milestoneTypes.Milestone {
440
442
Proposer : proposer ,
441
443
Hash : majorityMilestone .BlockHashes [len (majorityMilestone .BlockHashes )- 1 ],
442
444
StartBlock : majorityMilestone .StartBlockNumber ,
443
- EndBlock : * lastEndBlock ,
445
+ EndBlock : majorityMilestone . StartBlockNumber + uint64 ( len ( majorityMilestone . BlockHashes ) - 1 ) ,
444
446
BorChainId : params .ChainParams .BorChainId ,
445
447
MilestoneId : common .Bytes2Hex (aggregatedProposers ),
446
448
Timestamp : uint64 (ctx .BlockHeader ().Time .Unix ()),
0 commit comments