Цю сторінку перекладено автоматично. Оригінал англійською мовою є канонічним. Читати англійською →
Перейти к основному содержимому

Контракти

Mainnet Alpha

Це поточні адреси контрактів 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_orderAPI-гаманецьЛімітний ордер Hyperliquid
hl_cancel_by_oidAPI-гаманецьСкасування за ID ордера Hyperliquid
hl_cancel_by_cloidAPI-гаманецьСкасування за клієнтським 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​

КонтрактАдресаОпис
Exchange0xE6b7FaA216cabb2b38B392f577C9c826378b2240Основний контракт біржі
Exchange Implementation0xF7F0610aC612d140bdb34DCD2872828Bc67349cDРеалізація Exchange за проксі
Account Implementation0xCD87F572bef2855c8Ffb69A6Da3D9785d6017791Реалізація Account
Account Beacon0x1b96D6a48d1fB34dC45953697414656D2851Ca93Beacon для Account
Fetcher0x8654912Eae1554662665C13EeD4f1D8A4b028aDBДопоміжний контракт для читання
Option Token Implementation0x6D0C7a116f9561A8De692c23c4C11682738ed206Реалізація опціонного токена
Option Token Beacon0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35Beacon для опціонного токена
Factory0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1bФабрика акаунтів
Router0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2DДопоміжний контракт для поповнення та маршрутизації
Option Registry0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598Реєстр опціонних токенів
Option Registry Implementation0xF222421a93df1086E329503723b3cC4c30546C46Реалізація реєстру опціонів за проксі
Hypercall Fee Collector0x406ceBfC7063e55761007D1C4b66B29308016602Адреса білдера Hyperliquid в ордерах на перпи (також hl_builder_address у GET /exchange-info)

Конфігурація основної мережі​

ПараметрАдреса або значенняОпис
USDC0xb88339CB7199b77E23DB6E890353E22632Ba630fUSDC у HyperEVM, який використовує Hypercall
Core Deposit0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24Допоміжний контракт для депозитів у HyperCore
RSM Signer0x502E7fAbF34E84EeB115C34FE947b79A94dF886EПоточний підписант RSM під контролем оператора
Sequencer0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944Поточний секвенсер
Timelock0x96f17e6f7269cA4300a391514c109eBA70661674Володіє адмін-правами проксі Exchange і шляхами оновлення Account, Option Token та Option Registry. Мінімальна затримка 30 секунд.
Admin Safe0xF741246D2e0ADD4EFa7e88BE0961cccf3562b502Мультисиг, що має ролі адміністратора й governor для Exchange та роль власника Factory

Вихідний код​

Вихідний код контрактів буде опубліковано після завершення аудиту.

Пов'язані матеріали​