github.com/ava-labs/avalanchego@v1.11.11/vms/platformvm/block/executor/block_state.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package executor
     5  
     6  import (
     7  	"time"
     8  
     9  	"github.com/ava-labs/avalanchego/chains/atomic"
    10  	"github.com/ava-labs/avalanchego/ids"
    11  	"github.com/ava-labs/avalanchego/utils/set"
    12  	"github.com/ava-labs/avalanchego/vms/platformvm/block"
    13  	"github.com/ava-labs/avalanchego/vms/platformvm/state"
    14  )
    15  
    16  type proposalBlockState struct {
    17  	onDecisionState state.Diff
    18  	onCommitState   state.Diff
    19  	onAbortState    state.Diff
    20  }
    21  
    22  // The state of a block.
    23  // Note that not all fields will be set for a given block.
    24  type blockState struct {
    25  	proposalBlockState
    26  	statelessBlock block.Block
    27  
    28  	onAcceptState state.Diff
    29  	onAcceptFunc  func()
    30  
    31  	inputs          set.Set[ids.ID]
    32  	timestamp       time.Time
    33  	atomicRequests  map[ids.ID]*atomic.Requests
    34  	verifiedHeights set.Set[uint64]
    35  }