이 페이지는 자동 번역되었습니다. 영어 원문이 정본입니다. 영어로 읽기 →
메인 콘텐츠로 건너뛰기

컨트랙트

메인넷 알파

현재 Hypercall 메인넷 알파의 컨트랙트 주소입니다. 거래소 범위가 넓어지는 동안 출시 범위는 의도적으로 제한되어 있습니다.

Hypercall의 온체인 구성 요소는 HyperEVM(체인 ID 999)에 배포되어 있습니다. 각 사용자에게는 Account 컨트랙트가 하나씩 주어집니다. Exchange는 거래소의 USDC와 옵션 커스터디를 보유하고 서명된 디렉티브를 Account에 대해 실행합니다. Factory는 Account를 생성하고, Option Registry는 옵션 토큰을 배포하고 인식합니다.

컨트랙트별 역할​

Exchange​

업그레이드 가능한 프록시입니다. 메인넷 버전은 0.6.1입니다.

  • 거래소를 위해 입금된 USDC를 HyperCore에 보유합니다(depositUsdcFor, depositPmLiquidityFor).
  • 입금 시 옵션 ERC20을 소각하고, 엔진이 잔고를 반영할 수 있도록 Deposit 이벤트를 발생시킵니다(depositOption).
  • Factory가 생성한 Account를 등록하고 각 Account의 매니저를 추적합니다(getAccounts, getAccount, managers).
  • 서명된 디렉티브를 실행합니다. executeUserDirective는 매니저 또는 API 지갑이 서명한 디렉티브를 Account로 전달합니다. executeRsmDirective는 RSM이 서명한 시스템 디렉티브(입금 반영, 출금, 청산 상태)를 실행합니다. 두 함수 모두 Hypercall의 시퀀서만 호출할 수 있습니다. 사용자가 서명하고 Hypercall이 제출합니다.
  • 서명자별 사용된 논스를 추적합니다(isNonceUsed).

Account​

사용자당 하나씩 BeaconProxy로 배포됩니다. 메인넷 버전은 0.2.4입니다.

  • 사용자의 HyperCore 잔고와 포지션을 소유합니다. 퍼프와 현물은 Account의 HyperCore 원장에 기록됩니다.
  • 매니저(Account를 생성한 EOA) 하나와 이름이 지정된 API 지갑을 개수 제한 없이 가집니다.
  • 디렉티브 서명을 검증합니다. API 지갑은 주문과 취소에 서명할 수 있으며, 그 외의 모든 작업에는 매니저 서명이 필요합니다. EIP-712 서명을 참조하십시오.
  • 매니저 전용 직접 호출: transferTo(recipient, token, amount)는 HyperEVM 토큰을 Account 밖으로 이동시키고, approveZeroFeeBuilder(builder)는 Hyperliquid 빌더를 최대 수수료 0%로 승인합니다. Hypercall 퍼프 주문에는 Hypercall 빌더 코드가 포함되므로, 첫 퍼프 주문 전에 이 승인을 한 번 해야 합니다.
  • depositSpot은 HYPE 또는 지원되는 현물 토큰을 HyperEVM에서 HyperCore의 Account로 브리지합니다.

Factory​

createAccount(uint96 salt)로 Account를 생성합니다. 주소는 매니저와 salt에 따라 결정론적으로 정해지며, predictAccount(manager, salt)로 생성 전에 주소를 확인할 수 있습니다. 온보딩을 참조하십시오.

Router​

입금 보조 컨트랙트입니다. deposit(account, token, amount, isPerp)는 USDC를 Circle의 CoreDepositWallet을 통해 HyperCore로, 현물 토큰은 Account를 통해, 옵션 토큰은 Exchange를 통해 라우팅합니다. depositHype(account)는 네이티브 HYPE를 브리지합니다.

Option Registry​

옵션 ERC20을 배포하며, 토큰이 지원되는 옵션인지 여부에 대한 기준 정보입니다(isSupportedOption).

디렉티브 유형​

디렉티브서명자설명
hl_limit_orderAPI 지갑Hyperliquid 지정가 주문
hl_cancel_by_oidAPI 지갑Hyperliquid 주문 ID로 취소
hl_cancel_by_cloidAPI 지갑클라이언트 주문 ID로 취소
hc_update_api_wallet매니저Account에 이름이 지정된 API 지갑 추가, 교체 또는 제거
hl_add_api_wallet매니저HyperCore에서 Account용 Hyperliquid API 지갑 승인
hl_send_asset매니저HyperCore의 Account에서 자산 전송
hl_set_abstraction매니저Account의 HyperCore 계정 모드 설정(unified만 지원)

RSM 디렉티브(입금 반영, 출금, 청산 시작 및 중지, 포지션 축소 전용 복구 주문)는 RSM 서명자가 서명하고 시퀀서가 제출합니다. 사용자가 이에 서명하는 일은 없습니다. RSM 디렉티브를 참고하십시오.

청산​

청산은 Hypercall 엔진에서 실행됩니다. 청산을 참조하십시오. Exchange에는 온체인 경매 컨트랙트가 Account의 매니저 권한을 낙찰자에게 이전할 수 있는 훅이 있지만, 메인넷에는 경매 운영자가 설정되어 있지 않습니다.

신뢰 및 권한​

이 섹션은 온체인에서 누가 무엇을 할 수 있는지에 대한 레퍼런스입니다. 요약은 신뢰 모델을 참고하십시오.

제출​

Exchange의 SEQUENCER_ROLE은 Hypercall의 시퀀서만 보유하므로 executeUserDirective와 executeRsmDirective를 호출할 수 있는 것도 시퀀서뿐입니다. 서명은 사용자가 하고 제출은 Hypercall이 합니다. 시퀀서는 사용자 디렉티브를 위조할 수 없습니다. Account가 직접 서명자를 복원하며 매니저 또는 활성 API 지갑만 받아들입니다.

RSM 디렉티브​

엔진 상태에 온체인 작업이 필요해지면 RSM 서명자가 디렉티브에 서명하고 시퀀서가 이를 제출합니다. Exchange는 등록된 RSM 서명자(Exchange.rsmSigner)가 서명하지 않은 RSM 디렉티브를 모두 거부합니다. 현재 RSM 서명자는 운영자가 통제합니다. 이 역할을 어떻게 탈중앙화하거나 신뢰를 최소화할지는 로드맵에서 공개할 예정입니다.

Exchange가 직접 실행하는 디렉티브:

  • Exchange의 HyperCore 잔고에서 USDC 또는 스팟 토큰 송금(표준 USDC 출금 포함)
  • 옵션 출금 시 옵션 ERC20을 주소로 민팅
  • Account에 대한 청산 시작 및 중지

Account가 RSM으로부터 받아들이는 디렉티브(Account 컨트랙트가 제약을 강제):

  • Account의 Hyperliquid 잔고에 대한 포지션 축소 전용 IOC 주문, 또는 시장가 부근에서 USDC로 매도하는 IOC 스팟 매도 주문
  • HyperCore에서 Account의 자산 송금. 수신처는 Exchange만 가능(예: 음수 잔고 보전)
  • 주문 취소

RSM 디렉티브는 Account가 청산 중일 때도 실행됩니다. 옵션 만기 결제는 RSM 디렉티브가 아니며 엔진 상태의 현금에 적용됩니다. RSM 서명자 주소와 모든 디렉티브 실행은 온체인에서 확인할 수 있습니다.

업그레이드​

  • Exchange와 Option Registry는 업그레이드 가능한 프록시입니다.
  • Account와 Option Token은 BeaconProxy입니다. 모든 Account가 같은 구현을 실행하므로 Account Beacon을 한 번 업그레이드하면 모든 Account가 동시에 바뀝니다. 옵션 토큰과 Option Token Beacon도 마찬가지입니다.
  • Timelock은 Exchange 프록시 관리자 권한과 Account, Option Token, Option Registry의 업그레이드 경로를 보유하며, 최소 지연은 30초입니다.
  • Admin Safe 멀티시그는 Exchange의 관리자 역할과 거버너 역할, Factory 소유자 역할을 보유합니다.
  • Admin Safe가 보유한 거버너 역할은 RSM 서명자와 옥셔니어를 교체하고 Exchange의 USDC를 이동할 수 있습니다(rescueUsdcToEvm). 신뢰 계획 1단계에서 타임락 대상이 됩니다. 또한 Exchange의 기본 관리자로서 Safe는 SEQUENCER_ROLE을 비롯한 모든 Exchange 역할을 타임락 없이 직접 부여하거나 회수할 수 있습니다.

이들의 주소는 아래 메인넷 구성 표에 있습니다. 계정 소유권은 온체인 트랜잭션으로만 변경됩니다.

배포된 주소​

메인넷 알파​

컨트랙트주소설명
Exchange0xE6b7FaA216cabb2b38B392f577C9c826378b2240메인 거래소 컨트랙트
Exchange Implementation0xF7F0610aC612d140bdb34DCD2872828Bc67349cD프록시 뒤의 Exchange 구현체
Account Implementation0xCD87F572bef2855c8Ffb69A6Da3D9785d6017791Account 구현체
Account Beacon0x1b96D6a48d1fB34dC45953697414656D2851Ca93Account 비콘
Fetcher0x8654912Eae1554662665C13EeD4f1D8A4b028aDB조회용 보조 컨트랙트
Option Token Implementation0x6D0C7a116f9561A8De692c23c4C11682738ed206옵션 토큰 구현체
Option Token Beacon0xfb320352B25Dba7f139EA9Bf8966891CCa12dC35옵션 토큰 비콘
Factory0x2CeeAC2E032e4cCb05FF744619BfAb8cC75efE1bAccount 팩토리
Router0xF41FF41B6F007dE851ACc9F43Bd2f597Da741E2D입금 및 라우팅 보조 컨트랙트
Option Registry0x8C8efdd5F78C25215d03c8BbD5D1f6f0F1BB0598옵션 토큰 레지스트리
Option Registry Implementation0xF222421a93df1086E329503723b3cC4c30546C46프록시 뒤의 옵션 레지스트리 구현체
Hypercall Fee Collector0x406ceBfC7063e55761007D1C4b66B29308016602퍼프 주문의 Hyperliquid 빌더 주소(GET /exchange-info의 hl_builder_address와 동일)

메인넷 설정​

파라미터주소 또는 값설명
USDC0xb88339CB7199b77E23DB6E890353E22632Ba630fHypercall이 사용하는 HyperEVM USDC
Core Deposit0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24HyperCore 입금 보조 컨트랙트
RSM Signer0x502E7fAbF34E84EeB115C34FE947b79A94dF886E현재 운영자가 관리하는 RSM 서명자
Sequencer0x56a2924217C91EB4d6989Cf4C7b4dF03020E8944현재 시퀀서
Timelock0x96f17e6f7269cA4300a391514c109eBA70661674Exchange 프록시 관리자 권한과 Account, Option Token, Option Registry의 업그레이드 경로를 소유합니다. 최소 지연 시간은 30초입니다.
Admin Safe0xF741246D2e0ADD4EFa7e88BE0961cccf3562b502Exchange 관리자 및 거버너 역할과 Factory 소유자 역할을 보유한 멀티시그

소스 코드​

컨트랙트 소스 코드는 감사 완료 후 공개될 예정입니다.

관련 문서​