Module Evm_node_lib_dev.Rpc_encodings

module JSONRPC : sig ... end

Encodings for the JSON-RPC standard. See https://www.jsonrpc.org/specification.

module Subscription : sig ... end
type ('input, 'output) method_ = ..
module type METHOD = sig ... end

API of an Ethereum method.

module Kernel_version : METHOD with type input = unit and type output = string
module Kernel_root_hash : METHOD with type input = unit and type output = string option
module Network_id : METHOD with type input = unit and type output = string
module Web3_clientVersion : METHOD with type input = unit and type output = string
type produce_block_input = {
  1. timestamp : Tezos_base.TzPervasives.Time.Protocol.t option;
  2. with_delayed_transactions : bool;
}
type map_result =
  1. | Method : ('input, 'output) method_ * (module METHOD with type input = 'input and type output = 'output) -> map_result
  2. | Unsupported
  3. | Unknown
  4. | Disabled
val map_method_name : rpc_server_family:_ Rpc_types.rpc_server_family -> restrict:Evm_node_config.Configuration.restricted_rpcs -> string -> map_result
type websocket_subscription = {
  1. id : Evm_node_lib_dev_encoding.Ethereum_types.Subscription.id;
  2. stream : Subscription.notification Lwt_stream.t;
  3. stopper : unit -> unit;
}
type websocket_response = {
  1. response : JSONRPC.response;
  2. subscription : websocket_subscription option;
}
type websocket_handler = JSONRPC.request -> websocket_response Lwt.t