0.0.2 • Published 8 months ago
@gmx-io/sdk v0.0.2
GMX SDK
Install
yarn add @gmx/sdk
Usage
import { GmxSdk } from "@gmx/sdk";
import { useWallet } from "wagmi";
const sdk = new GmxSdk({
chainId: 42161,
rpcUrl: "https://arb1.arbitrum.io/rpc",
oracleUrl: "https://arbitrum-api.gmxinfra.io",
walletClient: useWallet().walletClient,
});
const { marketsInfoData, tokensData } = await sdk.markets.getMarketsInfo();
sdk.setAccount("0x1234567890abcdef1234567890abcdef12345678");
sdk.positions.getPositions().then((positions) => {
console.log(positions);
});
Documentation
Read methods
Markets
getMarkets(offset?: number, limit?: number): Promise<Market[]>
- returns a list of marketsgetMarketsInfo(): Promise<{ marketsInfoData: MarketInfoData[], tokensData: TokenData[] }>
- returns a list of markets info and tokens datagetDailyVolumes(): Promise<{market: string; volume: bigint}[]>
- returns markets' daily volume data
Positions
getPositions(): Promise<Position[]>
- returns a list of positions
Tokens
getTokensData(): Promise<TokenData[]>
- returns a list of tokens data
Orders
getOrders(): Promise<Order[]>
- returns a list of orders
Trades
getTradeHistory(p: Parameters): Promise<TradeAction[]>
- returns a list of trades
Parameters:
forAllAccounts?: boolean;
pageSize: number;
fromTxTimestamp?: number;
toTxTimestamp?: number;
marketsInfoData: MarketsInfoData | undefined;
tokensData: TokensData | undefined;
pageIndex: number;
marketsDirectionsFilter?: MarketFilterLongShortItemData[];
orderEventCombinations?: {
eventName?: TradeActionType;
orderType?: OrderType;
isDepositOrWithdraw?: boolean;
}[];
Write methods
Orders
cancelOrders(orderKeys: string[])
- creates an order