mirror of
https://github.com/pezkuwichain/pezkuwi-common.git
synced 2026-10-20 18:56:18 +00:00
e9cccd2a042c50773449f048a952fd08dbcf7484
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>
@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.
Links
- Website: https://pezkuwichain.io
- Documentation: https://docs.pezkuwichain.io
- API Docs: https://js.pezkuwichain.app
- GitHub: https://github.com/pezkuwichain
License
Apache-2.0
Author
Dijital Kurdistan Tech Institute
Languages
TypeScript
99.4%
Python
0.2%
Shell
0.2%
JavaScript
0.1%
HTML
0.1%