Skip to content

feat(wasm-dpp): implement asset lock proof bindings#649

Closed
markin-io wants to merge 12 commits into
v0.24-devfrom
feat/implement-asset-lock-proof-bindings
Closed

feat(wasm-dpp): implement asset lock proof bindings#649
markin-io wants to merge 12 commits into
v0.24-devfrom
feat/implement-asset-lock-proof-bindings

Conversation

@markin-io

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

@@ -0,0 +1,21 @@
const { default: loadWasmDpp } = require('../../../dist');

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For the fixtures, I would suggest that if you don't need to make any changes, keep using the old ones. Thay way if something gets updated in the js-dpp it would be instantly reflected in the tests

Comment thread packages/wasm-dpp/src/identity.rs Outdated

use state_transition::*;

mod state_transition;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think it would be nice to make it pub mode, so the import path would follow JS file path

qrayven
qrayven previously approved these changes Dec 6, 2022
qrayven
qrayven previously approved these changes Dec 7, 2022
@markin-io markin-io closed this Dec 12, 2022
@shumkov
shumkov deleted the feat/implement-asset-lock-proof-bindings branch May 10, 2023 10:04
QuantumExplorer added a commit that referenced this pull request Mar 17, 2026
…ation

Bumps grovedb to 80f0093 which adds key_exists_as_boundary_in_proof
(PR #649). This allows clients to verify that a pagination cursor key
still exists in the tree after verifying a range query proof.

New Drive API:
  Drive::verify_key_exists_as_boundary(proof, path, key, platform_version)

Use case: after verifying documents 101-200 from a RangeAfter(cursor)
query, the client can check that the cursor document hasn't been deleted
between pages.

Co-Authored-By: Claude Opus 4.6 (1M context) <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.

3 participants