Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotFound = errors.New("not found")
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// Note: The string representation of a VM's ID is also considered to be an
// alias of the VM. That is, [vmID].String() is an alias for [vmID].
ids.Aliaser
// contains filtered or unexported fields
}
Manager tracks a collection of VM factories, their aliases, and their versions. It has the following functionality:
- Register a VM factory. To register a VM is to associate its ID with a VMFactory which, when New() is called upon it, creates a new instance of that VM.
- Get a VM factory. Given the ID of a VM that has been registered, return the factory that the ID is associated with.
- Manage the aliases of VMs
- Manage the versions of VMs
func NewManager ¶
NewManager returns an instance of a VM manager
func (*Manager) GetFactory ¶ added in v1.4.8
Return a factory that can create new instances of the vm whose ID is vmID.
func (*Manager) ListFactories ¶ added in v1.7.0
ListFactories returns all the IDs that have had factories registered.
func (*Manager) RegisterFactory ¶ added in v1.4.8
Map vmID to factory. factory creates new instances of the vm whose ID is vmID.
Directories
¶
| Path | Synopsis |
|---|---|
|
block
Package block is a generated GoMock package.
|
Package block is a generated GoMock package. |
|
block/executor/executormock
Package executormock is a generated GoMock package.
|
Package executormock is a generated GoMock package. |
|
metrics/metricsmock
Package metricsmock is a generated GoMock package.
|
Package metricsmock is a generated GoMock package. |
|
state/statemock
Package statemock is a generated GoMock package.
|
Package statemock is a generated GoMock package. |
|
txs/txsmock
Package txsmock is a generated GoMock package.
|
Package txsmock is a generated GoMock package. |
|
components
|
|
|
avax/avaxmock
Package avaxmock is a generated GoMock package.
|
Package avaxmock is a generated GoMock package. |
|
gas
The gas package implements dynamic gas pricing specified in ACP-103: https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/103-dynamic-fees
|
The gas package implements dynamic gas pricing specified in ACP-103: https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/103-dynamic-fees |
|
verify/verifymock
Package verifymock is a generated GoMock package.
|
Package verifymock is a generated GoMock package. |
|
evm
|
|
|
acp176
Package acp176 defines the fee state and constants of ACP-176, specified here: https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/176-dynamic-evm-gas-limit-and-price-discovery-updates/README.md
|
Package acp176 defines the fee state and constants of ACP-176, specified here: https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/176-dynamic-evm-gas-limit-and-price-discovery-updates/README.md |
|
acp226
ACP-226 implements the dynamic minimum block delay mechanism specified here: https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/226-dynamic-minimum-block-times/README.md
|
ACP-226 implements the dynamic minimum block delay mechanism specified here: https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/226-dynamic-minimum-block-times/README.md |
|
blackhole
Package blackhole defines the address to which EVM chains burn fees.
|
Package blackhole defines the address to which EVM chains burn fees. |
|
emulate
Package emulate provides temporary emulation of coreth (C-Chain) and subnet-evm (EVM L1) behaviours.
|
Package emulate provides temporary emulation of coreth (C-Chain) and subnet-evm (EVM L1) behaviours. |
|
evmclient
Package evmclient provides a unified client for interacting with ethclient, gethclient, and any custom methods for Avalanche EVMs.
|
Package evmclient provides a unified client for interacting with ethclient, gethclient, and any custom methods for Avalanche EVMs. |
|
example
|
|
|
xsvm/cmd/xsvm
command
|
|
|
block/executor/executormock
Package executormock is a generated GoMock package.
|
Package executormock is a generated GoMock package. |
|
fx/fxmock
Package fxmock is a generated GoMock package.
|
Package fxmock is a generated GoMock package. |
|
platform
Package platform is a generated GoMock package.
|
Package platform is a generated GoMock package. |
|
signer/signermock
Package signermock is a generated GoMock package.
|
Package signermock is a generated GoMock package. |
|
txs/fee
TODO: Before Etna, address all TODOs in this package and ensure ACP-103 compliance.
|
TODO: Before Etna, address all TODOs in this package and ensure ACP-103 compliance. |
|
utxo/utxomock
Package utxomock is a generated GoMock package.
|
Package utxomock is a generated GoMock package. |
|
acp181
ACP181 implements the epoch logic specified here: https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/181-p-chain-epoched-views/README.md
|
ACP181 implements the epoch logic specified here: https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/181-p-chain-epoched-views/README.md |
|
proposer/proposermock
Package proposermock is a generated GoMock package.
|
Package proposermock is a generated GoMock package. |
|
registrymock
Package registrymock is a generated GoMock package.
|
Package registrymock is a generated GoMock package. |
|
saevm
|
|
|
adaptor
Package adaptor provides a generic alternative to the Snowman block.ChainVM interface, which doesn't require the block to be aware of the VM implementation.
|
Package adaptor provides a generic alternative to the Snowman block.ChainVM interface, which doesn't require the block to be aware of the VM implementation. |
|
blocks
Package blocks defines [Streaming Asynchronous Execution] (SAE) blocks.
|
Package blocks defines [Streaming Asynchronous Execution] (SAE) blocks. |
|
blocks/blockstest
Package blockstest provides test helpers for constructing [Streaming Asynchronous Execution] (SAE) blocks.
|
Package blockstest provides test helpers for constructing [Streaming Asynchronous Execution] (SAE) blocks. |
|
cchain
Package cchain implements the C-Chain VM atop sae.VM.
|
Package cchain implements the C-Chain VM atop sae.VM. |
|
cchain/cchaintest
Package cchaintest provides shared helpers for constructing C-Chain blocks in tests.
|
Package cchaintest provides shared helpers for constructing C-Chain blocks in tests. |
|
cchain/dynamic
Package dynamic implements the exponential integrators used to ramp C-Chain consensus parameters smoothly between blocks.
|
Package dynamic implements the exponential integrators used to ramp C-Chain consensus parameters smoothly between blocks. |
|
cchain/libevm
Package libevm registers the C-Chain's libevm hooks and payloads.
|
Package libevm registers the C-Chain's libevm hooks and payloads. |
|
cchain/state
Package state manages the on-disk state for the C-Chain's cross-chain transactions.
|
Package state manages the on-disk state for the C-Chain's cross-chain transactions. |
|
cchain/statesync
Package statesync wraps the functionality in statesync with the C-Chain specific state.
|
Package statesync wraps the functionality in statesync with the C-Chain specific state. |
|
cchain/synchronoustest
Package synchronoustest provides a deterministic, pre-generated C-Chain history crossing every pre-SAE network upgrade, for tests that need realistic synchronous blocks.
|
Package synchronoustest provides a deterministic, pre-generated C-Chain history crossing every pre-SAE network upgrade, for tests that need realistic synchronous blocks. |
|
cchain/tx
Package tx defines the Avalanche-specific transaction types used on the C-Chain to interact with the shared memory between the C-Chain and other chains on the Primary Network.
|
Package tx defines the Avalanche-specific transaction types used on the C-Chain to interact with the shared memory between the C-Chain and other chains on the Primary Network. |
|
cchain/tx/txtest
Package txtest provides test helpers for using tx.Tx.
|
Package txtest provides test helpers for using tx.Tx. |
|
cchain/txpool
Package txpool implements an in-memory pool of cross-chain transactions awaiting inclusion in a block.
|
Package txpool implements an in-memory pool of cross-chain transactions awaiting inclusion in a block. |
|
cchain/warp
Package warp handles the parsing, verification, and storage of Avalanche Warp Messages.
|
Package warp handles the parsing, verification, and storage of Avalanche Warp Messages. |
|
cchain/warp/warptest
Package warptest provides BLS warp validator sets for tests that need to produce signed warp messages.
|
Package warptest provides BLS warp validator sets for tests that need to produce signed warp messages. |
|
cmputils
Package cmputils provides cmp options and utilities for their creation.
|
Package cmputils provides cmp options and utilities for their creation. |
|
firewood
Package firewood implements a single-tier trie for the EVM in a database with built-in merkleization.
|
Package firewood implements a single-tier trie for the EVM in a database with built-in merkleization. |
|
gasprice
Package gasprice provides gas price statistics and suggestions for timely transaction inclusion.
|
Package gasprice provides gas price statistics and suggestions for timely transaction inclusion. |
|
gastime
Package gastime measures time based on the consumption of gas.
|
Package gastime measures time based on the consumption of gas. |
|
hook
Package hook defines points in an SAE block's lifecycle at which common or user-injected behaviour needs to be performed.
|
Package hook defines points in an SAE block's lifecycle at which common or user-injected behaviour needs to be performed. |
|
hook/hookstest
Package hookstest provides a test double for SAE's hook package.
|
Package hookstest provides a test double for SAE's hook package. |
|
network
Package network provides the P2P network for the SAE VM.
|
Package network provides the P2P network for the SAE VM. |
|
params
Package params declares [Streaming Asynchronous Execution] (SAE) parameters.
|
Package params declares [Streaming Asynchronous Execution] (SAE) parameters. |
|
proxytime
Package proxytime measures the passage of time based on a proxy unit and associated unit rate.
|
Package proxytime measures the passage of time based on a proxy unit and associated unit rate. |
|
sae
Package sae implements the [Streaming Asynchronous Execution] (SAE) virtual machine to be compatible with Avalanche consensus.
|
Package sae implements the [Streaming Asynchronous Execution] (SAE) virtual machine to be compatible with Avalanche consensus. |
|
sae/rpc
Package rpc converts an SAE VM into forms suitable for backing ethapi, tracers, and filters packages, and for providing other rpc namespaces (e.g.
|
Package rpc converts an SAE VM into forms suitable for backing ethapi, tracers, and filters packages, and for providing other rpc namespaces (e.g. |
|
saedb
Package saedb provides functionality related to storage and access of [Streaming Asynchronous Execution] data.
|
Package saedb provides functionality related to storage and access of [Streaming Asynchronous Execution] data. |
|
saetest
Package saetest provides testing helpers for [Streaming Asynchronous Execution] (SAE).
|
Package saetest provides testing helpers for [Streaming Asynchronous Execution] (SAE). |
|
saetest/escrow
Package escrow provides bytecode and helpers for the [Escrow.sol] contract deployed to 0xf92186Fc58dA366431e98f3Ddd563d0A3cdf4f59 on Ethereum mainnet.
|
Package escrow provides bytecode and helpers for the [Escrow.sol] contract deployed to 0xf92186Fc58dA366431e98f3Ddd563d0A3cdf4f59 on Ethereum mainnet. |
|
saetest/paralleltest
Package paralleltest provides a test harness for parallel precompiles executing under SAE.
|
Package paralleltest provides a test harness for parallel precompiles executing under SAE. |
|
saexec
Package saexec provides the execution module of [Streaming Asynchronous Execution] (SAE).
|
Package saexec provides the execution module of [Streaming Asynchronous Execution] (SAE). |
|
statesync
Package statesync provides all functionality required for an adaptor.SyncableVM and the consensus-critical block getters.
|
Package statesync provides all functionality required for an adaptor.SyncableVM and the consensus-critical block getters. |
|
txgossip
Package txgossip provides a mempool for [Streaming Asynchronous Execution], which is also compatible with AvalancheGo's gossip mechanism.
|
Package txgossip provides a mempool for [Streaming Asynchronous Execution], which is also compatible with AvalancheGo's gossip mechanism. |
|
txgossip/txgossiptest
Package txgossiptest provides test helpers for mempool operations.
|
Package txgossiptest provides test helpers for mempool operations. |
|
types
Package types defines common types that are used throughout the SAE repository which otherwise do not have a clear package to originate from.
|
Package types defines common types that are used throughout the SAE repository which otherwise do not have a clear package to originate from. |
|
worstcase
Package worstcase provides the worst-case balance and nonce tracking needed to safely include transactions that are guaranteed to be valid during execution.
|
Package worstcase provides the worst-case balance and nonce tracking needed to safely include transactions that are guaranteed to be valid during execution. |
|
Package transitionvm implements a smblock.ChainVM that switches from one chain to another at a configured time.
|
Package transitionvm implements a smblock.ChainVM that switches from one chain to another at a configured time. |
|
txs
|
|
|
Package vmsmock is a generated GoMock package.
|
Package vmsmock is a generated GoMock package. |
Click to show internal directories.
Click to hide internal directories.