impermax-sdk 1.2.112 → 2.1.0

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 (171) hide show
  1. package/lib/abis/contracts/IAllowanceTransfer.json +3772 -0
  2. package/lib/abis/contracts/IERC721.json +3515 -0
  3. package/lib/abis/contracts/ITokenizedUniswapV2Position.json +4167 -0
  4. package/lib/abis/contracts/ITokenizedUniswapV3Position.json +5539 -0
  5. package/lib/abis/contracts/IUniswapV3Pool.json +6606 -0
  6. package/lib/abis/contracts/ImpermaxV3Borrowable.json +22131 -0
  7. package/lib/abis/contracts/ImpermaxV3Collateral.json +22988 -0
  8. package/lib/abis/contracts/ImpermaxV3Factory.json +17645 -0
  9. package/lib/abis/contracts/ImpermaxV3UniV2Router01.json +32488 -0
  10. package/lib/abis/contracts/ImpermaxV3UniV3Router01.json +37742 -0
  11. package/lib/abis/contracts/PoolTokenRouter01.json +9058 -0
  12. package/lib/config/amms.d.ts +0 -2
  13. package/lib/config/amms.js +0 -3
  14. package/lib/config/chainId.d.ts +2 -0
  15. package/lib/config/chainId.js +26 -0
  16. package/lib/config/contracts/routers.d.ts +3 -2
  17. package/lib/config/contracts/routers.js +46 -22
  18. package/lib/config/factories.js +1 -0
  19. package/lib/config/farms.d.ts +0 -2
  20. package/lib/config/farms.js +0 -3
  21. package/lib/config/types.d.ts +14 -1
  22. package/lib/config/types.js +15 -1
  23. package/lib/index.d.ts +6 -5
  24. package/lib/index.js +11 -4
  25. package/lib/offchain/account/index.d.ts +4 -2
  26. package/lib/offchain/account/index.js +7 -3
  27. package/lib/offchain/account/lendingPool/index.d.ts +2 -1
  28. package/lib/offchain/account/lendingPool/index.js +3 -1
  29. package/lib/offchain/account/lendingPool/offchainAccountBorrowable.d.ts +0 -3
  30. package/lib/offchain/account/lendingPool/offchainAccountBorrowable.js +1 -27
  31. package/lib/offchain/account/lendingPool/offchainAccountCollateral.d.ts +0 -2
  32. package/lib/offchain/account/lendingPool/offchainAccountCollateral.js +2 -14
  33. package/lib/offchain/account/lendingPool/offchainAccountLendingPool.d.ts +11 -4
  34. package/lib/offchain/account/lendingPool/offchainAccountLendingPool.js +16 -15
  35. package/lib/offchain/account/lendingPool/offchainLeveragedPosition.d.ts +25 -0
  36. package/lib/offchain/account/lendingPool/offchainLeveragedPosition.js +116 -0
  37. package/lib/offchain/account/offchainAccount.d.ts +6 -6
  38. package/lib/offchain/account/offchainAccount.js +7 -7
  39. package/lib/offchain/account/offchainMultichainAccount.d.ts +34 -0
  40. package/lib/offchain/account/offchainMultichainAccount.js +66 -0
  41. package/lib/offchain/account/vault/index.d.ts +3 -0
  42. package/lib/offchain/account/vault/index.js +7 -0
  43. package/lib/offchain/account/vault/offchainAccountVault.d.ts +16 -0
  44. package/lib/offchain/account/{offchainAccountLendingVault.js → vault/offchainAccountVault.js} +14 -14
  45. package/lib/offchain/index.d.ts +3 -2
  46. package/lib/offchain/index.js +5 -3
  47. package/lib/offchain/lendingPool/offchainCollateral.d.ts +1 -0
  48. package/lib/offchain/lendingPool/offchainCollateral.js +6 -0
  49. package/lib/offchain/lendingPool/offchainLendingPool.d.ts +14 -1
  50. package/lib/offchain/lendingPool/offchainLendingPool.js +47 -0
  51. package/lib/offchain/offchain.d.ts +8 -15
  52. package/lib/offchain/offchain.js +16 -19
  53. package/lib/offchain/offchainAPRHelper.js +0 -1
  54. package/lib/offchain/offchainInitializer.d.ts +4 -4
  55. package/lib/offchain/offchainInitializer.js +4 -4
  56. package/lib/offchain/offchainMultichain.d.ts +50 -0
  57. package/lib/offchain/offchainMultichain.js +75 -0
  58. package/lib/offchain/offchainTypes.d.ts +1 -1
  59. package/lib/offchain/vault/index.d.ts +6 -0
  60. package/lib/offchain/vault/index.js +14 -0
  61. package/lib/offchain/vault/offchainHedgedVault.d.ts +9 -0
  62. package/lib/offchain/vault/offchainHedgedVault.js +57 -0
  63. package/lib/offchain/vault/offchainLendingVault.d.ts +16 -0
  64. package/lib/offchain/vault/offchainLendingVault.js +73 -0
  65. package/lib/offchain/vault/offchainLeveragedVault.d.ts +9 -0
  66. package/lib/offchain/vault/offchainLeveragedVault.js +57 -0
  67. package/lib/offchain/{offchainLendingVault.d.ts → vault/offchainVault.d.ts} +16 -7
  68. package/lib/offchain/{offchainLendingVault.js → vault/offchainVault.js} +33 -17
  69. package/lib/onchain/account/lendingPool/index.d.ts +8 -1
  70. package/lib/onchain/account/lendingPool/index.js +38 -1
  71. package/lib/onchain/account/lendingPool/nftlp/index.d.ts +4 -0
  72. package/lib/onchain/account/lendingPool/nftlp/index.js +11 -0
  73. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlp.d.ts +7 -0
  74. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlp.js +12 -0
  75. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlpUniswapV3.d.ts +4 -0
  76. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlpUniswapV3.js +13 -0
  77. package/lib/onchain/account/lendingPool/onchainAccountBorrowable.d.ts +12 -7
  78. package/lib/onchain/account/lendingPool/onchainAccountBorrowable.js +5 -50
  79. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV2.d.ts +10 -0
  80. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV2.js +55 -0
  81. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV3.d.ts +10 -0
  82. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV3.js +28 -0
  83. package/lib/onchain/account/lendingPool/onchainAccountCollateral.d.ts +6 -19
  84. package/lib/onchain/account/lendingPool/onchainAccountCollateral.js +7 -90
  85. package/lib/onchain/account/lendingPool/onchainAccountCollateralV2.d.ts +25 -0
  86. package/lib/onchain/account/lendingPool/onchainAccountCollateralV2.js +99 -0
  87. package/lib/onchain/account/lendingPool/onchainAccountCollateralV3.d.ts +18 -0
  88. package/lib/onchain/account/lendingPool/onchainAccountCollateralV3.js +44 -0
  89. package/lib/onchain/account/lendingPool/onchainAccountLendingPool.d.ts +19 -34
  90. package/lib/onchain/account/lendingPool/onchainAccountLendingPool.js +17 -227
  91. package/lib/onchain/account/lendingPool/onchainAccountLendingPoolV2.d.ts +44 -0
  92. package/lib/onchain/account/lendingPool/onchainAccountLendingPoolV2.js +285 -0
  93. package/lib/onchain/account/lendingPool/onchainAccountLendingPoolV3.d.ts +27 -0
  94. package/lib/onchain/account/lendingPool/onchainAccountLendingPoolV3.js +32 -0
  95. package/lib/onchain/account/onchainAccount.js +1 -2
  96. package/lib/onchain/account/onchainAccountLendingVault.d.ts +3 -3
  97. package/lib/onchain/impermaxFactory/index.d.ts +3 -1
  98. package/lib/onchain/impermaxFactory/index.js +5 -1
  99. package/lib/onchain/impermaxFactory/lendingPool/index.d.ts +8 -1
  100. package/lib/onchain/impermaxFactory/lendingPool/index.js +39 -1
  101. package/lib/onchain/impermaxFactory/lendingPool/nftlp/index.d.ts +4 -0
  102. package/lib/onchain/impermaxFactory/lendingPool/nftlp/index.js +11 -0
  103. package/lib/onchain/impermaxFactory/lendingPool/nftlp/onchainNftlp.d.ts +22 -0
  104. package/lib/onchain/impermaxFactory/lendingPool/nftlp/onchainNftlp.js +19 -0
  105. package/lib/onchain/impermaxFactory/lendingPool/nftlp/onchainNftlpUniswapV3.d.ts +24 -0
  106. package/lib/onchain/impermaxFactory/lendingPool/nftlp/onchainNftlpUniswapV3.js +90 -0
  107. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowable.d.ts +15 -11
  108. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowable.js +5 -24
  109. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowableV2.d.ts +9 -0
  110. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowableV2.js +36 -0
  111. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowableV3.d.ts +7 -0
  112. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowableV3.js +23 -0
  113. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateral.d.ts +5 -16
  114. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateral.js +6 -43
  115. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateralV2.d.ts +20 -0
  116. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateralV2.js +58 -0
  117. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateralV3.d.ts +13 -0
  118. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateralV3.js +36 -0
  119. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPool.d.ts +32 -47
  120. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPool.js +28 -314
  121. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV2.d.ts +76 -0
  122. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV2.js +338 -0
  123. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV3.d.ts +42 -0
  124. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV3.js +39 -0
  125. package/lib/onchain/impermaxFactory/onchainImpermaxFactory.d.ts +19 -9
  126. package/lib/onchain/impermaxFactory/onchainImpermaxFactory.js +16 -26
  127. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV2.d.ts +16 -0
  128. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV2.js +81 -0
  129. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV3.d.ts +16 -0
  130. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV3.js +88 -0
  131. package/lib/onchain/interactions/lendingPool/index.d.ts +8 -1
  132. package/lib/onchain/interactions/lendingPool/index.js +38 -1
  133. package/lib/onchain/interactions/lendingPool/nftlp/index.d.ts +4 -0
  134. package/lib/onchain/interactions/lendingPool/nftlp/index.js +11 -0
  135. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlp.d.ts +7 -0
  136. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlp.js +12 -0
  137. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlpUniswapV3.d.ts +4 -0
  138. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlpUniswapV3.js +13 -0
  139. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowable.d.ts +6 -10
  140. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowable.js +5 -37
  141. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowableV2.d.ts +15 -0
  142. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowableV2.js +63 -0
  143. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowableV3.d.ts +9 -0
  144. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowableV3.js +14 -0
  145. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateral.d.ts +3 -15
  146. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateral.js +5 -37
  147. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateralV2.d.ts +20 -0
  148. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateralV2.js +48 -0
  149. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateralV3.d.ts +13 -0
  150. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateralV3.js +20 -0
  151. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPool.d.ts +16 -31
  152. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPool.js +12 -94
  153. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPoolV2.d.ts +42 -0
  154. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPoolV2.js +114 -0
  155. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPoolV3.d.ts +27 -0
  156. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPoolV3.js +32 -0
  157. package/lib/onchain/interactions/onchainInteractions.js +3 -4
  158. package/lib/onchain/interactions/onchainInteractionsLendingVault.d.ts +1 -1
  159. package/lib/onchain/interactions/onchainInteractionsLendingVault.js +1 -1
  160. package/lib/onchain/interactions/onchainInteractionsPoolToken.d.ts +13 -13
  161. package/lib/onchain/interactions/onchainInteractionsPoolToken.js +33 -85
  162. package/lib/onchain/onchain.d.ts +3 -0
  163. package/lib/onchain/onchain.js +11 -3
  164. package/lib/onchain/onchainContractsHelper.d.ts +19 -8
  165. package/lib/onchain/onchainContractsHelper.js +55 -21
  166. package/lib/onchain/onchainLendingVault.d.ts +3 -3
  167. package/lib/onchain/onchainPermitHelper.d.ts +21 -0
  168. package/lib/onchain/onchainPermitHelper.js +198 -0
  169. package/lib/onchain/onchainTypes.d.ts +6 -0
  170. package/package.json +1 -1
  171. package/lib/offchain/account/offchainAccountLendingVault.d.ts +0 -16
@@ -42,7 +42,6 @@ export declare enum Amms {
42
42
  tokan1 = "tokan1",
43
43
  tokanStable = "tokanStable",
44
44
  scale = "scale",
45
- scaleStable = "scaleStable",
46
45
  equalizer = "equalizer",
47
46
  wigoswap = "wigoswap",
48
47
  velodrome = "velodrome",
@@ -87,7 +86,6 @@ export declare const hrAmms: {
87
86
  aeroStable: string;
88
87
  aeroStable1: string;
89
88
  scale: string;
90
- scaleStable: string;
91
89
  merchantmoe: string;
92
90
  tokan: string;
93
91
  tokan1: string;
@@ -46,7 +46,6 @@ var Amms;
46
46
  Amms["tokan1"] = "tokan1";
47
47
  Amms["tokanStable"] = "tokanStable";
48
48
  Amms["scale"] = "scale";
49
- Amms["scaleStable"] = "scaleStable";
50
49
  Amms["equalizer"] = "equalizer";
51
50
  Amms["wigoswap"] = "wigoswap";
52
51
  Amms["velodrome"] = "velodrome";
@@ -91,7 +90,6 @@ exports.hrAmms = {
91
90
  [Amms.aeroStable]: 'Aerodrome Stable',
92
91
  [Amms.aeroStable1]: 'Aerodrome Stable',
93
92
  [Amms.scale]: 'Equalizer Scale',
94
- [Amms.scaleStable]: 'Scale Stable',
95
93
  [Amms.merchantmoe]: 'MerchantMoe',
96
94
  [Amms.tokan]: 'Tokan',
97
95
  [Amms.tokan1]: 'Tokan',
@@ -174,7 +172,6 @@ exports.AMM_FACTORY = {
174
172
  [Amms.aeroStable]: '0x8f50a6d5ea6715f878E2984569975e8875eeBafB',
175
173
  [Amms.aeroStable1]: '0x9111b8D7Cc1a676A70015BEA3A3a9968A44C52c3',
176
174
  [Amms.scale]: '0xEd8db60aCc29e14bC867a497D94ca6e3CeB5eC04',
177
- [Amms.scaleStable]: '0xcCaF24B406A1733F626E3848Aa794cF79F6E33d4',
178
175
  [Amms.uniswap]: '0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6',
179
176
  [Amms.alien]: '0x3E84D913803b02A4a7f027165E8cA42C14C0FdE7'
180
177
  },
@@ -0,0 +1,2 @@
1
+ import { NetworkIndex } from "./types";
2
+ export declare const CHAIN_IDS: NetworkIndex<number>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CHAIN_IDS = void 0;
4
+ const types_1 = require("./types");
5
+ exports.CHAIN_IDS = {
6
+ [types_1.Networks.Mainnet]: 1,
7
+ [types_1.Networks.Ropsten]: 3,
8
+ [types_1.Networks.Polygon]: 137,
9
+ [types_1.Networks.Arbitrum]: 42161,
10
+ [types_1.Networks.Avalanche]: 43114,
11
+ [types_1.Networks.Moonriver]: 1285,
12
+ [types_1.Networks.Aurora]: 1313161554,
13
+ [types_1.Networks.Cronos]: 25,
14
+ [types_1.Networks.Fantom]: 250,
15
+ [types_1.Networks.Harmony]: 1666600000,
16
+ [types_1.Networks.Moonbeam]: 1284,
17
+ [types_1.Networks.Sxnetwork]: 416,
18
+ [types_1.Networks.Canto]: 7700,
19
+ [types_1.Networks.ZksyncEra]: 324,
20
+ [types_1.Networks.Base]: 8453,
21
+ [types_1.Networks.Mantle]: 5000,
22
+ [types_1.Networks.Scroll]: 534352,
23
+ [types_1.Networks.Blast]: 81457,
24
+ [types_1.Networks.Real]: 111188,
25
+ [types_1.Networks.Optimism]: 10,
26
+ };
@@ -1,3 +1,4 @@
1
- import { Address, NetworkFactoryIndex, NetworkIndex } from '../types';
1
+ import { Address, NetworkExtensionIndex, NetworkFactoryIndex, NetworkIndex } from '../types';
2
+ export declare const POOL_TOKEN_ROUTER: NetworkIndex<Address>;
2
3
  export declare const ROUTER: NetworkFactoryIndex<Address>;
3
- export declare const DEFAULT_ROUTER: NetworkIndex<Address>;
4
+ export declare const ROUTER_V3: NetworkExtensionIndex<Address>;
@@ -1,7 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_ROUTER = exports.ROUTER = void 0;
3
+ exports.ROUTER_V3 = exports.ROUTER = exports.POOL_TOKEN_ROUTER = void 0;
4
4
  const types_1 = require("../types");
5
+ exports.POOL_TOKEN_ROUTER = {
6
+ [types_1.Networks.Ropsten]: '0xbFf4acF789297A8507Eb7493AE18EB2C3A3A9632',
7
+ [types_1.Networks.Mainnet]: '0x6271c6D2Cf5072D769A16eD99C8D5F3272d44E4F',
8
+ [types_1.Networks.Polygon]: '0xF117a35038cdcfFAAeA6f953438E048D9440A9c2',
9
+ [types_1.Networks.Arbitrum]: '0x58d966725Ee8fcd93CAF7C98C0c8F9b34ef076D3',
10
+ [types_1.Networks.Avalanche]: '0xfB48b69fcba9218f86a437121198E46b2b88Ad63',
11
+ [types_1.Networks.Moonriver]: '0x3271cc175577465691e48196955e09d638fa05d5',
12
+ [types_1.Networks.Aurora]: '0xBB92270716C8c424849F17cCc12F4F24AD4064D6',
13
+ [types_1.Networks.Cronos]: '',
14
+ [types_1.Networks.Fantom]: '0xF655C8567E0f213e6C634CD2A68d992152161dC6',
15
+ [types_1.Networks.Canto]: '0x370D3eE40f1257fC432C33e387981CeDD15C7fac',
16
+ [types_1.Networks.ZksyncEra]: '0xDC9eb03D753D552A3eE286d272F37d49de2783D3',
17
+ [types_1.Networks.Blast]: '0x447b4E5C469b76A1f7175cE7b224629091713a02',
18
+ [types_1.Networks.Harmony]: '',
19
+ [types_1.Networks.Moonbeam]: '',
20
+ [types_1.Networks.Sxnetwork]: '',
21
+ [types_1.Networks.Base]: '0x1EBC3b5911B99aDdE07944c75D9E03958abdB49f',
22
+ [types_1.Networks.Scroll]: '0xFF8D0CDC9C857c7fA265121394558B26e1eAAffE',
23
+ [types_1.Networks.Real]: '0x3784D354863fe8862d60E446E3f29A08c21D1Ea9',
24
+ [types_1.Networks.Mantle]: '0xF4A9dda025e65945E7A3F873D6146A12c8110A19',
25
+ [types_1.Networks.Optimism]: '0xb5657FA5ba87CaD11b9150c319069625d423aaD4',
26
+ };
5
27
  exports.ROUTER = {
6
28
  [types_1.Networks.Ropsten]: {
7
29
  [types_1.Factory.V2V1]: '0xbFf4acF789297A8507Eb7493AE18EB2C3A3A9632' // OLD ROUTER
@@ -70,25 +92,27 @@ exports.ROUTER = {
70
92
  [types_1.Factory.SOL_STABLE]: '0x3784D354863fe8862d60E446E3f29A08c21D1Ea9'
71
93
  },
72
94
  };
73
- exports.DEFAULT_ROUTER = {
74
- [types_1.Networks.Ropsten]: '0xbFf4acF789297A8507Eb7493AE18EB2C3A3A9632',
75
- [types_1.Networks.Mainnet]: '0x6271c6D2Cf5072D769A16eD99C8D5F3272d44E4F',
76
- [types_1.Networks.Polygon]: '0xF117a35038cdcfFAAeA6f953438E048D9440A9c2',
77
- [types_1.Networks.Arbitrum]: '0x58d966725Ee8fcd93CAF7C98C0c8F9b34ef076D3',
78
- [types_1.Networks.Avalanche]: '0xfB48b69fcba9218f86a437121198E46b2b88Ad63',
79
- [types_1.Networks.Moonriver]: '0x3271cc175577465691e48196955e09d638fa05d5',
80
- [types_1.Networks.Aurora]: '0xBB92270716C8c424849F17cCc12F4F24AD4064D6',
81
- [types_1.Networks.Cronos]: '',
82
- [types_1.Networks.Fantom]: '0xF655C8567E0f213e6C634CD2A68d992152161dC6',
83
- [types_1.Networks.Canto]: '0x370D3eE40f1257fC432C33e387981CeDD15C7fac',
84
- [types_1.Networks.ZksyncEra]: '0xDC9eb03D753D552A3eE286d272F37d49de2783D3',
85
- [types_1.Networks.Blast]: '0x447b4E5C469b76A1f7175cE7b224629091713a02',
86
- [types_1.Networks.Harmony]: '',
87
- [types_1.Networks.Moonbeam]: '',
88
- [types_1.Networks.Sxnetwork]: '',
89
- [types_1.Networks.Base]: '0x1EBC3b5911B99aDdE07944c75D9E03958abdB49f',
90
- [types_1.Networks.Scroll]: '0xFF8D0CDC9C857c7fA265121394558B26e1eAAffE',
91
- [types_1.Networks.Real]: '0x3784D354863fe8862d60E446E3f29A08c21D1Ea9',
92
- [types_1.Networks.Mantle]: '0xF4A9dda025e65945E7A3F873D6146A12c8110A19',
93
- [types_1.Networks.Optimism]: '0xb5657FA5ba87CaD11b9150c319069625d423aaD4',
95
+ exports.ROUTER_V3 = {
96
+ [types_1.Networks.Ropsten]: {},
97
+ [types_1.Networks.Mainnet]: {},
98
+ [types_1.Networks.Polygon]: {},
99
+ [types_1.Networks.Arbitrum]: {},
100
+ [types_1.Networks.Avalanche]: {},
101
+ [types_1.Networks.Moonriver]: {},
102
+ [types_1.Networks.Aurora]: {},
103
+ [types_1.Networks.Cronos]: {},
104
+ [types_1.Networks.Fantom]: {},
105
+ [types_1.Networks.Canto]: {},
106
+ [types_1.Networks.ZksyncEra]: {},
107
+ [types_1.Networks.Blast]: {},
108
+ [types_1.Networks.Harmony]: {},
109
+ [types_1.Networks.Moonbeam]: {},
110
+ [types_1.Networks.Sxnetwork]: {},
111
+ [types_1.Networks.Base]: {
112
+ [types_1.Extension.UniswapV3]: '0xed204bdc73c409378d6e0560caf004e78eb65ed3'
113
+ },
114
+ [types_1.Networks.Scroll]: {},
115
+ [types_1.Networks.Optimism]: {},
116
+ [types_1.Networks.Mantle]: {},
117
+ [types_1.Networks.Real]: {},
94
118
  };
@@ -19,6 +19,7 @@ exports.LIQUIDATION_FEE_FACTORIES = [
19
19
  types_1.Factory.V2V2,
20
20
  types_1.Factory.SOLV2,
21
21
  types_1.Factory.SOL_STABLE,
22
+ types_1.Factory.V3,
22
23
  ];
23
24
  exports.V2_FACTORIES = [
24
25
  types_1.Factory.V2V2,
@@ -44,7 +44,6 @@ export declare enum Farms {
44
44
  aerodrome = "aerodrome",
45
45
  aeroStable = "aeroStable",
46
46
  aeroStable1 = "aeroStable1",
47
- scaleStable = "scaleStable",
48
47
  merchantmoe = "merchantmoe",
49
48
  tokan = "tokan",
50
49
  tokan1 = "tokan1",
@@ -95,7 +94,6 @@ export declare const hrFarms: {
95
94
  aerodrome: string;
96
95
  aeroStable: string;
97
96
  aeroStable1: string;
98
- scaleStable: string;
99
97
  tokan: string;
100
98
  tokan1: string;
101
99
  tokanStable: string;
@@ -48,7 +48,6 @@ var Farms;
48
48
  Farms["aerodrome"] = "aerodrome";
49
49
  Farms["aeroStable"] = "aeroStable";
50
50
  Farms["aeroStable1"] = "aeroStable1";
51
- Farms["scaleStable"] = "scaleStable";
52
51
  Farms["merchantmoe"] = "merchantmoe";
53
52
  Farms["tokan"] = "tokan";
54
53
  Farms["tokan1"] = "tokan1";
@@ -99,7 +98,6 @@ exports.hrFarms = {
99
98
  [Farms.aerodrome]: 'Aerodrome',
100
99
  [Farms.aeroStable]: 'Aerodrome Stable',
101
100
  [Farms.aeroStable1]: 'Aerodrome Stable',
102
- [Farms.scaleStable]: 'Scale Stable',
103
101
  [Farms.tokan]: 'Tokan',
104
102
  [Farms.tokan1]: 'Tokan',
105
103
  [Farms.tokanStable]: 'Tokan Stable',
@@ -179,7 +177,6 @@ exports.STAKED_LP_FACTORY = {
179
177
  [Farms.aerodrome]: '0x2a32215Ba106039f5A96b6366338BDb9FB0b62E8',
180
178
  [Farms.aeroStable]: '0x8f50a6d5ea6715f878E2984569975e8875eeBafB',
181
179
  [Farms.aeroStable1]: '0x9111b8D7Cc1a676A70015BEA3A3a9968A44C52c3',
182
- [Farms.scaleStable]: '0xcCaF24B406A1733F626E3848Aa794cF79F6E33d4',
183
180
  },
184
181
  [types_1.Networks.Mantle]: {
185
182
  [Farms.merchantmoe]: '0x49bfE341232caE3CCB55ab99b11631CDE0AC9289',
@@ -28,13 +28,22 @@ export declare enum Factory {
28
28
  V2V2 = "4",
29
29
  SOLV1_2 = "5",
30
30
  SOLV2 = "6",
31
- SOL_STABLE = "7"
31
+ SOL_STABLE = "7",
32
+ V3 = "8"
33
+ }
34
+ export declare enum Extension {
35
+ UniswapV2 = 0,
36
+ UniswapV3 = 1
32
37
  }
33
38
  export declare enum PoolTokenType {
34
39
  Collateral = "collateral",
35
40
  BorrowableA = "borrowable0",
36
41
  BorrowableB = "borrowable1"
37
42
  }
43
+ export declare enum Borrowable {
44
+ A = 0,
45
+ B = 1
46
+ }
38
47
  export type Address = string;
39
48
  export type NetworkIndex<Type> = {
40
49
  [key in Networks]: Type;
@@ -42,6 +51,9 @@ export type NetworkIndex<Type> = {
42
51
  export type FactoryIndex<Type> = {
43
52
  [key in Factory]?: Type;
44
53
  };
54
+ export type ExtensionIndex<Type> = {
55
+ [key in Extension]?: Type;
56
+ };
45
57
  export type AddressIndex<Type> = {
46
58
  [key in Address]: Type;
47
59
  };
@@ -49,6 +61,7 @@ export type NumberIndex<Type> = {
49
61
  [key in number]: Type;
50
62
  };
51
63
  export type NetworkFactoryIndex<Type> = NetworkIndex<FactoryIndex<Type>>;
64
+ export type NetworkExtensionIndex<Type> = NetworkIndex<ExtensionIndex<Type>>;
52
65
  export type LendingPoolIndex<Type> = FactoryIndex<AddressIndex<Type>>;
53
66
  export type AmmIndex = {
54
67
  [key in Networks]: {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WhitelistState = exports.ProposalState = exports.PoolTokenType = exports.Factory = exports.Networks = void 0;
3
+ exports.WhitelistState = exports.ProposalState = exports.Borrowable = exports.PoolTokenType = exports.Extension = exports.Factory = exports.Networks = void 0;
4
4
  var Networks;
5
5
  (function (Networks) {
6
6
  Networks["Ropsten"] = "ropsten";
@@ -34,13 +34,27 @@ var Factory;
34
34
  Factory["SOLV1_2"] = "5";
35
35
  Factory["SOLV2"] = "6";
36
36
  Factory["SOL_STABLE"] = "7";
37
+ Factory["V3"] = "8";
37
38
  })(Factory = exports.Factory || (exports.Factory = {}));
39
+ var Extension;
40
+ (function (Extension) {
41
+ Extension[Extension["UniswapV2"] = 0] = "UniswapV2";
42
+ Extension[Extension["UniswapV3"] = 1] = "UniswapV3";
43
+ //UniswapV4,
44
+ //Algebra,
45
+ })(Extension = exports.Extension || (exports.Extension = {}));
46
+ // TODO remove this
38
47
  var PoolTokenType;
39
48
  (function (PoolTokenType) {
40
49
  PoolTokenType["Collateral"] = "collateral";
41
50
  PoolTokenType["BorrowableA"] = "borrowable0";
42
51
  PoolTokenType["BorrowableB"] = "borrowable1";
43
52
  })(PoolTokenType = exports.PoolTokenType || (exports.PoolTokenType = {}));
53
+ var Borrowable;
54
+ (function (Borrowable) {
55
+ Borrowable[Borrowable["A"] = 0] = "A";
56
+ Borrowable[Borrowable["B"] = 1] = "B";
57
+ })(Borrowable = exports.Borrowable || (exports.Borrowable = {}));
44
58
  var ProposalState;
45
59
  (function (ProposalState) {
46
60
  ProposalState["Pending"] = "Pending";
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import Offchain, { OffchainAccount, OffchainLendingPool, OffchainLendingVault, OffchainPoolToken, OffchainPriceHelper, OffchainSolidexHelper } from './offchain';
1
+ import Offchain, { OffchainAccount, OffchainLendingPool, OffchainPoolToken, OffchainPriceHelper, OffchainSolidexHelper, OffchainMultichain } from './offchain';
2
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';
@@ -20,11 +20,11 @@ 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, FactoryIndex, LendingPoolIndex, NetworkFactoryIndex, NetworkIndex, Networks, PoolTokenType, ProposalState, WhitelistState } from './config/types';
22
22
  import { AirdropData, ApprovalType, Changes, Contract, OnchainConfig, NO_CHANGES, PendingRewardUI, PermitData, Values, CollateralConfig, BorrowableConfig, PairConfig } from './onchain/onchainTypes';
23
- import { BorrowableData, BorrowablePastData, BorrowPosition, CollateralData, CollateralPosition, FarmingPoolData, LendingPoolData, LendingPoolPastData, PairData, PoolTokenData, RewardData, SupplyPosition, TokenData, TvlData, UserData, XimxData, LendingVaultData, LendingVaultPosition, 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 } from './offchain/offchainTypes';
24
24
  import { OffchainBorrowable, OffchainCollateral } from './offchain/lendingPool';
25
25
  import OffchainConfigManager, { OffchainPairConfig, OffchainProposal } from './offchain/configManager';
26
- import OffchainAccountLendingPool, { OffchainAccountBorrowable, OffchainAccountCollateral } from './offchain/account/lendingPool';
27
- import { OffchainAccountLendingVault, OffchainAccountPoolToken } from './offchain/account';
26
+ import OffchainAccountLendingPool, { OffchainAccountBorrowable, OffchainAccountCollateral, OffchainLeveragedPosition } from './offchain/account/lendingPool';
27
+ import { OffchainAccountVault, OffchainAccountPoolToken, OffchainMultichainAccount } from './offchain/account';
28
28
  import OnchainLendingPool, { OnchainBorrowable, OnchainCollateral } from './onchain/impermaxFactory/lendingPool';
29
29
  import OnchainConfigManager, { OnchainPairConfig, OnchainProposal } from './onchain/configManager';
30
30
  import { OnchainAccountLendingPool, OnchainAccountLendingVault, OnchainAccountPoolToken } from './onchain/account';
@@ -32,4 +32,5 @@ import { OnchainAccountBorrowable, OnchainAccountCollateral } from './onchain/ac
32
32
  import { OnchainInteractionsLendingPool, OnchainInteractionsLendingVault, OnchainInteractionsPoolToken, OnchainInteractionsConfigManager } from './onchain/interactions';
33
33
  import { OnchainInteractionsBorrowable, OnchainInteractionsCollateral } from './onchain/interactions/lendingPool';
34
34
  import { LENDING_VAULT_WATCHER } from './config/contracts/lending-vault-watcher';
35
- export { offchain, Offchain, OffchainLendingPool, OffchainPoolToken, OffchainCollateral, OffchainBorrowable, OffchainLendingVault, OffchainConfigManager, OffchainPairConfig, OffchainProposal, OffchainAccount, OffchainAccountLendingPool, OffchainAccountPoolToken, OffchainAccountCollateral, OffchainAccountBorrowable, OffchainAccountLendingVault, OffchainPriceHelper, OffchainSolidexHelper, PoolTokenData, BorrowableData, CollateralData, BorrowablePastData, TokenData, RewardData, PairData, FarmingPoolData, LendingPoolPastData, LendingPoolData, CollateralPosition, SupplyPosition, BorrowPosition, UserData, TvlData, XimxData, LendingVaultData, LendingVaultPosition, PairConfigData, ProposalData, ProposalMetadata, 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, 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, PoolTokenType, Amms, Address, NetworkIndex, FactoryIndex, AddressIndex, NetworkFactoryIndex, LendingPoolIndex, AmmIndex, DistributorDetails, ProposalState, WhitelistState, };
35
+ import OffchainVault, { OffchainLendingVault, OffchainLeveragedVault, OffchainHedgedVault } from './offchain/vault';
36
+ 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, 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, 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, PoolTokenType, Amms, Address, NetworkIndex, FactoryIndex, AddressIndex, NetworkFactoryIndex, LendingPoolIndex, AmmIndex, DistributorDetails, ProposalState, WhitelistState, };
package/lib/index.js CHANGED
@@ -23,16 +23,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getNetworkFactories = exports.IMPERMAX_FACTORY = exports.IMX = exports.IMPERMAX_CHEF = exports.CLAIM_AGGREGATOR = exports.NO_CHANGES = exports.ApprovalType = exports.OnchainInteractionsConfigManager = 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.OffchainSolidexHelper = exports.OffchainPriceHelper = exports.OffchainAccountLendingVault = exports.OffchainAccountBorrowable = exports.OffchainAccountCollateral = exports.OffchainAccountPoolToken = exports.OffchainAccountLendingPool = exports.OffchainAccount = exports.OffchainProposal = exports.OffchainPairConfig = exports.OffchainConfigManager = exports.OffchainLendingVault = exports.OffchainBorrowable = exports.OffchainCollateral = exports.OffchainPoolToken = exports.OffchainLendingPool = exports.Offchain = exports.offchain = void 0;
27
- exports.WhitelistState = exports.ProposalState = 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.LENDING_VAULT_WATCHER = void 0;
26
+ exports.ApprovalType = exports.OnchainInteractionsConfigManager = 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.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;
27
+ exports.WhitelistState = exports.ProposalState = 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.LENDING_VAULT_WATCHER = exports.getNetworkFactories = exports.IMPERMAX_FACTORY = exports.IMX = exports.IMPERMAX_CHEF = exports.CLAIM_AGGREGATOR = exports.NO_CHANGES = void 0;
28
28
  const offchain_1 = __importStar(require("./offchain"));
29
29
  exports.Offchain = offchain_1.default;
30
30
  Object.defineProperty(exports, "OffchainAccount", { enumerable: true, get: function () { return offchain_1.OffchainAccount; } });
31
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
32
  Object.defineProperty(exports, "OffchainPoolToken", { enumerable: true, get: function () { return offchain_1.OffchainPoolToken; } });
34
33
  Object.defineProperty(exports, "OffchainPriceHelper", { enumerable: true, get: function () { return offchain_1.OffchainPriceHelper; } });
35
34
  Object.defineProperty(exports, "OffchainSolidexHelper", { enumerable: true, get: function () { return offchain_1.OffchainSolidexHelper; } });
35
+ Object.defineProperty(exports, "OffchainMultichain", { enumerable: true, get: function () { return offchain_1.OffchainMultichain; } });
36
36
  const onchain_1 = __importStar(require("./onchain"));
37
37
  exports.Onchain = onchain_1.default;
38
38
  Object.defineProperty(exports, "OnchainAccount", { enumerable: true, get: function () { return onchain_1.OnchainAccount; } });
@@ -122,9 +122,11 @@ const lendingPool_2 = __importStar(require("./offchain/account/lendingPool"));
122
122
  exports.OffchainAccountLendingPool = lendingPool_2.default;
123
123
  Object.defineProperty(exports, "OffchainAccountBorrowable", { enumerable: true, get: function () { return lendingPool_2.OffchainAccountBorrowable; } });
124
124
  Object.defineProperty(exports, "OffchainAccountCollateral", { enumerable: true, get: function () { return lendingPool_2.OffchainAccountCollateral; } });
125
+ Object.defineProperty(exports, "OffchainLeveragedPosition", { enumerable: true, get: function () { return lendingPool_2.OffchainLeveragedPosition; } });
125
126
  const account_1 = require("./offchain/account");
126
- Object.defineProperty(exports, "OffchainAccountLendingVault", { enumerable: true, get: function () { return account_1.OffchainAccountLendingVault; } });
127
+ Object.defineProperty(exports, "OffchainAccountVault", { enumerable: true, get: function () { return account_1.OffchainAccountVault; } });
127
128
  Object.defineProperty(exports, "OffchainAccountPoolToken", { enumerable: true, get: function () { return account_1.OffchainAccountPoolToken; } });
129
+ Object.defineProperty(exports, "OffchainMultichainAccount", { enumerable: true, get: function () { return account_1.OffchainMultichainAccount; } });
128
130
  const lendingPool_3 = __importStar(require("./onchain/impermaxFactory/lendingPool"));
129
131
  exports.OnchainLendingPool = lendingPool_3.default;
130
132
  Object.defineProperty(exports, "OnchainBorrowable", { enumerable: true, get: function () { return lendingPool_3.OnchainBorrowable; } });
@@ -150,3 +152,8 @@ Object.defineProperty(exports, "OnchainInteractionsBorrowable", { enumerable: tr
150
152
  Object.defineProperty(exports, "OnchainInteractionsCollateral", { enumerable: true, get: function () { return lendingPool_5.OnchainInteractionsCollateral; } });
151
153
  const lending_vault_watcher_1 = require("./config/contracts/lending-vault-watcher");
152
154
  Object.defineProperty(exports, "LENDING_VAULT_WATCHER", { enumerable: true, get: function () { return lending_vault_watcher_1.LENDING_VAULT_WATCHER; } });
155
+ const vault_1 = __importStar(require("./offchain/vault"));
156
+ exports.OffchainVault = vault_1.default;
157
+ Object.defineProperty(exports, "OffchainLendingVault", { enumerable: true, get: function () { return vault_1.OffchainLendingVault; } });
158
+ Object.defineProperty(exports, "OffchainLeveragedVault", { enumerable: true, get: function () { return vault_1.OffchainLeveragedVault; } });
159
+ Object.defineProperty(exports, "OffchainHedgedVault", { enumerable: true, get: function () { return vault_1.OffchainHedgedVault; } });
@@ -1,7 +1,9 @@
1
1
  import * as lendingPool from './lendingPool';
2
+ import * as vault from './vault';
2
3
  import OffchainAccountLendingPool from "./lendingPool";
3
4
  import OffchainAccountPoolToken from "./offchainAccountPoolToken";
4
- import OffchainAccountLendingVault from './offchainAccountLendingVault';
5
+ import OffchainAccountVault from './vault';
5
6
  import OffchainAccount from './offchainAccount';
6
- export { lendingPool, OffchainAccountLendingPool, OffchainAccountPoolToken, OffchainAccountLendingVault, };
7
+ import OffchainMultichainAccount from './offchainMultichainAccount';
8
+ export { lendingPool, vault, OffchainMultichainAccount, OffchainAccountLendingPool, OffchainAccountPoolToken, OffchainAccountVault, };
7
9
  export default OffchainAccount;
@@ -26,14 +26,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.OffchainAccountLendingVault = exports.OffchainAccountPoolToken = exports.OffchainAccountLendingPool = exports.lendingPool = void 0;
29
+ exports.OffchainAccountVault = exports.OffchainAccountPoolToken = exports.OffchainAccountLendingPool = exports.OffchainMultichainAccount = exports.vault = exports.lendingPool = void 0;
30
30
  const lendingPool = __importStar(require("./lendingPool"));
31
31
  exports.lendingPool = lendingPool;
32
+ const vault = __importStar(require("./vault"));
33
+ exports.vault = vault;
32
34
  const lendingPool_1 = __importDefault(require("./lendingPool"));
33
35
  exports.OffchainAccountLendingPool = lendingPool_1.default;
34
36
  const offchainAccountPoolToken_1 = __importDefault(require("./offchainAccountPoolToken"));
35
37
  exports.OffchainAccountPoolToken = offchainAccountPoolToken_1.default;
36
- const offchainAccountLendingVault_1 = __importDefault(require("./offchainAccountLendingVault"));
37
- exports.OffchainAccountLendingVault = offchainAccountLendingVault_1.default;
38
+ const vault_1 = __importDefault(require("./vault"));
39
+ exports.OffchainAccountVault = vault_1.default;
38
40
  const offchainAccount_1 = __importDefault(require("./offchainAccount"));
41
+ const offchainMultichainAccount_1 = __importDefault(require("./offchainMultichainAccount"));
42
+ exports.OffchainMultichainAccount = offchainMultichainAccount_1.default;
39
43
  exports.default = offchainAccount_1.default;
@@ -1,5 +1,6 @@
1
1
  import OffchainAccountCollateral from './offchainAccountCollateral';
2
2
  import OffchainAccountBorrowable from './offchainAccountBorrowable';
3
3
  import OffchainAccountLendingPool from './offchainAccountLendingPool';
4
- export { OffchainAccountBorrowable, OffchainAccountCollateral, };
4
+ import OffchainLeveragedPosition from './offchainLeveragedPosition';
5
+ export { OffchainAccountBorrowable, OffchainAccountCollateral, OffchainLeveragedPosition, };
5
6
  export default OffchainAccountLendingPool;
@@ -3,10 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OffchainAccountCollateral = exports.OffchainAccountBorrowable = void 0;
6
+ exports.OffchainLeveragedPosition = exports.OffchainAccountCollateral = exports.OffchainAccountBorrowable = void 0;
7
7
  const offchainAccountCollateral_1 = __importDefault(require("./offchainAccountCollateral"));
8
8
  exports.OffchainAccountCollateral = offchainAccountCollateral_1.default;
9
9
  const offchainAccountBorrowable_1 = __importDefault(require("./offchainAccountBorrowable"));
10
10
  exports.OffchainAccountBorrowable = offchainAccountBorrowable_1.default;
11
11
  const offchainAccountLendingPool_1 = __importDefault(require("./offchainAccountLendingPool"));
12
+ const offchainLeveragedPosition_1 = __importDefault(require("./offchainLeveragedPosition"));
13
+ exports.OffchainLeveragedPosition = offchainLeveragedPosition_1.default;
12
14
  exports.default = offchainAccountLendingPool_1.default;
@@ -11,7 +11,4 @@ export default class OffchainAccountBorrowable extends OffchainAccountPoolToken
11
11
  getPoolToken: () => OffchainBorrowable;
12
12
  private getSupplyPosition;
13
13
  getAmount(): Promise<number>;
14
- private getBorrowPosition;
15
- getBorrowedAmount(): Promise<number>;
16
- getBorrowedValue(): Promise<number>;
17
14
  }
@@ -27,7 +27,7 @@ class OffchainAccountBorrowable extends offchainAccountPoolToken_1.default {
27
27
  const lendingPoolPosition = yield this.lendingPool.getLendingPoolPosition();
28
28
  if (!lendingPoolPosition)
29
29
  return undefined;
30
- return lendingPoolPosition.supplyPositions[this.poolTokenType];
30
+ return lendingPoolPosition[this.poolTokenType];
31
31
  });
32
32
  }
33
33
  // TODO update to support real time exchange rate
@@ -41,31 +41,5 @@ class OffchainAccountBorrowable extends offchainAccountPoolToken_1.default {
41
41
  return supplyBalance * exchangeRate;
42
42
  });
43
43
  }
44
- getBorrowPosition() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const lendingPoolPosition = yield this.lendingPool.getLendingPoolPosition();
47
- if (!lendingPoolPosition)
48
- return undefined;
49
- return lendingPoolPosition.borrowPositions[this.poolTokenType];
50
- });
51
- }
52
- getBorrowedAmount() {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- const borrowPosition = yield this.getBorrowPosition();
55
- const borrowIndex = yield this.poolToken.getBorrowIndex();
56
- if (!borrowPosition)
57
- return 0;
58
- const borrowBalance = parseFloat(borrowPosition.borrowBalance);
59
- const userBorrowIndex = parseFloat(borrowPosition.borrowIndex);
60
- return borrowBalance * borrowIndex / userBorrowIndex;
61
- });
62
- }
63
- getBorrowedValue() {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const tokenPrice = yield this.poolToken.getTokenPriceAccurate();
66
- const borrowedAmount = yield this.getBorrowedAmount();
67
- return borrowedAmount * tokenPrice;
68
- });
69
- }
70
44
  }
71
45
  exports.default = OffchainAccountBorrowable;
@@ -1,4 +1,3 @@
1
- import { CollateralPosition } from "../../offchainTypes";
2
1
  import OffchainAccountLendingPool from './index';
3
2
  import OffchainAccountPoolToken from '../offchainAccountPoolToken';
4
3
  import { OffchainCollateral } from '../../lendingPool';
@@ -8,6 +7,5 @@ export default class OffchainAccountCollateral extends OffchainAccountPoolToken
8
7
  constructor(lendingPool: OffchainAccountLendingPool);
9
8
  getLendingPool: () => OffchainAccountLendingPool;
10
9
  getPoolToken: () => OffchainCollateral;
11
- getCollateralPosition(): Promise<CollateralPosition | undefined>;
12
10
  getAmount(): Promise<number>;
13
11
  }
@@ -21,22 +21,10 @@ class OffchainAccountCollateral extends offchainAccountPoolToken_1.default {
21
21
  this.lendingPool = lendingPool;
22
22
  this.poolToken = lendingPool.getLendingPool().getCollateral();
23
23
  }
24
- getCollateralPosition() {
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.collateralPosition;
30
- });
31
- }
32
24
  getAmount() {
33
25
  return __awaiter(this, void 0, void 0, function* () {
34
- const collateralPosition = yield this.getCollateralPosition();
35
- if (!collateralPosition)
36
- return 0;
37
- const exchangeRate = yield this.poolToken.getExchangeRate();
38
- const collateralBalance = parseFloat(collateralPosition.balance);
39
- return collateralBalance * exchangeRate;
26
+ // TODO remove this class?
27
+ return 0;
40
28
  });
41
29
  }
42
30
  }
@@ -1,10 +1,11 @@
1
1
  import OffchainAccount from '../index';
2
- import { PoolTokenType } from '../../../config/types';
2
+ import { Borrowable, PoolTokenType } from '../../../config/types';
3
3
  import OffchainAccountCollateral from './offchainAccountCollateral';
4
4
  import OffchainAccountBorrowable from './offchainAccountBorrowable';
5
5
  import OffchainAccountPoolToken from '../offchainAccountPoolToken';
6
- import { LendingPoolPosition } from '../../offchainTypes';
6
+ import { SupplyPosition } from '../../offchainTypes';
7
7
  import OffchainLendingPool from '../../lendingPool';
8
+ import OffchainLeveragedPosition from "./offchainLeveragedPosition";
8
9
  export default class OffchainAccountLendingPool {
9
10
  private readonly account;
10
11
  private readonly lendingPool;
@@ -13,9 +14,15 @@ export default class OffchainAccountLendingPool {
13
14
  getAccount: () => OffchainAccount;
14
15
  getLendingPool: () => OffchainLendingPool;
15
16
  getPoolToken(poolTokenType: PoolTokenType): OffchainAccountPoolToken;
17
+ getBorrowable: (borrowable: Borrowable) => OffchainAccountBorrowable;
16
18
  getBorrowableA: () => OffchainAccountBorrowable;
17
19
  getBorrowableB: () => OffchainAccountBorrowable;
18
20
  getCollateral: () => OffchainAccountCollateral;
19
- getLendingPoolPosition(): Promise<LendingPoolPosition | undefined>;
20
- getBorrowerEquityValue(): Promise<number>;
21
+ getLendingPoolPosition(): Promise<{
22
+ [PoolTokenType.BorrowableA]?: SupplyPosition;
23
+ [PoolTokenType.BorrowableB]?: SupplyPosition;
24
+ } | undefined>;
25
+ getLeveragedPositions(): Promise<Array<OffchainLeveragedPosition>>;
26
+ getLeveragedPositionsTotalBalanceUSD(): Promise<number>;
27
+ getLeveragedPositionsNetAPR(): Promise<number>;
21
28
  }
@@ -19,6 +19,7 @@ class OffchainAccountLendingPool {
19
19
  constructor(account, lendingPool) {
20
20
  this.getAccount = () => this.account;
21
21
  this.getLendingPool = () => this.lendingPool;
22
+ this.getBorrowable = (borrowable) => borrowable == types_1.Borrowable.A ? this.getBorrowableA() : this.getBorrowableB();
22
23
  // Shortcuts
23
24
  this.getBorrowableA = () => this.poolTokens[types_1.PoolTokenType.BorrowableA];
24
25
  this.getBorrowableB = () => this.poolTokens[types_1.PoolTokenType.BorrowableB];
@@ -36,32 +37,32 @@ class OffchainAccountLendingPool {
36
37
  }
37
38
  getLendingPoolPosition() {
38
39
  return __awaiter(this, void 0, void 0, function* () {
40
+ // TODO rename and refactor
39
41
  const userData = yield this.account.getUserData();
40
42
  if (!userData)
41
43
  return undefined;
42
44
  const userDataOfFactory = userData[this.lendingPool.getFactory()];
43
45
  const pairAddress = this.lendingPool.getPairAddress();
44
46
  const supplyPositions = userDataOfFactory.supplyPositions[pairAddress];
45
- const borrowPositions = userDataOfFactory.borrowPositions[pairAddress];
46
47
  return {
47
- collateralPosition: userDataOfFactory.collateralPositions[pairAddress],
48
- supplyPositions: {
49
- [types_1.PoolTokenType.BorrowableA]: supplyPositions ? supplyPositions[types_1.PoolTokenType.BorrowableA] : undefined,
50
- [types_1.PoolTokenType.BorrowableB]: supplyPositions ? supplyPositions[types_1.PoolTokenType.BorrowableB] : undefined,
51
- },
52
- borrowPositions: {
53
- [types_1.PoolTokenType.BorrowableA]: borrowPositions ? borrowPositions[types_1.PoolTokenType.BorrowableA] : undefined,
54
- [types_1.PoolTokenType.BorrowableB]: borrowPositions ? borrowPositions[types_1.PoolTokenType.BorrowableB] : undefined,
55
- },
48
+ [types_1.PoolTokenType.BorrowableA]: supplyPositions ? supplyPositions[types_1.PoolTokenType.BorrowableA] : undefined,
49
+ [types_1.PoolTokenType.BorrowableB]: supplyPositions ? supplyPositions[types_1.PoolTokenType.BorrowableB] : undefined,
56
50
  };
57
51
  });
58
52
  }
59
- getBorrowerEquityValue() {
53
+ getLeveragedPositions() {
60
54
  return __awaiter(this, void 0, void 0, function* () {
61
- const collateralValue = yield this.getCollateral().getValue();
62
- const borrowedValueA = yield this.getBorrowableA().getBorrowedValue();
63
- const borrowedValueB = yield this.getBorrowableB().getBorrowedValue();
64
- return collateralValue - borrowedValueA - borrowedValueB;
55
+ return [];
56
+ });
57
+ }
58
+ getLeveragedPositionsTotalBalanceUSD() {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ return 1;
61
+ });
62
+ }
63
+ getLeveragedPositionsNetAPR() {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ return 1;
65
66
  });
66
67
  }
67
68
  }