Контракти
Це поточні адреси контрактів Hypercall Mainnet Alpha. Обсяг запуску навмисно обмежено, поки майданчик розширюється.
Ончейн-компоненти Hypercall розгорнуто в HyperEVM (chain ID 999). Кожен користувач отримує контракт Account. Exchange зберігає USDC майданчика й опціони під кастодією та виконує підписані директиви щодо Accounts. Factory створює Accounts. Option Registry розгортає та розпізнає опціонні токени.
Функції контрактів
Exchange
Проксі з можливістю оновлення. Версія 0.6.1 в основній мережі.
- Зберігає депоновані USDC майданчика на HyperCore (
depositUsdcFor,depositPmLiquidityFor). - Спалює опціонні ERC20 під час депозиту та емітує
Deposit, щоб рушій зарахував кошти (depositOption). - Реєструє Accounts, створені Factory, і відстежує менеджера кожного Account (
getAccounts,getAccount,managers). - Виконує підписані директиви.
executeUserDirectiveпередає до Account директиву, підписану менеджером або API-гаманцем.executeRsmDirectiveвиконує системну директиву з підписом RSM (зарахування, виведення коштів, стан ліквідації). Обидві функції може викликати лише секвенсер Hypercall: користувачі підписують, Hypercall надсилає. - Відстежує використані nonce для кожного підписанта (
isNonceUsed).
Account
Один на користувача, розгортається як BeaconProxy. Версія 0.2.4 в основній мережі.
- Володіє балансами та позиціями користувача на HyperCore. Перпи та спот знаходяться в реєстрі Account на HyperCore.
- Має одного менеджера (EOA, який його створив) і будь-яку кількість іменованих API-гаманців.
- Перевіряє підписи директив. API-гаманці можуть підписувати ордери та скасування; усе інше потребує менеджера. Див. EIP-712 Signing.
- Прямі виклики лише для менеджера:
transferTo(recipient, token, amount)виводить токени HyperEVM з Account, аapproveZeroFeeBuilder(builder)схвалює білдера Hyperliquid з максимальною комісією 0%. Ордери на перпи Hypercall містять білдер-код Hypercall, тому це схвалення потрібне один раз перед першим ордером на перп. depositSpotпереносить HYPE або підтримуваний спот-токен з HyperEVM на Account у HyperCore.
Factory
Створює Accounts через createAccount(uint96 salt). Адреса детермінована для кожної пари менеджера та salt; predictAccount(manager, salt) повертає її до створення. Див. Onboarding.
Router
Допоміжний контракт для поповнення. deposit(account, token, amount, isPerp) спрямовує USDC на HyperCore через CoreDepositWallet від Circle, спот-токени через Account, а опціонні токени через Exchange. depositHype(account) переносить нативний HYPE.
Option Registry
Розгортає опціонні ERC20 і є джерелом істини щодо того, чи є токен підтримуваним опціоном (isSupportedOption).
Типи директив
| Директива | Підписант | Опис |
|---|---|---|
hl_limit_order | API-гаманець | Лімітний ордер Hyperliquid |
hl_cancel_by_oid | API-гаманець | Скасування за ID ордера Hyperliquid |
hl_cancel_by_cloid | API-гаманець | Скасування за клієнтським ID ордера |
hc_update_api_wallet | Менеджер | Додати, замінити або видалити іменований API-гаманець в Account |
hl_add_api_wallet | Менеджер | Схвалити API-гаманець Hyperliquid для Account на HyperCore |
hl_send_asset | Менеджер | Надіслати активи з Account на HyperCore |
hl_set_abstraction | Менеджер | Встановити режим акаунта HyperCore для Account (лише unified) |
Директиви RSM (зарахування, виведення коштів, початок і завершення ліквідації, ордери відновлення лише на скорочення позиції) підписує підписант RSM, а надсилає секвенсер. Користувачі ніколи їх не підписують. Дивіться Директиви RSM.
Ліквідація
Ліквідація виконується в рушії Hypercall. Див. Liquidation. Exchange має хуки, що дозволяють ончейн-контракту аукціону передати менеджера Account переможцю торгів, але в основній мережі аукціонер не налаштований.
Довіра та дозволи
Цей розділ описує, хто й що може робити в мережі. Коротка версія: Модель довіри.
Надсилання
Лише секвенсер Hypercall має SEQUENCER_ROLE в Exchange, тому лише він викликає executeUserDirective і executeRsmDirective. Ви підписуєте, Hypercall надсилає. Секвенсер не може підробити директиву користувача: Account сам відновлює підписанта й приймає лише свого менеджера або активний API-гаманець.
Директиви RSM
Коли стан рушія вимагає дії в мережі, підписант RSM підписує директиву, а секвенсер її надсилає. Exchange відхиляє будь-яку директиву RSM, не підписану зареєстрованим підписантом RSM (Exchange.rsmSigner). Поточний підписант RSM контролюється оператором; у дорожній карті буде опубліковано, як цю роль буде децентралізовано або іншим чином зменшено потребу в довірі до неї.
Директиви, які Exchange виконує сам:
- Надсилання USDC або спотових токенів із балансу Exchange на HyperCore, включно зі стандартними виведеннями USDC
- Випуск опціонних ERC20 на адресу під час виведення опціонів
- Запуск і зупинка ліквідації Account
Директиви, які Account приймає від RSM, з обмеженнями, що їх задає контракт Account:
- IOC-ордери лише на зменшення позиції або близькі до ринку IOC-продажі спота за USDC на балансі Account у Hyperliquid
- Надсилання активів з Account на HyperCore, лише до Exchange (наприклад, щоб покрити від'ємний баланс)
- Скасування ордерів
Директиви RSM виконуються й тоді, коли Account перебуває в ліквідації. Розрахунок опціонів на експірації не є директивою RSM: він застосовується до грошового балансу в стані рушія. Адреса підписанта RSM і кожне виконання директиви видимі в мережі.
Оновлення
- Exchange і Option Registry є оновлюваними проксі.
- Account і Option Token є BeaconProxy. Усі акаунти працюють на одній реалізації, тож одне оновлення Account Beacon змінює всі акаунти одразу. Те саме стосується опціонних токенів і Option Token Beacon.
- Timelock володіє proxy admin контракту Exchange і шляхами оновлення Account, Option Token та Option Registry з мінімальною затримкою 30 секунд.
- Мультисиг Admin Safe має ролі admin і governor в Exchange та роль owner у Factory.
- Роль governor, яку тримає Admin Safe, може замінити підписанта RSM і auctioneer та перемістити USDC з Exchange (
rescueUsdcToEvm). На кроці 1 плану довіри вона перейде під timelock. Як default admin Exchange, Safe також може напряму, без timelock, надати або відкликатиSEQUENCER_ROLEі будь-яку іншу роль Exchange.
Їхні адреси наведено нижче в таблиці конфігурації основної мережі. Власник Account змінюється лише транзакцією в мережі.
Розгорнуті адреси
Mainnet Alpha
| Контракт | Адреса | Опис |
|---|---|---|
| Exchange | 0xE6b7FaA216cabb2b38B392f577C9c826378b2240 | Основний контракт біржі |
| Exchange Implementation | 0xF7F0610aC612d140bdb34DCD2872828Bc67349cD | Реалізація Exchange за проксі |
| Account Implementation | 0xCD87F572bef2855c8Ffb69A6Da3D9785d6017791 | Реалізація Account |
| Account Beacon | 0x1b96D6a48d1fB34dC45953697414656D2851Ca93 | Beacon для Account |
| Fetcher | 0x8654912Eae1554662665C13EeD4f1D8A4b028aDB | Допоміжний контракт для читання |
| Option Token Implementation | 0x6D0C7a116f9561A8De692c23c4C11682738ed206 | Реалізація опціонного токена |
| Option Token Beacon | 0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35 | Beacon для опціонного токена |
| Factory | 0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1b | Фабрика акаунтів |
| Router | 0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2D | Допоміжний контракт для поповнення та маршрутизації |
| Option Registry | 0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598 | Реєстр опціонних токенів |
| Option Registry Implementation | 0xF222421a93df1086E329503723b3cC4c30546C46 | Реалізація реєстру опціонів за проксі |
| Hypercall Fee Collector | 0x406ceBfC7063e55761007D1C4b66B29308016602 | Адреса білдера Hyperliquid в ордерах на перпи (також hl_builder_address у GET /exchange-info) |
Конфігурація основної мережі
| Параметр | Адреса або значення | Опис |
|---|---|---|
| USDC | 0xb88339CB7199b77E23DB6E890353E22632Ba630f | USDC у HyperEVM, який використовує Hypercall |
| Core Deposit | 0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24 | Допоміжний контракт для депозитів у HyperCore |
| RSM Signer | 0x502E7fAbF34E84EeB115C34FE947b79A94dF886E | Поточний підписант RSM під контролем оператора |
| Sequencer | 0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944 | Поточний секвенсер |
| Timelock | 0x96f17e6f7269cA4300a391514c109eBA70661674 | Володіє адмін-правами проксі Exchange і шляхами оновлення Account, Option Token та Option Registry. Мінімальна затримка 30 секунд. |
| Admin Safe | 0xF741246D2e0ADD4EFa7e88BE0961cccf3562b502 | Мультисиг, що має ролі адміністратора й governor для Exchange та роль власника Factory |
Вихідний код
Вихідний код контрактів буде опубліковано після завершення аудиту.
Пов'язані матеріали
- EIP-712 Signing - Формати повідомлень і підписання
- Agent Authorization - Налаштування API-гаманця
- Onboarding - Створення акаунта та депозити
- API Authentication - Підписання запитів