diff --git a/src/bin_dal_node/accuser.ml b/src/bin_dal_node/accuser.ml index e79821bf6a5856fda647582c73912867e2d4348d..8313c20997aa5ab2f3e674bddcbec6f08cd7fb5c 100644 --- a/src/bin_dal_node/accuser.ml +++ b/src/bin_dal_node/accuser.ml @@ -112,15 +112,33 @@ 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 - ~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 5b427ba74991c4660418800aab4e109f33d18d1b..0e7c1c158e3398f8d6f917f1732a4fc31b035606 100644 --- a/src/bin_dal_node/event.ml +++ b/src/bin_dal_node/event.ml @@ -749,17 +749,36 @@ 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) + +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