@d8x/perpetuals-sdk
Version:
Node TypeScript SDK for D8X Perpetual Futures
62 lines • 3.24 kB
JavaScript
import { ZeroAddress, ZeroHash } from "ethers";
export const ERC20_ABI = require("./abi/ERC20.json");
export const MOCK_TOKEN_SWAP_ABI = require("./abi/MockTokenSwap.json");
export const PROXY_ABI = require("./abi/IPerpetualManager.json");
//export const PROXY_ZKEVM_ABI = require("./abi-zkevm/IPerpetualManager.json");
export const LOB_FACTORY_ABI = require("./abi/LimitOrderBookFactory.json");
export const LOB_ABI = require("./abi/LimitOrderBook.json");
export const SHARE_TOKEN_ABI = require("./abi/ShareToken.json");
export const MULTICALL3_ABI = require("./abi/Multicall3.json");
export const SYMBOL_LIST = new Map(Object.entries(require(`./config/symbolList.json`)));
export const COLLATERAL_CURRENCY_QUOTE = 0;
export const COLLATERAL_CURRENCY_BASE = 1;
export const COLLATERAL_CURRENCY_QUANTO = 2;
export const PERP_STATE_STR = ["INVALID", "INITIALIZING", "NORMAL", "EMERGENCY", "SETTLE", "CLEARED"];
export const ZERO_ADDRESS = ZeroAddress;
export const ZERO_ORDER_ID = ZeroHash;
export const MULTICALL_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
export const ONE_64x64 = BigInt("0x010000000000000000");
export const MAX_64x64 = BigInt("0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
export const MAX_UINT_256 = 2n ** 256n - 1n; // BigNumber.from(2).pow(256).sub(BigNumber.from(1));
export const DECIMALS = 10n ** 18n; // BigNumber.from(10).pow(BigNumber.from(18));
export const ORDER_MAX_DURATION_SEC = 60 * 60 * 24 * 30 * 4;
export const MASK_CLOSE_ONLY = BigInt("0x80000000");
export const MASK_LIMIT_ORDER = BigInt("0x04000000");
export const MASK_MARKET_ORDER = BigInt("0x40000000");
export const MASK_STOP_ORDER = BigInt("0x20000000");
export const MASK_KEEP_POS_LEVERAGE = BigInt("0x08000000");
export const MASK_PREDICTION_MARKET = 2n;
export const MASK_LOW_LIQUIDITY_MARKET = 4n;
export const MASK_TRADFI_MARKET = 8n;
export const ORDER_TYPE_LIMIT = "LIMIT";
export const ORDER_TYPE_MARKET = "MARKET";
export const ORDER_TYPE_STOP_MARKET = "STOP_MARKET";
export const ORDER_TYPE_STOP_LIMIT = "STOP_LIMIT";
export const BUY_SIDE = "BUY";
export const SELL_SIDE = "SELL";
export const CLOSED_SIDE = "CLOSED";
export var CollaterlCCY;
(function (CollaterlCCY) {
CollaterlCCY[CollaterlCCY["QUOTE"] = 0] = "QUOTE";
CollaterlCCY[CollaterlCCY["BASE"] = 1] = "BASE";
CollaterlCCY[CollaterlCCY["QUANTO"] = 2] = "QUANTO";
})(CollaterlCCY || (CollaterlCCY = {}));
export var OrderStatus;
(function (OrderStatus) {
OrderStatus[OrderStatus["CANCELED"] = 0] = "CANCELED";
OrderStatus[OrderStatus["EXECUTED"] = 1] = "EXECUTED";
OrderStatus[OrderStatus["OPEN"] = 2] = "OPEN";
OrderStatus[OrderStatus["UNKNOWN"] = 3] = "UNKNOWN";
})(OrderStatus || (OrderStatus = {}));
export const DEFAULT_CONFIG_MAINNET_NAME = "mainnet";
export const DEFAULT_CONFIG_TESTNET_NAME = "testnet";
let defaultConfigs = require("./config/defaultConfig.json");
defaultConfigs.map((config) => {
//config.proxyABI = config.proxyABILocation.includes("abi-zkevm") ? PROXY_ZKEVM_ABI : PROXY_ABI;
config.proxyABI = PROXY_ABI;
config.lobABI = LOB_ABI;
config.lobFactoryABI = LOB_FACTORY_ABI;
config.shareTokenABI = SHARE_TOKEN_ABI;
});
export const DEFAULT_CONFIG = defaultConfigs;
//# sourceMappingURL=constants.js.map