estimateOraclePriceCount
This module provides utilities for estimating the number of oracle prices required for various GMX protocol operations. These functions help calculate gas costs and oracle price requirements for deposits, withdrawals, orders, shifts, and GLV operations.
Methods
Each function returns a bigint representing the number of oracle price signatures required for that operation type. Import any function directly from @gmx-io/sdk/utils/fees.
estimateDepositOraclePriceCount
estimateDepositOraclePriceCount(swapsCount: number | bigint): bigint
Estimates the number of oracle prices required for a deposit operation. Returns 3n + swapsCount.
import { estimateDepositOraclePriceCount } from "@gmx-io/sdk/utils/fees";
const priceCount = estimateDepositOraclePriceCount(2);
console.log(priceCount); // 5n
estimateWithdrawalOraclePriceCount
estimateWithdrawalOraclePriceCount(swapsCount: bigint): bigint
Estimates the number of oracle prices required for a withdrawal operation. Returns 3n + swapsCount.
import { estimateWithdrawalOraclePriceCount } from "@gmx-io/sdk/utils/fees";
const priceCount = estimateWithdrawalOraclePriceCount(1n);
console.log(priceCount); // 4n
estimateOrderOraclePriceCount
estimateOrderOraclePriceCount(swapsCount: number): bigint
Estimates the number of oracle prices required for an order operation. Returns 3n + swapsCount.
import { estimateOrderOraclePriceCount } from "@gmx-io/sdk/utils/fees";
const priceCount = estimateOrderOraclePriceCount(0);
console.log(priceCount); // 3n
estimateShiftOraclePriceCount
estimateShiftOraclePriceCount(): bigint
Estimates the number of oracle prices required for a shift operation. Always returns 4n.
import { estimateShiftOraclePriceCount } from "@gmx-io/sdk/utils/fees";
const priceCount = estimateShiftOraclePriceCount();
console.log(priceCount); // 4n
estimateGlvDepositOraclePriceCount
estimateGlvDepositOraclePriceCount(marketCount: bigint, swapsCount?: bigint): bigint
Estimates the number of oracle prices required for a GLV deposit operation. Returns 2n + marketCount + swapsCount. swapsCount defaults to 0n.
import { estimateGlvDepositOraclePriceCount } from "@gmx-io/sdk/utils/fees";
const priceCount = estimateGlvDepositOraclePriceCount(3n, 1n);
console.log(priceCount); // 6n
estimateGlvWithdrawalOraclePriceCount
estimateGlvWithdrawalOraclePriceCount(marketCount: bigint, swapsCount?: bigint): bigint
Estimates the number of oracle prices required for a GLV withdrawal operation. Returns 2n + marketCount + swapsCount. swapsCount defaults to 0n.
import { estimateGlvWithdrawalOraclePriceCount } from "@gmx-io/sdk/utils/fees";
const priceCount = estimateGlvWithdrawalOraclePriceCount(2n);
console.log(priceCount); // 4n