From 28935ffccf204357abb5f323bd7e1f3ae61f1c61 Mon Sep 17 00:00:00 2001 From: phink Date: Wed, 29 Jan 2025 12:16:27 +0100 Subject: [PATCH 1/2] DAL/Node: add attested level for trap_injection and fix arguments --- src/bin_dal_node/accuser.ml | 5 +++-- src/bin_dal_node/event.ml | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/bin_dal_node/accuser.ml b/src/bin_dal_node/accuser.ml index e79821bf6a58..b9e5d47c3d41 100644 --- a/src/bin_dal_node/accuser.ml +++ b/src/bin_dal_node/accuser.ml @@ -112,8 +112,9 @@ let inject_entrapment_evidences (type block_info) trap_injection ( delegate, published_level, - shard.Cryptobox.index, - slot_index )) + attested_level, + slot_index, + shard.Cryptobox.index )) in Plugin.inject_entrapment_evidence rpc_ctxt diff --git a/src/bin_dal_node/event.ml b/src/bin_dal_node/event.ml index 5b427ba74991..cef67430c3bd 100644 --- a/src/bin_dal_node/event.ml +++ b/src/bin_dal_node/event.ml @@ -749,15 +749,17 @@ let warn_attester_did_not_attest_slot = ~pp1:Signature.Public_key_hash.pp_short let trap_injection = - declare_4 + declare_5 ~section ~name:"trap_injection" ~msg: "Injecting entrapment evidence for delegate {delegate}, published level \ - {published_level}, slot index {slot_index}, shard index {shard_index}" + {published_level}, attested level {attested_level}, slot index \ + {slot_index}, shard index {shard_index}" ~level:Notice ("delegate", Signature.Public_key_hash.encoding) ("published_level", Data_encoding.int32) + ("attested_level", Data_encoding.int32) ("slot_index", Data_encoding.int31) ("shard_index", Data_encoding.int31) -- GitLab From 77f42ef5dde5452157ae5629037944acfe587002 Mon Sep 17 00:00:00 2001 From: phink Date: Tue, 28 Jan 2025 13:34:09 +0100 Subject: [PATCH 2/2] DAL/Node: raise a warning when the node fails to inject a trap --- src/bin_dal_node/accuser.ml | 31 ++++++++++++++++++++++++------- src/bin_dal_node/event.ml | 17 +++++++++++++++++ 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/src/bin_dal_node/accuser.ml b/src/bin_dal_node/accuser.ml index b9e5d47c3d41..8313c20997aa 100644 --- a/src/bin_dal_node/accuser.ml +++ b/src/bin_dal_node/accuser.ml @@ -116,12 +116,29 @@ let inject_entrapment_evidences (type block_info) slot_index, shard.Cryptobox.index )) in - Plugin.inject_entrapment_evidence - rpc_ctxt - ~attested_level - attestation - ~slot_index - ~shard - ~proof:shard_proof + let*! res = + Plugin.inject_entrapment_evidence + rpc_ctxt + ~attested_level + attestation + ~slot_index + ~shard + ~proof:shard_proof + in + match res with + | Ok () -> return_unit + | Error err -> + let*! () = + Event.( + emit + trap_injection_failure + ( delegate, + published_level, + attested_level, + slot_index, + shard.Cryptobox.index, + err )) + in + return_unit else return_unit) traps_to_inject) diff --git a/src/bin_dal_node/event.ml b/src/bin_dal_node/event.ml index cef67430c3bd..0e7c1c158e33 100644 --- a/src/bin_dal_node/event.ml +++ b/src/bin_dal_node/event.ml @@ -763,6 +763,23 @@ let trap_injection = ("slot_index", Data_encoding.int31) ("shard_index", Data_encoding.int31) +let trap_injection_failure = + declare_6 + ~section + ~name:"trap_injection_failure" + ~msg: + "Failed to inject an entrapment evidence for delegate {delegate}, \ + published level {published_level}, attested level {attested_level}, \ + slot index {slot_index}, shard index {shard_index}: {error}" + ~level:Warning + ~pp6:pp_print_trace + ("delegate", Signature.Public_key_hash.encoding) + ("published_level", Data_encoding.int32) + ("attested_level", Data_encoding.int32) + ("slot_index", Data_encoding.int31) + ("shard_index", Data_encoding.int31) + ("error", trace_encoding) + let trap_check_failure = declare_3 ~section -- GitLab