diff --git a/.env b/.env index 2902ede..ba2f103 100644 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ # API 基础地址,不设置时默认 https://api.xtrader.vip # 连接测试服务器 192.168.3.21:8888 时复制本文件为 .env 或 .env.local 并取消下一行注释: -# VITE_API_BASE_URL=http://10.117.63.212:8888 +VITE_API_BASE_URL=http://localhost:8888 # SSH 部署(npm run deploy),可选覆盖 # DEPLOY_HOST=38.246.250.238 diff --git a/sdk/approve.ts b/sdk/approve.ts index 27c1592..7fce199 100644 --- a/sdk/approve.ts +++ b/sdk/approve.ts @@ -158,7 +158,7 @@ function encodeFunctionCall(abiFragment: string, args: any[]): string { data += addr.padStart(64, '0'); // 数量参数(补零到32字节) - let amount = BigInt(args[1]).toString(16); + const amount = BigInt(args[1]).toString(16); data += amount.padStart(64, '0'); return data; diff --git a/src/api/wallet.ts b/src/api/wallet.ts new file mode 100644 index 0000000..4053b25 --- /dev/null +++ b/src/api/wallet.ts @@ -0,0 +1,51 @@ +import { get } from './request' + +export interface DepositAddressData { + address?: string + depositAddress?: string + tokenAddress?: string + walletAddress?: string + [key: string]: unknown +} + +export interface DepositAddressResponse { + code: number + data?: DepositAddressData + msg?: string +} + +export interface GetDepositAddressParams { + chain: string + tokenSymbol?: string +} + +function pickAddress(d: DepositAddressData | undefined): string | undefined { + if (!d) return undefined + return ( + (d.walletAddress as string | undefined) ?? + (d.externalWalletAddress as string | undefined) ?? + (d.depositAddress as string | undefined) ?? + (d.tokenAddress as string | undefined) ?? + (d.address as string | undefined) + ) +} + +export async function getDepositAddress( + params: GetDepositAddressParams, + config?: { headers?: Record }, +): Promise<{ ok: boolean; address?: string; raw?: DepositAddressResponse }> { + const paths = ['/pmset/getDepositAddress', '/wallet/getDepositAddress', '/pmset/getDepositAddressClient'] + for (const p of paths) { + try { + const res = await get(p, params as any, config) + const codeOk = res.code === 0 || res.code === 200 + const addr = pickAddress(res.data) + if (codeOk && addr && typeof addr === 'string' && addr.length > 0) { + return { ok: true, address: addr, raw: res } + } + } catch { + } + } + return { ok: false } +} + diff --git a/src/components/DepositDialog.vue b/src/components/DepositDialog.vue index b96c31b..582860d 100644 --- a/src/components/DepositDialog.vue +++ b/src/components/DepositDialog.vue @@ -147,6 +147,8 @@