mirror of
https://github.com/pezkuwichain/pezkuwi-extension.git
synced 2026-11-15 03:27:08 +00:00
c3070ab5a096ddeccd0eea8251200e4f9ad37c94
zod 3.25.76 reached the extension along two paths, and 3.x has no fix:
- extension-compat-metamask took all of web3 4 for one call,
Web3.utils.sha3 on the eth_sign payload; web3-validator pins zod ^3.21.4
and has had no release since. ethSignHash replaces it with keccakAsHex
from @pezkuwi/util-crypto. Both read hex as bytes and anything else as
UTF-8, and agree on every input but empty data, for which web3 returned
nothing and MetaMask rejected the request; that is now refused up front.
web3 leaves the lockfile (about 480 lines).
- extension-ui used @paraspell/xcm-analyser 1.x, whose last release depends
on zod 3. 3.4.0 uses zod 4, renames convertMultilocationToUrl to
convertLocationToUrl, and no longer accepts the digit-grouped strings
that SignerPayload.toHuman() produces ("1,984"), so a plain bump would
have dropped the readable asset location from the signing popup without
an error. assetIdUrl turns those strings back into numbers first.
zod resolves to 4.6.7 alone. Lockfile changes resolved with a 14-day
minimum release age.
Pezkuwi Extension
A browser extension for PezkuwiChain that injects a @pezkuwi/api Signer into a page, along with any associated accounts, allowing for use by any dapp. This is an implementation of a PezkuwiChain browser signer.
Developed by Dijital Kurdistan Tech Institute
Overview
This extension manages accounts and allows the signing of transactions with those accounts for the PezkuwiChain network.
Installation
- Chrome / Chromium / Brave / Edge: Install from the Chrome Web Store
- Firefox: build from source (see Development); a Firefox Add-ons listing is coming soon
Documentation
Find out more about how to use the extension as a Dapp developer in the Pezkuwi Extension Documentation
Development
Prerequisites
- Node.js >= 18.14
- Yarn 4.x (via corepack)
Building from Source
- Enable corepack:
corepack enable - Install dependencies:
yarn install - Build for Chrome:
yarn build:chrome - Build for Firefox:
yarn build:ff
Loading the Extension
Chrome:
- Go to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" and select
packages/extension/build
Firefox:
- Go to
about:debugging#addons - Check "Enable add-on debugging"
- Click "Load Temporary Add-on" and select
packages/extension/build/manifest.json
Packages
- extension - Main entry point with injection and background logic
- extension-ui - UI components for the popup
- extension-dapp - Wrapper for dapps to work with injected objects
- extension-inject - Wrapper for extension developers to inject their extension
For Dapp Developers
Use the @pezkuwi/extension-dapp package to integrate with this extension or any compatible extension.
import { web3Enable, web3Accounts } from '@pezkuwi/extension-dapp';
// Enable the extension
const extensions = await web3Enable('My Dapp');
// Get all accounts
const accounts = await web3Accounts();
Links
- Website: https://pezkuwichain.io
- Documentation: https://docs.pezkuwichain.io
- GitHub: https://github.com/pezkuwichain
- API Docs: https://js.pezkuwichain.app
License
Apache-2.0
Author
Dijital Kurdistan Tech Institute
Languages
TypeScript
96.4%
JavaScript
1.7%
Python
0.6%
CSS
0.5%
Shell
0.4%
Other
0.4%