From 56f8ecf1c56dced15817dcb7aedc0d5dff7b7f72 Mon Sep 17 00:00:00 2001 From: miiu Date: Fri, 23 May 2025 10:12:48 +0300 Subject: [PATCH] fix leader index --- process/elasticproc/block/blockProcessor.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/process/elasticproc/block/blockProcessor.go b/process/elasticproc/block/blockProcessor.go index 5b9cbb93..a1541029 100644 --- a/process/elasticproc/block/blockProcessor.go +++ b/process/elasticproc/block/blockProcessor.go @@ -90,7 +90,7 @@ func (bp *blockProcessor) PrepareBlockForDB(obh *outport.OutportBlockWithHeader) Hash: hex.EncodeToString(obh.BlockData.HeaderHash), MiniBlocksHashes: miniblocksHashes, NotarizedBlocksHashes: obh.NotarizedHeadersHashes, - Proposer: obh.LeaderIndex, + Proposer: getLeaderIndex(obh), ProposerBlsKey: hex.EncodeToString(obh.LeaderBLSKey), Validators: obh.SignersIndexes, PubKeyBitmap: hex.EncodeToString(obh.Header.GetPubKeysBitmap()), @@ -142,6 +142,18 @@ func (bp *blockProcessor) PrepareBlockForDB(obh *outport.OutportBlockWithHeader) return elasticBlock, nil } +func getLeaderIndex(obh *outport.OutportBlockWithHeader) uint64 { + if obh.BlockData.HeaderProof != nil { + return obh.LeaderIndex + } + + if len(obh.SignersIndexes) > 0 { + return obh.SignersIndexes[0] + } + + return 0 +} + func addProofs(elasticBlock *data.Block, obh *outport.OutportBlockWithHeader) { if obh.BlockData.HeaderProof != nil { elasticBlock.Proof = proofToAPIProof(obh.BlockData.HeaderProof)