diff --git a/contracts/XICPresale_v2/DELIVERY_LOG.md b/contracts/XICPresale_v2/DELIVERY_LOG.md index a1841a7..264c26a 100644 --- a/contracts/XICPresale_v2/DELIVERY_LOG.md +++ b/contracts/XICPresale_v2/DELIVERY_LOG.md @@ -1,194 +1,122 @@ -# NAC XIC 预售系统 — 工作日志与交付报告 +# XIC预售合约交付日志 -**日期:** 2026-03-10 -**工单编号:** NAC-PRESALE-V2 -**状态:** ✅ 已完成,待合约部署 +## 工单信息 + +- **工单编号**:NAC-PRESALE-V2 +- **工单标题**:XIC Token预售合约升级 — 购买即时发放版本 +- **负责人**:Manus AI Agent +- **开始时间**:2026-03-09 +- **完成时间**:2026-03-09 --- -## 一、本次工作内容摘要 +## 一、问题背景 -### 1. 合约深度分析(三份合约逐行反汇编) +原有BSC预售合约(`0xc65e7a2738ed884db8d26a6eb2fecf7daca2e90c`)仅实现"收款+记账"功能,用户支付USDT后不会自动收到XIC代币,需要人工手动发放。旧合约几乎无交易记录(仅7.5 XIC),更换代价最小。 -| 合约 | 地址 | 分析结论 | -|---|---|---| -| BSC预售合约 | `0xc65e7a2738ed884db8d26a6eb2fecf7daca2e90c` | 只收款记账,无XIC发放 | -| ETH预售合约 | `0x85AB2F2d9f7ca7ecB272b5E8726c70f3fd45D1E3` | 同上 | -| Claim合约(nonce=53) | `0x19877327ce8e7bf1b4daf48e41f4d2420d2cee6f` | 有claim()函数,但XIC余额=0 | -| XIC Token合约 | `0x59FF34dD59680a7125782b1f6df2A86ed46F5A24` | 1000亿XIC全在Owner钱包 | +--- -**关键发现:** 现有合约系统为"先记账后Claim"模式,无法实现购买即时到账。 +## 二、新合约部署信息 -### 2. 决策:开发新预售合约(方案A) +| 项目 | 值 | +|---|---| +| **合约名称** | XICPresale (v2) | +| **BSC合约地址** | `0x5953c025dA734e710886916F2d739A3A78f8bbc4` | +| **部署交易哈希** | `0x6d590cfeeb4fbd751705aa7781b011274837f9dd83459f4aa33d0e9b8eef9d75` | +| **部署时间** | 2026-03-09 | +| **部署者地址** | `0x2AECd58D9bA4CA79B253E11Bd463e3d4a54D65cf` | +| **网络** | BSC Mainnet (Chain ID: 56) | +| **BscScan** | https://bscscan.com/address/0x5953c025dA734e710886916F2d739A3A78f8bbc4 | -用户选择**方案A:重新部署预售合约,实现购买即时发放XIC**。 +--- -**理由:** -- 现有合约几乎无交易记录(soldTokens = 7.5 XIC),换合约代价最小 -- 购买即时到账用户体验最佳 -- XIC代币合约不变,不影响代币信用 +## 三、合约参数 -### 3. 新合约 XICPresale.sol 开发完成 - -**合约参数:** | 参数 | 值 | |---|---| -| 预售总量 | 25亿 XIC | +| XIC Token地址 | `0x59FF34dD59680a7125782b1f6df2A86ed46F5A24` | +| USDT地址 | `0x55d398326f99059fF775485246999027B3197955` | +| 收款钱包 | `0x2AECd58D9bA4CA79B253E11Bd463e3d4a54D65cf` | +| BNB价格预言机 | `0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE` | +| 预售总量 | 2,500,000,000 XIC(25亿) | | 代币价格 | $0.02 USDT/XIC | -| 预售时长 | 180天 | +| 预售硬顶 | $50,000,000 USDT(5000万) | +| 预售时长 | 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!` | +| **转账交易哈希** | `0xb526897a0b0aaa0fe28465876c3e98a5e320e4d0c95ff2468674fca596d6cd90` | +| **转入金额** | 2,500,000,000 XIC(25亿) | +| **转入时间** | 2026-03-09 | +| **区块号** | 85631788 | +| **BscScan** | https://bscscan.com/tx/0xb526897a0b0aaa0fe28465876c3e98a5e320e4d0c95ff2468674fca596d6cd90 | -### AI服务器(43.224.155.27) +--- + +## 五、前端更新记录 + +| 文件 | 更新内容 | +|---|---| +| `client/src/lib/contracts.ts` | BSC presale地址更新为新合约地址 | +| `server/onchain.ts` | BSC presale地址更新为新合约地址 | + +--- + +## 六、部署服务器信息 | 项目 | 值 | |---|---| -| 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 | +| **服务器** | AI服务器 43.224.155.27 | +| **项目路径** | `/www/wwwroot/nac-presale-test` | +| **PM2进程名** | `nac-presale-test` | +| **端口** | 3100 | +| **域名** | https://pre-sale.newassetchain.io | +| **Nginx配置** | `/etc/nginx/conf.d/nac-presale.conf` | --- -## 三、部署状态 +## 七、测试验证 -### 已完成 - -| 项目 | 状态 | +| 测试项 | 结果 | |---|---| -| 新合约 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` | +| tRPC API `/api/trpc/presale.stats` | ✅ 正常返回数据 | +| 前端页面访问 | ✅ 正常 | +| 合约XIC余额 | ✅ 2,500,000,000 XIC | +| PM2服务状态 | ✅ online | --- -## 四、测试结果 +## 八、待完成事项 -### 服务状态 - -| 服务 | 端口 | 状态 | -|---|---|---| -| 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 | +- [ ] 在BscScan上验证合约源码(Verify & Publish) +- [ ] 完整购买流程端到端测试(连接MetaMask → 购买 → 验证XIC到账) --- -## 五、新合约部署操作手册(摘要) +## 九、合约核心函数 -详细步骤见:`/www/wwwroot/contracts/XICPresale_v2/DEPLOY_MANUAL.md` +```solidity +// 购买函数(USDT支付,即时发放XIC) +function buyWithUSDT(uint256 usdtAmount) external -### 快速部署步骤 +// 购买函数(BNB支付,即时发放XIC) +function buyWithBNB() external payable -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` +// 查看可用XIC余额 +function availableXIC() external view returns (uint256) ---- +// 预售进度(已售/硬顶/进度bps) +function presaleProgress() external view returns (uint256 sold, uint256 cap, uint256 progressBps) -*日志生成时间:2026-03-10 01:52 UTC+8* +// 预售结束后回收未售出代币(Owner专用) +function recoverUnsoldTokens() external + +// 紧急提取(Owner专用) +function emergencyWithdraw(address token) external +```