本文档提供了使用 Skip Go API 时可能遇到的各类错误代码和状态消息参考。正确理解这些代码对于妥善处理 API 响应并向用户提供准确反馈至关重要。

交易状态码

这些代码表示由 Skip Go API 处理或跟踪的交易整体状态。
状态说明备注
STATE_UNKNOWN交易状态未知。应视为错误状态。
STATE_SUBMITTED交易已提交到区块链网络。
STATE_PENDING交易正在进行中,等待处理。
STATE_RECEIVED交易已被区块链网络接收。
STATE_COMPLETED(内部过渡状态)在 API 响应返回前,该状态会解析为 STATE_COMPLETED_SUCCESS 或 STATE_COMPLETED_ERROR。
STATE_ABANDONED交易已被放弃,通常由于超时导致(例如 IBC relayer)。跟踪已超时。这不一定表示交易永久失败;可能仍可重试。
STATE_COMPLETED_SUCCESS交易已成功完成。这是唯一能够明确表示端到端交易成功完成的状态。
STATE_COMPLETED_ERROR交易已完成,但过程中发生了错误。
STATE_PENDING_ERROR交易在处理过程中遇到错误。

通用错误类型

这些错误类型用于对问题进行较宽泛的分类。
错误类型说明
STATUS_ERROR_UNKNOWN未知错误类型。
STATUS_ERROR_TRANSACTION_EXECUTION交易在区块链上执行期间发生错误。
STATUS_ERROR_INDEXINGSkip 内部处理或索引过程中发生错误。
STATUS_ERROR_TRANSFER与交易中的某个特定转移操作相关的错误。

桥接协议状态码

不同桥接协议都有各自的专用状态码,用于反映使用该桥的某一段转移流程所处的状态。

IBC 转移状态

状态说明
TRANSFER_UNKNOWNIBC 转移状态未知。
TRANSFER_PENDINGIBC 转移进行中。
TRANSFER_RECEIVEDIBC 转移已被目标链接收。
TRANSFER_SUCCESSIBC 转移已成功完成。
TRANSFER_FAILUREIBC 转移失败。

Axelar 转移状态

状态说明
AXELAR_TRANSFER_UNKNOWNAxelar 转移状态未知。
AXELAR_TRANSFER_PENDING_CONFIRMATIONAxelar 转移正在等待确认。
AXELAR_TRANSFER_PENDING_RECEIPTAxelar 转移正在等待回执。
AXELAR_TRANSFER_SUCCESSAxelar 转移已成功完成。
AXELAR_TRANSFER_FAILUREAxelar 转移失败。

CCTP 转移状态

状态说明
CCTP_TRANSFER_UNKNOWNCCTP 转移状态未知。
CCTP_TRANSFER_SENTCCTP 转移已发送。
CCTP_TRANSFER_PENDING_CONFIRMATIONCCTP 转移正在等待确认。
CCTP_TRANSFER_CONFIRMEDCCTP 转移已确认。
CCTP_TRANSFER_RECEIVEDCCTP 转移已在目标端接收。

GoFast 转移状态

状态说明
GO_FAST_TRANSFER_UNKNOWNGoFast 转移状态未知。
GO_FAST_TRANSFER_SENTGoFast 转移已发送。
GO_FAST_POST_ACTION_FAILEDGoFast 转移的转移后操作失败。
GO_FAST_TRANSFER_TIMEOUTGoFast 转移已超时。
GO_FAST_TRANSFER_FILLEDGoFast 转移已完成填充。
GO_FAST_TRANSFER_REFUNDEDGoFast 转移已退款。

LayerZero 转移状态

状态说明
LAYER_ZERO_TRANSFER_UNKNOWNLayerZero 转移状态未知。
LAYER_ZERO_TRANSFER_SENTLayerZero 转移已发送。
LAYER_ZERO_TRANSFER_RECEIVEDLayerZero 转移已接收。
LAYER_ZERO_TRANSFER_FAILEDLayerZero 转移失败。

Hyperlane 转移状态

状态说明
HYPERLANE_TRANSFER_UNKNOWNHyperlane 转移状态未知。
HYPERLANE_TRANSFER_SENTHyperlane 转移已发送。
HYPERLANE_TRANSFER_FAILEDHyperlane 转移失败。
HYPERLANE_TRANSFER_RECEIVEDHyperlane 转移已接收。

OPInit 转移状态

状态说明
OPINIT_TRANSFER_UNKNOWNOPInit 转移状态未知。
OPINIT_TRANSFER_SENTOPInit 转移已发送。
OPINIT_TRANSFER_RECEIVEDOPInit 转移已接收。

Stargate 转移状态

状态说明
STARGATE_TRANSFER_UNKNOWNStargate 转移状态未知。
STARGATE_TRANSFER_SENTStargate 转移已发送。
STARGATE_TRANSFER_RECEIVEDStargate 转移已接收。
STARGATE_TRANSFER_FAILEDStargate 转移失败。

Eureka 转移状态

Eureka 转移状态码与 IBC 转移状态码完全一致。
状态说明
TRANSFER_UNKNOWNEureka 转移状态未知。
TRANSFER_PENDINGEureka 转移进行中。
TRANSFER_RECEIVEDEureka 转移已被目标链接收。
TRANSFER_SUCCESSEureka 转移已成功完成。
TRANSFER_FAILUREEureka 转移失败。

其他错误类型

Packet 错误类型

处理 IBC packet 时,你可能会看到以下错误类型:
错误类型说明
PACKET_ERROR_UNKNOWN未知 packet 错误。
PACKET_ERROR_ACKNOWLEDGEMENTpacket 确认阶段发生错误。
PACKET_ERROR_TIMEOUTpacket 已超时。

桥接专用错误类型

错误类型说明
SEND_TOKEN_EXECUTION_ERRORAxelar 发送代币执行期间发生错误。
CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERRORAxelar 携带代币的合约调用执行期间发生错误。

This document provides a reference for the various error codes and status messages you may encounter when using Skip Go’s APIs. Understanding these codes is essential for handling API responses correctly and providing accurate feedback to users.

Transaction Status Codes

These codes represent the overall status of a transaction being processed or tracked by the Skip Go API.
StatusDescriptionNotes
STATE_UNKNOWNThe status of the transaction is unknown.Should be treated as an error state.
STATE_SUBMITTEDThe transaction has been submitted to the blockchain network.
STATE_PENDINGThe transaction is in progress and waiting to be processed.
STATE_RECEIVEDThe transaction has been received by the blockchain network.
STATE_COMPLETED(Internal transitional state)This state is resolved to STATE_COMPLETED_SUCCESS or STATE_COMPLETED_ERROR before API response.
STATE_ABANDONEDThe transaction was abandoned, often due to timeout (e.g., IBC relayer).Tracking timed out. Not necessarily a permanent transaction failure; may be retriable.
STATE_COMPLETED_SUCCESSThe transaction has completed successfully.This is the only status that definitively indicates successful end-to-end transaction completion.
STATE_COMPLETED_ERRORThe transaction has completed but encountered errors.
STATE_PENDING_ERRORThe transaction encountered errors while being processed.

General Error Types

These error types provide a broad categorization of issues.
Error TypeDescription
STATUS_ERROR_UNKNOWNUnknown error type.
STATUS_ERROR_TRANSACTION_EXECUTIONError occurred during the execution of the transaction on the blockchain.
STATUS_ERROR_INDEXINGError occurred during Skip’s internal processing or indexing.
STATUS_ERROR_TRANSFERError related to a specific transfer operation within the transaction.

Bridge Protocol Status Codes

Different bridge protocols have their own specific status codes that reflect the state of a transfer leg using that bridge.

IBC Transfer Status

StatusDescription
TRANSFER_UNKNOWNThe status of the IBC transfer is unknown.
TRANSFER_PENDINGThe IBC transfer is in progress.
TRANSFER_RECEIVEDThe IBC transfer has been received by the destination chain.
TRANSFER_SUCCESSThe IBC transfer has completed successfully.
TRANSFER_FAILUREThe IBC transfer has failed.

Axelar Transfer Status

StatusDescription
AXELAR_TRANSFER_UNKNOWNThe status of the Axelar transfer is unknown.
AXELAR_TRANSFER_PENDING_CONFIRMATIONThe Axelar transfer is waiting for confirmation.
AXELAR_TRANSFER_PENDING_RECEIPTThe Axelar transfer is waiting for receipt.
AXELAR_TRANSFER_SUCCESSThe Axelar transfer has completed successfully.
AXELAR_TRANSFER_FAILUREThe Axelar transfer has failed.

CCTP Transfer Status

StatusDescription
CCTP_TRANSFER_UNKNOWNThe status of the CCTP transfer is unknown.
CCTP_TRANSFER_SENTThe CCTP transfer has been sent.
CCTP_TRANSFER_PENDING_CONFIRMATIONThe CCTP transfer is waiting for confirmation.
CCTP_TRANSFER_CONFIRMEDThe CCTP transfer has been confirmed.
CCTP_TRANSFER_RECEIVEDThe CCTP transfer has been received at the destination.

GoFast Transfer Status

StatusDescription
GO_FAST_TRANSFER_UNKNOWNThe status of the GoFast transfer is unknown.
GO_FAST_TRANSFER_SENTThe GoFast transfer has been sent.
GO_FAST_POST_ACTION_FAILEDThe post-transfer action on the GoFast transfer has failed.
GO_FAST_TRANSFER_TIMEOUTThe GoFast transfer has timed out.
GO_FAST_TRANSFER_FILLEDThe GoFast transfer has been filled.
GO_FAST_TRANSFER_REFUNDEDThe GoFast transfer has been refunded.

LayerZero Transfer Status

StatusDescription
LAYER_ZERO_TRANSFER_UNKNOWNThe status of the LayerZero transfer is unknown.
LAYER_ZERO_TRANSFER_SENTThe LayerZero transfer has been sent.
LAYER_ZERO_TRANSFER_RECEIVEDThe LayerZero transfer has been received.
LAYER_ZERO_TRANSFER_FAILEDThe LayerZero transfer has failed.

Hyperlane Transfer Status

StatusDescription
HYPERLANE_TRANSFER_UNKNOWNThe status of the Hyperlane transfer is unknown.
HYPERLANE_TRANSFER_SENTThe Hyperlane transfer has been sent.
HYPERLANE_TRANSFER_FAILEDThe Hyperlane transfer has failed.
HYPERLANE_TRANSFER_RECEIVEDThe Hyperlane transfer has been received.

OPInit Transfer Status

StatusDescription
OPINIT_TRANSFER_UNKNOWNThe status of the OPInit transfer is unknown.
OPINIT_TRANSFER_SENTThe OPInit transfer has been sent.
OPINIT_TRANSFER_RECEIVEDThe OPInit transfer has been received.

Stargate Transfer Status

StatusDescription
STARGATE_TRANSFER_UNKNOWNThe status of the Stargate transfer is unknown.
STARGATE_TRANSFER_SENTThe Stargate transfer has been sent.
STARGATE_TRANSFER_RECEIVEDThe Stargate transfer has been received.
STARGATE_TRANSFER_FAILEDThe Stargate transfer has failed.

Eureka Transfer Status

The Eureka transfer status codes are identical to the IBC transfer status codes.
StatusDescription
TRANSFER_UNKNOWNThe status of the Eureka transfer is unknown.
TRANSFER_PENDINGThe Eureka transfer is in progress.
TRANSFER_RECEIVEDThe Eureka transfer has been received by the destination chain.
TRANSFER_SUCCESSThe Eureka transfer has completed successfully.
TRANSFER_FAILUREThe Eureka transfer has failed.

Additional Error Types

Packet Error Types

When dealing with IBC packets, you may see these error types:
Error TypeDescription
PACKET_ERROR_UNKNOWNUnknown packet error.
PACKET_ERROR_ACKNOWLEDGEMENTError in packet acknowledgement.
PACKET_ERROR_TIMEOUTPacket timed out.

Bridge-Specific Error Types

Error TypeDescription
SEND_TOKEN_EXECUTION_ERRORError during Axelar send token execution.
CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERRORError during Axelar contract call with token execution.