Documentation ¶
Index ¶
- func BodiesForward(s *StageState, ctx context.Context, db ethdb.Database, ...) error
- func HeadersForward(s *StageState, u Unwinder, ctx context.Context, db ethdb.Database, ...) error
- func HeadersUnwind(u *UnwindState, s *StageState, db ethdb.Database) error
- func InsertBlockInStages(db ethdb.Database, config *params.ChainConfig, vmConfig *vm.Config, ...) (bool, error)
- func InsertBlocksInStages(db ethdb.Database, storageMode ethdb.StorageMode, config *params.ChainConfig, ...) (bool, error)
- func InsertHeaderChain(logPrefix string, db ethdb.Database, headers []*types.Header) (bool, bool, uint64, error)
- func InsertHeadersInStages(db ethdb.Database, config *params.ChainConfig, engine consensus.Engine, ...) (bool, bool, uint64, error)
- func NotifyRpcDaemon(from, to uint64, notifier ChainEventNotifier, db ethdb.Database) error
- func PromoteHashedStateCleanly(logPrefix string, db ethdb.Database, tmpdir string, quit <-chan struct{}) error
- func RegenerateIntermediateHashes(logPrefix string, db ethdb.Database, checkRoot bool, cache *shards.StateCache, ...) error
- func ResetHashState(db ethdb.Database) error
- func ResetIH(db ethdb.Database) error
- func SetHead(db ethdb.Database, config *params.ChainConfig, vmConfig *vm.Config, ...) error
- func SpawnAccountHistoryIndex(s *StageState, db ethdb.Database, tmpdir string, quitCh <-chan struct{}) error
- func SpawnBlockHashStage(s *StageState, db ethdb.Database, tmpdir string, quit <-chan struct{}) error
- func SpawnCallTraces(s *StageState, db ethdb.Database, chainConfig *params.ChainConfig, ...) error
- func SpawnExecuteBlocksStage(s *StageState, stateDB ethdb.Database, chainConfig *params.ChainConfig, ...) error
- func SpawnHashStateStage(s *StageState, db ethdb.Database, cache *shards.StateCache, tmpdir string, ...) error
- func SpawnHeaderDownloadStage(s *StageState, u Unwinder, d DownloaderGlue, headersFetchers []func() error) error
- func SpawnIntermediateHashesStage(s *StageState, db ethdb.Database, checkRoot bool, cache *shards.StateCache, ...) error
- func SpawnLogIndex(s *StageState, db ethdb.Database, tmpdir string, quit <-chan struct{}) error
- func SpawnRecoverSendersStage(cfg Stage3Config, s *StageState, db ethdb.Database, config *params.ChainConfig, ...) error
- func SpawnStorageHistoryIndex(s *StageState, db ethdb.Database, tmpdir string, quitCh <-chan struct{}) error
- func SpawnTxLookup(s *StageState, db ethdb.Database, tmpdir string, quitCh <-chan struct{}) error
- func TxLookupTransform(logPrefix string, db ethdb.Database, startKey, endKey []byte, ...) error
- func UnwindAccountHistoryIndex(u *UnwindState, s *StageState, db ethdb.Database, quitCh <-chan struct{}) error
- func UnwindCallTraces(u *UnwindState, s *StageState, db ethdb.Database, ...) error
- func UnwindExecutionStage(u *UnwindState, s *StageState, stateDB ethdb.Database, quit <-chan struct{}, ...) error
- func UnwindHashStateStage(u *UnwindState, s *StageState, db ethdb.Database, cache *shards.StateCache, ...) error
- func UnwindIntermediateHashesStage(u *UnwindState, s *StageState, db ethdb.Database, cache *shards.StateCache, ...) error
- func UnwindLogIndex(u *UnwindState, s *StageState, db ethdb.Database, quitCh <-chan struct{}) error
- func UnwindSendersStage(u *UnwindState, s *StageState, stateDB ethdb.Database) error
- func UnwindStorageHistoryIndex(u *UnwindState, s *StageState, db ethdb.Database, quitCh <-chan struct{}) error
- func UnwindTxLookup(u *UnwindState, s *StageState, db ethdb.Database, tmpdir string, ...) error
- func VerifyHeaders(db ethdb.Database, headers []*types.Header, config *params.ChainConfig, ...) error
- type CallTracer
- func (ct *CallTracer) CaptureAccountRead(account common.Address) error
- func (ct *CallTracer) CaptureAccountWrite(account common.Address) error
- func (ct *CallTracer) CaptureEnd(depth int, output []byte, gasUsed uint64, t time.Duration, err error) error
- func (ct *CallTracer) CaptureFault(env *vm.EVM, pc uint64, op vm.OpCode, gas, cost uint64, memory *vm.Memory, ...) error
- func (ct *CallTracer) CaptureSelfDestruct(from common.Address, to common.Address, value *big.Int)
- func (ct *CallTracer) CaptureStart(depth int, from common.Address, to common.Address, precompile bool, ...) error
- func (ct *CallTracer) CaptureState(env *vm.EVM, pc uint64, op vm.OpCode, gas, cost uint64, memory *vm.Memory, ...) error
- type CallTracesStageParams
- type ChainEventNotifier
- type ChainReader
- func (cr ChainReader) Config() *params.ChainConfig
- func (cr ChainReader) CurrentHeader() *types.Header
- func (cr ChainReader) GetBlock(hash common.Hash, number uint64) *types.Block
- func (cr ChainReader) GetHeader(hash common.Hash, number uint64) *types.Header
- func (cr ChainReader) GetHeaderByHash(hash common.Hash) *types.Header
- func (cr ChainReader) GetHeaderByNumber(number uint64) *types.Header
- type ChangeSetHook
- type DownloaderGlue
- type ExecFunc
- type ExecuteBlockStageParams
- type HasChangeSetWriter
- type HashPromoter
- type OldestAppearedLoad
- type OptionalParameters
- type PersistentUnwindStack
- func (s *PersistentUnwindStack) Add(u UnwindState, db ethdb.GetterPutter) error
- func (s *PersistentUnwindStack) AddFromDB(db ethdb.Getter, stageID stages.SyncStage) error
- func (s *PersistentUnwindStack) Empty() bool
- func (s *PersistentUnwindStack) LoadFromDB(db ethdb.Getter, stageID stages.SyncStage) (*UnwindState, error)
- func (s *PersistentUnwindStack) Pop() *UnwindState
- type PrefetchedBlocks
- type Promoter
- type Stage
- type Stage3Config
- type StageBuilder
- type StageBuilders
- type StageParameters
- type StageState
- type StagedSync
- type State
- func (s *State) BeforeStageRun(id stages.SyncStage, f func() error)
- func (s *State) BeforeStageUnwind(id stages.SyncStage, f func() error)
- func (s *State) CurrentStage() (uint, *Stage)
- func (s *State) DisableAllStages()
- func (s *State) DisableStages(ids ...stages.SyncStage)
- func (s *State) EnableStages(ids ...stages.SyncStage)
- func (s *State) GetLocalHeight(db ethdb.Getter) (uint64, error)
- func (s *State) IsAfter(stage1, stage2 stages.SyncStage) bool
- func (s *State) IsBefore(stage1, stage2 stages.SyncStage) bool
- func (s *State) IsDone() bool
- func (s *State) Len() int
- func (s *State) LoadUnwindInfo(db ethdb.Getter) error
- func (s *State) LogPrefix() string
- func (s *State) MockExecFunc(id stages.SyncStage, f ExecFunc)
- func (s *State) NextStage()
- func (s *State) OnBeforeUnwind(f func(id stages.SyncStage) error)
- func (s *State) Run(db ethdb.GetterPutter, tx ethdb.GetterPutter) error
- func (s *State) SetCurrentStage(id stages.SyncStage) error
- func (s *State) StageByID(id stages.SyncStage) (*Stage, error)
- func (s *State) StageState(stage stages.SyncStage, db ethdb.Getter) (*StageState, error)
- func (s *State) UnwindStage(unwind *UnwindState, db ethdb.GetterPutter, tx ethdb.GetterPutter) error
- func (s *State) UnwindTo(blockNumber uint64, db ethdb.Database) error
- type StateReaderBuilder
- type StateWriterBuilder
- type UnwindFunc
- type UnwindOrder
- type UnwindState
- type Unwinder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BodiesForward ¶
func BodiesForward( s *StageState, ctx context.Context, db ethdb.Database, bd *bodydownload.BodyDownload, bodyReqSend func(context.Context, *bodydownload.BodyRequest) []byte, penalise func(context.Context, []byte), updateHead func(ctx context.Context, head uint64, hash common.Hash, td *big.Int), wakeUpChan chan struct{}, timeout int) error
BodiesForward progresses Bodies stage in the forward direction
func HeadersForward ¶
func HeadersForward(s *StageState, u Unwinder, ctx context.Context, db ethdb.Database, hd *headerdownload.HeaderDownload) error
HeadersForward progresses Headers stage in the forward direction
func HeadersUnwind ¶
func HeadersUnwind(u *UnwindState, s *StageState, db ethdb.Database) error
func InsertBlockInStages ¶
func InsertBlocksInStages ¶
func InsertHeaderChain ¶
func InsertHeadersInStages ¶
func NotifyRpcDaemon ¶
func NotifyRpcDaemon(from, to uint64, notifier ChainEventNotifier, db ethdb.Database) error
func ResetHashState ¶
func SetHead ¶
func SetHead(db ethdb.Database, config *params.ChainConfig, vmConfig *vm.Config, engine consensus.Engine, newHead uint64, checkRoot bool) error
Emulates the effect of blockchain.SetHead() in go-ethereum
func SpawnAccountHistoryIndex ¶
func SpawnAccountHistoryIndex(s *StageState, db ethdb.Database, tmpdir string, quitCh <-chan struct{}) error
func SpawnBlockHashStage ¶
func SpawnBlockHashStage(s *StageState, db ethdb.Database, tmpdir string, quit <-chan struct{}) error
func SpawnCallTraces ¶
func SpawnCallTraces(s *StageState, db ethdb.Database, chainConfig *params.ChainConfig, chainContext core.ChainContext, tmpdir string, quit <-chan struct{}, params CallTracesStageParams) error
func SpawnExecuteBlocksStage ¶
func SpawnExecuteBlocksStage(s *StageState, stateDB ethdb.Database, chainConfig *params.ChainConfig, chainContext *core.TinyChainContext, vmConfig *vm.Config, quit <-chan struct{}, params ExecuteBlockStageParams) error
func SpawnHashStateStage ¶
func SpawnHashStateStage(s *StageState, db ethdb.Database, cache *shards.StateCache, tmpdir string, quit <-chan struct{}) error
func SpawnHeaderDownloadStage ¶
func SpawnHeaderDownloadStage(s *StageState, u Unwinder, d DownloaderGlue, headersFetchers []func() error) error
func SpawnIntermediateHashesStage ¶
func SpawnIntermediateHashesStage(s *StageState, db ethdb.Database, checkRoot bool, cache *shards.StateCache, tmpdir string, quit <-chan struct{}) error
func SpawnLogIndex ¶
func SpawnLogIndex(s *StageState, db ethdb.Database, tmpdir string, quit <-chan struct{}) error
func SpawnRecoverSendersStage ¶
func SpawnRecoverSendersStage(cfg Stage3Config, s *StageState, db ethdb.Database, config *params.ChainConfig, toBlock uint64, tmpdir string, quitCh <-chan struct{}) error
func SpawnStorageHistoryIndex ¶
func SpawnStorageHistoryIndex(s *StageState, db ethdb.Database, tmpdir string, quitCh <-chan struct{}) error
func SpawnTxLookup ¶
func SpawnTxLookup(s *StageState, db ethdb.Database, tmpdir string, quitCh <-chan struct{}) error
func TxLookupTransform ¶
func UnwindAccountHistoryIndex ¶
func UnwindAccountHistoryIndex(u *UnwindState, s *StageState, db ethdb.Database, quitCh <-chan struct{}) error
func UnwindCallTraces ¶
func UnwindCallTraces(u *UnwindState, s *StageState, db ethdb.Database, chainConfig *params.ChainConfig, chainContext core.ChainContext, quitCh <-chan struct{}, params CallTracesStageParams) error
func UnwindExecutionStage ¶
func UnwindExecutionStage(u *UnwindState, s *StageState, stateDB ethdb.Database, quit <-chan struct{}, params ExecuteBlockStageParams) error
func UnwindHashStateStage ¶
func UnwindHashStateStage(u *UnwindState, s *StageState, db ethdb.Database, cache *shards.StateCache, tmpdir string, quit <-chan struct{}) error
func UnwindIntermediateHashesStage ¶
func UnwindIntermediateHashesStage(u *UnwindState, s *StageState, db ethdb.Database, cache *shards.StateCache, tmpdir string, quit <-chan struct{}) error
func UnwindLogIndex ¶
func UnwindLogIndex(u *UnwindState, s *StageState, db ethdb.Database, quitCh <-chan struct{}) error
func UnwindSendersStage ¶
func UnwindSendersStage(u *UnwindState, s *StageState, stateDB ethdb.Database) error
func UnwindStorageHistoryIndex ¶
func UnwindStorageHistoryIndex(u *UnwindState, s *StageState, db ethdb.Database, quitCh <-chan struct{}) error
func UnwindTxLookup ¶
func UnwindTxLookup(u *UnwindState, s *StageState, db ethdb.Database, tmpdir string, quitCh <-chan struct{}) error
Types ¶
type CallTracer ¶
type CallTracer struct {
// contains filtered or unexported fields
}
func NewCallTracer ¶
func NewCallTracer() *CallTracer
func (*CallTracer) CaptureAccountRead ¶
func (ct *CallTracer) CaptureAccountRead(account common.Address) error
func (*CallTracer) CaptureAccountWrite ¶
func (ct *CallTracer) CaptureAccountWrite(account common.Address) error
func (*CallTracer) CaptureEnd ¶
func (*CallTracer) CaptureFault ¶
func (*CallTracer) CaptureSelfDestruct ¶
func (*CallTracer) CaptureStart ¶
type CallTracesStageParams ¶
type CallTracesStageParams struct { ToBlock uint64 // not setting this params means no limit BatchSize datasize.ByteSize Cache *shards.StateCache }
type ChainEventNotifier ¶
type ChainReader ¶
type ChainReader struct {
// contains filtered or unexported fields
}
Implements consensus.ChainReader
func (ChainReader) Config ¶
func (cr ChainReader) Config() *params.ChainConfig
Config retrieves the blockchain's chain configuration.
func (ChainReader) CurrentHeader ¶
func (cr ChainReader) CurrentHeader() *types.Header
CurrentHeader retrieves the current header from the local chain.
func (ChainReader) GetHeader ¶
GetHeader retrieves a block header from the database by hash and number.
func (ChainReader) GetHeaderByHash ¶
func (cr ChainReader) GetHeaderByHash(hash common.Hash) *types.Header
GetHeaderByHash retrieves a block header from the database by its hash.
func (ChainReader) GetHeaderByNumber ¶
func (cr ChainReader) GetHeaderByNumber(number uint64) *types.Header
GetHeaderByNumber retrieves a block header from the database by number.
type ChangeSetHook ¶
type ChangeSetHook func(blockNum uint64, wr *state.ChangeSetWriter)
type DownloaderGlue ¶
type DownloaderGlue interface { SpawnHeaderDownloadStage([]func() error, *StageState, Unwinder) error SpawnBodyDownloadStage(string, string, *StageState, Unwinder, *PrefetchedBlocks) (bool, error) }
type ExecFunc ¶
type ExecFunc func(state *StageState, unwinder Unwinder) error
ExecFunc is the execution function for the stage to move forward. * state - is the current state of the stage and contains stage data. * unwinder - if the stage needs to cause unwinding, `unwinder` methods can be used.
type ExecuteBlockStageParams ¶
type ExecuteBlockStageParams struct { ToBlock uint64 // not setting this params means no limit WriteReceipts bool Cache *shards.StateCache BatchSize datasize.ByteSize ChangeSetHook ChangeSetHook ReaderBuilder StateReaderBuilder WriterBuilder StateWriterBuilder SilkwormExecutionFunc unsafe.Pointer }
type HasChangeSetWriter ¶
type HasChangeSetWriter interface {
ChangeSetWriter() *state.ChangeSetWriter
}
type HashPromoter ¶
type HashPromoter struct { ChangeSetBufSize uint64 TempDir string // contains filtered or unexported fields }
func NewHashPromoter ¶
func NewHashPromoter(db ethdb.Database, quitCh <-chan struct{}) *HashPromoter
func (*HashPromoter) Promote ¶
func (p *HashPromoter) Promote(logPrefix string, s *StageState, from, to uint64, storage bool, load etl.LoadFunc) error
func (*HashPromoter) Unwind ¶
func (p *HashPromoter) Unwind(logPrefix string, s *StageState, u *UnwindState, storage bool, load etl.LoadFunc) error
type OldestAppearedLoad ¶
type OldestAppearedLoad struct {
// contains filtered or unexported fields
}
func (*OldestAppearedLoad) LoadFunc ¶
func (l *OldestAppearedLoad) LoadFunc(k, v []byte, table etl.CurrentTableReader, next etl.LoadNextFunc) error
type OptionalParameters ¶
type OptionalParameters struct { // StateReaderBuilder is a function that returns state reader for the block execution stage. // It can be used to add someting like bloom filters to figure out non-existing accounts and similar experiments. StateReaderBuilder StateReaderBuilder // StateReaderBuilder is a function that returns state writer for the block execution stage. // It can be used to update bloom or other types of filters between block execution. StateWriterBuilder StateWriterBuilder // Notifier allows sending some data when new headers or new blocks are added Notifier ChainEventNotifier SilkwormExecutionFunc unsafe.Pointer }
OptionalParameters contains any non-necessary parateres you can specify to fine-tune and experiment on StagedSync.
type PersistentUnwindStack ¶
type PersistentUnwindStack struct {
// contains filtered or unexported fields
}
func NewPersistentUnwindStack ¶
func NewPersistentUnwindStack() *PersistentUnwindStack
func (*PersistentUnwindStack) Add ¶
func (s *PersistentUnwindStack) Add(u UnwindState, db ethdb.GetterPutter) error
func (*PersistentUnwindStack) Empty ¶
func (s *PersistentUnwindStack) Empty() bool
func (*PersistentUnwindStack) LoadFromDB ¶
func (s *PersistentUnwindStack) LoadFromDB(db ethdb.Getter, stageID stages.SyncStage) (*UnwindState, error)
func (*PersistentUnwindStack) Pop ¶
func (s *PersistentUnwindStack) Pop() *UnwindState
type PrefetchedBlocks ¶
type PrefetchedBlocks struct {
// contains filtered or unexported fields
}
func NewPrefetchedBlocks ¶
func NewPrefetchedBlocks() *PrefetchedBlocks
func (*PrefetchedBlocks) Add ¶
func (pb *PrefetchedBlocks) Add(b *types.Block)
type Promoter ¶
type Promoter struct { ChangeSetBufSize uint64 TempDir string // contains filtered or unexported fields }
func NewPromoter ¶
func NewPromoter(db ethdb.Database, cache *shards.StateCache, quitCh <-chan struct{}) *Promoter
func (*Promoter) Unwind ¶
func (p *Promoter) Unwind(logPrefix string, s *StageState, u *UnwindState, storage bool, codes bool) error
type Stage ¶
type Stage struct { // ID of the sync stage. Should not be empty and should be unique. It is recommended to prefix it with reverse domain to avoid clashes (`com.example.my-stage`). ID stages.SyncStage // Description is a string that is shown in the logs. Description string // Disabled defines if the stage is disabled. It sets up when the stage is build by its `StageBuilder`. Disabled bool // DisabledDescription shows in the log with a message if the stage is disabled. Here, you can show which command line flags should be provided to enable the page. DisabledDescription string // ExecFunc is called when the stage is executed. The main logic of the stage should be here. Should always end with `s.Done()` to allow going to the next stage. MUST NOT be nil! ExecFunc ExecFunc // UnwindFunc is called when the stage should be unwound. The unwind logic should be there. MUST NOT be nil! UnwindFunc UnwindFunc }
Stage is a single sync stage in staged sync.
type Stage3Config ¶
type StageBuilder ¶
type StageBuilder struct { // ID is the stage identifier. Should be unique. It is recommended to prefix it with reverse domain `com.example.my-stage` to avoid conflicts. ID stages.SyncStage // Build is a factory function that initializes the sync stage based on the `StageParameters` provided. Build func(StageParameters) *Stage }
StageBuilder represent an object to create a single stage for staged sync
type StageBuilders ¶
type StageBuilders []StageBuilder
StageBuilders represents an ordered list of builders to build different stages. It also contains helper methods to change the list of stages.
func DefaultStages ¶
func DefaultStages() StageBuilders
DefaultStages contains the list of default stage builders that are used by turbo-geth.
func (StageBuilders) Build ¶
func (bb StageBuilders) Build(world StageParameters) []*Stage
Build creates sync states out of builders
func (StageBuilders) MustReplace ¶
func (bb StageBuilders) MustReplace(id stages.SyncStage, newBuilder StageBuilder) StageBuilders
MustReplace finds a stage with a specific ID and then sets the new one instead of that. Chainable but panics if it can't find stage to replace.
type StageParameters ¶
type StageParameters struct { DB ethdb.Database // TX is a current transaction that staged sync runs in. It contains all the latest changes that DB has. // It can be used for both reading and writing. TX ethdb.Database TmpDir string // QuitCh is a channel that is closed. This channel is useful to listen to when // the stage can take significant time and gracefully shutdown at Ctrl+C. QuitCh <-chan struct{} // contains filtered or unexported fields }
StageParameters contains the stage that stages receives at runtime when initializes. Then the stage can use it to receive different useful functions.
type StageState ¶
type StageState struct { // Stage is the ID of this stage. Stage stages.SyncStage // BlockNumber is the current block number of the stage at the beginning of the state execution. BlockNumber uint64 // contains filtered or unexported fields }
StageState is the state of the stage.
func (*StageState) Done ¶
func (s *StageState) Done()
Done makes sure that the stage execution is complete and proceeds to the next state. If Done() is not called and the stage `ExecFunc` exits, then the same stage will be called again. This side effect is useful for something like block body download.
func (*StageState) DoneAndUpdate ¶
func (s *StageState) DoneAndUpdate(db ethdb.Putter, newBlockNum uint64) error
DoneAndUpdate a convenience method combining both `Done()` and `Update()` calls together.
func (*StageState) ExecutionAt ¶
func (s *StageState) ExecutionAt(db ethdb.Getter) (uint64, error)
ExecutionAt gets the current state of the "Execution" stage, which block is currently executed.
func (*StageState) LogPrefix ¶
func (s *StageState) LogPrefix() string
type StagedSync ¶
type StagedSync struct { PrefetchedBlocks *PrefetchedBlocks Notifier ChainEventNotifier // contains filtered or unexported fields }
func New ¶
func New(stages StageBuilders, unwindOrder UnwindOrder, params OptionalParameters) *StagedSync
func (*StagedSync) Prepare ¶
func (stagedSync *StagedSync) Prepare( d DownloaderGlue, chainConfig *params.ChainConfig, chainContext *core.TinyChainContext, vmConfig *vm.Config, db ethdb.Database, tx ethdb.Database, pid string, storageMode ethdb.StorageMode, tmpdir string, cache *shards.StateCache, batchSize datasize.ByteSize, quitCh <-chan struct{}, headersFetchers []func() error, txPool *core.TxPool, poolStart func() error, changeSetHook ChangeSetHook, ) (*State, error)
type State ¶
type State struct {
// contains filtered or unexported fields
}
func (*State) BeforeStageUnwind ¶
func (*State) CurrentStage ¶
func (*State) DisableAllStages ¶
func (s *State) DisableAllStages()
func (*State) DisableStages ¶
func (*State) EnableStages ¶
func (*State) Run ¶
func (s *State) Run(db ethdb.GetterPutter, tx ethdb.GetterPutter) error
func (*State) StageState ¶
func (*State) UnwindStage ¶
func (s *State) UnwindStage(unwind *UnwindState, db ethdb.GetterPutter, tx ethdb.GetterPutter) error
type StateReaderBuilder ¶
type StateReaderBuilder func(ethdb.Database) state.StateReader
type StateWriterBuilder ¶
type UnwindFunc ¶
type UnwindFunc func(unwindState *UnwindState, state *StageState) error
UnwindFunc is the unwinding logic of the stage. * unwindState - contains information about the unwind itself. * stageState - represents the state of this stage at the beginning of unwind.
type UnwindOrder ¶
type UnwindOrder []int
UnwindOrder represents the order in which the stages needs to be unwound. Currently it is using indexes of stages, 0-based. The unwind order is important and not always just stages going backwards. Let's say, there is tx pool (state 10) can be unwound only after execution is fully unwound (stages 9...3).
func DefaultUnwindOrder ¶
func DefaultUnwindOrder() UnwindOrder
DefaultUnwindOrder contains the default unwind order for `DefaultStages()`. Just adding stages that don't do unwinding, don't require altering the default order.
type UnwindState ¶
type UnwindState struct { // Stage is the ID of the stage Stage stages.SyncStage // UnwindPoint is the block to unwind to. UnwindPoint uint64 }
UnwindState contains the information about unwind.
Source Files ¶
- all_stages.go
- prefetched_blocks.go
- stage.go
- stage_blockhashes.go
- stage_bodies.go
- stage_bodies_new.go
- stage_call_traces.go
- stage_execute.go
- stage_finish.go
- stage_hashstate.go
- stage_headers.go
- stage_headers_new.go
- stage_indexes.go
- stage_interhashes.go
- stage_log_index.go
- stage_senders.go
- stage_txlookup.go
- stage_txpool.go
- stagebuilder.go
- stagedsync.go
- state.go
- testutil.go
- types.go
- unwind.go