AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 32 Monero

Ywallet zcash (#2810)

Public commit record

What the developer wrote

Authored by Omar Hatem

71/100 · Adequate
Ywallet zcash (#2810)

* feat(zcash): initial commit
- initial work on cw_zcash
- use single .db for everything zcash to speed up sync and scanning
- implement silent autoshielding of non-orchard funds
- use FFI for everything to fetch the data
- add support for passphrase by adding extra word to seed phrase
- enforce lints on CI for cw_zcash directory
- use correct zcash name, and call transparent zcash tZEC
- minor cleanups outsite of cw_zcash
- gitmodules, gitignore
- db debug
- fix broken addressPageType in WalletInfo
- enable debug options in kDebugMode and kProfileMode

* feat: T address rotation (and cache) wip: minor fixes

* wip: shield tx list

* fix fiat amounts fix derrivation of rotation account addresses screen
for zcash block height fix T address shields improvements Amount in
disposable T shields UI improvements
show pending outgoing tx in tx history

* fix null check on passphrase page fix tx showing as pending rename auto
shield txs fixed send all to include fee use rotating address in
addressForExchange wrap all calls of WarpApi.getLatestHeight in try
catch to prevent leaking errors

other minor fixes from notion

* wallet group debug cache sent tx address wallet T address rotation fixes
automatically pick the fee for auto-shield

* fix T address cache deserialization fix autoshield icon fix autoshield
text getCachedDestinationAddress fix send address cache

* address comments from review

* wip: iOS fix

* fix swap

* Allow cakepay payment from zcash wallet

* fix: ios (I'm stupid) fix: reorder addresses to make orchard default
fix: send all balance

* 5.6.6 bump fix: ios apple review add transport error to ignored
exceptions

* fix: leaving dust behind when sweeping all

* Change wallets order

* fix: reflect balance of pending out txs fix: restore height support

* linux support (disabled)

* fix: date picker for zcash on restore screen fix: build script for linux
match WarpApi.warpSync args with upstream

* fix: linter script

* ensure all exchange providers support ZEC (#2802)

* ensure all exchange providers support ZEC

* remove zaddr and tzec currencies and refactor providers

* Update lib/exchange/provider/near_Intents_exchange_provider.dart

* add back old zcash currencies for backward compatibility, thanks Czarek

* minor fix [skip ci]

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* Update android/app/src/main/AndroidManifestBase.xml [skip ci]

* Update ios/Runner/InfoBase.plist [skip ci]

* fix: remove unused code fix: macos fix: disable on linux and macos

* update build numbers [skip ci]

* Add zcash to birdpay

---------

Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: Serhii <borodenko.sv@gmail.com>
✓ Subject identifies a change✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This is a large feature commit that adds Zcash wallet support to Cake Wallet. It introduces a new cw_zcash package, integrates the Warp FFI library, adds transparent address rotation, auto-shielding, and exchange/CakePay support. The commit itself is a feature addition, not a disclosed security fix. There are some code-quality and potential operational-security concerns (hardcoded fee values, debug code left in release paths, unhandled exceptions swallowed, and a custom CRC32-based seed derivation for disposable addresses), but no direct vulnerability is demonstrated in the diff.

Recommended action

Treat this as a feature commit requiring normal security review rather than an emergency patch. Review the Zcash FFI integration, the custom T-address rotation seed-derivation scheme, hardcoded fee logic, and debug-mode data exposure before release. Ensure the warp_api native library and its build scripts are audited. Consider adding tests for address rotation, auto-shielding, and edge cases in balance/fee calculation.

Security signals we found

01

New wallet type added with FFI/native library integration (warp_api)

02

Hardcoded fee constants (10000 zatoshi) in transaction preparation and auto-shielding

03

Debug-mode serialization exposes wallet account/transaction data in human-readable JSON

04

Custom seed-offset scheme for transparent address rotation uses CRC32 and non-standard passphrase manipulation

05

Broad try/catch blocks swallow errors (sync, balance, transaction updates)

06

TODO marker for unimplemented encrypted database copy on first creation

07

No explicit security disclosure, CVE, or advisory referenced in commit or materials

Risk score

Why this scored 32/100

Our methodology →
Potential impact 5/30
Exploitability 5/25
Stealth signal 5/15
Affected reach 10/15
Confidence 5/10
Evidence quality 2/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.