# README
EVM Client
Node FSM
stateDiagram-v2
[*] --> Started : Start()
state Started {
[*] --> Undialed
Undialed --> Unusable
Undialed --> Unreachable
Undialed --> Dialed
Unreachable --> Dialed
Dialed --> Unreachable
Dialed --> InvalidChainID
Dialed --> Alive
InvalidChainID --> Unreachable
InvalidChainID --> Alive
Alive --> Unreachable
Alive --> OutOfSync
OutOfSync --> Unreachable
OutOfSync --> InvalidChainID
OutOfSync --> Alive
}
Started --> Closed : Close()
Closed --> [*]
# Packages
No description provided by the author
# Functions
No description provided by the author
ExtractRPCError attempts to extract a full JsonError (including revert reason details) from an error returned by a CallContract to an external RPC.
No description provided by the author
NewClientWithNodes instantiates a client from a list of nodes Currently only supports one primary.
No description provided by the author
No description provided by the author
NewNode returns a new *node as Node.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewSendOnlyNode returns a new sendonly node.
NewSimulatedBackendClient creates an eth client backed by a simulated backend.
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
Note: L2FeeTooLow/L2FeeTooHigh/L2Full have a very specific meaning specific to L2s (Arbitrum and clones).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NodeStateAlive is a healthy node after chain ID verification succeeded.
NodeStateClosed is after the connection has been closed and the node is at the end of its lifecycle.
NodeStateDialed is after a node has successfully dialed but before it has verified the correct chain ID.
NodeStateInvalidChainID is after chain ID verification failed.
NodeStateOutOfSync is a node that is accepting connections but exceeded the failure threshold without sending any new heads.
NodeStateUndialed is the first state of a virgin node.
NodeStateUnreachable is a node that cannot be dialed or has disconnected.
NodeStateUnusable is a sendonly node that has an invalid URL that can never be reached.
Nethermind specific error.
No description provided by the author
NullClientChainID the ChainID that nullclient will return 0 is never used as a real chain ID so makes sense as a dummy value here.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
PromEVMPoolRPCNodeStates reports current RPC node state.
# Structs
CallArgs represents the data used to call the balance method of a contract.
[email protected]/rpc/json.go.
NullClient satisfies the Client but has no side effects.
Pool represents an abstraction over one or more primary nodes It is responsible for liveness checking and balancing queries across live nodes.
fatal means this transaction can never be accepted even with a different nonce or higher gas price.
SimulatedBackendClient is an Client implementation using a simulated blockchain backend.
# Interfaces
No description provided by the author
Client is the interface used to interact with an ethereum node.
Node represents a client that connects to an ethereum-compatible RPC node.
NodeConfig allows configuration of the node.
NodeSelector represents a strategy to select the next node from the pool.
PoolConfig represents settings for the Pool.
SendOnlyNode represents one ethereum node used as a sendonly.
This interface only exists so that we can generate a mock for it.
No description provided by the author
# Type aliases
No description provided by the author
NodeState represents the current state of the node Node is a FSM (finite state machine).