Module Mavkit_injector.Injector_sigs

type injection_strategy = [
  1. | `Each_block
    (*

    Inject pending operations after each new L1 block

    *)
  2. | `Delay_block of float
    (*

    `Delay_block f strategy waits for f * the next block time to be elapsed before injecting pending operations. This strategy allows for maximizing the number of the same kind of operations to include in a block.

    *)
]

Defines the strategy for a worker.

type unsuccessful_status =
  1. | Other_branch
    (*

    The operation is included in a block that is not on the main chain anymore, because of a reorganization.

    *)
  2. | Backtracked
    (*

    The operation is backtracked because of a further failing operation in the same batch.

    *)
  3. | Skipped
    (*

    The operation is skipped because of a previous failing operation in the same batch.

    *)
  4. | Failed of Mavryk_base.TzPervasives.error Mavryk_base.TzPervasives.trace
    (*

    The operation failed with the provided error.

    *)
  5. | Never_included
    (*

    The operation was injected but never included after the injection TTL.

    *)

Explanation for unsuccessful operations (that are included in a block).

type operation_status =
  1. | Successful
  2. | Unsuccessful of unsuccessful_status
type simulation_status = {
  1. index_in_batch : int;
  2. status : operation_status;
}
type 'unsigned_op simulation_result = {
  1. operations_statuses : simulation_status list;
  2. unsigned_operation : 'unsigned_op;
}
type retry_action =
  1. | Retry
    (*

    The operation is retried by being re-queued for injection.

    *)
  2. | Forget
    (*

    The operation is forgotten without error.

    *)
  3. | Abort of Mavryk_base.TzPervasives.error Mavryk_base.TzPervasives.trace
    (*

    The error for the failing operation should be propagated at a higher level.

    *)

Action to be taken for unsuccessful operation.

module type TAG = sig ... end

Signature for tags used in injector

module type PARAM_OPERATION = sig ... end
module type INJECTOR_OPERATION = sig ... end

Internal representation of injector operations.

module type PARAMETERS = sig ... end

Module type for parameter of functor Injector_functor.Make.

module type PROTOCOL_CLIENT = sig ... end
module type S = sig ... end

Output signature for functor Injector_functor.Make.