feat(frontend): align wUSDT Asset ID with SDK (1000)

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 is contained in:
2025-11-20 19:52:48 +03:00
parent 4e85e28bce
commit 06a7ec9424
4 changed files with 45 additions and 13 deletions
+32 -1
View File
@@ -31,16 +31,47 @@ export const CHAIN_CONFIG = {
// ========================================
// ⚠️ IMPORTANT: HEZ is the native token and does NOT have an Asset ID
// Only wrapped/asset tokens are listed here
//
// Asset ID Allocation:
// - 0-999: Reserved for protocol tokens (wHEZ, PEZ, etc.)
// - 1000+: Bridged/wrapped external assets (wUSDT, etc.)
export const ASSET_IDS = {
WHEZ: parseInt(import.meta.env.VITE_ASSET_WHEZ || '0'), // Wrapped HEZ
PEZ: parseInt(import.meta.env.VITE_ASSET_PEZ || '1'), // PEZ utility token
WUSDT: parseInt(import.meta.env.VITE_ASSET_WUSDT || '2'), // Wrapped USDT (multisig backed)
WUSDT: parseInt(import.meta.env.VITE_ASSET_WUSDT || '1000'), // Wrapped USDT (6 decimals, matches SDK)
USDT: parseInt(import.meta.env.VITE_ASSET_USDT || '3'),
BTC: parseInt(import.meta.env.VITE_ASSET_BTC || '4'),
ETH: parseInt(import.meta.env.VITE_ASSET_ETH || '5'),
DOT: parseInt(import.meta.env.VITE_ASSET_DOT || '6'),
} as const;
// ========================================
// ASSET CONFIGURATIONS
// ========================================
export const ASSET_CONFIGS = {
WHEZ: {
id: ASSET_IDS.WHEZ,
symbol: 'wHEZ',
name: 'Wrapped HEZ',
decimals: 12,
minBalance: 1_000_000_000, // 0.001 HEZ
},
PEZ: {
id: ASSET_IDS.PEZ,
symbol: 'PEZ',
name: 'PEZ Utility Token',
decimals: 12,
minBalance: 1_000_000_000, // 0.001 PEZ
},
WUSDT: {
id: ASSET_IDS.WUSDT,
symbol: 'wUSDT',
name: 'Wrapped USDT',
decimals: 6, // ⚠️ CRITICAL: wUSDT uses 6 decimals (USDT standard), not 12!
minBalance: 1_000, // 0.001 USDT
},
} as const;
// ========================================
// EXPLORER URLS
// ========================================