Module type for parameter of functor Injector_functor.Make.

type rollup_node_state

The type of the state for the rollup node that the injector can access

module Tag : TAG

A module which contains the different tags for the injector

val events_section : string list

Where to put the events for this injector

val table_estimated_size : Tag.t -> int

Coarse approximation for the number of operation of each tag we expect to inject for each block.

requeue_reverted_operation state op should return true if an included operation should be re-queued for injection when the block in which it is included is reverted (due to a reorganization).

val ignore_failing_operation : 'a Tezos_protocol_alpha.Protocol.Alpha_context.manager_operation -> [ `Ignore_keep | `Ignore_drop | `Don't_ignore ]

ignore_failing_operation op specifies if the injector should ignore this operation when its simulation fails when trying to inject. Returns:

  • `Ignore_keep if the operation should be ignored but kept in the pending queue,
  • `Ignore_drop if the operation should be ignored and dropped from the pending queue,
  • `Don't_ignore if the failing operation should not be ignored and the failure reported.

The tag of a manager operation. This is used to send operations to the correct queue automatically (when signer is not provided) and to recover persistent information.

Returns the appoximate upper-bounds for the fee and limits of an operation, used to compute an upper bound on the size (in bytes) for this operation.

Returns the fee_parameter (to compute fee w.r.t. gas, size, etc.) and the caps of fee and burn for each operation.

val batch_must_succeed : Tezos_protocol_alpha.Protocol.Alpha_context.packed_manager_operation list -> [ `All | `At_least_one ]

When injecting the given operations in an L1 batch, if batch_must_succeed operations returns `All then all the operations must succeed in the simulation of injection. If it returns `At_least_one, at least one operation in the list operations must be successful in the simulation. In any case, only operations which are known as successful will be included in the injected L1 batch. Note: Returning `At_least_one allows to incrementally build "or-batches" by iteratively removing operations that fail from the desired batch.