impermax-sdk 2.1.128 → 2.1.129

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.
package/lib/index.d.ts CHANGED
@@ -19,7 +19,7 @@ import { FarmIndex, Farms, getFarmByStakedLPFactory, hrFarms, STAKED_LP_FACTORY
19
19
  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
- import { AirdropData, ApprovalType, Changes, Contract, OnchainConfig, NO_CHANGES, PendingRewardUI, PermitData, Values, CollateralConfig, BorrowableConfig, PairConfig, Permits, Permit, PermitType } from './onchain/onchainTypes';
22
+ import { AirdropData, ApprovalType, Changes, Contract, OnchainConfig, NO_CHANGES, PendingRewardUI, PermitData, Values, CollateralConfig, BorrowableV2Config, BorrowableV3Config, PairConfig, Permits, Permit, PermitType } from './onchain/onchainTypes';
23
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';
@@ -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, isV3Factory };
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, BorrowableV2Config, BorrowableV3Config, 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 };
@@ -21,18 +21,21 @@ export default class OnchainPairConfig {
21
21
  getReserveFactor: () => Promise<number>;
22
22
  getKinkUtilizationRate: () => Promise<number>;
23
23
  getAdjustSpeed: () => Promise<number>;
24
- getBorrowTracker: () => Promise<Address>;
24
+ getBorrowTracker: () => Promise<Address | undefined>;
25
+ getDebtCeiling: () => Promise<string | undefined>;
25
26
  };
26
27
  getBorrowableA: () => {
27
28
  getReserveFactor: () => Promise<number>;
28
29
  getKinkUtilizationRate: () => Promise<number>;
29
30
  getAdjustSpeed: () => Promise<number>;
30
- getBorrowTracker: () => Promise<Address>;
31
+ getBorrowTracker: () => Promise<Address | undefined>;
32
+ getDebtCeiling: () => Promise<string | undefined>;
31
33
  };
32
34
  getBorrowableB: () => {
33
35
  getReserveFactor: () => Promise<number>;
34
36
  getKinkUtilizationRate: () => Promise<number>;
35
37
  getAdjustSpeed: () => Promise<number>;
36
- getBorrowTracker: () => Promise<Address>;
38
+ getBorrowTracker: () => Promise<Address | undefined>;
39
+ getDebtCeiling: () => Promise<string | undefined>;
37
40
  };
38
41
  }
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const types_1 = require("../../config/types");
13
13
  const impermax_factories_1 = require("../../config/contracts/impermax-factories");
14
+ const onchainTypes_1 = require("../onchainTypes");
14
15
  class OnchainPairConfig {
15
16
  constructor(proposal, pairConfig) {
16
17
  this.getProposal = () => this.proposal;
@@ -36,7 +37,7 @@ class OnchainPairConfig {
36
37
  return __awaiter(this, void 0, void 0, function* () {
37
38
  if (!this.lendingPool)
38
39
  this.lendingPool = (() => __awaiter(this, void 0, void 0, function* () {
39
- const impermaxFactory = yield this.getOnchain().getImpermaxFactory(yield this.getFactory());
40
+ const impermaxFactory = this.getOnchain().getImpermaxFactory(yield this.getFactory());
40
41
  return impermaxFactory.getLendingPool(yield this.getPairAddress());
41
42
  }))();
42
43
  return this.lendingPool;
@@ -77,7 +78,10 @@ class OnchainPairConfig {
77
78
  return parseInt(borrowableConfig.adjustSpeed) / 1e18;
78
79
  }),
79
80
  getBorrowTracker: () => __awaiter(this, void 0, void 0, function* () {
80
- return borrowableConfig.borrowTracker;
81
+ return (0, onchainTypes_1.isBorrowableV2Config)(borrowableConfig) ? borrowableConfig.borrowTracker : undefined;
82
+ }),
83
+ getDebtCeiling: () => __awaiter(this, void 0, void 0, function* () {
84
+ return (0, onchainTypes_1.isBorrowableV3Config)(borrowableConfig) ? borrowableConfig.debtCeiling : undefined;
81
85
  }),
82
86
  };
83
87
  }
@@ -60,12 +60,19 @@ export interface CollateralConfig {
60
60
  liquidationIncentive: string;
61
61
  liquidationFee: string;
62
62
  }
63
- export interface BorrowableConfig {
63
+ export interface BorrowableV2Config {
64
64
  reserveFactor: string;
65
65
  kinkUtilizationRate: string;
66
66
  adjustSpeed: string;
67
67
  borrowTracker: string;
68
68
  }
69
+ export interface BorrowableV3Config {
70
+ reserveFactor: string;
71
+ kinkUtilizationRate: string;
72
+ adjustSpeed: string;
73
+ debtCeiling: string;
74
+ }
75
+ export type BorrowableConfig = BorrowableV2Config | BorrowableV3Config;
69
76
  export interface PairConfig {
70
77
  factory: string;
71
78
  pair: string;
@@ -74,3 +81,5 @@ export interface PairConfig {
74
81
  borrowable0Config: BorrowableConfig;
75
82
  borrowable1Config: BorrowableConfig;
76
83
  }
84
+ export declare const isBorrowableV2Config: (config: BorrowableConfig) => config is BorrowableV2Config;
85
+ export declare const isBorrowableV3Config: (config: BorrowableConfig) => config is BorrowableV3Config;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NO_CHANGES = exports.PermitType = exports.ApprovalType = void 0;
3
+ exports.isBorrowableV3Config = exports.isBorrowableV2Config = exports.NO_CHANGES = exports.PermitType = exports.ApprovalType = void 0;
4
4
  var ApprovalType;
5
5
  (function (ApprovalType) {
6
6
  ApprovalType[ApprovalType["POOL_TOKEN"] = 0] = "POOL_TOKEN";
@@ -19,3 +19,11 @@ exports.NO_CHANGES = {
19
19
  changeBorrowedB: 0,
20
20
  changeCollateral: 0,
21
21
  };
22
+ const isBorrowableV2Config = (config) => {
23
+ return 'borrowTracker' in config;
24
+ };
25
+ exports.isBorrowableV2Config = isBorrowableV2Config;
26
+ const isBorrowableV3Config = (config) => {
27
+ return 'debtCeiling' in config;
28
+ };
29
+ exports.isBorrowableV3Config = isBorrowableV3Config;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impermax-sdk",
3
- "version": "2.1.128",
3
+ "version": "2.1.129",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.js",