跳到主要内容

控制与安全

创建者权限​

创建者在 predict 之前一次性设定条款。发射将其冻结。发射后创建者仅保留代币页面和对收款地址变更的否决权,不再拥有其他权限。

创建者可设定的参数​

选择设定位置范围
股票request.stock已上架的股票
名称、符号request
税率request.taxBps100 到 1500
创建者的税收份额request.creatorBps0 到 5000
策略类型V2TreasuryDeployer.setStrategyKind(symbol, nonce, kind)1 到 5;类型 0 无需调用
策略数字request.tp1Bps、tp2Bps、dipBps、stopBps、lotBps(分批止盈一族);setEngineConfig(symbol, nonce, kind, config)(固定仓位、再平衡)范围和下限在核心概念
开盘窗口CurveDeployer.setCurveConfig(symbol, nonce, 7931, snipeSeconds)0 到 180 秒;默认 3
开盘加价免除地址CurveDeployer.setOpeningTaxExemptions(symbol, nonce, recipients)最多 40 个
过期容忍带request.bandBpsPerHour0 到 bandCeiling(stock)
收款地址request.creator能调用 vetoCreator 的 EOA 或 Safe
代币页面launchWithMetadata(..., metadata)logo、简介、五个链接

每项登记都以 keccak256(abi.encode(symbol, msg.sender, nonce)) 为键,与 factory 从 (symbol, creator, nonce) 推导的 salt 相同。 其他地址登记的内容归入该地址自身的 salt,不会作用于创建者的发射。登记在发射前可以修改,不能删除;predict 之后的改动会使 launch 以 Restated 回滚,将报价时的值重新登记一次即可恢复。

创建者不可设定的参数​

出售份额(79.31%)、LP 份额(募资的 70%,按股票设定)、开盘价(上架时 $2,140.38 的估值)、协议份额(30%)、池子手续费(0.20%)、 keeper 报酬、回购节奏、门限、预言机和池子。它们都来自 factory 的默认值和上架信息,也都在 terms 里。

发射时冻结​

计入 terms 哈希、此后不可变的有:供应量;开盘价;出售份额;开盘窗口和免除地址;税率;创建者份额;协议份额;池子费率和 tick spacing;策略类型及其数字或引擎字段;lpBps;上架的预言机和 V3 池;门限和卖出 chunk;keeper 报酬;回购参数;最小 lot。曲线的 费用收款方不可变。金库的逻辑可以由 owner 通过两天控制器替换;其数字不能替换。

发射之后​

  • 代币页面。 发射地址拥有元数据,可以指定一个编辑者,也可以永久锁定。协议对它没有权力。
  • 否决权。 owner 对创建者的池子提议新的创建者收款地址时,创建者调用一次 vetoCreator 即终止,并且 180 天内不得再次提议。应使用能够发出该 调用的地址。
  • 首买。 创建者自己的买入免除开盘加价,但须缴税;可通过 launchAndBuy 纳入发射交易。

创建者不能提取金库的股票、池子的流动性或曲线的储备;不能修改税率、分配方式或策略数字;不能暂停交易。

owner 与升级​

factory 的 owner 是一个 Safe。它负责上架股票,设定后续发射将冻结的默认值,并对已存在的发射项目持有一组有限的权力。所有权通过两步 转移;放弃所有权被禁用。

对后续发射​

调用设定内容
setDefaults整个 Defaults 结构:税率范围、分配、池子费率、门限、keeper 报酬、回购节奏、发射费
list、setListingGates、setBandCeiling上架、门限、容忍带上限
V2TreasuryDeployer.setLpBps按股票的 LP 份额,10% 到 100%
setLauncher、setPublicLaunch哪些 router 可以代创建者发射;是否开放公开发射
registerKind、registerEngineKind、registerPolicy追加策略类型或 policy;不能移除
disablePolicy停止某个 policy 的新发射;已发射的金库保留自己的

在这些变动之前已报价的发射以 Restated 回滚。已发射的项目不受影响。

升级控制器​

类型 0 到 6 都是代理,实现指针保存在 V2TreasuryUpgradeController,向代理的存储写入数据无法改变逻辑。

步骤调用规则
1owner 调用 schedule(treasury, implementation, migrationCalldata)记录实现的运行时代码哈希、calldata 哈希、当前 ownershipEpoch 和 readyAt = 现在 + UPGRADE_DELAY(2 天)
2readyAt 之后任何人调用 execute(treasury, migrationCalldata)候选实现必须仍有记录的代码哈希,报告与金库相同的配置哈希和存储 schema 标识,calldata 哈希必须等于记录值;迁移失败时变更和提案一起回滚
owner 调用 cancel(treasury)执行之前
factory 所有权交接完成ownershipEpoch 加一;所有待执行提案作废,A→B→A 也算

通过的实现可以改变金库的资产保管方式和策略行为。哈希检查是身份检查,不是对新代码的审查。升级无法改变冻结的数字,因为候选实现 必须报告相同的配置哈希。无论金库如何变更,流动性 vault 都没有升级或撤出路径。

对已发射项目​

权力边界
安排金库逻辑升级控制器:2 天延时,哈希匹配,配置相同
通过日历停止交易计划外的休市;价格仍是预言机的
setProtocol(poolId, to)某个池子里协议自己的收款地址
proposeCreator(poolId, to)链上公示 14 天;创建者的 vetoCreator 即终止,180 天内不得再次提议

owner 的限制​

owner 不能从 vault 撤出流动性;不能从金库或曲线提款;不能修改已冻结的费率、分配方式或策略数字;不能修改曲线的费用收款方;不能在 hook 上创建 factory 未发射 的池子;不能修改出售份额。

安全与恢复​

协议的大部分环节没有特权操作者。出现异常时,合约等待、拒绝或回滚,用于恢复的调用对任何人开放。

情况合约行为可处理方
股票价格源过期(夜间、周末、假日)health() 为 false;book()、execute() 和止损不运行;代币照常交易;buyback() 按代币池继续任何人,价格新鲜之后
oraclePaused()(公司行动)同上任何人,发行方的暂停结束之后
日历显示休市同上,除非这次发射带过期容忍带;止损从不在只有池价时触发任何人,开盘后
股票池被推离预言机现价偏离预言机或池子 600 秒均价超过 0.5% 时 health() 为 false任何人,套利把池价拉回之后
owner 通过日历停止某一天的交易当天股票腿不交易owner 解除
募资额超过股票池承接能力曲线永远无法达到 Rg;保持 Active,持有人卖回曲线链上无人可处理;上架检查在发射前拒绝此类上架
毕业过程中某一步失败整笔跨线买入回滚;曲线保持 Active下一位买家再次买入即构成重试
毕业股票不能当场记账作为 unbookedStock() 等待任何人在价格可用时调用 book()
股票发行方拒绝向金库交付vault 保留股票,下次 collectFees() 时重试;代币销毁照常完成任何人,再次调用
某个收款方被股票发行方拦截另外两方的领取和交易不受影响;被拦的 claim 等待该收款方,解除之后
金库已有 128 个 lot记账和回调买入暂停;止损和止盈仍执行任何人,执行一次到期的卖出
keeper 落后动作保持到期状态;不会造成任何损失任何人均可发送并获得报酬
创建者收款地址失联owner 可在链上公示 14 天后提议新地址创建者否决;延时后任何人接受
金库逻辑需要替换owner 公示两天后安排延时后任何人执行;执行前 owner 可取消

不会发生的情况​

  • 没有人能撤出 vault 的流动性。vault 没有这个函数,hook 的 beforeRemoveLiquidity 对所有人回滚。
  • 没有人能从金库提款。股票和 USDG 只通过策略的交易和回购离开金库。
  • 没有人能在 hook 上创建 factory 未发射的池子:beforeInitialize 和 beforeAddLiquidity 仅对已注册的池子及其 vault 放行。
  • 没有人能对代币转账收税。hook 只作用于交换。

可执行方​

调用调用方时机
book()、execute()、buyback()任何人到期时
claimFees(recipient)、sweep(poolId)、collectFees()任何人有待领取费用时
graduate(id)任何人只对已经 Ready 的曲线
vetoCreator(poolId)创建者收款地址提案期间
日历停市、setProtocol、proposeCreator、升级控制器owner按 owner 与升级的边界

风险披露​

  • 金库做多一只股票。 每一种策略在下跌中都持有股票。没有创建者设的止损就不会在下跌途中卖出,回购销毁金库从不卖出。
  • 毕业没有保证。 未达到 Rg 的曲线始终保持 Active,持有人只能卖回曲线。募资额超过股票 V3 池承接能力的发射永远不能毕业。
  • 退出深度。 早期曲线买家退出时面对的池子仅持有其投入资金的 70%,加上之后买家投入的部分。一笔卖出可收回的金额取决于池子深度 与代币流通量的对比。
  • 销毁不是价格底。 供应量减少仅在该代币仍有需求时才对价格有支撑作用。
  • owner 可以在公示两天后更改金库逻辑。 通过的实现可以改变保管方式和策略行为;哈希检查是身份检查,不是审查。锁定流动性不在 这个权力之内。
  • 股票代币可由其发行方升级,发行方可以暂停或拒绝转账。金库的持仓、vault 的股票和每一笔费用 claim 都依赖这个代币。
  • 持币人对金库没有索取权(目前没有,后续可以增加)。没有赎回,没有分红。
  • 审查状态。 本版本经过内部审查、fuzz 和 fork 演练,列在审计。v2 代码没有已发布的外部审计报告。
  • 发射不代表背书,股票发行方、协议或任何人都不背书。任何人都可以用任何名字在任何已上架股票上发射。
  • 法律地位未经评估。 金库累积代币化股票的代币没有经过法律顾问审查。产品不向美国人士和受制裁地区开放: 使用资格限制。

这里没有任何内容构成投资建议、出售要约或购买邀约。Hedgefun 不是基金:没有份额、没有净值、没有赎回、没有管理人。 使用条款。

审计​

v2 代码没有已发布的外部审计报告。 v2.0 标签带有内部工程审查、fuzz 和不变量测试,以及 fork 演练。每份文档均自行注明: “内部工程审查,不是外部审计”“本地审查不是第三方审计”。下表是标签处实际存在的内容。

审查轮次​

审查日期范围记录的结论
对抗性审查(V2_ADVERSARIAL_REVIEW.md)2026-09-23885123e 处的 v2 曲线、factory、hook 和金库路径;三条审查线;多用户排序、回调防御、独立记账、真实场所 fork该提交处代码审查与集成 GO;不批准之后的改动
双引擎审查(V2_DUAL_ENGINE_REVIEW.md)历史毕业同时为池子和金库注资的改动、费用 vault 及其风险被双向费用改动取代
发布与测试网审查(V2_RELEASE_REVIEW_2026_09_29.md、V2_TESTNET_REVIEW.md)2026-09-29部署、收款权限、创建者身份、预言机和日历配置、发射流程公共测试网试点有条件 GO;当时的快照主网 NO-GO
审计第 1 到 4 轮截至 2026-09-27上游仓库 audit/ 目录里的问题清单;第 3 轮(M-2、M-3)产生了上架检查,第 4 轮产生了引擎下限和税率、募资的决定发现项已在源码和流程中处理,见 STRATEGY_ENGINE.md、SpotEngineConfig.sol、V2_DEPLOYMENT_REHEARSAL.md
循环审查与审计记录(V2_CYCLE_INTEGRATION_REVIEW.md、V2_SIMPLE_CYCLE_AUDIT.md)2026-10-03循环类型及其与 dust 处理的集成GO,发现并修复一个 P2

fuzz 与 fork 测试​

  • FUZZ_TESTNET_2026-10-03.md 和 V2_FUZZ_SUPPLEMENT_REPORT.md:针对百分比额度、成本记账和 dust 处理的 Foundry fuzz 与有状态 不变量测试,加一轮公共测试网交易闭环。
  • docs/fuzz/:2026-10-04 的可升级类型测试(离线套件、三轮带种子的收入与升级测试、存储布局比对、21 个场景的测试网 fork)和带 独立审计日志的金库画像测试。
  • V2_DEPLOYMENT_REHEARSAL.md 和发布手册:主网部署的 fork 演练和端到端 fork 套件,九个测试,从部署到每种类型各一次发射、再到 对真实池子和预言机的每个策略动作,在发布提交上运行。
  • 仓库的测试套件,包括 V2CurveSecurity.t.sol、V2TradablePercentAudit.t.sol 和各审查里点名的对抗性套件。

结论​

合约经过作者和独立内部审查线的审查、fuzz,以及 fork 演练。没有经过外部机构审计。发射上线后除金库逻辑外不可变,金库逻辑可由 owner 公示两天后替换。应将审查状态视为风险之一。

支持​

邮箱team@hedgehood.app
X@0xHedgehood
安全联系方式—
漏洞赏金—
状态页—
合约仓库Hedgefun-trade 仓库,v2.0 标签

发现漏洞请先发送邮件,再进行任何其他披露。标为“—”的各项尚未建立,建立后将补充。

这里没有任何内容构成投资建议。使用条款、隐私政策。