Zcash × Brave WalletPersonal project

Type to search. Use ↑ ↓ and Enter to open a result.

ZCashTransaction::operator== compares orchard_part_ with itself instead of other

PR in progress Issue General Zcash support

Lead item brave-browser#53219 · opened by dev-doshi · last source update

This issue is open on GitHub. Fixes sometimes land through pull requests that do not link the issue (for example a later refactor); this tracker follows only explicit links (closing references, “Resolves” lines, brave_<issue> branch names, uplifts and the issue timeline).

Issue state

Open

Open.

Implementation

  • brave-core#34256 open into master by dev-doshi
    fix: ZCashTransaction::operator== compares orchard_part_ with itself
    Linked by: GitHub closing reference, “Resolves/Fixes” line in the PR description

Release notes

No platform changelog lists this item.

Validation

No QA label.

No QA pass labels.

QA labels are Brave’s own validation records per OS. They are not independent verification by this tracker.

Target

No milestone set.

Platforms (OS labels): none

Owner: unassigned · PR authors: dev-doshi

Build presence

Whether a merged pull request in this group is an ancestor of the brave-core tag of each platform’s current build (from versions.brave.com). Code presence is not the same as a feature being exposed on that platform.

PlatformReleaseBetaNightly
DesktopUnknown 1.97.59no merged PR is linked, so presence in this build is unknownUnknown 1.98.47no merged PR is linked, so presence in this build is unknownUnknown 1.100.5no merged PR is linked, so presence in this build is unknown
AndroidUnknown 1.97.57no merged PR is linked, so presence in this build is unknownUnknown 1.98.52no merged PR is linked, so presence in this build is unknownUnknown 1.100.5no merged PR is linked, so presence in this build is unknown
iOSUnknown 1.96.62no merged PR is linked, so presence in this build is unknownUnknown 1.99.44no merged PR is linked, so presence in this build is unknownUnknown 1.100.7no merged PR is linked, so presence in this build is unknown

Members and their history

Issue

brave-browser#53219 ZCashTransaction::operator== compares orchard_part_ with itself instead of other

State: open · created · updated · discovered via search:orchard wallet, search:shielded wallet, search:zcash · matched title:zcashtransaction, body:zcashtransaction

In ZCashTransaction::operator==, the orchard_part_ field is compared against itself rather than the other transaction's orchard_part_. This means two ZCashTransaction objects with different Orchard parts will incorrectly compare as equal. Severity: Medium — affects wallet transaction deduplication and comparison logic for shielded Zcash transactions. PR: https://github.com/brave/brave-core/pull/34256

Timeline (2 of 2 events)
  1. 2026-02-27 17:45 Referenced by brave-core#34256 (will close) by dev-doshi
  2. 2026-02-27 17:46 Referenced by brave-browser#53218 by dev-doshi
Pull request

brave-core#34256 fix: ZCashTransaction::operator== compares orchard_part_ with itself

State: open · created · updated · discovered via search:orchard is:pr, search:shielded is:pr, search:zcash is:pr · matched title:zcashtransaction, body:zcashtransaction

Summary Fixed a bug in ZCashTransaction::operator== where this->orchard_part_ was compared with itself instead of other.orchard_part_ on the right-hand side of the std::tie comparison. Bug Details The equality operator was: [code] This means the orchard (shielded) part was never actually compared between two ZCashTransaction objects. Two transactions with different shielded inputs/outputs would incorrectly compare as equal if all other fields matched. Impact - Transaction…

Timeline (3 of 3 events)
  1. 2026-02-27 17:43 Referenced by brave-browser#53218 by dev-doshi
  2. 2026-02-27 17:43 Referenced by brave-browser#53219 by dev-doshi
  3. 2026-03-05 09:05 Referenced by brave-core#34471 by brave-builds
Issue

brave-browser#53218 ZCashTransaction::operator== compares orchard_part_ with itself instead of other

State: closed (completed) · created · closed · updated · discovered via search:orchard wallet, search:shielded wallet, search:zcash · matched title:zcashtransaction, body:zcashtransaction

In ZCashTransaction::operator==, the orchard_part_ field is compared against itself rather than the other transaction's orchard_part_. This means two ZCashTransaction objects with different Orchard parts will incorrectly compare as equal. Severity: Medium — affects wallet transaction deduplication and comparison logic for shielded Zcash transactions. PR: https://github.com/brave/brave-core/pull/34256

Timeline (1 of 1 events)
  1. 2026-02-27 17:46 Closed completed by dev-doshi

Recorded changes

  1. Issue closed

    Closed (completed): ZCashTransaction::operator== compares orchard_part_ with itself instead of other

    Closed as completed, but no merged PR or release note is linked. Closure alone does not show that a change shipped.

    brave-browser#53218
    Evidence
    • closed by dev-doshi at 2026-02-27T17:46:10Z
    • state reason: completed

    Source time: · Detected: · Backfilled from source history

    2026-02-27T17:46:10Z
  2. New issue

    New issue: ZCashTransaction::operator== compares orchard_part_ with itself instead of other

    Opened in brave-browser#53219. This is a report or request, not a confirmed change to Brave Wallet.

    brave-browser#53219
    Evidence
    • created 2026-02-27T17:43:08Z

    Source time: · Detected: · Backfilled from source history

    2026-02-27T17:43:08Z
  3. New issue

    New issue: ZCashTransaction::operator== compares orchard_part_ with itself instead of other

    Opened in brave-browser#53218. This is a report or request, not a confirmed change to Brave Wallet.

    brave-browser#53218
    Evidence
    • created 2026-02-27T17:43:03Z

    Source time: · Detected: · Backfilled from source history

    2026-02-27T17:43:03Z