mirror of
https://github.com/pezkuwichain/pezkuwi-extension.git
synced 2026-10-22 11:46:21 +00:00
865bce54aed89037f4f9bb9d441b80e5b87f3656
pr-any.yml ran lint, test and build with continue-on-error: true, so every PR showed success while main had 41 lint errors and 19 of 61 tests failing. The flag is removed and the failures are fixed: - TypeScript 5.5.4 -> 5.9. @pezkuwi/util and friends ship declarations with Uint8Array<ArrayBufferLike>, which 5.5 cannot read, so every such value was typed `any` here (the 16 wrapBytes errors). The pin dates from a styled-components declaration problem that went away with the move back to styled-components 5; build and lint pass on 5.9. - State.ts: the stored security log is parsed through a function that returns an empty log for anything that is not a JSON array, instead of letting `any` flow on; fire-and-forget logging uses .catch(console.error) like the rest of the codebase; object keys sorted. - buildHierarchy.spec.ts: a rename had replaced the genesis hashes with 0x..01 / 0x..02, which resolve to no network name, so sorting by network had nothing to sort on. The test now takes two real entries from chains.ts by name. - scripts/*.cjs is in the lint project (it failed to parse); header and key order fixed in postbuild-cleanup.cjs. - temp_ff_validate/ (43 build files) and pezkuwi-chrome-0.62.22.zip were committed by accident in f5495f7; removed and ignored. 16 of the 19 failing tests are not fixed here: they fail because @pezkuwi/wasm-crypto 7.5.18 stubs ed25519, secp256k1 and sr25519 derivation. With the 7.5.19 build from pezkuwi-wasm#2 installed locally, lint is clean and all 61 tests pass. Until 7.5.19 is published and picked up here, those 16 stay red on this PR, which is the point.
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.3%
JavaScript
1.7%
Python
0.6%
CSS
0.6%
Shell
0.4%
Other
0.4%