Skip to content

fix(rs-drive-abci): Get rs-drive-abci to commit block 1 - #981

Merged
QuantumExplorer merged 44 commits into
v0.25-devfrom
rs-drive-abci-block-1
Apr 27, 2023
Merged

fix(rs-drive-abci): Get rs-drive-abci to commit block 1#981
QuantumExplorer merged 44 commits into
v0.25-devfrom
rs-drive-abci-block-1

Conversation

@lklimek

@lklimek lklimek commented Apr 26, 2023

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

lklimek added 30 commits April 20, 2023 15:30
@lklimek
lklimek marked this pull request as ready for review April 27, 2023 14:39

@PastaPastaPasta PastaPastaPasta left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I have a few minor suggestions

Comment thread packages/rs-drive-abci/src/abci/commit.rs Outdated
Comment thread packages/rs-drive-abci/src/abci/commit.rs Outdated
Comment thread packages/rs-drive-abci/src/abci/handlers.rs Outdated
Comment thread packages/rs-drive-abci/src/execution/engine.rs Outdated
@lklimek
lklimek requested a review from QuantumExplorer April 27, 2023 15:17
Comment thread packages/rs-drive-abci/src/abci/commit.rs
Comment thread packages/rs-drive-abci/src/abci/mimic.rs
Comment thread packages/rs-drive-abci/src/abci/withdrawal.rs
@QuantumExplorer
QuantumExplorer merged commit ed9f774 into v0.25-dev Apr 27, 2023
@QuantumExplorer
QuantumExplorer deleted the rs-drive-abci-block-1 branch April 27, 2023 16:22
@thephez thephez added this to the v0.25.0 milestone Oct 11, 2023
HashEngineering added a commit to HashEngineering/platform that referenced this pull request Aug 25, 2026
…th dev (a5d7ea0b)

The dashpay#979 engine fixes and dashpay#974's coalesced committed-range sweeps now
live on one rev: fix/key-wallet-rescan-changeset merged with dev, with
the durable pending-sweep re-keyed to the coalesced model (manager-level
swept-awaiting-commit receipt, resume-only seeding). Replaces the two
superseded pins this branch carried (6768f983, 9a68e652).

The rev also carries rust-dashcore dashpay#981 (Mnemonic::from_phrase is now
the auto-detecting parse), so the three parse_mnemonic_any_language
wordlist walks (wallet_lifecycle, rs-platform-wallet-ffi derivation +
identity_keys_from_mnemonic, rs-sdk-ffi signer_simple) collapse to thin
delegates and the language-tagged test call sites drop the argument.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
HashEngineering added a commit to HashEngineering/platform that referenced this pull request Aug 26, 2026
…e adaptation

The pin bump's adaptation to rust-dashcore#981 (from_phrase now
auto-detects the wordlist) missed four test call sites in this file, so
`cargo test -p platform-wallet-ffi` did not COMPILE on this branch —
the crate's 279 tests never ran, here or in CI.

Drops the now-removed Language argument and the import that only served
it. No behavior change: the same static BIP-39 English vector parses.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
romchornyi pushed a commit that referenced this pull request Aug 31, 2026
…ouched

`cargo fmt --check --all` is a CI gate and the collapsed
`Mnemonic::from_phrase` calls left two of them wrapped.
romchornyi pushed a commit that referenced this pull request Aug 31, 2026
…ouched

`cargo fmt --check --all` is a CI gate and the collapsed
`Mnemonic::from_phrase` calls left two of them wrapped.
romchornyi pushed a commit that referenced this pull request Sep 3, 2026
…ouched

`cargo fmt --check --all` is a CI gate and the collapsed
`Mnemonic::from_phrase` calls left two of them wrapped.
romchornyi pushed a commit that referenced this pull request Sep 3, 2026
…ouched

`cargo fmt --check --all` is a CI gate and the collapsed
`Mnemonic::from_phrase` calls left two of them wrapped.
romchornyi pushed a commit that referenced this pull request Sep 3, 2026
…ouched

`cargo fmt --check --all` is a CI gate and the collapsed
`Mnemonic::from_phrase` calls left two of them wrapped.
romchornyi pushed a commit that referenced this pull request Sep 3, 2026
…ouched

`cargo fmt --check --all` is a CI gate and the collapsed
`Mnemonic::from_phrase` calls left two of them wrapped.
romchornyi pushed a commit that referenced this pull request Sep 3, 2026
Review nits, all documentation.

`parse_mnemonic_any_language`'s doc still said `key_wallet::Mnemonic`
"only exposes language-tagged constructors" and that callers "must walk
the language list themselves" — precisely what rust-dashcore#981
removed, and it contradicted the inline comment three lines below. The
wrapper is kept: 20 call sites narrow upstream's error to the
`&'static str` they report, and that narrowing is now what the doc says
it does.

The sweep gate's recovery note read as if a capable backend might appear
mid-session. It cannot: the persister does not change under a running
adapter, so a host without the slot stays frozen until it ships one and
relaunches. Freezing is the point.

`last_processed_height` is now documented as deliberately NOT stripped
beside `synced_height`, matching the #4069 guard: `synced_height` is the
durable "scanned AND persisted" claim that must not outrun an unapplied
removal, while `last_processed_height` is the adapter's own progress
marker whose retention makes nothing safer.

And the asset-lock test's `DASHPAY_PAYMENTS` attestation no longer
describes an overlay this PR writes — nothing here stages
`dashpay_payments_overlay`; the bit is declared so the fixture still
describes a fully capable backend once #4442 lands.

Not taken: de-indenting the vestigial block in `commit_wallet`. It spans
152 lines, so removing it would bury the reviewable diff under a
whitespace-only change and force another rebase of the four PRs stacked
above this one.
romchornyi pushed a commit that referenced this pull request Sep 3, 2026
…ouched

`cargo fmt --check --all` is a CI gate and the collapsed
`Mnemonic::from_phrase` calls left two of them wrapped.
romchornyi pushed a commit that referenced this pull request Sep 3, 2026
Review nits, all documentation.

`parse_mnemonic_any_language`'s doc still said `key_wallet::Mnemonic`
"only exposes language-tagged constructors" and that callers "must walk
the language list themselves" — precisely what rust-dashcore#981
removed, and it contradicted the inline comment three lines below. The
wrapper is kept: 20 call sites narrow upstream's error to the
`&'static str` they report, and that narrowing is now what the doc says
it does.

The sweep gate's recovery note read as if a capable backend might appear
mid-session. It cannot: the persister does not change under a running
adapter, so a host without the slot stays frozen until it ships one and
relaunches. Freezing is the point.

`last_processed_height` is now documented as deliberately NOT stripped
beside `synced_height`, matching the #4069 guard: `synced_height` is the
durable "scanned AND persisted" claim that must not outrun an unapplied
removal, while `last_processed_height` is the adapter's own progress
marker whose retention makes nothing safer.

And the asset-lock test's `DASHPAY_PAYMENTS` attestation no longer
describes an overlay this PR writes — nothing here stages
`dashpay_payments_overlay`; the bit is declared so the fixture still
describes a fully capable backend once #4442 lands.

Not taken: de-indenting the vestigial block in `commit_wallet`. It spans
152 lines, so removing it would bury the reviewable diff under a
whitespace-only change and force another rebase of the four PRs stacked
above this one.
PastaPastaPasta added a commit to PastaPastaPasta/platform that referenced this pull request Sep 8, 2026
…fixed FFI

mnemonic_validate tried every supported wordlist, but the key-wallet FFI behind Mnemonic.toSeed and Wallet(mnemonic:) parsed with a hardcoded English wordlist, so any French/Spanish/Japanese/... phrase that passed validation still failed with 'Invalid Mnemonic: mnemonic contains an unknown word (word 0)'. In dashwallet-ios this broke the DashSync upgrade migration (legacy localized wallets silently not imported) and 'Import from Phrase'.

The root fix landed upstream in rust-dashcore dashpay#980/dashpay#981 (every FFI parse path auto-detects the wordlist) and reached this repo through the pin bump in dashpay#4455. Add regression tests that exercise the fixed FFI directly: French vectors against an independent PBKDF2 oracle (with and without passphrase), NFC/NFKD input equivalence, wallet construction from the French phrase (same id as the reference seed, hasMnemonic retained, network-scoped ids), agreement with the platform-wallet language-auto-detecting derivation path, English official-vector guards, and invalid-input rejection.

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

4 participants