Module Lifted_protocol.Mempool

type conflict_handler = existing_operation:(Mavryk_crypto.Hashed.Operation_hash.t * operation) -> new_operation:(Mavryk_crypto.Hashed.Operation_hash.t * operation) -> [ `Keep | `Replace ]
val encoding : t Mavryk_base.TzPervasives.Data_encoding.t
val add_operation : ?check_signature:bool -> ?conflict_handler:conflict_handler -> validation_info -> t -> (Mavryk_crypto.Hashed.Operation_hash.t * operation) -> (t * add_result, add_error) Stdlib.result Lwt.t
val remove_operation : t -> Mavryk_crypto.Hashed.Operation_hash.t -> t
val merge : ?conflict_handler:conflict_handler -> t -> t -> (t, merge_error) Stdlib.result
val init : Mavryk_protocol_environment__.Environment_context.Context.t -> Mavryk_crypto.Hashed.Chain_id.t -> head_hash:Mavryk_crypto.Hashed.Block_hash.t -> head:Mavryk_base.TzPervasives.Block_header.shell_header -> cache: [ `Force_load | `Load | `Lazy | `Inherited of Mavryk_protocol_environment__.Environment_context.Context.block_cache * Mavryk_crypto.Hashed.Context_hash.t ] -> (validation_info * t) Mavryk_base.TzPervasives.tzresult Lwt.t