 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
- type Admin
- func (p *Admin) GetVMConfig(_ *http.Request, _ *struct{}, reply *ConfigReply) error
- func (p *Admin) LockProfile(_ *http.Request, _ *struct{}, _ *api.EmptyReply) error
- func (p *Admin) MemoryProfile(_ *http.Request, _ *struct{}, _ *api.EmptyReply) error
- func (p *Admin) SetLogLevel(_ *http.Request, args *SetLogLevelArgs, reply *api.EmptyReply) error
- func (p *Admin) StartCPUProfiler(_ *http.Request, _ *struct{}, _ *api.EmptyReply) error
- func (p *Admin) StopCPUProfiler(r *http.Request, _ *struct{}, _ *api.EmptyReply) error
 
- type Block
- func (b *Block) Accept(context.Context) error
- func (b *Block) Bytes() []byte
- func (b *Block) Height() uint64
- func (b *Block) ID() ids.ID
- func (b *Block) Parent() ids.ID
- func (b *Block) Reject(context.Context) error
- func (b *Block) ShouldVerifyWithContext(context.Context) (bool, error)
- func (b *Block) String() string
- func (b *Block) Timestamp() time.Time
- func (b *Block) Verify(context.Context) error
- func (b *Block) VerifyWithContext(ctx context.Context, proposerVMBlockCtx *block.Context) error
 
- type BlockValidator
- type BuildGenesisArgs
- type BuildGenesisReply
- type Client
- type Config
- type ConfigReply
- type CurrentValidator
- type DecodeGenesisArgs
- type DecodeGenesisReply
- type Duration
- type EthPushGossiper
- type Factory
- type GetAcceptedFrontReply
- type GetCurrentValidatorsRequest
- type GetCurrentValidatorsResponse
- type GossipEthTx
- type GossipEthTxMarshaller
- type GossipEthTxPool
- func (g *GossipEthTxPool) Add(tx *GossipEthTx) error
- func (g *GossipEthTxPool) GetFilter() ([]byte, []byte)
- func (g *GossipEthTxPool) Has(txID ids.ID) bool
- func (g *GossipEthTxPool) IsSubscribed() bool
- func (g *GossipEthTxPool) Iterate(f func(tx *GossipEthTx) bool)
- func (g *GossipEthTxPool) Subscribe(ctx context.Context)
 
- type GossipHandler
- type GossipStats
- type PBool
- type SetLogLevelArgs
- type SnowmanAPI
- type StateSyncClient
- type StateSyncServer
- type StaticService
- type Status
- type SubnetEVMLogger
- type Syncer
- type VM
- func (vm *VM) Connected(ctx context.Context, nodeID ids.NodeID, version *version.Application) error
- func (vm *VM) CreateHandlers(context.Context) (map[string]http.Handler, error)
- func (vm *VM) CreateStaticHandlers(context.Context) (map[string]http.Handler, error)
- func (vm *VM) Disconnected(ctx context.Context, nodeID ids.NodeID) error
- func (vm *VM) GetAcceptedBlock(ctx context.Context, blkID ids.ID) (snowman.Block, error)
- func (vm *VM) GetBlockIDAtHeight(_ context.Context, height uint64) (ids.ID, error)
- func (vm *VM) GetCurrentNonce(address common.Address) (uint64, error)
- func (vm *VM) HealthCheck(context.Context) (interface{}, error)
- func (vm *VM) Initialize(_ context.Context, chainCtx *snow.Context, db database.Database, ...) error
- func (vm *VM) NewBlockBuilder(notifyBuildBlockChan chan<- commonEng.Message) *blockBuilder
- func (vm *VM) ParseEthBlock(b []byte) (*types.Block, error)
- func (vm *VM) SetPreference(ctx context.Context, blkID ids.ID) error
- func (vm *VM) SetState(_ context.Context, state snow.State) error
- func (vm *VM) Shutdown(context.Context) error
- func (vm *VM) VerifyHeightIndex(context.Context) error
- func (vm *VM) Version(context.Context) (string, error)
 
- type ValidatorsAPI
Constants ¶
This section is empty.
Variables ¶
var ( // ID this VM should be referenced by IDStr = "subnetevm" ID = ids.ID{'s', 'u', 'b', 'n', 'e', 't', 'e', 'v', 'm'} )
var ( // GitCommit is set by the build script GitCommit string // Version is the version of Subnet EVM Version string = "v0.6.12" )
Functions ¶
This section is empty.
Types ¶
type Admin ¶
type Admin struct {
	// contains filtered or unexported fields
}
    Admin is the API service for admin API calls
func NewAdminService ¶
func (*Admin) GetVMConfig ¶ added in v0.2.2
func (p *Admin) GetVMConfig(_ *http.Request, _ *struct{}, reply *ConfigReply) error
func (*Admin) LockProfile ¶
LockProfile runs a mutex profile writing to the specified file
func (*Admin) MemoryProfile ¶
MemoryProfile runs a memory profile writing to the specified file
func (*Admin) SetLogLevel ¶
func (p *Admin) SetLogLevel(_ *http.Request, args *SetLogLevelArgs, reply *api.EmptyReply) error
func (*Admin) StartCPUProfiler ¶
StartCPUProfiler starts a cpu profile writing to the specified file
func (*Admin) StopCPUProfiler ¶
StopCPUProfiler stops the cpu profile
type Block ¶
type Block struct {
	// contains filtered or unexported fields
}
    Block implements the snowman.Block interface
func (*Block) ShouldVerifyWithContext ¶ added in v0.5.0
ShouldVerifyWithContext implements the block.WithVerifyContext interface
type BlockValidator ¶
func NewBlockValidator ¶ added in v0.4.0
func NewBlockValidator() BlockValidator
type BuildGenesisArgs ¶
type BuildGenesisArgs struct {
	GenesisData *core.Genesis       `json:"genesisData"`
	Encoding    formatting.Encoding `json:"encoding"`
}
    BuildGenesisArgs are arguments for BuildGenesis
type BuildGenesisReply ¶
type BuildGenesisReply struct {
	GenesisBytes string              `json:"genesisBytes"`
	Encoding     formatting.Encoding `json:"encoding"`
}
    BuildGenesisReply is the reply from BuildGenesis
type Client ¶
type Client interface {
	StartCPUProfiler(ctx context.Context, options ...rpc.Option) error
	StopCPUProfiler(ctx context.Context, options ...rpc.Option) error
	MemoryProfile(ctx context.Context, options ...rpc.Option) error
	LockProfile(ctx context.Context, options ...rpc.Option) error
	SetLogLevel(ctx context.Context, level slog.Level, options ...rpc.Option) error
	GetVMConfig(ctx context.Context, options ...rpc.Option) (*Config, error)
	GetCurrentValidators(ctx context.Context, nodeIDs []ids.NodeID, options ...rpc.Option) ([]CurrentValidator, error)
}
    Client interface for interacting with EVM chain
type Config ¶
type Config struct {
	// Airdrop
	AirdropFile string `json:"airdrop"`
	// Subnet EVM APIs
	SnowmanAPIEnabled    bool   `json:"snowman-api-enabled"`
	ValidatorsAPIEnabled bool   `json:"validators-api-enabled"`
	AdminAPIEnabled      bool   `json:"admin-api-enabled"`
	AdminAPIDir          string `json:"admin-api-dir"`
	WarpAPIEnabled       bool   `json:"warp-api-enabled"`
	// EnabledEthAPIs is a list of Ethereum services that should be enabled
	// If none is specified, then we use the default list [defaultEnabledAPIs]
	EnabledEthAPIs []string `json:"eth-apis"`
	// Continuous Profiler
	ContinuousProfilerDir       string   `json:"continuous-profiler-dir"`       // If set to non-empty string creates a continuous profiler
	ContinuousProfilerFrequency Duration `json:"continuous-profiler-frequency"` // Frequency to run continuous profiler if enabled
	ContinuousProfilerMaxFiles  int      `json:"continuous-profiler-max-files"` // Maximum number of files to maintain
	// API Gas/Price Caps
	RPCGasCap   uint64  `json:"rpc-gas-cap"`
	RPCTxFeeCap float64 `json:"rpc-tx-fee-cap"`
	// Cache settings
	TrieCleanCache            int `json:"trie-clean-cache"`            // Size of the trie clean cache (MB)
	TrieDirtyCache            int `json:"trie-dirty-cache"`            // Size of the trie dirty cache (MB)
	TrieDirtyCommitTarget     int `json:"trie-dirty-commit-target"`    // Memory limit to target in the dirty cache before performing a commit (MB)
	TriePrefetcherParallelism int `json:"trie-prefetcher-parallelism"` // Max concurrent disk reads trie prefetcher should perform at once
	SnapshotCache             int `json:"snapshot-cache"`              // Size of the snapshot disk layer clean cache (MB)
	// Eth Settings
	Preimages      bool `json:"preimages-enabled"`
	SnapshotWait   bool `json:"snapshot-wait"`
	SnapshotVerify bool `json:"snapshot-verification-enabled"`
	// Pruning Settings
	Pruning                         bool    `json:"pruning-enabled"`                    // If enabled, trie roots are only persisted every 4096 blocks
	AcceptorQueueLimit              int     `json:"accepted-queue-limit"`               // Maximum blocks to queue before blocking during acceptance
	CommitInterval                  uint64  `json:"commit-interval"`                    // Specifies the commit interval at which to persist EVM and atomic tries.
	AllowMissingTries               bool    `json:"allow-missing-tries"`                // If enabled, warnings preventing an incomplete trie index are suppressed
	PopulateMissingTries            *uint64 `json:"populate-missing-tries,omitempty"`   // Sets the starting point for re-populating missing tries. Disables re-generation if nil.
	PopulateMissingTriesParallelism int     `json:"populate-missing-tries-parallelism"` // Number of concurrent readers to use when re-populating missing tries on startup.
	PruneWarpDB                     bool    `json:"prune-warp-db-enabled"`              // Determines if the warpDB should be cleared on startup
	// Metric Settings
	MetricsExpensiveEnabled bool `json:"metrics-expensive-enabled"` // Debug-level metrics that might impact runtime performance
	// API Settings
	LocalTxsEnabled bool `json:"local-txs-enabled"`
	TxPoolPriceLimit   uint64   `json:"tx-pool-price-limit"`
	TxPoolPriceBump    uint64   `json:"tx-pool-price-bump"`
	TxPoolAccountSlots uint64   `json:"tx-pool-account-slots"`
	TxPoolGlobalSlots  uint64   `json:"tx-pool-global-slots"`
	TxPoolAccountQueue uint64   `json:"tx-pool-account-queue"`
	TxPoolGlobalQueue  uint64   `json:"tx-pool-global-queue"`
	TxPoolLifetime     Duration `json:"tx-pool-lifetime"`
	APIMaxDuration           Duration      `json:"api-max-duration"`
	WSCPURefillRate          Duration      `json:"ws-cpu-refill-rate"`
	WSCPUMaxStored           Duration      `json:"ws-cpu-max-stored"`
	MaxBlocksPerRequest      int64         `json:"api-max-blocks-per-request"`
	AllowUnfinalizedQueries  bool          `json:"allow-unfinalized-queries"`
	AllowUnprotectedTxs      bool          `json:"allow-unprotected-txs"`
	AllowUnprotectedTxHashes []common.Hash `json:"allow-unprotected-tx-hashes"`
	// Keystore Settings
	KeystoreDirectory             string `json:"keystore-directory"` // both absolute and relative supported
	KeystoreExternalSigner        string `json:"keystore-external-signer"`
	KeystoreInsecureUnlockAllowed bool   `json:"keystore-insecure-unlock-allowed"`
	// Gossip Settings
	PushGossipPercentStake    float64          `json:"push-gossip-percent-stake"`
	PushGossipNumValidators   int              `json:"push-gossip-num-validators"`
	PushGossipNumPeers        int              `json:"push-gossip-num-peers"`
	PushRegossipNumValidators int              `json:"push-regossip-num-validators"`
	PushRegossipNumPeers      int              `json:"push-regossip-num-peers"`
	PushGossipFrequency       Duration         `json:"push-gossip-frequency"`
	PullGossipFrequency       Duration         `json:"pull-gossip-frequency"`
	RegossipFrequency         Duration         `json:"regossip-frequency"`
	PriorityRegossipAddresses []common.Address `json:"priority-regossip-addresses"`
	// Log
	LogLevel      string `json:"log-level"`
	LogJSONFormat bool   `json:"log-json-format"`
	// Address for Tx Fees (must be empty if not supported by blockchain)
	FeeRecipient string `json:"feeRecipient"`
	// Offline Pruning Settings
	OfflinePruning                bool   `json:"offline-pruning-enabled"`
	OfflinePruningBloomFilterSize uint64 `json:"offline-pruning-bloom-filter-size"`
	OfflinePruningDataDirectory   string `json:"offline-pruning-data-directory"`
	// VM2VM network
	MaxOutboundActiveRequests int64 `json:"max-outbound-active-requests"`
	// Sync settings
	StateSyncEnabled         bool   `json:"state-sync-enabled"`
	StateSyncSkipResume      bool   `json:"state-sync-skip-resume"` // Forces state sync to use the highest available summary block
	StateSyncServerTrieCache int    `json:"state-sync-server-trie-cache"`
	StateSyncIDs             string `json:"state-sync-ids"`
	StateSyncCommitInterval  uint64 `json:"state-sync-commit-interval"`
	StateSyncMinBlocks       uint64 `json:"state-sync-min-blocks"`
	StateSyncRequestSize     uint16 `json:"state-sync-request-size"`
	// Database Settings
	InspectDatabase bool `json:"inspect-database"` // Inspects the database on startup if enabled.
	// SkipUpgradeCheck disables checking that upgrades must take place before the last
	// accepted block. Skipping this check is useful when a node operator does not update
	// their node before the network upgrade and their node accepts blocks that have
	// identical state with the pre-upgrade ruleset.
	SkipUpgradeCheck bool `json:"skip-upgrade-check"`
	// AcceptedCacheSize is the depth to keep in the accepted headers cache and the
	// accepted logs cache at the accepted tip.
	//
	// This is particularly useful for improving the performance of eth_getLogs
	// on RPC nodes.
	AcceptedCacheSize int `json:"accepted-cache-size"`
	// TransactionHistory is the maximum number of blocks from head whose tx indices
	// are reserved:
	//  * 0:   means no limit
	//  * N:   means N block limit [HEAD-N+1, HEAD] and delete extra indexes
	TransactionHistory uint64 `json:"transaction-history"`
	// Deprecated, use 'TransactionHistory' instead.
	TxLookupLimit uint64 `json:"tx-lookup-limit"`
	// SkipTxIndexing skips indexing transactions.
	// This is useful for validators that don't need to index transactions.
	// TxLookupLimit can be still used to control unindexing old transactions.
	SkipTxIndexing bool `json:"skip-tx-indexing"`
	// WarpOffChainMessages encodes off-chain messages (unrelated to any on-chain event ie. block or AddressedCall)
	// that the node should be willing to sign.
	// Note: only supports AddressedCall payloads as defined here:
	// https://github.com/ava-labs/avalanchego/tree/7623ffd4be915a5185c9ed5e11fa9be15a6e1f00/vms/platformvm/warp/payload#addressedcall
	WarpOffChainMessages []hexutil.Bytes `json:"warp-off-chain-messages"`
	// RPC settings
	HttpBodyLimit uint64 `json:"http-body-limit"`
	// Database settings
	UseStandaloneDatabase *PBool `json:"use-standalone-database"`
	DatabaseConfigContent string `json:"database-config"`
	DatabaseConfigFile    string `json:"database-config-file"`
	DatabaseType          string `json:"database-type"`
	DatabasePath          string `json:"database-path"`
	DatabaseReadOnly      bool   `json:"database-read-only"`
}
    Config ...
func (Config) EthAPIs ¶
EthAPIs returns an array of strings representing the Eth APIs that should be enabled
func (Config) EthBackendSettings ¶
func (*Config) SetDefaults ¶
func (c *Config) SetDefaults()
type ConfigReply ¶ added in v0.2.2
type ConfigReply struct {
	Config *Config `json:"config"`
}
    type CurrentValidator ¶ added in v0.6.12
type CurrentValidator struct {
	ValidationID     ids.ID     `json:"validationID"`
	NodeID           ids.NodeID `json:"nodeID"`
	Weight           uint64     `json:"weight"`
	StartTimestamp   uint64     `json:"startTimestamp"`
	IsActive         bool       `json:"isActive"`
	IsL1Validator    bool       `json:"isL1Validator"`
	IsConnected      bool       `json:"isConnected"`
	UptimePercentage float32    `json:"uptimePercentage"`
	UptimeSeconds    uint64     `json:"uptimeSeconds"`
}
    type DecodeGenesisArgs ¶
type DecodeGenesisArgs struct {
	GenesisBytes string              `json:"genesisBytes"`
	Encoding     formatting.Encoding `json:"encoding"`
}
    DecodeGenesisArgs are arguments for DecodeGenesis
type DecodeGenesisReply ¶
type DecodeGenesisReply struct {
	Genesis  *core.Genesis       `json:"genesisData"`
	Encoding formatting.Encoding `json:"encoding"`
}
    DecodeGenesisReply is the reply from DecodeGenesis
type Duration ¶
func (Duration) MarshalJSON ¶ added in v0.2.9
String implements the stringer interface.
func (*Duration) UnmarshalJSON ¶
type EthPushGossiper ¶ added in v0.6.2
type EthPushGossiper struct {
	// contains filtered or unexported fields
}
    EthPushGossiper is used by the ETH backend to push transactions issued over the RPC and added to the mempool to peers.
func (*EthPushGossiper) Add ¶ added in v0.6.2
func (e *EthPushGossiper) Add(tx *types.Transaction)
type GetAcceptedFrontReply ¶
type GetAcceptedFrontReply struct {
	Hash   common.Hash `json:"hash"`
	Number *big.Int    `json:"number"`
}
    GetAcceptedFrontReply defines the reply that will be sent from the GetAcceptedFront API call
type GetCurrentValidatorsRequest ¶ added in v0.6.12
type GetCurrentValidatorsResponse ¶ added in v0.6.12
type GetCurrentValidatorsResponse struct {
	Validators []CurrentValidator `json:"validators"`
}
    type GossipEthTx ¶ added in v0.5.11
type GossipEthTx struct {
	Tx *types.Transaction
}
    func (*GossipEthTx) GossipID ¶ added in v0.5.11
func (tx *GossipEthTx) GossipID() ids.ID
type GossipEthTxMarshaller ¶ added in v0.5.11
type GossipEthTxMarshaller struct{}
    func (GossipEthTxMarshaller) MarshalGossip ¶ added in v0.5.11
func (g GossipEthTxMarshaller) MarshalGossip(tx *GossipEthTx) ([]byte, error)
func (GossipEthTxMarshaller) UnmarshalGossip ¶ added in v0.5.11
func (g GossipEthTxMarshaller) UnmarshalGossip(bytes []byte) (*GossipEthTx, error)
type GossipEthTxPool ¶ added in v0.5.11
type GossipEthTxPool struct {
	// contains filtered or unexported fields
}
    func NewGossipEthTxPool ¶ added in v0.5.11
func NewGossipEthTxPool(mempool *txpool.TxPool, registerer prometheus.Registerer) (*GossipEthTxPool, error)
func (*GossipEthTxPool) Add ¶ added in v0.5.11
func (g *GossipEthTxPool) Add(tx *GossipEthTx) error
Add enqueues the transaction to the mempool. Subscribe should be called to receive an event if tx is actually added to the mempool or not.
func (*GossipEthTxPool) GetFilter ¶ added in v0.5.11
func (g *GossipEthTxPool) GetFilter() ([]byte, []byte)
func (*GossipEthTxPool) Has ¶ added in v0.6.2
func (g *GossipEthTxPool) Has(txID ids.ID) bool
Has should just return whether or not the [txID] is still in the mempool, not whether it is in the mempool AND pending.
func (*GossipEthTxPool) IsSubscribed ¶ added in v0.6.4
func (g *GossipEthTxPool) IsSubscribed() bool
IsSubscribed returns whether or not the gossip subscription is active.
func (*GossipEthTxPool) Iterate ¶ added in v0.5.11
func (g *GossipEthTxPool) Iterate(f func(tx *GossipEthTx) bool)
func (*GossipEthTxPool) Subscribe ¶ added in v0.5.11
func (g *GossipEthTxPool) Subscribe(ctx context.Context)
type GossipHandler ¶
type GossipHandler struct {
	// contains filtered or unexported fields
}
    GossipHandler handles incoming gossip messages
func NewGossipHandler ¶ added in v0.1.1
func NewGossipHandler(vm *VM, stats GossipStats) *GossipHandler
func (*GossipHandler) HandleEthTxs ¶ added in v0.5.11
func (h *GossipHandler) HandleEthTxs(nodeID ids.NodeID, msg message.EthTxsGossip) error
type GossipStats ¶ added in v0.4.0
type GossipStats interface {
	IncEthTxsGossipReceived()
	// new vs. known txs received
	IncEthTxsGossipReceivedError()
	IncEthTxsGossipReceivedKnown()
	IncEthTxsGossipReceivedNew()
}
    GossipStats contains methods for updating incoming and outgoing gossip stats.
func NewGossipStats ¶ added in v0.4.0
func NewGossipStats() GossipStats
type SetLogLevelArgs ¶
type SetLogLevelArgs struct {
	Level string `json:"level"`
}
    type SnowmanAPI ¶
type SnowmanAPI struct {
	// contains filtered or unexported fields
}
    SnowmanAPI introduces snowman specific functionality to the evm
func (*SnowmanAPI) GetAcceptedFront ¶
func (api *SnowmanAPI) GetAcceptedFront(ctx context.Context) (*GetAcceptedFrontReply, error)
GetAcceptedFront returns the last accepted block's hash and height
func (*SnowmanAPI) IssueBlock ¶
func (api *SnowmanAPI) IssueBlock(ctx context.Context) error
IssueBlock to the chain
type StateSyncClient ¶ added in v0.3.0
type StateSyncClient interface {
	// methods that implement the client side of [block.StateSyncableVM]
	StateSyncEnabled(context.Context) (bool, error)
	GetOngoingSyncStateSummary(context.Context) (block.StateSummary, error)
	ParseStateSummary(ctx context.Context, summaryBytes []byte) (block.StateSummary, error)
	// additional methods required by the evm package
	ClearOngoingSummary() error
	Shutdown() error
	Error() error
}
    func NewStateSyncClient ¶ added in v0.3.0
func NewStateSyncClient(config *stateSyncClientConfig) StateSyncClient
type StateSyncServer ¶ added in v0.3.0
type StateSyncServer interface {
	GetLastStateSummary(context.Context) (block.StateSummary, error)
	GetStateSummary(context.Context, uint64) (block.StateSummary, error)
}
    func NewStateSyncServer ¶ added in v0.3.0
func NewStateSyncServer(config *stateSyncServerConfig) StateSyncServer
type StaticService ¶
type StaticService struct{}
    StaticService defines the static API services exposed by the evm
func CreateStaticService ¶
func CreateStaticService() *StaticService
func (*StaticService) BuildGenesis ¶
func (ss *StaticService) BuildGenesis(_ *http.Request, args *BuildGenesisArgs, reply *BuildGenesisReply) error
BuildGenesis constructs a genesis file.
func (*StaticService) DecodeGenesis ¶
func (ss *StaticService) DecodeGenesis(_ *http.Request, args *DecodeGenesisArgs, reply *DecodeGenesisReply) error
BuildGenesis constructs a genesis file.
type Status ¶
type Status uint32
Status ...
List of possible status values Unknown Zero value, means the status is not known Dropped means the transaction was in the mempool, but was dropped because it failed verification Processing means the transaction is in the mempool Accepted means the transaction was accepted
type SubnetEVMLogger ¶ added in v0.2.9
func InitLogger ¶ added in v0.2.9
func InitLogger(alias string, level string, jsonFormat bool, writer io.Writer) (SubnetEVMLogger, error)
InitLogger initializes logger with alias and sets the log level and format with the original os.StdErr interface along with the context logger.
func (*SubnetEVMLogger) SetLogLevel ¶ added in v0.2.9
func (s *SubnetEVMLogger) SetLogLevel(level string) error
SetLogLevel sets the log level of initialized log handler.
type Syncer ¶ added in v0.3.0
Syncer represents a step in state sync, along with Start/Done methods to control and monitor progress. Error returns an error if any was encountered.
type VM ¶
type VM struct {
	// *chain.State helps to implement the VM interface by wrapping blocks
	// with an efficient caching layer.
	*chain.State
	peer.Network
	// State sync server and client
	StateSyncServer
	StateSyncClient
	// contains filtered or unexported fields
}
    VM implements the snowman.ChainVM interface
func (*VM) CreateHandlers ¶
CreateHandlers makes new http handlers that can handle API calls
func (*VM) CreateStaticHandlers ¶
CreateStaticHandlers makes new http handlers that can handle API calls
func (*VM) GetAcceptedBlock ¶ added in v0.6.8
GetAcceptedBlock attempts to retrieve block [blkID] from the VM. This method only returns accepted blocks.
func (*VM) GetBlockIDAtHeight ¶ added in v0.1.1
GetBlockIDAtHeight returns the canonical block at [height]. Note: the engine assumes that if a block is not found at [height], then [database.ErrNotFound] will be returned. This indicates that the VM has state synced and does not have all historical blocks available.
func (*VM) GetCurrentNonce ¶
GetCurrentNonce returns the nonce associated with the address at the preferred block
func (*VM) HealthCheck ¶
Health returns nil if this chain is healthy. Also returns details, which should be one of: string, []byte, map[string]string
func (*VM) Initialize ¶
func (vm *VM) Initialize( _ context.Context, chainCtx *snow.Context, db database.Database, genesisBytes []byte, upgradeBytes []byte, configBytes []byte, toEngine chan<- commonEng.Message, fxs []*commonEng.Fx, appSender commonEng.AppSender, ) error
Initialize implements the snowman.ChainVM interface
func (*VM) NewBlockBuilder ¶
func (*VM) ParseEthBlock ¶ added in v0.3.0
func (*VM) SetPreference ¶
SetPreference sets what the current tail of the chain is
func (*VM) VerifyHeightIndex ¶ added in v0.1.1
VerifyHeightIndex always returns a nil error since the index is maintained by vm.blockChain.
type ValidatorsAPI ¶ added in v0.6.12
type ValidatorsAPI struct {
	// contains filtered or unexported fields
}
    func (*ValidatorsAPI) GetCurrentValidators ¶ added in v0.6.12
func (api *ValidatorsAPI) GetCurrentValidators(_ *http.Request, req *GetCurrentValidatorsRequest, reply *GetCurrentValidatorsResponse) error
       Source Files
      ¶
      Source Files
      ¶
    
  
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| 
          
            state/interfaces
            
            
          
           Package interfaces is a generated GoMock package. | Package interfaces is a generated GoMock package. |