Contratos
Estas son las direcciones actuales de los contratos de Hypercall Mainnet Alpha. El alcance del lanzamiento está limitado de forma intencional mientras la plataforma se amplía.
Los componentes on-chain de Hypercall están desplegados en HyperEVM (chain ID 999). Cada usuario recibe un contrato Account. El Exchange custodia el USDC y las opciones de la plataforma y ejecuta directivas firmadas sobre las Accounts. La Factory crea las Accounts. El Option Registry despliega y reconoce los tokens de opciones.
Responsabilidades de los contratos
Exchange
Proxy actualizable. Versión 0.6.1 en mainnet.
- Custodia en HyperCore el USDC depositado para la plataforma (
depositUsdcFor,depositPmLiquidityFor). - Quema los ERC20 de opciones al depositarlos y emite
Depositpara que el motor acredite el saldo (depositOption). - Registra las Accounts creadas por la Factory y lleva el registro del manager de cada Account (
getAccounts,getAccount,managers). - Ejecuta directivas firmadas.
executeUserDirectivereenvía a la Account una directiva firmada por el manager o por una API wallet.executeRsmDirectiveejecuta una directiva de sistema firmada por el RSM (créditos, retiros, estado de liquidación). Solo el sequencer de Hypercall puede llamar a ambas: los usuarios firman y Hypercall envía. - Registra los nonces usados por cada firmante (
isNonceUsed).
Account
Una por usuario, desplegada como BeaconProxy. Versión 0.2.4 en mainnet.
- Contiene los saldos y posiciones del usuario en HyperCore. Los perpetuos y el spot están en el ledger de HyperCore de la Account.
- Tiene un manager (la EOA que la creó) y cualquier número de API wallets con nombre.
- Verifica las firmas de las directivas. Las API wallets pueden firmar órdenes y cancelaciones. Todo lo demás requiere al manager. Consulte Firma EIP-712.
- Llamadas directas exclusivas del manager:
transferTo(recipient, token, amount)transfiere tokens de HyperEVM fuera de la Account, yapproveZeroFeeBuilder(builder)aprueba un builder de Hyperliquid con una comisión máxima del 0%. Las órdenes de perpetuos de Hypercall llevan el builder code de Hypercall, por lo que esta aprobación debe hacerse una vez antes de la primera orden de perpetuos. depositSpottransfiere HYPE o un token spot compatible desde HyperEVM a la Account en HyperCore.
Factory
Crea Accounts con createAccount(uint96 salt). La dirección es determinista para cada combinación de manager y salt. predictAccount(manager, salt) la devuelve antes de la creación. Consulte Onboarding.
Router
Auxiliar de fondeo. deposit(account, token, amount, isPerp) enruta el USDC a HyperCore a través del CoreDepositWallet de Circle, los tokens spot a través de la Account y los tokens de opciones a través del Exchange. depositHype(account) transfiere HYPE nativo.
Option Registry
Despliega los ERC20 de opciones y es la fuente de verdad sobre si un token es una opción compatible (isSupportedOption).
Tipos de directivas
| Directiva | Firmante | Descripción |
|---|---|---|
hl_limit_order | API wallet | Orden límite en Hyperliquid |
hl_cancel_by_oid | API wallet | Cancelación por ID de orden de Hyperliquid |
hl_cancel_by_cloid | API wallet | Cancelación por ID de orden del cliente |
hc_update_api_wallet | Manager | Agrega, reemplaza o elimina una API wallet con nombre en la Account |
hl_add_api_wallet | Manager | Aprueba una API wallet de Hyperliquid para la Account en HyperCore |
hl_send_asset | Manager | Envía activos desde la Account en HyperCore |
hl_set_abstraction | Manager | Configura el modo de cuenta de HyperCore de la Account (solo unified) |
Las directivas RSM (créditos, retiros, inicio y fin de liquidación, órdenes de recuperación reduce-only) las firma el firmante RSM y las envía el sequencer. Los usuarios nunca las firman. Consulte Directivas RSM.
Liquidación
La liquidación se ejecuta en el motor de Hypercall. Consulte Liquidación. El Exchange tiene hooks para que un contrato de subasta on-chain transfiera el manager de una Account al postor ganador, pero no hay ningún subastador configurado en mainnet.
Confianza y permisos
Esta sección es la referencia de quién puede hacer qué on-chain. Para la versión breve, consulte Modelo de confianza.
Envío
Solo el sequencer de Hypercall tiene SEQUENCER_ROLE en el Exchange, así que es el único que puede llamar a executeUserDirective y executeRsmDirective. Usted firma; Hypercall envía. El sequencer no puede falsificar una directiva de usuario: la Account recupera ella misma el firmante y solo acepta a su manager o a una API wallet activa.
Directivas RSM
Cuando el estado del motor requiere una acción on-chain, el firmante RSM firma una directiva y el sequencer la envía. El Exchange rechaza cualquier directiva RSM que no esté firmada por el firmante RSM registrado (Exchange.rsmSigner). El firmante RSM actual está controlado por el operador; la hoja de ruta publicará cómo se descentraliza este rol o cómo se reduce de otro modo la confianza necesaria.
Directivas que ejecuta el propio Exchange:
- Envíos de USDC o tokens spot desde el saldo de HyperCore del Exchange, incluidos los retiros estándar de USDC
- Acuñación (mint) de ERC20 de opciones a una dirección cuando se retiran opciones
- Inicio y detención de la liquidación de una Account
Directivas que una Account acepta del RSM, impuestas por el contrato Account:
- Órdenes IOC reduce-only, o ventas spot IOC cercanas al mercado a cambio de USDC, sobre el saldo de Hyperliquid de la Account
- Envíos de activos desde la Account en HyperCore, solo al Exchange (por ejemplo, para cubrir un saldo negativo)
- Cancelaciones de órdenes
Las directivas RSM se siguen ejecutando mientras una Account está en liquidación. El settlement de opciones al vencimiento no es una directiva RSM: se aplica al efectivo en el estado del motor. La dirección del firmante RSM y cada ejecución de directivas son visibles on-chain.
Actualizaciones
- Exchange y Option Registry son proxies actualizables.
- Account y Option Token son BeaconProxies. Todas las Accounts ejecutan la misma implementación, así que una actualización del Account Beacon cambia todas las Accounts a la vez. Lo mismo vale para los tokens de opciones y el Option Token Beacon.
- El Timelock es dueño del proxy admin del Exchange y de las rutas de actualización de Account, Option Token y Option Registry, con un retraso mínimo de 30 segundos.
- El Admin Safe (multisig) tiene los roles de admin y governor del Exchange y el rol de owner de la Factory.
- El rol governor, en manos del Admin Safe, puede reemplazar el firmante RSM y el auctioneer y mover el USDC del Exchange (
rescueUsdcToEvm). Quedará bajo el timelock en el paso 1 del plan de confianza. Como admin por defecto del Exchange, el Safe también puede otorgar o revocarSEQUENCER_ROLEy cualquier otro rol del Exchange directamente, sin el timelock.
Sus direcciones están en la tabla de configuración de Mainnet más abajo. La propiedad de una Account solo cambia mediante una transacción on-chain.
Direcciones desplegadas
Mainnet Alpha
| Contrato | Dirección | Descripción |
|---|---|---|
| Exchange | 0xE6b7FaA216cabb2b38B392f577C9c826378b2240 | Contrato principal del exchange |
| Exchange Implementation | 0xF7F0610aC612d140bdb34DCD2872828Bc67349cD | Implementación del Exchange detrás del proxy |
| Account Implementation | 0xCD87F572bef2855c8Ffb69A6Da3D9785d6017791 | Implementación de Account |
| Account Beacon | 0x1b96D6a48d1fB34dC45953697414656D2851Ca93 | Beacon de Account |
| Fetcher | 0x8654912Eae1554662665C13EeD4f1D8A4b028aDB | Contrato auxiliar de lectura |
| Option Token Implementation | 0x6D0C7a116f9561A8De692c23c4C11682738ed206 | Implementación del token de opción |
| Option Token Beacon | 0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35 | Beacon del token de opción |
| Factory | 0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1b | Factory de Accounts |
| Router | 0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2D | Auxiliar de fondeo y enrutamiento |
| Option Registry | 0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598 | Registro de tokens de opciones |
| Option Registry Implementation | 0xF222421a93df1086E329503723b3cC4c30546C46 | Implementación del Option Registry detrás del proxy |
| Hypercall Fee Collector | 0x406ceBfC7063e55761007D1C4b66B29308016602 | Dirección de builder de Hyperliquid en las órdenes de perpetuos (también hl_builder_address en GET /exchange-info) |
Configuración de mainnet
| Parámetro | Dirección o valor | Descripción |
|---|---|---|
| USDC | 0xb88339CB7199b77E23DB6E890353E22632Ba630f | USDC de HyperEVM utilizado por Hypercall |
| Core Deposit | 0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24 | Auxiliar de depósitos en HyperCore |
| RSM Signer | 0x502E7fAbF34E84EeB115C34FE947b79A94dF886E | Firmante RSM actual controlado por el operador |
| Sequencer | 0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944 | Sequencer actual |
| Timelock | 0x96f17e6f7269cA4300a391514c109eBA70661674 | Es propietario del proxy admin del Exchange y de las rutas de actualización de Account, Option Token y Option Registry. Retardo mínimo de 30 segundos. |
| Admin Safe | 0xF741246D2e0ADD4EFa7e88BE0961cccf3562b502 | Multisig que tiene los roles de admin y governor del Exchange y el rol de owner de la Factory |
Código fuente
El código fuente de los contratos se publicará cuando finalice la auditoría.
Relacionado
- Firma EIP-712 - Formatos de mensajes y firma
- Autorización de agentes - Configuración de API wallets
- Onboarding - Creación de cuentas y depósitos
- Autenticación de la API - Firma de solicitudes