Diese Seite wurde maschinell übersetzt. Das englische Original ist maßgeblich. Auf Englisch lesen →
Zum Hauptinhalt springen

Verträge

Mainnet Alpha

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. executeUserDirective leitet eine vom Manager oder einer API-Wallet signierte Direktive an den Account weiter. executeRsmDirective fü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, und approveZeroFeeBuilder(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​

DirektiveSigniererBeschreibung
hl_limit_orderAPI-WalletHyperliquid-Limit-Order
hl_cancel_by_oidAPI-WalletStornierung per Hyperliquid-Order-ID
hl_cancel_by_cloidAPI-WalletStornierung per Client-Order-ID
hc_update_api_walletManagerHinzufügen, Ersetzen oder Entfernen einer benannten API-Wallet im Account
hl_add_api_walletManagerGenehmigung einer Hyperliquid-API-Wallet für den Account auf HyperCore
hl_send_assetManagerSenden von Assets aus dem Account auf HyperCore
hl_set_abstractionManagerFestlegen 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ßerdem SEQUENCER_ROLE und 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​

VertragAdresseBeschreibung
Exchange0xE6b7FaA216cabb2b38B392f577C9c826378b2240Hauptvertrag der Exchange
Exchange Implementation0xF7F0610aC612d140bdb34DCD2872828Bc67349cDExchange-Implementierung hinter dem Proxy
Account Implementation0xCD87F572bef2855c8Ffb69A6Da3D9785d6017791Account-Implementierung
Account Beacon0x1b96D6a48d1fB34dC45953697414656D2851Ca93Account-Beacon
Fetcher0x8654912Eae1554662665C13EeD4f1D8A4b028aDBHilfsvertrag für Lesezugriffe
Option Token Implementation0x6D0C7a116f9561A8De692c23c4C11682738ed206Implementierung der Options-Token
Option Token Beacon0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35Beacon der Options-Token
Factory0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1bAccount-Factory
Router0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2DHilfsvertrag für Einzahlungen und Routing
Option Registry0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598Registry der Options-Token
Option Registry Implementation0xF222421a93df1086E329503723b3cC4c30546C46Implementierung der Option Registry hinter dem Proxy
Hypercall Fee Collector0x406ceBfC7063e55761007D1C4b66B29308016602Hyperliquid-Builder-Adresse bei Perp-Orders (auch hl_builder_address in GET /exchange-info)

Mainnet-Konfiguration​

ParameterAdresse oder WertBeschreibung
USDC0xb88339CB7199b77E23DB6E890353E22632Ba630fVon Hypercall verwendetes HyperEVM-USDC
Core Deposit0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24Hilfsvertrag für HyperCore-Einzahlungen
RSM Signer0x502E7fAbF34E84EeB115C34FE947b79A94dF886EAktueller, vom Betreiber kontrollierter RSM-Signierer
Sequencer0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944Aktueller Sequencer
Timelock0x96f17e6f7269cA4300a391514c109eBA70661674Besitzt den Proxy-Admin der Exchange sowie die Upgrade-Pfade für Account, Option Token und Option Registry. Mindestverzögerung von 30 Sekunden.
Admin Safe0xF741246D2e0ADD4EFa7e88BE0961cccf3562b502Multisig, 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​