12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067(*****************************************************************************)(* *)(* 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_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_preattest_proposal=declare_1~section~name:"attempting_preattest_proposal"~level:Info~msg:"attempting to preattest 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_attestable_payload_fresh_block=declare_0~section~name:"no_attestable_payload_fresh_block"~level:Info~msg:"no attestable 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)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_preattest_proposal=declare_1~section~name:"attempting_preattest_proposal"~level:Debug~msg:"attempting to preattest proposal {proposal}"~pp1:Baking_state.pp_proposal("proposal",Baking_state.proposal_encoding)letattempting_attest_proposal=declare_1~section~name:"attempting_attest_proposal"~level:Debug~msg:"attempting to attest proposal {proposal}"~pp1:Baking_state.pp_proposal("proposal",Baking_state.proposal_encoding)endmoduleActions=structincludeInternal_event.Simpleletsection=section@["actions"]letskipping_preattestation=declare_2~section~name:"skipping_preattestation"~level:Error~msg:"unable to sign preattestation 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_get_dal_attestations=declare_2~section~name:"failed_to_get_attestations"~level:Error~msg:"unable to get DAL 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)letskipping_dal_attestation=declare_2~section~name:"skipping_dal_attestation"~level:Error~msg:"unable to sign DAL 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_preattestation=declare_2~section~name:"failed_to_inject_preattestation"~level:Error~msg:"failed to inject preattestation 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_attestation=declare_2~section~name:"failed_to_inject_attestation"~level:Error~msg:"failed to inject 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)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)letpreattestation_injected=declare_4~section~name:"preattestation_injected"~level:Notice~msg:"injected preattestation {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_4~section~name:"attestation_injected"~level:Notice~msg:"injected attestation {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)letdal_attestation_injected=declare_5~section~name:"dal_attestation_injected"~level:Notice~msg:"injected DAL attestation {ophash} for level {attestation_level} with \
bitset {bitset} for {delegate} to attest slots published at level \
{published_level}"~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)("published_level",Data_encoding.int32)("attestation_level",Data_encoding.int32)letdal_attestation_void=declare_3~section~name:"dal_attestation_void"~level:Notice~msg:"Skipping the injection of the DAL attestation for attestation level \
{attestation_level}, as no slot published at level {published_level} \
is attestable."~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)("attestation_level",Data_encoding.int32)("published_level",Data_encoding.int32)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_preattestation=declare_1~section~name:"signing_preattestation"~level:Info~msg:"signing preattestation for {delegate}"~pp1:Baking_state.pp_consensus_key_and_delegate("delegate",Baking_state.consensus_key_and_delegate_encoding)letsigning_attestation=declare_1~section~name:"signing_attestation"~level:Info~msg:"signing attestation 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.Per_block_votes.liquidity_baking_vote_encoding)letvote_for_adaptive_issuance=declare_1~section~name:"vote_for_adaptive_issuance"~level:Notice~msg:"Voting {value} for adaptive issuance vote"("value",Protocol.Alpha_context.Per_block_votes.adaptive_issuance_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"()endmodulePer_block_votes=structincludeInternal_event.Simpleletreading_per_block_votes=declare_1~section~name:"reading_per_block_votes"~level:Notice~msg:"reading votes file: {path}"("path",Data_encoding.string)letliquidity_baking_toggle_vote=declare_1~section~name:"read_liquidity_baking_toggle_vote"~level:Notice~msg:"read liquidity baking toggle vote = {value}"("value",Protocol.Alpha_context.Per_block_votes.liquidity_baking_vote_encoding)letper_block_vote_file_fail=declare_1~section~name:"per_block_vote_file_error"~level:Error~msg:"Error reading the block vote file: {errors}"~pp1:pp_print_top_error_of_trace("errors",Error_monad.(TzTrace.encodingerror_encoding))letadaptive_issuance_vote=declare_1~section~name:"read_adaptive_issuance_vote"~level:Notice~msg:"read adaptive issuance vote = {value}"("value",Protocol.Alpha_context.Per_block_votes.adaptive_issuance_vote_encoding)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