Skip to content

Existential displacement

This MR paves the way for the upcoming mempool architecture.

Whilst the code is essentially unchanged, the structure of the code is. Specifically, the functions to process mempool events (receiving new operations, etc.) have been left as is (apart from minor boilerplate changes to reflect the new module/functor structure); but the modules and functors that hold them have been changed.

The type Prevalidator.t now holds a first class module instantiated by functor application. The Chain_validator is responsible for instantiating it, providing a (module Registered_protocol.T) value. The whole Prevalidation is enclosed in a functor as well.

Merge request reports