Skip to content

added size in tx information and cost per byte of the transaction - #7

Merged
podkovyrin merged 1 commit into
dashpay:developfrom
QuantumExplorer:feature/extraTxInformation
Nov 19, 2018
Merged

added size in tx information and cost per byte of the transaction#7
podkovyrin merged 1 commit into
dashpay:developfrom
QuantumExplorer:feature/extraTxInformation

Conversation

@QuantumExplorer

Copy link
Copy Markdown
Member

No description provided.

@podkovyrin
podkovyrin merged commit 3fb7b71 into dashpay:develop Nov 19, 2018
llbartekll added a commit that referenced this pull request Apr 9, 2026
Brings DASHSYNC_MIGRATION.md in line with what's actually shipped:

- Add "Where we are" entries for #5 wallet balance (commits
  2b447fc, f1b481b, 7c00be4) and #11 SPV chain sync via
  M5 + M6 (3cf5962 + 86ed727).
- Update #14 wipe entry to mention the post-#5 SPV stop +
  clearBalance calls.
- Flip Status column for rows #5 and #11 from `—` to `🌗 Flipped`.
- Update file paths and storage notes in rows #5/#6/#7/#11 to
  reflect the actual code locations and migration story.
- Drop the Core Data → SwiftData migrator from Hard Blockers.
  After the #5 work landed, the migrator turned out unnecessary:
  chain-derived data (UTXOs, tx history, masternode list, sync
  state) is re-derivable via SPV resync from SwiftDashSDK's own
  on-disk chain data. User-entered metadata (tx categories, tax
  categories, gift card receipts, address labels) was never in
  DashSync's Core Data — it lives in dashwallet's own SQLite via
  TransactionMetadataDAOImpl and AddressUserInfo, keyed by txHash
  / address, so it stays attached after resync automatically.
- Rewrite the "Storage migration" section with the corrected
  picture (no migrator required).
- Rework the "Recommended order" wave structure: the chain +
  balance push (Wave 2 now) ran ahead of DashPay/Platform work
  because the storage groundwork was unblocked. Tx history (Wave
  4 now) is the next big wave and follows the same shape as #5.

No code changes — doc only.

Co-Authored-By: Claude Opus 4.6 (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>
llbartekll added a commit that referenced this pull request Jul 6, 2026
C2 PR F — Transaction is now a single-source SDKSnapshot wrapper.
Net -350 lines; ~130 DSTransaction references leave the app's live
transaction surface.

- Transaction.swift: case ds, the .tx escape hatch, init(transaction:)
  and computeStateFromDSTransaction (+ its frozen-chain helpers and
  kConfirmationThreshold) deleted; every property reads the snapshot
  directly. Zero producers/consumers remained after PRs A/C/D — audit
  greps for `Transaction(transaction:`, `case .ds` and `.tx` unwraps
  are all empty.
- TxDetailModel: DashPay source/destination-user blocks are constant
  false + TODO(dashpay-e2e) — behavior-identical, the legacy reads
  went through the .ds escape hatch (nil for every reachable row);
  the date row always uses the wrapper's date.
- Taxes/Transactions: DSTransaction overloads and their .tx
  delegation deleted (zero external callers post-PR-A), plus the dead
  Tx.all AsyncSequence and the DSTransaction.defaultTaxCategory
  extension (only those overloads called it).
- DSTransaction+DashWallet.swift trimmed, not deleted: the @objc date
  + short/long/ISO8601 formatters survive for the DashPay-frozen ObjC
  providers (DWTransactionListDataProvider(+Stub) — ISO8601 is a
  required protocol method; DWUserProfileDataSourceObject reads
  date). type/outputReceiveAddresses/specialInfoAddresses and the
  amount formatters had no callers left. The live
  DSTransactionDirection UI extension moved to TransactionDataItem.swift
  (the tx-row formatting home). The ObjC twin category (.m) survives —
  txMinOutputAmount has live Coinbase callers, txHashData serves the
  remaining delegate-chain couriers.
- Ledgers updated: rows #6/#7 → Done, Wave 4 → Done, teardown C2 →
  closed with the shape deviations recorded (resolver-at-seam instead
  of a delegate-chain retype; trim instead of file deletion).

Still DSTransaction-typed by design: the @objc payment delegate
couriers (fall with C8's processor rewrite), the DashPay-frozen
surfaces (C10), the watch pipe (D1), and the DSTransactionDirection
enum itself (last, app-owned enum).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
llbartekll added a commit that referenced this pull request Jul 7, 2026
…8 step 4)

With the send path on DWPaymentIntent, the last two non-sweep readers of the
attachParsedURI: DSPaymentRequest courier move to the parse box:
DWPaymentInput.userDetails (was request.string → parsedURI.rawString; its sole
consumer only asks whether the string looks like a Platform address) and
SendViewModel.ingestScannedInput (was request.paymentAddress → parsedURI.address,
validated the same way). The URI path now reads zero DSPaymentRequest for the
send.

The courier is still minted in attachParsedURI: — its only remaining readers are
the D2 sweep path (request.paymentAddress) and the DashPay ?user= rebuild
(request.dashpayUsername). Fully dropping the mint waits on migrating the sweep
path (D2), flagged TODO(D2/C10); doing it here would re-point confirmSweep: and
the didSweepRequest passthrough, which is D2's scope.

Migration docs record step 4 done and Bug #7's failure mode addressed (embedded
amount now routes through the intent, not the DashSync zero-UTXO branch).

Verified: dashpay arm64-sim BUILD SUCCEEDED; testnet deeplink send screen
unchanged (address + 0.001 prefilled).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
llbartekll added a commit that referenced this pull request Jul 7, 2026
…4_MAX (C8 step 5)

Two dead scraps the sweep/file drops left behind:
- processPaymentInput:'s `else if (paymentInput.protocolRequest)` branch —
  nothing ever set DWPaymentInput.protocolRequest, so it was unreachable.
- cancelOrChangeAmount:'s `self.amount = UINT64_MAX` sentinel — write-only,
  nothing ever read it. This was the residue of Bug #7 (the amount-0 bounce),
  whose actual failure mode was fixed in step 4 by routing embedded amounts
  through confirmPaymentIntent: before the SDK gate. Bug #7 is now closed.

The only DashSync left in DWPaymentProcessor is the C10 DashPay contact-send
seam (protocolRequestFromPaymentRequest: + the confirmProtocolRequest:/
confirmPaymentOutput: DashSync arms + the txManager* family), reachable only via
the BlockchainUser path — deferred with C10.

dashpay arm64-sim BUILD SUCCEEDED.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
llbartekll added a commit that referenced this pull request Jul 7, 2026
…sed, C10 seam remains

Record C8 step 5: the payment processor's DashSync tx-manager subsystem is now
reachable only via the C10 DashPay contact-send seam. Owner decisions (drop D2
sweep, drop D3 BIP70-file, defer the Swift port), the sweep-needs-an-FFI note
(arbitrary-address UTXO query), Bug #7 marked closed, and the note that a fully
payments-DashSync-free dashwallet target is a C10 deliverable.

Co-Authored-By: Claude Fable 5 <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