Mavryk_shell_services.Injection_servicesWhile 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:
Injection_operations_erroroph succeeded we use Injection_operation_succeed_case ophoph failed with err, we use Injection_operation_error_case oph followed by err.type Mavryk_base.TzPervasives.Error_monad.error += | Injection_operation_succeed_case of Mavryk_base.TzPervasives.Operation_hash.ttype Mavryk_base.TzPervasives.Error_monad.error += | Injection_operation_error_case of Mavryk_base.TzPervasives.Operation_hash.tval block :
Mavryk_rpc.Context.simple ->
?async:bool ->
?force:bool ->
?chain:Chain_services.chain ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_base.Operation.t list list ->
Mavryk_base.TzPervasives.Block_hash.t Mavryk_base.TzPervasives.tzresult Lwt.tblock 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.
val operation :
Mavryk_rpc.Context.simple ->
?async:bool ->
?chain:Chain_services.chain ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_base.TzPervasives.Operation_hash.t Mavryk_base.TzPervasives.tzresult
Lwt.tval private_operation :
Mavryk_rpc.Context.simple ->
?async:bool ->
?chain:Chain_services.chain ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_base.TzPervasives.Operation_hash.t Mavryk_base.TzPervasives.tzresult
Lwt.tval private_operations :
Mavryk_rpc.Context.simple ->
?async:bool ->
?force:bool ->
?chain:Chain_services.chain ->
Mavryk_base.TzPervasives.Bytes.t list ->
Mavryk_base.TzPervasives.Operation_hash.t list
Mavryk_base.TzPervasives.tzresult
Lwt.tprivate_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.
val protocol :
Mavryk_rpc.Context.simple ->
?async:bool ->
Mavryk_base.Protocol.t ->
Mavryk_base.TzPervasives.Protocol_hash.t Mavryk_base.TzPervasives.tzresult
Lwt.tmodule S : sig ... end