Skip to content

chore(dpp): enable clippy for rs-dpp and wasm-dpp#873

Closed
antouhou wants to merge 13 commits into
v0.24-devfrom
enable_clippy_for_dpp
Closed

chore(dpp): enable clippy for rs-dpp and wasm-dpp#873
antouhou wants to merge 13 commits into
v0.24-devfrom
enable_clippy_for_dpp

Conversation

@antouhou

Copy link
Copy Markdown
Contributor

Issue being fixed or feature implemented

What was done?

How Has This Been Tested?

Breaking Changes

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation

For repository code-owners and collaborators only

  • I have assigned this pull request to a milestone

@antouhou antouhou changed the title Enable clippy for dpp chore(dpp): enable clippy for rs-dpp and wasm-dpp Mar 30, 2023
@antouhou
antouhou marked this pull request as ready for review March 30, 2023 06:40
@antouhou
antouhou requested a review from shumkov as a code owner March 30, 2023 06:40
@shumkov shumkov closed this May 10, 2023
@shumkov
shumkov deleted the enable_clippy_for_dpp branch May 10, 2023 09:52
bfoss765 added a commit to bfoss765/platform that referenced this pull request Jul 12, 2026
…shpay#863 dep) to third_party tree

Applies `git diff 1860089e..9043f518` from bfoss765/rust-dashcore branch
`local/846-on-1860089e` into the vendored `third_party/rust-dashcore` tree:

  d2d1d2c9 fix(spv): match masternode owner/voting key hashes in compact filters (dashpay#863)
  24593383 test(dash-spv): port CoinJoin gap-limit discovery repros (dashpay#846)
  963ed613 fix(dash-spv): re-open committed ranges for gap-limit scripts (dashpay#846)
  9043f518 docs(dash-spv): gap-discovery test narrative

Why: the committed-range re-scan fix (dashpay#846) stops large CoinJoin wallets
stranding at zero on first scan when gap-limit scripts land inside an
already-committed filter batch. dashpay#863 is a build dependency of the fix
(provides `monitored_filter_elements_for` / bare owner/voting key-hash
filter elements). The base is 1860089e (the tree's existing pin), so the
asset-lock transaction-router CoinJoin fix already vendored here
(platform#4073 / dash-wallet#1507) is preserved untouched — the diff does
not touch key-wallet/.../transaction_router.

`WalletInfoInterface` gained a required `monitored_filter_elements` method
(dashpay#863); `PlatformWalletInfo` delegates it to its inner `ManagedWalletInfo`,
matching every other method in that impl block.

TEMPORARY local vendor until rust-dashcore dashpay#873 merges upstream and the
workspace rev is bumped past it; then revert this and the whole
`third_party/rust-dashcore` [patch] block.

Verified: dash-spv lib 472 green, key-wallet-manager 46 green (on the
rust-dashcore branch); platform-wallet lib 437 green + JNI host build on
this tree. Android AAR rebuilt and published to mavenLocal with the fix
string present in the native .so.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bfoss765 added a commit to bfoss765/platform that referenced this pull request Jul 13, 2026
Force DEFAULT_COINJOIN_GAP_LIMIT to 30 (from 100) in the vendored
third_party/rust-dashcore key-wallet to isolate a controlled on-device
experiment: does the dashpay#846/dashpay#873 committed-range re-scan fix ALONE deliver
correct discovery of a heavy CoinJoin wallet at the small gap, without the
gap widening?

This is temporary and branch-local. gap-100 remains the upstream default
after rust-dashcore#868 merged; roll the vendored value back to 100 (and
restore the mavenLocal 0.1.0-SNAPSHOT.bak-gap100 AAR) once the on-device
test concludes.

Companion test change (packages/rs-platform-wallet/.../asset_lock/build.rs):
coinjoin_gap_limit_discovers_addresses_beyond_the_old_window now tracks
DEFAULT_COINJOIN_GAP_LIMIT (asserts cj.gap_limit()==the constant and probes
far_index = constant-1) instead of hardcoding 100 / index 50, so it stays a
valid far-edge-discovery regression check at any gap. Added
coinjoin_gap_limit_is_experiment_value_30 asserting the effective compiled
constant is 30.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bfoss765 added a commit to bfoss765/platform that referenced this pull request Jul 14, 2026
…edes local dashpay#873 vendor)

Testing dashpay#866+dashpay#851 at gap 30 pending on-device verdict.

Swaps OUR dashpay#846 committed-range fix for hash's alternative
(rust-dashcore PR dashpay#866, `rescan_committed_range`: newly derived scripts
are re-tested against the persisted committed filter range below the
committing batch), adds PR dashpay#851 (the dashpay#649 out-of-order
spend-before-funding UTXO fix), and forces DEFAULT_COINJOIN_GAP_LIMIT to
30 in the vendored third_party/rust-dashcore — to test on-device whether
hash's fixes make the narrower gap viable on the heaviest CoinJoin
wallet, instead of the dashj-parity widening to 100 (dashpay#868).

Vendored tree transform (third_party/rust-dashcore):
  - REMOVED our dashpay#846 machinery (drain_committed_rescans /
    committed_filters retention across the commit boundary).
  - APPLIED PR dashpay#866 (2 commits: 8ccba0b6 rescan committed ranges +
    381a4fec defer backward sweep to forward quiescence). Ships its own
    coinjoin_gap_discovery_tests.rs — the committed-batch repro
    (coinjoin_gap_limit_stall_across_committed_batch) is the GREEN guard
    under his mechanism; our identical-scenario port is superseded (same
    path, and its setup assumed our retention machinery).
  - APPLIED PR dashpay#851 (dashpay#649 out-of-order spend fix; the 27-commit linear
    chain only, excluding the dev merges it carried — dashpay#867/dashpay#868/dashpay#877/…).
  - DEFAULT_COINJOIN_GAP_LIMIT 100 -> 30, doc rewritten to state the
    experiment honestly.
  - PRESERVED the asset-lock router fix (CoinJoin + DashPay in the
    AssetLock arm of get_relevant_account_types) and rust-dashcore dashpay#863.

Companion test change (packages/rs-platform-wallet/.../asset_lock/build.rs):
coinjoin_gap_limit_discovers_addresses_beyond_the_old_window now tracks
DEFAULT_COINJOIN_GAP_LIMIT (asserts cj.gap_limit() == the constant and
probes far_index = constant - 1) instead of hardcoding 100 / index 50, so
it stays a valid far-edge discovery regression check at any gap; adds
coinjoin_gap_limit_is_experiment_value_30 pinning the compiled constant.

Verification: cargo test green — dash-spv 475, key-wallet 569,
key-wallet-manager 46 (in the standalone clone composite); platform-wallet
438. AAR republished to mavenLocal (org.dashj:dash-sdk-android:0.1.0-SNAPSHOT);
natives carry rescan_committed_range symbols and no drain_committed_rescans.
Known-good dashpay#873/gap-100 AAR backed up at 0.1.0-SNAPSHOT.bak-873-gap100.

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