Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RequireGenericNodesDoneBefore ¶ added in v0.17.0
func RequireGenericNodesDoneBefore(t testing.TB, duration time.Duration, nodes ...*GenericNode)
RequireGenericNodesDoneBefore invokes the done method of all input generic nodes concurrently, and fails the test if any generic node's shutdown takes longer than the specified duration.
Types ¶
type CollectionNode ¶
type CollectionNode struct {
GenericNode
Collections storage.Collections
Transactions storage.Transactions
ClusterPayloads storage.ClusterPayloads
TxPools *epochpool.TransactionPools
Voter module.ClusterRootQCVoter
IngestionEngine *collectioningest.Engine
PusherEngine *pusher.Engine
ProviderEngine *provider.Engine
EpochManagerEngine *epochmgr.Engine
}
CollectionNode implements an in-process collection node for tests.
func (CollectionNode) Done ¶ added in v0.20.0
func (n CollectionNode) Done() <-chan struct{}
func (CollectionNode) Ready ¶ added in v0.20.0
func (n CollectionNode) Ready() <-chan struct{}
type ComputerWrap ¶ added in v0.10.0
type ComputerWrap struct {
*computation.Manager
OnComputeBlock func(ctx context.Context, block *entity.ExecutableBlock, view fvmState.View)
}
func (*ComputerWrap) ComputeBlock ¶ added in v0.10.0
func (c *ComputerWrap) ComputeBlock( ctx context.Context, block *entity.ExecutableBlock, view fvmState.View, ) (*execution.ComputationResult, error)
type ConsensusNode ¶
type ConsensusNode struct {
GenericNode
Guarantees mempool.Guarantees
Receipts mempool.ExecutionTree
Seals mempool.IncorporatedResultSeals
IngestionEngine *consensusingest.Engine
SealingEngine *sealing.Engine
MatchingEngine *matching.Engine
}
ConsensusNode implements an in-process consensus node for tests.
func (ConsensusNode) Done ¶ added in v0.10.0
func (cn ConsensusNode) Done()
func (ConsensusNode) Ready ¶ added in v0.10.0
func (cn ConsensusNode) Ready()
type ExecutionNode ¶
type ExecutionNode struct {
GenericNode
MutableState protocol.MutableState
IngestionEngine *ingestion.Engine
ExecutionEngine *ComputerWrap
RequestEngine *requester.Engine
ReceiptsEngine *executionprovider.Engine
FollowerEngine *followereng.Engine
SyncEngine *synchronization.Engine
DiskWAL *wal.DiskWAL
BadgerDB *badger.DB
VM *fvm.VirtualMachine
ExecutionState state.ExecutionState
Ledger ledger.Ledger
LevelDbDir string
Collections storage.Collections
Finalizer *consensus.Finalizer
MyExecutionReceipts storage.MyExecutionReceipts
}
ExecutionNode implements a mocked execution node for tests.
func (ExecutionNode) AssertHighestExecutedBlock ¶
func (en ExecutionNode) AssertHighestExecutedBlock(t *testing.T, header *flow.Header)
func (ExecutionNode) Done ¶
func (en ExecutionNode) Done()
func (ExecutionNode) Ready ¶
func (en ExecutionNode) Ready()
type GenericNode ¶
type GenericNode struct {
Log zerolog.Logger
Metrics *metrics.NoopCollector
Tracer module.Tracer
PublicDB *badger.DB
SecretsDB *badger.DB
Headers storage.Headers
Identities storage.Identities
Guarantees storage.Guarantees
Seals storage.Seals
Payloads storage.Payloads
Blocks storage.Blocks
State protocol.MutableState
Index storage.Index
Me module.Local
Net *stub.Network
DBDir string
ChainID flow.ChainID
ProtocolEvents *events.Distributor
}
GenericNode implements a generic in-process node for tests.
func (*GenericNode) CloseDB ¶
func (g *GenericNode) CloseDB() error
CloseDB closes the badger database of the node
func (*GenericNode) Done ¶
func (g *GenericNode) Done()
type StateFixture ¶ added in v0.14.0
type StateFixture struct {
DBDir string
PublicDB *badger.DB
SecretsDB *badger.DB
Storage *storage.All
ProtocolEvents *events.Distributor
State protocol.MutableState
}
StateFixture is a test helper struct that encapsulates a flow protocol state as well as all of its backend dependencies.
type VerificationNode ¶
type VerificationNode struct {
*GenericNode
ChunkStatuses mempool.ChunkStatuses
ChunkRequests mempool.ChunkRequests
Results storage.ExecutionResults
Receipts storage.ExecutionReceipts
// chunk consumer and processor for fetcher engine
ProcessedChunkIndex storage.ConsumerProgress
ChunksQueue *bstorage.ChunksQueue
ChunkConsumer *chunkconsumer.ChunkConsumer
// block consumer for chunk consumer
ProcessedBlockHeight storage.ConsumerProgress
BlockConsumer *blockconsumer.BlockConsumer
VerifierEngine *verifier.Engine
AssignerEngine *assigner.Engine
FetcherEngine *fetcher.Engine
RequesterEngine *verificationrequester.Engine
}
VerificationNode implements an in-process verification node for tests.