github.com/evdatsion/aphelion-dpos-bft@v0.32.1/types/test_util.go (about) 1 package types 2 3 import ( 4 tmtime "github.com/evdatsion/aphelion-dpos-bft/types/time" 5 ) 6 7 func MakeCommit(blockID BlockID, height int64, round int, 8 voteSet *VoteSet, 9 validators []PrivValidator) (*Commit, error) { 10 11 // all sign 12 for i := 0; i < len(validators); i++ { 13 addr := validators[i].GetPubKey().Address() 14 vote := &Vote{ 15 ValidatorAddress: addr, 16 ValidatorIndex: i, 17 Height: height, 18 Round: round, 19 Type: PrecommitType, 20 BlockID: blockID, 21 Timestamp: tmtime.Now(), 22 } 23 24 _, err := signAddVote(validators[i], vote, voteSet) 25 if err != nil { 26 return nil, err 27 } 28 } 29 30 return voteSet.MakeCommit(), nil 31 } 32 33 func signAddVote(privVal PrivValidator, vote *Vote, voteSet *VoteSet) (signed bool, err error) { 34 err = privVal.SignVote(voteSet.ChainID(), vote) 35 if err != nil { 36 return false, err 37 } 38 return voteSet.AddVote(vote) 39 }