123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083(*****************************************************************************)(* *)(* Open Source License *)(* Copyright (c) 2021 Nomadic Labs <contact@nomadic-labs.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. *)(* *)(*****************************************************************************)openProtocolopenAlpha_contextletsection=[Protocol.name;"baker"]letpp_int32fmtn=Format.fprintffmt"%ld"nletpp_int64fmtn=Format.fprintffmt"%Ld"nmoduleState_transitions=structincludeInternal_event.Simpleletsection=section@["transitions"]letnew_valid_proposal=declare_3~section~name:"new_valid_proposal"~level:Notice~msg:"received new proposal {block} at level {level}, round {round}"~pp1:Block_hash.pp("block",Block_hash.encoding)~pp2:pp_int32("level",Data_encoding.int32)~pp3:Round.pp("round",Round.encoding)letnew_head=declare_3~section~name:"new_head"~level:Notice~msg:"received new head {block} at level {level}, round {round}"~pp1:Block_hash.pp("block",Block_hash.encoding)~pp2:pp_int32("level",Data_encoding.int32)~pp3:Round.pp("round",Round.encoding)letnew_head_with_increasing_level=declare_0~section~name:"new_head_with_increasing_level"~level:Info~msg:"received new head with level increasing"()letno_proposal_slot=declare_3~section~name:"no_proposal_slot"~level:Info~msg:"end of round {current_round}; no proposal slot at level {level}, \
round {next_round}"~pp1:Round.pp("current_round",Round.encoding)~pp2:pp_int32("level",Data_encoding.int32)~pp3:Round.pp("next_round",Round.encoding)letproposal_slot=declare_4~section~name:"proposal_slot"~level:Info~msg:"end of round {current_round}; proposal slot at level {level}, round \
{next_round} for {delegate}"~pp1:Round.pp("current_round",Round.encoding)~pp2:pp_int32("level",Data_encoding.int32)~pp3:Round.pp("next_round",Round.encoding)~pp4:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)letnew_head_while_waiting_for_qc=declare_0~section~name:"new_head_while_waiting_for_qc"~level:Info~msg:"received new head while waiting for a quorum"()letapplied_expected_proposal_received=declare_1~section~name:"applied_expected_proposal_received"~level:Info~msg:"received the expected application notice for {proposal}"~pp1:Block_hash.pp("proposal",Block_hash.encoding)letunexpected_new_head_while_waiting_for_application=declare_0~section~name:"unexpected_new_head_while_waiting_for_application"~level:Info~msg:"received new head while waiting for another proposal's application"()letnew_valid_proposal_while_waiting_for_qc=declare_0~section~name:"new_valid_proposal_while_waiting_for_qc"~level:Info~msg:"received new valid proposal while waiting for a quorum"()letvalid_proposal_received_after_application=declare_0~section~name:"valid_proposal_received_after_application"~level:Info~msg:"received valid proposal for a block already applied"()letunexpected_pqc_while_waiting_for_application=declare_2~section~name:"unexpected_pqc_while_waiting_for_application"~level:Info~msg:"received an unexpected prequorum for {prequorum} while waiting for \
the proposal's {proposal} application"~pp1:Block_hash.pp("prequorum",Block_hash.encoding)~pp2:Block_hash.pp("proposal",Block_hash.encoding)letpqc_while_waiting_for_application=declare_1~section~name:"pqc_while_waiting_for_application"~level:Info~msg:"received expected prequorum for {prequorum} while waiting for the \
proposal's application"~pp1:Block_hash.pp("prequorum",Block_hash.encoding)letunexpected_proposal_round=declare_2~section~name:"unexpected_proposal_round"~level:Info~msg:"unexpected proposal round, expected: {expected_round}, got: \
{proposal_round}"~pp1:Round.pp("expected_round",Round.encoding)~pp2:Round.pp("proposal_round",Round.encoding)letproposal_for_round_already_seen=declare_3~section~name:"proposal_for_round_already_seen"~level:Warning~msg:"proposal {new_proposal} for current round ({current_round}) has \
already been seen {previous_proposal}"~pp1:Block_hash.pp("new_proposal",Block_hash.encoding)~pp2:Round.pp("current_round",Round.encoding)~pp3:Block_hash.pp("previous_proposal",Block_hash.encoding)letupdating_latest_proposal=declare_1~section~name:"updating_latest_proposal"~msg:"updating latest proposal to {block_hash}"~level:Info~pp1:Block_hash.pp("block_hash",Block_hash.encoding)letbaker_is_ahead_of_node=declare_2~section~name:"baker_is_ahead"~level:Info~msg:"baker (level: {baker_level}) is ahead of the node (level: \
{node_level})"~pp1:pp_int32("baker_level",Data_encoding.int32)~pp2:pp_int32("node_level",Data_encoding.int32)letnew_proposal_is_on_another_branch=declare_2~section~name:"new_proposal_is_on_another_branch"~level:Info~msg:"received a proposal on another branch - current: current \
pred{current_branch}, new pred {new_branch}"~pp1:Block_hash.pp("current_branch",Block_hash.encoding)~pp2:Block_hash.pp("new_branch",Block_hash.encoding)letswitching_branch=declare_0~section~name:"switching_branch"~level:Info~msg:"switching branch"()letbranch_proposal_has_better_fitness=declare_0~section~name:"branch_proposal_has_better_fitness"~level:Info~msg:"different branch proposal has a better fitness than us"()letbranch_proposal_has_no_prequorum=declare_0~section~name:"branch_proposal_has_no_prequorum"~level:Info~msg:"different branch proposal has no prequorum but we do"()letbranch_proposal_has_lower_prequorum=declare_0~section~name:"branch_proposal_has_lower_prequorum"~level:Info~msg:"different branch proposal has a lower prequorum than us"()letbranch_proposal_has_better_prequorum=declare_0~section~name:"branch_proposal_has_better_prequorum"~level:Info~msg:"different branch proposal has a better prequorum"()letbranch_proposal_has_same_prequorum=declare_0~section~name:"branch_proposal_has_same_prequorum"~level:Error~msg:"different branch proposal has the same prequorum"()letattempting_preendorse_proposal=declare_1~section~name:"attempting_preendorsing_proposal"~level:Info~msg:"attempting to preendorse proposal {block_hash}"~pp1:Block_hash.pp("block_hash",Block_hash.encoding)letskipping_invalid_proposal=declare_0~section~name:"skipping_invalid_proposal"~level:Info~msg:"invalid proposal, skipping"()letoutdated_proposal=declare_1~section~name:"outdated_proposal"~level:Debug~msg:"outdated proposal {block_hash}"~pp1:Block_hash.pp("block_hash",Block_hash.encoding)letproposing_fresh_block=declare_2~section~name:"proposing_fresh_block"~level:Info~msg:"proposing fresh block for {delegate} at round {round}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp2:Round.pp("round",Round.encoding)letno_endorsable_payload_fresh_block=declare_0~section~name:"no_endorsable_payload_fresh_block"~level:Info~msg:"no endorsable payload, proposing fresh block"()letrepropose_block=declare_1~section~name:"repropose_block"~level:Info~msg:"repropose block with payload {payload}"~pp1:Block_payload_hash.pp("payload",Block_payload_hash.encoding)letunexpected_prequorum_received=declare_2~section~name:"unexpected_prequorum_received"~level:Info~msg:"unexpected prequorum received for {received_hash} instead of \
{expected_hash}"~pp1:Block_hash.pp("received_hash",Block_hash.encoding)~pp2:Block_hash.pp("expected_hash",Block_hash.encoding)letunexpected_quorum_received=declare_2~section~name:"unexpected_quorum_received"~level:Info~msg:"unexpected quorum received for {received_hash} instead of \
{expected_hash}"~pp1:Block_hash.pp("received_hash",Block_hash.encoding)~pp2:Block_hash.pp("expected_hash",Block_hash.encoding)lethandling_prequorum_on_non_applied_proposal=declare_0~section~name:"handling_prequorum_on_non_applied_proposal"~level:Error~msg:"Handling prequorum on a non-applied proposal"()letstep_current_phase=declare_2~section~name:"step_current_phase"~level:Debug~msg:"automaton step: current phase {phase}, event {event}"~pp1:Baking_state.pp_phase("phase",Baking_state.phase_encoding)~pp2:Baking_state.pp_event("event",Baking_state.event_encoding)endmoduleNode_rpc=structincludeInternal_event.Simpleletsection=section@["rpc"]leterror_while_monitoring_heads=declare_1~section~name:"error_while_monitoring_heads"~level:Error~msg:"error while monitoring heads {trace}"~pp1:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)leterror_while_monitoring_valid_proposals=declare_1~section~name:"error_while_monitoring_valid_proposals"~level:Error~msg:"error while monitoring valid proposals {trace}"~pp1:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)endmoduleScheduling=structincludeInternal_event.Simpleletsection=section@["scheduling"]leterror_while_baking=declare_1~section~name:"error_while_baking"~level:Warning~msg:"error while baking {trace}"~pp1:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letwaiting_for_new_head=declare_0~section~name:"waiting_for_new_head"~level:Info~msg:"no possible timeout, waiting for a new head to arrive..."()letcompute_next_timeout_elected_block=declare_2~section~name:"compute_next_timeout_elected_block"~level:Debug~msg:"found an elected block at level {level}, round {round}... checking \
baking rights"~pp1:pp_int32("level",Data_encoding.int32)~pp2:Round.pp("round",Round.encoding)letproposal_already_injected=declare_0~section~name:"proposal_already_injected"~level:Debug~msg:"proposal already injected for next level, skipping..."()letnext_potential_slot=declare_4~section~name:"next_potential_slot"~level:Info~msg:"next potential slot for level {level} is at round {round} at \
{timestamp} for {delegate}"~pp1:pp_int32("level",Data_encoding.int32)~pp2:Round.pp("round",Round.encoding)~pp3:Timestamp.pp("timestamp",Timestamp.encoding)~pp4:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)letwaiting_end_of_round=declare_3~section~name:"waiting_end_of_round"~level:Info~msg:"waiting {timespan} until end of round {round} at {timestamp}"~pp1:Ptime.Span.pp("timespan",Time.System.Span.encoding)~pp2:pp_int32("round",Data_encoding.int32)~pp3:Timestamp.pp("timestamp",Timestamp.encoding)letwaiting_delayed_end_of_round=declare_4~section~name:"waiting_delayed_end_of_round"~level:Info~msg:"waiting {timespan} until {timestamp} (end of round {round} plus \
{delay}s delay)"~pp1:Ptime.Span.pp("timespan",Time.System.Span.encoding)~pp2:pp_int32("round",Data_encoding.int32)~pp3:Timestamp.pp("timestamp",Timestamp.encoding)~pp4:pp_int64("delay",Data_encoding.int64)letwaiting_time_to_bake=declare_2~section~name:"waiting_time_to_bake"~level:Info~msg:"waiting {timespan} until it's time to bake at {timestamp}"~pp1:Ptime.Span.pp("timespan",Time.System.Span.encoding)~pp2:Timestamp.pp("timestamp",Timestamp.encoding)letno_need_to_wait_for_proposal=declare_0~section~name:"no_need_to_wait_for_proposal"~level:Info~msg:"no need to wait to propose a block"()letstate_synchronized_to_round=declare_1~section~name:"state_synchronized_to_round"~level:Debug~msg:"state synchronized to round {round}"~pp1:Round.pp("round",Round.encoding)letproposal_in_the_future=declare_1~section~name:"proposal_in_the_future"~level:Debug~msg:"received proposal in the future {block_hash}"~pp1:Block_hash.pp("block_hash",Block_hash.encoding)letprocess_proposal_in_the_future=declare_1~section~name:"process_proposal_in_the_future"~level:Debug~msg:"process proposal received in the future with hash {block_hash}"~pp1:Block_hash.pp("block_hash",Block_hash.encoding)endmoduleLib=structincludeInternal_event.Simpleletsection=section@["lib"]letattempting_preendorse_proposal=declare_1~section~name:"attempting_preendorsing_proposal"~level:Debug~msg:"attempting to preendorse proposal {proposal}"~pp1:Baking_state.pp_proposal("proposal",Baking_state.proposal_encoding)letattempting_endorse_proposal=declare_1~section~name:"attempting_endorsing_proposal"~level:Debug~msg:"attempting to endorse proposal {proposal}"~pp1:Baking_state.pp_proposal("proposal",Baking_state.proposal_encoding)endmoduleActions=structincludeInternal_event.Simpleletsection=section@["actions"]letskipping_preendorsement=declare_2~section~name:"skipping_preendorsement"~level:Error~msg:"unable to sign preendorsement for {delegate} -- {trace}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp2:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letskipping_endorsement=declare_2~section~name:"skipping_endorsement"~level:Error~msg:"unable to sign endorsement for {delegate} -- {trace}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp2:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letskipping_attestation=declare_2~section~name:"skipping_attestation"~level:Error~msg:"unable to sign attestation for {delegate} -- {trace}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp2:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letfailed_to_inject_preendorsement=declare_2~section~name:"failed_to_inject_preendorsement"~level:Error~msg:"failed to inject preendorsement for {delegate} -- {trace}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp2:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letfailed_to_inject_endorsement=declare_2~section~name:"failed_to_inject_endorsement"~level:Error~msg:"failed to inject endorsement for {delegate} -- {trace}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp2:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letpotential_double_baking=declare_2~section~name:"potential_double_baking"~level:Warning~msg:"potential double baking detected at level {level}, round {round}"~pp1:pp_int32~pp2:Round.pp("level",Data_encoding.int32)("round",Round.encoding)letpreendorsement_injected=declare_4~section~name:"preendorsement_injected"~level:Notice~msg:"injected preendorsement {ophash} for {delegate} for level {level}, \
round {round}"~pp1:Operation_hash.pp("ophash",Operation_hash.encoding)~pp2:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp3:pp_int32("level",Data_encoding.int32)~pp4:Round.pp("round",Round.encoding)letendorsement_injected=declare_4~section~name:"endorsement_injected"~level:Notice~msg:"injected endorsement {ophash} for {delegate} for level {level}, round \
{round}"~pp1:Operation_hash.pp("ophash",Operation_hash.encoding)~pp2:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp3:pp_int32("level",Data_encoding.int32)~pp4:Round.pp("round",Round.encoding)letattestation_injected=declare_3~section~name:"attestation_injected"~level:Notice~msg:"injected attestation {ophash} with bitset {bitset} for {delegate}"~pp1:Operation_hash.pp("ophash",Operation_hash.encoding)~pp2:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)~pp3:Z.pp_print("bitset",Data_encoding.n)letsynchronizing_round=declare_1~section~name:"synchronizing_round"~level:Info~msg:"synchronizing round after block {block}"~pp1:Block_hash.pp("block",Block_hash.encoding)letprepare_forging_block=declare_3~section~name:"prepare_forging_block"~level:Debug~msg:"prepare forging block at level {level}, round {round} for {delegate}"~pp1:pp_int32~pp2:Round.pp~pp3:Baking_state.pp_consensus_key_and_delegate("level",Data_encoding.int32)("round",Round.encoding)("delegate",Baking_state.consensus_key_and_delegate_encoding)letforging_block=declare_3~section~name:"forging_block"~level:Info~msg:"forging block at level {level}, round {round} for {delegate}"~pp1:pp_int32~pp2:Round.pp~pp3:Baking_state.pp_consensus_key_and_delegate("level",Data_encoding.int32)("round",Round.encoding)("delegate",Baking_state.consensus_key_and_delegate_encoding)letinjecting_block=declare_3~section~name:"injecting_block"~level:Debug~msg:"injecting block at level {level}, round {round} for {delegate}"~pp1:pp_int32~pp2:Round.pp~pp3:Baking_state.pp_consensus_key_and_delegate("level",Data_encoding.int32)("round",Round.encoding)("delegate",Baking_state.consensus_key_and_delegate_encoding)letblock_injected=declare_4~section~name:"block_injected"~level:Notice~msg:"block {block} at level {level}, round {round} injected for {delegate}"~pp1:Block_hash.pp~pp2:pp_int32~pp3:Round.pp~pp4:Baking_state.pp_consensus_key_and_delegate("block",Block_hash.encoding)("level",Data_encoding.int32)("round",Round.encoding)("delegate",Baking_state.consensus_key_and_delegate_encoding)letsigning_preendorsement=declare_1~section~name:"signing_preendorsement"~level:Info~msg:"signing preendorsement for {delegate}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)letsigning_endorsement=declare_1~section~name:"signing_endorsement"~level:Info~msg:"signing endorsement for {delegate}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)letinvalid_json_file=declare_1~section~name:"invalid_json_file"~level:Warning~msg:"{filename} is not a valid JSON file"("filename",Data_encoding.string)letno_operations_found_in_file=declare_1~section~name:"no_operations_found_in_file"~level:Warning~msg:"no operations found in file {filename}"("filename",Data_encoding.string)letcannot_fetch_operations=declare_1~section~name:"cannot_fetch_operations"~level:Error~msg:"cannot fetch operations: {errs}"("errs",Error_monad.(TzTrace.encodingerror_encoding))letvote_for_liquidity_baking_toggle=declare_1~section~name:"vote_for_liquidity_baking_toggle"~level:Notice~msg:"Voting {value} for liquidity baking toggle vote"("value",Protocol.Alpha_context.Liquidity_baking.liquidity_baking_toggle_vote_encoding)letno_dal_node=declare_0~section~name:"no_dal_node"~level:Notice~msg:"DAL feature enabled, but no DAL node specified: cannot fetch \
attestations"()endmoduleVDF=structincludeInternal_event.Simpleletsection=section@["vdf"]letvdf_revelation_injected=declare_3~section~name:"vdf_revelation_injected"~level:Notice~msg:"Injected VDF revelation for cycle {cycle} (chain {chain} with \
operation {ophash})"~pp1:pp_int32("cycle",Data_encoding.int32)~pp2:Format.pp_print_string("chain",Data_encoding.string)~pp3:Operation_hash.pp("ophash",Operation_hash.encoding)letvdf_daemon_error=declare_2~section~name:"vdf_daemon_error"~level:Error~msg:"{worker}: error while running VDF daemon: {errors}"~pp1:Format.pp_print_string("worker",Data_encoding.string)~pp2:pp_print_top_error_of_trace("errors",Error_monad.(TzTrace.encodingerror_encoding))letvdf_daemon_connection_lost=declare_1~section~name:"vdf_daemon_connection_lost"~level:Error~msg:"Connection to node lost, VDF daemon {worker} exiting"~pp1:Format.pp_print_string("worker",Data_encoding.string)letvdf_daemon_cannot_kill_computation=declare_1~section~name:"vdf_daemon_cannot_kill_computation"~level:Error~msg:"Error when killining running computation: {error}"~pp1:Format.pp_print_string("error",Data_encoding.string)letvdf_info=declare_1~section~name:"vdf_internal"~level:Notice~msg:"{msg}"~pp1:Format.pp_print_string("msg",Data_encoding.string)endmoduleNonces=structincludeInternal_event.Simpleletsection=section@["nonces"]letfound_nonce_to_reveal=declare_2~section~name:"found_nonce_to_reveal"~level:Notice~msg:"found nonce to reveal for block {block}, level {level}"~pp1:Block_hash.pp("block",Block_hash.encoding)~pp2:pp_int32("level",Data_encoding.int32)letrevealing_nonce=declare_3~section~name:"revealing_nonce"~level:Notice~msg:"revealing nonce of level {level} (chain {chain} with operation \
{ophash})"~pp1:pp_int32("level",Data_encoding.int32)~pp2:Format.pp_print_string("chain",Data_encoding.string)~pp3:Operation_hash.pp("ophash",Operation_hash.encoding)letcannot_fetch_chain_head_level=declare_0~section~name:"cannot_fetch_chain_head_level"~level:Error~msg:"cannot fetch chain head level, aborting nonces filtering"()letincoherent_nonce=declare_1~section~name:"incoherent_nonce"~level:Error~msg:"incoherent nonce for level {level}"~pp1:pp_int32("level",Data_encoding.int32)letcannot_read_nonces=declare_1~section~name:"cannot_read_nonces"~level:Error~msg:"cannot read nonces {trace}"~pp1:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letcannot_retrieve_unrevealed_nonces=declare_1~section~name:"cannot_retrieve_unrevealed_nonces"~level:Error~msg:"cannot retrieve unrevealed nonces {trace}"~pp1:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letcannot_inject_nonces=declare_1~section~name:"cannot_inject_nonces"~level:Error~msg:"cannot inject nonces {trace}"~pp1:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)letcant_retrieve_block_header_for_nonce=declare_2~section~name:"cant_retrieve_block_header_for_nonce"~level:Warning~msg:"cannot retrieve block header {header} associated with nonce {trace}"("header",Data_encoding.string)~pp2:Error_monad.pp_print_trace("trace",Error_monad.trace_encoding)lettoo_many_nonces=declare_1~section~name:"too_many_nonces"~level:Warning~msg:"too many nonces associated with blocks unknown by node in \
'$TEZOS_CLIENT/{filename}'. After checking that these blocks were \
never included in the chain (e.g., via a block explorer), consider \
using `octez-client filter orphan nonces` to clear them."("filename",Data_encoding.string)letregistering_nonce=declare_1~section~name:"registering_nonce"~level:Info~msg:"registering nonce for block {block}"~pp1:Block_hash.pp("block",Block_hash.encoding)letnothing_to_reveal=declare_1~section~name:"nothing_to_reveal"~level:Info~msg:"nothing to reveal for block {block}"~pp1:Block_hash.pp("block",Block_hash.encoding)letrevelation_worker_started=declare_0~section~name:"revelation_worker_started"~level:Info~msg:"revelation worker started"()endmoduleLiquidity_baking=structincludeInternal_event.Simpleletreading_per_block=declare_1~section~name:"reading_per_block"~level:Notice~msg:"reading per block vote file path: {path}"("path",Data_encoding.string)letper_block_vote_file_notice=declare_1~section~name:"per_block_vote_file_notice"~level:Notice~msg:"per block vote file {event}"("event",Data_encoding.string)letreading_liquidity_baking=declare_0~section~name:"reading_liquidity_baking"~level:Notice~msg:"reading liquidity baking toggle vote"()letliquidity_baking_toggle_vote=declare_1~section~name:"liquidity_baking_toggle_vote"~level:Notice~msg:"liquidity baking toggle vote = {value}"("value",Protocol.Alpha_context.Liquidity_baking.liquidity_baking_toggle_vote_encoding)letper_block_vote_file_fail=declare_1~section~name:"per_block_vote_file_error"~level:Notice~msg:"Error reading the block vote file: {errors}"~pp1:pp_print_top_error_of_trace("errors",Error_monad.(TzTrace.encodingerror_encoding))letliquidity_baking_off=declare_0~section~name:"liquidity_baking_off"~level:Notice~msg:"Will vote to stop Liquidity Baking"()letliquidity_baking_on=declare_0~section~name:"liquidity_baking_on"~level:Notice~msg:"Will vote to continue or restart Liquidity Baking"()endmoduleSelection=structincludeInternal_event.Simpleletsection=section@["operation_selection"]letinvalid_operation_filtered=declare_2~section~name:"invalid_operation_filtered"~level:Warning~msg:"filtered invalid operation {op}: {errors}"~pp1:Operation_hash.pp("op",Operation_hash.encoding)~pp2:pp_print_top_error_of_trace("errors",Error_monad.(TzTrace.encodingerror_encoding))letcannot_serialize_operation_metadata=declare_1~section~name:"cannot_serialize_operation_metadata"~level:Warning~msg:"cannot serialize operation {op} metadata"~pp1:Operation_hash.pp("op",Operation_hash.encoding)end