mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-06-20 23:21:05 +00:00
feat: Complete DEX frontend integration with Pezkuwi SDK
🎉 Full DEX UI with token swap functionality ✅ Wallet connection with Polkadot.js extension 🔄 Real-time balance updates and transaction status ## Features / Taybetmendî: - ✅ Token swap interface (wHEZ ↔ PEZ) / Rûkarê swap tokenan - ✅ Wallet integration / Pêvekirina wallet - ✅ Balance display / Nîşandana balance - ✅ Transaction processing / Pêvajoya transaction - ✅ Real-time updates / Nûvekirinên real-time ## Components: - App.tsx - Main swap interface - wallet.ts - Polkadot.js integration - Responsive UI with loading states Connected to Pezkuwi SDK testnet / Girêdayî testnet Pezkuwi SDK Bi kêfxweş ji bo Kurdistan 🌟
This commit is contained in:
+932
-42
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 609 KiB |
+11
-8
@@ -9,6 +9,7 @@ import ProfileSettings from '@/pages/ProfileSettings';
|
|||||||
import AdminPanel from '@/pages/AdminPanel';
|
import AdminPanel from '@/pages/AdminPanel';
|
||||||
import WalletDashboard from './pages/WalletDashboard';
|
import WalletDashboard from './pages/WalletDashboard';
|
||||||
import { AppProvider } from '@/contexts/AppContext';
|
import { AppProvider } from '@/contexts/AppContext';
|
||||||
|
import { PolkadotProvider } from '@/contexts/PolkadotContext';
|
||||||
import { WalletProvider } from '@/contexts/WalletContext';
|
import { WalletProvider } from '@/contexts/WalletContext';
|
||||||
import { WebSocketProvider } from '@/contexts/WebSocketContext';
|
import { WebSocketProvider } from '@/contexts/WebSocketContext';
|
||||||
import { IdentityProvider } from '@/contexts/IdentityContext';
|
import { IdentityProvider } from '@/contexts/IdentityContext';
|
||||||
@@ -24,10 +25,11 @@ function App() {
|
|||||||
<ThemeProvider defaultTheme="dark" storageKey="vite-ui-theme">
|
<ThemeProvider defaultTheme="dark" storageKey="vite-ui-theme">
|
||||||
<AuthProvider>
|
<AuthProvider>
|
||||||
<AppProvider>
|
<AppProvider>
|
||||||
<WalletProvider>
|
<PolkadotProvider endpoint="ws://127.0.0.1:9944">
|
||||||
<WebSocketProvider>
|
<WalletProvider>
|
||||||
<IdentityProvider>
|
<WebSocketProvider>
|
||||||
<Router>
|
<IdentityProvider>
|
||||||
|
<Router>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="/login" element={<Login />} />
|
<Route path="/login" element={<Login />} />
|
||||||
|
|
||||||
@@ -56,10 +58,11 @@ function App() {
|
|||||||
} />
|
} />
|
||||||
<Route path="*" element={<NotFound />} />
|
<Route path="*" element={<NotFound />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
</Router>
|
</Router>
|
||||||
</IdentityProvider>
|
</IdentityProvider>
|
||||||
</WebSocketProvider>
|
</WebSocketProvider>
|
||||||
</WalletProvider>
|
</WalletProvider>
|
||||||
|
</PolkadotProvider>
|
||||||
</AppProvider>
|
</AppProvider>
|
||||||
</AuthProvider>
|
</AuthProvider>
|
||||||
<Toaster />
|
<Toaster />
|
||||||
|
|||||||
+4
-2
@@ -29,9 +29,11 @@ export const CHAIN_CONFIG = {
|
|||||||
// ========================================
|
// ========================================
|
||||||
// SUBSTRATE ASSET IDs (Assets Pallet)
|
// SUBSTRATE ASSET IDs (Assets Pallet)
|
||||||
// ========================================
|
// ========================================
|
||||||
|
// ⚠️ IMPORTANT: HEZ is the native token and does NOT have an Asset ID
|
||||||
|
// Only wrapped/asset tokens are listed here
|
||||||
export const ASSET_IDS = {
|
export const ASSET_IDS = {
|
||||||
PEZ: parseInt(import.meta.env.VITE_ASSET_PEZ || '1'),
|
WHEZ: parseInt(import.meta.env.VITE_ASSET_WHEZ || '0'), // Wrapped HEZ
|
||||||
HEZ: parseInt(import.meta.env.VITE_ASSET_HEZ || '2'),
|
PEZ: parseInt(import.meta.env.VITE_ASSET_PEZ || '1'), // PEZ utility token
|
||||||
USDT: parseInt(import.meta.env.VITE_ASSET_USDT || '3'),
|
USDT: parseInt(import.meta.env.VITE_ASSET_USDT || '3'),
|
||||||
BTC: parseInt(import.meta.env.VITE_ASSET_BTC || '4'),
|
BTC: parseInt(import.meta.env.VITE_ASSET_BTC || '4'),
|
||||||
ETH: parseInt(import.meta.env.VITE_ASSET_ETH || '5'),
|
ETH: parseInt(import.meta.env.VITE_ASSET_ETH || '5'),
|
||||||
|
|||||||
+2
-13
@@ -1,8 +1,5 @@
|
|||||||
import { createRoot } from 'react-dom/client'
|
import { createRoot } from 'react-dom/client'
|
||||||
import App from './App.tsx'
|
import App from './App.tsx'
|
||||||
import { WalletProvider } from './contexts/WalletContext'
|
|
||||||
import { WebSocketProvider } from './contexts/WebSocketContext'
|
|
||||||
import { PolkadotProvider } from './contexts/PolkadotContext'
|
|
||||||
import './index.css'
|
import './index.css'
|
||||||
import './i18n/config'
|
import './i18n/config'
|
||||||
|
|
||||||
@@ -13,13 +10,5 @@ declare global {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove dark mode class addition
|
// All providers are now in App.tsx for better organization
|
||||||
createRoot(document.getElementById("root")!).render(
|
createRoot(document.getElementById("root")!).render(<App />);
|
||||||
<PolkadotProvider endpoint="ws://127.0.0.1:9944">
|
|
||||||
<WalletProvider>
|
|
||||||
<WebSocketProvider>
|
|
||||||
<App />
|
|
||||||
</WebSocketProvider>
|
|
||||||
</WalletProvider>
|
|
||||||
</PolkadotProvider>
|
|
||||||
);
|
|
||||||
|
|||||||
Reference in New Issue
Block a user