Documentation
¶
Index ¶
- Constants
- Variables
- 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, 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 AvaxAPI
- func (service *AvaxAPI) GetAtomicTx(r *http.Request, args *api.GetTxArgs, reply *FormattedTx) error
- func (service *AvaxAPI) GetAtomicTxStatus(r *http.Request, args *api.JSONTxID, reply *client.GetAtomicTxStatusReply) error
- func (service *AvaxAPI) GetUTXOs(r *http.Request, args *api.GetUTXOsArgs, reply *api.GetUTXOsReply) error
- func (service *AvaxAPI) IssueTx(r *http.Request, args *api.FormattedTx, response *api.JSONTxID) error
- func (service *AvaxAPI) Version(r *http.Request, _ *struct{}, reply *VersionReply) error
- type EthPushGossiper
- type Factory
- type FormattedTx
- type GetAcceptedFrontReply
- 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 LeafHandlers
- type LeafRequestTypeConfig
- type SnowmanAPI
- type VM
- func (vm *VM) AtomicMempool() *txpool.Mempool
- func (vm *VM) ChainConfig() *params.ChainConfig
- func (vm *VM) Config() config.Config
- func (vm *VM) CreateHTTP2Handler(context.Context) (http.Handler, error)
- func (vm *VM) CreateHandlers(context.Context) (map[string]http.Handler, error)
- func (vm *VM) Ethereum() *eth.Ethereum
- func (vm *VM) FormatAddress(chainID ids.ID, addr ids.ShortID) (string, error)
- func (vm *VM) FormatLocalAddress(addr ids.ShortID) (string, error)
- func (vm *VM) GetAcceptedBlock(ctx context.Context, blkID ids.ID) (snowman.Block, error)
- func (vm *VM) GetAtomicUTXOs(chainID ids.ID, addrs set.Set[ids.ShortID], startAddr ids.ShortID, ...) ([]*avax.UTXO, ids.ShortID, ids.ID, error)
- func (vm *VM) GetBlockIDAtHeight(_ context.Context, height uint64) (ids.ID, error)
- func (vm *VM) GetExtendedBlock(ctx context.Context, blkID ids.ID) (extension.ExtendedBlock, 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) IsBootstrapped() bool
- func (vm *VM) LastAcceptedExtendedBlock() extension.ExtendedBlock
- func (vm *VM) NewBlockBuilder(notifyBuildBlockChan chan<- commonEng.Message) *blockBuilder
- func (vm *VM) ParseAddress(addrStr string) (ids.ID, ids.ShortID, error)
- func (vm *VM) ParseEthBlock(b []byte) (*types.Block, error)
- func (vm *VM) ParseLocalAddress(addrStr string) (ids.ShortID, error)
- func (vm *VM) ParseServiceAddress(addrStr string) (ids.ShortID, error)
- func (vm *VM) PutLastAcceptedID(ID ids.ID) error
- func (vm *VM) ReadLastAccepted() (common.Hash, uint64, error)
- func (vm *VM) SetExtensionConfig(config *extension.Config) 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) Version(context.Context) (string, error)
- func (vm *VM) VersionDB() *versiondb.Database
- type VersionReply
Constants ¶
const ( GenesisTestAddr = "0x751a0b96e1042bee789452ecb20253fba40dbe85" GenesisTestKey = "0xabd71b35d559563fea757f0f5edbde286fb8c043105b15abb7cd57189306d7d1" )
test constants
Variables ¶
var ( // GitCommit is set by the build script GitCommit string // Version is the version of Coreth Version string = "v0.15.1" )
var ( // ID this VM should be referenced by ID = ids.ID{'e', 'v', 'm'} )
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 ¶
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, 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 AvaxAPI ¶
type AvaxAPI struct {
// contains filtered or unexported fields
}
AvaxAPI offers Avalanche network related API methods
func (*AvaxAPI) GetAtomicTx ¶
GetAtomicTx returns the specified transaction
func (*AvaxAPI) GetAtomicTxStatus ¶
func (service *AvaxAPI) GetAtomicTxStatus(r *http.Request, args *api.JSONTxID, reply *client.GetAtomicTxStatusReply) error
GetAtomicTxStatus returns the status of the specified transaction
func (*AvaxAPI) GetUTXOs ¶
func (service *AvaxAPI) GetUTXOs(r *http.Request, args *api.GetUTXOsArgs, reply *api.GetUTXOsReply) error
GetUTXOs gets all utxos for passed in addresses
type EthPushGossiper ¶
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 ¶
func (e *EthPushGossiper) Add(tx *types.Transaction)
type FormattedTx ¶
type FormattedTx struct {
api.FormattedTx
BlockHeight *json.Uint64 `json:"blockHeight,omitempty"`
}
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 GossipEthTx ¶
type GossipEthTx struct {
Tx *types.Transaction
}
func (*GossipEthTx) GossipID ¶
func (tx *GossipEthTx) GossipID() ids.ID
type GossipEthTxMarshaller ¶
type GossipEthTxMarshaller struct{}
func (GossipEthTxMarshaller) MarshalGossip ¶
func (g GossipEthTxMarshaller) MarshalGossip(tx *GossipEthTx) ([]byte, error)
func (GossipEthTxMarshaller) UnmarshalGossip ¶
func (g GossipEthTxMarshaller) UnmarshalGossip(bytes []byte) (*GossipEthTx, error)
type GossipEthTxPool ¶
type GossipEthTxPool struct {
// contains filtered or unexported fields
}
func NewGossipEthTxPool ¶
func NewGossipEthTxPool(mempool *txpool.TxPool, registerer prometheus.Registerer) (*GossipEthTxPool, error)
func (*GossipEthTxPool) Add ¶
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 ¶
func (g *GossipEthTxPool) GetFilter() ([]byte, []byte)
func (*GossipEthTxPool) Has ¶
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 ¶
func (g *GossipEthTxPool) IsSubscribed() bool
IsSubscribed returns whether or not the gossip subscription is active.
func (*GossipEthTxPool) Iterate ¶
func (g *GossipEthTxPool) Iterate(f func(tx *GossipEthTx) bool)
func (*GossipEthTxPool) Subscribe ¶
func (g *GossipEthTxPool) Subscribe(ctx context.Context)
type LeafHandlers ¶
type LeafHandlers map[message.NodeType]syncHandlers.LeafRequestHandler
type LeafRequestTypeConfig ¶
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 VM ¶
type VM struct {
// *chain.State helps to implement the VM interface by wrapping blocks
// with an efficient caching layer.
*chain.State
network.Network
IsPlugin bool
// State sync server and client
vmsync.Server
vmsync.Client
// contains filtered or unexported fields
}
VM implements the snowman.ChainVM interface
func (*VM) AtomicMempool ¶
func (*VM) ChainConfig ¶
func (vm *VM) ChainConfig() *params.ChainConfig
func (*VM) CreateHTTP2Handler ¶
func (*VM) CreateHandlers ¶
CreateHandlers makes new http handlers that can handle API calls
func (*VM) FormatAddress ¶
FormatAddress takes in a chainID and a raw address and produces the formatted address
func (*VM) FormatLocalAddress ¶
FormatLocalAddress takes in a raw address and produces the formatted address
func (*VM) GetAcceptedBlock ¶
GetAcceptedBlock attempts to retrieve block [blkID] from the VM. This method only returns accepted blocks.
func (*VM) GetAtomicUTXOs ¶
func (vm *VM) GetAtomicUTXOs( chainID ids.ID, addrs set.Set[ids.ShortID], startAddr ids.ShortID, startUTXOID ids.ID, limit int, ) ([]*avax.UTXO, ids.ShortID, ids.ID, error)
GetAtomicUTXOs returns the utxos that at least one of the provided addresses is referenced in.
func (*VM) GetBlockIDAtHeight ¶
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) GetExtendedBlock ¶
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, _ []byte, configBytes []byte, toEngine chan<- commonEng.Message, _ []*commonEng.Fx, appSender commonEng.AppSender, ) error
Initialize implements the snowman.ChainVM interface
func (*VM) IsBootstrapped ¶
IsBootstrapped returns true if the VM has finished bootstrapping
func (*VM) LastAcceptedExtendedBlock ¶
func (vm *VM) LastAcceptedExtendedBlock() extension.ExtendedBlock
func (*VM) NewBlockBuilder ¶
func (*VM) ParseAddress ¶
ParseAddress takes in an address and produces the ID of the chain it's for the ID of the address
func (*VM) ParseLocalAddress ¶
ParseLocalAddress takes in an address for this chain and produces the ID
func (*VM) ParseServiceAddress ¶
ParseServiceAddress get address ID from address string, being it either localized (using address manager, doing also components validations), or not localized. If both attempts fail, reports error from localized address parsing
func (*VM) ReadLastAccepted ¶
readLastAccepted reads the last accepted hash from [acceptedBlockDB] and returns the last accepted block hash and height by reading directly from [vm.chaindb] instead of relying on chain. Note: assumes [vm.chaindb] and [vm.genesisHash] have been initialized.
func (*VM) SetPreference ¶
SetPreference sets what the current tail of the chain is
type VersionReply ¶
type VersionReply struct {
Version string `json:"version"`
}
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
upgrade
|
|
|
acp176
ACP176 implements the fee logic specified here: https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/176-dynamic-evm-gas-limit-and-price-discovery-updates/README.md
|
ACP176 implements the fee logic specified here: https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/176-dynamic-evm-gas-limit-and-price-discovery-updates/README.md |
|
ap0
AP0 defines constants used during the initial network launch.
|
AP0 defines constants used during the initial network launch. |
|
ap1
AP1 defines constants used after the Apricot Phase 1 upgrade.
|
AP1 defines constants used after the Apricot Phase 1 upgrade. |
|
ap3
AP3 defines the dynamic fee window used after the Apricot Phase 3 upgrade.
|
AP3 defines the dynamic fee window used after the Apricot Phase 3 upgrade. |
|
ap4
AP4 implements the block gas cost logic activated by the Apricot Phase 4 upgrade.
|
AP4 implements the block gas cost logic activated by the Apricot Phase 4 upgrade. |
|
ap5
AP5 defines constants used after the Apricot Phase 5 upgrade.
|
AP5 defines constants used after the Apricot Phase 5 upgrade. |
|
cortina
Cortina defines constants used after the Cortina upgrade.
|
Cortina defines constants used after the Cortina upgrade. |
|
etna
Etna defines constants used after the Etna upgrade.
|
Etna defines constants used after the Etna upgrade. |