From 6d7cfe14d89e2e4df86cc18dc90785655f43b8dd Mon Sep 17 00:00:00 2001 From: Tuna Date: Tue, 9 Oct 2018 15:36:41 +0700 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 5f6bc589c5..6046baed85 100644 --- a/contracts/utils.go +++ b/contracts/utils.go @@ -579,10 +579,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 }