Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file error.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565(*****************************************************************************)(* *)(* Open Source License *)(* Copyright (c) 2022 Nomadic Labs, <contact@nomadic-labs.com> *)(* Copyright (c) 2022 Marigold, <contact@marigold.dev> *)(* Copyright (c) 2022 Oxhead Alpha <info@oxhead-alpha.com> *)(* *)(* Permission is hereby granted, free of charge, to any person obtaining a *)(* copy of this software and associated documentation files (the "Software"),*)(* to deal in the Software without restriction, including without limitation *)(* the rights to use, copy, modify, merge, publish, distribute, sublicense, *)(* and/or sell copies of the Software, and to permit persons to whom the *)(* Software is furnished to do so, subject to the following conditions: *)(* *)(* The above copyright notice and this permission notice shall be included *)(* in all copies or substantial portions of the Software. *)(* *)(* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR*)(* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *)(* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *)(* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER*)(* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *)(* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *)(* DEALINGS IN THE SOFTWARE. *)(* *)(*****************************************************************************)typeerror+=Tx_rollup_internalofstringlet()=register_error_kind~id:"tx_rollup.node.internal"~title:"Internal error in rollup node"~description:"Internal error encountered"~pp:(funppfloc->Format.fprintfppf"Internal error in rollup node at %s"loc)`PermanentData_encoding.(obj1(req"loc"string))(functionTx_rollup_internalloc->Someloc|_->None)(funloc->Tx_rollup_internalloc)typeerror+=|Tx_rollup_not_originated_in_the_given_blockofProtocol.Alpha_context.Tx_rollup.tlet()=register_error_kind~id:"tx_rollup.node.not_originated_in_the_given_block"~title:"transaction rollup not originated within the given block."~description:"The transaction rollup was not originated inside the given block."~pp:(funppfrollup_id->Format.fprintfppf"The transaction rollup %a was not originated inside the given block."Protocol.Alpha_context.Tx_rollup.pprollup_id)`PermanentData_encoding.(obj1(req"rollup_id"Protocol.Alpha_context.Tx_rollup.encoding))(function|Tx_rollup_not_originated_in_the_given_blockrollup_id->Somerollup_id|_->None)(funrollup_id->Tx_rollup_not_originated_in_the_given_blockrollup_id)typeerror+=Tx_rollup_originated_in_forklet()=register_error_kind~id:"tx_rollup.node.originated_in_fork"~title:"transaction rollup was originated in another branch"~description:"The transaction rollup was originated in another branch."~pp:(funppf()->Format.fprintfppf"The transaction rollup was originated in another branch.")`PermanentData_encoding.(unit)(functionTx_rollup_originated_in_fork->Some()|_->None)(fun()->Tx_rollup_originated_in_fork)typeerror+=Tx_rollup_configuration_file_does_not_existsofstringlet()=register_error_kind~id:"tx_rollup.node.configuration_file_does_not_exits"~title:"Unable to find configuration file"~description:"The configuration file does not seem to exist"~pp:(funppffilepath->Format.fprintfppf"The configuration file '%s' does not exist."filepath)`PermanentData_encoding.(obj1(req"filepath"string))(function|Tx_rollup_configuration_file_does_not_existspath->Somepath|_->None)(funpath->Tx_rollup_configuration_file_does_not_existspath)typeerror+=Tx_rollup_configuration_file_already_existsofstringlet()=register_error_kind~id:"tx_rollup.node.configuration_file_already_exits"~title:"Unable to overwrite configuration file"~description:"A configuration file already exists"~pp:(funppffilepath->Format.fprintfppf"The configuration file '%s' already exists. Use --force to overwrite."filepath)`PermanentData_encoding.(obj1(req"filepath"string))(function|Tx_rollup_configuration_file_already_existspath->Somepath|_->None)(funpath->Tx_rollup_configuration_file_already_existspath)typeerror+=Tx_rollup_unable_to_write_configuration_fileofstringlet()=register_error_kind~id:"tx_rollup.node.unable_to_write_configuration_file"~title:"Unable to write configuration file"~description:"Unable to write configuration file"~pp:(funppffile->Format.fprintfppf"Unable to write the configuration file %s"file)`PermanentData_encoding.(obj1(req"file"string))(function|Tx_rollup_unable_to_write_configuration_filepath->Somepath|_->None)(funpath->Tx_rollup_unable_to_write_configuration_filepath)typeerror+=Tx_rollup_invalid_l2_addressofMicheline.canonical_locationlet()=register_error_kind~id:"tx_rollup.node.invalid_l2_address"~title:"Invalid transaction rollup L2 address"~description:"Not a valid transaction rollup L2 address"~pp:(funppfloc->Format.fprintfppf"Not a valid transaction rollup l2 address at %d"loc)`PermanentData_encoding.(obj1(req"loc"int31))(functionTx_rollup_invalid_l2_addressloc->Someloc|_->None)(funloc->Tx_rollup_invalid_l2_addressloc)typeerror+=Tx_rollup_invalid_ticket_amountofZ.tlet()=register_error_kind~id:"tx_rollup.node.invalid_ticket_amount"~title:"Invalid transaction rollup ticket amount"~description:"Not a valid transaction rollup ticket amount"~pp:(funppfamount->Format.fprintfppf"Not a valid transaction rollup ticket amount: %a"Z.pp_printamount)`PermanentData_encoding.(obj1(req"amount"z))(function|Tx_rollup_invalid_ticket_amountamount->Someamount|_->None)(funamount->Tx_rollup_invalid_ticket_amountamount)typeerror+=Tx_rollup_invalid_depositlet()=letdescription="Not a valid transaction rollup deposit"inregister_error_kind~id:"tx_rollup.node.invalid_deposit"~title:"Invalid transaction rollup Deposit"~description~pp:(funppf()->Format.fprintfppf"%s"description)`PermanentData_encoding.empty(functionTx_rollup_invalid_deposit->Some()|_->None)(fun()->Tx_rollup_invalid_deposit)typeerror+=|Tx_rollup_cannot_checkout_contextofProtocol.Tx_rollup_l2_context_hash.tlet()=register_error_kind~id:"tx_rollup.node.cannot_checkout_context"~title:"Cannot checkout the L2 context"~description:"The rollup node cannot checkout the L2 context."~pp:(funppfctxt->Format.fprintfppf"Cannot checkout L2 context %a"Protocol.Tx_rollup_l2_context_hash.ppctxt)`PermanentData_encoding.(obj1(req"context"Protocol.Tx_rollup_l2_context_hash.encoding))(functionTx_rollup_cannot_checkout_contextc->Somec|_->None)(func->Tx_rollup_cannot_checkout_contextc)typeerror+=Tx_rollup_no_rollup_info_on_disk_and_no_rollup_genesis_givenlet()=letdescription="No rollup information on disk and no rollup genesis provided"inregister_error_kind~id:"tx_rollup.node.no_rollup_info_and_no_rollup_genesis_given"~title:"No rollup information on disk and none provided"~description~pp:(funppf()->Format.fprintfppf"%s"description)`PermanentData_encoding.empty(function|Tx_rollup_no_rollup_info_on_disk_and_no_rollup_genesis_given->Some()|_->None)(fun()->Tx_rollup_no_rollup_info_on_disk_and_no_rollup_genesis_given)typeerror+=|Tx_rollup_different_disk_stored_origination_rollup_and_given_rollup_genesisof{disk_rollup_origination:Block_hash.t;given_rollup_genesis:Block_hash.t;}let()=register_error_kind~id:"tx_rollup.node.different_disk_stored_origination_rollup_and_given_rollup_genesis"~title:"Rollup origination on disk is different from the one provided"~description:"Rollup origination on disk is different from the provided rollup genesis"~pp:(funppf(disk_rollup,given_rollup)->Format.fprintfppf"Rollup origination on disk (%a) is different from the provided rollup \
genesis (%a)"Block_hash.ppdisk_rollupBlock_hash.ppgiven_rollup)`PermanentData_encoding.(obj2(req"disk_rollup"Block_hash.encoding)(req"given_rollup"Block_hash.encoding))(function|Tx_rollup_different_disk_stored_origination_rollup_and_given_rollup_genesis{disk_rollup_origination;given_rollup_genesis}->Some(disk_rollup_origination,given_rollup_genesis)|_->None)(fun(disk_rollup_origination,given_rollup_genesis)->Tx_rollup_different_disk_stored_origination_rollup_and_given_rollup_genesis{disk_rollup_origination;given_rollup_genesis})typeerror+=Tx_rollup_no_operation_metadataofOperation_hash.tlet()=register_error_kind~id:"tx_rollup.node.no_operation_metadata"~title:"Operation receipt unavailable"~description:"The operation receipt is unavailable."~pp:(funppfop->Format.fprintfppf"The operation receipt of %a is unavailable. Please make sure that the \
history mode of the Tezos node you are connecting to matches the \
requirements."Operation_hash.ppop)`PermanentData_encoding.(obj1(req"context"Operation_hash.encoding))(functionTx_rollup_no_operation_metadatao->Someo|_->None)(funo->Tx_rollup_no_operation_metadatao)typeerror+=Tx_rollup_mismatchlet()=register_error_kind~id:"tx_rollup.node.different_disk_stored_rollup"~title:"Rollup on disk is different from the one provided"~description:"Rollup on disk is different from the provided rollup"~pp:(funppf()->Format.fprintfppf"Rollup origination on disk is different from the provided rollup")`PermanentData_encoding.unit(functionTx_rollup_mismatch->Some()|_->None)(fun()->Tx_rollup_mismatch)typeerror+=Tx_rollup_cannot_fetch_tezos_blockofBlock_hash.tlet()=register_error_kind~id:"tx_rollup.node.cannot_fetch_tezos_block"~title:"A Tezos block cannot be fetched"~description:"A Tezos block cannot be fetched."~pp:(funppfb->Format.fprintfppf"The Tezos block %a cannot be fetched from the node."Block_hash.ppb)`PermanentData_encoding.(obj1(req"block"Block_hash.encoding))(functionTx_rollup_cannot_fetch_tezos_blockb->Someb|_->None)(funb->Tx_rollup_cannot_fetch_tezos_blockb)typeerror+=Tx_rollup_tree_not_foundlet()=register_error_kind~id:"tx_rollup.node.tree_not_found"~title:"Tree not found in context"~description:"The tree is not found in the context."~pp:(funppf()->Format.fprintfppf"The tree was not found in the context. The merkle proof associated to \
a message can not be produced, the rollup can not interpret the \
message.")`PermanentData_encoding.empty(functionTx_rollup_tree_not_found->Some()|_->None)(fun()->Tx_rollup_tree_not_found)typeerror+=Tx_rollup_tree_kinded_key_not_foundlet()=register_error_kind~id:"tx_rollup.node.tree_kinded_key_not_found"~title:"Kinded key not found in tree"~description:"The kinded key is not found in the tree."~pp:(funppf()->Format.fprintfppf"The kinded key was not found in the tree. The merkle proof associated \
to a message can not be produced, the rollup can not interpret the \
message.")`PermanentData_encoding.empty(functionTx_rollup_tree_kinded_key_not_found->Some()|_->None)(fun()->Tx_rollup_tree_kinded_key_not_found)typeerror+=Tx_rollup_invalid_message_position_in_inboxofintlet()=register_error_kind~id:"tx_rollup.node.invalid_message_position"~title:"Message position invalid in the inbox"~description:"The message position is invalid the inbox."~pp:(funppfi->Format.fprintfppf"The message position %d is invalid in the inbox"i)`PermanentData_encoding.(obj1(req"message_position"int31))(function|Tx_rollup_invalid_message_position_in_inboxi->Somei|_->None)(funi->Tx_rollup_invalid_message_position_in_inboxi)typeerror+=No_batcherlet()=register_error_kind~id:"tx_rollup.node.no_batcher"~title:"No batcher for this node"~description:"This node does not have a batcher"~pp:(funppf()->Format.fprintfppf"This rollup node does not have batcher.")`PermanentData_encoding.unit(functionNo_batcher->Some()|_->None)(fun()->No_batcher)typeerror+=|Tx_rollup_unknown_ticketofProtocol.Tx_rollup_l2_context_sig.Ticket_indexable.eitherlet()=register_error_kind~id:"tx_rollup.node.unknown_ticket"~title:"No ticket registered for indexable ticket hash"~description:"A ticket indexable has not ticket associated in the context."~pp:(funppfs->Format.fprintfppf"Unknown ticket for ticket indexable %a"Protocol.Tx_rollup_l2_context_sig.Ticket_indexable.pps)`PermanentData_encoding.(obj1(req"ticket_index"Protocol.Tx_rollup_l2_context_sig.Ticket_indexable.encoding))(functionTx_rollup_unknown_tickett->Somet|_->None)(funt->Tx_rollup_unknown_tickett)typeerror+=|Tx_rollup_no_proto_inboxofProtocol.Alpha_context.Tx_rollup_level.t*Block_hash.tlet()=register_error_kind~id:"tx_rollup.node.no_proto_inbox"~title:"No inbox on L1 node"~description:"Inbox on L1 node cannot be retrieved."~pp:(funppf(l,b)->Format.fprintfppf"No inbox on L1 for rollup level %a at block %a"Protocol.Alpha_context.Tx_rollup_level.pplBlock_hash.ppb)`PermanentData_encoding.(obj2(req"level"Protocol.Alpha_context.Tx_rollup_level.encoding)(req"block"Block_hash.encoding))(functionTx_rollup_no_proto_inbox(l,b)->Some(l,b)|_->None)(fun(l,b)->Tx_rollup_no_proto_inbox(l,b))typeerror+=|Tx_rollup_inbox_mismatchof{level:Protocol.Alpha_context.Tx_rollup_level.t;reconstructed_inbox:Protocol.Alpha_context.Tx_rollup_inbox.t;protocol_inbox:Protocol.Alpha_context.Tx_rollup_inbox.t;}let()=register_error_kind~id:"tx_rollup.node.inbox_mismatch"~title:"Inbox mismatch between L1 and L2"~description:"Inbox reconstructed on L2 does not match the one stored on the L1 node."~pp:(funppf(level,reconstructed_inbox,protocol_inbox)->Format.fprintfppf"@[<v 2>Inbox reconstructed for rollup level %a does not match the one \
stored on the Tezos node.@,\
@[<hov 2>Reconstructed:@ %a@]@,\
@[<hov 2>Stored on Tezos:@ %a@]@,\
@]"Protocol.Alpha_context.Tx_rollup_level.pplevelProtocol.Alpha_context.Tx_rollup_inbox.ppreconstructed_inboxProtocol.Alpha_context.Tx_rollup_inbox.ppprotocol_inbox)`PermanentData_encoding.(obj3(req"level"Protocol.Alpha_context.Tx_rollup_level.encoding)(req"reconstructed_inbox"Protocol.Alpha_context.Tx_rollup_inbox.encoding)(req"protocol_inbox"Protocol.Alpha_context.Tx_rollup_inbox.encoding))(function|Tx_rollup_inbox_mismatch{level;reconstructed_inbox;protocol_inbox}->Some(level,reconstructed_inbox,protocol_inbox)|_->None)(fun(level,reconstructed_inbox,protocol_inbox)->Tx_rollup_inbox_mismatch{level;reconstructed_inbox;protocol_inbox})typeerror+=|Tx_rollup_cannot_check_inboxofProtocol.Alpha_context.Tx_rollup_level.tlet()=register_error_kind~id:"tx_rollup.node.cannot_check_inbox"~title:"Cannot check the inbox with the L1 node"~description:"Reconstructed inbox cannot be checked."~pp:(funppfl->Format.fprintfppf"Cannot check the reconstructed inbox at level %a with the L1 node"Protocol.Alpha_context.Tx_rollup_level.ppl)`PermanentData_encoding.(obj1(req"level"Protocol.Alpha_context.Tx_rollup_level.encoding))(functionTx_rollup_cannot_check_inboxl->Somel|_->None)(funl->Tx_rollup_cannot_check_inboxl)typeerror+=Transaction_too_largeof{actual:int;limit:int}let()=register_error_kind~id:"tx_rollup.node.transaction_too_large"~title:"transaction too large to be batched"~description:"The transaction is too large to be batched."`PermanentData_encoding.(obj2(req"actual"int31)(req"limit"int31))(function|Transaction_too_large{actual;limit}->Some(actual,limit)|_->None)(fun(actual,limit)->Transaction_too_large{actual;limit})typeerror+=|Tx_rollup_missing_mode_signersof{mode:string;missing_signers:stringlist;}let()=register_error_kind~id:"tx_rollup.node.missing_mode_signers"~title:"Missing signers for the chosen mode"~description:"Missing signers for the chosen mode."~pp:(funppf(mode,missing_signers)->Format.fprintfppf"@[<hov>Missing signers %a for mode %s.@]"(Format.pp_print_list~pp_sep:(funppf()->Format.fprintfppf",@ ")Format.pp_print_string)missing_signersmode)`PermanentData_encoding.(obj2(req"mode"string)(req"missing_signers"(liststring)))(function|Tx_rollup_missing_mode_signers{mode;missing_signers}->Some(mode,missing_signers)|_->None)(fun(mode,missing_signers)->Tx_rollup_missing_mode_signers{mode;missing_signers})typeerror+=Tx_rollup_deposit_not_allowedlet()=register_error_kind~id:"tx_rollup.node.deposit_not_allowed"~title:"Deposit not allowed for operator"~description:"This node is not authorized to make a deposit"~pp:(funppf()->Format.fprintfppf"This rollup node is not authorized to make a deposit for the operator \
and the operator has never made a deposit for the rollup. Please \
restart/configure the node with --allow-deposit.")`PermanentData_encoding.unit(functionTx_rollup_deposit_not_allowed->Some()|_->None)(fun()->Tx_rollup_deposit_not_allowed)typeerror+=Tx_rollup_deposit_slashedofOperation_hash.tlet()=register_error_kind~id:"tx_rollup.node.deposit_slashed"~title:"Deposit slashed"~description:"Deposit slashed."~pp:(funppfop->Format.fprintfppf"The deposit for our operator was slashed in operation %a. Aborting to \
investigate."Operation_hash.ppop)`PermanentData_encoding.(obj1(req"operation"Operation_hash.encoding))(functionTx_rollup_deposit_slashedo->Someo|_->None)(funo->Tx_rollup_deposit_slashedo)typeerror+=Wrong_deposit_parameters