# AssetX Webapp 项目记忆文件 ## 项目概述 AssetX 是一个 DeFi 资产管理平台前端,基于 Next.js 15 + React 19 + TypeScript 构建。 ## 技术栈 - **框架**: Next.js 15 (App Router) - **UI库**: React 19, HeroUI, Tailwind CSS - **Web3**: wagmi, viem, Reown AppKit, MetaMask SDK, Coinbase Wallet SDK, WalletConnect - **图表**: ECharts - **动画**: Framer Motion - **通知**: Sonner - **包管理**: npm/bun ## 目录结构 ``` webapp/ ├── app/ # Next.js App Router 页面 │ ├── layout.tsx # 根布局 │ ├── page.tsx # 首页 │ ├── alp/ # ALP (资产流动性池) 模块 │ ├── ecosystem/ # 生态系统页面 │ ├── lending/ # 借贷模块 │ ├── market/ # 市场模块 │ ├── points/ # 积分模块 │ ├── product/ # 产品详情页 │ ├── swap/ # 交易兑换模块 │ └── transparency/ # 透明度页面 │ ├── components/ # React 组件 │ ├── alp/ # ALP 相关组件 │ ├── common/ # 通用组件 │ ├── fundmarket/ # 基金市场组件 │ ├── icons/ # 图标组件 │ ├── layout/ # 布局组件 (Sidebar, TopBar等) │ ├── lending/ # 借贷相关组件 │ ├── modals/ # 弹窗组件 │ ├── points/ # 积分相关组件 │ ├── product/ # 产品相关组件 │ ├── transparency/ # 透明度组件 │ ├── wallet/ # 钱包组件 │ ├── Providers.tsx # 全局 Provider 包装器 │ └── ResourcePreload.tsx # 资源预加载 │ ├── hooks/ # 自定义 React Hooks │ ├── useBalance.ts # 余额查询 │ ├── useCollateral.ts # 抵押品操作 │ ├── useContractRegistry.ts # 合约注册表 │ ├── useDeposit.ts # 存款操作 │ ├── useHealthFactor.ts # 健康因子 │ ├── useLendingCollateral.ts # 借贷抵押 │ ├── useLendingSupply.ts # 借贷供应 │ ├── useLendingWithdraw.ts # 借贷提取 │ ├── usePoolDeposit.ts # 池存款 │ ├── usePoolWithdraw.ts # 池提取 │ ├── useSwap.ts # 交换操作 │ ├── useTokenBySymbol.ts # 按符号获取代币 │ ├── useTokenDecimals.ts # 代币精度 │ ├── useTokenList.ts # 代币列表 │ ├── useWalletStatus.ts # 钱包状态 │ └── useWithdraw.ts # 提款操作 │ ├── lib/ # 工具库 │ ├── api/ # API 接口 │ │ ├── contracts.ts # 合约 API │ │ ├── fundmarket.ts # 基金市场 API │ │ ├── lending.ts # 借贷 API │ │ ├── points.ts # 积分 API │ │ └── tokens.ts # 代币 API │ ├── contracts/ # 合约相关 │ │ ├── abis/ # 合约 ABI 文件 │ │ │ ├── lendingProxy.json │ │ │ ├── USDY.json │ │ │ ├── YT-Token.json │ │ │ ├── YTAssetFactory.json │ │ │ ├── YTLPToken.json │ │ │ ├── YTPoolManager.json │ │ │ ├── YTPriceFeed.json │ │ │ ├── YTRewardRouter.json │ │ │ └── YTVault.json │ │ ├── index.ts │ │ └── registry.ts # 动态合约地址注册表 │ ├── wagmi.ts # Wagmi 配置 │ └── buttonStyles.ts # 按钮样式 │ ├── contexts/ # React Context │ └── AppContext.tsx # 全局应用状态 │ ├── locales/ # 国际化 │ ├── en.json # 英文 │ └── zh.json # 中文 │ ├── public/ # 静态资源 ├── scripts/ # 脚本工具 └── logs/ # 日志目录 ``` ## 支持的区块链网络 - Ethereum Mainnet - Sepolia (测试网) - Arbitrum - Base - BSC (Binance Smart Chain) - Arbitrum Sepolia (测试网) - BSC Testnet ## 核心功能模块 1. **Product** - 产品详情展示 (APY, TVL, 资产概述等) 2. **ALP** - 资产流动性池 3. **Swap** - 代币交换 4. **Lending** - 借贷系统 5. **Transparency** - 透明度/验证 6. **Points** - 积分系统 7. **Ecosystem** - 生态系统 8. **Market** - 市场模块 ## 常用命令 ```bash npm run dev # 开发模式 (端口 3010) npm run build # 构建生产版本 npm start # 启动生产服务器 npm run lint # 代码检查 ``` ## 钱包支持 - MetaMask - OKX Wallet - Trust Wallet - Coinbase Wallet - Backpack Wallet - WalletConnect ## 合约 ABI 文件 项目包含以下智能合约 ABI: - `YTVault` - 金库合约 - `YTPoolManager` - 池管理合约 - `YTLPToken` - LP 代币合约 - `YT-Token` - YT 代币合约 - `YTAssetFactory` - 资产工厂合约 - `YTPriceFeed` - 价格预言机合约 - `YTRewardRouter` - 奖励路由合约 - `USDY` - USDY 代币合约 - `lendingProxy` - 借贷代理合约 ## 开发注意事项 - 使用 App Router (Next.js 15) - 全局状态通过 `AppContext.tsx` 管理 - Web3 配置在 `lib/wagmi.ts` - 合约地址支持动态注册 (`lib/contracts/registry.ts`) - 支持中英文国际化 (`locales/`)