package state import ( . "github.com/tendermint/tendermint/binary" . "github.com/tendermint/tendermint/blocks" "io" ) // NOTE: consensus/Validator embeds this, so.. type Account struct { Id uint64 // Numeric id of account, incrementing. PubKey []byte } func ReadAccount(r io.Reader, n *int64, err *error) *Account { return &Account{ Id: ReadUInt64(r, n, err), PubKey: ReadByteSlice(r, n, err), } } func (self *Account) Verify(msg []byte, sig []byte) bool { return false } //----------------------------------------------------------------------------- type PrivAccount struct { Account PrivKey []byte } func (self *PrivAccount) Sign(msg []byte) Signature { return Signature{} } /* // Signs the URI, which includes all data and metadata. // XXX implement or change func (bp *BlockPart) Sign(acc *PrivAccount) { // TODO: populate Signature } // XXX maybe change. func (bp *BlockPart) ValidateWithSigner(signer *Account) error { // TODO: Sanity check height, index, total, bytes, etc. if !signer.Verify([]byte(bp.URI()), bp.Signature.Bytes) { return ErrInvalidBlockPartSignature } return nil } */