Các chế độ lỗi
Hành vi của hệ thống khi xảy ra sự cố ngừng hoạt động và trong điều kiện suy giảm.
Triết lý thiết kế
Hypercall duy trì giao dịch ở những nơi có thể và đóng an toàn (fail closed) khi thiếu dữ liệu đầu vào về giá hoặc ký quỹ. Khi xảy ra sự cố:
- Giao dịch tiếp tục ở những nơi dữ liệu đầu vào cần thiết vẫn hợp lệ
- Các thành phần bị lỗi được cô lập
- Người dùng nhận được thông báo lỗi rõ ràng thay vì dữ liệu cũ hoặc giá tự đặt ra
L1 ngừng hoạt động
Nếu Hyperliquid L1 (HyperCore) không khả dụng:
| Chức năng | Hành vi |
|---|---|
| Khớp lệnh quyền chọn | Tiếp tục trên sổ lệnh của Hypercall miễn là dữ liệu đầu vào về giá và biến động còn hợp lệ |
| Lệnh perp | Không khả dụng. Perp được thực thi trên Hyperliquid. |
| Thanh toán | Bị trì hoãn cho đến khi có đủ mẫu dữ liệu oracle (xem bên dưới) |
| Nạp tiền | Bị chặn cho đến khi L1 phục hồi |
| Rút tiền | Bị chặn cho đến khi L1 phục hồi |
Hệ thống tự động phục hồi khi L1 hoạt động trở lại.
Sự cố oracle
Oracle giá
Nếu oracle giá không khả dụng:
| Tác động | Hành vi |
|---|---|
| Lệnh làm tăng rủi ro | Bị từ chối khi giá giao ngay được ghi nhận gần nhất đã cũ hơn 30 giây |
| Lệnh làm giảm rủi ro | Được chấp nhận, định giá theo giá được ghi nhận gần nhất |
| Định giá ký quỹ và thanh lý | Tiếp tục theo giá được ghi nhận gần nhất. Không tạo ra giá thay thế. |
| Giá thanh toán đáo hạn | Không bao giờ lấy từ giá được ghi nhận gần nhất. Xem Oracle ngừng hoạt động tại thời điểm đáo hạn. |
Một nguồn cấp dữ liệu hoạt động bình thường sẽ ghi nhận lại giá không đổi ít nhất mỗi 10 giây, vì vậy thị trường đi ngang sẽ không chạm ngưỡng 30 giây. Hệ thống tự động phục hồi khi oracle hoạt động trở lại.
Oracle IV
Nếu oracle IV gặp sự cố:
| Tác động | Hành vi |
|---|---|
| Lệnh mới | Các lệnh làm tăng rủi ro trên tài sản cơ sở bị ảnh hưởng sẽ bị từ chối |
| Định giá quyền chọn | Không có giá dự phòng. Các phép tính cần IV bị thiếu sẽ thất bại. |
| Tính toán ký quỹ | Đóng an toàn thay vì sử dụng mức biến động thay thế |
Xem Oracle biến động để biết các điều kiện cụ thể.
Sự cố thanh toán
Oracle ngừng hoạt động tại thời điểm đáo hạn
Giá thanh toán sử dụng cửa sổ TWAP 30 phút trước ngày đáo hạn. Các quy tắc định giá khi sự cố nêu trên không áp dụng cho giá thanh toán. Nếu dữ liệu oracle không khả dụng:
- Ngừng hoạt động một phần: TWAP chỉ được tính nếu cửa sổ có ít nhất 500 mẫu. Hypercall có thể dựng lại một cửa sổ ngắn từ lịch sử oracle Hyperliquid đã lưu trữ, với cùng mức tối thiểu này.
- Ngừng hoạt động hoàn toàn: thanh toán chờ cho đến khi có một cửa sổ với ít nhất 500 mẫu. Hệ thống không thanh toán theo giá được ghi nhận gần nhất, một cửa sổ không đầy đủ hay một giá thay thế.
Thanh toán cũng có thể bị trì hoãn dù không có sự cố nếu TWAP đã chốt chưa có sẵn đúng tại thời điểm đáo hạn. Khi đó, công cụ giao dịch sẽ ở trạng thái Expired Pending Price, giao dịch vẫn bị vô hiệu hóa, và việc thanh toán tự động thử lại cho đến khi có giá đã chốt.
Thuật toán TWAP được thiết kế để chống thao túng. Xem Oracle để biết chi tiết.
API ngừng hoạt động
Nếu API của Hypercall không khả dụng:
| Thành phần | Trạng thái |
|---|---|
| Giao dịch | Không khả dụng. Lệnh quyền chọn, lệnh hủy và lệnh perp đều đi qua API của Hypercall. |
| Vị thế và số dư | Được lưu trong nhật ký bền vững của engine và khôi phục khi khởi động lại |
| Lệnh đang mở | Là một phần của trạng thái engine và được khôi phục khi khởi động lại. Bạn không thể hủy chúng cho đến khi API hoạt động trở lại. |
| Vị thế perp | Vẫn nằm trên tài khoản Hyperliquid của bạn |
| Đăng ký WebSocket | Bị ngắt kết nối |
Khuyến nghị
- Triển khai logic kết nối lại với cơ chế backoff theo cấp số nhân
- Lưu đệm dữ liệu quan trọng tại máy cục bộ
- Kiểm tra
GET /healthtrước khi giao dịch - Giả định rằng các lệnh chờ vẫn hoạt động trong suốt thời gian API ngừng hoạt động, và điều chỉnh khối lượng báo giá chờ cho phù hợp
Endpoint kiểm tra tình trạng
| Endpoint | Mục đích |
|---|---|
GET /health | Kiểm tra hoạt động cơ bản |
GET /ready | Kiểm tra sẵn sàng đầy đủ, bao gồm các thành phần phụ thuộc |
Thông tin về sự cố
Khi xảy ra sự cố, vui lòng kiểm tra:
- Trang trạng thái: status.hypercall.xyz
- X: @SynapseProtocol
- Telegram: t.me/hypercall_trollbox
- Discord: discord.gg/4rMzuEnKqe