gvm

package
v1.22.77 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2025 License: BSD-3-Clause Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PrefixFactory   = "dex:factory:"
	PrefixBundle    = "dex:bundle:"
	PrefixToken     = "dex:token:"
	PrefixPool      = "dex:pool:"
	PrefixPair      = "dex:pair:"
	PrefixTick      = "dex:tick:"
	PrefixSwap      = "dex:swap:"
	PrefixMint      = "dex:mint:"
	PrefixBurn      = "dex:burn:"
	PrefixTokenDay  = "dex:tokenday:"
	PrefixTokenHour = "dex:tokenhour:"
	PrefixPoolDay   = "dex:poolday:"
	PrefixPoolHour  = "dex:poolhour:"
	PrefixPairDay   = "dex:pairday:"
	// Index prefixes for efficient queries
	PrefixPoolByToken = "idx:pool:token:"
	PrefixPairByToken = "idx:pair:token:"
	PrefixSwapByPool  = "idx:swap:pool:"
	PrefixSwapByToken = "idx:swap:token:"
)

Database key prefixes for DEX data

Variables

View Source
var (
	Version = &nodeversion.Semantic{
		Major: 1,
		Minor: 0,
		Patch: 0,
	}
)

Functions

This section is empty.

Types

type Block

type Block struct {
	// contains filtered or unexported fields
}

Block represents a block in the Graph Chain

func (*Block) Accept

func (b *Block) Accept(context.Context) error

Accept implements the chain.Block interface

func (*Block) Bytes

func (b *Block) Bytes() []byte

Bytes implements the chain.Block interface

func (*Block) Height

func (b *Block) Height() uint64

Height implements the chain.Block interface

func (*Block) ID

func (b *Block) ID() ids.ID

ID implements the chain.Block interface

func (*Block) Parent

func (b *Block) Parent() ids.ID

Parent implements the chain.Block interface

func (*Block) ParentID

func (b *Block) ParentID() ids.ID

ParentID returns the parent block ID

func (*Block) Reject

func (b *Block) Reject(context.Context) error

Reject implements the chain.Block interface

func (*Block) Status

func (b *Block) Status() choices.Status

Status implements the chain.Block interface

func (*Block) Timestamp

func (b *Block) Timestamp() time.Time

Timestamp implements the chain.Block interface

func (*Block) Verify

func (b *Block) Verify(ctx context.Context) error

Verify implements the chain.Block interface

type Bundle added in v1.22.76

type Bundle struct {
	ID          string `json:"id"`
	EthPriceUSD string `json:"ethPriceUSD"`
	EthPrice    string `json:"ethPrice"`    // v2 compat (same as ethPriceUSD)
	LuxPriceUSD string `json:"luxPriceUSD"` // native token price
}

Bundle represents ETH/native price in USD

type Burn added in v1.22.76

type Burn struct {
	ID          string `json:"id"`
	Transaction string `json:"transaction"`
	Timestamp   int64  `json:"timestamp"`
	Pool        string `json:"pool"`
	Pair        string `json:"pair"` // v2 compat
	Token0      string `json:"token0"`
	Token1      string `json:"token1"`
	Owner       string `json:"owner"`
	Origin      string `json:"origin"`
	Amount      string `json:"amount"`
	Amount0     string `json:"amount0"`
	Amount1     string `json:"amount1"`
	AmountUSD   string `json:"amountUSD"`
	TickLower   int64  `json:"tickLower"` // v3
	TickUpper   int64  `json:"tickUpper"` // v3
	Liquidity   string `json:"liquidity"` // v2
	LogIndex    int64  `json:"logIndex"`
}

Burn represents a liquidity remove event

type ChainDataSource

type ChainDataSource struct {
	ChainID     ids.ID `json:"chainId"`
	ChainName   string `json:"chainName"`
	Connected   bool   `json:"connected"`
	LastSync    int64  `json:"lastSync"`
	BlockHeight uint64 `json:"blockHeight"`
}

ChainDataSource represents a connected chain data source

type ChainSyncEvent

type ChainSyncEvent struct {
	ChainID     ids.ID `json:"chainId"`
	BlockHeight uint64 `json:"blockHeight"`
	BlockHash   ids.ID `json:"blockHash"`
	Timestamp   int64  `json:"timestamp"`
}

ChainSyncEvent represents a chain synchronization event

type DataIndex

type DataIndex struct {
	ID        string   `json:"id"`
	ChainID   ids.ID   `json:"chainId"`
	IndexType string   `json:"indexType"`
	Fields    []string `json:"fields"`
	Status    string   `json:"status"`
}

DataIndex represents an index for optimized queries

type DexFactory added in v1.22.76

type DexFactory struct {
	ID                  string `json:"id"`
	PoolCount           int64  `json:"poolCount"`
	PairCount           int64  `json:"pairCount"` // v2 compat
	TxCount             int64  `json:"txCount"`
	TotalVolumeUSD      string `json:"totalVolumeUSD"`
	TotalVolumeETH      string `json:"totalVolumeETH"`
	TotalFeesUSD        string `json:"totalFeesUSD"`
	TotalValueLockedUSD string `json:"totalValueLockedUSD"`
	TotalLiquidityUSD   string `json:"totalLiquidityUSD"` // v2 compat
	TotalValueLockedETH string `json:"totalValueLockedETH"`
}

DexFactory represents DEX factory stats (Uniswap-compatible)

type Factory

type Factory struct{}

Factory creates new instances of the Graph VM

func (*Factory) New

func (f *Factory) New(log.Logger) (interface{}, error)

New returns a new instance of the Graph VM

type GConfig

type GConfig struct {
	// DGraph configuration
	DgraphEndpoint   string `serialize:"true" json:"dgraphEndpoint"`
	SchemaVersion    string `serialize:"true" json:"schemaVersion"`
	EnableFederation bool   `serialize:"true" json:"enableFederation"`

	// Query configuration
	MaxQueryDepth  int `serialize:"true" json:"maxQueryDepth"`
	QueryTimeoutMs int `serialize:"true" json:"queryTimeoutMs"`
	MaxResultSize  int `serialize:"true" json:"maxResultSize"`

	// Index configuration
	AutoIndex      bool `serialize:"true" json:"autoIndex"`
	IndexBatchSize int  `serialize:"true" json:"indexBatchSize"`

	// Authentication configuration
	RequireAuth bool     `serialize:"true" json:"requireAuth"`
	APIKeys     []string `serialize:"true" json:"apiKeys"`
}

GConfig contains VM configuration

type GraphQLError added in v1.22.76

type GraphQLError struct {
	Message   string     `json:"message"`
	Locations []Location `json:"locations,omitempty"`
	Path      []string   `json:"path,omitempty"`
}

GraphQLError represents a GraphQL error

type GraphQLRequest added in v1.22.76

type GraphQLRequest struct {
	Query         string                 `json:"query"`
	OperationName string                 `json:"operationName,omitempty"`
	Variables     map[string]interface{} `json:"variables,omitempty"`
}

GraphQLRequest represents an incoming GraphQL request

type GraphQLResponse added in v1.22.76

type GraphQLResponse struct {
	Data   interface{}    `json:"data,omitempty"`
	Errors []GraphQLError `json:"errors,omitempty"`
}

GraphQLResponse represents a GraphQL response

type GraphSchema

type GraphSchema struct {
	ID         string   `json:"id"`
	Name       string   `json:"name"`
	Version    string   `json:"version"`
	Schema     string   `json:"schema"`
	Types      []string `json:"types"`
	Directives []string `json:"directives"`
	CreatedAt  int64    `json:"createdAt"`
	UpdatedAt  int64    `json:"updatedAt"`
}

GraphSchema represents a GraphQL schema definition

type IndexUpdate

type IndexUpdate struct {
	IndexID   string `json:"indexId"`
	ChainID   ids.ID `json:"chainId"`
	Operation string `json:"operation"` // create, update, rebuild
	Status    string `json:"status"`
}

IndexUpdate represents an index update

type Location added in v1.22.76

type Location struct {
	Line   int `json:"line"`
	Column int `json:"column"`
}

Location represents a location in the query

type Mint added in v1.22.76

type Mint struct {
	ID          string `json:"id"`
	Transaction string `json:"transaction"`
	Timestamp   int64  `json:"timestamp"`
	Pool        string `json:"pool"`
	Pair        string `json:"pair"` // v2 compat
	Token0      string `json:"token0"`
	Token1      string `json:"token1"`
	Owner       string `json:"owner"`
	Sender      string `json:"sender"`
	Origin      string `json:"origin"`
	Amount      string `json:"amount"` // liquidity amount
	Amount0     string `json:"amount0"`
	Amount1     string `json:"amount1"`
	AmountUSD   string `json:"amountUSD"`
	TickLower   int64  `json:"tickLower"` // v3
	TickUpper   int64  `json:"tickUpper"` // v3
	Liquidity   string `json:"liquidity"` // v2
	LogIndex    int64  `json:"logIndex"`
}

Mint represents a liquidity add event

type Pair added in v1.22.76

type Pair struct {
	ID                   string `json:"id"` // address
	Token0               *Token `json:"token0"`
	Token1               *Token `json:"token1"`
	Reserve0             string `json:"reserve0"`
	Reserve1             string `json:"reserve1"`
	TotalSupply          string `json:"totalSupply"`
	ReserveETH           string `json:"reserveETH"`
	ReserveUSD           string `json:"reserveUSD"`
	TrackedReserveETH    string `json:"trackedReserveETH"`
	Token0Price          string `json:"token0Price"`
	Token1Price          string `json:"token1Price"`
	VolumeToken0         string `json:"volumeToken0"`
	VolumeToken1         string `json:"volumeToken1"`
	VolumeUSD            string `json:"volumeUSD"`
	TxCount              int64  `json:"txCount"`
	CreatedAtTimestamp   int64  `json:"createdAtTimestamp"`
	CreatedAtBlockNumber int64  `json:"createdAtBlockNumber"`
}

Pair represents a v2-style constant product AMM pair

type PairDayData added in v1.22.76

type PairDayData struct {
	ID                string `json:"id"`
	Date              int64  `json:"date"`
	PairAddress       string `json:"pairAddress"`
	Token0            string `json:"token0"`
	Token1            string `json:"token1"`
	Reserve0          string `json:"reserve0"`
	Reserve1          string `json:"reserve1"`
	TotalSupply       string `json:"totalSupply"`
	ReserveUSD        string `json:"reserveUSD"`
	DailyVolumeToken0 string `json:"dailyVolumeToken0"`
	DailyVolumeToken1 string `json:"dailyVolumeToken1"`
	DailyVolumeUSD    string `json:"dailyVolumeUSD"`
	DailyTxns         int64  `json:"dailyTxns"`
}

PairDayData represents daily v2 pair stats

type Pool added in v1.22.76

type Pool struct {
	ID                     string `json:"id"` // address
	CreatedAtTimestamp     int64  `json:"createdAtTimestamp"`
	CreatedAtBlockNumber   int64  `json:"createdAtBlockNumber"`
	Token0                 *Token `json:"token0"`
	Token1                 *Token `json:"token1"`
	FeeTier                int64  `json:"feeTier"`
	Liquidity              string `json:"liquidity"`
	SqrtPrice              string `json:"sqrtPrice"`
	Token0Price            string `json:"token0Price"`
	Token1Price            string `json:"token1Price"`
	Tick                   int64  `json:"tick"`
	ObservationIndex       int64  `json:"observationIndex"`
	VolumeToken0           string `json:"volumeToken0"`
	VolumeToken1           string `json:"volumeToken1"`
	VolumeUSD              string `json:"volumeUSD"`
	FeesUSD                string `json:"feesUSD"`
	TxCount                int64  `json:"txCount"`
	TotalValueLockedToken0 string `json:"totalValueLockedToken0"`
	TotalValueLockedToken1 string `json:"totalValueLockedToken1"`
	TotalValueLockedETH    string `json:"totalValueLockedETH"`
	TotalValueLockedUSD    string `json:"totalValueLockedUSD"`
}

Pool represents a v3-style concentrated liquidity pool

type PoolDayData added in v1.22.76

type PoolDayData struct {
	ID           string `json:"id"`
	Date         int64  `json:"date"`
	Pool         string `json:"pool"`
	Liquidity    string `json:"liquidity"`
	SqrtPrice    string `json:"sqrtPrice"`
	Token0Price  string `json:"token0Price"`
	Token1Price  string `json:"token1Price"`
	Tick         int64  `json:"tick"`
	TvlUSD       string `json:"tvlUSD"`
	VolumeToken0 string `json:"volumeToken0"`
	VolumeToken1 string `json:"volumeToken1"`
	VolumeUSD    string `json:"volumeUSD"`
	FeesUSD      string `json:"feesUSD"`
	TxCount      int64  `json:"txCount"`
	Open         string `json:"open"`
	High         string `json:"high"`
	Low          string `json:"low"`
	Close        string `json:"close"`
}

PoolDayData represents daily pool stats

type PoolHourData added in v1.22.76

type PoolHourData struct {
	ID              string `json:"id"`
	PeriodStartUnix int64  `json:"periodStartUnix"`
	Pool            string `json:"pool"`
	Liquidity       string `json:"liquidity"`
	SqrtPrice       string `json:"sqrtPrice"`
	Token0Price     string `json:"token0Price"`
	Token1Price     string `json:"token1Price"`
	Tick            int64  `json:"tick"`
	TvlUSD          string `json:"tvlUSD"`
	VolumeToken0    string `json:"volumeToken0"`
	VolumeToken1    string `json:"volumeToken1"`
	VolumeUSD       string `json:"volumeUSD"`
	FeesUSD         string `json:"feesUSD"`
	TxCount         int64  `json:"txCount"`
	Open            string `json:"open"`
	High            string `json:"high"`
	Low             string `json:"low"`
	Close           string `json:"close"`
}

PoolHourData represents hourly pool stats

type Query

type Query struct {
	ID          ids.ID      `json:"id"`
	QueryText   string      `json:"queryText"`
	Variables   []byte      `json:"variables"`
	ChainScope  []ids.ID    `json:"chainScope"`
	Result      []byte      `json:"result,omitempty"`
	Status      QueryStatus `json:"status"`
	SubmittedAt int64       `json:"submittedAt"`
	CompletedAt int64       `json:"completedAt,omitempty"`
}

Query represents a GraphQL query

type QueryExecutor added in v1.22.76

type QueryExecutor struct {
	// contains filtered or unexported fields
}

QueryExecutor executes GraphQL queries against the shared database

func NewQueryExecutor added in v1.22.76

func NewQueryExecutor(db database.Database, config *GConfig) *QueryExecutor

NewQueryExecutor creates a new GraphQL query executor

func (*QueryExecutor) Execute added in v1.22.76

Execute executes a GraphQL query

func (*QueryExecutor) GetDB added in v1.22.76

func (e *QueryExecutor) GetDB() database.Database

GetDB returns the underlying database (read-only access)

func (*QueryExecutor) RegisterResolver added in v1.22.76

func (e *QueryExecutor) RegisterResolver(name string, resolver ResolverFunc)

RegisterResolver allows adding custom resolvers

func (*QueryExecutor) SubscribeChain added in v1.22.76

func (e *QueryExecutor) SubscribeChain(chainID ids.ID, chainName string, prefix string) error

SubscribeChain connects a chain as a data source for cross-chain queries

type QueryResult

type QueryResult struct {
	QueryID    ids.ID `json:"queryId"`
	ResultHash []byte `json:"resultHash"`
	Status     string `json:"status"`
}

QueryResult represents a query result to be committed

type QueryStatus

type QueryStatus uint8

QueryStatus represents the status of a query

const (
	QueryPending QueryStatus = iota
	QueryProcessing
	QueryCompleted
	QueryFailed
)

type ResolverFunc added in v1.22.76

type ResolverFunc func(ctx context.Context, db database.Database, args map[string]interface{}) (interface{}, error)

ResolverFunc resolves a field from the database

type SchemaUpdate

type SchemaUpdate struct {
	SchemaID   string `json:"schemaId"`
	Operation  string `json:"operation"` // create, update, delete
	NewVersion string `json:"newVersion,omitempty"`
	Schema     string `json:"schema,omitempty"`
}

SchemaUpdate represents an update to a GraphQL schema

type Subscription

type Subscription struct {
	ID         ids.ID   `json:"id"`
	QueryText  string   `json:"queryText"`
	ChainScope []ids.ID `json:"chainScope"`
	Active     bool     `json:"active"`
	CreatedAt  int64    `json:"createdAt"`
}

Subscription represents a GraphQL subscription

type Swap added in v1.22.76

type Swap struct {
	ID           string `json:"id"` // txHash#logIndex
	Transaction  string `json:"transaction"`
	Timestamp    int64  `json:"timestamp"`
	Pool         string `json:"pool"`
	Pair         string `json:"pair"` // v2 compat
	Token0       string `json:"token0"`
	Token1       string `json:"token1"`
	Sender       string `json:"sender"`
	Recipient    string `json:"recipient"`
	Origin       string `json:"origin"`
	Amount0      string `json:"amount0"`
	Amount1      string `json:"amount1"`
	Amount0In    string `json:"amount0In"`  // v2
	Amount0Out   string `json:"amount0Out"` // v2
	Amount1In    string `json:"amount1In"`  // v2
	Amount1Out   string `json:"amount1Out"` // v2
	AmountUSD    string `json:"amountUSD"`
	SqrtPriceX96 string `json:"sqrtPriceX96"` // v3
	Tick         int64  `json:"tick"`         // v3
	LogIndex     int64  `json:"logIndex"`
}

Swap represents a swap event

type Tick added in v1.22.76

type Tick struct {
	ID                   string `json:"id"` // pool#tickIdx
	PoolAddress          string `json:"poolAddress"`
	TickIdx              int64  `json:"tickIdx"`
	LiquidityGross       string `json:"liquidityGross"`
	LiquidityNet         string `json:"liquidityNet"`
	Price0               string `json:"price0"`
	Price1               string `json:"price1"`
	CreatedAtTimestamp   int64  `json:"createdAtTimestamp"`
	CreatedAtBlockNumber int64  `json:"createdAtBlockNumber"`
}

Tick represents liquidity at a specific price tick (v3)

type Token added in v1.22.76

type Token struct {
	ID                  string `json:"id"` // address
	Symbol              string `json:"symbol"`
	Name                string `json:"name"`
	Decimals            int64  `json:"decimals"`
	TotalSupply         string `json:"totalSupply"`
	Volume              string `json:"volume"`
	VolumeUSD           string `json:"volumeUSD"`
	UntrackedVolumeUSD  string `json:"untrackedVolumeUSD"`
	FeesUSD             string `json:"feesUSD"`
	TxCount             int64  `json:"txCount"`
	PoolCount           int64  `json:"poolCount"`
	TotalValueLocked    string `json:"totalValueLocked"`
	TotalValueLockedUSD string `json:"totalValueLockedUSD"`
	TotalLiquidity      string `json:"totalLiquidity"` // v2 compat
	DerivedETH          string `json:"derivedETH"`
	DerivedLUX          string `json:"derivedLUX"`     // native token derived price
	TradeVolume         string `json:"tradeVolume"`    // v2 compat
	TradeVolumeUSD      string `json:"tradeVolumeUSD"` // v2 compat
}

Token represents ERC20 token metadata and stats

type TokenDayData added in v1.22.76

type TokenDayData struct {
	ID                  string `json:"id"` // tokenAddr-timestamp
	Date                int64  `json:"date"`
	Token               string `json:"token"`
	Volume              string `json:"volume"`
	VolumeUSD           string `json:"volumeUSD"`
	TotalValueLocked    string `json:"totalValueLocked"`
	TotalValueLockedUSD string `json:"totalValueLockedUSD"`
	PriceUSD            string `json:"priceUSD"`
	FeesUSD             string `json:"feesUSD"`
	Open                string `json:"open"`
	High                string `json:"high"`
	Low                 string `json:"low"`
	Close               string `json:"close"`
}

TokenDayData represents daily token stats

type TokenHourData added in v1.22.76

type TokenHourData struct {
	ID                  string `json:"id"`
	PeriodStartUnix     int64  `json:"periodStartUnix"`
	Token               string `json:"token"`
	Volume              string `json:"volume"`
	VolumeUSD           string `json:"volumeUSD"`
	TotalValueLocked    string `json:"totalValueLocked"`
	TotalValueLockedUSD string `json:"totalValueLockedUSD"`
	PriceUSD            string `json:"priceUSD"`
	FeesUSD             string `json:"feesUSD"`
	Open                string `json:"open"`
	High                string `json:"high"`
	Low                 string `json:"low"`
	Close               string `json:"close"`
}

TokenHourData represents hourly token stats

type VM

type VM struct {
	// contains filtered or unexported fields
}

VM implements the chain.ChainVM interface for the Graph Chain (G-Chain)

func (*VM) AppGossip

func (vm *VM) AppGossip(ctx context.Context, nodeID ids.NodeID, msg []byte) error

AppGossip implements the common.AppHandler interface

func (*VM) AppRequest

func (vm *VM) AppRequest(ctx context.Context, nodeID ids.NodeID, requestID uint32, deadline time.Time, request []byte) error

AppRequest implements the common.AppHandler interface

func (*VM) AppRequestFailed

func (vm *VM) AppRequestFailed(ctx context.Context, nodeID ids.NodeID, requestID uint32, appErr *warp.Error) error

AppRequestFailed implements the common.AppHandler interface

func (*VM) AppResponse

func (vm *VM) AppResponse(ctx context.Context, nodeID ids.NodeID, requestID uint32, response []byte) error

AppResponse implements the common.AppHandler interface

func (*VM) BuildBlock

func (vm *VM) BuildBlock(ctx context.Context) (block.Block, error)

BuildBlock implements the chain.ChainVM interface

func (*VM) ConnectChainSource

func (vm *VM) ConnectChainSource(chainID ids.ID, chainName string) error

ConnectChainSource connects a chain as a data source

func (*VM) Connected

func (vm *VM) Connected(ctx context.Context, nodeID ids.NodeID, nodeVersion interface{}) error

Connected implements the validators.Connector interface

func (*VM) CreateHandlers

func (vm *VM) CreateHandlers(context.Context) (map[string]http.Handler, error)

CreateHandlers implements the common.VM interface

func (*VM) CrossChainAppRequest

func (vm *VM) CrossChainAppRequest(ctx context.Context, chainID ids.ID, requestID uint32, deadline time.Time, msg []byte) error

CrossChainAppRequest implements the common.VM interface

func (*VM) CrossChainAppRequestFailed

func (vm *VM) CrossChainAppRequestFailed(ctx context.Context, chainID ids.ID, requestID uint32, appErr *warp.Error) error

CrossChainAppRequestFailed implements the common.VM interface

func (*VM) CrossChainAppResponse

func (vm *VM) CrossChainAppResponse(ctx context.Context, chainID ids.ID, requestID uint32, msg []byte) error

CrossChainAppResponse implements the common.VM interface

func (*VM) Disconnected

func (vm *VM) Disconnected(ctx context.Context, nodeID ids.NodeID) error

Disconnected implements the validators.Connector interface

func (*VM) ExecuteQuery

func (vm *VM) ExecuteQuery(query *Query) error

ExecuteQuery executes a GraphQL query

func (*VM) GetBlock

func (vm *VM) GetBlock(ctx context.Context, blkID ids.ID) (block.Block, error)

GetBlock implements the chain.ChainVM interface

func (*VM) GetBlockIDAtHeight

func (vm *VM) GetBlockIDAtHeight(ctx context.Context, height uint64) (ids.ID, error)

GetBlockIDAtHeight implements the chain.ChainVM interface

func (*VM) HealthCheck

func (vm *VM) HealthCheck(context.Context) (any, error)

HealthCheck implements the health.Checker interface

func (*VM) Initialize

func (vm *VM) Initialize(
	ctx context.Context,
	chainCtx interface{},
	db interface{},
	genesisBytes []byte,
	upgradeBytes []byte,
	configBytes []byte,
	msgChan interface{},
	fxs []interface{},
	appSender interface{},
) error

Initialize implements the common.VM interface

func (*VM) LastAccepted

func (vm *VM) LastAccepted(context.Context) (ids.ID, error)

LastAccepted implements the chain.ChainVM interface

func (*VM) NewHTTPHandler

func (vm *VM) NewHTTPHandler(ctx context.Context) (interface{}, error)

NewHTTPHandler returns HTTP handlers for the VM

func (*VM) ParseBlock

func (vm *VM) ParseBlock(ctx context.Context, blockBytes []byte) (block.Block, error)

ParseBlock implements the chain.ChainVM interface

func (*VM) RegisterSchema

func (vm *VM) RegisterSchema(schema *GraphSchema) error

RegisterSchema registers a new GraphQL schema

func (*VM) SetPreference

func (vm *VM) SetPreference(ctx context.Context, blkID ids.ID) error

SetPreference implements the chain.ChainVM interface

func (*VM) SetState

func (vm *VM) SetState(ctx context.Context, state uint32) error

SetState implements the common.VM interface

func (*VM) Shutdown

func (vm *VM) Shutdown(context.Context) error

Shutdown implements the common.VM interface

func (*VM) Version

func (vm *VM) Version(context.Context) (string, error)

Version implements the common.VM interface

func (*VM) WaitForEvent

func (vm *VM) WaitForEvent(ctx context.Context) (interface{}, error)

WaitForEvent blocks until an event occurs that should trigger block building

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL