impermax-sdk 2.1.126 → 2.1.128

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,7 +49,8 @@ export declare enum Amms {
49
49
  uniswapv3 = "uniswapv3",
50
50
  shadow = "shadow",
51
51
  nile = "nile",
52
- nileStable = "nileStable"
52
+ nileStable = "nileStable",
53
+ swapx = "swapx"
53
54
  }
54
55
  export declare const hrAmms: {
55
56
  uniswap: string;
@@ -102,6 +103,7 @@ export declare const hrAmms: {
102
103
  shadow: string;
103
104
  nile: string;
104
105
  nileStable: string;
106
+ swapx: string;
105
107
  };
106
108
  export declare const AMM_FACTORY: AmmIndex;
107
109
  export declare function getAmmByFactory(network: Networks, address: Address): Amms | null;
@@ -54,6 +54,7 @@ var Amms;
54
54
  Amms["shadow"] = "shadow";
55
55
  Amms["nile"] = "nile";
56
56
  Amms["nileStable"] = "nileStable";
57
+ Amms["swapx"] = "swapx";
57
58
  })(Amms = exports.Amms || (exports.Amms = {}));
58
59
  exports.hrAmms = {
59
60
  [Amms.uniswap]: 'UniswapV2',
@@ -106,6 +107,7 @@ exports.hrAmms = {
106
107
  [Amms.shadow]: 'Shadow',
107
108
  [Amms.nile]: 'Nile',
108
109
  [Amms.nileStable]: 'Nile Stable',
110
+ [Amms.swapx]: 'SwapX',
109
111
  };
110
112
  exports.AMM_FACTORY = {
111
113
  [types_1.Networks.Ropsten]: {
@@ -199,6 +201,7 @@ exports.AMM_FACTORY = {
199
201
  [types_1.Networks.Sonic]: {
200
202
  [Amms.equalizer]: '0xDDD9845Ba0D8f38d3045f804f67A1a8B9A528FcC',
201
203
  [Amms.shadow]: '0x2dA25E7446A70D7be65fd4c053948BEcAA6374c8',
204
+ [Amms.swapx]: '0xB84bbA16A3a332Ac2e66Aa4508db1eFD300CdE2b',
202
205
  },
203
206
  [types_1.Networks.Linea]: {
204
207
  [Amms.nile]: '0xcbdf792456367a91708c0036e0678ecfb1f09654',
@@ -459,7 +462,8 @@ exports.AMM_LP_FEE = {
459
462
  },
460
463
  [types_1.Networks.Sonic]: {
461
464
  [Amms.equalizer]: 0,
462
- [Amms.shadow]: 0
465
+ [Amms.shadow]: 0,
466
+ [Amms.swapx]: 0
463
467
  },
464
468
  [types_1.Networks.Linea]: {
465
469
  [Amms.nile]: 0,
package/lib/index.d.ts CHANGED
@@ -20,7 +20,7 @@ import { APPROVE_AMOUNT, DEADLINE, NOT_SYNCED, ZERO } from './config/general';
20
20
  import { BLOCKS_SUBGRAPH_URL, IMPERMAX_CHEF_SUBGRAPH_URL, IMPERMAX_SUBGRAPH_URL, XIMX_SUBGRAPH_URL } from './config/subgraphs';
21
21
  import { Address, AddressIndex, AmmIndex, DistributorDetails, Factory, Extension, FactoryIndex, LendingPoolIndex, NetworkFactoryIndex, NetworkIndex, Networks, PoolTokenType, ProposalState, WhitelistState, VaultType, Borrowable } from './config/types';
22
22
  import { AirdropData, ApprovalType, Changes, Contract, OnchainConfig, NO_CHANGES, PendingRewardUI, PermitData, Values, CollateralConfig, BorrowableConfig, PairConfig, Permits, Permit, PermitType } from './onchain/onchainTypes';
23
- import { BorrowableData, BorrowablePastData, BorrowPosition, CollateralData, CollateralPosition, FarmingPoolData, LendingPoolData, LendingPoolPastData, PairData, PoolTokenData, RewardData, SupplyPosition, TokenData, TvlData, UserData, XimxData, LendingVaultData, VaultPosition, PairConfigData, ProposalData, ProposalMetadata } from './offchain/offchainTypes';
23
+ import { BorrowableData, BorrowablePastData, BorrowPosition, CollateralData, CollateralPosition, FarmingPoolData, LendingPoolData, LendingPoolPastData, PairData, PoolTokenData, RewardData, SupplyPosition, TokenData, TvlData, UserData, XimxData, LendingVaultData, VaultPosition, PairConfigData, ProposalData, ProposalMetadata, isV3Factory } from './offchain/offchainTypes';
24
24
  import { OffchainBorrowable, OffchainCollateral } from './offchain/lendingPool';
25
25
  import OffchainConfigManager, { OffchainPairConfig, OffchainProposal } from './offchain/configManager';
26
26
  import OffchainAccountLendingPool, { OffchainAccountBorrowable, OffchainAccountCollateral, OffchainLeveragedPosition } from './offchain/account/lendingPool';
@@ -42,4 +42,4 @@ import { decimalToBalance } from './utils/ether-utils';
42
42
  import OffchainAccountLendingPoolV3 from "./offchain/account/lendingPool/offchainAccountLendingPoolV3";
43
43
  import OffchainAccountNftlpUniswapV3 from './offchain/account/lendingPool/nftlp/offchainAccountNftlpUniswapV3';
44
44
  import { MAX_TICK, MIN_TICK, formatPriceSqrtX96, uniV3TickToPrice } from "./utils/nftlpMath/uniswapV3General";
45
- export { offchain, OffchainMultichain, Offchain, OffchainLendingPool, OffchainPoolToken, OffchainCollateral, OffchainBorrowable, OffchainVault, OffchainLeveragedVault, OffchainLendingVault, OffchainHedgedVault, OffchainConfigManager, OffchainPairConfig, OffchainProposal, OffchainMultichainAccount, OffchainAccount, OffchainAccountLendingPool, OffchainAccountPoolToken, OffchainAccountCollateral, OffchainAccountBorrowable, OffchainLeveragedPosition, OffchainAccountVault, OffchainPriceHelper, OffchainSolidexHelper, PoolTokenData, BorrowableData, CollateralData, BorrowablePastData, TokenData, RewardData, PairData, FarmingPoolData, LendingPoolPastData, LendingPoolData, CollateralPosition, SupplyPosition, BorrowPosition, UserData, TvlData, XimxData, LendingVaultData, VaultPosition, PairConfigData, ProposalData, ProposalMetadata, VaultRisk, VaultType, onchain, Onchain, OnchainLendingPool, OnchainPoolToken, OnchainBorrowable, OnchainCollateral, OnchainLendingVault, OnchainConfigManager, OnchainProposal, OnchainPairConfig, OnchainAccount, OnchainAccountLendingPool, OnchainAccountPoolToken, OnchainAccountBorrowable, OnchainAccountCollateral, OnchainAccountLendingVault, OnchainContractsHelper, OnchainImpermaxFactory, OnchainInteractions, OnchainInteractionsLendingPool, OnchainInteractionsPoolToken, OnchainInteractionsCollateral, OnchainInteractionsBorrowable, OnchainInteractionsLendingVault, OnchainInteractionsConfigManager, Contract, ApprovalType, PermitData, OnchainConfig, Changes, NO_CHANGES, Values, AirdropData, PendingRewardUI, CollateralConfig, BorrowableConfig, PairConfig, CLAIM_AGGREGATOR, IMPERMAX_CHEF, IMX, IMPERMAX_FACTORY, getNetworkFactories, getFactoryByAddress, LENDING_VAULT_WATCHER, MERKLE_DISTRIBUTOR_IBEX, MERKLE_DISTRIBUTOR_IBEX_2, MERKLE_DISTRIBUTOR_ETH, ROUTER, SIMPLE_UNISWAP_ORACLE, WETH, MERKLE_URL_ETH, MERKLE_URL_IBEX, MERKLE_URL_IBEX_2, hrAmms, AMM_FACTORY, getAmmByFactory, AMM_SUBGRAPH_URLS, ADD_LIQUIDITY_URLS, AMM_LP_FEE, DEBANK_IDS, ETH_SYMBOL, ETH_NAME, SOLIDEX_FACTORIES, BORROW_FEE_FACTORIES, OLD_KINK_MULTIPLIER_FACTORIES, LIQUIDATION_FEE_FACTORIES, V2_FACTORIES, Farms, hrFarms, FarmIndex, STAKED_LP_FACTORY, getFarmByStakedLPFactory, NOT_SYNCED, DEADLINE, ZERO, APPROVE_AMOUNT, IMPERMAX_SUBGRAPH_URL, IMPERMAX_CHEF_SUBGRAPH_URL, BLOCKS_SUBGRAPH_URL, XIMX_SUBGRAPH_URL, Networks, Factory, Extension, PoolTokenType, Amms, Address, NetworkIndex, FactoryIndex, AddressIndex, NetworkFactoryIndex, LendingPoolIndex, AmmIndex, DistributorDetails, ProposalState, WhitelistState, VaultListOrderBy, VaultListParams, LendingPoolListOrderBy, LendingPoolListParams, SortDirection, LendingPoolVersion, PositionType, AccountPosition, PermitType, Permits, Permit, Borrowable, OnchainInteractionsLendingPoolV3, OnchainInteractionsNftlpUniswapV3, decimalToBalance, OffchainAccountLendingPoolV3, OffchainAccountNftlpUniswapV3, MAX_TICK, MIN_TICK, formatPriceSqrtX96, uniV3TickToPrice };
45
+ export { offchain, OffchainMultichain, Offchain, OffchainLendingPool, OffchainPoolToken, OffchainCollateral, OffchainBorrowable, OffchainVault, OffchainLeveragedVault, OffchainLendingVault, OffchainHedgedVault, OffchainConfigManager, OffchainPairConfig, OffchainProposal, OffchainMultichainAccount, OffchainAccount, OffchainAccountLendingPool, OffchainAccountPoolToken, OffchainAccountCollateral, OffchainAccountBorrowable, OffchainLeveragedPosition, OffchainAccountVault, OffchainPriceHelper, OffchainSolidexHelper, PoolTokenData, BorrowableData, CollateralData, BorrowablePastData, TokenData, RewardData, PairData, FarmingPoolData, LendingPoolPastData, LendingPoolData, CollateralPosition, SupplyPosition, BorrowPosition, UserData, TvlData, XimxData, LendingVaultData, VaultPosition, PairConfigData, ProposalData, ProposalMetadata, VaultRisk, VaultType, onchain, Onchain, OnchainLendingPool, OnchainPoolToken, OnchainBorrowable, OnchainCollateral, OnchainLendingVault, OnchainConfigManager, OnchainProposal, OnchainPairConfig, OnchainAccount, OnchainAccountLendingPool, OnchainAccountPoolToken, OnchainAccountBorrowable, OnchainAccountCollateral, OnchainAccountLendingVault, OnchainContractsHelper, OnchainImpermaxFactory, OnchainInteractions, OnchainInteractionsLendingPool, OnchainInteractionsPoolToken, OnchainInteractionsCollateral, OnchainInteractionsBorrowable, OnchainInteractionsLendingVault, OnchainInteractionsConfigManager, Contract, ApprovalType, PermitData, OnchainConfig, Changes, NO_CHANGES, Values, AirdropData, PendingRewardUI, CollateralConfig, BorrowableConfig, PairConfig, CLAIM_AGGREGATOR, IMPERMAX_CHEF, IMX, IMPERMAX_FACTORY, getNetworkFactories, getFactoryByAddress, LENDING_VAULT_WATCHER, MERKLE_DISTRIBUTOR_IBEX, MERKLE_DISTRIBUTOR_IBEX_2, MERKLE_DISTRIBUTOR_ETH, ROUTER, SIMPLE_UNISWAP_ORACLE, WETH, MERKLE_URL_ETH, MERKLE_URL_IBEX, MERKLE_URL_IBEX_2, hrAmms, AMM_FACTORY, getAmmByFactory, AMM_SUBGRAPH_URLS, ADD_LIQUIDITY_URLS, AMM_LP_FEE, DEBANK_IDS, ETH_SYMBOL, ETH_NAME, SOLIDEX_FACTORIES, BORROW_FEE_FACTORIES, OLD_KINK_MULTIPLIER_FACTORIES, LIQUIDATION_FEE_FACTORIES, V2_FACTORIES, Farms, hrFarms, FarmIndex, STAKED_LP_FACTORY, getFarmByStakedLPFactory, NOT_SYNCED, DEADLINE, ZERO, APPROVE_AMOUNT, IMPERMAX_SUBGRAPH_URL, IMPERMAX_CHEF_SUBGRAPH_URL, BLOCKS_SUBGRAPH_URL, XIMX_SUBGRAPH_URL, Networks, Factory, Extension, PoolTokenType, Amms, Address, NetworkIndex, FactoryIndex, AddressIndex, NetworkFactoryIndex, LendingPoolIndex, AmmIndex, DistributorDetails, ProposalState, WhitelistState, VaultListOrderBy, VaultListParams, LendingPoolListOrderBy, LendingPoolListParams, SortDirection, LendingPoolVersion, PositionType, AccountPosition, PermitType, Permits, Permit, Borrowable, OnchainInteractionsLendingPoolV3, OnchainInteractionsNftlpUniswapV3, decimalToBalance, OffchainAccountLendingPoolV3, OffchainAccountNftlpUniswapV3, MAX_TICK, MIN_TICK, formatPriceSqrtX96, uniV3TickToPrice, isV3Factory };
package/lib/index.js CHANGED
@@ -28,7 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.OnchainInteractionsLendingVault = exports.OnchainInteractionsBorrowable = exports.OnchainInteractionsCollateral = exports.OnchainInteractionsPoolToken = exports.OnchainInteractionsLendingPool = exports.OnchainInteractions = exports.OnchainImpermaxFactory = exports.OnchainContractsHelper = exports.OnchainAccountLendingVault = exports.OnchainAccountCollateral = exports.OnchainAccountBorrowable = exports.OnchainAccountPoolToken = exports.OnchainAccountLendingPool = exports.OnchainAccount = exports.OnchainPairConfig = exports.OnchainProposal = exports.OnchainConfigManager = exports.OnchainLendingVault = exports.OnchainCollateral = exports.OnchainBorrowable = exports.OnchainPoolToken = exports.OnchainLendingPool = exports.Onchain = exports.onchain = exports.VaultType = exports.VaultRisk = exports.OffchainSolidexHelper = exports.OffchainPriceHelper = exports.OffchainAccountVault = exports.OffchainLeveragedPosition = exports.OffchainAccountBorrowable = exports.OffchainAccountCollateral = exports.OffchainAccountPoolToken = exports.OffchainAccountLendingPool = exports.OffchainAccount = exports.OffchainMultichainAccount = exports.OffchainProposal = exports.OffchainPairConfig = exports.OffchainConfigManager = exports.OffchainHedgedVault = exports.OffchainLendingVault = exports.OffchainLeveragedVault = exports.OffchainVault = exports.OffchainBorrowable = exports.OffchainCollateral = exports.OffchainPoolToken = exports.OffchainLendingPool = exports.Offchain = exports.OffchainMultichain = exports.offchain = void 0;
30
30
  exports.Amms = exports.PoolTokenType = exports.Extension = exports.Factory = exports.Networks = exports.XIMX_SUBGRAPH_URL = exports.BLOCKS_SUBGRAPH_URL = exports.IMPERMAX_CHEF_SUBGRAPH_URL = exports.IMPERMAX_SUBGRAPH_URL = exports.APPROVE_AMOUNT = exports.ZERO = exports.DEADLINE = exports.NOT_SYNCED = exports.getFarmByStakedLPFactory = exports.STAKED_LP_FACTORY = exports.hrFarms = exports.Farms = exports.V2_FACTORIES = exports.LIQUIDATION_FEE_FACTORIES = exports.OLD_KINK_MULTIPLIER_FACTORIES = exports.BORROW_FEE_FACTORIES = exports.SOLIDEX_FACTORIES = exports.ETH_NAME = exports.ETH_SYMBOL = exports.DEBANK_IDS = exports.AMM_LP_FEE = exports.ADD_LIQUIDITY_URLS = exports.AMM_SUBGRAPH_URLS = exports.getAmmByFactory = exports.AMM_FACTORY = exports.hrAmms = exports.MERKLE_URL_IBEX_2 = exports.MERKLE_URL_IBEX = exports.MERKLE_URL_ETH = exports.WETH = exports.SIMPLE_UNISWAP_ORACLE = exports.ROUTER = exports.MERKLE_DISTRIBUTOR_ETH = exports.MERKLE_DISTRIBUTOR_IBEX_2 = exports.MERKLE_DISTRIBUTOR_IBEX = exports.LENDING_VAULT_WATCHER = exports.getFactoryByAddress = exports.getNetworkFactories = exports.IMPERMAX_FACTORY = exports.IMX = exports.IMPERMAX_CHEF = exports.CLAIM_AGGREGATOR = exports.NO_CHANGES = exports.ApprovalType = exports.OnchainInteractionsConfigManager = void 0;
31
- exports.uniV3TickToPrice = exports.formatPriceSqrtX96 = exports.MIN_TICK = exports.MAX_TICK = exports.OffchainAccountNftlpUniswapV3 = exports.OffchainAccountLendingPoolV3 = exports.decimalToBalance = exports.OnchainInteractionsNftlpUniswapV3 = exports.OnchainInteractionsLendingPoolV3 = exports.Borrowable = exports.PermitType = exports.PositionType = exports.LendingPoolVersion = exports.SortDirection = exports.LendingPoolListOrderBy = exports.VaultListOrderBy = exports.WhitelistState = exports.ProposalState = void 0;
31
+ exports.isV3Factory = exports.uniV3TickToPrice = exports.formatPriceSqrtX96 = exports.MIN_TICK = exports.MAX_TICK = exports.OffchainAccountNftlpUniswapV3 = exports.OffchainAccountLendingPoolV3 = exports.decimalToBalance = exports.OnchainInteractionsNftlpUniswapV3 = exports.OnchainInteractionsLendingPoolV3 = exports.Borrowable = exports.PermitType = exports.PositionType = exports.LendingPoolVersion = exports.SortDirection = exports.LendingPoolListOrderBy = exports.VaultListOrderBy = exports.WhitelistState = exports.ProposalState = void 0;
32
32
  const offchain_1 = __importStar(require("./offchain"));
33
33
  exports.Offchain = offchain_1.default;
34
34
  Object.defineProperty(exports, "OffchainAccount", { enumerable: true, get: function () { return offchain_1.OffchainAccount; } });
@@ -120,6 +120,8 @@ const onchainTypes_1 = require("./onchain/onchainTypes");
120
120
  Object.defineProperty(exports, "ApprovalType", { enumerable: true, get: function () { return onchainTypes_1.ApprovalType; } });
121
121
  Object.defineProperty(exports, "NO_CHANGES", { enumerable: true, get: function () { return onchainTypes_1.NO_CHANGES; } });
122
122
  Object.defineProperty(exports, "PermitType", { enumerable: true, get: function () { return onchainTypes_1.PermitType; } });
123
+ const offchainTypes_1 = require("./offchain/offchainTypes");
124
+ Object.defineProperty(exports, "isV3Factory", { enumerable: true, get: function () { return offchainTypes_1.isV3Factory; } });
123
125
  const lendingPool_1 = require("./offchain/lendingPool");
124
126
  Object.defineProperty(exports, "OffchainBorrowable", { enumerable: true, get: function () { return lendingPool_1.OffchainBorrowable; } });
125
127
  Object.defineProperty(exports, "OffchainCollateral", { enumerable: true, get: function () { return lendingPool_1.OffchainCollateral; } });
@@ -148,7 +148,7 @@ class OffchainAccount {
148
148
  return result;
149
149
  for (const factory in userData) {
150
150
  // Check for V3 explicitely, not necesary since `positions` doesn't exist in v2
151
- if (!(0, offchainTypes_1.isV3)(factory))
151
+ if (!(0, offchainTypes_1.isV3Factory)(factory))
152
152
  continue;
153
153
  result[factory] = [];
154
154
  const collateralPositions = userData[factory].positions;
@@ -72,7 +72,7 @@ function initializeLendingPoolsData() {
72
72
  for (const factory in lendingPools) {
73
73
  for (const lendingPool of lendingPools[factory]) {
74
74
  // WARN: Quick temporary fix, to be removed after
75
- if ((0, offchainTypes_1.isV3)(factory))
75
+ if ((0, offchainTypes_1.isV3Factory)(factory))
76
76
  lendingPool["pair"] = lendingPool["nftlp"];
77
77
  lendingPool.pair.uniswapAPR = 0;
78
78
  if (impermaxChefRewardRates) {
@@ -48,7 +48,7 @@ function initializeUserData(account) {
48
48
  borrowPositions: {},
49
49
  };
50
50
  // Get collateral/borrow positions for V2/V3
51
- if ((0, offchainTypes_1.isV3)(factory)) {
51
+ if ((0, offchainTypes_1.isV3Factory)(factory)) {
52
52
  const v3Data = yield (0, positionsV3_1.initializeV3Positions)(this, factory, userDataOfFactory);
53
53
  result[factory].positions = v3Data.positions;
54
54
  }
@@ -17,6 +17,7 @@ export default class OffchainBorrowable extends OffchainPoolToken {
17
17
  getKinkUtilizationRate(): Promise<number>;
18
18
  getAdjustSpeed(): Promise<number>;
19
19
  getBorrowTracker(): Promise<Address>;
20
+ getDebtCeiling(): Promise<Address>;
20
21
  getBorrowIndex(): Promise<number>;
21
22
  getAccrualTimestamp(): Promise<number>;
22
23
  getTotalBorrows(): Promise<number>;
@@ -141,6 +141,13 @@ class OffchainBorrowable extends offchainPoolToken_1.default {
141
141
  return borrowTracker !== null && borrowTracker !== void 0 ? borrowTracker : "0x0000000000000000000000000000000000000000";
142
142
  });
143
143
  }
144
+ // Debt deciling
145
+ getDebtCeiling() {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ const debtCeiling = yield this.getPoolTokenParam("debtCeiling");
148
+ return debtCeiling !== null && debtCeiling !== void 0 ? debtCeiling : Number.POSITIVE_INFINITY;
149
+ });
150
+ }
144
151
  // Borrow Index
145
152
  getBorrowIndex() {
146
153
  return __awaiter(this, void 0, void 0, function* () {
@@ -1,5 +1,5 @@
1
1
  import { Address, AddressIndex, PoolTokenType, ProposalState, WhitelistState, VaultType } from '../config/types';
2
- export declare const isV3: (factory: string) => boolean;
2
+ export declare const isV3Factory: (factory: string) => boolean;
3
3
  export interface TokenData {
4
4
  id: Address;
5
5
  symbol: string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isV3 = void 0;
3
+ exports.isV3Factory = void 0;
4
4
  const types_1 = require("../config/types");
5
5
  // Condition mgiht need to be reworked but enough for now
6
- const isV3 = (factory) => Number(factory) >= 8;
7
- exports.isV3 = isV3;
6
+ const isV3Factory = (factory) => Number(factory) >= 8;
7
+ exports.isV3Factory = isV3Factory;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impermax-sdk",
3
- "version": "2.1.126",
3
+ "version": "2.1.128",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.js",