package octez-shell-libs
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-shell-libs.shell/Tezos_shell/Prevalidation/Make/argument-1-Proto/Plugin/index.html
Module Proto.Plugin
val config_encoding : config Tezos_base.TzPervasives.Data_encoding.tval default_config : configStatic internal information needed by pre_filter.
It depends on the head block upon which a mempool is built.
val init :
Tezos_protocol_environment.Context.t ->
head:Tezos_base.Block_header.shell_header ->
info Tezos_base.TzPervasives.tzresult Lwt.tval flush :
info ->
head:Tezos_base.Block_header.shell_header ->
info Tezos_base.TzPervasives.tzresult Lwt.tCreate a new info based on the head block.
Parts of the old info (which may have been built on a different block) are recycled, so that this function is more efficient than init and does not need a Tezos_protocol_environment.Context.t argument.
val syntactic_check : operation -> [ `Well_formed | `Ill_formed ] Lwt.tPerform some syntactic checks on the operation.
To be used mostly as an exceptional mechanism to prevent ill-formed operations to block block application.
Note that the functions exposed in the output of proto_with_validation_plugin already call syntactic_check when appropriate.
val pre_filter :
info ->
config ->
operation ->
[ `Passed_prefilter of [ `High | `Medium | `Low of Q.t list ]
| `Branch_delayed of Tezos_base.TzPervasives.tztrace
| `Branch_refused of Tezos_base.TzPervasives.tztrace
| `Refused of Tezos_base.TzPervasives.tztrace
| `Outdated of Tezos_base.TzPervasives.tztrace ]
Lwt.tPerform some light preliminary checks on the operation.
If successful, return `Passed_prefilter with the priority of the operation, based on the operation kind and potentially its fee, gas, and size. If not, return a classification containing the encountered error.
Should be called on arrival of an operation and after a flush of the prevalidator.
val conflict_handler : config -> Mempool.conflict_handlerReturn a conflict handler for Mempool.add_operation.
See the documentation of type Mempool.conflict_handler in e.g. lib_protocol_environment/sigs/v8/updater.mli.
Precondition: both operations must be individually valid (required by the protocol's operation comparison on which the implementation of this function relies).
module Conflict_map : sig ... endThe purpose of this module is to provide the fee_needed_to_replace_by_fee function. For this function to be correct, the caller must maintain the state of type t by calling update on each successfully validated operation and its induced replacements.
Compute the minimal fee (expressed in mutez) that candidate_op would need to have in order to be strictly greater than op_to_overtake according to compare_operations.
Return None when at least one operation is not a manager operation.
Also return None if both operations are manager operations but there was an error while computing the needed fee. However, note that this cannot happen when both manager operations have been successfully validated by the protocol.