开发者参考
意图 API
如何向中继提交已签名的消息并查询其结果。Schema 由中继运行的同一份代码生成。
接口
POST /intents
提交已签名的意图(开仓、平仓、提现、注册或撤销会话密钥、质押、解除质押、领取)。
请求: intentRequestSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "openPosition"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"instrumentId": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"isLong": {
"type": "boolean"
},
"size": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"leverage": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"useDebt": {
"type": "boolean"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"instrumentId",
"isLong",
"size",
"leverage",
"useDebt",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "closePositions"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"positionIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
}
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"positionIds",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "withdrawToCore"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"amount",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
},
"withdrawal": {
"type": "object",
"properties": {
"route": {
"type": "string",
"enum": [
"hypercore",
"hyperevm",
"ethereum",
"arbitrum",
"solana"
]
},
"destination": {
"type": "string"
},
"onward": {
"type": "object",
"properties": {
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"maximumFee": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"createRecipient": {
"type": "boolean"
},
"signature": {
"type": "object",
"properties": {
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"nonce",
"maximumFee",
"createRecipient",
"signature"
],
"additionalProperties": false
}
},
"required": [
"route"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed",
"withdrawal"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "registerSessionKey"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"key": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"expiry": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"feeAddress": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"key",
"expiry",
"feeAddress",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "registerSessionKeyV2"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"key": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"expiry": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"feeAddress": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"maxBuilderFee": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"referrer": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"key",
"expiry",
"feeAddress",
"maxBuilderFee",
"referrer",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "revokeSessionKeys"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"keys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
}
},
"all": {
"type": "boolean"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"keys",
"all",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "stake"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"amount",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "unstake"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"amount",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "claim"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
}
]
}响应: intentAckSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"action": {
"anyOf": [
{
"type": "string",
"enum": [
"openPosition",
"closePositions",
"withdrawToCore",
"registerSessionKey",
"registerSessionKeyV2",
"revokeSessionKeys",
"stake",
"unstake",
"claim",
"distribute"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"prepared",
"confirmed",
"failed",
"expired",
"cancelled"
]
},
"queueRevision": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"eligibleAtMs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"enum": [
"tradingPaused",
"marketPaused",
"inactiveInstrument",
"belowMinimum",
"belowMinimumNotional",
"leverageTooHigh",
"positionTooLarge",
"openInterest",
"funding",
"noOpenPositions",
"tokenBalance",
"stakedBalance",
"sessionKeyLimit",
"noDeposit",
"noRewards",
"alreadyQueued",
"tooManyPositions",
"accountLimit",
"accountRestricted",
"notAllowlisted",
"termsRequired",
"marketHeld",
"circuitBreaker",
"exposureLimit",
"sessionExpired",
"unauthorized",
"expired",
"invalid",
"nonceUsed",
"belowMinimumWithdrawal",
"retryLater",
"closeHold",
"internalError"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
{
"type": "null"
}
]
}
},
"required": [
"intentId",
"action",
"state",
"queueRevision"
]
}POST /intents/:id/cancel
用 CancelIntent 签名取消排队中的意图。
请求: cancelRequestSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}响应: cancelResponseSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"action": {
"anyOf": [
{
"type": "string",
"enum": [
"openPosition",
"closePositions",
"withdrawToCore",
"registerSessionKey",
"registerSessionKeyV2",
"revokeSessionKeys",
"stake",
"unstake",
"claim",
"distribute"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
"state": {
"type": "string",
"const": "cancelled"
}
},
"required": [
"intentId",
"action",
"state"
]
}POST /intents/:id/onward
为卡住的提现重新签署 Hyperliquid 后续转账。
请求: onwardRequestSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"maximumFee": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"createRecipient": {
"type": "boolean"
},
"signature": {
"type": "object",
"properties": {
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"nonce",
"maximumFee",
"createRecipient",
"signature"
],
"additionalProperties": false
}响应: onwardResponseSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"status": {
"type": "string",
"enum": [
"signed",
"submitted",
"in_transit",
"settled",
"needs_signature",
"failed"
]
}
},
"required": [
"intentId",
"status"
]
}GET /intents/:id
单个意图的状态。
响应: intentStatusSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"action": {
"anyOf": [
{
"type": "string",
"enum": [
"openPosition",
"closePositions",
"withdrawToCore",
"registerSessionKey",
"registerSessionKeyV2",
"revokeSessionKeys",
"stake",
"unstake",
"claim",
"distribute"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"prepared",
"confirmed",
"failed",
"expired",
"cancelled"
]
},
"outcome": {
"type": "string",
"enum": [
"succeeded",
"failed",
"expired",
"cancelled",
"unknown"
]
},
"reason": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"enum": [
"tradingPaused",
"marketPaused",
"inactiveInstrument",
"belowMinimum",
"belowMinimumNotional",
"leverageTooHigh",
"positionTooLarge",
"openInterest",
"funding",
"noOpenPositions",
"tokenBalance",
"stakedBalance",
"sessionKeyLimit",
"noDeposit",
"noRewards",
"alreadyQueued",
"tooManyPositions",
"accountLimit",
"accountRestricted",
"notAllowlisted",
"termsRequired",
"marketHeld",
"circuitBreaker",
"exposureLimit",
"sessionExpired",
"unauthorized",
"expired",
"invalid",
"nonceUsed",
"belowMinimumWithdrawal",
"retryLater",
"closeHold",
"internalError"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
{
"type": "null"
}
]
},
"txHash": {
"anyOf": [
{
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
{
"type": "null"
}
]
},
"positionId": {
"anyOf": [
{
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
{
"type": "null"
}
]
},
"acceptedAtMs": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"eligibleAtMs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"intentId",
"action",
"state",
"acceptedAtMs",
"deadline"
]
}GET /queue-rank/accounts/:addr
账户在中继队列中的位置。
响应: queueRankSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"queueRevision": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"position": {
"type": "string",
"pattern": "^[1-9][0-9]*$"
}
},
"required": [
"intentId",
"position"
]
}
}
},
"required": [
"ok",
"entries"
]
}意图状态
已接受的意图会经历以下公开状态;failed、expired 和 cancelled 为最终状态。幂等地重复提交会返回意图的真实状态,包括最终状态。
queuedpreparedconfirmedfailedexpiredcancelled
原因
拒绝和失败会附带以下原因之一。客户端应把未知原因当作一般失败处理。
tradingPausedmarketPausedinactiveInstrumentbelowMinimumbelowMinimumNotionalleverageTooHighpositionTooLargeopenInterestfundingnoOpenPositionstokenBalancestakedBalancesessionKeyLimitnoDepositnoRewardsalreadyQueuedtooManyPositionsaccountLimitaccountRestrictednotAllowlistedtermsRequiredmarketHeldcircuitBreakerexposureLimitsessionExpiredunauthorizedexpiredinvalidnonceUsedbelowMinimumWithdrawalretryLatercloseHoldinternalError
接收端错误
| 代码 | HTTP 状态 |
|---|---|
invalid_intent | 400 |
deadline_expired | 400 |
unauthorized_intent | 403 |
intent_not_found | 404 |
intent_conflict | 409 |
admission_rejected | 422 |
below_minimum_stake | 422 |
below_minimum_withdrawal | 422 |
invalid_onward | 422 |
intake_action_paused | 422 |
rate_limited | 429 |
region_restricted | 451 |
request_failed | 500 |
intent_conflict: nonceUsed, cancelRace, notCancellable, onwardState. invalid_onward: signature, nonceWindow, mismatch.
合约错误
链上调用回退时,中继把合约的自定义错误映射为原因,并决定是否重试。标注了休眠开关的错误,只有在该防护机制开启后才可能出现。
| 合约错误 | 原因 | 中继处理方式 | 休眠开关 |
|---|---|---|---|
InsufficientGas | internalError | bug | |
AlreadySet | invalid | terminal | |
RenounceDisabled | internalError | bug | |
NotExecutor | internalError | bug | |
NotPauseAuthority | internalError | bug | |
NotMarketKeeper | internalError | bug | |
NotReconciler | internalError | bug | |
NotDevFeeRecipient | internalError | bug | |
NotStaking | internalError | bug | |
NotOffHoursKeeper | internalError | bug | |
TradingPaused | tradingPaused | terminal | |
BreakerActive | circuitBreaker | requeue | D6 |
LpFrozen | circuitBreaker | requeue | D6 |
MarketIsRetired | inactiveInstrument | terminal | |
InvalidInstrument | inactiveInstrument | terminal | |
LeverageTooLow | leverageTooHigh | terminal | |
LeverageTooHigh | leverageTooHigh | terminal | |
MarginBelowMinimum | belowMinimum | terminal | |
NotionalBelowMinimum | belowMinimumNotional | terminal | |
PositionTooLarge | positionTooLarge | terminal | |
OiCapExceeded | openInterest | requeueOnce | |
BlockFlowExceeded | openInterest | requeueNextBlock | D4 |
SideExposureExceeded | exposureLimit | terminal | D5 |
AccountNotionalExceeded | accountLimit | terminal | D7 |
TooManyPositions | tooManyPositions | terminal | |
InsufficientBalance | funding | terminal | |
InsufficientDebtBalance | funding | terminal | |
DebtWalkLimit | funding | terminal | |
PositionNotOpen | noOpenPositions | terminal | |
NotPositionOwner | unauthorized | terminal | |
EmptyIds | invalid | terminal | |
TooManyIds | invalid | terminal | |
ProfitHoldNotElapsed | closeHold | requeue | D3 |
NotLiquidatable | invalid | terminal | |
DirectCloseDisabled | invalid | terminal | |
QueueEmpty | invalid | terminal | |
OracleUnavailable | marketHeld | requeue | |
BadBook | marketHeld | requeue | |
SpreadTooWide | marketHeld | requeue | D2 |
PriceDeviation | marketHeld | requeue | D1 |
RefPriceUnavailable | marketHeld | requeue | D1 |
NoProxy | internalError | bug | |
ProxyNotActivated | internalError | bug | |
ExchangeNotActivated | internalError | bug | |
PrecompileReadFailed | retryLater | requeue | |
SweepAlreadyPending | internalError | bug | |
SweepBelowMinimum | internalError | bug | |
SweepTooSoon | retryLater | requeueNextBlock | |
NoPendingSweep | internalError | bug | |
FinalizeTooSoon | retryLater | requeueNextBlock | |
SweepNotLanded | retryLater | requeueNextBlock | |
ReconcileExceedsUnconfirmed | invalid | terminal | |
ReconcileExceedsSurplus | invalid | terminal | |
UnconfirmedExpired | invalid | terminal | |
SweepsPending | internalError | bug | |
WithdrawalBelowMinimum | belowMinimumWithdrawal | terminal | |
WithdrawalTooLarge | invalid | terminal | |
ActivationExceedsAmount | invalid | terminal | |
CoreBalanceInsufficient | retryLater | requeue | |
WithdrawOncePerBlock | retryLater | requeueNextBlock | |
FeeTooHigh | invalid | terminal | |
ParamOutOfBounds | invalid | terminal | |
ZeroAddress | invalid | terminal | |
AlreadyRetired | invalid | terminal | |
CapAboveCeiling | internalError | bug | D8 |
AssetAlreadyListed | invalid | terminal | |
AssetInfoMismatch | invalid | terminal | |
TooManyInstruments | invalid | terminal | |
PriceOutOfRange | invalid | terminal | |
DeferredHooksPending | invalid | terminal | |
BreakerDisabled | invalid | terminal | |
BreakerNotTripped | invalid | terminal | |
GuardianTripLimit | invalid | terminal | D6 |
ResetNotAllowed | invalid | terminal | D6 |
DomainMismatch | internalError | bug | |
SzDecimalsTooLarge | internalError | bug | |
NotAuthorizedRelayer | internalError | bug | |
EmptyBatch | internalError | bug | |
BatchTooLarge | internalError | bug | |
SelectorNotAllowed | internalError | bug | |
BatchCallFailed | internalError | bug | |
NotGuardianOrOwner | internalError | bug | |
UnauthorizedSubmitter | internalError | bug | |
UnauthorizedCaller | internalError | bug | |
InvalidSignature | unauthorized | terminal | |
ExpiredDeadline | expired | terminal | |
DeadlineTooFar | invalid | terminal | D9 |
InvalidNonce | nonceUsed | terminal | |
SessionKeyExpired | sessionExpired | terminal | |
ZeroAddressKey | invalid | terminal | |
KeyIsUser | invalid | terminal | |
ExpiryInPast | invalid | terminal | |
ExpiryTooLong | invalid | terminal | D9 |
TooManyKeys | invalid | terminal | |
BuilderNotApproved | invalid | terminal | |
BuilderFeeWithoutBuilder | invalid | terminal | |
AlreadyRegistered | invalid | terminal | |
InvalidReferrer | invalid | terminal | |
ReferrerAlreadySet | invalid | terminal | |
NotSessionKeyManager | internalError | bug | |
NotReferralManager | internalError | bug | |
ZeroAmount | invalid | terminal | |
InsufficientStake | stakedBalance | terminal | |
DirectCallsDisabled | invalid | terminal | |
NotDistributor | internalError | bug | |
NotExchange | internalError | bug | |
InvalidMintParams | invalid | terminal | |
MintParamsAreFrozen | invalid | terminal | |
RebateAlreadyActive | invalid | terminal | |
RebateUnavailable | invalid | terminal | |
ExponentTooLarge | internalError | bug | |
FeeRateTooHigh | invalid | terminal | |
NotBuilderGuardian | internalError | bug | |
NotBuilder | internalError | bug | |
TransferRestricted | internalError | bug | |
NotMinter | internalError | bug | |
NotAuthorizedDeployer | internalError | bug | |
OnlyExchange | internalError | bug | |
OnlyUser | unauthorized | terminal | |
ActionNotAllowed | internalError | bug | |
BadDestination | internalError | bug | |
UsdcRescueForbidden | invalid | terminal | |
NativeTransferFailed | invalid | terminal | |
ECDSAInvalidSignature | unauthorized | terminal | |
ECDSAInvalidSignatureLength | unauthorized | terminal | |
ECDSAInvalidSignatureS | unauthorized | terminal | |
ERC20InsufficientBalance | tokenBalance | terminal | |
ERC20InsufficientAllowance | internalError | bug | |
ERC20InvalidSender | internalError | bug | |
ERC20InvalidReceiver | internalError | bug | |
ERC20InvalidApprover | internalError | bug | |
ERC20InvalidSpender | internalError | bug | |
ERC2612ExpiredSignature | expired | terminal | |
ERC2612InvalidSigner | unauthorized | terminal | |
InvalidAccountNonce | nonceUsed | terminal | |
OwnableUnauthorizedAccount | internalError | bug | |
OwnableInvalidOwner | internalError | bug | |
ReentrancyGuardReentrantCall | internalError | bug | |
InvalidInitialization | internalError | bug | |
NotInitializing | internalError | bug | |
UUPSUnauthorizedCallContext | internalError | bug | |
UUPSUnsupportedProxiableUUID | internalError | bug | |
ERC1967InvalidImplementation | internalError | bug | |
ERC1967NonPayable | internalError | bug | |
AddressEmptyCode | internalError | bug | |
FailedCall | internalError | bug | |
SafeCastOverflowedUintDowncast | internalError | bug | |
SafeCastOverflowedIntDowncast | internalError | bug | |
SafeCastOverflowedUintToInt | internalError | bug | |
SafeCastOverflowedIntToUint | internalError | bug | |
SafeERC20FailedOperation | internalError | bug | |
InvalidShortString | internalError | bug | |
StringTooLong | internalError | bug |