Contrats
Voici les adresses actuelles des contrats de l'Alpha du réseau principal de Hypercall. Le périmètre du lancement est volontairement restreint pendant que la plateforme s'élargit.
Les composants on-chain de Hypercall sont déployés sur Hyperliquid L1 (HyperEVM). Le système utilise une architecture modulaire avec des contrats séparés pour la gestion des comptes, le traitement des ordres et la gestion des tokens d'option.
Vue d'ensemble de l'architecture
Responsabilités des contrats
Exchange
L'Exchange est le point d'entrée principal et utilise un modèle de proxy évolutif (upgradeable proxy).
Responsabilités :
- Crée les Accounts des utilisateurs via le modèle BeaconProxy
- Conserve les USDC déposés sur HyperCore (fonds d'assurance + positions d'options)
- Point d'entrée du RSM Sequencer pour les actions/requêtes on-chain
- Gère les dépôts et retraits d'ERC20 d'options (pont entre HyperEVM et le registre RSM)
- Suit et résout les enchères de liquidation complète
- Émet des événements avec les actions ActionCaster brutes
Fonctions clés :
createAccount()- Crée un nouveau compte avec l'appelant comme gestionnairedeposit(account, token, amount)- Dépose des tokens sur un compteaddApiWallet(account, apiWallet)- Autorise un portefeuille API pour le tradinghlRequestOrder(...)- Place des ordres perp/spot HyperLiquid via ActionCasterhlRequestCancel(...)- Annule des ordres HyperLiquidhlActionSendAsset(...)- Envoie des actifs depuis l'Account vers un destinatairehcActionWithdrawToken(...)- Retire des tokens de l'Exchange vers l'AccounthcActionWithdrawOption(...)- Retire des options vers un destinataire HyperEVMrsmCommandRebalance(...)- Ordres reduce-only initiés par le RSMrsmCommandRepay(...)- Remboursement de dette initié par le RSM
Account
Chaque utilisateur possède son propre contrat Account (BeaconProxy pointant vers une implémentation partagée).
Responsabilités :
- Conserve le collatéral côté HyperCore pour les traders/MMs utilisant des actifs autres que l'USDC
- Possède un gestionnaire unique qui peut ajouter plusieurs clés d'agent
- Les clés d'agent ne peuvent signer que des ordres/annulations ; les autres actions nécessitent la signature du gestionnaire
- Point d'entrée des gestionnaires pour toutes les actions associées au compte
Concepts clés :
- Gestionnaire : le propriétaire du compte qui peut autoriser des agents et signer les retraits
- Clés d'agent : signataires autorisés uniquement pour le placement/l'annulation d'ordres
- Portefeuilles API : adresses autorisées pouvant soumettre des ordres au nom du compte
Dépôts :
- Les ERC20 d'options sont déposés en appelant
Exchange.deposit() - Les autres actifs sont transférés vers HyperCore via le pont HyperEVM → HyperCore de l'actif
- Les dépôts d'USDC dans la « position Option USDC » se font via un transfert HyperCore de l'Account vers l'Exchange
Processor
Le Processor gère la vérification des signatures et l'encodage des actions.
Responsabilités :
- Reconstruit les adresses des signataires à partir des signatures
- Encode les actions au format ActionCaster
- Convertit les montants en USD en HYPE pour les calculs de dépôt
Fonctions clés :
hlRequestOrder(...)- Traite les requêtes d'ordreshlRequestCancel(...)- Traite les requêtes d'annulationhlActionSendAsset(...)- Traite les actions d'envoi d'actifsrsmCommandRebalance(...)- Traite les commandes de rééquilibrage du RSMrsmCommandRepay(...)- Traite les commandes de remboursement du RSMusdToHype(amountUsd)- Convertit l'USD en HYPE selon le prix spot
Registry
Le Registry gère le déploiement et la validation des tokens d'option.
Responsabilités :
- Déploie les tokens ERC20 d'options
- Source de vérité pour déterminer si un ERC20 est un token d'option pris en charge
- Les adresses sur liste blanche peuvent déployer de nouveaux tokens d'option
Garde-fous à venir :
- Ensemble autorisé d'actifs sous-jacents
- Horodatages d'échéance autorisés
- Granularité des prix d'exercice autorisée
Types d'actions
Requêtes HyperLiquid
Requêtes qui interagissent avec le carnet d'ordres de HyperLiquid :
| Action | Signataire | Description |
|---|---|---|
hlRequestOrder | Agent/Portefeuille API | Placer des ordres perp/spot |
hlRequestCancel | Agent/Portefeuille API | Annuler des ordres par OID |
hlRequestCancelByCloid | Agent/Portefeuille API | Annuler des ordres par CLOID |
Actions du gestionnaire
Actions qui nécessitent la signature du gestionnaire du compte :
| Action | Description |
|---|---|
hlActionSendAsset | Envoyer des actifs depuis l'Account vers un destinataire |
hcActionWithdrawToken | Retirer des tokens de l'Exchange vers l'Account |
hcActionWithdrawOption | Retirer des options vers une adresse HyperEVM |
Commandes RSM
Commandes signées par le signataire RSM (aucun consentement du gestionnaire requis) :
| Commande | Description |
|---|---|
rsmCommandRebalance | Publier des ordres reduce-only pour augmenter le solde en USDC |
rsmCommandRepay | Forcer un transfert d'USDC de l'Account vers l'Exchange |
Vérification des signatures
- Exchange vérifie les signatures du signataire RSM
- Account vérifie les signatures du gestionnaire et des agents
- Les commandes RSM sont transmises sans signature du gestionnaire (le signataire RSM est de confiance)
Enchères de liquidation
Lorsqu'un compte devient sous-collatéralisé :
- Le RSM Sequencer déclenche une enchère de liquidation complète
- N'importe qui peut enchérir en fournissant le montant d'USDC demandé
- Le gagnant devient le nouveau gestionnaire de l'Account
- Le RSM Sequencer peut arrêter les enchères en cours si les conditions changent
Adresses déployées
Alpha du réseau principal
| Contrat | Adresse | Description |
|---|---|---|
| Exchange | 0xE6b7FaA216cabb2b38B392f577C9c826378b2240 | Contrat principal de l'exchange |
| Implémentation de l'Exchange | 0xeEf31f6c8F2EFABba61C99d9efBEf4e6429024Cf | Implémentation de l'Exchange derrière le proxy |
| Implémentation de l'Account | 0xa8E861eAE5Bc47beDcF4896C7c5c676f563F5f1C | Implémentation de l'Account |
| Beacon de l'Account | 0x1b96D6a48d1fB34dC45953697414656D2851Ca93 | Beacon de l'Account |
| Fetcher | 0x8654912Eae1554662665C13EeD4f1D8A4b028aDB | Contrat auxiliaire de lecture |
| Implémentation du token d'option | 0x6D0C7a116f9561A8De692c23c4C11682738ed206 | Implémentation du token d'option |
| Beacon du token d'option | 0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35 | Beacon du token d'option |
| Factory | 0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1b | Factory de comptes |
| Router | 0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2D | Auxiliaire de financement et de routage |
| Registre d'options | 0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598 | Registre des tokens d'option |
| Implémentation du registre d'options | 0xF222421a93df1086E329503723b3cC4c30546C46 | Implémentation du registre d'options derrière le proxy |
Configuration du réseau principal
| Paramètre | Adresse ou valeur | Description |
|---|---|---|
| USDC | 0xb88339CB7199b77E23DB6E890353E22632Ba630f | USDC HyperEVM utilisé par Hypercall |
| Core Deposit | 0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24 | Auxiliaire de dépôt HyperCore |
| Signataire RSM | 0x502E7fAbF34E84EeB115C34FE947b79A94dF886E | Signataire RSM actuel contrôlé par l'opérateur |
| Sequencer | 0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944 | Sequencer actuel |
| Sequencer hérité | 0x8640A393730Fa671CF1C71CF5fcD2F8E299C44f7 | Sequencer hérité |
Code source
Le code source des contrats sera rendu disponible après la finalisation de l'audit.
Voir aussi
- Signature EIP-712 - Formats de messages et signature
- Autorisation d'agent - Configuration du portefeuille API
- Intégration - Création de compte et dépôts
- Authentification API - Signature des requêtes