Module Evm_node_config.Configuration

type log_filter_config = {
  1. max_nb_blocks : int;
    (*

    Maximum block range for get_logs.

    *)
  2. max_nb_logs : int;
    (*

    Maximum number of logs that get_logs can return.

    *)
  3. chunk_size : int;
    (*

    Number of blocks that will be filtered in a batch before checking if the bound on produced logs has been reached. See get_logs for more details.

    *)
}
type proxy = {
  1. rollup_node_endpoint : Uri.t;
}
type time_between_blocks =
  1. | Nothing
    (*

    Does not produce any block if not forced by the private RPC

    *)
  2. | Time_between_blocks of float
    (*

    Maximum time interval between blocks. If transactions are present in the tx pool, blocks will be created as soon as possible. However, if there are no transactions to include, a block is produced after time_between_blocks.

    *)
type sequencer = {
  1. rollup_node_endpoint : Uri.t;
    (*

    Rollup node endpoint used to make blueprints available and monitor the delayed inbox.

    *)
  2. preimages : string;
    (*

    Path to the preimages directory.

    *)
  3. preimages_endpoint : Uri.t option;
    (*

    Endpoint where pre-images can be fetched individually when missing.

    *)
  4. time_between_blocks : time_between_blocks;
  5. max_number_of_chunks : int;
    (*

    The maximum number of chunks per blueprints.

    *)
  6. private_rpc_port : int option;
    (*

    Port for internal RPC services

    *)
  7. sequencer : Mavryk_base.TzPervasives.Signature.public_key_hash;
    (*

    The key used to sign the blueprints.

    *)
}
type observer = {
  1. evm_node_endpoint : Uri.t;
  2. preimages : string;
  3. preimages_endpoint : Uri.t option;
}
type t = {
  1. rpc_addr : string;
  2. rpc_port : int;
  3. devmode : bool;
  4. cors_origins : string list;
  5. cors_headers : string list;
  6. log_filter : log_filter_config;
  7. proxy : proxy option;
  8. sequencer : sequencer option;
  9. observer : observer option;
  10. max_active_connections : Mavryk_rpc_http_server.RPC_server.Max_active_rpc_connections.t;
  11. tx_pool_timeout_limit : int64;
  12. tx_pool_addr_limit : int64;
  13. tx_pool_tx_per_addr_limit : int64;
}
val default_data_dir : string

default_data_dir is the default value for data_dir.

val config_filename : data_dir:string -> string

config_filename data_dir returns the configuration filename from the data_dir

val save : force:bool -> data_dir:string -> t -> unit Mavryk_base.TzPervasives.tzresult Lwt.t

save ~force ~data_dir configuration writes the configuration file in data_dir. If force is true, existing configurations are overwritten.

val load : data_dir:string -> t Mavryk_base.TzPervasives.tzresult Lwt.t

load ~data_dir loads a proxy configuration stored in data_dir.

val proxy_config_exn : t -> proxy Mavryk_base.TzPervasives.tzresult

proxy_config_exn config returns the proxy config of config or fails

val sequencer_config_exn : t -> sequencer Mavryk_base.TzPervasives.tzresult

sequencer_config_exn config returns the sequencer config of config or fails

val observer_config_exn : t -> observer Mavryk_base.TzPervasives.tzresult

observer_config_exn config returns the observer config of config or fails

val sequencer_config_dft : ?preimages:string -> ?preimages_endpoint:Uri.t -> ?time_between_blocks:time_between_blocks -> ?max_number_of_chunks:int -> ?private_rpc_port:int -> rollup_node_endpoint:Uri.t -> sequencer:Mavryk_base.TzPervasives.Signature.public_key_hash -> unit -> sequencer

sequencer_config_dft () returns the default sequencer config populated with given value.

val observer_config_dft : ?preimages:string -> ?preimages_endpoint:Uri.t -> evm_node_endpoint:Uri.t -> unit -> observer

observer_config_dft () returns the default observer config populated with given value.

module Cli : sig ... end