Commit Graph
6 Commits
Author SHA1 Message Date
Satoshi Qazi MuhammedandClaude Opus 5.5 dfb6a28e99 Release 7.5.20
7.5.19 is deprecated: its manifests were broken when installed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 09:36:56 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 57951f3f05 Build with @pezkuwi/dev 0.85.12
0.85.12 reads the repository address from package.json, so the build no
longer stops on the Gitea URL, and keeps import() of an ES module in the
CommonJS output.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 08:23:53 +04:00
Kurdistan Tech Ministry f1eee23fdf Ship the whole wasm-crypto again, not just sr25519
7.5.15-7.5.18 shipped a wasm built from a separate sr25519-only module
(4 exports) and replaced every other function in bundle.ts with a stub
that throws "not yet implemented": ed25519 pair/sign/verify, sr25519
agree and hard/soft derivation, VRF, and all of secp256k1. Because the
wasm still initialised, isReady() was true and @pezkuwi/util-crypto
called those stubs instead of falling back to JS, so ed25519 and
ethereum accounts and any // derivation failed at runtime wherever the
package is used. bip39Generate threw as well, and bip39ToSeed hashed with
SHA-256 where BIP39 specifies SHA-512.

The Rust in packages/wasm-crypto/src/rs already implemented all of it,
with sr25519 under the "bizinikiwi" context. This builds that crate and
binds it again:

- bundle.ts: the withWasm bindings for every ext_* export, as in
  b61206c; getSigningContext() kept, returning "bizinikiwi".
- wasm-bridge: wasm-bindgen 0.2.90 passes an alignment to
  __wbindgen_malloc/__wbindgen_free (without it Rust aborts with
  `unreachable`); __wbindgen_memory returns a heap index; the two-argument
  getRandomValues import takes the crypto object and a Uint8Array by heap
  index, not a pointer and length.
- build-wasm.sh: source rust-version.sh relative to the script; strip the
  `import * as wbg` line newer wasm2js emits and call asmFunc({ wbg }),
  which is the shape its output expects.
- pack-wasm-base.mjs: also write build/bytes.js. The package exports
  ./bytes from there for ESM, and it was still the old sr25519-only wasm.
  The committed src copies are now empty placeholders, so a build that
  skips the wasm step fails instead of shipping a stale binary.
- Tests: the sr25519 known-signature vectors were substrate-context
  vectors; they are replaced by vectors signed by 7.5.18, plus a test that
  the same seed yields the same public key. A rename had changed the
  substrate-bip39 vector's password to "Bizinikiwi"; it is "Substrate".

Compatibility with 7.5.18, measured in separate processes:
mnemonic -> mini secret -> public key is identical for every phrase with
an empty or ASCII password (12/12). It differs when the BIP39 password has
characters NFKD changes: 7.5.18 normalised it, while the Rust crate and
util-crypto's JS path do not, so this returns to the canonical result.

Rust 43/43, JS 55/55, wasm and asm.js runners pass. With this build in
place, pezkuwi-extension's suite goes from 19 failing to 3 (the 3 left
are unrelated sorting tests).

All wasm packages move to 7.5.19 and pin each other at 7.5.19.
2026-10-07 08:23:53 +04:00
Kurdistan Tech Ministry 6039925ed1 release: v7.5.17 - bizinikiwi signing context
- Fixed SR25519 signing context to use "bizinikiwi" for PezkuwiChain
- Implemented proper BIP39 entropy-based key derivation
- Added blake2b, twox (xxhash64) hash functions
- Published from build/ directories for correct npm package structure
2026-02-01 21:44:08 +03:00
Kurdistan Tech Ministry f575fdc611 fix: complete rebrand - fix build, update URLs, author fields 2026-02-01 09:11:33 +03:00
Kurdistan Tech Ministry b61206c14e feat: add all @pezkuwi/wasm-crypto packages with bizinikiwi context 2026-02-01 08:01:30 +03:00