P.Mempooltype conflict_handler =
existing_operation:(Operation_hash.t * operation) ->
new_operation:(Operation_hash.t * operation) ->
[ `Keep | `Replace ]type operation_conflict = | Operation_conflict of {existing : Operation_hash.t;new_operation : Operation_hash.t;}type add_error = | Validation_error of Error_monad.error Error_monad.trace| Add_conflict of operation_conflictval init :
Context.t ->
Chain_id.t ->
head_hash:Block_hash.t ->
head:Block_header.shell_header ->
(validation_info * t) Error_monad.tzresult Lwt.tval encoding : t Data_encoding.tval add_operation :
?check_signature:bool ->
?conflict_handler:conflict_handler ->
validation_info ->
t ->
(Operation_hash.t * operation) ->
(t * add_result, add_error) Pervasives.result Lwt.tval remove_operation : t -> Operation_hash.t -> tval merge :
?conflict_handler:conflict_handler ->
t ->
t ->
(t, merge_error) Pervasives.resultval operations : t -> operation Operation_hash.Map.t