tendermint/consensus/priv_validator.go

31 lines
705 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 {
state.PrivAccount
db db_.DB
}
func NewPrivValidator(priv *state.PrivAccount, db db_.DB) *PrivValidator {
return &PrivValidator{*priv, db}
}
2014-10-07 23:11:04 -07:00
// Double signing results in a panic.
func (pv *PrivValidator) Sign(o Signable) {
switch o.(type) {
case *Proposal:
2014-10-18 01:42:33 -07:00
//TODO: prevent double signing && test.
2014-10-07 23:11:04 -07:00
pv.PrivAccount.Sign(o.(*Proposal))
case *Vote:
2014-10-18 01:42:33 -07:00
//TODO: prevent double signing && test.
2014-10-07 23:11:04 -07:00
pv.PrivAccount.Sign(o.(*Vote))
}
}