feat(ui): asset-lock transaction identity (transfers + identity fundings)#827
Merged
QuantumExplorer merged 4 commits intoJul 16, 2026
Merged
Conversation
A Core → Platform funding (Type-8 asset lock, funding type 4 — AssetLockAddressTopUp) rendered as a generic "Internal Transfer" with a 0 amount on the home list, and "Moved to Address" on the detail sheet. Give it the same first-class identity shielded transfers have: - ShieldedTxLookup now snapshots BOTH tracked funding types (5 shielded, 4 platform address), carrying fundingTypeRaw; `info(forTxidHex:)` keeps its shielded-only contract and the new `platformFundingInfo(forTxidHex:)` serves the platform rows. The fund/resume legs refresh the lookup on completion so rows re-label immediately instead of waiting for the next shielded sync pass. - Transaction: isPlatformFundingTransfer + coreToPlatform route; the row shows the real locked amount (live, like shielded rows) and is titled "Platform transfer" / "Platform transfer (pending)". - Home list: Core → Platform route icons (Ð + credit-card badge). - Detail sheet: "Platform transfer" header, From Transparent balance / To Platform balance / live Status rows (shared asset-lock status text), and the change-output "Internally moved to" row suppressed like the shielded case. 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 |
"Platform transfer" reads like a Platform → Platform credit send and "Shielded transfer" like a shielded → shielded spend. Name the route instead, matching the balance names used across the app: - Transparent → Shielded (+ pending variant) - Transparent → Platform (+ pending variant) - Shielded → Transparent (was "Shielded withdrawal") Applies to the history rows (stateTitle) and the detail-sheet header; plain self-sends keep "Internal Transfer". Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Balance transfers now all read "Internal Transfer"; the route rides the
iconography (source icon → destination badge) plus a compact route pill
next to the time ("Transparent → Platform" / "Transparent → Shielded" /
"Shielded → Transparent"). Pending locks replace the pill with
"Pending — tap to finish" (shielded, which has the recovery sheet) or
"Pending" (platform funding). The detail sheet titles "Internal
Transfer" and names the route in its From/To/Status rows.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Identity funding locks (types 0…3 — registration, top-up variants,
invitation) rendered as bare "Internal Transfer / 0" rows too. They now
title by purpose ("Identity registration" / "Identity top-up" /
"Invitation") on the row and detail header, show the real locked
amount, Ð → person route icons, a "Pending" pill while unconsumed, and
From Transparent balance / To Identity credits / Status rows on the
detail sheet (change-output row suppressed). The lookup tracks all six
funding types; `info(forTxidHex:)` keeps its shielded-only contract.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
QuantumExplorer
added a commit
that referenced
this pull request
Jul 16, 2026
…ep both Identity* string keys Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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
Every asset-lock transaction in history used to render as a bare "Internal Transfer" (or "Received") with a 0 amount. This PR gives all of them their real identity:
Balance transfers — uniform "Internal Transfer" title + route carried visually and in a compact pill:
Transparent → Shielded/Transparent → Platform/Shielded → Transparent; replaced byPending — tap to finish(shielded, has the recovery sheet) orPending(platform) while the lock is unconsumed.From/Torows naming the balances, liveStatusrow (Broadcasting / Funds locked — finishing transfer / Completed), change-output "Internally moved to" row suppressed.Identity fundings (types 0–3) — titled by purpose instead:
Pendingpill while unconsumed.From: Transparent balance/To: Identity credits/ liveStatus.Implementation
ShieldedTxLookupsnapshots all six asset-lock funding types withfundingTypeRaw;info(forTxidHex:)keeps its shielded-only contract (existing consumers unaffected); newplatformFundingInfo/identityFundingInfoaccessors.fundFromCore/resumeFundFromCorerefresh the lookup on completion.Transaction:isPlatformFundingTransfer/isIdentityFundingTransfer(+ pending variants),.coreToPlatform/.coreToIdentityroutes, live locked-amount override for all funding types, route-drivenstateTitle.Testing
Testnet smoke on QA-iPhone16 / iPhone 16 Pro sims: real Core→Platform (25 tDASH) and Core→Shielded fundings show route icons/pills + amounts; identity registration rows from the QA wallet's earlier username registration relabel with purpose + amount; detail sheets show route + Status + duffs fee; classic rows unchanged. Unit-test target pre-existing-broken per CLAUDE.md.
🤖 Generated with Claude Code