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
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
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
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ const types_1 = require("../../config/types");
36
+ const lendingPool_1 = require("./lendingPool");
37
+ const onchainImpermaxFactory_1 = __importStar(require("./onchainImpermaxFactory"));
38
+ const routers_1 = require("../../config/contracts/routers");
39
+ class OnchainImpermaxFactoryV3 extends onchainImpermaxFactory_1.default {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.version = onchainImpermaxFactory_1.Version.V3;
43
+ }
44
+ getRouterExtension(extension) {
45
+ if (!this.cache.routerExtensionContract)
46
+ this.cache.routerExtensionContract = {};
47
+ if (!this.cache.routerExtensionContract[extension]) {
48
+ const address = routers_1.ROUTER_V3[this.onchain.network][extension];
49
+ if (!address) {
50
+ console.error("Router address not found for extension", Object.keys(types_1.Extension)[extension]);
51
+ return null;
52
+ }
53
+ let router;
54
+ switch (extension) {
55
+ case types_1.Extension.UniswapV2:
56
+ router = this.onchain.getContractHelper().newRouterUniV2(address);
57
+ break;
58
+ case types_1.Extension.UniswapV3:
59
+ router = this.onchain.getContractHelper().newRouterUniV3(address);
60
+ break;
61
+ }
62
+ this.cache.routerExtensionContract[extension] = router;
63
+ }
64
+ return this.cache.routerExtensionContract[extension];
65
+ }
66
+ getFactoryContract() {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ if (!this.cache.factoryContract) {
69
+ for (const extension of Object.keys(types_1.Extension)) {
70
+ if (!routers_1.ROUTER_V3[this.onchain.network][types_1.Extension[extension]])
71
+ continue;
72
+ const router = this.getRouterExtension(types_1.Extension[extension]);
73
+ const factoryAddress = router.methods.factory().call();
74
+ this.cache.factoryContract = this.onchain.getContractHelper().newFactoryV3(factoryAddress);
75
+ break;
76
+ }
77
+ }
78
+ if (!this.cache.factoryContract) {
79
+ console.error("No V3 router set for this network:", this.onchain.network);
80
+ }
81
+ return this.cache.factoryContract;
82
+ });
83
+ }
84
+ getNewLendingPoolObject(id) {
85
+ return new lendingPool_1.OnchainLendingPoolV3(this, id);
86
+ }
87
+ }
88
+ exports.default = OnchainImpermaxFactoryV3;
@@ -1,5 +1,12 @@
1
+ import * as nftlp from './nftlp';
1
2
  import OnchainInteractionsCollateral from './onchainInteractionsCollateral';
2
3
  import OnchainInteractionsBorrowable from './onchainInteractionsBorrowable';
3
4
  import OnchainInteractionsLendingPool from './onchainInteractionsLendingPool';
4
- export { OnchainInteractionsBorrowable, OnchainInteractionsCollateral, };
5
+ import OnchainInteractionsCollateralV2 from "./onchainInteractionsCollateralV2";
6
+ import OnchainInteractionsBorrowableV2 from "./onchainInteractionsBorrowableV2";
7
+ import OnchainInteractionsLendingPoolV2 from "./onchainInteractionsLendingPoolV2";
8
+ import OnchainInteractionsLendingPoolV3 from './onchainInteractionsLendingPoolV3';
9
+ import OnchainInteractionsBorrowableV3 from './onchainInteractionsBorrowableV3';
10
+ import OnchainInteractionsCollateralV3 from './onchainInteractionsCollateralV3';
11
+ export { nftlp, OnchainInteractionsBorrowable, OnchainInteractionsCollateral, OnchainInteractionsLendingPoolV2, OnchainInteractionsBorrowableV2, OnchainInteractionsCollateralV2, OnchainInteractionsLendingPoolV3, OnchainInteractionsBorrowableV3, OnchainInteractionsCollateralV3, };
5
12
  export default OnchainInteractionsLendingPool;
@@ -1,12 +1,49 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OnchainInteractionsCollateral = exports.OnchainInteractionsBorrowable = void 0;
29
+ exports.OnchainInteractionsCollateralV3 = exports.OnchainInteractionsBorrowableV3 = exports.OnchainInteractionsLendingPoolV3 = exports.OnchainInteractionsCollateralV2 = exports.OnchainInteractionsBorrowableV2 = exports.OnchainInteractionsLendingPoolV2 = exports.OnchainInteractionsCollateral = exports.OnchainInteractionsBorrowable = exports.nftlp = void 0;
30
+ const nftlp = __importStar(require("./nftlp"));
31
+ exports.nftlp = nftlp;
7
32
  const onchainInteractionsCollateral_1 = __importDefault(require("./onchainInteractionsCollateral"));
8
33
  exports.OnchainInteractionsCollateral = onchainInteractionsCollateral_1.default;
9
34
  const onchainInteractionsBorrowable_1 = __importDefault(require("./onchainInteractionsBorrowable"));
10
35
  exports.OnchainInteractionsBorrowable = onchainInteractionsBorrowable_1.default;
11
36
  const onchainInteractionsLendingPool_1 = __importDefault(require("./onchainInteractionsLendingPool"));
37
+ const onchainInteractionsCollateralV2_1 = __importDefault(require("./onchainInteractionsCollateralV2"));
38
+ exports.OnchainInteractionsCollateralV2 = onchainInteractionsCollateralV2_1.default;
39
+ const onchainInteractionsBorrowableV2_1 = __importDefault(require("./onchainInteractionsBorrowableV2"));
40
+ exports.OnchainInteractionsBorrowableV2 = onchainInteractionsBorrowableV2_1.default;
41
+ const onchainInteractionsLendingPoolV2_1 = __importDefault(require("./onchainInteractionsLendingPoolV2"));
42
+ exports.OnchainInteractionsLendingPoolV2 = onchainInteractionsLendingPoolV2_1.default;
43
+ const onchainInteractionsLendingPoolV3_1 = __importDefault(require("./onchainInteractionsLendingPoolV3"));
44
+ exports.OnchainInteractionsLendingPoolV3 = onchainInteractionsLendingPoolV3_1.default;
45
+ const onchainInteractionsBorrowableV3_1 = __importDefault(require("./onchainInteractionsBorrowableV3"));
46
+ exports.OnchainInteractionsBorrowableV3 = onchainInteractionsBorrowableV3_1.default;
47
+ const onchainInteractionsCollateralV3_1 = __importDefault(require("./onchainInteractionsCollateralV3"));
48
+ exports.OnchainInteractionsCollateralV3 = onchainInteractionsCollateralV3_1.default;
12
49
  exports.default = onchainInteractionsLendingPool_1.default;
@@ -0,0 +1,4 @@
1
+ import OnchainInteractionsNftlp from './onchainInteractionsNftlp';
2
+ import OnchainInteractionsNftlpUniswapV3 from './onchainInteractionsNftlpUniswapV3';
3
+ export { OnchainInteractionsNftlp, OnchainInteractionsNftlpUniswapV3, };
4
+ export default OnchainInteractionsNftlp;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OnchainInteractionsNftlpUniswapV3 = exports.OnchainInteractionsNftlp = void 0;
7
+ const onchainInteractionsNftlp_1 = __importDefault(require("./onchainInteractionsNftlp"));
8
+ exports.OnchainInteractionsNftlp = onchainInteractionsNftlp_1.default;
9
+ const onchainInteractionsNftlpUniswapV3_1 = __importDefault(require("./onchainInteractionsNftlpUniswapV3"));
10
+ exports.OnchainInteractionsNftlpUniswapV3 = onchainInteractionsNftlpUniswapV3_1.default;
11
+ exports.default = onchainInteractionsNftlp_1.default;
@@ -0,0 +1,7 @@
1
+ import OnchainInteractionsLendingPoolV3 from "../onchainInteractionsLendingPoolV3";
2
+ export default abstract class OnchainInteractionsNftlp {
3
+ protected readonly lendingPool: OnchainInteractionsLendingPoolV3;
4
+ protected cache: {};
5
+ constructor(lendingPool: OnchainInteractionsLendingPoolV3);
6
+ cleanCache(): void;
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class OnchainInteractionsNftlp {
4
+ constructor(lendingPool) {
5
+ this.cache = {};
6
+ this.lendingPool = lendingPool;
7
+ }
8
+ cleanCache() {
9
+ this.cache = {};
10
+ }
11
+ }
12
+ exports.default = OnchainInteractionsNftlp;
@@ -0,0 +1,4 @@
1
+ import OnchainInteractionsNftlp from "./onchainInteractionsNftlp";
2
+ export default class OnchainInteractionsNftlpUniswapV3 extends OnchainInteractionsNftlp {
3
+ protected cache: {};
4
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const onchainInteractionsNftlp_1 = __importDefault(require("./onchainInteractionsNftlp"));
7
+ class OnchainInteractionsNftlpUniswapV3 extends onchainInteractionsNftlp_1.default {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.cache = {};
11
+ }
12
+ }
13
+ exports.default = OnchainInteractionsNftlpUniswapV3;
@@ -1,21 +1,17 @@
1
- import { PoolTokenType } from '../../../config/types';
1
+ import { Borrowable } from '../../../config/types';
2
2
  import OnchainInteractionsLendingPool from './index';
3
- import { PermitData } from '../../onchainTypes';
4
- import { BigNumber } from 'ethers';
5
3
  import OnchainInteractionsPoolToken from '../onchainInteractionsPoolToken';
6
4
  import OnchainBorrowable from '../../impermaxFactory/lendingPool/onchainBorrowable';
7
5
  import OnchainAccountBorrowable from '../../account/lendingPool/onchainAccountBorrowable';
8
- export default class OnchainInteractionsBorrowable extends OnchainInteractionsPoolToken {
9
- private readonly lendingPool;
6
+ export default abstract class OnchainInteractionsBorrowable extends OnchainInteractionsPoolToken {
7
+ protected readonly lendingPool: OnchainInteractionsLendingPool;
10
8
  protected readonly poolToken: OnchainBorrowable;
11
- constructor(lendingPool: OnchainInteractionsLendingPool, poolTokenType: PoolTokenType);
9
+ constructor(lendingPool: OnchainInteractionsLendingPool, borrowable: Borrowable);
12
10
  getLendingPool: () => OnchainInteractionsLendingPool;
13
11
  getPoolToken: () => OnchainBorrowable;
14
12
  getInteractions: () => import("..").default;
15
13
  getAccountPoolToken(): OnchainAccountBorrowable;
16
14
  getAccountBorrowable: () => OnchainAccountBorrowable;
17
- getRouterContract: () => any;
18
- private getPoolTokenType;
19
- borrow(amount: BigNumber, permitData: PermitData, onTransactionHash: Function): Promise<any>;
20
- repay(amount: BigNumber, onTransactionHash: Function): Promise<any>;
15
+ getPoolTokenRouter: () => any;
16
+ private getBorrowableType;
21
17
  }
@@ -1,56 +1,24 @@
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
- const general_1 = require("../../../config/general");
16
6
  const onchainInteractionsPoolToken_1 = __importDefault(require("../onchainInteractionsPoolToken"));
17
7
  class OnchainInteractionsBorrowable extends onchainInteractionsPoolToken_1.default {
18
- constructor(lendingPool, poolTokenType) {
8
+ constructor(lendingPool, borrowable) {
19
9
  super();
20
10
  this.getLendingPool = () => this.lendingPool;
21
11
  this.getPoolToken = () => this.poolToken;
22
12
  this.getInteractions = () => this.lendingPool.getInteractions();
23
13
  this.getAccountBorrowable = this.getAccountPoolToken;
24
- this.getRouterContract = () => this.lendingPool.getRouterContract();
14
+ this.getPoolTokenRouter = () => this.lendingPool.getPoolTokenRouter();
25
15
  // Shortcuts
26
- this.getPoolTokenType = () => this.poolToken.getPoolTokenType();
16
+ this.getBorrowableType = () => this.poolToken.getBorrowableType();
27
17
  this.lendingPool = lendingPool;
28
- this.poolToken = lendingPool.getLendingPool().getPoolToken(poolTokenType);
18
+ this.poolToken = lendingPool.getLendingPool().getBorrowable(borrowable);
29
19
  }
30
20
  getAccountPoolToken() {
31
- return this.lendingPool.getAccountLendingPool().getPoolToken(this.getPoolTokenType());
32
- }
33
- borrow(amount, permitData, onTransactionHash) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const { router, ptAddress, account, data, deadline } = yield this.getSendData(permitData);
36
- if (yield this.isWETH()) {
37
- return this.send(router.methods.borrowETH(ptAddress, amount, account, deadline, data), onTransactionHash);
38
- }
39
- else {
40
- return this.send(router.methods.borrow(ptAddress, amount, account, deadline, data), onTransactionHash);
41
- }
42
- });
43
- }
44
- repay(amount, onTransactionHash) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const { router, ptAddress, account } = yield this.getSendData(null);
47
- if (yield this.isWETH()) {
48
- return this.send(router.methods.repayETH(ptAddress, account, general_1.DEADLINE), onTransactionHash, amount);
49
- }
50
- else {
51
- return this.send(router.methods.repay(ptAddress, amount, account, general_1.DEADLINE), onTransactionHash);
52
- }
53
- });
21
+ return this.lendingPool.getAccountLendingPool().getBorrowable(this.getBorrowableType());
54
22
  }
55
23
  }
56
24
  exports.default = OnchainInteractionsBorrowable;
@@ -0,0 +1,15 @@
1
+ import { Permits } from '../../onchainTypes';
2
+ import { BigNumber } from 'ethers';
3
+ import OnchainInteractionsBorrowable from "./onchainInteractionsBorrowable";
4
+ import { OnchainBorrowableV2 } from "../../impermaxFactory/lendingPool";
5
+ import OnchainInteractionsLendingPoolV2 from "./onchainInteractionsLendingPoolV2";
6
+ export default class OnchainInteractionsBorrowableV2 extends OnchainInteractionsBorrowable {
7
+ protected readonly lendingPool: OnchainInteractionsLendingPoolV2;
8
+ protected readonly poolToken: OnchainBorrowableV2;
9
+ getLendingPool: () => OnchainInteractionsLendingPoolV2;
10
+ getPoolToken: () => OnchainBorrowableV2;
11
+ getBorrowAllowance(): Promise<BigNumber>;
12
+ borrowApprove(amount: BigNumber, onTransactionHash: Function): Promise<any>;
13
+ borrow(amount: BigNumber, permits: Permits, onTransactionHash: Function): Promise<any>;
14
+ repay(amount: BigNumber, onTransactionHash: Function): Promise<any>;
15
+ }
@@ -0,0 +1,63 @@
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 general_1 = require("../../../config/general");
16
+ const ethers_1 = require("ethers");
17
+ const onchainInteractionsBorrowable_1 = __importDefault(require("./onchainInteractionsBorrowable"));
18
+ class OnchainInteractionsBorrowableV2 extends onchainInteractionsBorrowable_1.default {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.getLendingPool = () => this.lendingPool;
22
+ this.getPoolToken = () => this.poolToken;
23
+ }
24
+ getBorrowAllowance() {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const poolToken = yield this.poolToken.getPoolToken();
27
+ const { owner, spender } = this.getOwnerSpender();
28
+ const allowance = yield poolToken.methods.borrowAllowance(owner, spender).call();
29
+ return ethers_1.BigNumber.from(allowance);
30
+ });
31
+ }
32
+ borrowApprove(amount, onTransactionHash) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const { spender } = this.getOwnerSpender();
35
+ const poolToken = yield this.poolToken.getPoolToken();
36
+ return this.send(poolToken.methods.borrowApprove(spender, amount), onTransactionHash);
37
+ });
38
+ }
39
+ borrow(amount, permits, onTransactionHash) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const { router, ptAddress, account } = yield this.getSendData(permits);
42
+ // TODO temporary fix
43
+ if (yield this.isWETH()) {
44
+ return this.send(router.methods.borrowETH(ptAddress, amount, account, '100000000000000000', '0x'), onTransactionHash);
45
+ }
46
+ else {
47
+ return this.send(router.methods.borrow(ptAddress, amount, account, '100000000000000000', '0x'), onTransactionHash);
48
+ }
49
+ });
50
+ }
51
+ repay(amount, onTransactionHash) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ const { router, ptAddress, account } = yield this.getSendData([]);
54
+ if (yield this.isWETH()) {
55
+ return this.send(router.methods.repayETH(ptAddress, account, general_1.DEADLINE), onTransactionHash, amount);
56
+ }
57
+ else {
58
+ return this.send(router.methods.repay(ptAddress, amount, account, general_1.DEADLINE), onTransactionHash);
59
+ }
60
+ });
61
+ }
62
+ }
63
+ exports.default = OnchainInteractionsBorrowableV2;
@@ -0,0 +1,9 @@
1
+ import OnchainInteractionsBorrowable from "./onchainInteractionsBorrowable";
2
+ import { OnchainBorrowableV3 } from "../../impermaxFactory/lendingPool";
3
+ import OnchainInteractionsLendingPoolV3 from "./onchainInteractionsLendingPoolV3";
4
+ export default class OnchainInteractionsBorrowableV3 extends OnchainInteractionsBorrowable {
5
+ protected readonly lendingPool: OnchainInteractionsLendingPoolV3;
6
+ protected readonly poolToken: OnchainBorrowableV3;
7
+ getLendingPool: () => OnchainInteractionsLendingPoolV3;
8
+ getPoolToken: () => OnchainBorrowableV3;
9
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const onchainInteractionsBorrowable_1 = __importDefault(require("./onchainInteractionsBorrowable"));
7
+ class OnchainInteractionsBorrowableV3 extends onchainInteractionsBorrowable_1.default {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.getLendingPool = () => this.lendingPool;
11
+ this.getPoolToken = () => this.poolToken;
12
+ }
13
+ }
14
+ exports.default = OnchainInteractionsBorrowableV3;
@@ -1,19 +1,7 @@
1
1
  import OnchainInteractionsLendingPool from './index';
2
- import { ApprovalType, PermitData } from '../../onchainTypes';
3
- import { BigNumber } from 'ethers';
4
- import OnchainInteractionsPoolToken from '../onchainInteractionsPoolToken';
5
- import OnchainCollateral from '../../impermaxFactory/lendingPool/onchainCollateral';
6
2
  import OnchainAccountCollateral from '../../account/lendingPool/onchainAccountCollateral';
7
- export default class OnchainInteractionsCollateral extends OnchainInteractionsPoolToken {
8
- private readonly lendingPool;
9
- protected readonly poolToken: OnchainCollateral;
10
- constructor(interactionsLendingPool: OnchainInteractionsLendingPool);
11
- getLendingPool: () => OnchainInteractionsLendingPool;
12
- getPoolToken: () => OnchainCollateral;
3
+ export default abstract class OnchainInteractionsCollateral {
4
+ abstract getLendingPool(): OnchainInteractionsLendingPool;
13
5
  getInteractions: () => import("..").default;
14
- getAccountPoolToken(): OnchainAccountCollateral;
15
- getAccountCollateral: () => OnchainAccountCollateral;
16
- getRouterContract: () => any;
17
- getPermitData(approvalType: ApprovalType, amount: BigNumber, deadlineArg: BigNumber | null, callBack: (permitData: PermitData | null) => void): Promise<void>;
18
- protected mint(amount: BigNumber, permitData: PermitData, onTransactionHash: Function): Promise<any>;
6
+ getAccountCollateral(): OnchainAccountCollateral;
19
7
  }
@@ -1,43 +1,11 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const onchainInteractionsPoolToken_1 = __importDefault(require("../onchainInteractionsPoolToken"));
16
- class OnchainInteractionsCollateral extends onchainInteractionsPoolToken_1.default {
17
- constructor(interactionsLendingPool) {
18
- super();
19
- this.getLendingPool = () => this.lendingPool;
20
- this.getPoolToken = () => this.poolToken;
21
- this.getInteractions = () => this.lendingPool.getInteractions();
22
- this.getAccountCollateral = this.getAccountPoolToken;
23
- this.getRouterContract = () => this.lendingPool.getRouterContract();
24
- this.lendingPool = interactionsLendingPool;
25
- this.poolToken = interactionsLendingPool.getLendingPool().getCollateral();
3
+ class OnchainInteractionsCollateral {
4
+ constructor() {
5
+ this.getInteractions = () => this.getLendingPool().getInteractions();
26
6
  }
27
- getAccountPoolToken() {
28
- return this.lendingPool.getAccountLendingPool().getCollateral();
7
+ getAccountCollateral() {
8
+ return this.getLendingPool().getAccountLendingPool().getCollateral();
29
9
  }
30
- getPermitData(approvalType, amount, deadlineArg, callBack) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- this._getPermitData(approvalType, amount, deadlineArg, callBack);
33
- });
34
- }
35
- mint(amount, permitData, onTransactionHash) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- const { router, ptAddress, account, data, deadline } = yield this.getSendData(permitData);
38
- return this.send(router.methods.mintCollateral(ptAddress, amount, account, deadline, data), onTransactionHash);
39
- });
40
- }
41
- ;
42
10
  }
43
11
  exports.default = OnchainInteractionsCollateral;
@@ -0,0 +1,20 @@
1
+ import { Permits } from '../../onchainTypes';
2
+ import { BigNumber } from 'ethers';
3
+ import OnchainInteractionsPoolToken from '../onchainInteractionsPoolToken';
4
+ import OnchainInteractionsCollateral from "./onchainInteractionsCollateral";
5
+ import OnchainInteractionsLendingPoolV2 from "./onchainInteractionsLendingPoolV2";
6
+ import { OnchainCollateralV2 } from "../../impermaxFactory/lendingPool";
7
+ import { OnchainAccountCollateralV2 } from "../../account/lendingPool";
8
+ export default class OnchainInteractionsCollateralV2 extends OnchainInteractionsPoolToken implements OnchainInteractionsCollateral {
9
+ protected readonly lendingPool: OnchainInteractionsLendingPoolV2;
10
+ protected readonly poolToken: OnchainCollateralV2;
11
+ constructor(interactionsLendingPool: OnchainInteractionsLendingPoolV2);
12
+ getLendingPool: () => OnchainInteractionsLendingPoolV2;
13
+ getPoolToken: () => OnchainCollateralV2;
14
+ getCollateral: () => OnchainCollateralV2;
15
+ getInteractions: () => import("..").default;
16
+ getAccountPoolToken(): OnchainAccountCollateralV2;
17
+ getAccountCollateral: () => OnchainAccountCollateralV2;
18
+ getPoolTokenRouter: () => any;
19
+ protected mint(amount: BigNumber, permit: Permits, onTransactionHash: Function): Promise<any>;
20
+ }
@@ -0,0 +1,48 @@
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 onchainInteractionsPoolToken_1 = __importDefault(require("../onchainInteractionsPoolToken"));
16
+ class OnchainInteractionsCollateralV2 extends onchainInteractionsPoolToken_1.default {
17
+ constructor(interactionsLendingPool) {
18
+ super();
19
+ this.getLendingPool = () => this.lendingPool;
20
+ this.getPoolToken = () => this.poolToken;
21
+ this.getCollateral = () => this.poolToken;
22
+ this.getInteractions = () => this.lendingPool.getInteractions();
23
+ this.getAccountCollateral = this.getAccountPoolToken;
24
+ this.getPoolTokenRouter = () => this.lendingPool.getPoolTokenRouter();
25
+ this.lendingPool = interactionsLendingPool;
26
+ this.poolToken = interactionsLendingPool.getLendingPool().getCollateral();
27
+ }
28
+ getAccountPoolToken() {
29
+ return this.lendingPool.getAccountLendingPool().getCollateral();
30
+ }
31
+ /*public async getPermitData(
32
+ approvalType: ApprovalType,
33
+ amount: BigNumber,
34
+ deadlineArg: BigNumber | null,
35
+ callBack: (permitData: PermitData | null) => void
36
+ ) {
37
+ this._getPermitData(approvalType, amount, deadlineArg, callBack);
38
+ }*/
39
+ mint(amount, permit, onTransactionHash) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ // TODO temporary fix
42
+ const { router, ptAddress, account } = yield this.getSendData(permit);
43
+ return this.send(router.methods.mintCollateral(ptAddress, amount, account, '100000000000000000', '0x'), onTransactionHash);
44
+ });
45
+ }
46
+ ;
47
+ }
48
+ exports.default = OnchainInteractionsCollateralV2;
@@ -0,0 +1,13 @@
1
+ import OnchainInteractionsCollateral from "./onchainInteractionsCollateral";
2
+ import { OnchainCollateralV3 } from "../../impermaxFactory/lendingPool";
3
+ import { OnchainAccountCollateralV3 } from "../../account/lendingPool";
4
+ import OnchainInteractionsLendingPoolV3 from "./onchainInteractionsLendingPoolV3";
5
+ export default class OnchainInteractionsCollateralV3 extends OnchainInteractionsCollateral {
6
+ protected readonly lendingPool: OnchainInteractionsLendingPoolV3;
7
+ protected readonly collateral: OnchainCollateralV3;
8
+ constructor(interactionsLendingPool: OnchainInteractionsLendingPoolV3);
9
+ getLendingPool: () => OnchainInteractionsLendingPoolV3;
10
+ getCollateral: () => OnchainCollateralV3;
11
+ getInteractions: () => import("..").default;
12
+ getAccountCollateral(): OnchainAccountCollateralV3;
13
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const onchainInteractionsCollateral_1 = __importDefault(require("./onchainInteractionsCollateral"));
7
+ class OnchainInteractionsCollateralV3 extends onchainInteractionsCollateral_1.default {
8
+ constructor(interactionsLendingPool) {
9
+ super();
10
+ this.getLendingPool = () => this.lendingPool;
11
+ this.getCollateral = () => this.collateral;
12
+ this.getInteractions = () => this.lendingPool.getInteractions();
13
+ this.lendingPool = interactionsLendingPool;
14
+ this.collateral = interactionsLendingPool.getLendingPool().getCollateral();
15
+ }
16
+ getAccountCollateral() {
17
+ return this.lendingPool.getAccountLendingPool().getCollateral();
18
+ }
19
+ }
20
+ exports.default = OnchainInteractionsCollateralV3;