12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182(*****************************************************************************)(* *)(* SPDX-License-Identifier: MIT *)(* Copyright (c) 2021 Nomadic Labs, <contact@nomadic-labs.com> *)(* Copyright (c) 2022 Trili Tech, <contact@trili.tech> *)(* Copyright (c) 2023 Marigold <contact@marigold.dev> *)(*****************************************************************************)(** The kind of operations that can be injected by the rollup node. *)typet=|Publish|Add_messages|Cement|Timeout|Refute|Recover|Execute_outbox_messageletall=[Publish;Add_messages;Cement;Timeout;Refute;Recover;Execute_outbox_message;]moduleMap=Map.Make(structtypenonrect=tletcompare=Stdlib.compareend)typefee_parameters=Injector_common.fee_parameterMap.tletto_string=function|Publish->"publish"|Add_messages->"add_messages"|Cement->"cement"|Timeout->"timeout"|Refute->"refute"|Recover->"recover"|Execute_outbox_message->"execute_outbox_message"letof_string=function|"publish"->SomePublish|"add_messages"->SomeAdd_messages|"cement"->SomeCement|"timeout"->SomeTimeout|"refute"->SomeRefute|"recover"->SomeRecover|"execute_outbox_message"->SomeExecute_outbox_message|_->Noneletof_string_exns=matchof_stringswith|Somep->p|None->invalid_arg("operation_kind_of_string "^s)letencoding=Data_encoding.string_enum@@List.map(funoperation_kind->(to_stringoperation_kind,operation_kind))allletmap_encodingvalue_encoding=letopenData_encodinginconvMap.bindings(funl->List.to_seql|>Map.of_seq)(Utils.dictionary_encoding~keys:all~string_of_key:to_string~key_of_string:of_string_exn~value_encoding)letfee_parameters_encoding~default_fee_parameter=map_encoding(fun(operation_kind:t)->Injector_common.fee_parameter_encoding~default_fee_parameter:(default_fee_parameteroperation_kind))