本页为简体中文译文。如有歧义,请以英文原文为准。 阅读英文版 →
跳转到主要内容

合约

主网 Alpha

以下是 Hypercall 主网 Alpha 当前的合约地址。在交易场所逐步扩展期间,上线范围有意保持受限。

Hypercall 的链上组件部署在 HyperEVM(链 ID 999)上。每位用户拥有一个 Account 合约;Exchange 持有交易场所的 USDC 和期权托管资产,并针对各 Account 执行已签名的指令;Factory 负责创建 Account;Option Registry 负责部署和识别期权代币。

合约职责​

Exchange​

可升级代理合约。主网版本为 0.6.1。

  • 代表交易场所在 HyperCore 上持有存入的 USDC(depositUsdcFor、depositPmLiquidityFor)。
  • 在存入时销毁期权 ERC20 代币,并发出 Deposit 事件供引擎入账(depositOption)。
  • 登记由 Factory 创建的 Account,并记录每个 Account 的管理者(getAccounts、getAccount、managers)。
  • 执行已签名的指令。executeUserDirective 将由管理者或 API 钱包签名的指令转发给 Account。executeRsmDirective 执行由 RSM 签名的系统指令(入账、提款、强制平仓状态)。两者都只能由 Hypercall 的排序器调用;用户负责签名,Hypercall 负责提交。
  • 按签名者记录已使用的 nonce(isNonceUsed)。

Account​

每位用户一个,以 BeaconProxy 形式部署。主网版本为 0.2.4。

  • 持有用户在 HyperCore 上的余额和持仓。永续合约和现货都记录在该 Account 的 HyperCore 账本上。
  • 拥有一个管理者(创建该 Account 的 EOA)以及任意数量的具名 API 钱包。
  • 验证指令签名。API 钱包可以签署下单和撤单;其他操作都需要管理者签名。参见 EIP-712 签名。
  • 仅限管理者的直接调用:transferTo(recipient, token, amount) 将 HyperEVM 代币转出 Account;approveZeroFeeBuilder(builder) 以 0% 最高费率批准一个 Hyperliquid builder。Hypercall 的永续合约订单带有 Hypercall builder code,因此在首次下永续合约订单之前需要完成一次该批准。
  • depositSpot 将 HYPE 或受支持的现货代币从 HyperEVM 桥接到该 Account 在 HyperCore 上的账户。

Factory​

通过 createAccount(uint96 salt) 创建 Account。地址由管理者和 salt 确定性生成;predictAccount(manager, salt) 可在创建前返回该地址。参见 开户。

Router​

资金辅助合约。deposit(account, token, amount, isPerp) 通过 Circle 的 CoreDepositWallet 将 USDC 路由至 HyperCore,现货代币经由 Account 路由,期权代币经由 Exchange 路由。depositHype(account) 用于桥接原生 HYPE。

Option Registry​

部署期权 ERC20 代币,并作为判断某代币是否为受支持期权的权威来源(isSupportedOption)。

指令类型​

指令签名者说明
hl_limit_orderAPI 钱包Hyperliquid 限价单
hl_cancel_by_oidAPI 钱包按 Hyperliquid 订单 ID 撤单
hl_cancel_by_cloidAPI 钱包按客户端订单 ID 撤单
hc_update_api_wallet管理者在 Account 上添加、替换或移除具名 API 钱包
hl_add_api_wallet管理者为该 Account 在 HyperCore 上批准一个 Hyperliquid API 钱包
hl_send_asset管理者从该 Account 在 HyperCore 上发送资产
hl_set_abstraction管理者设置该 Account 的 HyperCore 账户模式(仅限统一模式)

RSM 指令(入账、提款、强制平仓的开始与停止、仅减仓恢复订单)由 RSM 签名者签名,并由排序器提交。用户永远不需要签署这些指令。参见 RSM 指令。

强制平仓​

强制平仓在 Hypercall 引擎中执行。参见 强制平仓。Exchange 预留了钩子,可供链上拍卖合约将 Account 的管理者转移给中标者,但主网上目前未配置拍卖方。

信任与权限​

本节是链上谁能做什么的参考。简要说明见信任模型。

提交​

只有 Hypercall 的排序器持有 Exchange 上的 SEQUENCER_ROLE,因此只有它能调用 executeUserDirective 和 executeRsmDirective。您签名,Hypercall 提交。排序器无法伪造用户指令:账户合约自行恢复签名者,只接受其管理者或有效的 API 钱包。

RSM 指令​

当引擎状态需要执行链上操作时,RSM 签名者签署指令,由排序器提交。Exchange 会拒绝任何非注册 RSM 签名者(Exchange.rsmSigner)签署的 RSM 指令。当前的 RSM 签名者由运营方控制;路线图将公布该角色如何去中心化或以其他方式降低信任要求。

Exchange 自行执行的指令:

  • 从 Exchange 的 HyperCore 余额发送 USDC 或现货代币,包括标准 USDC 提款
  • 提取期权时向某地址铸造期权 ERC20
  • 对账户开始和停止强制平仓

账户接受的 RSM 指令(由账户合约强制约束):

  • 在账户的 Hyperliquid 余额上下达仅减仓 IOC 订单,或以接近市价的 IOC 现货卖单换成 USDC
  • 从账户在 HyperCore 上发送资产,收款方只能是 Exchange(例如弥补负余额)
  • 撤单

账户处于强制平仓中时,RSM 指令仍可执行。期权到期结算不是 RSM 指令,而是在引擎状态中作用于现金。RSM 签名者地址和每次指令执行都可在链上查看。

升级​

  • Exchange 和 Option Registry 是可升级代理。
  • Account 和 Option Token 是 BeaconProxy。所有账户运行同一实现,因此 Account Beacon 升级一次会同时改变所有账户。期权代币与 Option Token Beacon 同理。
  • Timelock 持有 Exchange 代理管理权,以及 Account、Option Token 和 Option Registry 的升级路径,最短延迟为 30 秒。
  • Admin Safe 多签持有 Exchange 的管理员和治理者角色,以及 Factory 的所有者角色。
  • 由 Admin Safe 持有的治理者角色可以更换 RSM 签名者和 auctioneer,并转移 Exchange 的 USDC(rescueUsdcToEvm)。在信任计划第 1 步中,该角色将纳入时间锁。作为 Exchange 的默认管理员,Safe 还可以不经时间锁直接授予或撤销 SEQUENCER_ROLE 及 Exchange 的任何其他角色。

它们的地址见下方主网配置表。账户所有权只能通过链上交易变更。

已部署地址​

主网 Alpha​

合约地址说明
Exchange0xE6b7FaA216cabb2b38B392f577C9c826378b2240主交易合约
Exchange Implementation0xF7F0610aC612d140bdb34DCD2872828Bc67349cD代理背后的 Exchange 实现合约
Account Implementation0xCD87F572bef2855c8Ffb69A6Da3D9785d6017791Account 实现合约
Account Beacon0x1b96D6a48d1fB34dC45953697414656D2851Ca93Account beacon
Fetcher0x8654912Eae1554662665C13EeD4f1D8A4b028aDB读取辅助合约
Option Token Implementation0x6D0C7a116f9561A8De692c23c4C11682738ed206期权代币实现合约
Option Token Beacon0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35期权代币 beacon
Factory0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1bAccount 工厂合约
Router0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2D资金与路由辅助合约
Option Registry0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598期权代币注册合约
Option Registry Implementation0xF222421a93df1086E329503723b3cC4c30546C46代理背后的 Option Registry 实现合约
Hypercall Fee Collector0x406ceBfC7063e55761007D1C4b66B29308016602永续合约订单上的 Hyperliquid builder 地址(即 GET /exchange-info 中的 hl_builder_address)

主网配置​

参数地址或数值说明
USDC0xb88339CB7199b77E23DB6E890353E22632Ba630fHypercall 使用的 HyperEVM USDC
Core Deposit0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24HyperCore 存款辅助合约
RSM Signer0x502E7fAbF34E84EeB115C34FE947b79A94dF886E当前由运营方控制的 RSM 签名者
Sequencer0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944当前排序器
Timelock0x96f17e6f7269cA4300a391514c109eBA70661674持有 Exchange 代理管理权,以及 Account、Option Token 和 Option Registry 的升级路径。最短延迟为 30 秒。
Admin Safe0xF741246D2e0ADD4EFa7e88BE0961cccf3562b502持有 Exchange 管理员与治理者角色以及 Factory 所有者角色的多签钱包

源代码​

合约源代码将在审计完成后公开。

相关内容​