From 823cd1e6efdda7cab72ab56128308143cfd8c3f9 Mon Sep 17 00:00:00 2001 From: AnilChinchawale Date: Tue, 6 Nov 2018 18:16:36 +0530 Subject: [PATCH] trim m2 set to fit m1 set --- contracts/utils.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/contracts/utils.go b/contracts/utils.go index 986a9ff81b..eff4156077 100644 --- a/contracts/utils.go +++ b/contracts/utils.go @@ -564,10 +564,12 @@ func GetM1M2FromCheckpointBlock(checkpointBlock *types.Block) (map[common.Addres validators := ExtractValidatorsFromBytes(checkpointBlock.Header().Validators) if len(validators) < len(masternodes) { - return nil, errors.New("Len(m2) is less than len(m1)") + return nil, errors.New("len(m2) is less than len(m1)") } - for i, m1 := range masternodes { - m1m2[m1] = masternodes[validators[i]] + if len(masternodes) > 0 { + for i, m1 := range masternodes { + m1m2[m1] = masternodes[validators[i]%int64(len(masternodes))] + } } return m1m2, nil } \ No newline at end of file