Verträge
Dies sind die aktuellen Vertragsadressen der Hypercall Mainnet Alpha. Der Umfang zum Start ist bewusst begrenzt, während der Handelsplatz schrittweise ausgebaut wird.
Die On-Chain-Komponenten von Hypercall sind auf HyperEVM (Chain-ID 999) bereitgestellt. Jeder Nutzer erhält einen Account-Vertrag. Die Exchange verwahrt das USDC und die Optionen des Handelsplatzes und führt signierte Direktiven gegen Accounts aus. Die Factory erstellt Accounts. Die Option Registry stellt Options-Token bereit und erkennt sie.
Zuständigkeiten der Verträge
Exchange
Upgradefähiger Proxy. Version 0.6.1 im Mainnet.
- Verwahrt eingezahltes USDC auf HyperCore für den Handelsplatz (
depositUsdcFor,depositPmLiquidityFor). - Verbrennt Options-ERC20s bei der Einzahlung und emittiert
Deposit, damit die Engine die Gutschrift vornimmt (depositOption). - Registriert von der Factory erstellte Accounts und verfolgt den Manager jedes Accounts (
getAccounts,getAccount,managers). - Führt signierte Direktiven aus.
executeUserDirectiveleitet eine vom Manager oder einer API-Wallet signierte Direktive an den Account weiter.executeRsmDirectiveführt eine RSM-signierte Systemdirektive aus (Gutschriften, Auszahlungen, Liquidationsstatus). Beide können nur vom Sequencer von Hypercall aufgerufen werden. Nutzer signieren, Hypercall reicht ein. - Verfolgt verwendete Nonces pro Signierer (
isNonceUsed).
Account
Einer pro Nutzer, bereitgestellt als BeaconProxy. Version 0.2.4 im Mainnet.
- Hält die HyperCore-Guthaben und -Positionen des Nutzers. Perpetuals und Spot liegen im HyperCore-Ledger des Accounts.
- Hat genau einen Manager (das EOA, das ihn erstellt hat) und beliebig viele benannte API-Wallets.
- Prüft Direktivsignaturen. API-Wallets dürfen Orders und Stornierungen signieren, alles andere erfordert den Manager. Siehe EIP-712-Signierung.
- Direkte Aufrufe nur durch den Manager:
transferTo(recipient, token, amount)überträgt HyperEVM-Token aus dem Account, undapproveZeroFeeBuilder(builder)genehmigt einen Hyperliquid-Builder mit einer maximalen Gebühr von 0 %. Perp-Orders von Hypercall enthalten den Hypercall-Builder-Code, daher ist diese Genehmigung einmalig vor der ersten Perp-Order erforderlich. depositSpotüberträgt HYPE oder einen unterstützten Spot-Token von HyperEVM an den Account auf HyperCore.
Factory
Erstellt Accounts mit createAccount(uint96 salt). Die Adresse ist pro Manager und Salt deterministisch. predictAccount(manager, salt) gibt sie bereits vor der Erstellung zurück. Siehe Onboarding.
Router
Hilfsvertrag für Einzahlungen. deposit(account, token, amount, isPerp) leitet USDC über die CoreDepositWallet von Circle an HyperCore weiter, Spot-Token über den Account und Options-Token über die Exchange. depositHype(account) überträgt natives HYPE.
Option Registry
Stellt Options-ERC20s bereit und ist die maßgebliche Quelle dafür, ob ein Token eine unterstützte Option ist (isSupportedOption).
Direktivtypen
| Direktive | Signierer | Beschreibung |
|---|---|---|
hl_limit_order | API-Wallet | Hyperliquid-Limit-Order |
hl_cancel_by_oid | API-Wallet | Stornierung per Hyperliquid-Order-ID |
hl_cancel_by_cloid | API-Wallet | Stornierung per Client-Order-ID |
hc_update_api_wallet | Manager | Hinzufügen, Ersetzen oder Entfernen einer benannten API-Wallet im Account |
hl_add_api_wallet | Manager | Genehmigung einer Hyperliquid-API-Wallet für den Account auf HyperCore |
hl_send_asset | Manager | Senden von Assets aus dem Account auf HyperCore |
hl_set_abstraction | Manager | Festlegen des HyperCore-Kontomodus des Accounts (nur Unified) |
RSM-Direktiven (Gutschriften, Auszahlungen, Start und Ende einer Liquidation, Reduce-only-Wiederherstellungsorders) werden vom RSM-Signierer signiert und vom Sequencer eingereicht. Nutzer signieren sie nie. Siehe RSM-Direktiven.
Liquidation
Die Liquidation läuft in der Hypercall-Engine. Siehe Liquidation. Die Exchange verfügt über Hooks, mit denen ein On-Chain-Auktionsvertrag den Manager eines Accounts auf einen erfolgreichen Bieter übertragen kann, im Mainnet ist jedoch kein Auktionator konfiguriert.
Vertrauen und Berechtigungen
Dieser Abschnitt ist die Referenz dafür, wer on-chain was tun darf. Die Kurzfassung steht unter Vertrauensmodell.
Einreichung
Nur der Sequencer von Hypercall hält SEQUENCER_ROLE auf der Exchange und ist damit der einzige Aufrufer von executeUserDirective und executeRsmDirective. Sie signieren; Hypercall reicht ein. Der Sequencer kann keine Nutzer-Direktive fälschen: Der Account ermittelt den Signierer selbst und akzeptiert nur seinen Manager oder eine aktive API-Wallet.
RSM-Direktiven
Wenn der Engine-Zustand eine On-Chain-Aktion erfordert, signiert der RSM-Signierer eine Direktive und der Sequencer reicht sie ein. Die Exchange lehnt jede RSM-Direktive ab, die nicht vom registrierten RSM-Signierer (Exchange.rsmSigner) signiert ist. Der aktuelle RSM-Signierer wird vom Betreiber kontrolliert; die Roadmap wird veröffentlichen, wie diese Rolle dezentralisiert oder anderweitig vertrauensärmer gestaltet wird.
Direktiven, die die Exchange selbst ausführt:
- Überweisungen von USDC oder Spot-Token aus dem HyperCore-Guthaben der Exchange, einschließlich Standard-USDC-Auszahlungen
- Minten von Options-ERC20s an eine Adresse, wenn Optionen ausgezahlt werden
- Starten und Beenden der Liquidation eines Accounts
Direktiven, die ein Account von der RSM annimmt, durchgesetzt vom Account-Contract:
- Reduce-only-IOC-Orders oder marktnahe IOC-Spot-Verkäufe in USDC auf dem Hyperliquid-Guthaben des Accounts
- Asset-Überweisungen vom Account auf HyperCore, ausschließlich an die Exchange (zum Beispiel, um ein negatives Guthaben auszugleichen)
- Order-Stornierungen
RSM-Direktiven laufen auch weiter, während ein Account in Liquidation ist. Das Settlement bei Optionsverfall ist keine RSM-Direktive: Es wird im Engine-Zustand auf das Barguthaben angewendet. Die Adresse des RSM-Signierers und jede Ausführung einer Direktive sind on-chain sichtbar.
Upgrades
- Exchange und Option Registry sind upgradefähige Proxys.
- Account und Option Token sind BeaconProxys. Jeder Account läuft mit derselben Implementierung, daher ändert ein Upgrade des Account Beacon alle Accounts auf einmal. Dasselbe gilt für Options-Token und den Option Token Beacon.
- Der Timelock hält den Proxy-Admin der Exchange sowie die Upgrade-Pfade von Account, Option Token und Option Registry, mit einer Mindestverzögerung von 30 Sekunden.
- Der Admin Safe (Multisig) hält die Admin- und Governor-Rollen der Exchange sowie die Owner-Rolle der Factory.
- Die Governor-Rolle, gehalten vom Admin Safe, kann den RSM-Signer und den Auctioneer ersetzen und die USDC der Exchange bewegen (
rescueUsdcToEvm). Mit Schritt 1 des Vertrauensplans kommt sie unter den Timelock. Als Default-Admin der Exchange kann der Safe außerdemSEQUENCER_ROLEund jede andere Exchange-Rolle direkt vergeben oder entziehen, ohne Timelock.
Ihre Adressen stehen in der Tabelle Mainnet-Konfiguration unten. Die Kontoinhaberschaft ändert sich nur durch eine On-Chain-Transaktion.
Bereitgestellte Adressen
Mainnet Alpha
| Vertrag | Adresse | Beschreibung |
|---|---|---|
| Exchange | 0xE6b7FaA216cabb2b38B392f577C9c826378b2240 | Hauptvertrag der Exchange |
| Exchange Implementation | 0xF7F0610aC612d140bdb34DCD2872828Bc67349cD | Exchange-Implementierung hinter dem Proxy |
| Account Implementation | 0xCD87F572bef2855c8Ffb69A6Da3D9785d6017791 | Account-Implementierung |
| Account Beacon | 0x1b96D6a48d1fB34dC45953697414656D2851Ca93 | Account-Beacon |
| Fetcher | 0x8654912Eae1554662665C13EeD4f1D8A4b028aDB | Hilfsvertrag für Lesezugriffe |
| Option Token Implementation | 0x6D0C7a116f9561A8De692c23c4C11682738ed206 | Implementierung der Options-Token |
| Option Token Beacon | 0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35 | Beacon der Options-Token |
| Factory | 0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1b | Account-Factory |
| Router | 0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2D | Hilfsvertrag für Einzahlungen und Routing |
| Option Registry | 0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598 | Registry der Options-Token |
| Option Registry Implementation | 0xF222421a93df1086E329503723b3cC4c30546C46 | Implementierung der Option Registry hinter dem Proxy |
| Hypercall Fee Collector | 0x406ceBfC7063e55761007D1C4b66B29308016602 | Hyperliquid-Builder-Adresse bei Perp-Orders (auch hl_builder_address in GET /exchange-info) |
Mainnet-Konfiguration
| Parameter | Adresse oder Wert | Beschreibung |
|---|---|---|
| USDC | 0xb88339CB7199b77E23DB6E890353E22632Ba630f | Von Hypercall verwendetes HyperEVM-USDC |
| Core Deposit | 0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24 | Hilfsvertrag für HyperCore-Einzahlungen |
| RSM Signer | 0x502E7fAbF34E84EeB115C34FE947b79A94dF886E | Aktueller, vom Betreiber kontrollierter RSM-Signierer |
| Sequencer | 0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944 | Aktueller Sequencer |
| Timelock | 0x96f17e6f7269cA4300a391514c109eBA70661674 | Besitzt den Proxy-Admin der Exchange sowie die Upgrade-Pfade für Account, Option Token und Option Registry. Mindestverzögerung von 30 Sekunden. |
| Admin Safe | 0xF741246D2e0ADD4EFa7e88BE0961cccf3562b502 | Multisig, das die Admin- und Governor-Rollen der Exchange sowie die Owner-Rolle der Factory hält |
Quellcode
Der Quellcode der Verträge wird nach Abschluss des Audits veröffentlicht.
Verwandte Themen
- EIP-712-Signierung - Nachrichtenformate und Signierung
- Agent-Autorisierung - Einrichtung von API-Wallets
- Onboarding - Account-Erstellung und Einzahlungen
- API-Authentifizierung - Signieren von Anfragen