mirror of
https://github.com/luxfi/proto.git
synced 2026-10-30 15:21:09 +00:00
38 lines
847 B
Go
38 lines
847 B
Go
// Copyright (C) 2019-2025, Lux Industries, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package executor
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/luxfi/ids"
|
|
"github.com/luxfi/math/set"
|
|
"github.com/luxfi/proto/p/block"
|
|
"github.com/luxfi/proto/p/metrics"
|
|
"github.com/luxfi/proto/p/state"
|
|
"github.com/luxfi/vm/chains/atomic"
|
|
)
|
|
|
|
type proposalBlockState struct {
|
|
onDecisionState state.Diff
|
|
onCommitState state.Diff
|
|
onAbortState state.Diff
|
|
}
|
|
|
|
// The state of a block.
|
|
// Note that not all fields will be set for a given block.
|
|
type blockState struct {
|
|
proposalBlockState
|
|
statelessBlock block.Block
|
|
|
|
onAcceptState state.Diff
|
|
onAcceptFunc func()
|
|
|
|
inputs set.Set[ids.ID]
|
|
timestamp time.Time
|
|
atomicRequests map[ids.ID]*atomic.Requests
|
|
verifiedHeights set.Set[uint64]
|
|
metrics metrics.Block
|
|
}
|