gmx.types

Documentation for eth_defi.gmx.types Python module.

GMX protocol type definitions.

Common type aliases used throughout the GMX module for better type safety and documentation.

Classes

OraclePricePayload

One token's raw signed price entry from eth_defi.gmx.core.oracle.OraclePrices.get_recent_prices().

TokenSymbol

Token symbol (e.g., “BTC”, “ETH”, “USDC”)

MarketSymbol

Market symbol (e.g., “BTC”, “ETH/USD”, “DOGE”)

MarketAddress

Market address as hexadecimal string

USDAmount

USD-denominated price or value

APRDecimal

Annual Percentage Rate as decimal (e.g., 0.05 for 5%)

PositionSide

Position side identifier (“long” or “short”)

alias of Literal[‘long’, ‘short’]

LiquidityData

Liquidity data for a specific side/market

alias of dict[str, float]

MarketData

Market data mapping

alias of dict[str, float]

PositionSideData

Position side data mapping

alias of dict[Literal[‘long’, ‘short’], dict[str, float]]

PriceData

Price data mapping

alias of dict[str, float]

TVLData

TVL data mapping

alias of dict[str, float]

InterestData

Interest data mapping

alias of dict[str, float]

class OraclePricePayload

Bases: TypedDict

One token’s raw signed price entry from eth_defi.gmx.core.oracle.OraclePrices.get_recent_prices().

GMX’s signed-price API omits minPriceFull/maxPriceFull for a token it has no live price for, rather than including them with a null value – hence NotRequired on both.

__init__(*args, **kwargs)
__new__(**kwargs)
clear()

Remove all items from the dict.

copy()

Return a shallow copy of the dict.

fromkeys(value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(key, default=None, /)

Return the value for key if key is in the dictionary, else default.

items()

Return a set-like object providing a view on the dict’s items.

keys()

Return a set-like object providing a view on the dict’s keys.

pop(k[, d]) → v, remove specified key and return the corresponding value.

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

setdefault(key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

update([E, ]**F) → None.  Update D from mapping/iterable E and F.

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

Return an object providing a view on the dict’s values.

OraclePriceMap

Live GMX oracle prices keyed by token address, as returned by eth_defi.gmx.core.oracle.OraclePrices.get_recent_prices(). Keys are not guaranteed to arrive checksummed – look them up case-insensitively.

alias of dict[eth_typing.evm.HexAddress, eth_defi.gmx.types.OraclePricePayload]

MarketTokenAddresses

A GMX market’s (index_token, long_token, short_token) address triple.

alias of tuple[eth_typing.evm.HexAddress, eth_typing.evm.HexAddress, eth_typing.evm.HexAddress]

RawOraclePriceRange

A token’s raw (min, max) GMX oracle price, in GMX’s native fixed-point precision.

alias of tuple[int, int]

MarketPriceTuple

One MarketUtils.MarketPrices tuple – the (index, long, short) price ranges GMX’s Reader.getAccountPositionInfoList() takes per market.

alias of tuple[tuple[int, int], tuple[int, int], tuple[int, int]]