neo-go/pkg/network/state_sync.go
Ekaterina Pavlova 91b60ea7d3 network: integrate state sync module with blockfetcher
Close #3574

Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2025-02-06 16:12:55 +03:00

23 lines
606 B
Go

package network
import (
"github.com/nspcc-dev/neo-go/pkg/config"
"github.com/nspcc-dev/neo-go/pkg/core/mpt"
"github.com/nspcc-dev/neo-go/pkg/util"
)
// StateSync represents state sync module.
type StateSync interface {
blockHeaderQueuer
AddMPTNodes([][]byte) error
Init(currChainHeight uint32) error
IsActive() bool
IsInitialized() bool
GetUnknownMPTNodesBatch(limit int) []util.Uint256
GetConfig() config.Blockchain
NeedHeaders() bool
NeedBlocks() bool
NeedMPTNodes() bool
SetOnStageChanged(func())
Traverse(root util.Uint256, process func(node mpt.Node, nodeBytes []byte) bool) error
}