Documentation
¶
Overview ¶
Package context provides consensus context for VMs
Index ¶
- func GetChainID(ctx context.Context) ids.ID
- func GetNetID(ctx context.Context) ids.ID
- func GetNetworkID(ctx context.Context) uint32
- func GetNodeID(ctx context.Context) ids.NodeID
- func GetSubnetID(ctx context.Context) ids.IDdeprecated
- func GetTimestamp() int64
- func WithContext(ctx context.Context, cc *Context) context.Context
- func WithIDs(ctx context.Context, ids IDs) context.Context
- func WithValidatorState(ctx context.Context, vs ValidatorState) context.Context
- type BlockchainIDLookup
- type Context
- type GetValidatorOutput
- type IDs
- type Keystore
- type Metrics
- type ValidatorState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetChainID ¶
GetChainID gets the chain ID from context
func GetNetworkID ¶
GetNetworkID gets the network ID from context
func GetSubnetID
deprecated
func WithContext ¶
WithContext adds consensus context to a context
func WithValidatorState ¶
func WithValidatorState(ctx context.Context, vs ValidatorState) context.Context
WithValidatorState adds validator state to the context
Types ¶
type BlockchainIDLookup ¶
BlockchainIDLookup provides blockchain ID lookup
type Context ¶
type Context struct {
// QuantumID is the root quantum network identifier
QuantumID uint32 `json:"quantumID"`
// NetworkID is an alias for QuantumID for backward compatibility
NetworkID uint32 `json:"networkID"`
// NetID identifies the specific network/subnet within the quantum network
NetID ids.ID `json:"netID"`
// ChainID identifies the specific chain within the network
ChainID ids.ID `json:"chainID"`
NodeID ids.NodeID `json:"nodeID"`
PublicKey []byte `json:"publicKey"`
XChainID ids.ID `json:"xChainID"`
CChainID ids.ID `json:"cChainID"`
AVAXAssetID ids.ID `json:"avaxAssetID"`
LUXAssetID ids.ID `json:"luxAssetID"`
// XAssetID is an alias for LUXAssetID for backward compatibility
XAssetID ids.ID `json:"xAssetID"`
// Timing
StartTime time.Time `json:"startTime"`
// Additional fields for consensus
ValidatorState ValidatorState
Keystore Keystore
BCLookup BlockchainIDLookup
Metrics Metrics
}
Context provides consensus context for VMs
func FromContext ¶
FromContext extracts consensus context from a context
type GetValidatorOutput ¶
GetValidatorOutput contains validator information
type IDs ¶
type IDs struct {
// NetworkID is the network identifier
NetworkID uint32
// QuantumID is the root quantum network identifier
QuantumID uint32
// NetID identifies the network within the quantum network
NetID ids.ID
// ChainID identifies the chain within the network
ChainID ids.ID
NodeID ids.NodeID
PublicKey []byte
// LUXAssetID is the asset ID for LUX
LUXAssetID ids.ID
}
IDs holds the IDs for consensus context
type Keystore ¶
type Keystore interface {
GetDatabase(username, password string) (interface{}, error)
NewAccount(username, password string) error
}
Keystore provides key management
type ValidatorState ¶
type ValidatorState interface {
GetChainID(ids.ID) (ids.ID, error)
GetNetID(ids.ID) (ids.ID, error)
GetSubnetID(chainID ids.ID) (ids.ID, error)
GetValidatorSet(uint64, ids.ID) (map[ids.NodeID]uint64, error)
GetCurrentHeight() (uint64, error)
GetMinimumHeight(context.Context) (uint64, error)
}
ValidatorState provides validator information
func GetValidatorState ¶
func GetValidatorState(ctx context.Context) ValidatorState
GetValidatorState gets the validator state from context
Click to show internal directories.
Click to hide internal directories.