diff options
author | Meng-Ying Yang <garfield@dexon.org> | 2018-12-29 20:56:27 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 21:32:55 +0800 |
commit | 9440dfb1aae9d4fd068af8d4c11b5aba8d53c7da (patch) | |
tree | 416ce96c05d8c2c4540018910188a18f586c85b5 /indexer/blockhain.go | |
parent | 46a59106b73e122c6df984faee18a2f12591840e (diff) | |
download | dexon-9440dfb1aae9d4fd068af8d4c11b5aba8d53c7da.tar dexon-9440dfb1aae9d4fd068af8d4c11b5aba8d53c7da.tar.gz dexon-9440dfb1aae9d4fd068af8d4c11b5aba8d53c7da.tar.bz2 dexon-9440dfb1aae9d4fd068af8d4c11b5aba8d53c7da.tar.lz dexon-9440dfb1aae9d4fd068af8d4c11b5aba8d53c7da.tar.xz dexon-9440dfb1aae9d4fd068af8d4c11b5aba8d53c7da.tar.zst dexon-9440dfb1aae9d4fd068af8d4c11b5aba8d53c7da.zip |
indexer: ReadOnlyBlockChain returns related configs (#110)
For restoring mock componenets (such as: VM, Backend, ...etc),
blockchain related configs should be exposed.
Diffstat (limited to 'indexer/blockhain.go')
-rw-r--r-- | indexer/blockhain.go | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/indexer/blockhain.go b/indexer/blockhain.go deleted file mode 100644 index bf9a180ce..000000000 --- a/indexer/blockhain.go +++ /dev/null @@ -1,85 +0,0 @@ -package indexer - -import ( - "math/big" - - coreCommon "github.com/dexon-foundation/dexon-consensus/common" - coreTypes "github.com/dexon-foundation/dexon-consensus/core/types" - - "github.com/dexon-foundation/dexon/common" - "github.com/dexon-foundation/dexon/core" - "github.com/dexon-foundation/dexon/core/state" - "github.com/dexon-foundation/dexon/core/types" - "github.com/dexon-foundation/dexon/event" - "github.com/dexon-foundation/dexon/rlp" -) - -// ReadOnlyBlockChain defines safe reading blockchain interface by removing write -// methods of core.BlockChain struct. -type ReadOnlyBlockChain interface { - BadBlocks() []*types.Block - CurrentBlock() *types.Block - CurrentFastBlock() *types.Block - CurrentHeader() *types.Header - GasLimit() uint64 - Genesis() *types.Block - GetAncestor(common.Hash, uint64, uint64, *uint64) (common.Hash, uint64) - GetAddressInfo(uint32, common.Address) ( - info struct { - Nonce uint64 - Cost *big.Int - Counter uint64 - }) - GetBlock(common.Hash, uint64) *types.Block - GetBlockByHash(common.Hash) *types.Block - GetBlockByNumber(uint64) *types.Block - GetBlockHashesFromHash(common.Hash, uint64) []common.Hash - GetBlocksFromHash(common.Hash, int) (blocks []*types.Block) - GetBody(common.Hash) *types.Body - GetBodyRLP(common.Hash) rlp.RawValue - GetChainLastConfirmedHeight(uint32) uint64 - GetConfirmedBlockByHash(uint32, coreCommon.Hash) (*coreTypes.Block, types.Transactions) - GetCostInConfirmedBlocks(uint32, common.Address) (*big.Int, bool) - GetGovStateByHash(common.Hash) (*types.GovState, error) - GetGovStateByNumber(uint64) (*types.GovState, error) - GetHeader(common.Hash, uint64) *types.Header - GetHeaderByHash(common.Hash) *types.Header - GetHeaderByNumber(number uint64) *types.Header - GetLastNonceInConfirmedBlocks(uint32, common.Address) (uint64, bool) - GetPending() (*types.Block, *state.StateDB) - GetPendingBlockByNumber(uint64) *types.Block - GetPendingHeight() uint64 - GetReceiptsByHash(common.Hash) types.Receipts - GetRoundHeight(uint64) (uint64, bool) - GetTd(common.Hash, uint64) *big.Int - GetTdByHash(common.Hash) *big.Int - GetUnclesInChain(*types.Block, int) []*types.Header - HasBlock(common.Hash, uint64) bool - HasBlockAndState(common.Hash, uint64) bool - HasHeader(common.Hash, uint64) bool - HasState(common.Hash) bool - PendingBlock() *types.Block - State() (*state.StateDB, error) - StateAt(root common.Hash) (*state.StateDB, error) - SubscribeBlockConfirmedEvent(chan<- core.BlockConfirmedEvent) event.Subscription - SubscribeChainEvent(chan<- core.ChainEvent) event.Subscription - SubscribeChainHeadEvent(chan<- core.ChainHeadEvent) event.Subscription - SubscribeChainSideEvent(chan<- core.ChainSideEvent) event.Subscription - SubscribeLogsEvent(chan<- []*types.Log) event.Subscription - SubscribeRemovedLogsEvent(chan<- core.RemovedLogsEvent) event.Subscription -} - -// access protection -type ro interface { - ReadOnlyBlockChain -} - -// ROBlockChain struct for safe read. -type ROBlockChain struct { - ro -} - -// NewROBlockChain converts original block chain to readonly interface. -func NewROBlockChain(bc *core.BlockChain) ReadOnlyBlockChain { - return &ROBlockChain{ro: bc} -} |