Skip to content

chore(wasm-dpp): proper identifier buffer inheritance#879

Merged
markin-io merged 24 commits into
v0.24-devfrom
feat/wasm-dpp/identifier-buffer-inheritance
Apr 3, 2023
Merged

chore(wasm-dpp): proper identifier buffer inheritance#879
markin-io merged 24 commits into
v0.24-devfrom
feat/wasm-dpp/identifier-buffer-inheritance

Conversation

@markin-io

@markin-io markin-io commented Mar 31, 2023

Copy link
Copy Markdown
Contributor

Issue being fixed or feature implemented

Issues

  • Identifier wasm binding does not properly extend Buffer which leads to many hidden issues where identifier has to be replaced with identifier.toBuffer()
  • Browserify Buffer is not recognized by real Node Buffer. Such issues are hard to find, and fix is rather cumbersome: (i.e. instead of identifier we have to write Buffer.from(identifier.toBuffer())

What was done?

  • Replaced Identifier wasm bidning with external JS identifier
  • Reworked buiilding procedure to produce TS build instead of webpack bundle
  • Refactored tests

How Has This Been Tested?

  • CI
  • In SDK

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

@markin-io markin-io changed the title refactor(wasm-dpp): use JS identifier instead of identifier binding fix(wasm-dpp): identifier buffer inheritance Mar 31, 2023
@markin-io markin-io added this to the v0.24.0 milestone Mar 31, 2023
@markin-io
markin-io marked this pull request as ready for review March 31, 2023 19:11
@markin-io markin-io changed the title fix(wasm-dpp): identifier buffer inheritance chore(wasm-dpp): proper identifier buffer inheritance Apr 1, 2023
@markin-io
markin-io merged commit 4e7dae3 into v0.24-dev Apr 3, 2023
@markin-io
markin-io deleted the feat/wasm-dpp/identifier-buffer-inheritance branch April 3, 2023 09:06
QuantumExplorer added a commit that referenced this pull request Jul 14, 2026
…on persisted provider accounts

Deletes platform-wallet's duplicated pre-#879 hybrid derivation: all
operator/platform-node key derivation now delegates to the corrected
upstream key-wallet primitives (gate-free variants usable on resident
and watch-only wallets), and the FFI mnemonic resolver preserves the
raw BIP39 seed instead of collapsing it to a secp256k1 master. The
operator ownership map indexes both BLS serializations (v1 ProRegTx
payloads carry legacy bytes). Persisted provider account xpubs are
stamped with a derivation-version marker; unstamped (pre-fix) rows
are skipped at load with a warning so stale keys are never shown or
matched — a wallet re-import regenerates them correctly.

Golden-vector tests pin the derivation to upstream's dashbls
reference values, and a cross-path test asserts both derivation entry
points agree; user-verified against dashwallet-ios (DashSync) with a
shared mnemonic on mainnet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
QuantumExplorer added a commit that referenced this pull request Jul 14, 2026
The pre-#879 derivation never shipped, so the version-magic machinery
guarded a dev-only transient state that delete+re-import cures.
Provider xpubs persist as raw bincode like every other account; a
comment records the accepted consequence for pre-fix dev wallets.

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