Cette page a été traduite automatiquement. La version anglaise fait référence. Lire en anglais →
Aller au contenu principal

Contrats

Mainnet Alpha

Voici les adresses actuelles des contrats de Hypercall Mainnet Alpha. Le périmètre de lancement est volontairement restreint pendant l'élargissement progressif de la plateforme.

Les composants on-chain de Hypercall sont déployés sur HyperEVM (chain ID 999). Chaque utilisateur dispose d'un contrat Account. L'Exchange détient l'USDC de la plateforme ainsi que la conservation des options, et exécute les directives signées sur les Accounts. La Factory crée les Accounts. L'Option Registry déploie et reconnaît les jetons d'options.

Responsabilités des contrats​

Exchange​

Proxy évolutif. Version 0.6.1 sur le réseau principal.

  • Détient l'USDC déposé sur HyperCore pour la plateforme (depositUsdcFor, depositPmLiquidityFor).
  • Brûle les ERC20 d'options lors du dépôt et émet Deposit pour que le moteur crédite le compte (depositOption).
  • Enregistre les Accounts créés par la Factory et suit le manager de chaque Account (getAccounts, getAccount, managers).
  • Exécute les directives signées. executeUserDirective transmet à l'Account une directive signée par le manager ou par un portefeuille API. executeRsmDirective exécute une directive système signée par le RSM (crédits, retraits, état de liquidation). Les deux ne peuvent être appelées que par le séquenceur de Hypercall : les utilisateurs signent, Hypercall soumet.
  • Suit les nonces utilisés par signataire (isNonceUsed).

Account​

Un par utilisateur, déployé en tant que BeaconProxy. Version 0.2.4 sur le réseau principal.

  • Détient les soldes et positions HyperCore de l'utilisateur. Les contrats perpétuels et le spot résident dans le registre HyperCore de l'Account.
  • Possède un seul manager (l'EOA qui l'a créé) et un nombre quelconque de portefeuilles API nommés.
  • Vérifie les signatures des directives. Les portefeuilles API peuvent signer des ordres et des annulations ; tout le reste requiert le manager. Voir Signature EIP-712.
  • Appels directs réservés au manager : transferTo(recipient, token, amount) transfère des jetons HyperEVM hors de l'Account, et approveZeroFeeBuilder(builder) approuve un builder Hyperliquid avec des frais maximaux de 0 %. Les ordres perpétuels de Hypercall portent le code builder de Hypercall : cette approbation est donc requise une fois avant le premier ordre perpétuel.
  • depositSpot fait passer du HYPE ou un jeton spot pris en charge de HyperEVM vers l'Account sur HyperCore.

Factory​

Crée les Accounts avec createAccount(uint96 salt). L'adresse est déterministe pour un manager et un salt donnés ; predictAccount(manager, salt) la renvoie avant la création. Voir Intégration.

Router​

Utilitaire de financement. deposit(account, token, amount, isPerp) achemine l'USDC vers HyperCore via le CoreDepositWallet de Circle, les jetons spot via l'Account, et les jetons d'options via l'Exchange. depositHype(account) fait passer le HYPE natif.

Option Registry​

Déploie les ERC20 d'options et fait autorité pour déterminer si un jeton est une option prise en charge (isSupportedOption).

Types de directives​

DirectiveSignataireDescription
hl_limit_orderPortefeuille APIOrdre à cours limité Hyperliquid
hl_cancel_by_oidPortefeuille APIAnnulation par ID d'ordre Hyperliquid
hl_cancel_by_cloidPortefeuille APIAnnulation par ID d'ordre client
hc_update_api_walletManagerAjouter, remplacer ou supprimer un portefeuille API nommé sur l'Account
hl_add_api_walletManagerApprouver un portefeuille API Hyperliquid pour l'Account sur HyperCore
hl_send_assetManagerEnvoyer des actifs depuis l'Account sur HyperCore
hl_set_abstractionManagerDéfinir le mode de compte HyperCore de l'Account (unifié uniquement)

Les directives RSM (crédits, retraits, début et fin de liquidation, ordres de récupération en réduction seule) sont signées par le signataire RSM et soumises par le séquenceur. Les utilisateurs ne les signent jamais. Voir Directives RSM.

Liquidation​

La liquidation s'exécute dans le moteur de Hypercall. Voir Liquidation. L'Exchange dispose de points d'ancrage permettant à un contrat d'enchères on-chain de transférer le manager d'un Account à l'enchérisseur gagnant, mais aucun commissaire-priseur n'est configuré sur le réseau principal.

Confiance et permissions​

Cette section est la référence sur qui peut faire quoi on-chain. Pour la version courte, voir Modèle de confiance.

Soumission​

Seul le séquenceur de Hypercall détient SEQUENCER_ROLE sur l'Exchange ; c'est donc le seul appelant de executeUserDirective et executeRsmDirective. Vous signez ; Hypercall soumet. Le séquenceur ne peut pas forger une directive utilisateur : l'Account retrouve lui-même le signataire et n'accepte que son manager ou un portefeuille API actif.

Directives RSM​

Lorsque l'état du moteur exige une action on-chain, le signataire RSM signe une directive et le séquenceur la soumet. L'Exchange rejette toute directive RSM qui n'est pas signée par le signataire RSM enregistré (Exchange.rsmSigner). Le signataire RSM actuel est contrôlé par l'opérateur ; la feuille de route précisera comment ce rôle sera décentralisé ou rendu moins dépendant de la confiance.

Directives exécutées par l'Exchange lui-même :

  • Envois d'USDC ou de tokens spot depuis le solde HyperCore de l'Exchange, y compris les retraits USDC standard
  • Émission d'ERC20 d'options vers une adresse lorsque des options sont retirées
  • Déclenchement et arrêt de la liquidation sur un Account

Directives qu'un Account accepte du RSM, imposées par le contrat Account :

  • Ordres IOC en réduction seule, ou ventes spot IOC proches du marché contre USDC, sur le solde Hyperliquid de l'Account
  • Envois d'actifs depuis l'Account sur HyperCore, uniquement vers l'Exchange (par exemple pour couvrir un solde négatif)
  • Annulations d'ordres

Les directives RSM continuent de s'exécuter pendant qu'un Account est en liquidation. Le règlement des options à l'échéance n'est pas une directive RSM : il est appliqué à la trésorerie dans l'état du moteur. L'adresse du signataire RSM et chaque exécution de directive sont visibles on-chain.

Mises à niveau​

  • Exchange et Option Registry sont des proxies évolutifs.
  • Account et Option Token sont des BeaconProxies. Tous les Accounts exécutent la même implémentation, donc une mise à niveau de l'Account Beacon modifie tous les Accounts en une fois. Il en va de même pour les tokens d'options et l'Option Token Beacon.
  • Le Timelock détient l'admin du proxy de l'Exchange et les chemins de mise à niveau d'Account, d'Option Token et d'Option Registry, avec un délai minimal de 30 secondes.
  • L'Admin Safe (multisig) détient les rôles admin et governor de l'Exchange et le rôle owner de la Factory.
  • Le rôle governor, détenu par l'Admin Safe, peut remplacer le signataire RSM et l'auctioneer et déplacer l'USDC de l'Exchange (rescueUsdcToEvm). Il passera sous le timelock à l'étape 1 du plan de confiance. En tant qu'admin par défaut de l'Exchange, le Safe peut aussi accorder ou révoquer SEQUENCER_ROLE et tout autre rôle de l'Exchange directement, sans le timelock.

Leurs adresses figurent dans le tableau de configuration Mainnet ci-dessous. La propriété d'un compte ne change que par une transaction on-chain.

Adresses déployées​

Mainnet Alpha​

ContratAdresseDescription
Exchange0xE6b7FaA216cabb2b38B392f577C9c826378b2240Contrat principal de l'Exchange
Exchange Implementation0xF7F0610aC612d140bdb34DCD2872828Bc67349cDImplémentation de l'Exchange derrière le proxy
Account Implementation0xCD87F572bef2855c8Ffb69A6Da3D9785d6017791Implémentation de l'Account
Account Beacon0x1b96D6a48d1fB34dC45953697414656D2851Ca93Beacon de l'Account
Fetcher0x8654912Eae1554662665C13EeD4f1D8A4b028aDBContrat utilitaire de lecture
Option Token Implementation0x6D0C7a116f9561A8De692c23c4C11682738ed206Implémentation du jeton d'option
Option Token Beacon0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35Beacon du jeton d'option
Factory0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1bFactory de comptes
Router0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2DUtilitaire de financement et d'acheminement
Option Registry0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598Registre des jetons d'options
Option Registry Implementation0xF222421a93df1086E329503723b3cC4c30546C46Implémentation de l'Option Registry derrière le proxy
Hypercall Fee Collector0x406ceBfC7063e55761007D1C4b66B29308016602Adresse builder Hyperliquid sur les ordres perpétuels (également hl_builder_address dans GET /exchange-info)

Configuration du réseau principal​

ParamètreAdresse ou valeurDescription
USDC0xb88339CB7199b77E23DB6E890353E22632Ba630fUSDC HyperEVM utilisé par Hypercall
Core Deposit0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24Utilitaire de dépôt HyperCore
RSM Signer0x502E7fAbF34E84EeB115C34FE947b79A94dF886ESignataire RSM actuel, contrôlé par l'opérateur
Sequencer0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944Séquenceur actuel
Timelock0x96f17e6f7269cA4300a391514c109eBA70661674Détient l'admin du proxy de l'Exchange ainsi que les chemins de mise à niveau de l'Account, de l'Option Token et de l'Option Registry. Délai minimal de 30 secondes.
Admin Safe0xF741246D2e0ADD4EFa7e88BE0961cccf3562b502Multisig détenant les rôles admin et governor de l'Exchange ainsi que le rôle owner de la Factory

Code source​

Le code source des contrats sera publié une fois l'audit terminé.

Voir aussi​