type Tezos_base.TzPervasives.Error_monad.error +=
  1. | Injection_operations_error

While injecting several operations (see private_operations), if one injection failed, we have to report the error. To avoid using recursive errors we do the reporting as follows:

  • We wrap the error into Injection_operations_error
  • If injecting the operation oph succeeded we use Injection_operation_succeed_case oph
  • If injecting the operation oph failed with err, we use Injection_operation_error_case oph followed by err.

block cctxt ?async ?force raw_block tries to inject raw_block inside the node. If ?async is true, raw_block will be validated before the result is returned. If ?force is true, the block will be injected even on non strictly increasing fitness.

private_operations injects multiple operations. The private_ prefix is because the service is bound to the /private/ path-prefix which is intended for tests only. See the ~description argument in the definition in the ml file for more information.

module S : sig ... end