Skip to content

ci: dashmate release script fix - #846

Merged
shumkov merged 5 commits into
v0.24-devfrom
fix-dashmate-release
Mar 22, 2023
Merged

ci: dashmate release script fix#846
shumkov merged 5 commits into
v0.24-devfrom
fix-dashmate-release

Conversation

@shuplenkov

@shuplenkovshuplenkov commented Mar 22, 2023

Copy link
Copy Markdown

Issue being fixed or feature implemented

Dashmate release script contains some errors, which makes impossible to release it.

What was done?

Fixed dashmate release script

How Has This Been Tested?

Breaking Changes

No

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

@shuplenkovshuplenkov added this to the v0.24.0 milestone Mar 22, 2023

@shumkovshumkov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@shumkov
shumkov merged commit c68af27 into v0.24-devMar 22, 2023
@shumkov
shumkov deleted the fix-dashmate-release branch March 22, 2023 15:00
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>
romchornyi pushed a commit that referenced this pull request Aug 25, 2026
Per the decision on the blocker: the pinned branch is re-cut without
#866's `rescan_committed_range`.
Two reasons, and the second is the one that decides it. The Codex finding
stands — the sweep accumulates every match from the birth height into one
`BTreeMap` and queues them together, so an eclipsing compact-filter peer
can turn a full-history rescan into a chain-length allocation followed by
millions of block requests, and nothing upstream bounds it yet.
More decisive is the honest case. On a real long-history CoinJoined
restore the #846 backward sweep ran 191 times, reached a 2.9 GB
footprint, and was killed by jetsam before finishing; the coalescing fix
for that is dashpay/rust-dashcore#974, which is not merged. Shipping #866
without #974 would trade a mid-sync stall for a restore that kills the
app — and long-history migrated wallets are exactly this release's
audience.
What the pin still carries is the point of this PR: #964, #960, #955,
#947 and #946, the six sync-stall fixes, plus #945, #928, #963, #965,
#967, #970 and #980. Dropping #866 restores the status quo of the
previous pin rather than introducing a regression — #846's mid-sync
invisibility was never fixed in what shipped — and the migrated-wallet
heal (#4377) does a full rescan, so it does not lean on this sweep.
#866 and #974 come back together next cycle, with a bounded drain for the
accumulation finding.
Branch: dashpay/rust-dashcore@chore/sync-fixes-without-swept, re-cut at
33030acf (base #945 plus eight cherry-picks, #866 omitted).
Sign up for freeto 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

@shuplenkov@shumkov