type tag =
  1. | Commitment
  2. | Submit_batch
  3. | Finalize_commitment
  4. | Remove_commitment
  5. | Rejection
  6. | Dispatch_withdrawals
include Tezos_injector_013_PtJakart.Injector_sigs.S with type rollup_node_state := State.t and type tag := tag

Initializes the injector with the rollup node state, for a list of signers, and start the workers. Each signer has its own worker with a queue of operations to inject.

Add an operation as pending injection in the injector. If the source is not provided, the operation is queued to the worker which handles the corresponding tag.

Notify the injector of a new Tezos head. The injector marks the operations appropriately (for instance reverted operations that are part of a reorganization are put back in the pending queue). When an operation is considered as confirmed, it disappears from the injector.

val inject : ?tags:tag list -> ?strategy:Tezos_injector_013_PtJakart.Injector_sigs.injection_strategy -> unit -> unit Lwt.t

Trigger an injection of the pending operations for all workers. If tags is given, only the workers which have a tag in tags inject their pending operations. If strategy is given, only workers which have this strategy inject their pending operations.

val shutdown : unit -> unit Lwt.t

Shutdown the injectors, waiting for the ongoing request to be processed.