Fixed QR code scanning issue - added small border around logo - #19
Merged
Conversation
QuantumExplorer
approved these changes
Dec 5, 2018
llbartekll
added a commit
that referenced
this pull request
May 21, 2026
PR 1 of the row #16 migration (new-user identity + DPNS username from DashSync to SwiftDashSDK). Scaffolding only, behind a disabled `DASHPAY_SWIFT_SDK_REGISTRATION` flag — nothing calls these files yet, DashSync remains the live path. PR 2 wires `DWDashPayModel.m` + `DWCheckExistenceUsernameValidationRule.m` into the new path. Migration doc updates (re-verified 2026-05-20): - Row #16 / #17 / #19 flipped to 🟢 ready; row #18 flipped from 🔴 to 🟡 (SDK APIs exist, no example walkthrough). Earlier "6+ FFI signature mismatches" claim resolved upstream via 33fde4e67f (cbindgen ABI), e22f816a2e (asset-lock proofs), c556a86db2 (KeychainSigner sweep), e9e56f3636 (account_index plumbed through). - Hard Blockers: struck through #16 with the four resolving commits. - Recommended order Wave 3 marked unblocked for #16/#17/#19. New files in `DashWallet/Sources/Infrastructure/SwiftDashSDK/Identity/`: - `DWRegistrationPhaseAdapter.swift` — pure mapping collapsing the SDK's 5 internal phases (controller phase + `PersistentAssetLock.statusRaw`) onto the existing 3-state `DWDPRegistrationState` UI enum. Unit-tested. - `DWIdentityRegistrationController.swift` — `@MainActor ObservableObject` phase holder (idle / preparingKeys / inFlight / completed / failed), ported from the SwiftExampleApp reference and stripped to a pure state carrier (v1 pins identityIndex=0; coordinator drives transitions). - `DWIdentityAuthorizer.swift` — async PIN/biometric gate wrapping `DSAuthenticationManager.authenticate`. Mirrors the private `SendAuthorizer` pattern from `WalletSendService.swift:129-172`. - `DWIdentityRegistrationCoordinator.swift` — `@MainActor` singleton orchestrating the full chain: PIN gate → `prePersistIdentityKeysForRegistration` → `registerIdentityWithFunding` → `registerDpnsName`. Polls `PersistentAssetLock.statusRaw` every 0.5s while `.inFlight` for the 3-state UI mapping. Mirrors success into `DWGlobalOptions.dashpayUsername` + `dashpayRegistrationCompleted` so the 87 existing Obj-C identity-read sites keep working until row #17 migrates them individually. - `DWIdentityRegistrationBridge.swift` — `@objc @mainactor @objcMembers` facade for `DWDashPayModel.m` / `DWCheckExistenceUsernameValidationRule.m`. Cached `@objc` state mirrored from the coordinator via one `Publishers.CombineLatest($phase, $assetLockStatus)` subscription (passing emitted values directly avoids the `@Published` willSet re-read race). Posts `DWDashPayRegistrationStatusUpdatedNotification` on every transition. Tests: `DashWalletTests/DWRegistrationPhaseAdapterTests.swift` — 12 cases covering the full mapping matrix plus the failure-classification edge. Project file: - `DASHPAY_SWIFT_SDK_REGISTRATION=0` appended to all 5 GCC blocks that already contain `DASHPAY=1` (defined-but-falsy; PR 3 flips per-config). - New Swift files registered on the `dashpay` target only — they reference DashPay-only Obj-C symbols (`DWDP_MIN_BALANCE_TO_CREATE_USERNAME`, `DWGlobalOptions.dashpayUsername` / `dashpayRegistrationCompleted`), which don't exist in the `dashwallet` target build. - Test file registered on the `DashWalletTests` target. v1 scope (documented for follow-up): - Invitations stay on DashSync (no SDK equivalent for `DSBlockchainInvitation`). - Existing DashSync identities not migrated — keys live in DashSync's keychain, not in `WalletStorage`. Future "import identity" stage. - No crash-resume via `resumeIdentityWithAssetLock` (deferred to v2). - Platform Payment funding path (`registerIdentityFromAddresses`) not wired — users with Platform credits but no Core balance still see the 0.03 Dash error. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
llbartekll
added a commit
that referenced
this pull request
May 28, 2026
- Mark "Known SDK issues §1" (`could not decode data contracts query`) as RESOLVED 2026-05-27 via the Platform protocol v11 pin (`SwiftDashSDKHost.swift` → `SDK(network: protocolVersion: 11)`, backed by upstream PR #3734). - Row #17 stage B "Where we are": drop the "blocked by upstream SwiftDashSDK bug" caveat; profile editing is end-to-end verified. - Row #17 functional-table row: same cleanup. - Row #18a entry: rephrase the "status view comes back once upstream is fixed" line — it's now a scope/product decision, not a blocker. - Add a new "Where we are" entry covering the v11 pin + DPNS lookup finalisation: `usernames: [String]` exposure, cold-launch cache fix, wallet-side query, Edit Profile entry-point gate on `hasIdentity`, tab-bar restore workaround, and the `DASHPAY_SWIFT_SDK_REGISTRATION` flag retirement. - Row #19 (DPNS lookup) flips from "—" to 🌗 Flipped; consumers column splits availability check (done) vs. prefix search (`DWUserSearchModel`, travels with #18 because the consumer factory expects `DSBlockchainIdentity`). - Wave 3 row: update from "not started" to "Flipped for #16/#17/#19, #18 still pending". - Row #16 "Where we are": flag retirement footnote so a future reader doesn't grep for it and find only stale references. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
llbartekll
added a commit
that referenced
this pull request
Jun 18, 2026
Two zero-reference dead-code removals that complete the migration scope for #7 and #19: - Transaction.isMinimal: defined, never read anywhere in the codebase. Removed. - DWCheckExistenceUsernameValidationRule: the never-assigned id<DSDAPINetworkServiceRequest> request property (private, in the .m class continuation) and its no-op [self.request cancel]. This was the last DashSync reference in the DPNS availability-check path, which is now fully on SwiftDashSDK via DWIdentityRegistrationBridge. Both verified by full-repo grep (no remaining references). No behavior change: the request property was always nil, so [nil cancel] was a no-op. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
llbartekll
added a commit
that referenced
this pull request
Jun 18, 2026
CoinJoin row #20 corrected: mixing is being dropped (legacy mixing UI already retired), not migrated. The one capability that moves over — recovering/sweeping already-mixed coins into spendable balance — is implemented on both sides via ManagedCoreWallet.sweepCoinJoinAccount (platform PR #3817, awaiting merge). CoinJoin is no longer the 'keep DashSync linked indefinitely' hard blocker. Updated the functional table, 'Where we are', Hard blockers, and Wave 6. Easy-win status promotions: - #13 Backup seed phrase: Flipped -> Done (backup read is 100% SwiftDashSDK, no fallback; adapter already retired). - #19 DPNS username lookup: Flipped -> Done (availability check fully on SDK; prefix search carved out to #18; dead request residue removed). - #10 PIN-change half: close-out note (mirror retired permanently, stays on DashSync by decision). - #7: isMinimal noted as removed. Co-Authored-By: Claude Opus 4.8 (1M context) <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.
No description provided.