Skip to content

Plugins & validation & shell: rename Shell_plugin.FILTER

Diane Gallois-Wong requested to merge diane@rename_shell_plugin into master

Context

Fixes #5282 (closed)

The protocol plugin for the mempool was initially called Filter because its purpose was to provide pre- and post-filters. But it has a broader scope now. Especially now that it is used in lib_validation, it's weird to build e.g. the Block_validation module from a module called Filter which actually wraps the current protocol and its mempool/validation plugin.

The main change of this MR is to replace

module type FILTER = sig
  module Proto : Registered_protocol.T

  module Mempool : ... (* the signature of proto_xxx/lib_plugin/mempool.mli *)
end

with

module type PROTOCOL_WITH_VALIDATION_PLUGIN = sig
  include Registered_protocol.T

  module Plugin : ... (* the signature of proto_xxx/lib_plugin/mempool.mli *)
end

This means that in block_validation.ml, prevalidation.ml etc. instead of depending on a module Filter that's used as e.g. Filter.Proto.operation and Filter.Mempool.pre_filter, we depend on a module Proto and write Proto.operation and Proto.Plugin.pre_filter.

This MR does no semantic changes.

Manually testing the MR

CI

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • [rely on existing tests] Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Diane Gallois-Wong

Merge request reports