package chain import ( "github.com/vapor/protocol/bc" "github.com/vapor/protocol/bc/types" ) // Chain is the interface for Bytom core type Chain interface { BestBlockHeader() *types.BlockHeader BestBlockHeight() uint64 CalcNextSeed(*bc.Hash) (*bc.Hash, error) GetBlockByHash(*bc.Hash) (*types.Block, error) GetBlockByHeight(uint64) (*types.Block, error) GetHeaderByHash(*bc.Hash) (*types.BlockHeader, error) GetHeaderByHeight(uint64) (*types.BlockHeader, error) GetTransactionStatus(*bc.Hash) (*bc.TransactionStatus, error) InMainChain(bc.Hash) bool ProcessBlock(*types.Block) (bool, error) ValidateTx(*types.Tx) (bool, error) }