UNPKG

@drift-labs/sdk

Version:
78 lines (77 loc) 7.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MARGIN_PRECISION = exports.AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO = exports.PRICE_TO_QUOTE_PRECISION = exports.PRICE_DIV_PEG = exports.AMM_TO_QUOTE_PRECISION_RATIO = exports.BASE_PRECISION_EXP = exports.BASE_PRECISION = exports.AMM_RESERVE_PRECISION = exports.PEG_PRECISION = exports.FUNDING_RATE_BUFFER_PRECISION = exports.FUNDING_RATE_PRECISION = exports.PRICE_PRECISION = exports.QUOTE_PRECISION = exports.LIQUIDATION_FEE_PRECISION = exports.SPOT_MARKET_IMF_PRECISION = exports.SPOT_MARKET_IMF_PRECISION_EXP = exports.SPOT_MARKET_BALANCE_PRECISION = exports.SPOT_MARKET_BALANCE_PRECISION_EXP = exports.SPOT_MARKET_WEIGHT_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION_EXP = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION_EXP = exports.SPOT_MARKET_RATE_PRECISION = exports.SPOT_MARKET_RATE_PRECISION_EXP = exports.AMM_RESERVE_PRECISION_EXP = exports.PEG_PRECISION_EXP = exports.FUNDING_RATE_PRECISION_EXP = exports.PRICE_PRECISION_EXP = exports.FUNDING_RATE_BUFFER_PRECISION_EXP = exports.QUOTE_PRECISION_EXP = exports.CONCENTRATION_PRECISION = exports.PERCENTAGE_PRECISION = exports.PERCENTAGE_PRECISION_EXP = exports.MAX_LEVERAGE_ORDER_SIZE = exports.MAX_LEVERAGE = exports.TEN_MILLION = exports.BN_MAX = exports.TEN_THOUSAND = exports.TEN = exports.NINE = exports.EIGHT = exports.SEVEN = exports.SIX = exports.FIVE = exports.FOUR = exports.THREE = exports.TWO = exports.ONE = exports.ZERO = void 0; exports.GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = exports.MAX_PREDICTION_PRICE = exports.FUEL_START_TS = exports.FUEL_WINDOW = exports.DUST_POSITION_SIZE = exports.SLOT_TIME_ESTIMATE_MS = exports.IDLE_TIME_SLOTS = exports.ACCOUNT_AGE_DELETION_CUTOFF_SECONDS = exports.DEFAULT_REVENUE_SINCE_LAST_FUNDING_SPREAD_RETREAT = exports.OPEN_ORDER_MARGIN_REQUIREMENT = exports.LAMPORTS_EXP = exports.LAMPORTS_PRECISION = exports.GOV_SPOT_MARKET_INDEX = exports.QUOTE_SPOT_MARKET_INDEX = exports.ONE_YEAR = exports.ONE_HOUR = exports.FIVE_MINUTE = exports.PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO = exports.FUNDING_RATE_OFFSET_DENOMINATOR = exports.LIQUIDATION_PCT_PRECISION = exports.BID_ASK_SPREAD_PRECISION = void 0; const web3_js_1 = require("@solana/web3.js"); const anchor_1 = require("@coral-xyz/anchor"); exports.ZERO = new anchor_1.BN(0); exports.ONE = new anchor_1.BN(1); exports.TWO = new anchor_1.BN(2); exports.THREE = new anchor_1.BN(3); exports.FOUR = new anchor_1.BN(4); exports.FIVE = new anchor_1.BN(5); exports.SIX = new anchor_1.BN(6); exports.SEVEN = new anchor_1.BN(7); exports.EIGHT = new anchor_1.BN(8); exports.NINE = new anchor_1.BN(9); exports.TEN = new anchor_1.BN(10); exports.TEN_THOUSAND = new anchor_1.BN(10000); exports.BN_MAX = new anchor_1.BN(Number.MAX_SAFE_INTEGER); exports.TEN_MILLION = exports.TEN_THOUSAND.mul(exports.TEN_THOUSAND); exports.MAX_LEVERAGE = new anchor_1.BN(5); exports.MAX_LEVERAGE_ORDER_SIZE = new anchor_1.BN('18446744073709551615'); exports.PERCENTAGE_PRECISION_EXP = new anchor_1.BN(6); exports.PERCENTAGE_PRECISION = new anchor_1.BN(10).pow(exports.PERCENTAGE_PRECISION_EXP); exports.CONCENTRATION_PRECISION = exports.PERCENTAGE_PRECISION; exports.QUOTE_PRECISION_EXP = new anchor_1.BN(6); exports.FUNDING_RATE_BUFFER_PRECISION_EXP = new anchor_1.BN(3); exports.PRICE_PRECISION_EXP = new anchor_1.BN(6); exports.FUNDING_RATE_PRECISION_EXP = exports.PRICE_PRECISION_EXP.add(exports.FUNDING_RATE_BUFFER_PRECISION_EXP); exports.PEG_PRECISION_EXP = new anchor_1.BN(6); exports.AMM_RESERVE_PRECISION_EXP = new anchor_1.BN(9); exports.SPOT_MARKET_RATE_PRECISION_EXP = new anchor_1.BN(6); exports.SPOT_MARKET_RATE_PRECISION = new anchor_1.BN(10).pow(exports.SPOT_MARKET_RATE_PRECISION_EXP); exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION_EXP = new anchor_1.BN(10); exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION = new anchor_1.BN(10).pow(exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION_EXP); exports.SPOT_MARKET_UTILIZATION_PRECISION_EXP = new anchor_1.BN(6); exports.SPOT_MARKET_UTILIZATION_PRECISION = new anchor_1.BN(10).pow(exports.SPOT_MARKET_UTILIZATION_PRECISION_EXP); exports.SPOT_MARKET_WEIGHT_PRECISION = new anchor_1.BN(10000); exports.SPOT_MARKET_BALANCE_PRECISION_EXP = new anchor_1.BN(9); exports.SPOT_MARKET_BALANCE_PRECISION = new anchor_1.BN(10).pow(exports.SPOT_MARKET_BALANCE_PRECISION_EXP); exports.SPOT_MARKET_IMF_PRECISION_EXP = new anchor_1.BN(6); exports.SPOT_MARKET_IMF_PRECISION = new anchor_1.BN(10).pow(exports.SPOT_MARKET_IMF_PRECISION_EXP); exports.LIQUIDATION_FEE_PRECISION = new anchor_1.BN(1000000); exports.QUOTE_PRECISION = new anchor_1.BN(10).pow(exports.QUOTE_PRECISION_EXP); exports.PRICE_PRECISION = new anchor_1.BN(10).pow(exports.PRICE_PRECISION_EXP); exports.FUNDING_RATE_PRECISION = new anchor_1.BN(10).pow(exports.FUNDING_RATE_PRECISION_EXP); exports.FUNDING_RATE_BUFFER_PRECISION = new anchor_1.BN(10).pow(exports.FUNDING_RATE_BUFFER_PRECISION_EXP); exports.PEG_PRECISION = new anchor_1.BN(10).pow(exports.PEG_PRECISION_EXP); exports.AMM_RESERVE_PRECISION = new anchor_1.BN(10).pow(exports.AMM_RESERVE_PRECISION_EXP); exports.BASE_PRECISION = exports.AMM_RESERVE_PRECISION; exports.BASE_PRECISION_EXP = exports.AMM_RESERVE_PRECISION_EXP; exports.AMM_TO_QUOTE_PRECISION_RATIO = exports.AMM_RESERVE_PRECISION.div(exports.QUOTE_PRECISION); // 10^3 exports.PRICE_DIV_PEG = exports.PRICE_PRECISION.div(exports.PEG_PRECISION); //10^1 exports.PRICE_TO_QUOTE_PRECISION = exports.PRICE_PRECISION.div(exports.QUOTE_PRECISION); // 10^1 exports.AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO = exports.AMM_RESERVE_PRECISION.mul(exports.PEG_PRECISION).div(exports.QUOTE_PRECISION); // 10^9 exports.MARGIN_PRECISION = exports.TEN_THOUSAND; exports.BID_ASK_SPREAD_PRECISION = new anchor_1.BN(1000000); // 10^6 exports.LIQUIDATION_PCT_PRECISION = exports.TEN_THOUSAND; exports.FUNDING_RATE_OFFSET_DENOMINATOR = new anchor_1.BN(5000); exports.PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO = exports.PRICE_PRECISION.mul(exports.AMM_TO_QUOTE_PRECISION_RATIO); exports.FIVE_MINUTE = new anchor_1.BN(60 * 5); exports.ONE_HOUR = new anchor_1.BN(60 * 60); exports.ONE_YEAR = new anchor_1.BN(31536000); exports.QUOTE_SPOT_MARKET_INDEX = 0; exports.GOV_SPOT_MARKET_INDEX = 15; exports.LAMPORTS_PRECISION = new anchor_1.BN(web3_js_1.LAMPORTS_PER_SOL); exports.LAMPORTS_EXP = new anchor_1.BN(Math.log10(web3_js_1.LAMPORTS_PER_SOL)); exports.OPEN_ORDER_MARGIN_REQUIREMENT = exports.QUOTE_PRECISION.div(new anchor_1.BN(100)); exports.DEFAULT_REVENUE_SINCE_LAST_FUNDING_SPREAD_RETREAT = new anchor_1.BN(-25).mul(exports.QUOTE_PRECISION); exports.ACCOUNT_AGE_DELETION_CUTOFF_SECONDS = 60 * 60 * 24 * 13; // 13 days exports.IDLE_TIME_SLOTS = 9000; exports.SLOT_TIME_ESTIMATE_MS = 400; exports.DUST_POSITION_SIZE = exports.QUOTE_PRECISION.divn(100); // Dust position is any position smaller than 1c exports.FUEL_WINDOW = new anchor_1.BN(60 * 60 * 24 * 28); // 28 days exports.FUEL_START_TS = new anchor_1.BN(1723147200); // unix timestamp exports.MAX_PREDICTION_PRICE = exports.PRICE_PRECISION; exports.GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = 99;