feat(ui): shielded-transfer identity and status on the tx details sheet - #826
Merged
Merged
Conversation
A Core → Shielded transfer's detail sheet used the generic .moved
presentation — "Moved to Address" with bare L1 addresses — hiding what
the transaction actually is. The sheet now:
- titles itself "Shielded transfer" ("… (pending)" while the asset
lock is unconsumed), and "Shielded withdrawal" for the Shielded →
Core payout instead of "Amount received";
- leads the info card with the balance route (From Transparent balance
/ To Shielded balance — reversed for withdrawal receipts) and, for
funding transfers, a live Status row (Broadcasting / Funds locked —
finishing transfer / Completed) read from ShieldedTxLookup's
asset-lock status, the same source that drives the home list's
pending treatment.
The existing address, fee, and date rows are unchanged; the raw
transaction inspector remains the deep view of the asset-lock payload.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
An asset-lock funding's owned outputs are only its change, so the "Internally moved to <change address>" row read like the transfer's destination. The From/To route rows carry that; the raw transaction inspector still shows every output. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Asset-lock funding rows carry no persisted fee, so the detail sheet
showed "Đ 0" for a transfer that did pay one. When the row's fee is
missing/zero (and the tx isn't a receive), recover the consensus fee
from the stored raw transaction as Σ(input values) − Σ(output values) —
exact whenever every input is one of the wallet's own TXOs, which holds
for any tx the wallet authored; nil (row keeps showing 0) rather than a
guess when an input value is unknown.
Fees under 0.0001 DASH render as plain duffs ("226 duffs") — the
DASH-formatted amount reads as zero at a glance.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
QuantumExplorer
force-pushed
the
feat/shielded-tx-details
branch
from
July 16, 2026 18:03
db48ecd to
9603303
Compare
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Shielded transfers no longer masquerade as generic internal moves on the transaction detail sheet:
From: Transparent balance/To: Shielded balance(reversed for withdrawal receipts).ShieldedTxLookup's asset-lock status, the same source that drives the home list's pending treatment, so the row updates as the transfer progresses.The existing address/fee/date rows, tax category, and the new raw transaction inspector (#824) are unchanged — the inspector remains the deep view of the Asset Lock payload itself.
Implementation
TxDetailModel.titleprefers the shielded identity overdirection.title; newshieldedInfo()rows +shieldedStatusTextmapping ofPersistentAssetLock.statusRaw(0/1/2–3/4). The table gains a single-item.shieldedInfoitem case rendered by the existing info cell. Three new en strings.Testing
Testnet smoke on QA-iPhone16 / iPhone 16 Pro sims: completed Core→Shielded transfer (title + route + "Completed"), shielded withdrawal receipt (title + reversed route), classic sends/receives unchanged. Unit-test target pre-existing-broken per CLAUDE.md.
🤖 Generated with Claude Code