跳到主要内容

费用与支付

费用​

每笔交易支付 1% 到 15% 的税,由创建者设定,以股票计。毕业后另收 0.20% 池子手续费。发射费用为 0.0005 ETH。没有卖出尖峰,没有 sweep 小费。

税​

交易税基收取位置税款去向
曲线买入付出的股票曲线内协议 30% / 创建者 ≤50% / 金库其余;曲线内的 claim
开盘窗口内的曲线买入代币产出曲线内高于税率的加价部分销毁
曲线卖出毛股票产出曲线内同样的分配
池子买入,指定输入付出的股票hook 的 beforeSwaphook 的股票 claim,由 sweep 支付
池子买入,指定输出付出的股票,按 r / (1 − r) gross-uphook 的 afterSwap同上
池子卖出,指定输入毛股票产出hook 的 afterSwap同上
指定输出的卖出拒绝(ExactOutputRefused)
  • 税额为 floor(paid × taxBps / 10000)。低于 10000 / taxBps 个最小股票单位的付款不收税,此规则仅对小数位很少的股票有意义。
  • 指定输入的池子买入,hook 在池价变动前先收税。只有 1 − rate 的付款进入池子,池子手续费按该净额计算。随后在价格限制处停止的 买入以 PartialFillRefused 回滚,被 v4 包装;解码方法。
  • 卖出在交换后按实际收到的金额收税,可以部分成交。
  • 金库自己的交换不收税。
  • Taxed(id, selling, inToken, moved, tax, rateBps):moved 是交换移动的股票;买入时交易者支付的是 moved + tax。

池子手续费​

v4 池按每笔交换的输入货币收 0.20%(lpFee 2000)。factory 为之后的发射接受 1 到 3000(0.30%);费率按池冻结。

方向收取货币去向
买入股票vault 的头寸;任何人调用 V2LiquidityVault.collectFees() 时转入金库的 buybackStock
卖出代币同一次调用里销毁

FeesCollected(stockToTreasury, tokenBurned) 记录两个数字。两者都不计入策略成本。池子手续费计入回购预算,不计入策略本金。

买家可见的费用​

毕业池上买家支付税款及按净额计的 0.20%,均以股票计:最低税率时约 1.2%。曲线上买家支付税款,开盘窗口内另付以代币计的加价。 报价页说明如何展示这两项费用。

发射费​

launchFeeCurrency 是 Native,launchFeeAmount 是 0.0005 ETH,在 launch 时直接转给 protocol,不兑换,不查询价格。请求中的 maxFee 是发射者愿意支付的上限;费用高于该值时回滚。

支付​

每笔税由三方分配:协议(30%)、创建者(最多一半)、金库(其余)。第四方 keeper 按策略动作领取报酬。所有支付均非自动执行:每一笔都是 一次无需权限的调用。

曲线阶段​

费用在曲线内部累计为 claim。claimFees(recipient) 将该收款方的 claim 支付给该收款方,不会支付给他人;任何人均可调用,毕业后照常 可用。某一收款方被拦截时,不影响另外两方的领取,也不影响曲线交易。claimable(recipient) 和 totalFees() 读取状态;FeesClaimed 记录 一次支付。

池子阶段​

费用以 ERC-6909 股票 claim 的形式按池存在 hook 里。sweep(poolId) 一次将买方和卖方的费用支付给三个收款方,每种货币各自独立结算, 一方无法结算不会阻塞另一方。sweepTipBps 为 0:调用者没有报酬。owedProtocol、owedCreator、owedTreasury 和 accrued(poolId) 读取待付金额;Swept 记录一次支付。没有以代币计的费用库存,也没有 owner 转换的步骤。

协议的份额​

每笔税中协议的 30% 以股票支付到 protocol,即 Safe。该收入的 30% 用于回购 $HEDGE,相当于已收税款的 9%。回购由 Safe 定期手动完成;没有合约自动执行,因此这是 Safe 的承诺,而非任何人可调用领取的付款。发射费不在其中。见 $HEDGE 运作机制。

金库的份额​

金库的税收份额是收入。到账时是 unbookedStock();book() 或下一次 execute() 按当时价格记账。分批止盈一族和引擎策略记为库存; 回购销毁策略将所有收入计入 buybackStock。池子手续费的股票一侧对每种类型都计入 buybackStock。

keeper 报酬​

动作产出的 bountyBps(0.1%),以产出的资产支付给 execute() 或 buyback() 的调用者:

动作基数支付资产
止盈(分批止盈一族)利润股票
止损(分批止盈一族)所得USDG
回调买入、回补买入(分批止盈一族)花费USDG
引擎卖出(固定仓位、再平衡)USDG 毛产出USDG
引擎买入(固定仓位、再平衡)股票毛产出股票
回购(所有类型)买到的代币代币
book()、sweep、collectFees、claimFees没有

一笔 2,000 USDG、收益 3% 的卖出支付约 0.06 USDG。发布说明写明该报酬不足以维持外部 keeper,由协议自行运行一个;调用仍对所有人开放。

更换收款地址​

地址修改方修改方式
协议的,按池ownersetProtocol(poolId, to),无延时
创建者的,按池owner 提议,创建者决定proposeCreator(poolId, to);TAKEOVER_DELAY(14 天)后任何人可在 ACCEPT_WINDOW(14 天)内 acceptCreator;创建者调用一次 vetoCreator 即终止,并在 VETO_QUIET(180 天)内不得再次提议
曲线的收款方没有人不可变

创建者地址必须能调用 vetoCreator:应使用 EOA 或 Safe,不应使用分账合约。

金库与回购​

每次发射都有一个金库。金库在毕业时获得募资的 30%,运行创建者发射前选定的一种策略,只能在健康门打开时、在上架指定的池子中以股票 对 USDG 交易。其收益用于在代币自身的池子中回购代币并销毁。持币人对金库本身没有索取权(目前没有,后续可以增加)。

七种策略及其参数、下限和默认值在核心概念。

健康门​

下列条件同时成立时 health() 为 true:

条件来源
股票的 Chainlink 价格新鲜,且 oraclePaused() 为 falsePriceOracle
市场开盘,或这次发射的过期容忍带允许一个有界的休市价格TradingCalendar、bandBpsPerHour
股票池现价与预言机、与池子 600 秒均价的偏差都在 maxDeviationBps(0.5%)之内上架的 V3 池
池子的观测环足以提供这个窗口V3 池

通过的交易在 V3 池上执行,价格限制为预言机价偏 maxSlippageBps(1%),仅成交限制范围内可成交的数量。计划内休市期间,股票/USDG 的 TWAP 受保护,止损从不在只有池价时触发。过期容忍带是 bandBpsPerHour,0 到 bandCeiling(stock),合计上限 3000;0 表示仅采用 Chainlink,仅在交易时段执行动作。毕业前 health() 返回 (false, 0)。

记账与 execute 的顺序​

到账的股票(毕业资本、税收份额、捐赠)在 book() 按当时价格记账之前都是 unbookedStock()。execute() 先记账待处理的股票, 再处理到期的止损,再处理到期的止盈,两种卖出均未到期时才执行回调买入;以 NotDue 结束的 execute() 会回滚临时记账,因此有股票 待记账而没有动作到期时,应单独调用 book()。继承的 takeProfit(id)、stopLoss(id)、buyDip() 选择器在 v2 上回滚。

回购​

留给销毁的股票放在 buybackStock。buyback() 用其在代币自身的 v4 池中买入代币,并销毁买入的全部代币。回购不参照日历,因为代币池从不休市; 它按池子 600 秒 TWAP 定价(终点价作为第一个锚点),受 maxBuybackImpactBps(3%)约束,以 buybackCooldown(10 秒)限速。分批止盈 和引擎类型每次出价 buybackChunkUsdg(500 USDG);按比例回购和循环每次出价预算的十分之一。金库自己的交换不收税。

buybackStock 的来源:已实现的利润(分批止盈一族)、收益的分配份额(固定仓位、再平衡)、全部收入(回购销毁),以及池子手续费的 股票一侧(所有类型,经 collectFees())。

销毁对象​

销毁来源事件
开盘加价窗口内的曲线买入Bought.burned
回购buyback()Buyback.tokenBurned
池子手续费,卖出侧collectFees()FeesCollected.tokenBurned

毕业不销毁任何代币,锁定的流动性也不计为供应量减少。

策略注册表​

类型在 predict 之前用 V2TreasuryDeployer.setStrategyKind(symbol, nonce, kind) 选定;类型 0 无需调用。类型是金库 CREATE2 地址 的一部分,因此也包含在 terms 中。注册表只增不改。编号是发布脚本按顺序产生的:

类型名称合约代理逻辑
0分批止盈HedgeFunV2UpgradeableTreasuryHedgeFunV2UpgradeableTreasuryLogic
1回购销毁HedgeFunV2UpgradeableBuybackTreasuryHedgeFunV2UpgradeableBuybackTreasuryLogic
2固定仓位HedgeFunV2UpgradeableEngineTreasuryHedgeFunV2UpgradeableEngineTreasuryLogic,schema 1,policy V2RebalancePolicy
3再平衡HedgeFunV2TradablePercentEngineTreasuryHedgeFunV2TradablePercentEngineTreasuryLogic,schema 3,policy V2TradablePercentRebalancePolicy
4按比例回购HedgeFunV2PercentBuybackTreasuryHedgeFunV2PercentBuybackTreasuryLogic
5循环HedgeFunV2UpgradeableCycleTreasuryHedgeFunV2UpgradeableCycleTreasuryLogic

类型 2 和 3 以 STATICCALL 咨询一个无状态 policy。policy 提出一个意图,持有、买或卖;金库在交换前核对 policy 的代码哈希、nonce、 配置哈希、实时预言机、冷却、方向、单次规模和当日成交量。

各种行情下的行为​

行情分批止盈、按比例回购、循环回购销毁固定仓位、再平衡
上涨每达到目标即卖出;仅在低于上次卖出价的回调时再买入,或在继续上涨时再买入一次(循环)用手续费回购并销毁股票占比越过区间时分批卖出;收益用于销毁
震荡高卖低买同上每次偏离区间都交易
下跌每个回调台阶都买入;未设止损则不卖出同上向目标买入;没有收益,不送入销毁
横盘不触发同上不触发
休市股票腿等待;回购按代币池继续同上股票腿等待;回购继续

各类型共有​

  • 转到金库的股票或 USDG 是捐赠,并入下一次观测。没有提取,没有赎回。
  • 最多 128 个不同成本的 lot;达到上限后,记账和回调买入须等待一次卖出。
  • health()、unbookedStock()、buybackStock()、params()、totalBurned() 和 totalStockSpentOnBuybacks() 是每种类型都有的 视图;其余在读取状态。