octez-shell-libs.validation
No_plugin.Mempool
octez-shell-libs.client-base
octez-shell-libs.client-base-unix
octez-shell-libs.client-commands
octez-shell-libs.context-ops
octez-shell-libs.mocked
octez-shell-libs.mockup
octez-shell-libs.mockup-commands
octez-shell-libs.mockup-proxy
octez-shell-libs.mockup-registration
octez-shell-libs.p2p
octez-shell-libs.p2p_test_common
octez-shell-libs.protocol-updater
octez-shell-libs.proxy
octez-shell-libs.shell
octez-shell-libs.shell-benchmarks
octez-shell-libs.shell-context
octez-shell-libs.shell-services
octez-shell-libs.signer-backends
octez-shell-libs.signer-services
octez-shell-libs.store
tezos_proxy_rpc
tezos_signer_backends_unix
tezos_store_real
tezos_store_shared
tezos_store_unix
tezos_store_unix_reconstruction
tezos_store_unix_snapshots
type t = Proto.Mempool.t
type validation_info
type conflict_handler = existing_operation:(Tezos_crypto.Hashed.Operation_hash.t * operation) -> new_operation:(Tezos_crypto.Hashed.Operation_hash.t * operation) -> [ `Keep | `Replace ]
type operation_conflict =
| Operation_conflict of {
existing : Tezos_crypto.Hashed.Operation_hash.t;
new_operation : Tezos_crypto.Hashed.Operation_hash.t;
}
type add_result =
| Added
| Replaced of {
removed : Tezos_crypto.Hashed.Operation_hash.t;
| Unchanged
type add_error =
| Validation_error of Tezos_base.TzPervasives.Error_monad.tztrace
| Add_conflict of operation_conflict
type merge_error =
| Incompatible_mempool
| Merge_conflict of operation_conflict
val encoding : t Tezos_base.TzPervasives.Data_encoding.t
val add_operation : ?check_signature:bool -> ?conflict_handler:conflict_handler -> validation_info -> t -> (Tezos_crypto.Hashed.Operation_hash.t * operation) -> (t * add_result, add_error) result Lwt.t
val remove_operation : t -> Tezos_crypto.Hashed.Operation_hash.t -> t
val merge : ?conflict_handler:conflict_handler -> t -> t -> (t, merge_error) result
val operations : t -> operation Tezos_crypto.Hashed.Operation_hash.Map.t
val init : Tezos_protocol_environment__.Environment_context.Context.t -> Tezos_crypto.Hashed.Chain_id.t -> head_hash:Tezos_crypto.Hashed.Block_hash.t -> head:Tezos_base.TzPervasives.Block_header.shell_header -> cache: Tezos_protocol_environment__.Environment_context.Context.source_of_cache -> (validation_info * t) Tezos_base.TzPervasives.tzresult Lwt.t