Documentation
¶
Index ¶
- Constants
- type DB
- func (db *DB) AddLog(logHash common.Hash, parentBlock eth.BlockID, logIdx uint32, ...) error
- func (db *DB) Clear(inv reads.Invalidator) error
- func (db *DB) Close() error
- func (db *DB) Contains(query types.ContainsQuery) (types.BlockSeal, error)
- func (db *DB) FindSealedBlock(number uint64) (seal types.BlockSeal, err error)
- func (db *DB) FirstSealedBlock() (seal types.BlockSeal, err error)
- func (db *DB) IsEmpty() bool
- func (db *DB) IteratorStartingAt(sealedNum uint64, logsSince uint32) (Iterator, error)
- func (db *DB) LatestSealedBlock() (id eth.BlockID, ok bool)
- func (db *DB) OpenBlock(blockNum uint64) (ref eth.BlockRef, logCount uint32, execMsgs map[uint32]*types.ExecutingMessage, ...)
- func (db *DB) Rewind(inv reads.Invalidator, newHead eth.BlockID) error
- func (db *DB) SealBlock(parentHash common.Hash, block eth.BlockID, timestamp uint64) error
- type Entry
- type EntryBinary
- type EntryObj
- type EntryType
- type EntryTypeFlag
- type Iterator
- type IteratorState
- type Metrics
Constants ¶
const EntrySize = 34
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DB ¶
type DB struct {
// contains filtered or unexported fields
}
DB implements an append only database for log data and cross-chain dependencies.
To keep the append-only format, reduce data size, and support reorg detection and registering of executing-messages:
Use a fixed 24 bytes per entry.
Data is an append-only log, that can be binary searched for any necessary event data.
func NewFromEntryStore ¶
func NewFromFile ¶
func (*DB) Clear ¶ added in v1.13.5
func (db *DB) Clear(inv reads.Invalidator) error
Clear clears the DB such that there is no data left. An invalidator is required as argument, to force users to invalidate any current open reads.
func (*DB) Contains ¶
Contains returns no error iff the specified logHash is recorded in the specified blockNum and logIdx. If the log is out of reach and the block is complete, an ErrConflict is returned. If the log is out of reach and the block is not complete, an ErrFuture is returned. If the log is determined to conflict with the canonical chain, then ErrConflict is returned. logIdx is the index of the log in the array of all logs in the block. This can be used to check the validity of cross-chain interop events. The block-seal of the blockNum block, that the log was included in, is returned. This seal may be fully zeroed, without error, if the block isn't fully known yet.
func (*DB) FindSealedBlock ¶ added in v1.9.3
FindSealedBlock finds the requested block, to check if it exists, returning the next index after it where things continue from. returns ErrFuture if the block is too new to be able to tell returns ErrDifferent if the known block does not match
func (*DB) FirstSealedBlock ¶ added in v1.13.4
FirstSealedBlock returns the first block seal in the DB, if any.
func (*DB) IteratorStartingAt ¶ added in v1.9.3
func (*DB) LatestSealedBlock ¶ added in v1.11.0
LatestSealedBlock returns the block ID of the block that was last sealed, or ok=false if there is no sealed block (i.e. empty DB)
func (*DB) OpenBlock ¶ added in v1.9.5
func (db *DB) OpenBlock(blockNum uint64) (ref eth.BlockRef, logCount uint32, execMsgs map[uint32]*types.ExecutingMessage, retErr error)
OpenBlock returns the Executing Messages for the block at the given number. it returns identification of the block, the parent block, and the executing messages.
type EntryBinary ¶ added in v1.9.5
type EntryBinary struct{}
func (EntryBinary) EntrySize ¶ added in v1.9.5
func (EntryBinary) EntrySize() int
type EntryObj ¶ added in v1.9.3
type EntryObj interface {
// contains filtered or unexported methods
}
type EntryTypeFlag ¶ added in v1.9.5
type EntryTypeFlag uint16
const ( FlagSearchCheckpoint EntryTypeFlag = 1 << TypeSearchCheckpoint FlagCanonicalHash EntryTypeFlag = 1 << TypeCanonicalHash FlagInitiatingEvent EntryTypeFlag = 1 << TypeInitiatingEvent FlagExecChainID EntryTypeFlag = 1 << TypeExecChainID FlagExecPosition EntryTypeFlag = 1 << TypeExecPosition FlagExecChecksum EntryTypeFlag = 1 << TypeExecChecksum FlagPadding EntryTypeFlag = 1 << TypePadding // for additional padding FlagPadding2 EntryTypeFlag = FlagPadding << 1 FlagPadding3 EntryTypeFlag = FlagPadding2 << 1 )
func (*EntryTypeFlag) Add ¶ added in v1.9.5
func (x *EntryTypeFlag) Add(v EntryTypeFlag)
func (EntryTypeFlag) Any ¶ added in v1.9.5
func (x EntryTypeFlag) Any(v EntryTypeFlag) bool
func (*EntryTypeFlag) Remove ¶ added in v1.9.5
func (x *EntryTypeFlag) Remove(v EntryTypeFlag)
func (EntryTypeFlag) String ¶ added in v1.9.5
func (x EntryTypeFlag) String() string