Add a small reusable Pez20Badge pill next to the PEZ and USDT tokens in
the wallet balance view, linking to the Token Standards docs. These are
fungible assets on Asset Hub, i.e. the PEZ-20 standard — this gives users
the familiar ERC-20-style mental model at a glance.
Additive only: no labels removed, native HEZ is intentionally not badged
(it is the native/gas token, not a PEZ-20 asset).
Add full internationalization across 127+ components and pages.
790+ translation keys in en, tr, kmr, ckb, ar, fa locales.
Remove duplicate keys and delete unused .json locale files.
Remove all frontend staking/trust score calculation and localStorage
fallback code. All scores now read directly from People Chain pallets
(pezpallet-trust, pezpallet-referral, pezpallet-tiki). Trust pallet
computes composite score on-chain.
- Fix wUSDT balance to use Asset Hub API instead of relay chain
- Fix USDT subscription to use correct asset ID (1000)
- Add wHEZ balance display when balance > 0
- Add LP token positions display from poolAssets pallet
- Add LP token logo to public/tokens
- Remove unused supabase import from AppLayout.tsx
- Replace any types with proper type assertions in XCMTeleportModal.tsx
- Remove unused events parameter from signAndSend callback
- Fix any types in PezkuwiContext.tsx debug code
- Escape apostrophe in EmailVerification.tsx
- Remove unused ArrowDownRight import from AccountBalance.tsx
Features:
- Add XCMTeleportModal for cross-chain HEZ transfers
- Support Asset Hub and People Chain teleports
- Add "Fund Fees" button with user-friendly tooltips
- Use correct XCM V3 format with teyrchain junction
Fixes:
- Fix PEZ transfer to use Asset Hub API
- Silence unnecessary pallet availability warnings
- Fix transaction loading performance (10 blocks limit)
- Remove Supabase admin_roles dependency
CI/CD:
- Add auto-deploy to VPS on main branch push
- Add version bumping on deploy
- Upload build artifacts for deployment
- Add Asset Hub API connection for PEZ token queries (Asset ID 1 is on Asset Hub)
- Update AccountBalance to fetch PEZ balance from Asset Hub instead of main chain
- WebSocket: Only try localhost endpoints when running locally, use production
endpoint directly when on domain
- HEZ price: CoinGecko direct > DOT/3 > DEX pool
- PEZ price: CoinGecko direct > DOT/10 > DEX pool
- Added AuthorizeCall signed extension for blockchain connection
- Updated @pezkuwi packages to 16.5.22 and 14.0.13
- Fixed TypeScript type assertion issues
- Updated imports from api-augment/substrate to api-augment/bizinikiwi
- Fixed imgConvert.mjs header and imports
- Added @ts-expect-error for runtime-converted types
- Fixed all @polkadot copyright headers to @pezkuwi
This commit aligns the frontend wUSDT implementation with the SDK runtime
constants, ensuring consistency across the entire stack.
Changes:
- Update ASSET_IDS.WUSDT from 2 → 1000 (matches SDK constants)
- Add ASSET_CONFIGS with wUSDT configuration (6 decimals, min balance)
- Update all asset queries in AccountBalance.tsx to use ASSET_IDS.WUSDT
- Update pool queries for wHEZ/wUSDT and PEZ/wUSDT pools
- Update USDTBridge.tsx burn transaction to use ASSET_IDS.WUSDT
- Refactor usdt.ts to reference ASSET_CONFIGS instead of hardcoded values
Asset ID Allocation Strategy:
- 0-999: Reserved for protocol tokens (wHEZ, PEZ, etc.)
- 1000+: Bridged/wrapped external assets (wUSDT, etc.)
Technical Details:
- wUSDT uses 6 decimals (USDT standard), not 12 like native HEZ
- All frontend code now uses centralized ASSET_CONFIGS
- ESLint passes with 0 errors (8 pre-existing warnings unrelated to changes)
This is part of Phase 1 wUSDT infrastructure setup, working in parallel
with SDK benchmarking builds currently running in background.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit reorganizes the codebase to eliminate duplication between web and mobile frontends by moving all commonly used files to the shared folder.
Changes:
- Moved lib files to shared/lib/:
* wallet.ts, staking.ts, tiki.ts, identity.ts
* multisig.ts, usdt.ts, scores.ts, citizenship-workflow.ts
- Moved utils to shared/utils/:
* auth.ts, dex.ts
* Created format.ts (extracted formatNumber from web utils)
- Created shared/theme/:
* colors.ts (Kurdistan and App color definitions)
- Updated web configuration:
* Added @pezkuwi/* path aliases in tsconfig.json and vite.config.ts
* Updated all imports to use @pezkuwi/lib/*, @pezkuwi/utils/*, @pezkuwi/theme/*
* Removed duplicate files from web/src/lib and web/src/utils
- Updated mobile configuration:
* Added @pezkuwi/* path aliases in tsconfig.json
* Updated theme/colors.ts to re-export from shared
* Mobile already uses relative imports to shared (no changes needed)
Architecture Benefits:
- Single source of truth for common code
- No duplication between frontends
- Easier maintenance and consistency
- Clear separation of shared vs platform-specific code
Web-specific files kept:
- web/src/lib/supabase.ts
- web/src/lib/utils.ts (cn function for Tailwind, re-exports formatNumber from shared)
All imports updated and tested. Both web and mobile now use the centralized shared folder.
Restructured the project to support multiple frontend applications:
- Move web app to web/ directory
- Create pezkuwi-sdk-ui/ for Polkadot SDK clone (planned)
- Create mobile/ directory for mobile app development
- Add shared/ directory with common utilities, types, and blockchain code
- Update README.md with comprehensive documentation
- Remove obsolete DKSweb/ directory
This monorepo structure enables better code sharing and organized
development across web, mobile, and SDK UI projects.