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
2026-10-07 19:21:45 +04:00
2026-10-07 19:21:45 +04:00
2026-10-07 19:21:45 +04:00

@pezkuwi/common

Common utilities, cryptographic functions, and keyring management for PezkuwiChain applications.

Developed by Dijital Kurdistan Tech Institute

Overview

This repository provides utility functions with additional safety checks, allowing for consistent coding and reducing boilerplate across all @pezkuwi packages.

Packages

Package Description
@pezkuwi/keyring Keyring management for accounts
@pezkuwi/util General utility functions
@pezkuwi/util-crypto Cryptographic and hashing utilities
@pezkuwi/networks Network definitions
@pezkuwi/x-bigint BigInt polyfills
@pezkuwi/x-fetch Fetch polyfills
@pezkuwi/x-global Global object utilities
@pezkuwi/x-randomvalues Random values polyfills
@pezkuwi/x-textdecoder TextDecoder polyfills
@pezkuwi/x-textencoder TextEncoder polyfills
@pezkuwi/x-ws WebSocket polyfills

Installation

# Keyring
npm install @pezkuwi/keyring

# Utilities
npm install @pezkuwi/util

# Crypto utilities
npm install @pezkuwi/util-crypto

Quick Start

import { Keyring } from '@pezkuwi/keyring';
import { hexToU8a, u8aToHex } from '@pezkuwi/util';
import { mnemonicGenerate, blake2AsHex } from '@pezkuwi/util-crypto';

// Generate a mnemonic
const mnemonic = mnemonicGenerate();

// Create a keyring and add account
const keyring = new Keyring({ type: 'sr25519' });
const pair = keyring.addFromMnemonic(mnemonic);

console.log(`Address: ${pair.address}`);

Development

Prerequisites

  • Node.js >= 18.14
  • Yarn 4.x (via corepack)

Building

git clone https://github.com/pezkuwichain/pezkuwi-common
cd pezkuwi-common
corepack enable
yarn install
yarn build

Tutorials

Looking for tutorials? Check out examples for guides on how to use these utilities.

License

Apache-2.0

Author

Dijital Kurdistan Tech Institute

S
Description
No description provided
Readme Apache-2.0
3.4 MiB
1 Watchers 0 Forks
Languages
TypeScript 99.4%
Python 0.2%
Shell 0.2%
JavaScript 0.1%
HTML 0.1%