DeSix 开发进度与里程碑 (Project Progress)
当前阶段:阶段 27 (智能合约安全审计漏洞修复与资金储备强隔离落地)
最后更新:2026-05-30
开发基座:Base Sepolia / Hardhat / Next.js / ZeroDev AA
📅 近期 Sprint 动态 (Sprints 20 - 27)
🚀 Sprint 27 [2026-05-30]:智能合约安全审计漏洞修复与资金储备强隔离落地
- P0-3 资金储备强隔离 (O(1) Void 资金错配修复):
- 问题分析:由于
_voidIssueBatchInternal在作废期数时为避免 Gas DoS 采用了 O(1) 快速设计(置状态为 Voided 且不遍历订单),但未在 void 瞬间将该期总投注额issue.totalStake从 LP 净资产lpEquity划转至退款储备金refundReserve。这导致玩家通过claimRefund退款时直接从lpEquity中扣除资金,令 LP 资产承担了直接的套利与挤兑风险,且混淆了getTVL真实净值。 - 修复细节:
- 在
DeSixCore.sol的_voidIssueBatchInternal中,作废发生瞬间自动将issue.totalStake从$.lpEquity减除,并全额注入$.refundReserve,完成桶级物理硬隔离。 - 重构
claimRefund机制,移除以往直接从lpEquity扣减的过渡分支,所有退款请求强行由refundReserve兑付,同时保留 hashrate 算力回收正常流程。
- 在
- 问题分析:由于
- P0-2 过期奖金/退款回收 (recoverExpiredClaims 实现):
- 问题分析:虽然先前合约中预留了过期回收的错误定义,但
announceClaimRecovery和recoverExpiredClaims函数均未实际编写,导致 365 天过期(claimExpiry)后未被领取的 payout/refund 资金被永久锁死,造成 LP 资产慢性稀释。 - 修复细节:
- 移植并适配了
announceClaimRecovery(uint64 issueId),允许 Owner 发起为期 7 天的过期索赔回收公示。 - 实现
recoverExpiredClaims(uint256[] calldata orderIds),对已超过 365 天未领取的订单进行严格校验,并将对应的过期未领取金额从payoutReserve或refundReserve中安全划回lpEquity,消除资金锁死风险。
- 移植并适配了
- 问题分析:虽然先前合约中预留了过期回收的错误定义,但
- 测试套件安全白名单限制补强:
- 修复细节:在
dutch-auction-buyback.test.ts的beforeEach钩子中,为allowedSwapSelectors显式注册了虚拟选择器0x12345678。这解决了因最近引入的 Swap 调用安全性白名单检查导致荷兰式拍卖测试失败的问题,恢复了 7 个关键集成测试用例的通过。
- 修复细节:在
🚀 Sprint 26 [2026-05-29]:下注期封盘 Gas 估算 Revert 与误导性错误提示彻底修复
- 下注封盘 Gas 估算 Revert 翻译纠正:
- 问题分析:在接近封盘时间或已封盘时,用户下注会被合约拒绝并抛出
BetExpired异常。但由于此时交易处于eth_estimateGas阶段,错误对象只包含通用gas limit提示,被旧版 SDK 误译为“下注次数已达上限 3 次,或触及风控上限”,造成严重的误导。 - 修复细节:
- 优化了 SDK 中
contract-service.ts的 gas 兜底提示,移除误导性的“次数已达上限”字样,改为客观描述。 - 升级了 Web3 下注捕获状态机,在匹配
BetExpired(或0xf41de086) 之外,追加对'期数已封盘'、'期数已截止'、'已截止'等兜底翻译文本的兼容匹配,确保封盘场景下 100% 正确弹出 “下注已截止,请等待下一期” 警告框。
- 优化了 SDK 中
- 问题分析:在接近封盘时间或已封盘时,用户下注会被合约拒绝并抛出
- 一键推送远程多仓同步:
- 成功将上述错误翻译修正、
draw-progress.tsx零延迟重构、contract-service-draw.ts缓存缩短、diagnose-oracles.ts诊断套件等高质修复进行 Commit 并推送至远程主分支。
- 成功将上述错误翻译修正、
🚀 Sprint 25 [2026-05-29]:预言机看板零延迟重构与安全管道倒计时增强
- DrawProgress 预言机看板零延迟首屏渲染:
- 彻底根除
orders页面 8 秒加载超时卡顿。将DrawProgress组件的loading初始状态设为false,使得稳定版去中心化心跳看板(Stable Panel)挂载瞬间立即(0ms)显示,而底层的链上 DrawManager 查询则转为完全的后台异步静默加载。 - 为
orders/page.tsx中的首次syncWeb3Orders增加 800ms 强制延时,避免前端大量并发 RPC 请求阻塞本地已缓存订单列表的首帧渲染,实现“秒开”体验。
- 彻底根除
- 4 阶段安全管道 (Pipeline) 实时倒计时支持:
- 重构了安全管道的
activeStep判定逻辑,降低对高延迟drawInfo依赖,以轻量级快速轮询的issue.status作为核心裁决基准,实现管道步骤的高速实时流转。 - 在所有关键管道阶段下新增精确的倒计时反馈:
- 步骤 1 (投注期):显示距离封盘的剩余倒计时(
⏳ HH:MM:SS)。 - 步骤 2 (共识开奖):直观显示封盘后已等待的时长(
🔄 +HH:MM:SS)。 - 步骤 3 (公示挑战):优先显示由链上精确计算的
challengeDeadline,并在网络阻断时优雅降级至乐观估算剩余时间,保障永远有倒计时可供参考。 - 步骤 4 (清算分发):结算成功后明确标识
✅ 已完成。
- 步骤 1 (投注期):显示距离封盘的剩余倒计时(
- 重构了安全管道的
🚀 Sprint 24 [2026-05-28]:O(49) 极速结算架构重构与标准 ERC-7201 存储槽全量修复
- O(49) 结算优化至 O(1):
- 在
DeSixTypes.sol中,将BetOrder的uint8[] numbers字段重构为了极致轻量的uint64 numberBitmap位图表示,并在DeSixCore.sol中通过强制订单号码升序预检(NumbersNotSorted错误)预防数据脏乱。 - 核心结算函数
settleIssueBatch与voidIssueBatch摒弃 O(49) 双循环,改为基于 EVM 原生 Yul 内联汇编的高效 SWARpopcount位操作完成秒级匹配,将结算的时间/空间复杂度降为 O(1),消除了高并发下的 Out-of-Gas 隐患。
- 在
- 标准 ERC-7201 存储槽精确对齐:
- 修正了 5 个核心合约中硬编码的错误存储槽魔数。通过 EVM 链上 Pure 运算及 TypeScript 脚本的多维度校验,将其与各自的
@custom:storage-location命名空间标准哈希完全匹配对齐,打通了未来利用标准升级验证工具(如 OpenZeppelin Upgrades Tooling)进行自动化 CI 检测与静态审查的安全通道。
- 修正了 5 个核心合约中硬编码的错误存储槽魔数。通过 EVM 链上 Pure 运算及 TypeScript 脚本的多维度校验,将其与各自的
🚀 Sprint 23 [2026-05-27]:DeSix 协议第二轮 31 项全新漏洞与博弈缺陷精准整改完毕
- P0-1 LP 敞口防线硬化:编写并集成了
maxActiveIssueExposure()风控引擎,在withdrawLP时引入强制敞口检查。提取时剩余的 LP 净权益必须完全覆盖当前所有活跃期数的最大中奖敞口,并扣除0.2 USDC固定费用转给国库,彻底解决 LP 恶意套利及掏空池子的风险。 - P1-1 & P1-2 & P1-3 逃生通道、额度锁死与 PBKDF2 强加密:
- 对齐主 Core,为 Parlay LP 补齐了 stuck 超时 7 天逃生的
emergencyWithdrawLP通道。 - 在 ZeroDev callPolicy 中为
USDC.approve增加了ParamCondition.LESS_THAN_OR_EQUAL额度上限约束。 - 在
secure-storage.ts中引入 600,000 次迭代的 PBKDF2-SHA256 密钥派生算法,杜绝私钥本地明文存储被穷举破解的系统风险。
- 对齐主 Core,为 Parlay LP 补齐了 stuck 超时 7 天逃生的
- P2-1 & P2-12 (DrawManager) 争议 veto 重置与 LP 最低门槛锁死:
- 修复了 veto 决议时未重置
disputeFrozen的 Bug,否决提案后自动设为false以保障双方继续追加质押防守的活跃性。 - 将
setOracleMinLPValue下限在所有链上死锁为1000 USDC(防止低值节点注册),在生产链上自适应硬锁5000 USDC最高安全门槛。
- 修复了 veto 决议时未重置
- P3-1~P3-9 & Info-1~Info-6 全套低危优化:包含 startTime 公平性修正、exposureLimitBps 边界阻断、emergencyFinalize 降低 SLOAD 消耗、新增
UserRewardAllocated与TokenMinted细粒度事件索引、分红nonReentrant保护等 31 项全新漏洞与博弈缺陷整改。
🚀 Sprint 22 [2026-05-26]:DeSix 代币经济学与挖矿算法 V2 全景落地
- 66,000,000 枚固定总量硬顶:原生代币 $DESIX 在
DeSixToken.sol中锁死硬编码常量LIFETIME_MINT_CAP = 66,000,000(6600万),绝不超发。 - 11级平滑 K 值算力风控调节:重构为 11 级 K 值平滑算法,彻底限制了无风险大资金刷币与套利行为。
- 分享挖矿 15% 映射与 7 天线性 Vesting:推荐人映射获得被推荐人交易算力的 15%,并且奖励进入 7 天线性解锁释放机制,有效将集中抛压平滑化。
- LP 锁定期与时间乘数 T 优化:质押锁定期与算力挂钩(活期 1.0x / 30天 1.3x / 90天 2.0x),高乘数激励长期稳定资本锁定。
- 40/25/15/10/10 协议手续费分配:项目方分流比例调整为 40%,腾出的 10% 确立为“永续交易者激励池”,用于第五年后以 USDC 直接给投注者返现以维持 RTP,实现永不归零的协议叙事。
🚀 Sprint 21 [2026-05-26]:四大核心先进维度架构落地与全量测试通关
- 链上 Gas 极致优化与批量下注 (
placeBetBatch):支持单笔交易内原子性打包最多 3 次下注,为用户节省高达 35% 的 Gas 消耗,且具备完全的事务原子性,任一出错整体回滚。 - 动态争议挑战金机制 (
getEffectiveDisputeStake):由固定 10 USDC 升级为max(minDisputeStake, totalStake * 0.5%)动态折算,彻底堵死了攻击者以 10 USDC 极低成本恶意卡死大额资金池的阻断漏洞。 - 会话密钥智能静默下注 (
session-key-manager.ts):基于 ZeroDev Kernel V3.1 与 ERC-7715 协议,在本地安全托管临时私钥并由BetCallPolicy将动作权限绝对限制于placeBet。实现下注“一键静默确认”,彻底消除 Web3 繁琐的重复签名。 - IndexedDB 持久化缓存与 localStorage 迁移 (
indexed-db-cache.ts):对已结算的不可变订单数据,通过高并发数据持久化缓存于 IndexedDB 中,物理清理 localStorage 积压历史条目。 - 荷兰式拍卖免许可买回销毁 (
DeSixDutchAuctionBuyback.sol):代替了原DeSixBuyback,买回价格从 2.0x 历史成交价线性衰减至 0.5x。全球套利机器人可免许可触发代币买回,自动获得 1% DESIX 作为 Gas 补偿奖励,其余 99% 自动销毁。
🚀 Sprint 20 [2026-05-22]:多库同步一键广播与全套部署运维开发指南最高规格闭环
- 无冲突主分支合并:成功将开发分支
fix/min-bet-gas-griefing以 Fast-forward 方式安全合并进本地main主分支。 - 一键推送多推送源:运行
git push origin main,将最新代码同步向主仓库zwf5458/DeSix和配置的备份仓库,实现全网代码的备份同步。 - 部署与运维开发指南更新:
- 部署与运维指南 (
DEPLOYMENT_GUIDE.md):详细阐明了 9 步互锁管道、管理员多签划转接管、独立多重彩模块及防恶意空耗起存参数。 - 开发与维护指南 (
DEVELOPMENT.md):梳理了静态解耦结算、Bitmap 串关互斥拦截、以及前端高频 RPC 削峰批量 Multicall 永久强缓存局端拦截开发规范红线。
- 部署与运维指南 (
📦 历史 Sprint 里程碑归档 (Sprints 1 ~ 19)
点击展开查看早期开发里程碑归档
- Sprint 19 [2026-05-22] - LP 安全防护与扣减机制
- 引入
WITHDRAWAL_WINDOW = 1 hoursLP 提款安全窗口,避免在开期瞬间卷入敞口。 - 增加
Oracle LP Minimum Guard最低 5000 USDC 质押防护(含try/catch自愈防御设计,防止外部预言机合约故障无限锁死用户资产)。 - 实现 DrawManager
slashOracleLPShares算力同步惩罚扣减机制。 - 提取流动性时强行扣除
0.2 USDC固定费用转给国库用作 Paymaster 燃油补贴。
- 引入
- Sprint 18 [2026-05-22] - DeSixParlay 独立多重彩与位图互斥
- 部署独立高性能多重彩合约
DeSixParlay.sol,业务级完全解耦。 - 采用 49位
uint64Bitmap 互斥限制,彻底杜绝用户组合出数学上绝对无法中奖的串关。 - 实现了 2~5 串关的级联高精赔率引擎及 3-Bucket 隔离储备会计与敞口风控。
- 部署独立高性能多重彩合约
- Sprint 14 [2026-05-21] - 前端 RPC 削峰与批量 Multicall 永久缓存
- SDK 级集成
getOrdersBatch高性能viem.publicClient.multicall批量拉取接口。 - 实现终态已结算订单本地 IndexedDB/LocalStorage 永久强缓存局端拦截。
- 一键领奖并发削峰重构,规避高频 429 报错,将 Web3 订单页面启动同步速度从秒级提速至毫秒级。
- SDK 级集成
- Sprint 13 [2026-05-21] - 异步开奖结算解耦与防 Gas Griefing
- 赔率精度
ODDS_PRECISION扩大百倍至 10000 消除截断误差。 - 将共识开奖确认与订单清算阶段解耦(P1-1 解耦),消除 OOG 死锁。
- 限制最低限额(
MIN_LP_DEPOSIT = 10 USDC、MIN_BET_AMOUNT = 1 USDC、MIN_UNIT_STAKE = 0.2 USDC)和每期限制 3 次投注,拦截低额垃圾交易空耗 Paymaster Gas。 - 前端上线双模常驻看板(
DrawProgress)、中英原理科普 Modal、BetSlip 磨砂拟态重构。
- 赔率精度
- Sprint 12 [2026-05-18] - 5-Bucket 隔离储备会计与安全补救
- 重构 5-Bucket 隔离记账:
lpEquity、payoutReserve、refundReserve、feeReserve。 - 消除 LP 折扣铸币攻击与超额提取,TVL 返回 lpEquity 真相源。
- 补齐 Issue 状态机制生命周期强校验与
emergencyFinalize有界争议恢复,实现settleIssueBatch游标推进。
- 重构 5-Bucket 隔离记账:
- Sprint 11 [2026-05-17] - 代币与挖矿经济学解耦分离 (Phase 1)
- 确立
DeSixCore、DeSixDrawManager、DeSixToken、DeSixMiner四权分立独立引擎架构。 - 移植 lpHashrate 与 tradeHashrate 链上累加存算机制,打通双挖分红数据通道。
- 确立
- Sprint 10 [2026-05-16] - 根级 Context 优化与初始化看门狗
- 优化全局 Context(Account/I18n/Theme)用
useMemo缓存,消除渲染重绘。 - SWR 优化,替换 Ref 消除订单页无限轮询风暴;加入 5s 初始化看门狗防止 RPC 挂起导致白屏死锁。
- 优化全局 Context(Account/I18n/Theme)用
- Sprint 9 [2026-05-16] - LP Pool 存取可视透明化
- 引入 LP 到期升序批次卡片、解锁阻塞原因显式化及存款占比收益构成饼图可视化。
- 将分流比例正式由 50/30/12.5/7.5 对齐至 50/25/15/10 (Operations/Miner/Buyback/Treasury)。
- Sprint 8 [2026-05-16] - 前端工程化瘦身与 SWR 快照加载
- 引入 SWR 极速渲染机制,钱包余额 localStorage 快速快照“秒开”,后台静默拉取。
- 路由级延迟加载组件,
/me页面包大小从 119kB 直降 90% 至 11.8kB。
- Sprint 7 [2026-05-15] - Base Sepolia E2E 真实交易联调成功
- 跑通“开期 → 下注 → 封盘 → 节点共识开奖 → 异步结算 → 领取奖金”完整 Web3 链上资金闭环。
- Sprint 6 [2026-05-15] - 交易系统稳定性加固
- 将
placeBet广播哈希与waitForTransaction后台确认解耦,防范 RPC 抖动导致的假失败重复扣款。
- 将
- Sprint 5 & 2.4 & 2.5 - 钱包与嵌入式登录支持
- 升级 ZeroDev 至 v0.7 EntryPoint v0.7 + Kernel v3.1 协议。
- 实现
localStorage托管私钥嵌入式静默登录,全量三态防闪烁渲染。 - 定期理财(30/90/360天)UI 与期限乘数灰度上线。
🔑 核心配置与协议规格 (Key Configuration & Specs)
| 规格配置项 | 当前状态 / 生产环境规格 | 测试网挑战赛规格 (Base Sepolia) |
|---|---|---|
| 协议版本 | EntryPoint v0.7, Kernel v3.1 | EntryPoint v0.7, Kernel v3.1 |
| 测试网 ChainID | - | 84532 (Base Sepolia) |
| DeSixCore | 0x6268b89Ea66dAAbf30b022447Ddae7997287E35f | 0xe911339e272EbbB08289538f5Efda3Ec8685f6d9 |
| DrawManager | 0xd9DdC23DE8311Cde4673ae045920BCDD11ceB357 | 0x12231047eed73c3Ba7379507F06549c408E05861 |
| DeSixToken | 0xB79c240e1b1a0b8Bb2B4bdC82114545923826C50 | 0xf500f52C83AE4D4457b19d0D58c22C6afF9d0c1E |
| DeSixMiner | 0xB0B20dD1B1Ea0101DaDec25Da206EC05CF4563Ff | 0xB757f5265445571AE0C1BCfD91438B28f12273f8 |
| DeSixBuyback | 待治理部署 | 0x6c982351eD3196571EE2cA6e87d54bA6BfC0fc4d |
| Mock USDC | - | 0xd549d3Def57512dcFF045aF5a2EdB366c57529dc |
| 代币总量硬顶 | 66,000,000 $DESIX | 66,000,000 $DESIX |
| 单期投注上限 | 每个地址限下注 3 次 | 每个地址限下注 3 次 |
| 下注做市限额 | MIN_LP = 10 USDCMIN_BET = 1 USDCMIN_UNIT = 0.2 USDC | 与左侧生产环境保持一致 |
| 协议费率分配 | 40/25/15/10/10 (运营/算力分红/回购销毁/国库/永续返现) | 与左侧生产环境保持一致 |
| 预言机质押门槛 | oracleMinLPValue = 5000 USDC | oracleMinLPValue = 1000 USDC (合约硬下限) |
| 提款安全窗口 | WITHDRAWAL_WINDOW = 1 hours (强制提款期) | WITHDRAWAL_WINDOW = 300 seconds (5分钟快速压测) |
| 争议挑战公示期 | 24小时 正常公示保护 | 10分钟 快速争议公示 |
| 动态争议挑战金 | max(minDisputeStake, totalStake * 0.5%) | 与左侧生产环境保持一致 |
| LP 期限乘数 T | 活期 1.0x / 30天 1.3x / 90天 2.0x | 与左侧生产环境保持一致 |