 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- Variables
- func RegisterAllLibEVMExtras()
- type Admin
- func (p *Admin) GetVMConfig(_ *http.Request, _ *struct{}, reply *client.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 *client.SetLogLevelArgs, _ *api.EmptyReply) error
- func (p *Admin) StartCPUProfiler(*http.Request, *struct{}, *api.EmptyReply) error
- func (p *Admin) StopCPUProfiler(*http.Request, *struct{}, *api.EmptyReply) error
 
- type DatabaseConfig
- type EthPushGossiper
- type Factory
- 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 Status
- type VM
- func (vm *VM) Connected(ctx context.Context, nodeID ids.NodeID, version *version.Application) error
- func (*VM) CreateHTTP2Handler(context.Context) (http.Handler, error)
- func (vm *VM) CreateHandlers(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) HealthCheck(context.Context) (interface{}, error)
- func (vm *VM) Initialize(_ context.Context, chainCtx *snow.Context, db database.Database, ...) error
- func (vm *VM) NewBlockBuilder() *blockBuilder
- func (vm *VM) NewHTTPHandler(ctx context.Context) (http.Handler, error)
- func (vm *VM) ParseEthBlock(b []byte) (*types.Block, error)
- func (vm *VM) PutLastAcceptedID(id ids.ID) 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) Version(context.Context) (string, error)
- func (vm *VM) WaitForEvent(ctx context.Context) (commonEng.Message, error)
 
- type ValidatorsAPI
Constants ¶
const ( // Minimum amount of time to wait to retry building a block after a failed attempt. // It is assumed that the first block building attempt is already after the minimum delay time. RetryDelay = 100 * time.Millisecond )
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.7.10" )
Functions ¶
func RegisterAllLibEVMExtras ¶
func RegisterAllLibEVMExtras()
RegisterAllLibEVMExtras is a convenience wrapper for calling core.RegisterExtras, customtypes.Register, and params.RegisterExtras. Together these are necessary and sufficient for configuring libevm for C-Chain behaviour.
It MUST NOT be called more than once and therefore is only allowed to be used in tests and `package main`, to avoid polluting other packages that transitively depend on this one but don't need registration.
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 (*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 *client.SetLogLevelArgs, _ *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 DatabaseConfig ¶ added in v0.7.4
type DatabaseConfig struct {
	// If true, all writes are to memory and are discarded at shutdown.
	ReadOnly bool `json:"readOnly"`
	// Path to database
	Path string `json:"path"`
	// Name of the database type to use
	Name string `json:"name"`
	// Config bytes (JSON) for the database
	// See relevant (pebbledb, leveldb) config options
	Config []byte `json:"-"`
}
    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 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 (GossipEthTxMarshaller) MarshalGossip(tx *GossipEthTx) ([]byte, error)
func (GossipEthTxMarshaller) UnmarshalGossip ¶ added in v0.5.11
func (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 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 VM ¶
type VM struct {
	// *chain.State helps to implement the VM interface by wrapping blocks
	// with an efficient caching layer.
	*chain.State
	network.Network
	// State sync server and client
	vmsync.Server
	vmsync.Client
	// contains filtered or unexported fields
}
    VM implements the snowman.ChainVM interface
func (*VM) CreateHTTP2Handler ¶ added in v0.7.5
func (*VM) CreateHandlers ¶
CreateHandlers 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, fxs []*commonEng.Fx, appSender commonEng.AppSender, ) error
Initialize implements the snowman.ChainVM interface
func (*VM) NewBlockBuilder ¶
func (vm *VM) NewBlockBuilder() *blockBuilder
func (*VM) NewHTTPHandler ¶ added in v0.7.6
NewHTTPHandler implements the block.ChainVM interface
func (*VM) ParseEthBlock ¶ added in v0.3.0
func (*VM) SetPreference ¶
SetPreference sets what the current tail of the chain is
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 *client.GetCurrentValidatorsRequest, reply *client.GetCurrentValidatorsResponse) error
       Source Files
      ¶
      Source Files
      ¶
    
  
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| blockgascost implements the block gas cost logic | blockgascost implements the block gas cost logic | 
| upgrade
       | |
| 
          
            subnetevm
            
            
          
           subnetevm defines the dynamic fee window used after subnetevm upgrade. | subnetevm defines the dynamic fee window used after subnetevm upgrade. | 
| 
          
            state/interfaces
            
            
          
           Package interfaces is a generated GoMock package. | Package interfaces is a generated GoMock package. |