raise_if_order_failed

Documentation for eth_defi.gmx.verification.raise_if_order_failed function.

raise_if_order_failed(web3, receipt, tx_hash, order_key=None)

Verify order execution and raise exception if failed.

Convenience function that combines verification and exception raising. Use this in the CCXT exchange wrapper to ensure failed orders are not treated as successful.

Parameters
  • web3 (web3.main.Web3) – Web3 instance

  • receipt (dict) – Transaction receipt

  • tx_hash (str) – Transaction hash (for error reporting)

  • order_key (bytes | None) – Optional order key to filter for

Returns

GMXOrderVerificationResult if order succeeded

Raises

GMXOrderFailedException – If order was cancelled or frozen

Return type

eth_defi.gmx.verification.GMXOrderVerificationResult

Example:

from eth_defi.gmx.verification import raise_if_order_failed
from eth_defi.gmx.ccxt.errors import GMXOrderFailedException

try:
    result = raise_if_order_failed(web3, receipt, tx_hash)
    # Order succeeded - use result.execution_price, result.size_delta_usd, etc.
except GMXOrderFailedException as e:
    # Order failed at GMX level despite tx success
    print(f"Order failed: {e.decoded_error}")