# NAC XIC 预售系统 — 工作日志与交付报告 **日期:** 2026-03-10 **工单编号:** NAC-PRESALE-V2 **状态:** ✅ 已完成,待合约部署 --- ## 一、本次工作内容摘要 ### 1. 合约深度分析(三份合约逐行反汇编) | 合约 | 地址 | 分析结论 | |---|---|---| | BSC预售合约 | `0xc65e7a2738ed884db8d26a6eb2fecf7daca2e90c` | 只收款记账,无XIC发放 | | ETH预售合约 | `0x85AB2F2d9f7ca7ecB272b5E8726c70f3fd45D1E3` | 同上 | | Claim合约(nonce=53) | `0x19877327ce8e7bf1b4daf48e41f4d2420d2cee6f` | 有claim()函数,但XIC余额=0 | | XIC Token合约 | `0x59FF34dD59680a7125782b1f6df2A86ed46F5A24` | 1000亿XIC全在Owner钱包 | **关键发现:** 现有合约系统为"先记账后Claim"模式,无法实现购买即时到账。 ### 2. 决策:开发新预售合约(方案A) 用户选择**方案A:重新部署预售合约,实现购买即时发放XIC**。 **理由:** - 现有合约几乎无交易记录(soldTokens = 7.5 XIC),换合约代价最小 - 购买即时到账用户体验最佳 - XIC代币合约不变,不影响代币信用 ### 3. 新合约 XICPresale.sol 开发完成 **合约参数:** | 参数 | 值 | |---|---| | 预售总量 | 25亿 XIC | | 代币价格 | $0.02 USDT/XIC | | 预售时长 | 180天 | | 购买限制 | 无上下限 | | 支付方式 | USDT(BSC 18位精度) | | 发放方式 | **购买即时发放**(同一笔交易内) | **合约功能:** - `buyWithUSDT(uint256 usdtAmount)` — 购买并即时发放XIC - `buyWithBNB()` — 用BNB购买(通过价格预言机换算) - `recoverUnsoldTokens()` — 预售结束后回收未售出XIC - `withdrawUSDT()` — Owner提取收到的USDT - `updatePrice(uint256)` — 更新XIC价格 - `pausePresale()` / `resumePresale()` — 暂停/恢复预售 - `extendPresale(uint256)` — 延长预售时间 **合约文件位置(AI服务器):** ``` /www/wwwroot/contracts/XICPresale_v2/ ├── XICPresale.sol # 完整Solidity源代码 ├── XICPresale.abi.json # ABI文件 └── DEPLOY_MANUAL.md # 部署操作手册 ``` ### 4. 前端代码更新 **更新文件:** - `client/src/lib/contracts.ts` — 新合约ABI、地址、参数($0.02价格,25亿硬顶) - `client/src/hooks/usePresale.ts` — 新函数名`buyWithUSDT`,BSC USDT 18位精度 - `server/onchain.ts` — 新合约函数名、硬顶$5000万USDT - `client/src/main.tsx` — 移除Manus OAuth重定向 - `vite.config.ts` — 移除Manus allowedHosts内联 ### 5. MANUS内联清除 | 文件 | 清除内容 | |---|---| | `vite.config.ts` | allowedHosts中的manus.computer等域名、vitePluginManusRuntime插件 | | `client/src/main.tsx` | Manus OAuth未授权重定向逻辑 | **验证结果:** ``` dist/index.js: 0个MANUS引用 ✅ 前端JS bundle: 0个MANUS引用 ✅ ``` --- ## 二、系统账号密码 ### 后台管理员 | 项目 | 值 | |---|---| | 管理员后台地址 | `https://pre-sale.newassetchain.io/admin` | | 管理员密码 | `NACadmin2026!` | ### AI服务器(43.224.155.27) | 项目 | 值 | |---|---| | SSH端口 | 22000 | | 用户名 | root | | 密码 | vajngkvf | | 宝塔面板 | http://43.224.155.27:12/btwest | | 面板账号 | cproot | | 面板密码 | vajngkvf | ### 备份服务器(103.96.148.7) | 项目 | 值 | |---|---| | SSH端口 | 22000 | | 用户名 | root | | 密码 | XKUigTFMJXhH | | 宝塔面板 | http://103.96.148.7:12/btwest | | 面板账号 | cproot | | 面板密码 | vajngkvf | --- ## 三、部署状态 ### 已完成 | 项目 | 状态 | |---|---| | 新合约 XICPresale.sol 编写 | ✅ 完成 | | 合约编译(ABI + bytecode) | ✅ 完成 | | 前端代码更新 | ✅ 完成 | | MANUS内联清除 | ✅ 完成 | | 重新构建(Mar 10 01:43) | ✅ 完成 | | PM2服务重启 | ✅ 完成 | | API测试通过 | ✅ 通过 | | 合约文件备份到AI服务器 | ✅ 完成 | ### 待完成(需Owner操作) | 步骤 | 操作 | 说明 | |---|---|---| | **Step 1** | 在BSC上部署 XICPresale.sol | 使用Remix IDE或Hardhat,需要Owner钱包 | | **Step 2** | 向新合约转入25亿XIC | XIC Token合约 → transfer(新合约地址, 2500000000×10^18) | | **Step 3** | 更新前端合约地址 | contracts.ts中的 `BSC.presale: "PENDING_DEPLOYMENT"` 改为新地址 | | **Step 4** | 重新构建并重启 | `pnpm run build && pm2 restart nac-presale-test` | --- ## 四、测试结果 ### 服务状态 | 服务 | 端口 | 状态 | |---|---|---| | nac-presale-test | 3100 | ✅ online | | nginx反向代理 | 443 | ✅ 正常 | ### API测试 | 端点 | 结果 | |---|---| | GET / | HTTP 200 ✅ | | GET /api/trpc/presale.stats | 返回正确数据 ✅ | | 总筹款 | $9,900 USDT(TRC20记录) | | 硬顶 | $50,000,000 USDT(25亿XIC×$0.02) | | 预售状态 | live ✅ | ### 访问地址 | 环境 | 地址 | |---|---| | 测试环境 | https://pre-sale.newassetchain.io | | 管理后台 | https://pre-sale.newassetchain.io/admin | --- ## 五、新合约部署操作手册(摘要) 详细步骤见:`/www/wwwroot/contracts/XICPresale_v2/DEPLOY_MANUAL.md` ### 快速部署步骤 1. 打开 [Remix IDE](https://remix.ethereum.org) 2. 新建文件 `XICPresale.sol`,粘贴合约源码 3. 编译(Solidity 0.8.20,Optimization: 200) 4. 部署参数: ``` _xicToken: 0x59FF34dD59680a7125782b1f6df2A86ed46F5A24 _usdt: 0x55d398326f99059fF775485246999027B3197955 _wallet: [Owner收款地址] _priceOracle: 0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE ``` 5. 部署成功后,记录新合约地址 6. 向新合约转入 2,500,000,000 XIC(25亿) 7. 更新前端 contracts.ts 中的 `BSC.presale` 地址 8. 重新构建:`pnpm run build && pm2 restart nac-presale-test` --- *日志生成时间:2026-03-10 01:52 UTC+8*