Skip to main content

Universal Router

Universal Router 是一个单一的智能合约,可以跨 V2 和 V3 池执行交易。它是 Kroko DEX 所有交易操作的统一入口。

为什么需要 Universal Router?

如果没有它,通过 V2 和 V3 交易需要分别使用不同的合约和不同的交易。Universal Router:
  • 统一执行 — 一个合约处理 V2、V3 和混合协议交易
  • 支持复杂路由 — 跨 V2 和 V3 池的多跳交易
  • 降低 Gas — 在单笔交易中批量处理操作
  • 集成 Permit2 — 通过 Permit2 拉取代币以简化授权

工作原理

Universal Router 通过其 execute() 函数接收编码的命令输入
  • commands:一个字节字符串,每个字节是一个命令代码(如 V2_SWAP_EXACT_IN、V3_SWAP_EXACT_IN、WRAP_ETH、UNWRAP_WETH 等)
  • inputs:每个命令的 ABI 编码参数
  • deadline:超过此 Unix 时间戳后交易将回滚

典型交易流程

开发者不需要手动编码命令 — Swap API 会处理这些。你只需转发响应:

滑点保护

编码的 calldata 包含链上滑点检查: 这些检查由 Universal Router 在链上强制执行,而不仅仅是 API。

原生 KAS 处理

当交易涉及原生 KAS(非 WKAS)时,Universal Router 自动:
  • 卖出 KAS:在交易前将作为 msg.value 发送的 KAS 包装为 WKAS
  • 买入 KAS:在交易后将 WKAS 解包为 KAS 并发送给接收者
当原生 KAS 是输入代币时,Swap API 响应中的 value 字段非零。