26 lines
782 B
Go
26 lines
782 B
Go
|
package database
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
|
||
|
"github.com/Secured-Finance/dione/blockchain/types"
|
||
|
types2 "github.com/Secured-Finance/dione/blockchain/types"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
ErrBlockNotFound = errors.New("block isn't found")
|
||
|
ErrLatestHeightNil = errors.New("latest block height is nil")
|
||
|
)
|
||
|
|
||
|
type Database interface {
|
||
|
StoreBlock(block *types.Block) error
|
||
|
HasBlock(blockhash []byte) (bool, error)
|
||
|
FetchBlockData(blockHash []byte) ([]*types2.Transaction, error)
|
||
|
FetchBlockHeader(blockHash []byte) (*types2.BlockHeader, error)
|
||
|
FetchBlock(blockHash []byte) (*types2.Block, error)
|
||
|
FetchBlockByHeight(height uint64) (*types2.Block, error)
|
||
|
FetchBlockHeaderByHeight(height uint64) (*types2.BlockHeader, error)
|
||
|
GetLatestBlockHeight() (uint64, error)
|
||
|
SetLatestBlockHeight(height uint64) error
|
||
|
}
|