impermax-sdk 1.1.37 → 1.1.38

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.
Files changed (126) hide show
  1. package/lib/index.d.ts +13 -5
  2. package/lib/index.js +47 -9
  3. package/lib/offchain/account/index.d.ts +6 -23
  4. package/lib/offchain/account/index.js +8 -92
  5. package/lib/offchain/account/lendingPool/borrowable.js +9 -9
  6. package/lib/offchain/account/lendingPool/collateral.js +3 -3
  7. package/lib/offchain/account/lendingPool/index.d.ts +5 -21
  8. package/lib/offchain/account/lendingPool/index.js +7 -46
  9. package/lib/offchain/account/lendingPool/offchainAccountBorrowable.d.ts +16 -0
  10. package/lib/offchain/account/lendingPool/offchainAccountBorrowable.js +69 -0
  11. package/lib/offchain/account/lendingPool/offchainAccountCollateral.d.ts +12 -0
  12. package/lib/offchain/account/lendingPool/offchainAccountCollateral.js +42 -0
  13. package/lib/offchain/account/lendingPool/offchainAccountLendingPool.d.ts +21 -0
  14. package/lib/offchain/account/lendingPool/offchainAccountLendingPool.js +66 -0
  15. package/lib/offchain/account/offchainAccount.d.ts +21 -0
  16. package/lib/offchain/account/offchainAccount.js +93 -0
  17. package/lib/offchain/account/offchainAccountLendingVault.d.ts +11 -0
  18. package/lib/offchain/account/offchainAccountLendingVault.js +38 -0
  19. package/lib/offchain/account/offchainAccountPoolToken.d.ts +7 -0
  20. package/lib/offchain/account/offchainAccountPoolToken.js +24 -0
  21. package/lib/offchain/account/poolToken.js +1 -1
  22. package/lib/offchain/index.d.ts +9 -83
  23. package/lib/offchain/index.js +13 -176
  24. package/lib/offchain/initializer.js +2 -2
  25. package/lib/offchain/lendingPool/index.d.ts +5 -44
  26. package/lib/offchain/lendingPool/index.js +7 -204
  27. package/lib/offchain/lendingPool/offchainBorrowable.d.ts +56 -0
  28. package/lib/offchain/lendingPool/offchainBorrowable.js +352 -0
  29. package/lib/offchain/lendingPool/offchainCollateral.d.ts +19 -0
  30. package/lib/offchain/lendingPool/offchainCollateral.js +75 -0
  31. package/lib/offchain/lendingPool/offchainLendingPool.d.ts +45 -0
  32. package/lib/offchain/lendingPool/offchainLendingPool.js +213 -0
  33. package/lib/offchain/offchain.d.ts +83 -0
  34. package/lib/offchain/offchain.js +179 -0
  35. package/lib/offchain/offchainInitializer.d.ts +32 -0
  36. package/lib/offchain/offchainInitializer.js +627 -0
  37. package/lib/offchain/offchainLendingVault.d.ts +22 -0
  38. package/lib/offchain/offchainLendingVault.js +115 -0
  39. package/lib/offchain/offchainPoolToken.d.ts +20 -0
  40. package/lib/offchain/offchainPoolToken.js +120 -0
  41. package/lib/offchain/offchainPriceHelper.d.ts +17 -0
  42. package/lib/offchain/offchainPriceHelper.js +195 -0
  43. package/lib/offchain/offchainSolidexHelper.d.ts +16 -0
  44. package/lib/offchain/offchainSolidexHelper.js +58 -0
  45. package/lib/offchain/offchainTypes.d.ts +161 -0
  46. package/lib/offchain/offchainTypes.js +3 -0
  47. package/lib/onchain/account/index.d.ts +6 -42
  48. package/lib/onchain/account/index.js +9 -181
  49. package/lib/onchain/account/interactions/index.js +8 -8
  50. package/lib/onchain/account/interactions/lendingPool/borrowable.js +1 -1
  51. package/lib/onchain/account/interactions/lendingPool/collateral.js +1 -1
  52. package/lib/onchain/account/interactions/lendingPool/index.js +9 -9
  53. package/lib/onchain/account/interactions/poolToken.js +5 -5
  54. package/lib/onchain/account/lendingPool/borrowable.js +22 -22
  55. package/lib/onchain/account/lendingPool/collateral.js +5 -5
  56. package/lib/onchain/account/lendingPool/index.d.ts +5 -58
  57. package/lib/onchain/account/lendingPool/index.js +7 -268
  58. package/lib/onchain/account/lendingPool/onchainAccountBorrowable.d.ts +33 -0
  59. package/lib/onchain/account/lendingPool/onchainAccountBorrowable.js +148 -0
  60. package/lib/onchain/account/lendingPool/onchainAccountCollateral.d.ts +22 -0
  61. package/lib/onchain/account/lendingPool/onchainAccountCollateral.js +78 -0
  62. package/lib/onchain/account/lendingPool/onchainAccountLendingPool.d.ts +60 -0
  63. package/lib/onchain/account/lendingPool/onchainAccountLendingPool.js +283 -0
  64. package/lib/onchain/account/lendingVault.js +2 -2
  65. package/lib/onchain/account/onchainAccount.d.ts +32 -0
  66. package/lib/onchain/account/onchainAccount.js +167 -0
  67. package/lib/onchain/account/onchainAccountLendingVault.d.ts +19 -0
  68. package/lib/onchain/account/onchainAccountLendingVault.js +47 -0
  69. package/lib/onchain/account/onchainAccountPoolToken.d.ts +29 -0
  70. package/lib/onchain/account/onchainAccountPoolToken.js +85 -0
  71. package/lib/onchain/account/poolToken.js +15 -15
  72. package/lib/onchain/impermaxFactory/index.d.ts +4 -21
  73. package/lib/onchain/impermaxFactory/index.js +4 -46
  74. package/lib/onchain/impermaxFactory/lendingPool/borrowable.d.ts +1 -1
  75. package/lib/onchain/impermaxFactory/lendingPool/collateral.d.ts +1 -1
  76. package/lib/onchain/impermaxFactory/lendingPool/index.d.ts +5 -70
  77. package/lib/onchain/impermaxFactory/lendingPool/index.js +7 -294
  78. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowable.d.ts +34 -0
  79. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowable.js +156 -0
  80. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateral.d.ts +19 -0
  81. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateral.js +61 -0
  82. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPool.d.ts +52 -0
  83. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPool.js +299 -0
  84. package/lib/onchain/impermaxFactory/onchainImpermaxFactory.d.ts +16 -0
  85. package/lib/onchain/impermaxFactory/onchainImpermaxFactory.js +52 -0
  86. package/lib/onchain/index.d.ts +9 -30
  87. package/lib/onchain/index.js +16 -57
  88. package/lib/onchain/interactions/index.d.ts +7 -0
  89. package/lib/onchain/interactions/index.js +39 -0
  90. package/lib/onchain/interactions/lendingPool/borrowable.d.ts +14 -0
  91. package/lib/onchain/interactions/lendingPool/borrowable.js +47 -0
  92. package/lib/onchain/interactions/lendingPool/collateral.d.ts +13 -0
  93. package/lib/onchain/interactions/lendingPool/collateral.js +31 -0
  94. package/lib/onchain/interactions/lendingPool/index.d.ts +5 -0
  95. package/lib/onchain/interactions/lendingPool/index.js +12 -0
  96. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowable.d.ts +20 -0
  97. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowable.js +55 -0
  98. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateral.d.ts +18 -0
  99. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateral.js +42 -0
  100. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPool.d.ts +46 -0
  101. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPool.js +131 -0
  102. package/lib/onchain/interactions/lendingVault.d.ts +8 -0
  103. package/lib/onchain/interactions/lendingVault.js +15 -0
  104. package/lib/onchain/interactions/onchainInteractions.d.ts +28 -0
  105. package/lib/onchain/interactions/onchainInteractions.js +128 -0
  106. package/lib/onchain/interactions/onchainInteractionsLendingVault.d.ts +14 -0
  107. package/lib/onchain/interactions/onchainInteractionsLendingVault.js +21 -0
  108. package/lib/onchain/interactions/onchainInteractionsPoolToken.d.ts +35 -0
  109. package/lib/onchain/interactions/onchainInteractionsPoolToken.js +186 -0
  110. package/lib/onchain/interactions/poolToken.d.ts +31 -0
  111. package/lib/onchain/interactions/poolToken.js +181 -0
  112. package/lib/onchain/lendingVault.d.ts +1 -1
  113. package/lib/onchain/lendingVault.js +1 -1
  114. package/lib/onchain/onchain.d.ts +31 -0
  115. package/lib/onchain/onchain.js +65 -0
  116. package/lib/onchain/onchainContractsHelper.d.ts +29 -0
  117. package/lib/onchain/onchainContractsHelper.js +52 -0
  118. package/lib/onchain/onchainLendingVault.d.ts +21 -0
  119. package/lib/onchain/onchainLendingVault.js +59 -0
  120. package/lib/onchain/onchainPoolToken.d.ts +31 -0
  121. package/lib/onchain/onchainPoolToken.js +120 -0
  122. package/lib/onchain/onchainTypes.d.ts +45 -0
  123. package/lib/onchain/onchainTypes.js +14 -0
  124. package/lib/onchain/poolToken.d.ts +1 -1
  125. package/lib/onchain/poolToken.js +3 -3
  126. package/package.json +1 -1
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import Offchain from './offchain';
2
- import Onchain from './onchain';
1
+ import Offchain, { OffchainAccount, OffchainLendingPool, OffchainLendingVault, OffchainPoolToken, OffchainPriceHelper, OffchainSolidexHelper } from './offchain';
2
+ import Onchain, { OnchainAccount, OnchainContractsHelper, OnchainImpermaxFactory, OnchainInteractions, OnchainLendingVault, OnchainPoolToken } from './onchain';
3
3
  import * as offchain from './offchain';
4
4
  import * as onchain from './onchain';
5
5
  import { CLAIM_AGGREGATOR } from './config/contracts/claim-aggregators';
@@ -18,6 +18,14 @@ import { FarmIndex, Farms, getFarmByStakedLPFactory, hrFarms, STAKED_LP_FACTORY
18
18
  import { APPROVE_AMOUNT, DEADLINE, NOT_SYNCED, ZERO } from './config/general';
19
19
  import { BLOCKS_SUBGRAPH_URL, IMPERMAX_CHEF_SUBGRAPH_URL, IMPERMAX_SUBGRAPH_URL, XIMX_SUBGRAPH_URL } from './config/subgraphs';
20
20
  import { Address, AddressIndex, AmmIndex, DistributorDetails, Factory, FactoryIndex, LendingPoolIndex, NetworkFactoryIndex, NetworkIndex, Networks, PoolTokenType } from './config/types';
21
- import { AirdropData, ApprovalType, Changes, Contract, OnchainConfig, NO_CHANGES, PendingRewardUI, PermitData, Values } from './onchain/types';
22
- import { BorrowableData, BorrowablePastData, BorrowPosition, CollateralData, CollateralPosition, FarmingPoolData, LendingPoolData, LendingPoolPastData, PairData, PoolTokenData, RewardData, SupplyPosition, TokenData, TvlData, UserData, XimxData } from './offchain/types';
23
- export { offchain, Offchain, PoolTokenData, BorrowableData, CollateralData, BorrowablePastData, TokenData, RewardData, PairData, FarmingPoolData, LendingPoolPastData, LendingPoolData, CollateralPosition, SupplyPosition, BorrowPosition, UserData, TvlData, XimxData, onchain, Onchain, Contract, ApprovalType, PermitData, OnchainConfig, Changes, NO_CHANGES, Values, AirdropData, PendingRewardUI, CLAIM_AGGREGATOR, IMPERMAX_CHEF, IMX, 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, PoolTokenType, Amms, Address, NetworkIndex, FactoryIndex, AddressIndex, NetworkFactoryIndex, LendingPoolIndex, AmmIndex, DistributorDetails, };
21
+ import { AirdropData, ApprovalType, Changes, Contract, OnchainConfig, NO_CHANGES, PendingRewardUI, PermitData, Values } from './onchain/onchainTypes';
22
+ import { BorrowableData, BorrowablePastData, BorrowPosition, CollateralData, CollateralPosition, FarmingPoolData, LendingPoolData, LendingPoolPastData, PairData, PoolTokenData, RewardData, SupplyPosition, TokenData, TvlData, UserData, XimxData } from './offchain/offchainTypes';
23
+ import { OffchainBorrowable, OffchainCollateral } from './offchain/lendingPool';
24
+ import OffchainAccountLendingPool, { OffchainAccountBorrowable, OffchainAccountCollateral } from './offchain/account/lendingPool';
25
+ import { OffchainAccountLendingVault, OffchainAccountPoolToken } from './offchain/account';
26
+ import OnchainLendingPool, { OnchainBorrowable, OnchainCollateral } from './onchain/impermaxFactory/lendingPool';
27
+ import { OnchainAccountLendingPool, OnchainAccountLendingVault, OnchainAccountPoolToken } from './onchain/account';
28
+ import { OnchainAccountBorrowable, OnchainAccountCollateral } from './onchain/account/lendingPool';
29
+ import { OnchainInteractionsLendingPool, OnchainInteractionsLendingVault, OnchainInteractionsPoolToken } from './onchain/interactions';
30
+ import { OnchainInteractionsBorrowable, OnchainInteractionsCollateral } from './onchain/interactions/lendingPool';
31
+ export { offchain, Offchain, OffchainLendingPool, OffchainPoolToken, OffchainCollateral, OffchainBorrowable, OffchainLendingVault, OffchainAccount, OffchainAccountLendingPool, OffchainAccountPoolToken, OffchainAccountCollateral, OffchainAccountBorrowable, OffchainAccountLendingVault, OffchainPriceHelper, OffchainSolidexHelper, PoolTokenData, BorrowableData, CollateralData, BorrowablePastData, TokenData, RewardData, PairData, FarmingPoolData, LendingPoolPastData, LendingPoolData, CollateralPosition, SupplyPosition, BorrowPosition, UserData, TvlData, XimxData, onchain, Onchain, OnchainLendingPool, OnchainPoolToken, OnchainBorrowable, OnchainCollateral, OnchainLendingVault, OnchainAccount, OnchainAccountLendingPool, OnchainAccountPoolToken, OnchainAccountBorrowable, OnchainAccountCollateral, OnchainAccountLendingVault, OnchainContractsHelper, OnchainImpermaxFactory, OnchainInteractions, OnchainInteractionsLendingPool, OnchainInteractionsPoolToken, OnchainInteractionsCollateral, OnchainInteractionsBorrowable, OnchainInteractionsLendingVault, Contract, ApprovalType, PermitData, OnchainConfig, Changes, NO_CHANGES, Values, AirdropData, PendingRewardUI, CLAIM_AGGREGATOR, IMPERMAX_CHEF, IMX, 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, PoolTokenType, Amms, Address, NetworkIndex, FactoryIndex, AddressIndex, NetworkFactoryIndex, LendingPoolIndex, AmmIndex, DistributorDetails, };
package/lib/index.js CHANGED
@@ -22,15 +22,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Amms = exports.PoolTokenType = 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.IMX = exports.IMPERMAX_CHEF = exports.CLAIM_AGGREGATOR = exports.NO_CHANGES = exports.ApprovalType = exports.Onchain = exports.onchain = exports.Offchain = exports.offchain = void 0;
30
- const offchain_1 = __importDefault(require("./offchain"));
26
+ 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.IMX = exports.IMPERMAX_CHEF = exports.CLAIM_AGGREGATOR = exports.NO_CHANGES = exports.ApprovalType = 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.OnchainLendingVault = exports.OnchainCollateral = exports.OnchainBorrowable = exports.OnchainPoolToken = exports.OnchainLendingPool = exports.Onchain = exports.onchain = exports.OffchainSolidexHelper = exports.OffchainPriceHelper = exports.OffchainAccountLendingVault = exports.OffchainAccountBorrowable = exports.OffchainAccountCollateral = exports.OffchainAccountPoolToken = exports.OffchainAccountLendingPool = exports.OffchainAccount = exports.OffchainLendingVault = exports.OffchainBorrowable = exports.OffchainCollateral = exports.OffchainPoolToken = exports.OffchainLendingPool = exports.Offchain = exports.offchain = void 0;
27
+ exports.Amms = exports.PoolTokenType = 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 = void 0;
28
+ const offchain_1 = __importStar(require("./offchain"));
31
29
  exports.Offchain = offchain_1.default;
32
- const onchain_1 = __importDefault(require("./onchain"));
30
+ Object.defineProperty(exports, "OffchainAccount", { enumerable: true, get: function () { return offchain_1.OffchainAccount; } });
31
+ Object.defineProperty(exports, "OffchainLendingPool", { enumerable: true, get: function () { return offchain_1.OffchainLendingPool; } });
32
+ Object.defineProperty(exports, "OffchainLendingVault", { enumerable: true, get: function () { return offchain_1.OffchainLendingVault; } });
33
+ Object.defineProperty(exports, "OffchainPoolToken", { enumerable: true, get: function () { return offchain_1.OffchainPoolToken; } });
34
+ Object.defineProperty(exports, "OffchainPriceHelper", { enumerable: true, get: function () { return offchain_1.OffchainPriceHelper; } });
35
+ Object.defineProperty(exports, "OffchainSolidexHelper", { enumerable: true, get: function () { return offchain_1.OffchainSolidexHelper; } });
36
+ const onchain_1 = __importStar(require("./onchain"));
33
37
  exports.Onchain = onchain_1.default;
38
+ Object.defineProperty(exports, "OnchainAccount", { enumerable: true, get: function () { return onchain_1.OnchainAccount; } });
39
+ Object.defineProperty(exports, "OnchainContractsHelper", { enumerable: true, get: function () { return onchain_1.OnchainContractsHelper; } });
40
+ Object.defineProperty(exports, "OnchainImpermaxFactory", { enumerable: true, get: function () { return onchain_1.OnchainImpermaxFactory; } });
41
+ Object.defineProperty(exports, "OnchainInteractions", { enumerable: true, get: function () { return onchain_1.OnchainInteractions; } });
42
+ Object.defineProperty(exports, "OnchainLendingVault", { enumerable: true, get: function () { return onchain_1.OnchainLendingVault; } });
43
+ Object.defineProperty(exports, "OnchainPoolToken", { enumerable: true, get: function () { return onchain_1.OnchainPoolToken; } });
34
44
  const offchain = __importStar(require("./offchain"));
35
45
  exports.offchain = offchain;
36
46
  const onchain = __importStar(require("./onchain"));
@@ -93,6 +103,34 @@ const types_1 = require("./config/types");
93
103
  Object.defineProperty(exports, "Factory", { enumerable: true, get: function () { return types_1.Factory; } });
94
104
  Object.defineProperty(exports, "Networks", { enumerable: true, get: function () { return types_1.Networks; } });
95
105
  Object.defineProperty(exports, "PoolTokenType", { enumerable: true, get: function () { return types_1.PoolTokenType; } });
96
- const types_2 = require("./onchain/types");
97
- Object.defineProperty(exports, "ApprovalType", { enumerable: true, get: function () { return types_2.ApprovalType; } });
98
- Object.defineProperty(exports, "NO_CHANGES", { enumerable: true, get: function () { return types_2.NO_CHANGES; } });
106
+ const onchainTypes_1 = require("./onchain/onchainTypes");
107
+ Object.defineProperty(exports, "ApprovalType", { enumerable: true, get: function () { return onchainTypes_1.ApprovalType; } });
108
+ Object.defineProperty(exports, "NO_CHANGES", { enumerable: true, get: function () { return onchainTypes_1.NO_CHANGES; } });
109
+ const lendingPool_1 = require("./offchain/lendingPool");
110
+ Object.defineProperty(exports, "OffchainBorrowable", { enumerable: true, get: function () { return lendingPool_1.OffchainBorrowable; } });
111
+ Object.defineProperty(exports, "OffchainCollateral", { enumerable: true, get: function () { return lendingPool_1.OffchainCollateral; } });
112
+ const lendingPool_2 = __importStar(require("./offchain/account/lendingPool"));
113
+ exports.OffchainAccountLendingPool = lendingPool_2.default;
114
+ Object.defineProperty(exports, "OffchainAccountBorrowable", { enumerable: true, get: function () { return lendingPool_2.OffchainAccountBorrowable; } });
115
+ Object.defineProperty(exports, "OffchainAccountCollateral", { enumerable: true, get: function () { return lendingPool_2.OffchainAccountCollateral; } });
116
+ const account_1 = require("./offchain/account");
117
+ Object.defineProperty(exports, "OffchainAccountLendingVault", { enumerable: true, get: function () { return account_1.OffchainAccountLendingVault; } });
118
+ Object.defineProperty(exports, "OffchainAccountPoolToken", { enumerable: true, get: function () { return account_1.OffchainAccountPoolToken; } });
119
+ const lendingPool_3 = __importStar(require("./onchain/impermaxFactory/lendingPool"));
120
+ exports.OnchainLendingPool = lendingPool_3.default;
121
+ Object.defineProperty(exports, "OnchainBorrowable", { enumerable: true, get: function () { return lendingPool_3.OnchainBorrowable; } });
122
+ Object.defineProperty(exports, "OnchainCollateral", { enumerable: true, get: function () { return lendingPool_3.OnchainCollateral; } });
123
+ const account_2 = require("./onchain/account");
124
+ Object.defineProperty(exports, "OnchainAccountLendingPool", { enumerable: true, get: function () { return account_2.OnchainAccountLendingPool; } });
125
+ Object.defineProperty(exports, "OnchainAccountLendingVault", { enumerable: true, get: function () { return account_2.OnchainAccountLendingVault; } });
126
+ Object.defineProperty(exports, "OnchainAccountPoolToken", { enumerable: true, get: function () { return account_2.OnchainAccountPoolToken; } });
127
+ const lendingPool_4 = require("./onchain/account/lendingPool");
128
+ Object.defineProperty(exports, "OnchainAccountBorrowable", { enumerable: true, get: function () { return lendingPool_4.OnchainAccountBorrowable; } });
129
+ Object.defineProperty(exports, "OnchainAccountCollateral", { enumerable: true, get: function () { return lendingPool_4.OnchainAccountCollateral; } });
130
+ const interactions_1 = require("./onchain/interactions");
131
+ Object.defineProperty(exports, "OnchainInteractionsLendingPool", { enumerable: true, get: function () { return interactions_1.OnchainInteractionsLendingPool; } });
132
+ Object.defineProperty(exports, "OnchainInteractionsLendingVault", { enumerable: true, get: function () { return interactions_1.OnchainInteractionsLendingVault; } });
133
+ Object.defineProperty(exports, "OnchainInteractionsPoolToken", { enumerable: true, get: function () { return interactions_1.OnchainInteractionsPoolToken; } });
134
+ const lendingPool_5 = require("./onchain/interactions/lendingPool");
135
+ Object.defineProperty(exports, "OnchainInteractionsBorrowable", { enumerable: true, get: function () { return lendingPool_5.OnchainInteractionsBorrowable; } });
136
+ Object.defineProperty(exports, "OnchainInteractionsCollateral", { enumerable: true, get: function () { return lendingPool_5.OnchainInteractionsCollateral; } });
@@ -1,24 +1,7 @@
1
1
  import * as lendingPool from './lendingPool';
2
- import LendingPool from "./lendingPool";
3
- import PoolToken from "./poolToken";
4
- import LendingVault from './lendingVault';
5
- import Offchain from '../index';
6
- import { Address, AddressIndex, Factory, FactoryIndex, LendingPoolIndex } from '../../config/types';
7
- import { UserData } from '../types';
8
- export { lendingPool, LendingPool, PoolToken, LendingVault, };
9
- export default class Account {
10
- offchain: Offchain;
11
- account: Address;
12
- accountLLPs: LendingPoolIndex<Promise<LendingPool>>;
13
- accountLVs: AddressIndex<Promise<LendingVault>>;
14
- constructor(offchain: Offchain, account: Address);
15
- private initializeAccountLendingPool;
16
- getAccountLendingPool(factory: Factory, pair: Address): Promise<LendingPool>;
17
- private initializeAccountLendingVault;
18
- getAccountLendingVault(vaultAddress: Address): Promise<LendingVault>;
19
- getUserData(): Promise<FactoryIndex<UserData> | null>;
20
- getBorrowPositions(): Promise<FactoryIndex<Address[]>>;
21
- getSupplyPositions(): Promise<FactoryIndex<Address[]>>;
22
- getLendingVaultsSuppliedUSD(): Promise<number>;
23
- getLendingVaultsEarningsUSD(): Promise<number>;
24
- }
2
+ import OffchainAccountLendingPool from "./lendingPool";
3
+ import OffchainAccountPoolToken from "./offchainAccountPoolToken";
4
+ import OffchainAccountLendingVault from './offchainAccountLendingVault';
5
+ import OffchainAccount from './offchainAccount';
6
+ export { lendingPool, OffchainAccountLendingPool, OffchainAccountPoolToken, OffchainAccountLendingVault, };
7
+ export default OffchainAccount;
@@ -22,102 +22,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
35
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
27
  };
37
28
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.LendingVault = exports.PoolToken = exports.LendingPool = exports.lendingPool = void 0;
29
+ exports.OffchainAccountLendingVault = exports.OffchainAccountPoolToken = exports.OffchainAccountLendingPool = exports.lendingPool = void 0;
39
30
  const lendingPool = __importStar(require("./lendingPool"));
40
31
  exports.lendingPool = lendingPool;
41
32
  const lendingPool_1 = __importDefault(require("./lendingPool"));
42
- exports.LendingPool = lendingPool_1.default;
43
- const poolToken_1 = __importDefault(require("./poolToken"));
44
- exports.PoolToken = poolToken_1.default;
45
- const lendingVault_1 = __importDefault(require("./lendingVault"));
46
- exports.LendingVault = lendingVault_1.default;
47
- class Account {
48
- constructor(offchain, account) {
49
- this.offchain = offchain;
50
- this.account = account;
51
- this.accountLLPs = {};
52
- this.accountLVs = {};
53
- }
54
- initializeAccountLendingPool(factory, pair) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- const lendingPool = yield this.offchain.getLendingPool(factory, pair);
57
- return new lendingPool_1.default(this, lendingPool);
58
- });
59
- }
60
- getAccountLendingPool(factory, pair) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- if (!this.accountLLPs[factory])
63
- this.accountLLPs[factory] = {};
64
- const accountLLPsOfFactory = this.accountLLPs[factory];
65
- if (!accountLLPsOfFactory[pair])
66
- accountLLPsOfFactory[pair] = this.initializeAccountLendingPool(factory, pair);
67
- return accountLLPsOfFactory[pair];
68
- });
69
- }
70
- initializeAccountLendingVault(vaultAddress) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const lendingVault = yield this.offchain.getLendingVault(vaultAddress);
73
- return new lendingVault_1.default(this, lendingVault);
74
- });
75
- }
76
- getAccountLendingVault(vaultAddress) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- if (!this.accountLVs[vaultAddress])
79
- this.accountLVs[vaultAddress] = this.initializeAccountLendingVault(vaultAddress);
80
- return this.accountLVs[vaultAddress];
81
- });
82
- }
83
- getUserData() {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- return this.offchain.getUserData(this.account);
86
- });
87
- }
88
- getBorrowPositions() {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- const result = {};
91
- const userData = yield this.getUserData();
92
- if (userData === null)
93
- return result;
94
- for (const factory in userData) {
95
- result[factory] = Object.keys(userData[factory].collateralPositions);
96
- }
97
- return result;
98
- });
99
- }
100
- getSupplyPositions() {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const result = {};
103
- const userData = yield this.getUserData();
104
- if (userData === null)
105
- return result;
106
- for (const factory in userData) {
107
- result[factory] = Object.keys(userData[factory].supplyPositions);
108
- }
109
- return result;
110
- });
111
- }
112
- getLendingVaultsSuppliedUSD() {
113
- return __awaiter(this, void 0, void 0, function* () {
114
- return 0;
115
- });
116
- }
117
- getLendingVaultsEarningsUSD() {
118
- return __awaiter(this, void 0, void 0, function* () {
119
- return 0;
120
- });
121
- }
122
- }
123
- exports.default = Account;
33
+ exports.OffchainAccountLendingPool = lendingPool_1.default;
34
+ const offchainAccountPoolToken_1 = __importDefault(require("./offchainAccountPoolToken"));
35
+ exports.OffchainAccountPoolToken = offchainAccountPoolToken_1.default;
36
+ const offchainAccountLendingVault_1 = __importDefault(require("./offchainAccountLendingVault"));
37
+ exports.OffchainAccountLendingVault = offchainAccountLendingVault_1.default;
38
+ const offchainAccount_1 = __importDefault(require("./offchainAccount"));
39
+ exports.default = offchainAccount_1.default;
@@ -21,13 +21,13 @@ class Borrowable extends poolToken_1.default {
21
21
  }
22
22
  getSupplyPosition() {
23
23
  return __awaiter(this, void 0, void 0, function* () {
24
- const userData = yield this.accountLendingPool.getUserData();
24
+ const userData = yield this.lendingPool.getUserData();
25
25
  if (!userData)
26
26
  return undefined;
27
- const supplyPositions = userData.supplyPositions[this.poolToken.lendingPool.pairAddress];
27
+ const supplyPositions = userData.supplyPositions[this.offchainPoolToken.lendingPool.pairAddress];
28
28
  if (!supplyPositions)
29
29
  return undefined;
30
- return supplyPositions[this.poolToken.poolTokenType];
30
+ return supplyPositions[this.offchainPoolToken.poolTokenType];
31
31
  });
32
32
  }
33
33
  getAmount() {
@@ -35,26 +35,26 @@ class Borrowable extends poolToken_1.default {
35
35
  const supplyPosition = yield this.getSupplyPosition();
36
36
  if (!supplyPosition)
37
37
  return 0;
38
- const exchangeRate = yield this.poolToken.getExchangeRate();
38
+ const exchangeRate = yield this.offchainPoolToken.getExchangeRate();
39
39
  const supplyBalance = parseFloat(supplyPosition.balance);
40
40
  return supplyBalance * exchangeRate;
41
41
  });
42
42
  }
43
43
  getBorrowPosition() {
44
44
  return __awaiter(this, void 0, void 0, function* () {
45
- const userData = yield this.accountLendingPool.getUserData();
45
+ const userData = yield this.lendingPool.getUserData();
46
46
  if (!userData)
47
47
  return undefined;
48
- const borrowPositions = userData.borrowPositions[this.poolToken.lendingPool.pairAddress];
48
+ const borrowPositions = userData.borrowPositions[this.offchainPoolToken.lendingPool.pairAddress];
49
49
  if (!borrowPositions)
50
50
  return undefined;
51
- return borrowPositions[this.poolToken.poolTokenType];
51
+ return borrowPositions[this.offchainPoolToken.poolTokenType];
52
52
  });
53
53
  }
54
54
  getBorrowedAmount() {
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
56
  const borrowPosition = yield this.getBorrowPosition();
57
- const borrowIndex = yield this.poolToken.getBorrowIndex();
57
+ const borrowIndex = yield this.offchainPoolToken.getBorrowIndex();
58
58
  if (!borrowPosition)
59
59
  return 0;
60
60
  const borrowBalance = parseFloat(borrowPosition.borrowBalance);
@@ -64,7 +64,7 @@ class Borrowable extends poolToken_1.default {
64
64
  }
65
65
  getBorrowedValue() {
66
66
  return __awaiter(this, void 0, void 0, function* () {
67
- const tokenPrice = yield this.poolToken.getTokenPriceAccurate();
67
+ const tokenPrice = yield this.offchainPoolToken.getTokenPriceAccurate();
68
68
  const borrowedAmount = yield this.getBorrowedAmount();
69
69
  return borrowedAmount * tokenPrice;
70
70
  });
@@ -22,10 +22,10 @@ class Collateral extends poolToken_1.default {
22
22
  }
23
23
  getCollateralPosition() {
24
24
  return __awaiter(this, void 0, void 0, function* () {
25
- const userData = yield this.accountLendingPool.getUserData();
25
+ const userData = yield this.lendingPool.getUserData();
26
26
  if (!userData)
27
27
  return undefined;
28
- return userData.collateralPositions[this.poolToken.lendingPool.pairAddress];
28
+ return userData.collateralPositions[this.offchainPoolToken.lendingPool.pairAddress];
29
29
  });
30
30
  }
31
31
  getAmount() {
@@ -33,7 +33,7 @@ class Collateral extends poolToken_1.default {
33
33
  const collateralPosition = yield this.getCollateralPosition();
34
34
  if (!collateralPosition)
35
35
  return 0;
36
- const exchangeRate = yield this.poolToken.lendingPool.poolTokens[types_1.PoolTokenType.Collateral].getExchangeRate();
36
+ const exchangeRate = yield this.offchainPoolToken.lendingPool.poolTokens[types_1.PoolTokenType.Collateral].getExchangeRate();
37
37
  const collateralBalance = parseFloat(collateralPosition.balance);
38
38
  return collateralBalance * exchangeRate;
39
39
  });
@@ -1,21 +1,5 @@
1
- import { PoolTokenType } from '../../../config/types';
2
- import { UserData } from '../../types';
3
- import Collateral from './collateral';
4
- import Borrowable from './borrowable';
5
- import Account from '../index';
6
- import PoolToken from '../poolToken';
7
- import * as offchain from "../../";
8
- export { Borrowable, Collateral, };
9
- export default class LendingPool {
10
- account: Account;
11
- lendingPool: offchain.LendingPool;
12
- accountPoolTokens: {
13
- [PoolTokenType.Collateral]: Collateral;
14
- [PoolTokenType.BorrowableA]: Borrowable;
15
- [PoolTokenType.BorrowableB]: Borrowable;
16
- };
17
- constructor(account: Account, lendingPool: offchain.LendingPool);
18
- getAccountPoolToken(poolTokenType: PoolTokenType): PoolToken;
19
- getUserData(): Promise<UserData | undefined>;
20
- getBorrowerEquityValue(): Promise<number>;
21
- }
1
+ import OffchainAccountCollateral from './offchainAccountCollateral';
2
+ import OffchainAccountBorrowable from './offchainAccountBorrowable';
3
+ import OffchainAccountLendingPool from './offchainAccountLendingPool';
4
+ export { OffchainAccountBorrowable, OffchainAccountCollateral, };
5
+ export default OffchainAccountLendingPool;
@@ -1,51 +1,12 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.Collateral = exports.Borrowable = void 0;
16
- const types_1 = require("../../../config/types");
17
- const collateral_1 = __importDefault(require("./collateral"));
18
- exports.Collateral = collateral_1.default;
19
- const borrowable_1 = __importDefault(require("./borrowable"));
20
- exports.Borrowable = borrowable_1.default;
21
- class LendingPool {
22
- constructor(account, lendingPool) {
23
- this.account = account;
24
- this.lendingPool = lendingPool;
25
- this.accountPoolTokens = {
26
- [types_1.PoolTokenType.Collateral]: new collateral_1.default(this, types_1.PoolTokenType.Collateral),
27
- [types_1.PoolTokenType.BorrowableA]: new borrowable_1.default(this, types_1.PoolTokenType.BorrowableA),
28
- [types_1.PoolTokenType.BorrowableB]: new borrowable_1.default(this, types_1.PoolTokenType.BorrowableB),
29
- };
30
- }
31
- getAccountPoolToken(poolTokenType) {
32
- return this.accountPoolTokens[poolTokenType];
33
- }
34
- getUserData() {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const userData = yield this.account.getUserData();
37
- if (!userData)
38
- return undefined;
39
- return userData[this.lendingPool.factory];
40
- });
41
- }
42
- getBorrowerEquityValue() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- const collateralValue = yield this.accountPoolTokens[types_1.PoolTokenType.Collateral].getValue();
45
- const borrowedValueA = yield this.accountPoolTokens[types_1.PoolTokenType.BorrowableA].getBorrowedValue();
46
- const borrowedValueB = yield this.accountPoolTokens[types_1.PoolTokenType.BorrowableB].getBorrowedValue();
47
- return collateralValue - borrowedValueA - borrowedValueB;
48
- });
49
- }
50
- }
51
- exports.default = LendingPool;
6
+ exports.OffchainAccountCollateral = exports.OffchainAccountBorrowable = void 0;
7
+ const offchainAccountCollateral_1 = __importDefault(require("./offchainAccountCollateral"));
8
+ exports.OffchainAccountCollateral = offchainAccountCollateral_1.default;
9
+ const offchainAccountBorrowable_1 = __importDefault(require("./offchainAccountBorrowable"));
10
+ exports.OffchainAccountBorrowable = offchainAccountBorrowable_1.default;
11
+ const offchainAccountLendingPool_1 = __importDefault(require("./offchainAccountLendingPool"));
12
+ exports.default = offchainAccountLendingPool_1.default;
@@ -0,0 +1,16 @@
1
+ import { PoolTokenType } from '../../../config/types';
2
+ import OffchainAccountLendingPool from './index';
3
+ import OffchainAccountPoolToken from '../offchainAccountPoolToken';
4
+ import OffchainBorrowable from '../../lendingPool/offchainBorrowable';
5
+ export default class OffchainAccountBorrowable extends OffchainAccountPoolToken {
6
+ private readonly lendingPool;
7
+ private readonly poolTokenType;
8
+ protected readonly poolToken: OffchainBorrowable;
9
+ constructor(lendingPool: OffchainAccountLendingPool, poolTokenType: PoolTokenType);
10
+ getLendingPool: () => OffchainAccountLendingPool;
11
+ private getSupplyPosition;
12
+ getAmount(): Promise<number>;
13
+ private getBorrowPosition;
14
+ getBorrowedAmount(): Promise<number>;
15
+ getBorrowedValue(): Promise<number>;
16
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const offchainAccountPoolToken_1 = __importDefault(require("../offchainAccountPoolToken"));
16
+ class OffchainAccountBorrowable extends offchainAccountPoolToken_1.default {
17
+ constructor(lendingPool, poolTokenType) {
18
+ super();
19
+ this.getLendingPool = () => this.lendingPool;
20
+ this.lendingPool = lendingPool;
21
+ this.poolTokenType = poolTokenType;
22
+ this.poolToken = lendingPool.getLendingPool().getPoolToken(poolTokenType);
23
+ }
24
+ getSupplyPosition() {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const lendingPoolPosition = yield this.lendingPool.getLendingPoolPosition();
27
+ if (!lendingPoolPosition)
28
+ return undefined;
29
+ return lendingPoolPosition.supplyPositions[this.poolTokenType];
30
+ });
31
+ }
32
+ getAmount() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const supplyPosition = yield this.getSupplyPosition();
35
+ if (!supplyPosition)
36
+ return 0;
37
+ const exchangeRate = yield this.poolToken.getExchangeRate();
38
+ const supplyBalance = parseFloat(supplyPosition.balance);
39
+ return supplyBalance * exchangeRate;
40
+ });
41
+ }
42
+ getBorrowPosition() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const lendingPoolPosition = yield this.lendingPool.getLendingPoolPosition();
45
+ if (!lendingPoolPosition)
46
+ return undefined;
47
+ return lendingPoolPosition.borrowPositions[this.poolTokenType];
48
+ });
49
+ }
50
+ getBorrowedAmount() {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const borrowPosition = yield this.getBorrowPosition();
53
+ const borrowIndex = yield this.poolToken.getBorrowIndex();
54
+ if (!borrowPosition)
55
+ return 0;
56
+ const borrowBalance = parseFloat(borrowPosition.borrowBalance);
57
+ const userBorrowIndex = parseFloat(borrowPosition.borrowIndex);
58
+ return borrowBalance * borrowIndex / userBorrowIndex;
59
+ });
60
+ }
61
+ getBorrowedValue() {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ const tokenPrice = yield this.poolToken.getTokenPriceAccurate();
64
+ const borrowedAmount = yield this.getBorrowedAmount();
65
+ return borrowedAmount * tokenPrice;
66
+ });
67
+ }
68
+ }
69
+ exports.default = OffchainAccountBorrowable;
@@ -0,0 +1,12 @@
1
+ import { CollateralPosition } from "../../offchainTypes";
2
+ import OffchainAccountLendingPool from './index';
3
+ import OffchainAccountPoolToken from '../offchainAccountPoolToken';
4
+ import { OffchainCollateral } from '../../lendingPool';
5
+ export default class OffchainAccountCollateral extends OffchainAccountPoolToken {
6
+ private readonly lendingPool;
7
+ protected readonly poolToken: OffchainCollateral;
8
+ constructor(lendingPool: OffchainAccountLendingPool);
9
+ getLendingPool: () => OffchainAccountLendingPool;
10
+ getCollateralPosition(): Promise<CollateralPosition | undefined>;
11
+ getAmount(): Promise<number>;
12
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const offchainAccountPoolToken_1 = __importDefault(require("../offchainAccountPoolToken"));
16
+ class OffchainAccountCollateral extends offchainAccountPoolToken_1.default {
17
+ constructor(lendingPool) {
18
+ super();
19
+ this.getLendingPool = () => this.lendingPool;
20
+ this.lendingPool = lendingPool;
21
+ this.poolToken = lendingPool.getLendingPool().getCollateral();
22
+ }
23
+ getCollateralPosition() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const lendingPoolPosition = yield this.lendingPool.getLendingPoolPosition();
26
+ if (!lendingPoolPosition)
27
+ return undefined;
28
+ return lendingPoolPosition.collateralPosition;
29
+ });
30
+ }
31
+ getAmount() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const collateralPosition = yield this.getCollateralPosition();
34
+ if (!collateralPosition)
35
+ return 0;
36
+ const exchangeRate = yield this.poolToken.getExchangeRate();
37
+ const collateralBalance = parseFloat(collateralPosition.balance);
38
+ return collateralBalance * exchangeRate;
39
+ });
40
+ }
41
+ }
42
+ exports.default = OffchainAccountCollateral;
@@ -0,0 +1,21 @@
1
+ import OffchainAccount from '../index';
2
+ import { PoolTokenType } from '../../../config/types';
3
+ import OffchainAccountCollateral from './offchainAccountCollateral';
4
+ import OffchainAccountBorrowable from './offchainAccountBorrowable';
5
+ import OffchainAccountPoolToken from '../offchainAccountPoolToken';
6
+ import { LendingPoolPosition } from '../../offchainTypes';
7
+ import OffchainLendingPool from '../../lendingPool';
8
+ export default class OffchainAccountLendingPool {
9
+ private readonly account;
10
+ private readonly lendingPool;
11
+ private readonly poolTokens;
12
+ constructor(account: OffchainAccount, lendingPool: OffchainLendingPool);
13
+ getAccount: () => OffchainAccount;
14
+ getLendingPool: () => OffchainLendingPool;
15
+ getPoolToken(poolTokenType: PoolTokenType): OffchainAccountPoolToken;
16
+ getBorrowableA: () => OffchainAccountBorrowable;
17
+ getBorrowableB: () => OffchainAccountBorrowable;
18
+ getCollateral: () => OffchainAccountCollateral;
19
+ getLendingPoolPosition(): Promise<LendingPoolPosition | undefined>;
20
+ getBorrowerEquityValue(): Promise<number>;
21
+ }