+++ /dev/null
-package protocol
-
-import (
- "github.com/vapor/database/storage"
- "github.com/vapor/protocol/bc"
- "github.com/vapor/protocol/bc/types"
- "github.com/vapor/protocol/state"
-)
-
-// Store provides storage interface for blockchain data
-type Store interface {
- BlockExist(*bc.Hash) bool
-
- GetBlock(*bc.Hash) (*types.Block, error)
- GetStoreStatus() *BlockStoreState
- GetTransactionStatus(*bc.Hash) (*bc.TransactionStatus, error)
- GetTransactionsUtxo(*state.UtxoViewpoint, []*bc.Tx) error
- GetUtxo(*bc.Hash) (*storage.UtxoEntry, error)
-
- LoadBlockIndex(uint64) (*state.BlockIndex, error)
- SaveBlock(*types.Block, *bc.TransactionStatus) error
- SaveChainStatus(*state.BlockNode, *state.UtxoViewpoint) error
-
- IsWithdrawSpent(hash *bc.Hash) bool
- SetWithdrawSpent(hash *bc.Hash)
-
- Set(hash *bc.Hash, data []byte) error
- Get(hash *bc.Hash) ([]byte, error)
-}
-
-// BlockStoreState represents the core's db status
-type BlockStoreState struct {
- Height uint64
- Hash *bc.Hash
-}