forked from ava-labs/avalanchego
-
Notifications
You must be signed in to change notification settings - Fork 4
/
config.go
42 lines (32 loc) · 1.19 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package bootstrap
import (
"github.com/MetalBlockchain/metalgo/database"
"github.com/MetalBlockchain/metalgo/network/p2p"
"github.com/MetalBlockchain/metalgo/snow"
"github.com/MetalBlockchain/metalgo/snow/engine/common"
"github.com/MetalBlockchain/metalgo/snow/engine/common/tracker"
"github.com/MetalBlockchain/metalgo/snow/engine/snowman/block"
"github.com/MetalBlockchain/metalgo/snow/validators"
)
type Config struct {
common.AllGetsServer
Ctx *snow.ConsensusContext
Beacons validators.Manager
SampleK int
StartupTracker tracker.Startup
Sender common.Sender
BootstrapTracker common.BootstrapTracker
Timer common.Timer
// PeerTracker manages the set of nodes that we fetch the next block from.
PeerTracker *p2p.PeerTracker
// This node will only consider the first [AncestorsMaxContainersReceived]
// containers in an ancestors message it receives.
AncestorsMaxContainersReceived int
// Database used to track the fetched, but not yet executed, blocks during
// bootstrapping.
DB database.Database
VM block.ChainVM
Bootstrapped func()
}