package tezos-protocol-012-Psithaca

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t
type validation_info
type conflict_handler = existing_operation:(Tezos_crypto.Operation_hash.t * operation) -> new_operation:(Tezos_crypto.Operation_hash.t * operation) -> [ `Keep | `Replace ]
type operation_conflict =
  1. | Operation_conflict of {
    1. existing : Tezos_crypto.Operation_hash.t;
    2. new_operation : Tezos_crypto.Operation_hash.t;
    }
type add_result =
  1. | Added
  2. | Replaced of {
    1. removed : Tezos_crypto.Operation_hash.t;
    }
  3. | Unchanged
type add_error =
  1. | Validation_error of Tezos_base.TzPervasives.Error_monad.tztrace
  2. | Add_conflict of operation_conflict
type merge_error =
  1. | Incompatible_mempool
  2. | Merge_conflict of operation_conflict
val add_operation : ?check_signature:bool -> ?conflict_handler:conflict_handler -> validation_info -> t -> (Tezos_crypto.Operation_hash.t * operation) -> (t * add_result, add_error) result Lwt.t
val remove_operation : t -> Tezos_crypto.Operation_hash.t -> t
val merge : ?conflict_handler:conflict_handler -> t -> t -> (t, merge_error) result
val init : Tezos_protocol_environment__.Environment_context.Context.t -> Tezos_crypto.Chain_id.t -> head_hash:Tezos_crypto.Block_hash.t -> head:Tezos_base.TzPervasives.Block_header.shell_header -> cache: [ `Force_load | `Load | `Lazy | `Inherited of Tezos_protocol_environment__.Environment_context.Context.block_cache * Tezos_crypto.Context_hash.t ] -> (validation_info * t) Tezos_base.TzPervasives.tzresult Lwt.t