+++ /dev/null
-package consensus
-
-import (
- "github.com/vapor/chain"
- "github.com/vapor/common"
- "github.com/vapor/protocol/bc"
- "github.com/vapor/protocol/bc/types"
-)
-
-type AddressBalance struct {
- Address string
- Balance int64
-}
-
-type DelegateInterface interface {
- ConsensusName() string
-}
-
-// Engine is an algorithm agnostic consensus engine.
-type Engine interface {
- Init(c chain.Chain, delegateNumber, intervalTime, blockHeight uint64, blockHash bc.Hash) error
- Finish() error
- IsMining(address common.Address, t uint64) (interface{}, error)
- ProcessRegister(delegateAddress string, delegateName string, hash bc.Hash, height uint64) bool
- ProcessVote(voterAddress string, delegates []string, hash bc.Hash, height uint64) bool
- ProcessCancelVote(voterAddress string, delegates []string, hash bc.Hash, height uint64) bool
- UpdateAddressBalance(addressBalance []AddressBalance)
- CheckBlockHeader(header types.BlockHeader) error
- CheckBlock(block types.Block, fIsCheckDelegateInfo bool) error
- IsValidBlockCheckIrreversibleBlock(height uint64, hash bc.Hash) error
- GetOldBlockHeight() uint64
- GetOldBlockHash() bc.Hash
-}