Commit Graph

92 Commits

Author SHA1 Message Date
pezkuwichain 8102e8e7d7 fix: migrate DEX components from Relay Chain to Asset Hub API
- Update PoolDashboard to use assetHubApi for pool discovery
- Update TokenSwap to use assetHubApi for swap operations
- Update AddLiquidityModal to use assetHubApi
- Update RemoveLiquidityModal (both versions) to use assetHubApi
- Use XCM Location format for pool queries (Native HEZ support)
- Fix all lint errors and dependency array warnings
2026-02-04 14:37:33 +03:00
pezkuwichain 66022d3799 feat: add bidirectional wrap/unwrap for HEZ and wHEZ tokens
- Add tabs UI for switching between wrap (HEZ → wHEZ) and unwrap (wHEZ → HEZ)
- Display both Native HEZ and wHEZ balances
- Support tokenWrapper.wrap() and tokenWrapper.unwrap() transactions
- Show 1:1 ratio conversion preview
2026-02-04 14:21:34 +03:00
pezkuwichain 751bb86ea7 feat: add Native HEZ support for pool creation
assetConversion pallet requires pools to pair with Native token.

Changes:
- Added NATIVE_TOKEN_ID (-1) constant for relay chain HEZ
- Updated CreatePoolModal to use XCM location format for Native
- Pools can now be created: Native HEZ / PEZ, Native HEZ / wUSDT, etc.
- Fixed balance fetching for Native vs Asset tokens
2026-02-04 14:13:43 +03:00
pezkuwichain c533d60de0 fix: use correct asset format for assetConversion pallet
assetConversion.createPool expects { Asset: id } format, not raw numbers.
This fixes pool creation on Asset Hub.
2026-02-04 14:05:42 +03:00
pezkuwichain bae4daa4d5 fix: suppress API/INIT and REGISTRY warnings in production
Added warning suppression at main.tsx entry point to catch
Polkadot.js warnings before any API imports load.
2026-02-04 14:01:43 +03:00
pezkuwichain f061120112 fix: correct wHEZ asset ID from 0 to 2
tokenWrapper pallet on Asset Hub creates wHEZ as Asset ID 2, not 0.

Asset IDs on Asset Hub:
- Asset 1: PEZ
- Asset 2: wHEZ (via tokenWrapper)
- Asset 1000: wUSDT

Updated:
- shared/constants/index.ts: KNOWN_TOKENS
- shared/lib/wallet.ts: ASSET_IDS.WHEZ default
- AccountBalance.tsx: pool queries
- InitializeHezPoolModal.tsx: balance query
2026-02-04 13:52:47 +03:00
pezkuwichain 34486018bb feat: migrate DEX modals to Asset Hub API
DEX pallets (tokenWrapper, assets, assetConversion) are deployed on
Asset Hub teyrchain, not on the relay chain. Updated all DEX modals
to use assetHubApi instead of relay chain api:

- InitializeHezPoolModal: HEZ → wHEZ wrapping via Asset Hub
- InitializeUsdtModal: wUSDT minting via Asset Hub
- CreatePoolModal: Pool creation via Asset Hub
- XCMConfigurationWizard: Steps 5-6 use Asset Hub API

Added pallet availability checks with user-friendly error messages.
2026-02-04 13:13:24 +03:00
pezkuwichain cf12720b4a chore: suppress noisy API warnings in production console 2026-02-04 12:47:40 +03:00
pezkuwichain 9f6e477e6b fix: add People Chain deps to AccountBalance useEffect for proper balance fetch 2026-02-04 12:40:16 +03:00
pezkuwichain ca3709e8ef fix: correct RPC endpoints - remove wrong :9944 port 2026-02-04 12:35:42 +03:00
pezkuwichain 91e14bf200 fix: add production fallback endpoints for blockchain connection
- Add VITE_NETWORK and endpoint env vars to CI/CD build
- Add Asset Hub and People Chain endpoints to build config
- Add hardcoded production fallbacks in PezkuwiContext
- Disable WebSocket real-time service (not deployed yet)
- Endpoints: rpc.pezkuwichain.io, mainnet, beta, asset-hub, people
2026-02-04 12:19:29 +03:00
pezkuwichain 76e99689e5 fix: resolve all lint errors for CI/CD workflow
- 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
2026-02-04 12:00:48 +03:00
pezkuwichain 02094a3635 feat: add XCM teleport and CI/CD deployment workflow
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
2026-02-04 11:35:25 +03:00
pezkuwichain 9d57473000 fix: use price proxy to avoid CORS and rate limits 2026-02-04 09:42:37 +03:00
pezkuwichain 3642ee0cd1 fix: query PEZ balance from Asset Hub and prevent localhost WebSocket errors
- 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
2026-02-04 09:24:03 +03:00
pezkuwichain 94f91cf765 feat: add CoinGecko price logic with DOT-based fallback
- 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
2026-01-31 18:56:28 +03:00
pezkuwichain d37eacf4e0 fix: update @pezkuwi/api packages to 16.5.22 2026-01-31 18:27:51 +03:00
pezkuwichain 72d3b9204a feat: add Telegram mini app connect for P2P access 2026-01-29 21:27:13 +03:00
pezkuwichain 68a5b96bbd feat: smart extension detection - only redirect to Chrome Web Store if not installed 2026-01-29 15:09:28 +03:00
pezkuwichain 62a21fa9be fix: remove telegram import from App.tsx 2026-01-29 03:47:40 +03:00
pezkuwichain 6da3c5b88c fix: remove telegram module (moved to separate repo) and fix ESLint
- Remove src/telegram/* (moved to pezkuwi-telegram-miniapp repo)
- Fix unused variable in process-withdraw Edge Function
2026-01-29 03:45:01 +03:00
pezkuwichain 7636d46c7d feat(p2p): OKX-level security upgrade with Edge Functions
- Add process-withdraw Edge Function for blockchain withdrawals
- Update verify-deposit Edge Function with @pezkuwi/api
- Add withdrawal limits (daily/monthly) and fee system
- Add hot wallet configuration with production address
- Add admin roles for dispute resolution
- Add COMBINED SQL migration with full P2P system
- Encrypt payment details with AES-256-GCM
- Prevent TX hash reuse with UNIQUE constraint
2026-01-29 03:12:02 +03:00
pezkuwichain 2f05ec7294 feat(telegram): redesign all sections with production-quality UI
- Rewrite AnnouncementsSection with shadcn/ui Card components
- Rewrite ForumSection with proper thread/reply UI
- Rewrite APKSection with version history and download features
- All sections now use consistent design patterns
- Turkish localization for all UI text
- Bottom navigation instead of sidebar
- Remove obsolete sub-components (AnnouncementCard, ThreadCard, etc.)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 23:24:41 +03:00
pezkuwichain 568fca33f2 feat(telegram): add Telegram Mini App for Pezkuwichain
- Add @twa-dev/sdk dependency for Telegram WebApp integration
- Create useTelegram hook for Telegram SDK integration (haptics, popups, etc.)
- Create usePezkuwiApi hook for blockchain API connection
- Add Discord-like Sidebar with 5 sections navigation
- Add Announcements section with like/dislike reactions
- Add Forum section with thread creation and replies
- Add Rewards section with referral program and epoch claims
- Add APK section for Pezwallet download with changelog
- Add Wallet section with balance, staking info, and transactions
- Create main TelegramApp component with routing
- Add /telegram route to App.tsx

UI Structure:
- Left: Discord-style icon sidebar (Announcements, Forum, Rewards, APK, Wallet)
- Right: Active section content area
- Mobile-first responsive design with Telegram theme integration

Integrations:
- Uses existing shared/lib functions for referral, staking, scores
- Supports Telegram startParam for referral codes
- Haptic feedback for native Telegram experience
- Telegram Main/Back button integration
2026-01-26 17:42:35 +03:00
pezkuwichain 031c911bb2 Fix lint: remove unused Smartphone import 2026-01-17 18:44:23 +03:00
pezkuwichain 999a0a5c48 Reorganize images and update web components 2026-01-17 18:40:21 +03:00
pezkuwichain 71a4f2c9a3 Fix lint: remove unused imports 2026-01-17 18:29:00 +03:00
pezkuwichain 96e5319d6f Add MetaMask error patterns to Sentry ignore list 2026-01-15 12:07:50 +03:00
pezkuwichain f44800c013 Add explorer sub-routes for accounts and assets views
- Add /explorer/* wildcard route in App.tsx
- Add view navigation tabs (Overview, Accounts, Assets)
- Parse URL to determine current view
- Add accounts and assets view components
- Add account detail view with address display
2026-01-15 11:54:53 +03:00
pezkuwichain 58f306908c Update extension references to Pezkuwi.js
- Replace "Pezkuwi Wallet" with "Pezkuwi.js" in extension references
- Consistent naming with js.pezkuwichain.io landing page
2026-01-15 11:43:11 +03:00
pezkuwichain ddb0390e97 Update all Polkadot.js references to Pezkuwi Wallet
- Replace Polkadot.js extension references with Pezkuwi Wallet
- Update explorer links to pezkuwichain.io/explorer
- Update install links to js.pezkuwichain.io
- Update source identifiers from polkadot-js to pezkuwi
2026-01-15 11:25:25 +03:00
pezkuwichain 51f9b3cab7 fix(p2p): complete mobile bridge transaction signing flow
- PezkuwiWebView now uses signAndSend via native API
- Transactions are signed AND submitted on native side
- Returns actual block hash instead of raw signature
- Web sends section/method/args payload format
- WalletContext extracts tx details for mobile bridge
2026-01-15 11:07:21 +03:00
pezkuwichain 985ac42900 feat(web): Add mobile bridge support for P2P WebView integration
- Add mobile-bridge.ts utility for native app communication
- Add useMobileBridge.ts React hook
- Update AuthContext to detect and use native wallet
- Update PezkuwiContext to connect mobile wallet automatically
- Update WalletContext to sign transactions via native bridge

Mobile app can now seamlessly use web P2P features with native wallet.
2026-01-15 10:00:11 +03:00
pezkuwichain 8d30519efc Fix all shadow deprecation warnings across entire mobile app
- Replaced shadowColor/shadowOffset/shadowOpacity/shadowRadius with boxShadow
- Fixed 28 files (21 screens + 7 components)
- Preserved elevation for Android compatibility
- All React Native Web deprecation warnings resolved

Files fixed:
- All screen components
- All reusable components
- Navigation components
- Modal components
2026-01-14 15:05:10 +03:00
pezkuwichain 1295c36241 Rebrand: polkadot → pezkuwi build fixes
- 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
2026-01-07 02:32:54 +03:00
pezkuwichain fe2cd390f6 feat(p2p): add Kurdish diaspora payment methods (130+ total)
- Add 61 new payment methods for diaspora countries:
  - Germany (EUR): Sparkasse, Commerzbank, DKB, etc.
  - Sweden (SEK): Swish, Nordea, SEB, Swedbank
  - UK (GBP): Faster Payments, Barclays, HSBC, Monzo
  - France (EUR): Crédit Agricole, Lydia, BNP Paribas
  - Netherlands (EUR): iDEAL, ABN AMRO, Bunq, Tikkie
  - Belgium (EUR): Bancontact, KBC
  - Austria (EUR): Erste Bank, Raiffeisen
  - Switzerland (CHF): TWINT, UBS, PostFinance
  - Norway (NOK): Vipps, DNB, SpareBank 1
  - Denmark (DKK): MobilePay, Danske Bank
  - Australia (AUD): PayID, Commonwealth Bank
  - Canada (CAD): Interac e-Transfer, TD Bank

- Expand FiatCurrency type: SEK, GBP, CHF, NOK, DKK, AUD, CAD
- Update CreateAd, BlockTrade, ExpressMode components
- Add regional labels (Bakur, Başûr, Rojhilat, EU diaspora)
2025-12-12 03:48:57 +03:00
pezkuwichain c53d9de1f1 fix(p2p): rename 'My Orders' to 'My Trades' for consistency
- Updated P2POrders.tsx page title
- Updated P2PDashboard.tsx button label
- Updated P2PTrade.tsx back button
- Updated P2PDispute.tsx navigation button
- Updated NotificationBell.tsx link text
- Terminology now correctly reflects p2p_fiat_trades table
2025-12-12 01:48:40 +03:00
pezkuwichain f978550910 fix: implement Remember Me functionality for login
- Add rememberMe parameter to signIn function in AuthContext
- Store remember_me preference in localStorage
- Skip session timeout when Remember Me is enabled
- Clear remember_me on signOut
- Pass rememberMe from Login.tsx to signIn call
2025-12-12 01:39:17 +03:00
pezkuwichain 14f5e84d15 feat(p2p): implement OKX-style internal ledger escrow system
Phase 5 implementation - Internal Ledger Escrow (OKX Model):
- No blockchain transactions during P2P trades
- Blockchain tx only at deposit/withdraw
- Fast and fee-free P2P trading

Database:
- Add user_internal_balances table
- Add p2p_deposit_withdraw_requests table
- Add p2p_balance_transactions table
- Add lock_escrow_internal(), release_escrow_internal() functions
- Add process_deposit(), request_withdraw() functions

UI Components:
- Add InternalBalanceCard showing available/locked balances
- Add DepositModal for crypto deposits to P2P balance
- Add WithdrawModal for withdrawals from P2P balance
- Integrate balance card into P2PDashboard

Backend:
- Add process-withdrawal Edge Function
- Add verify-deposit Edge Function

Updated p2p-fiat.ts:
- createFiatOffer() uses internal balance lock
- confirmPaymentReceived() uses internal balance transfer
- Add internal balance management functions
2025-12-12 00:41:11 +03:00
pezkuwichain 471ccc1145 feat(p2p): integrate advanced filters into AdList
- Add filter support for token, fiat currency, payment methods
- Add amount range filters (min/max)
- Add merchant tier filtering (Super+, Diamond)
- Add completion rate and verified-only filters
- Fetch merchant tier data for each offer
- Client-side filtering for reputation-based filters
2025-12-11 21:29:43 +03:00
pezkuwichain a0bcfcc222 refactor: reorganize docs folder structure and update P2P plan 2025-12-11 21:01:58 +03:00
pezkuwichain dcbfa4789a feat(p2p): add atomic escrow system with race condition protection
- Add p2p_platform_escrow table for tracking locked funds
- Implement accept_p2p_offer() with FOR UPDATE lock to prevent race conditions
- Add complete_p2p_trade() and cancel_p2p_trade() atomic functions
- Configure platform escrow wallet: 5DFwqK698vL4gXHEcanaewnAqhxJ2rjhAogpSTHw3iwGDwd3
- Update AdList to show user's own offers with Your Ad badge
- Remove unused getActiveOffers import (ESLint fix)
2025-12-11 20:45:14 +03:00
pezkuwichain df58d26893 feat(p2p): add Phase 4 merchant tier system and migrations
- Add merchant tier system (Lite/Super/Diamond) with tier badges
- Add advanced order filters (token, fiat, payment method, amount range)
- Add merchant dashboard with stats, ads management, tier upgrade
- Add fraud prevention system with risk scoring and trade limits
- Rename migrations to timestamp format for Supabase CLI compatibility
- Add new migrations: phase2_phase3_tables, fraud_prevention, merchant_system
2025-12-11 10:39:08 +03:00
pezkuwichain 7330b2e7a6 feat(p2p): add Phase 3 dispute system components
- Add DisputeModal.tsx with reason selection, evidence upload, terms acceptance
- Add P2PDispute.tsx page with evidence gallery, status timeline, real-time updates
- Integrate dispute button in P2PTrade.tsx
- Add /p2p/dispute/:disputeId route to App.tsx
- Add P2P test suite with MockStore pattern (32 tests passing)
- Update P2P-BUILDING-PLAN.md with Phase 3 progress (70% complete)
- Fix lint errors in test files and components
2025-12-11 09:10:04 +03:00
pezkuwichain 8a602dc3fa feat(explorer): implement real blockchain data explorer
- Live block/extrinsic data from Polkadot.js API
- Network stats: best block, finalized, validators, era, TPS
- Recent blocks and extrinsics with success/fail status
- Search by block number, hash, or address
- Auto-refresh via subscribeNewHeads()
2025-12-11 05:33:13 +03:00
pezkuwichain 0cddd9c3f1 feat(forum): implement real forum with Supabase integration
- Forum.tsx: categories, discussions, stats, search, sort, announcements
- ForumTopic.tsx: replies, voting, bookmarks, report, nested comments
- App.tsx: added ForumTopic route for /forum/:id
2025-12-11 05:20:45 +03:00
pezkuwichain 30663941ff fix(lint): resolve unused variables in WalletDashboard 2025-12-11 04:41:42 +03:00
pezkuwichain 12344198aa feat(wallet): add token logos to wallet dashboard and transfer modal 2025-12-11 04:31:10 +03:00
pezkuwichain f1b8d9160e fix(wallet): restore real blockchain WalletDashboard, remove mock Wallet page 2025-12-11 04:04:10 +03:00
pezkuwichain 3e82dd943d fix(test): add polyfill shims for vitest environment 2025-12-11 01:56:33 +03:00