Commit Graph
37 Commits
Author SHA1 Message Date
Satoshi Qazi Muhammed ed981ccc35 Lock wasm-crypto 7.5.21
Same outputs as 7.5.20 on a crate set without known advisories.
2026-10-12 08:38:17 +04:00
Satoshi Qazi Muhammed 81e25b008b x-randomvalues: declare NativeModules locally; resolve braces to @pezkuwi/braces
x-randomvalues read one export from react-native, NativeModules, and
took its types from the deprecated @types/react-native, which depends
on react-native itself: react-native 0.83, metro 0.83 and with them
image-size (open advisory, fixed only in 2.x, which metro 0.83 does not
accept). The two native modules it looks for are now declared in
src/react-native-modules.d.ts; the casts to RNExt are gone and each
module is checked before use. The published react-native.d.ts does not
reference react-native, and react-native/metro leave the dependency
tree.

braces resolves to @pezkuwi/braces 3.0.4: braces 3.0.3, the latest upstream release, has an open advisory with no fixed version (CVE-2026-93687, stack exhaustion through deeply nested patterns); the fork rejects nesting deeper than maxDepth (500) with a SyntaxError.
2026-10-10 04:01:02 +04:00
Satoshi Qazi Muhammed 02ca668d2d yarn.lock: refresh transitive dependencies with open advisories
Lockfile only. 89 open Dependabot alerts; each vulnerable range was checked against yarn.lock and `yarn up -R` moved every package with a fix inside its dependents' ranges (tar, axios, form-data, shell-quote, fast-uri, brace-expansion, ...); terser-webpack-plugin 5.6 drops serialize-javascript.

Left, with no fix inside range: sprintf-js 1.0.3 (no fixed version exists; via argparse 1 / js-yaml 3) and image-size 1.2.1 (fixed in 2.0.3; metro 0.83 asks for ^1.0.2).
2026-10-10 02:47:43 +04:00
Satoshi Qazi Muhammed c46ce1a9e6 Move to @pezkuwi/dev 0.86 (eslint 10 toolchain)
- @pezkuwi/dev, dev-test, dev-ts ^0.86.3
- rethrown errors carry the original as `cause` (hw-ledger, address decode)
- optional chain in isEthereumAddress, includes() in bip39 validation
- logger calls the lazy formatter through a typed function
- x-global: an assertion to the type the value already has removed,
  with the comment and directive that explained it
- type-only re-exports of modules that emit no JavaScript
- disable directives renamed for the new rule names, or removed where
  the rule no longer reports
2026-10-09 16:32:28 +04:00
Satoshi Qazi Muhammed 82d6a12c24 ci: let Dependabot keep the workflow actions current
Nothing proposes updates to the workflow actions: several still declare
the Node 20 runtime, which runners already force to Node 24 with a warning
on every run. Dependabot now checks them monthly and groups all action
updates into one pull request.
2026-10-09 08:09:07 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 f296babf8e Drop the Deno target
The deno step mapped every package to https://deno.land/x/pezkuwi/..., which
never existed (nor does @pezkuwi on JSR): it was red on every run, hidden by
continue-on-error. Decided 2026-10-07: no Deno build. The src/mod.ts entry
points (imported by nothing else, and the switch that makes the build emit
build-deno/), the import maps, the deno script and the CI step are removed.
The npm packages are unchanged; Deno users can import them as npm:.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 edd1ea0870 util: group thousands in linear time
formatDecimal split digits with /(\d+?)(?=(\d{3})+(?!\d)|$)/g, whose
lookahead rescans the rest of a digit run at every position: quadratic in
the run's length (CodeQL js/polynomial-redos, high; inherited unchanged
from upstream). 20k digits took 258 ms, 200k about 25 s.

A loop now finds the same groups: within each digit run a group ends where
the digits left are a positive multiple of three, or at the end of the
string. Identical output to the pattern on 210,000 random inputs plus the
edge cases (letters around digits, short runs, negatives); 200k digits take
7 ms. The new spec case for a 60k-digit number fails on the old code.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 ad3816da8e CI: let the PR checks fail, check the built manifests, drop the auto bots
- continue-on-error came with the upstream template: lint, build and test
  have been red here while every pull request read as passing (12 test
  failures and 603 lint errors before this branch). fail-fast: false keeps
  each step running when another fails.
- after build, scripts/check-built-manifests.py checks the package.json in
  every build/ directory, the file npm receives (the January 2026 ./cjs/cjs
  fault, and the wasm 7.5.19 one).
- auto-approve/auto-merge (upstream author's actions, merge on a '-auto'
  label once checks reported) are removed, as in pezkuwi-apps.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 c87daf5f97 Restore the source manifests; build with dev 0.85.12 and wasm 7.5.20; 14.0.26
- main/module/types/exports/browser/react-native/sideEffects back to the
  upstream source form (they held the build's rewritten copies)
- @pezkuwi/dev ^0.85.12; util-crypto on @pezkuwi/wasm-crypto and wasm-util
  ^7.5.20 (the first complete wasm-crypto) and on @noble/curves ^1.9.7 and
  @noble/hashes ^1.8.0, the versions whose current APIs it now uses
- resolutions: only typescript, as upstream; the pins that held the whole
  tree to wasm 7.5.17 are gone
- every package at 14.0.26 (npm had 14.0.25, this tree said 14.0.22/23), with
  the internal dependencies at the same version

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 f2ccdfcd7a Remove an ad-hoc test script from the repository root
test-bizinikiwi.mjs was a one-off check from the 14.0.25 release, referenced
nowhere, and failed lint (outside the TypeScript project).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 e3bbcc66b3 util-crypto: sr25519 vectors signed under the bizinikiwi context
The sr25519 cases verified upstream's vectors, signed under the substrate
context, which this package does not accept: four cases failed whenever the
suite ran. New vectors come from fixed seeds named in the spec and verify
in both implementations (scure-sr25519 and the wasm Rust one); the upstream
signature stays as a case that must not verify.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 e1f3074c39 networks: describe the Pezkuwi chains as their nodes do
The registry gave the mainnet relay prefix 0, PZW and 10 decimals and Zagros
prefix 2 and ZGS, with genesis hashes from chains since relaunched; the nodes
report ss58Format 42, HEZ and 12 decimals. Today a lookup by genesis fails
and apps fall back to 42, so addresses come out right by accident; with a
current genesis they would have been formatted with prefix 0.

- pezkuwi and zagros: prefix 42, HEZ, 12 decimals (decided 2026-10-07; the
  relaunched mainnet keeps them)
- Zagros genesis is the live one; the mainnet has none until its relaunch,
  since a stale hash identifies a chain that no longer exists
- the PezkuwiChain entry (prefix 1453, PZC) and the dicle genesis describe
  no chain and are removed

The spec now holds the real data: the Pezkuwi networks report 42/HEZ/12, a
prefix is shared only at 42 (upstream's one-network-per-prefix rule cannot
hold when the chains share the generic format), no two networks claim one
genesis. Red with the mainnet back at prefix 0.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 e9cccd2a04 util-crypto: use the current @noble/hashes and @noble/curves APIs
The ranges ^1.3 resolve to @noble/curves 1.9 and @noble/hashes 1.8 for
everyone who installs this package, and those mark the calls used here
deprecated: the sha256/sha512/blake2b module paths, ProjectivePoint,
toRawBytes, px/py, Signature.fromCompact.

- hashes from @noble/hashes/sha2 and @noble/hashes/blake2
- secp256k1.Point with toBytes(true) for compression
- expand reads the affine x/y (toAffine) instead of the projective fields
- recover builds the signature with Signature.fromBytes(sig, 'compact') and
  returns toBytes() (compressed, as toRawBytes() did). Its method form of
  recoverPublicKey stays, with the reason on the line: the replacement is not
  in @noble/curves 1.9's types, and 2.x, which types it, is ESM-only.

The minimum versions rise with this (package.json, next commit).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 6575789cfc Drop a @ts-expect-error that no longer has an error to expect
On TypeScript 5.5 (upstream's) require('@pezkuwi/util') in this CommonJS
shim reported an error the directive silenced; on 5.9, which this tree
resolves, the line is clean and the unused directive fails the build.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 1d470a9529 Keep the known-genesis table in key order
The renamed chains (dicle, pezkuwi, pezkuwichain, zagros) were inserted where
their predecessors stood, which sort-keys rejects. The 57 entries are
unchanged; only their order is.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 f081bedcf7 Apply lint's own fixes to the sr25519 sources and network interfaces
Import order and stray blank lines left by the scure-sr25519 swap, plus the
2026 headers of these files. eslint --fix output; no code changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 bebfcee609 Bring license headers to 2026
The header rule takes the current year as the end of the range, as upstream's
does; 581 sources still ended at 2025, which failed lint. Lint never ran to
completion here, so this went unseen.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 8c0bb78993 Remove build output committed beside the sources
19c8d69 (2026-01-11) and later commits added the build's output to every
package directory: 1484 .js/.d.ts files under cjs/ and at the package roots,
plus 14 copies of LICENSE (identical to the root one, which the build copies
into each package itself). Upstream keeps none of it. With the source
manifests pointing at them, imports resolved to this stale output instead of
src, and a JavaScript-checking build (@pezkuwi/dev 0.85.12) reads them as
inputs (TS5055).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 19:21:45 +04:00
Kurdistan Tech Ministry 134f0ae3ce Resolve @pezkuwi/scure-sr25519 from npm, not a path on one machine
The root resolutions pointed @pezkuwi/scure-sr25519 at
portal:/home/mamostehp/pezkuwi-wasm/packages/scure-sr25519, a directory
that only existed on the machine 14.0.25 was published from. Everywhere
else `yarn install` stops with "Manifest not found", so this repository
could not be installed, built or tested, and the PR workflow had never run.

util-crypto already asks for ^0.2.1, which is on npm; its lib/ is identical
to packages/scure-sr25519 in pezkuwi-wasm (same "bizinikiwi" signing
context). Dropping the resolution resolves it there.

With this, install, lint and test run. They are not green yet: 161 of
3014 tests fail, most of them on @pezkuwi/wasm-crypto 7.5.17 stubs
(secp256k1, ed25519, scrypt, bip39Generate "not yet implemented"), which
pezkuwi-wasm#2 fixes as 7.5.19. That, the remaining failures and the
continue-on-error in pr-any.yml follow once 7.5.19 is published.
2026-10-07 19:21:45 +04:00
Kurdistan Tech Ministry 45ccf8b846 chore: migrate git dependencies to Gitea mirror (git.pezkuwichain.io) 2026-04-21 18:53:16 +03:00
Kurdistan Tech Ministry 63781f8889 release: v14.0.25 - npm package structure fix
- Published from build/ directories for correct npm structure
- Updated wasm dependencies to 7.5.17
- All packages now have index.js at root level
2026-02-01 21:45:12 +03:00
Kurdistan Tech Ministry 0c2b211a12 chore: update wasm dependencies to 7.5.10 2026-02-01 09:20:20 +03:00
Kurdistan Tech Ministry f5b1d2912f fix: update pezkuwi mainnet genesis hash 2026-01-31 07:26:43 +03:00
Kurdistan Tech Ministry 8f0415ed0f fix: update to 14.0.12 with author and dependency fixes
- Author: Dijital Kurdistan Tech Institute <dev@pezkuwichain.io>
- Fixed Uint8Array type errors in test files
- Added @types/react-native devDependency for x-randomvalues
- Added @pezkuwi/hw-ledger devDependency for networks tests
- Added @pezkuwi/x-randomvalues devDependency for util tests
- Updated all internal dependencies to 14.0.12
2026-01-30 22:48:06 +03:00
Kurdistan Tech Ministry 4a8fe9b100 Bump networks package version to 16.5.9 2026-01-17 23:18:59 +03:00
Kurdistan Tech Ministry 19c8d69bd8 chore: update to version 14.0.11 and align website URLs 2026-01-11 11:34:13 +03:00
Kurdistan Tech MinistryandClaude Opus 4.5 ef74383349 chore: update packageInfo versions to 14.0.10
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 20:25:48 +03:00
Kurdistan Tech Ministry 76dec54169 chore: release 14.0.10 2026-01-10 19:51:05 +03:00
Kurdistan Tech Ministry 159b375d2f refactor(networks): restrict selectable networks to Pezkuwi ecosystem 2026-01-10 19:38:24 +03:00
Kurdistan Tech Ministry 7f7de1ef82 feat: add Pezkuwi network genesis hashes (dicle, pezkuwi, zagros, pezkuwichain) 2026-01-10 19:38:24 +03:00
SatoshiQaziMuhammed 346bb01a69 Add CodeQL analysis workflow configuration 2026-01-08 02:15:07 +03:00
Kurdistan Tech Ministry 34e93f6dfd docs: update README with Dijital Kurdistan Tech Institute branding 2026-01-07 03:20:33 +03:00
Kurdistan Tech Ministry 7498545cea feat: add workflow_dispatch trigger to lock.yml 2026-01-07 03:06:55 +03:00
Kurdistan Tech Ministry 3700db7dd2 fix: use github.token instead of missing GH_PAT_BOT secret 2026-01-07 03:05:53 +03:00
Kurdistan Tech Ministry a5542fdd87 Rebrand: polkadot → pezkuwi internal references fixed
- Fixed internal @polkadot references to @pezkuwi
- Updated hw-ledger and hw-ledger-transports packages
- Updated keyring and networks packages
- Version 14.0.7
2026-01-07 02:34:39 +03:00
Kurdistan Tech Ministry 782581ecf6 Update domain references to pezkuwichain.app 2026-01-06 12:20:45 +03:00
Kurdistan Tech Ministry ec06da0ebc Initial rebrand: @polkadot -> @pezkuwi (14 packages)
- Package namespace: @polkadot/* -> @pezkuwi/*
- Repository: polkadot-js/common -> pezkuwichain/pezkuwi-common
- Author: Pezkuwi Team <team@pezkuwichain.io>

Core packages:
- @pezkuwi/util (utilities)
- @pezkuwi/util-crypto (crypto primitives)
- @pezkuwi/keyring (account management)
- @pezkuwi/networks (chain metadata)
- @pezkuwi/hw-ledger (Ledger hardware wallet)
- @pezkuwi/x-* (10 polyfill packages)

Total: 14 packages
Upstream: polkadot-js/common v14.0.1
2026-01-05 14:00:34 +03:00