tendermint/consensus/priv_validator.go

30 lines
881 B
Go
Raw Normal View History

package consensus
import (
. "github.com/tendermint/tendermint/blocks"
db_ "github.com/tendermint/tendermint/db"
. "github.com/tendermint/tendermint/state"
)
//-----------------------------------------------------------------------------
type PrivValidator struct {
PrivAccount
db *db_.LevelDB
}
2014-09-14 15:37:32 -07:00
// Double signing results in an error.
func (pv *PrivValidator) SignProposal(proposal *Proposal) {
//TODO: prevent double signing.
2014-09-14 15:37:32 -07:00
doc := GenProposalDocument(proposal.Height, proposal.Round, proposal.BlockPartsTotal,
proposal.BlockPartsHash, proposal.POLPartsTotal, proposal.POLPartsHash)
proposal.Signature = pv.Sign([]byte(doc))
}
// Double signing results in an error.
2014-09-14 15:37:32 -07:00
func (pv *PrivValidator) SignVote(vote *Vote) {
//TODO: prevent double signing.
2014-09-14 15:37:32 -07:00
doc := GenVoteDocument(vote.Type, vote.Height, vote.Round, vote.BlockHash)
vote.Signature = pv.Sign([]byte(doc))
}