传送路线:类型
传送路线是 Hyperlane 实现的代币桥接,允许通过 Hyperlane 在任何链上无权限地转移原生、ERC20 和合成(新部署的 ERC20)资产。本文档提供了所有传送路线类型的详细信息。
传送路线类型 | 描述 |
---|---|
原生代币传送路线 | 允许在不同链之间直接转移原生 Gas 代币(例如,ETH)而无需包装。 |
抵押支持的 ERC20 | 在源链上锁定 ERC20 代币作为抵押,以进行跨链转移。 |
合成 ERC20 | 在目标链上铸造新的 ERC20 代币,以代表原始代币。 |
专用传送路线 | 增加高级功能或与特定用例集成(例如,金库、法币支持的代币)。 |
请注意,本文档不包括 ERC721 传送路线。
核心传送路线类型
原生代币传送路线
在 HypNative.sol
中实现,原生传送路线处理原生 Gas 代币(例如以太坊或 Arbitrum 上的 ETH,Mantle 上的 MNT)在不同链之间的转移。
特性
- 直接转移原生代币,无需包装。
- 使用
msg.value
作为转移金额。 - 将多余的
msg.value
作为 hook 支付。 - 通过
receive()
函数支持捐赠。
有关更多详细信息,请参见 实现。
抵押支持的 ERC20 传送 路线
在 HypERC20Collateral.sol
中实现,抵押传送路线允许在源链上锁定 ERC20 代币作为抵押,然后在目标链上铸造合成表示。
特性
- 将现有的 ERC20 代币包装为抵押以进行转移。
- 在源链上锁定代币。
- 在目标链上释放等值代币。
- 使用 SafeERC20 进行安全的代币转移。
有关更多详细信息,请参见 实现。
合成 ERC20 传送路线
在 HypERC20.sol
中实现,合成传送路线在目标链上铸造新的代币,以代表源链上的原始代币。原始代币不会被转移,而是保持锁定状态。
特性
- 在所有链上保持一致的总供应量。
- 支持自定义代币属性(名称、符号、小数位数)。
- 在目标链上铸造新代币。
- 在源链上转移回时销毁代币。
有关更多详细信息,请参见 实现。
高级功能
TokenRouter 功能
所有传送路线都扩展了 TokenRouter
合约,该合约提供了传送路线代币转移的核心功能。
特性
- 消息结构:使用 TokenMessage 库进行代币转移消息的编码和解码。
- 转移启动:
transferRemote
函数启动跨链转移。 - 消息处理:
_handle
函数处理传入的转移消息。 - 抽象方法:
_transferFromSender
:由所有传送路线实现以处理代币收集。_transferTo
:由所有传送路线实现以处理代币分发。
TokenMessage 格式
[32 字节的接收者][32 字节的金额][剩余字节的元数据]
这种标准化格式确保在不同传送路线实现之间的一致处理,同时允许通过元数据进行扩展。
有关更多详细信息,请参见 实现。
FastTokenRouter 转移
在 FastTokenRouter.sol
中实现,该路由 器扩展了 TokenRouter,并通过流动性提供者机制提供更快的代币转移。
特性
- 允许流动性提供者在消息处理之前满足转移请求。
- 包含
fastFee
以激励流动性提供者。 - 引入
fastTransferId
以进行唯一转移标识。
有关更多详细信息,请参见 实现。
专用传送路线扩展
1. 快速抵押转移 (FastHypERC20Collateral)
- 将快速转移能力与抵押支持的 ERC20 功能相结合。
- 有关更多详细信息,请参见 实现。