Skip to content

fix: add nil guards for Solana tx metadata and safe signature parsing (backport #4550 to v37)#4553

Merged
kingpinXD merged 4 commits intorelease/zetaclient/v37from
backport/4550-fix-solana-nil-meta-and-must-signature-v37
Feb 25, 2026
Merged

fix: add nil guards for Solana tx metadata and safe signature parsing (backport #4550 to v37)#4553
kingpinXD merged 4 commits intorelease/zetaclient/v37from
backport/4550-fix-solana-nil-meta-and-must-signature-v37

Conversation

@ws4charlie
Copy link
Contributor

@ws4charlie ws4charlie commented Feb 25, 2026

Summary

Addresses review feedback from #4552 (comment): the previous Meta != nil && Meta.Err != nil guard allowed transactions with unknown execution status (nil metadata) to proceed through processing and voting.

Before/After

Scenario Before After
txResult.Meta == nil in observer Silently treated as successful tx Explicitly rejected with error log
tx.Meta == nil in tracker reporter Silently treated as successful tx Continues polling until metadata appears (or timeout)

Test plan

  • CI passes

🤖 Generated with Claude Code

ws4charlie and others added 2 commits February 25, 2026 13:58
- Add nil check for txResult.Meta before accessing Meta.Err in three
  locations (observer/outbound.go, signer/outbound_tracker_reporter.go,
  observer/inbound.go) to prevent potential nil pointer dereference
- Replace MustSignatureFromBase58 with SignatureFromBase58 in
  inbound_tracker.go to gracefully handle invalid base58 tx hashes
  instead of panicking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ws4charlie ws4charlie added the no-changelog Skip changelog CI check label Feb 25, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 25, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (1)
  • develop

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.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch backport/4550-fix-solana-nil-meta-and-must-signature-v37

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

Comment @coderabbitai help to get the list of available commands and usage tips.

@ws4charlie ws4charlie marked this pull request as ready for review February 25, 2026 20:03
@ws4charlie ws4charlie requested a review from a team as a code owner February 25, 2026 20:03
@codecov
Copy link

codecov bot commented Feb 25, 2026

ws4charlie and others added 2 commits February 25, 2026 16:10
… as successful

The previous nil guard allowed transactions with missing metadata to
silently proceed as successful. This explicitly rejects nil Meta in
inbound/outbound observers and continues monitoring in the tracker
reporter until metadata becomes available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kingpinXD kingpinXD merged commit 37f1555 into release/zetaclient/v37 Feb 25, 2026
47 of 48 checks passed
@kingpinXD kingpinXD deleted the backport/4550-fix-solana-nil-meta-and-must-signature-v37 branch February 25, 2026 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog Skip changelog CI check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants