Documentation ¶
Index ¶
- Constants
- Variables
- type BatchNumber
- type BlockNumber
- type Config
- type DebugEndpoints
- func (d *DebugEndpoints) TraceBlockByHash(hash argHash, cfg *traceConfig) (interface{}, rpcError)
- func (d *DebugEndpoints) TraceBlockByNumber(number BlockNumber, cfg *traceConfig) (interface{}, rpcError)
- func (d *DebugEndpoints) TraceTransaction(hash argHash, cfg *traceConfig) (interface{}, rpcError)
- type ErrorObject
- type EthEndpoints
- func (e *EthEndpoints) BlockNumber() (interface{}, rpcError)
- func (e *EthEndpoints) Call(arg *txnArgs, number *BlockNumber) (interface{}, rpcError)
- func (e *EthEndpoints) ChainId() (interface{}, rpcError)
- func (e *EthEndpoints) EstimateGas(arg *txnArgs, number *BlockNumber) (interface{}, rpcError)
- func (e *EthEndpoints) GasPrice() (interface{}, rpcError)
- func (e *EthEndpoints) GetBalance(address argAddress, number *BlockNumber) (interface{}, rpcError)
- func (e *EthEndpoints) GetBlockByHash(hash argHash, fullTx bool) (interface{}, rpcError)
- func (e *EthEndpoints) GetBlockByNumber(number BlockNumber, fullTx bool) (interface{}, rpcError)
- func (e *EthEndpoints) GetBlockTransactionCountByHash(hash argHash) (interface{}, rpcError)
- func (e *EthEndpoints) GetBlockTransactionCountByNumber(number *BlockNumber) (interface{}, rpcError)
- func (e *EthEndpoints) GetCode(address argAddress, number *BlockNumber) (interface{}, rpcError)
- func (e *EthEndpoints) GetCompilers() (interface{}, rpcError)
- func (e *EthEndpoints) GetFilterChanges(filterID string) (interface{}, rpcError)
- func (e *EthEndpoints) GetFilterLogs(filterID string) (interface{}, rpcError)
- func (e *EthEndpoints) GetLogs(filter LogFilter) (interface{}, rpcError)
- func (e *EthEndpoints) GetStorageAt(address argAddress, storageKeyStr string, number *BlockNumber) (interface{}, rpcError)
- func (e *EthEndpoints) GetTransactionByBlockHashAndIndex(hash argHash, index Index) (interface{}, rpcError)
- func (e *EthEndpoints) GetTransactionByBlockNumberAndIndex(number *BlockNumber, index Index) (interface{}, rpcError)
- func (e *EthEndpoints) GetTransactionByHash(hash argHash) (interface{}, rpcError)
- func (e *EthEndpoints) GetTransactionCount(address argAddress, number *BlockNumber) (interface{}, rpcError)
- func (e *EthEndpoints) GetTransactionReceipt(hash argHash) (interface{}, rpcError)
- func (e *EthEndpoints) GetUncleByBlockHashAndIndex() (interface{}, rpcError)
- func (e *EthEndpoints) GetUncleByBlockNumberAndIndex() (interface{}, rpcError)
- func (e *EthEndpoints) GetUncleCountByBlockHash() (interface{}, rpcError)
- func (e *EthEndpoints) GetUncleCountByBlockNumber() (interface{}, rpcError)
- func (e *EthEndpoints) NewBlockFilter() (interface{}, rpcError)
- func (e *EthEndpoints) NewFilter(filter LogFilter) (interface{}, rpcError)
- func (e *EthEndpoints) NewPendingTransactionFilter() (interface{}, rpcError)
- func (e *EthEndpoints) ProtocolVersion() (interface{}, rpcError)
- func (e *EthEndpoints) SendRawTransaction(httpRequest *http.Request, input string) (interface{}, rpcError)
- func (e *EthEndpoints) Subscribe(wsConn *websocket.Conn, name string, logFilter *LogFilter) (interface{}, rpcError)
- func (e *EthEndpoints) Syncing() (interface{}, rpcError)
- func (e *EthEndpoints) UninstallFilter(filterID string) (interface{}, rpcError)
- func (e *EthEndpoints) Unsubscribe(wsConn *websocket.Conn, filterID string) (interface{}, rpcError)
- type Filter
- type FilterType
- type Handler
- type Index
- type LogFilter
- type LogFilterRequest
- type NetEndpoints
- type RPCError
- type Request
- type Response
- type Server
- type Storage
- func (s *Storage) GetAllBlockFiltersWithWSConn() ([]*Filter, error)
- func (s *Storage) GetAllLogFiltersWithWSConn() ([]*Filter, error)
- func (s *Storage) GetFilter(filterID string) (*Filter, error)
- func (s *Storage) NewBlockFilter(wsConn *websocket.Conn) (string, error)
- func (s *Storage) NewLogFilter(wsConn *websocket.Conn, filter LogFilter) (string, error)
- func (s *Storage) NewPendingTransactionFilter(wsConn *websocket.Conn) (string, error)
- func (s *Storage) UninstallFilter(filterID string) error
- func (s *Storage) UninstallFilterByWSConn(wsConn *websocket.Conn) error
- func (s *Storage) UpdateFilterLastPoll(filterID string) error
- type StructLogRes
- type SubscriptionResponse
- type SubscriptionResponseParams
- type TxPoolEndpoints
- type Web3Endpoints
- type WebSocketsConfig
- type ZKEVMEndpoints
- func (z *ZKEVMEndpoints) BatchNumber() (interface{}, rpcError)
- func (z *ZKEVMEndpoints) BatchNumberByBlockNumber(blockNumber argUint64) (interface{}, rpcError)
- func (z *ZKEVMEndpoints) ConsolidatedBlockNumber() (interface{}, rpcError)
- func (z *ZKEVMEndpoints) GetBatchByNumber(batchNumber BatchNumber, fullTx bool) (interface{}, rpcError)
- func (z *ZKEVMEndpoints) GetBroadcastURI() (interface{}, rpcError)
- func (z *ZKEVMEndpoints) IsBlockConsolidated(blockNumber argUint64) (interface{}, rpcError)
- func (z *ZKEVMEndpoints) IsBlockVirtualized(blockNumber argUint64) (interface{}, rpcError)
- func (z *ZKEVMEndpoints) VerifiedBatchNumber() (interface{}, rpcError)
- func (z *ZKEVMEndpoints) VirtualBatchNumber() (interface{}, rpcError)
Constants ¶
const ( // PendingBlockNumber represents the pending block number PendingBlockNumber = BlockNumber(-3) // LatestBlockNumber represents the latest block number LatestBlockNumber = BlockNumber(-2) // EarliestBlockNumber represents the earliest block number EarliestBlockNumber = BlockNumber(-1) // LatestBatchNumber represents the latest batch number LatestBatchNumber = BatchNumber(-2) // EarliestBatchNumber represents the earliest batch number EarliestBatchNumber = BatchNumber(-1) // Earliest contains the string to represent the earliest block known. Earliest = "earliest" // Latest contains the string to represent the latest block known. Latest = "latest" // Pending contains the string to represent pending blocks. Pending = "pending" )
const ( // FilterTypeLog represents a filter of type log. FilterTypeLog = "log" // FilterTypeBlock represents a filter of type block. FilterTypeBlock = "block" // FilterTypePendingTx represent a filter of type pending Tx. FilterTypePendingTx = "pendingTx" )
const ( // APIEth represents the eth API prefix. APIEth = "eth" // APINet represents the net API prefix. APINet = "net" // APIDebug represents the debug API prefix. APIDebug = "debug" // APIZKEVM represents the zkevm API prefix. APIZKEVM = "zkevm" // APITxPool represents the txpool API prefix. APITxPool = "txpool" // APIWeb3 represents the web3 API prefix. APIWeb3 = "web3" )
Variables ¶
var ErrFilterInvalidPayload = errors.New("invalid argument 0: cannot specify both BlockHash and FromBlock/ToBlock, choose one or the other")
ErrFilterInvalidPayload indicates there is an invalid payload when creating a filter
var ErrNotFound = errors.New("object not found")
ErrNotFound represent a not found error.
Functions ¶
This section is empty.
Types ¶
type BatchNumber ¶
type BatchNumber int64
BatchNumber is the number of a ethereum block
func (*BatchNumber) UnmarshalJSON ¶
func (b *BatchNumber) UnmarshalJSON(buffer []byte) error
UnmarshalJSON automatically decodes the user input for the block number, when a JSON RPC method is called
type BlockNumber ¶
type BlockNumber int64
BlockNumber is the number of a ethereum block
func (*BlockNumber) StringOrHex ¶
func (b *BlockNumber) StringOrHex() string
StringOrHex returns the block number as a string or hex n == -3 = pending n == -2 = latest n == -1 = earliest n >= 0 = hex(n)
func (*BlockNumber) UnmarshalJSON ¶
func (b *BlockNumber) UnmarshalJSON(buffer []byte) error
UnmarshalJSON automatically decodes the user input for the block number, when a JSON RPC method is called
type Config ¶
type Config struct { Host string `mapstructure:"Host"` Port int `mapstructure:"Port"` ReadTimeoutInSec time.Duration `mapstructure:"ReadTimeoutInSec"` WriteTimeoutInSec time.Duration `mapstructure:"WriteTimeoutInSec"` MaxRequestsPerIPAndSecond float64 `mapstructure:"MaxRequestsPerIPAndSecond"` // SequencerNodeURI is used allow Non-Sequencer nodes // to relay transactions to the Sequencer node SequencerNodeURI string `mapstructure:"SequencerNodeURI"` // BroadcastURI is the URL of the Trusted State broadcast service BroadcastURI string `mapstructure:"BroadcastURI"` // DefaultSenderAddress is the address that jRPC will use // to communicate with the state for eth_EstimateGas and eth_Call when // the From field is not specified because it is optional DefaultSenderAddress string `mapstructure:"DefaultSenderAddress"` // MaxCumulativeGasUsed is the max gas allowed per batch MaxCumulativeGasUsed uint64 // ChainID is the L2 ChainID provided by the Network Config ChainID uint64 // Websockets WebSockets WebSocketsConfig `mapstructure:"WebSockets"` }
Config represents the configuration of the json rpc
type DebugEndpoints ¶
type DebugEndpoints struct {
// contains filtered or unexported fields
}
DebugEndpoints is the debug jsonrpc endpoint
func (*DebugEndpoints) TraceBlockByHash ¶
func (d *DebugEndpoints) TraceBlockByHash(hash argHash, cfg *traceConfig) (interface{}, rpcError)
TraceBlockByHash creates a response for debug_traceBlockByHash request. See https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtraceblockbyhash
func (*DebugEndpoints) TraceBlockByNumber ¶
func (d *DebugEndpoints) TraceBlockByNumber(number BlockNumber, cfg *traceConfig) (interface{}, rpcError)
TraceBlockByNumber creates a response for debug_traceBlockByNumber request. See https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtraceblockbynumber
func (*DebugEndpoints) TraceTransaction ¶
func (d *DebugEndpoints) TraceTransaction(hash argHash, cfg *traceConfig) (interface{}, rpcError)
TraceTransaction creates a response for debug_traceTransaction request. See https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug#debugtracetransaction
type ErrorObject ¶
type ErrorObject struct { Code int `json:"code"` Message string `json:"message"` Data *argBytes `json:"data,omitempty"` }
ErrorObject is a jsonrpc error
type EthEndpoints ¶
type EthEndpoints struct {
// contains filtered or unexported fields
}
EthEndpoints contains implementations for the "eth" RPC endpoints
func (*EthEndpoints) BlockNumber ¶
func (e *EthEndpoints) BlockNumber() (interface{}, rpcError)
BlockNumber returns current block number
func (*EthEndpoints) Call ¶
func (e *EthEndpoints) Call(arg *txnArgs, number *BlockNumber) (interface{}, rpcError)
Call executes a new message call immediately and returns the value of executed contract and potential error. Note, this function doesn't make any changes in the state/blockchain and is useful to execute view/pure methods and retrieve values.
func (*EthEndpoints) ChainId ¶
func (e *EthEndpoints) ChainId() (interface{}, rpcError)
ChainId returns the chain id of the client
func (*EthEndpoints) EstimateGas ¶
func (e *EthEndpoints) EstimateGas(arg *txnArgs, number *BlockNumber) (interface{}, rpcError)
EstimateGas generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including EVM mechanics and node performance.
func (*EthEndpoints) GasPrice ¶
func (e *EthEndpoints) GasPrice() (interface{}, rpcError)
GasPrice returns the average gas price based on the last x blocks
func (*EthEndpoints) GetBalance ¶
func (e *EthEndpoints) GetBalance(address argAddress, number *BlockNumber) (interface{}, rpcError)
GetBalance returns the account's balance at the referenced block
func (*EthEndpoints) GetBlockByHash ¶
func (e *EthEndpoints) GetBlockByHash(hash argHash, fullTx bool) (interface{}, rpcError)
GetBlockByHash returns information about a block by hash
func (*EthEndpoints) GetBlockByNumber ¶
func (e *EthEndpoints) GetBlockByNumber(number BlockNumber, fullTx bool) (interface{}, rpcError)
GetBlockByNumber returns information about a block by block number
func (*EthEndpoints) GetBlockTransactionCountByHash ¶
func (e *EthEndpoints) GetBlockTransactionCountByHash(hash argHash) (interface{}, rpcError)
GetBlockTransactionCountByHash returns the number of transactions in a block from a block matching the given block hash.
func (*EthEndpoints) GetBlockTransactionCountByNumber ¶
func (e *EthEndpoints) GetBlockTransactionCountByNumber(number *BlockNumber) (interface{}, rpcError)
GetBlockTransactionCountByNumber returns the number of transactions in a block from a block matching the given block number.
func (*EthEndpoints) GetCode ¶
func (e *EthEndpoints) GetCode(address argAddress, number *BlockNumber) (interface{}, rpcError)
GetCode returns account code at given block number
func (*EthEndpoints) GetCompilers ¶
func (e *EthEndpoints) GetCompilers() (interface{}, rpcError)
GetCompilers eth_getCompilers
func (*EthEndpoints) GetFilterChanges ¶
func (e *EthEndpoints) GetFilterChanges(filterID string) (interface{}, rpcError)
GetFilterChanges polling method for a filter, which returns an array of logs which occurred since last poll.
func (*EthEndpoints) GetFilterLogs ¶
func (e *EthEndpoints) GetFilterLogs(filterID string) (interface{}, rpcError)
GetFilterLogs returns an array of all logs matching filter with given id.
func (*EthEndpoints) GetLogs ¶
func (e *EthEndpoints) GetLogs(filter LogFilter) (interface{}, rpcError)
GetLogs returns a list of logs accordingly to the provided filter
func (*EthEndpoints) GetStorageAt ¶
func (e *EthEndpoints) GetStorageAt(address argAddress, storageKeyStr string, number *BlockNumber) (interface{}, rpcError)
GetStorageAt gets the value stored for an specific address and position
func (*EthEndpoints) GetTransactionByBlockHashAndIndex ¶
func (e *EthEndpoints) GetTransactionByBlockHashAndIndex(hash argHash, index Index) (interface{}, rpcError)
GetTransactionByBlockHashAndIndex returns information about a transaction by block hash and transaction index position.
func (*EthEndpoints) GetTransactionByBlockNumberAndIndex ¶
func (e *EthEndpoints) GetTransactionByBlockNumberAndIndex(number *BlockNumber, index Index) (interface{}, rpcError)
GetTransactionByBlockNumberAndIndex returns information about a transaction by block number and transaction index position.
func (*EthEndpoints) GetTransactionByHash ¶
func (e *EthEndpoints) GetTransactionByHash(hash argHash) (interface{}, rpcError)
GetTransactionByHash returns a transaction by his hash
func (*EthEndpoints) GetTransactionCount ¶
func (e *EthEndpoints) GetTransactionCount(address argAddress, number *BlockNumber) (interface{}, rpcError)
GetTransactionCount returns account nonce
func (*EthEndpoints) GetTransactionReceipt ¶
func (e *EthEndpoints) GetTransactionReceipt(hash argHash) (interface{}, rpcError)
GetTransactionReceipt returns a transaction receipt by his hash
func (*EthEndpoints) GetUncleByBlockHashAndIndex ¶
func (e *EthEndpoints) GetUncleByBlockHashAndIndex() (interface{}, rpcError)
GetUncleByBlockHashAndIndex returns information about a uncle of a block by hash and uncle index position
func (*EthEndpoints) GetUncleByBlockNumberAndIndex ¶
func (e *EthEndpoints) GetUncleByBlockNumberAndIndex() (interface{}, rpcError)
GetUncleByBlockNumberAndIndex returns information about a uncle of a block by number and uncle index position
func (*EthEndpoints) GetUncleCountByBlockHash ¶
func (e *EthEndpoints) GetUncleCountByBlockHash() (interface{}, rpcError)
GetUncleCountByBlockHash returns the number of uncles in a block matching the given block hash
func (*EthEndpoints) GetUncleCountByBlockNumber ¶
func (e *EthEndpoints) GetUncleCountByBlockNumber() (interface{}, rpcError)
GetUncleCountByBlockNumber returns the number of uncles in a block matching the given block number
func (*EthEndpoints) NewBlockFilter ¶
func (e *EthEndpoints) NewBlockFilter() (interface{}, rpcError)
NewBlockFilter creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.
func (*EthEndpoints) NewFilter ¶
func (e *EthEndpoints) NewFilter(filter LogFilter) (interface{}, rpcError)
NewFilter creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.
func (*EthEndpoints) NewPendingTransactionFilter ¶
func (e *EthEndpoints) NewPendingTransactionFilter() (interface{}, rpcError)
NewPendingTransactionFilter creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges.
func (*EthEndpoints) ProtocolVersion ¶
func (e *EthEndpoints) ProtocolVersion() (interface{}, rpcError)
ProtocolVersion returns the protocol version.
func (*EthEndpoints) SendRawTransaction ¶
func (e *EthEndpoints) SendRawTransaction(httpRequest *http.Request, input string) (interface{}, rpcError)
SendRawTransaction has two different ways to handle new transactions: - for Sequencer nodes it tries to add the tx to the pool - for Non-Sequencer nodes it relays the Tx to the Sequencer node
func (*EthEndpoints) Subscribe ¶
func (e *EthEndpoints) Subscribe(wsConn *websocket.Conn, name string, logFilter *LogFilter) (interface{}, rpcError)
Subscribe Creates a new subscription over particular events. The node will return a subscription id. For each event that matches the subscription a notification with relevant data is sent together with the subscription id.
func (*EthEndpoints) Syncing ¶
func (e *EthEndpoints) Syncing() (interface{}, rpcError)
Syncing returns an object with data about the sync status or false. https://eth.wiki/json-rpc/API#eth_syncing
func (*EthEndpoints) UninstallFilter ¶
func (e *EthEndpoints) UninstallFilter(filterID string) (interface{}, rpcError)
UninstallFilter uninstalls a filter with given id.
func (*EthEndpoints) Unsubscribe ¶
func (e *EthEndpoints) Unsubscribe(wsConn *websocket.Conn, filterID string) (interface{}, rpcError)
Unsubscribe uninstalls the filter based on the provided filterID
type Filter ¶
type Filter struct { ID string Type FilterType Parameters interface{} LastPoll time.Time WsConn *websocket.Conn }
Filter represents a filter.
type FilterType ¶
type FilterType string
FilterType express the type of the filter, block, logs, pending transactions
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler manage services to handle jsonrpc requests
Services are public structures containing public methods matching the name of the jsonrpc method.
Services must be registered with a prefix to identify the service and its methods, for example a service registered with a prefix `eth` will have all the public methods exposed as eth_<methodName> through the json rpc server.
Go public methods requires the first char of its name to be in uppercase, but the exposition of the method will consider it to lower case, for example a method `func MyMethod()` provided by the service registered with `eth` prefix will be triggered when the method eth_myMethod is specified
the public methods must follow the conventions: - return interface{}, rpcError - if the method depend on a Web Socket connection, it must be the first parameters as f(*websocket.Conn) - parameter types must match the type of the data provided for the method
check the `eth.go` file for more example on how the methods are implemented
func (*Handler) Handle ¶
Handle is the function that knows which and how a function should be executed when a JSON RPC request is received
func (*Handler) RemoveFilterByWsConn ¶
RemoveFilterByWsConn uninstalls the filter attached to this websocket connection
type Index ¶
type Index int64
Index of a item
func (*Index) UnmarshalJSON ¶
UnmarshalJSON automatically decodes the user input for the block number, when a JSON RPC method is called
type LogFilter ¶
type LogFilter struct { BlockHash *common.Hash FromBlock *BlockNumber ToBlock *BlockNumber Addresses []common.Address Topics [][]common.Hash Since *time.Time }
LogFilter is a filter for logs
func (*LogFilter) MarshalJSON ¶
MarshalJSON allows to customize the JSON representation.
func (*LogFilter) UnmarshalJSON ¶
UnmarshalJSON decodes a json object
type LogFilterRequest ¶
type LogFilterRequest struct { BlockHash *common.Hash `json:"blockHash,omitempty"` FromBlock *string `json:"fromBlock,omitempty"` ToBlock *string `json:"toBlock,omitempty"` Address interface{} `json:"address,omitempty"` Topics []interface{} `json:"topics,omitempty"` }
LogFilterRequest represents a log filter request.
type NetEndpoints ¶
type NetEndpoints struct {
// contains filtered or unexported fields
}
NetEndpoints contains implementations for the "net" RPC endpoints
func (*NetEndpoints) Version ¶
func (n *NetEndpoints) Version() (interface{}, rpcError)
Version returns the current network id
type RPCError ¶
type RPCError struct {
// contains filtered or unexported fields
}
RPCError represents an RPC error.
type Request ¶
type Request struct { JSONRPC string `json:"jsonrpc"` ID interface{} `json:"id"` Method string `json:"method"` Params json.RawMessage `json:"params,omitempty"` }
Request is a jsonrpc request
type Response ¶
type Response struct { JSONRPC string ID interface{} Result json.RawMessage Error *ErrorObject }
Response is a jsonrpc success response
func JSONRPCCall ¶
JSONRPCCall executes a 2.0 JSON RPC HTTP Post Request to the provided URL with the provided method and parameters, which is compatible with the Ethereum JSON RPC Server.
func NewResponse ¶
NewResponse returns Success/Error response object
func (Response) MarshalJSON ¶
MarshalJSON customizes the JSON representation of the response.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is an API backend to handle RPC requests
func NewServer ¶
func NewServer( cfg Config, p jsonRPCTxPool, s stateInterface, storage storageInterface, apis map[string]bool, ) *Server
NewServer returns the JsonRPC server
type Storage ¶
type Storage struct {
// contains filtered or unexported fields
}
Storage uses memory to store the data related to the json rpc server
func NewStorage ¶
func NewStorage() *Storage
NewStorage creates and initializes an instance of Storage
func (*Storage) GetAllBlockFiltersWithWSConn ¶
GetAllBlockFiltersWithWSConn returns an array with all filter that have a web socket connection and are filtering by new blocks
func (*Storage) GetAllLogFiltersWithWSConn ¶
GetAllLogFiltersWithWSConn returns an array with all filter that have a web socket connection and are filtering by new logs
func (*Storage) NewBlockFilter ¶
NewBlockFilter persists a new block log filter
func (*Storage) NewLogFilter ¶
NewLogFilter persists a new log filter
func (*Storage) NewPendingTransactionFilter ¶
NewPendingTransactionFilter persists a new pending transaction filter
func (*Storage) UninstallFilter ¶
UninstallFilter deletes a filter by its id
func (*Storage) UninstallFilterByWSConn ¶
UninstallFilterByWSConn deletes all filters connected to the provided web socket connection
func (*Storage) UpdateFilterLastPoll ¶
UpdateFilterLastPoll updates the last poll to now
type StructLogRes ¶
type StructLogRes struct { Pc uint64 `json:"pc"` Op string `json:"op"` Gas uint64 `json:"gas"` GasCost uint64 `json:"gasCost"` Depth int `json:"depth"` Error string `json:"error,omitempty"` Stack *[]argBig `json:"stack,omitempty"` Memory *[]string `json:"memory,omitempty"` Storage *map[string]string `json:"storage,omitempty"` RefundCounter uint64 `json:"refund,omitempty"` }
StructLogRes represents the debug trace information for each opcode
type SubscriptionResponse ¶
type SubscriptionResponse struct { JSONRPC string `json:"jsonrpc"` Method string `json:"method"` Params SubscriptionResponseParams `json:"params"` }
SubscriptionResponse used to push response for filters that have an active web socket connection
func (SubscriptionResponse) Bytes ¶
func (s SubscriptionResponse) Bytes() ([]byte, error)
Bytes return the serialized response
type SubscriptionResponseParams ¶
type SubscriptionResponseParams struct { Subscription string `json:"subscription"` Result json.RawMessage `json:"result"` }
SubscriptionResponseParams parameters for subscription responses
type TxPoolEndpoints ¶
type TxPoolEndpoints struct{}
TxPoolEndpoints is the txpool jsonrpc endpoint
func (*TxPoolEndpoints) Content ¶
func (e *TxPoolEndpoints) Content() (interface{}, rpcError)
Content creates a response for txpool_content request. See https://geth.ethereum.org/docs/rpc/ns-txpool#txpool_content.
type Web3Endpoints ¶
type Web3Endpoints struct { }
Web3Endpoints contains implementations for the "web3" RPC endpoints
func (*Web3Endpoints) ClientVersion ¶
func (e *Web3Endpoints) ClientVersion() (interface{}, rpcError)
ClientVersion returns the client version.
func (*Web3Endpoints) Sha3 ¶
func (e *Web3Endpoints) Sha3(data argBig) (interface{}, rpcError)
Sha3 returns the keccak256 hash of the given data.
type WebSocketsConfig ¶
type WebSocketsConfig struct { Enabled bool `mapstructure:"Enabled"` Port int `mapstructure:"Port"` }
WebSocketsConfig has parameters to config the rpc websocket support
type ZKEVMEndpoints ¶
type ZKEVMEndpoints struct {
// contains filtered or unexported fields
}
ZKEVMEndpoints contains implementations for the "zkevm" RPC endpoints
func (*ZKEVMEndpoints) BatchNumber ¶
func (z *ZKEVMEndpoints) BatchNumber() (interface{}, rpcError)
BatchNumber returns the latest virtualized batch number
func (*ZKEVMEndpoints) BatchNumberByBlockNumber ¶
func (z *ZKEVMEndpoints) BatchNumberByBlockNumber(blockNumber argUint64) (interface{}, rpcError)
BatchNumberByBlockNumber returns the batch number from which the passed block number is created
func (*ZKEVMEndpoints) ConsolidatedBlockNumber ¶
func (z *ZKEVMEndpoints) ConsolidatedBlockNumber() (interface{}, rpcError)
ConsolidatedBlockNumber returns current block number for consolidated blocks
func (*ZKEVMEndpoints) GetBatchByNumber ¶
func (z *ZKEVMEndpoints) GetBatchByNumber(batchNumber BatchNumber, fullTx bool) (interface{}, rpcError)
GetBatchByNumber returns information about a batch by batch number
func (*ZKEVMEndpoints) GetBroadcastURI ¶
func (z *ZKEVMEndpoints) GetBroadcastURI() (interface{}, rpcError)
GetBroadcastURI returns the IP:PORT of the broadcast service provided by the Trusted Sequencer JSON RPC server
func (*ZKEVMEndpoints) IsBlockConsolidated ¶
func (z *ZKEVMEndpoints) IsBlockConsolidated(blockNumber argUint64) (interface{}, rpcError)
IsBlockConsolidated returns the consolidation status of a provided block number
func (*ZKEVMEndpoints) IsBlockVirtualized ¶
func (z *ZKEVMEndpoints) IsBlockVirtualized(blockNumber argUint64) (interface{}, rpcError)
IsBlockVirtualized returns the virtualization status of a provided block number
func (*ZKEVMEndpoints) VerifiedBatchNumber ¶
func (z *ZKEVMEndpoints) VerifiedBatchNumber() (interface{}, rpcError)
VerifiedBatchNumber returns the latest verified batch number
func (*ZKEVMEndpoints) VirtualBatchNumber ¶
func (z *ZKEVMEndpoints) VirtualBatchNumber() (interface{}, rpcError)
VirtualBatchNumber returns the latest virtualized batch number