Skip to content

Fixed QR code scanning issue - added small border around logo - #19

Merged
QuantumExplorer merged 1 commit into
developfrom
fix/qr-code
Dec 5, 2018
Merged

Fixed QR code scanning issue - added small border around logo#19
QuantumExplorer merged 1 commit into
developfrom
fix/qr-code

Conversation

@podkovyrin

Copy link
Copy Markdown
Contributor

No description provided.

@QuantumExplorer
QuantumExplorer merged commit 3633477 into develop Dec 5, 2018
@QuantumExplorer
QuantumExplorer deleted the fix/qr-code branch December 5, 2018 01:48
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants