Evm_node_lib_dev.Tx_pooltype parameters = {rollup_node : (module Services_backend_sig.S);The backend RPC module.
*)smart_rollup_address : string;The address of the smart rollup.
*)mode : mode;tx_timeout_limit : int64;TTL of a transaction inside the pool.
*)tx_pool_addr_limit : int;Maximum allowed addresses inside the pool.
*)tx_pool_tx_per_addr_limit : int;Maximum allowed transactions per address inside the pool.
*)}val start : parameters -> unit Mavryk_base.TzPervasives.tzresult Lwt.tstart parameters starts the tx-pool
val shutdown : unit -> unit Mavryk_base.TzPervasives.tzresult Lwt.tshutdown () stops the tx-pool, waiting for the ongoing request to be processed.
val add :
string ->
(Evm_node_lib_dev_encoding.Ethereum_types.hash, string) Stdlib.result
Mavryk_base.TzPervasives.tzresult
Lwt.tadd raw_tx adds a raw eth transaction to the tx-pool.
val nonce :
Evm_node_lib_dev_encoding.Ethereum_types.Address.t ->
Evm_node_lib_dev_encoding.Ethereum_types.quantity
Mavryk_base.TzPervasives.tzresult
Lwt.tnonce address returns the nonce of the user Returns the first gap in the tx-pool, or the nonce stored on the rollup if no transactions are in the pool.
val pop_transactions :
maximum_cumulative_size:int ->
string list Mavryk_base.TzPervasives.tzresult Lwt.tpop_transactions maximum_cumulative_size pops as much valid transactions as possible from the pool, until their cumulative size exceeds `maximum_cumulative_size`. Returns no transactions if the pool is locked.
val pop_and_inject_transactions :
unit ->
unit Mavryk_base.TzPervasives.tzresult Lwt.tpop_and_inject_transactions () pops the valid transactions from the pool using pop_transactions and injects them using inject_raw_transactions provided by parameters.rollup_node.
val pop_and_inject_transactions_lazy :
unit ->
unit Mavryk_base.TzPervasives.tzresult Lwt.tpop_and_inject_transactions_lazy () same as pop_and_inject_transactions but don't wait for the request to complete
val lock_transactions : unit -> unit Mavryk_base.TzPervasives.tzresult Lwt.tlock_transactions locks the transactions in the pool, new transactions can be added but nothing can be retrieved with pop_transactions.
val unlock_transactions : unit -> unit Mavryk_base.TzPervasives.tzresult Lwt.tunlock_transactions unlocks the transactions if it was locked by lock_transactions.
val is_locked : unit -> bool Mavryk_base.TzPervasives.tzresult Lwt.tis_locked checks if the pools is locked.