Milkman是一个智能合约解决方案,专为CoW协议内的延迟执行交易而设计,使dao等用户能够为未来计划的交易设置动态价格支持。
Milkman 是一个简单的合约,它允许 DAO 和其他智能合约钱包用户为未来将执行的订单设置动态价格回溯!
在 CoW Protocol 上,用户可以提交签名的 intent-to-trade messages,而不是发送带有预定义交换指令的链上交易。这些消息包含了一些订单细节,比如要交易哪些资产及其数量,但将其他细节留给 solvers 优化。
这些意图的一个重要参数是 min_out——用户愿意为其卖出代币接收的最低购买代币数量(或购买数量减去用户设置的最大滑点)。当交易旨在立即或近乎立即执行时,min_out 工作得非常好,因为它允许 solvers 在保护用户免受不利价格变动的同时改善价格。然而,当价格波动较大时,min_out 可能会过于限制。
简单来说,延迟执行交易是指那些打算在不久的将来某一时点执行的交易。
许多智能合约钱包用户,例如 DAO,常常需要创建这种类型的订购。以下是一些例子:
有了额外的时间,价格可能会剧烈波动——这为交易者创造了一个困境:
如果购买代币价格下跌而 min_out 设置得过高,订单可能不会执行。但如果 min_out 设置得过低,交易者可能会面临不必要的差价执行风险。(CoW Protocol 的 solvers 彼此竞争,以提供更好的价格,但对非常高交易量的交易者而言,对 solvers 带有如此高的信任可能是不可取的。)
如果用户签署了一份意图将 1 ETH 兑换成 2000 USDC 的合同,那么交易将不会低于 2000 USDC。
但设置过低的“min out”可能会导致错失盈利。
Milkman 是一个智能合约,它为智能合约钱包解决了上述困境。
它通过允许智能合约指定一个链上数据源(例如,预言机)作为 min_out 的参考,从而有效地将 min_out 转变为其交易的动态价格回溯。
假设你想以 USDC 出售 1000 ETH,但希望在未来的某个时候进行交易。为了保护自己免受价格波动的影响,你可以提供 Milkman 来基于 Chainlink 的 ETH/USDC 价格馈送来创建订单,而 Milkman 在下单时会根据该价格馈送动态调整你将接收的最低金额。
当执行交易的时机到来时,CoW Protocol 将以准确反映当时价格的 min_out 接收该交易;而 solvers 将继续在此基础上竞争以改善价格,就像他们一直以来所做的那样。
Milkman 特别适合许多与 DAO 相关的用例,因为 DAO 的治理流程常常会延迟交易,并且 DAO 的交易金额可能非常大。
许多知名 DAO,包括 Aave 和 ENS,已经使用 Milkman 完成了超过 2000 万美元的代币交易。除了让这些 DAO 指望可靠的价格外,Milkman 还使他们减少了整体治理投票的数量,并给予他们标准的 CoW Swap 福利,如最佳价格执行和 顶级 MEV 保护——这对于大型交易至关重要。
Milkman 还在广泛使用的 DAO 管理平台 Tally 作为一个 recipe 原生集成——为 DAO 消除了更多的交易摩擦。
Milkman 遵循 UniV2 风格的接口。要与 Milkman 交互,智能合约只需调用以下函数:
function requestSwapExactTokensForTokens(
uint256 amountIn,
IERC20 fromToken,
IERC20 toToken,
address to,
address priceChecker,
bytes calldata priceCheckerData
)
priceChecker 是数据馈送提供者,而 priceCheckerData 是一个任意字节的数组,该函数将其传递给价格检查器(例如,所需的滑点容忍度)。
价格检查器已针对 Chainlink、Curve、SushiSwap、Uniswap V2、Uniswap V3 及这些组合进行了部署。部署地址可以在 这里 找到,核心 Milkman 代码可以在 这里 找到。任何人都可以运行一个 Milkman bot,它 simplemente 作为一个钩子,监视新的交换请求并将其显示给 CoW Protocol。如果你有一个 Kubernetes 集群,运行一个 bot 是相当简单的;说明在仓库中。
Milkman 由 Yearn Finance 与 CoW Protocol 合作开发,通过 CoW Grants Program 实现。
Milkman 万岁!愿你从中受益,以获得良好的价格!
- 原文链接: blog.cow.fi/what-is-milk...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,在这里修改,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!