コントラクト
メインネットアルファ
以下は現在のHypercallメインネットアルファのコントラクトアドレスです。取引所の拡大に合わせて、ローンチ時のスコープは意図的に制限されています。
Hypercallのオンチェーンコンポーネントは、Hyperliquid L1(HyperEVM)上にデプロイされています。本システムは、アカウント管理、注文処理、オプショントークンの取り扱いをそれぞれ別のコントラクトで担うモジュラーアーキテクチャを採用しています。
アーキテクチャ概要
コントラクトの責務
Exchange
Exchangeはメインのエントリーポイントであり、アップグレード可能なプロキシパターンを使用しています。
責務:
- BeaconProxyパターンによるユーザーAccountの作成
- HyperCore上で預け入れられたUSDCのカストディ(保険基金 + オプションポジション)
- オンチェーンのアクション/リクエストに対するRSMシーケンサーのエントリーポイント
- オプションERC20の入出金の処理(HyperEVMとRSMレジャー間のブリッジング)
- 全額清算オークションの追跡と解決
- 生のActionCasterアクションを含むイベントの発行
主要な関数:
createAccount()- 呼び出し元をマネージャーとする新しいアカウントを作成deposit(account, token, amount)- アカウントにトークンを預け入れaddApiWallet(account, apiWallet)- 取引用のAPIウォレットを認可hlRequestOrder(...)- ActionCaster経由でHyperLiquidのパーペチュアル/スポット注文を発注hlRequestCancel(...)- HyperLiquidの注文をキャンセルhlActionSendAsset(...)- Accountから受取人へ資産を送付hcActionWithdrawToken(...)- ExchangeからAccountへトークンを出金hcActionWithdrawOption(...)- HyperEVMの受取人へオプションを出金rsmCommandRebalance(...)- RSMが開始するリデュースオンリー注文rsmCommandRepay(...)- RSMが開始する債務返済
Account
各ユーザーは自身のAccountコントラクトを持ちます(共有実装を指すBeaconProxy)。
責務:
- USDC以外の資産を使用するトレーダー/MM向けに、HyperCore側で担保をカストディ
- 単一のマネージャーを持ち、マネージャーは複数のエージェントキーを追加可能
- エージェントキーは注文/キャンセルの署名のみ可能。その他のアクションにはマネージャーの署名が必要
- アカウントに関連するすべてのアクションに対するマネージャーのエントリーポイント
主要な概念:
- マネージャー: エージェントの認可や出金の署名ができるアカウント所有者
- エージェントキー: 注文の発注/キャンセルのみに認可された署名者
- APIウォレット: アカウントに代わって注文を送信できる認可済みアドレス
預け入れ:
- オプションERC20は
Exchange.deposit()を呼び出して預け入れます - その他の資産は、当該資産のHyperEVM → HyperCoreブリッジを使用してHyperCoreにブリッジされます
- 「オプションUSDCポジション」へのUSDCの預け入れは、AccountからExchangeへのHyperCore転送により行われます
Processor
Processorは署名検証とアクションのエンコードを担当します。
責務:
- 署名から署名者アドレスを復元
- アクションをActionCasterフォーマットにエンコード
- 預け入れ計算のためにUSD金額をHYPEに変換
主要な関数:
hlRequestOrder(...)- 注文リクエストを処理hlRequestCancel(...)- キャンセルリクエストを処理hlActionSendAsset(...)- 資産送付アクションを処理rsmCommandRebalance(...)- RSMリバランスコマンドを処理rsmCommandRepay(...)- RSM返済コマンドを処理usdToHype(amountUsd)- スポット価格に基づいてUSDをHYPEに変換
Registry
Registryはオプショントークンのデプロイと検証を管理します。
責務:
- オプションERC20トークンのデプロイ
- 「このERC20はサポート対象のオプショントークンか」を判断する信頼できる情報源(source of truth)
- ホワイトリスト登録されたアドレスは新しいオプショントークンをデプロイ可能
将来のガードレール:
- 許可された原資産のセット
- 許可された満期タイムスタンプ
- 許可された行使価格の刻み幅
アクションの種類
HyperLiquidリクエスト
HyperLiquidのオーダーブックと相互作用するリクエスト:
| アクション | 署名者 | 説明 |
|---|---|---|
hlRequestOrder | エージェント/APIウォレット | パーペチュアル/スポット注文の発注 |
hlRequestCancel | エージェント/APIウォレット | OIDによる注文のキャンセル |
hlRequestCancelByCloid | エージェント/APIウォレット | CLOIDによる注文のキャンセル |
マネージャーアクション
アカウントマネージャーの署名を必要とするアクション:
| アクション | 説明 |
|---|---|
hlActionSendAsset | Accountから受取人へ資産を送付 |
hcActionWithdrawToken | ExchangeからAccountへトークンを出金 |
hcActionWithdrawOption | HyperEVMアドレスへオプションを出金 |
RSMコマンド
RSM署名者によって署名されるコマンド(マネージャーの同意は不要):
| コマンド | 説明 |
|---|---|
rsmCommandRebalance | USDC残高を増やすためのリデュースオンリー注文の発注 |
rsmCommandRepay | AccountからExchangeへのUSDCの強制送金 |
署名検証
- ExchangeはRSM署名者の署名を検証します
- Accountはマネージャーおよびエージェントの署名を検証します
- RSMコマンドはマネージャーの署名なしで受け渡されます(RSM署名者は信頼されています)
清算オークション
アカウントが担保不足になった場合:
- RSMシーケンサーが全額清算オークションを開始します
- 要求されたUSDC金額を提供することで誰でも入札できます
- 落札者が新しいAccountマネージャーになります
- 条件が変化した場合、RSMシーケンサーは進行中のオークションを停止できます
デプロイ済みアドレス
メインネットアルファ
| コントラクト | アドレス | 説明 |
|---|---|---|
| Exchange | 0xE6b7FaA216cabb2b38B392f577C9c826378b2240 | メインの取引所コントラクト |
| Exchange Implementation | 0xeEf31f6c8F2EFABba61C99d9efBEf4e6429024Cf | プロキシの背後にあるExchangeの実装 |
| Account Implementation | 0xa8E861eAE5Bc47beDcF4896C7c5c676f563F5f1C | Accountの実装 |
| Account Beacon | 0x1b96D6a48d1fB34dC45953697414656D2851Ca93 | Accountビーコン |
| Fetcher | 0x8654912Eae1554662665C13EeD4f1D8A4b028aDB | 読み取りヘルパーコントラクト |
| Option Token Implementation | 0x6D0C7a116f9561A8De692c23c4C11682738ed206 | オプショントークンの実装 |
| Option Token Beacon | 0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35 | オプショントークンビーコン |
| Factory | 0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1b | Accountファクトリー |
| Router | 0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2D | 資金供給とルーティングのヘルパー |
| Option Registry | 0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598 | オプショントークンレジストリ |
| Option Registry Implementation | 0xF222421a93df1086E329503723b3cC4c30546C46 | プロキシの背後にあるOption Registryの実装 |
メインネット設定
| パラメータ | アドレスまたは値 | 説明 |
|---|---|---|
| USDC | 0xb88339CB7199b77E23DB6E890353E22632Ba630f | Hypercallが使用するHyperEVM USDC |
| Core Deposit | 0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24 | HyperCore預け入れヘルパー |
| RSM Signer | 0x502E7fAbF34E84EeB115C34FE947b79A94dF886E | 現在のオペレーター管理下のRSM署名者 |
| Sequencer | 0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944 | 現在のシーケンサー |
| Legacy Sequencer | 0x8640A393730Fa671CF1C71CF5fcD2F8E299C44f7 | レガシーシーケンサー |
ソースコード
コントラクトのソースコードは、監査完了後に公開される予定です。