Skip to content

feat(crosschain): add event containing error when inbound processing fail#4061

Merged
lumtis merged 5 commits intodevelopfrom
feat/error-logging-for-post-tx-hook
Jul 30, 2025
Merged

feat(crosschain): add event containing error when inbound processing fail#4061
lumtis merged 5 commits intodevelopfrom
feat/error-logging-for-post-tx-hook

Conversation

@lumtis
Copy link
Contributor

@lumtis lumtis commented Jul 29, 2025

Description

In the future, this will allow to check in the Cosmos tx associated with an inobund, the reason for the failure at the processing level

Summary by CodeRabbit

  • New Features
    • Introduced a new event for tracking inbound processing failures, including details about the failed transaction and error message.
    • Enhanced event emission to log specific errors when inbound processing fails, improving transparency for failure tracking.

@lumtis lumtis requested a review from a team as a code owner July 29, 2025 14:52
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 29, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

A new event type, EventInboundProcessingFailure, was introduced at the protobuf level and propagated through the TypeScript definitions and Go event emission logic. The keeper's event emission utilities and EVM hooks were updated to emit this event when inbound processing fails, enabling structured failure reporting.

Changes

Cohort / File(s) Change Summary
Protobuf Event Definition
proto/zetachain/zetacore/crosschain/events.proto
Added EventInboundProcessingFailure message with inbound_hash and error_message fields.
TypeScript Protobuf Bindings
typescript/zetachain/zetacore/crosschain/events_pb.ts
Added TypeScript type and schema for EventInboundProcessingFailure.
Go Event Emission Utility
x/crosschain/keeper/events.go
Introduced EmitInboundProcessingFailure function to emit the new event type.
EVM Hook Integration
x/crosschain/keeper/evm_hooks.go
Integrated error event emission in ProcessLogs for ZEVM inbound V2 failures using the new event.

Sequence Diagram(s)

sequenceDiagram
    participant EVMHook as Keeper.ProcessLogs
    participant EventUtil as EmitInboundProcessingFailure
    participant EventMgr as Context.EventManager

    EVMHook->>EVMHook: ProcessZEVMInboundV2(log)
    alt On error
        EVMHook->>EventUtil: EmitInboundProcessingFailure(ctx, log.TxHash, error)
        EventUtil->>EventMgr: Emit EventInboundProcessingFailure
        EventUtil-->>EVMHook: Log error if emission fails
        EVMHook-->>EVMHook: Return wrapped error
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/error-logging-for-post-tx-hook

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@lumtis lumtis added the no-changelog Skip changelog CI check label Jul 29, 2025
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment bugbot run to trigger another review on this PR

@codecov
Copy link

codecov bot commented Jul 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.94%. Comparing base (6793041) to head (a26831a).
⚠️ Report is 3 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##           develop    #4061   +/-   ##
========================================
  Coverage    64.94%   64.94%           
========================================
  Files          475      475           
  Lines        35133    35136    +3     
========================================
+ Hits         22817    22820    +3     
  Misses       11243    11243           
  Partials      1073     1073           
Files with missing lines Coverage Δ
x/crosschain/keeper/evm_hooks.go 85.13% <100.00%> (+0.16%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lumtis lumtis requested a review from swift1337 July 29, 2025 17:14
@lumtis lumtis added this pull request to the merge queue Jul 30, 2025
@github-actions github-actions bot added the MERGE_FAILED Merge Queue CI failed label Jul 30, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jul 30, 2025
@lumtis lumtis added this pull request to the merge queue Jul 30, 2025
Merged via the queue into develop with commit 110e865 Jul 30, 2025
48 checks passed
@lumtis lumtis deleted the feat/error-logging-for-post-tx-hook branch July 30, 2025 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking:proto MERGE_FAILED Merge Queue CI failed no-changelog Skip changelog CI check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants