Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(hubble): implement Result pattern in OnChainEventStore #2522

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

VolodymyrBg
Copy link

@VolodymyrBg VolodymyrBg commented Feb 6, 2025

Why is this change needed?

The current implementation in OnChainEventStore uses direct error throwing in several critical methods, which breaks the established error handling pattern used throughout the codebase. This inconsistency can lead to:
Unpredictable error propagation
Difficulty in proper error handling by calling code
Potential runtime issues when errors are not properly caught
The codebase predominantly uses the Result pattern from the neverthrow library for error handling. This PR aligns the OnChainEventStore implementation with this pattern by:
Refactoring getActiveSigner to return HubResult
Refactoring _mergeEvent to return HubResult
Improving error handling in _handleSignerEvent
Adding proper error context and recovery in cache operations

Merge Checklist

[x] PR title adheres to the conventional commits standard
[x] PR has a changeset
[x] PR has been tagged with a change label: bugfix
[ ] PR includes documentation (not necessary as this is an internal implementation change)


PR-Codex overview

This PR focuses on enhancing error handling and return types in the OnChainEventStore class methods, transitioning from direct returns to using ResultAsync and err for improved error management.

Detailed summary

  • Updated getActiveSigner to return HubResult<SignerOnChainEvent> instead of Promise<SignerOnChainEvent>.
  • Implemented error handling using try-catch and returning err for errors in getActiveSigner.
  • Changed _mergeEvent to return HubResult<number> and updated error handling to use err.
  • Added error handling in the transaction commit process in _mergeEvent.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Copy link

changeset-bot bot commented Feb 6, 2025

⚠️ No Changeset found

Latest commit: c02399a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

vercel bot commented Feb 6, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
hub-monorepo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 6, 2025 7:39pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant