@wildcatfi/wildcat-sdk 1.0.15 → 2.0.1

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 (195) hide show
  1. package/README.md +88 -0
  2. package/dist/account.d.ts +42 -43
  3. package/dist/account.d.ts.map +1 -1
  4. package/dist/account.js +120 -95
  5. package/dist/account.js.map +1 -1
  6. package/dist/constants.d.ts +16 -8
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +30 -12
  9. package/dist/constants.js.map +1 -1
  10. package/dist/controller.d.ts +43 -11
  11. package/dist/controller.d.ts.map +1 -1
  12. package/dist/controller.js +119 -21
  13. package/dist/controller.js.map +1 -1
  14. package/dist/index.d.ts +17 -8
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +30 -8
  17. package/dist/index.js.map +1 -1
  18. package/dist/market.d.ts +107 -0
  19. package/dist/market.d.ts.map +1 -0
  20. package/dist/market.js +265 -0
  21. package/dist/market.js.map +1 -0
  22. package/dist/mockerc20factory.js +1 -1
  23. package/dist/mockerc20factory.js.map +1 -1
  24. package/dist/token.d.ts +3 -3
  25. package/dist/token.d.ts.map +1 -1
  26. package/dist/token.js +18 -18
  27. package/dist/token.js.map +1 -1
  28. package/dist/typechain/IERC20.d.ts +42 -1
  29. package/dist/typechain/IERC20.d.ts.map +1 -1
  30. package/dist/typechain/MarketLens.d.ts +705 -0
  31. package/dist/typechain/MarketLens.d.ts.map +1 -0
  32. package/dist/typechain/{mock/index.js → MarketLens.js} +1 -1
  33. package/dist/typechain/MarketLens.js.map +1 -0
  34. package/dist/typechain/MockArchControllerOwner.d.ts +130 -0
  35. package/dist/typechain/MockArchControllerOwner.d.ts.map +1 -0
  36. package/dist/typechain/{WildcatVaultController.js → MockArchControllerOwner.js} +1 -1
  37. package/dist/typechain/MockArchControllerOwner.js.map +1 -0
  38. package/dist/typechain/{mock/MockERC20Factory.d.ts → MockERC20Factory.d.ts} +4 -3
  39. package/dist/typechain/MockERC20Factory.d.ts.map +1 -0
  40. package/dist/typechain/MockERC20Factory.js.map +1 -0
  41. package/dist/typechain/WildcatArchController.d.ts +525 -0
  42. package/dist/typechain/WildcatArchController.d.ts.map +1 -0
  43. package/dist/typechain/{VaultLens.js → WildcatArchController.js} +1 -1
  44. package/dist/typechain/WildcatArchController.js.map +1 -0
  45. package/dist/typechain/WildcatMarket.d.ts +1060 -0
  46. package/dist/typechain/WildcatMarket.d.ts.map +1 -0
  47. package/dist/typechain/{DebtTokenBase.js → WildcatMarket.js} +1 -1
  48. package/dist/typechain/WildcatMarket.js.map +1 -0
  49. package/dist/typechain/WildcatMarketController.d.ts +437 -0
  50. package/dist/typechain/WildcatMarketController.d.ts.map +1 -0
  51. package/dist/typechain/{WildcatVaultFactory.js → WildcatMarketController.js} +1 -1
  52. package/dist/typechain/WildcatMarketController.js.map +1 -0
  53. package/dist/typechain/WildcatMarketControllerFactory.d.ts +375 -0
  54. package/dist/typechain/WildcatMarketControllerFactory.d.ts.map +1 -0
  55. package/dist/typechain/WildcatMarketControllerFactory.js +3 -0
  56. package/dist/typechain/WildcatMarketControllerFactory.js.map +1 -0
  57. package/dist/typechain/common.d.ts.map +1 -1
  58. package/dist/typechain/factories/IERC20__factory.d.ts +44 -0
  59. package/dist/typechain/factories/IERC20__factory.d.ts.map +1 -1
  60. package/dist/typechain/factories/IERC20__factory.js +57 -0
  61. package/dist/typechain/factories/IERC20__factory.js.map +1 -1
  62. package/dist/typechain/factories/MarketLens__factory.d.ts +3428 -0
  63. package/dist/typechain/factories/MarketLens__factory.d.ts.map +1 -0
  64. package/dist/typechain/factories/MarketLens__factory.js +4389 -0
  65. package/dist/typechain/factories/MarketLens__factory.js.map +1 -0
  66. package/dist/typechain/factories/MockArchControllerOwner__factory.d.ts +85 -0
  67. package/dist/typechain/factories/MockArchControllerOwner__factory.d.ts.map +1 -0
  68. package/dist/typechain/factories/MockArchControllerOwner__factory.js +118 -0
  69. package/dist/typechain/factories/MockArchControllerOwner__factory.js.map +1 -0
  70. package/dist/typechain/factories/MockERC20Factory__factory.d.ts +52 -0
  71. package/dist/typechain/factories/MockERC20Factory__factory.d.ts.map +1 -0
  72. package/dist/typechain/factories/MockERC20Factory__factory.js +75 -0
  73. package/dist/typechain/factories/MockERC20Factory__factory.js.map +1 -0
  74. package/dist/typechain/factories/WildcatArchController__factory.d.ts +536 -0
  75. package/dist/typechain/factories/WildcatArchController__factory.d.ts.map +1 -0
  76. package/dist/typechain/factories/WildcatArchController__factory.js +705 -0
  77. package/dist/typechain/factories/WildcatArchController__factory.js.map +1 -0
  78. package/dist/typechain/factories/WildcatMarketControllerFactory__factory.d.ts +431 -0
  79. package/dist/typechain/factories/WildcatMarketControllerFactory__factory.d.ts.map +1 -0
  80. package/dist/typechain/factories/WildcatMarketControllerFactory__factory.js +561 -0
  81. package/dist/typechain/factories/WildcatMarketControllerFactory__factory.js.map +1 -0
  82. package/dist/typechain/factories/WildcatMarketController__factory.d.ts +517 -0
  83. package/dist/typechain/factories/WildcatMarketController__factory.d.ts.map +1 -0
  84. package/dist/typechain/factories/WildcatMarketController__factory.js +677 -0
  85. package/dist/typechain/factories/WildcatMarketController__factory.js.map +1 -0
  86. package/dist/typechain/factories/{WildcatVaultToken__factory.d.ts → WildcatMarket__factory.d.ts} +640 -93
  87. package/dist/typechain/factories/{VaultLens__factory.d.ts.map → WildcatMarket__factory.d.ts.map} +1 -1
  88. package/dist/typechain/factories/{WildcatVaultToken__factory.js → WildcatMarket__factory.js} +795 -97
  89. package/dist/typechain/factories/WildcatMarket__factory.js.map +1 -0
  90. package/dist/typechain/factories/index.d.ts +7 -5
  91. package/dist/typechain/factories/index.d.ts.map +1 -1
  92. package/dist/typechain/factories/index.js +15 -24
  93. package/dist/typechain/factories/index.js.map +1 -1
  94. package/dist/typechain/index.d.ts +21 -9
  95. package/dist/typechain/index.d.ts.map +1 -1
  96. package/dist/typechain/index.js +29 -3
  97. package/dist/typechain/index.js.map +1 -1
  98. package/dist/utils/assert.d.ts +2 -0
  99. package/dist/utils/assert.d.ts.map +1 -0
  100. package/dist/utils/assert.js +16 -0
  101. package/dist/utils/assert.js.map +1 -0
  102. package/dist/utils/index.d.ts +5 -0
  103. package/dist/utils/index.d.ts.map +1 -0
  104. package/dist/utils/index.js +21 -0
  105. package/dist/utils/index.js.map +1 -0
  106. package/dist/utils/math.d.ts +5 -0
  107. package/dist/utils/math.d.ts.map +1 -0
  108. package/dist/utils/math.js +26 -0
  109. package/dist/utils/math.js.map +1 -0
  110. package/dist/{misc.d.ts → utils/misc.d.ts} +3 -0
  111. package/dist/utils/misc.d.ts.map +1 -0
  112. package/dist/{misc.js → utils/misc.js} +12 -1
  113. package/dist/utils/misc.js.map +1 -0
  114. package/dist/utils/type-parsers.d.ts +24 -0
  115. package/dist/utils/type-parsers.d.ts.map +1 -0
  116. package/dist/utils/type-parsers.js +21 -0
  117. package/dist/utils/type-parsers.js.map +1 -0
  118. package/dist/withdrawal-batch.d.ts +28 -0
  119. package/dist/withdrawal-batch.d.ts.map +1 -0
  120. package/dist/withdrawal-batch.js +45 -0
  121. package/dist/withdrawal-batch.js.map +1 -0
  122. package/dist/withdrawal-status.d.ts +53 -0
  123. package/dist/withdrawal-status.d.ts.map +1 -0
  124. package/dist/withdrawal-status.js +187 -0
  125. package/dist/withdrawal-status.js.map +1 -0
  126. package/package.json +3 -2
  127. package/dist/factory.d.ts +0 -28
  128. package/dist/factory.d.ts.map +0 -1
  129. package/dist/factory.js +0 -50
  130. package/dist/factory.js.map +0 -1
  131. package/dist/misc.d.ts.map +0 -1
  132. package/dist/misc.js.map +0 -1
  133. package/dist/typechain/DebtTokenBase.d.ts +0 -508
  134. package/dist/typechain/DebtTokenBase.d.ts.map +0 -1
  135. package/dist/typechain/DebtTokenBase.js.map +0 -1
  136. package/dist/typechain/VaultLens.d.ts +0 -338
  137. package/dist/typechain/VaultLens.d.ts.map +0 -1
  138. package/dist/typechain/VaultLens.js.map +0 -1
  139. package/dist/typechain/WildcatVaultController.d.ts +0 -331
  140. package/dist/typechain/WildcatVaultController.d.ts.map +0 -1
  141. package/dist/typechain/WildcatVaultController.js.map +0 -1
  142. package/dist/typechain/WildcatVaultFactory.d.ts +0 -161
  143. package/dist/typechain/WildcatVaultFactory.d.ts.map +0 -1
  144. package/dist/typechain/WildcatVaultFactory.js.map +0 -1
  145. package/dist/typechain/WildcatVaultToken.d.ts +0 -653
  146. package/dist/typechain/WildcatVaultToken.d.ts.map +0 -1
  147. package/dist/typechain/WildcatVaultToken.js +0 -3
  148. package/dist/typechain/WildcatVaultToken.js.map +0 -1
  149. package/dist/typechain/factories/VaultLens__factory.d.ts +0 -1540
  150. package/dist/typechain/factories/VaultLens__factory.js +0 -1981
  151. package/dist/typechain/factories/VaultLens__factory.js.map +0 -1
  152. package/dist/typechain/factories/WildcatVaultController__factory.d.ts +0 -440
  153. package/dist/typechain/factories/WildcatVaultController__factory.d.ts.map +0 -1
  154. package/dist/typechain/factories/WildcatVaultController__factory.js +0 -573
  155. package/dist/typechain/factories/WildcatVaultController__factory.js.map +0 -1
  156. package/dist/typechain/factories/WildcatVaultFactory__factory.d.ts +0 -225
  157. package/dist/typechain/factories/WildcatVaultFactory__factory.d.ts.map +0 -1
  158. package/dist/typechain/factories/WildcatVaultFactory__factory.js +0 -299
  159. package/dist/typechain/factories/WildcatVaultFactory__factory.js.map +0 -1
  160. package/dist/typechain/factories/WildcatVaultToken__factory.d.ts.map +0 -1
  161. package/dist/typechain/factories/WildcatVaultToken__factory.js.map +0 -1
  162. package/dist/typechain/factories/mock/ERC20__factory.d.ts +0 -237
  163. package/dist/typechain/factories/mock/ERC20__factory.d.ts.map +0 -1
  164. package/dist/typechain/factories/mock/ERC20__factory.js +0 -317
  165. package/dist/typechain/factories/mock/ERC20__factory.js.map +0 -1
  166. package/dist/typechain/factories/mock/MockERC20Factory__factory.d.ts +0 -65
  167. package/dist/typechain/factories/mock/MockERC20Factory__factory.d.ts.map +0 -1
  168. package/dist/typechain/factories/mock/MockERC20Factory__factory.js +0 -98
  169. package/dist/typechain/factories/mock/MockERC20Factory__factory.js.map +0 -1
  170. package/dist/typechain/factories/mock/MockERC20__factory.d.ts +0 -292
  171. package/dist/typechain/factories/mock/MockERC20__factory.d.ts.map +0 -1
  172. package/dist/typechain/factories/mock/MockERC20__factory.js +0 -394
  173. package/dist/typechain/factories/mock/MockERC20__factory.js.map +0 -1
  174. package/dist/typechain/factories/mock/index.d.ts +0 -4
  175. package/dist/typechain/factories/mock/index.d.ts.map +0 -1
  176. package/dist/typechain/factories/mock/index.js +0 -13
  177. package/dist/typechain/factories/mock/index.js.map +0 -1
  178. package/dist/typechain/mock/ERC20.d.ts +0 -207
  179. package/dist/typechain/mock/ERC20.d.ts.map +0 -1
  180. package/dist/typechain/mock/ERC20.js +0 -3
  181. package/dist/typechain/mock/ERC20.js.map +0 -1
  182. package/dist/typechain/mock/MockERC20.d.ts +0 -247
  183. package/dist/typechain/mock/MockERC20.d.ts.map +0 -1
  184. package/dist/typechain/mock/MockERC20.js +0 -3
  185. package/dist/typechain/mock/MockERC20.js.map +0 -1
  186. package/dist/typechain/mock/MockERC20Factory.d.ts.map +0 -1
  187. package/dist/typechain/mock/MockERC20Factory.js.map +0 -1
  188. package/dist/typechain/mock/index.d.ts +0 -4
  189. package/dist/typechain/mock/index.d.ts.map +0 -1
  190. package/dist/typechain/mock/index.js.map +0 -1
  191. package/dist/vault.d.ts +0 -89
  192. package/dist/vault.d.ts.map +0 -1
  193. package/dist/vault.js +0 -218
  194. package/dist/vault.js.map +0 -1
  195. /package/dist/typechain/{mock/MockERC20Factory.js → MockERC20Factory.js} +0 -0
package/dist/vault.d.ts DELETED
@@ -1,89 +0,0 @@
1
- import { BigNumber } from "ethers";
2
- import { WildcatVaultToken, WildcatVaultToken__factory } from "./typechain";
3
- import { VaultDataStructOutput } from "./typechain";
4
- import { TokenAmount, Token } from "./token";
5
- import { SignerOrProvider, ContractWrapper } from "./types";
6
- import { VaultAccount } from "./account";
7
- export type CollateralizationInfo = {
8
- targetRatio: number;
9
- actualRatio: number;
10
- isTemporary?: boolean;
11
- originalTargetRatio?: number;
12
- temporaryExpiry?: number;
13
- };
14
- export declare class Vault extends ContractWrapper<WildcatVaultToken> {
15
- vaultToken: Token;
16
- underlyingToken: Token;
17
- borrower: string;
18
- controller: string;
19
- feeRecipient: string;
20
- interestFeeBips: number;
21
- penaltyFeeBips: number;
22
- gracePeriod: number;
23
- annualInterestBips: number;
24
- liquidityCoverageBips: number;
25
- temporaryLiquidityCoverage: boolean;
26
- originalLiquidityCoverageBips: number;
27
- temporaryLiquidityCoverageExpiry: number;
28
- borrowableAssets: TokenAmount;
29
- maxTotalSupply: TokenAmount;
30
- scaledTotalSupply: BigNumber;
31
- totalSupply: TokenAmount;
32
- totalAssets: TokenAmount;
33
- coverageLiquidity: TokenAmount;
34
- scaleFactor: BigNumber;
35
- lastAccruedProtocolFees: BigNumber;
36
- isDelinquent: boolean;
37
- timeDelinquent: number;
38
- lastInterestAccruedTimestamp: number;
39
- static readonly UpdatableKeys: Array<keyof Vault>;
40
- constructor(vaultToken: Token, underlyingToken: Token, borrower: string, controller: string, feeRecipient: string, interestFeeBips: number, penaltyFeeBips: number, gracePeriod: number, annualInterestBips: number, liquidityCoverageBips: number, temporaryLiquidityCoverage: boolean, originalLiquidityCoverageBips: number, temporaryLiquidityCoverageExpiry: number, borrowableAssets: TokenAmount, maxTotalSupply: TokenAmount, scaledTotalSupply: BigNumber, totalSupply: TokenAmount, totalAssets: TokenAmount, coverageLiquidity: TokenAmount, scaleFactor: BigNumber, lastAccruedProtocolFees: BigNumber, isDelinquent: boolean, timeDelinquent: number, lastInterestAccruedTimestamp: number, _provider: SignerOrProvider);
41
- readonly contractFactory: typeof WildcatVaultToken__factory;
42
- /** @returns Address of the vault token */
43
- get address(): string;
44
- get name(): string;
45
- get symbol(): string;
46
- get decimals(): number;
47
- /** @returns Percentage growth of the vault since it was created */
48
- get allTimeGrowth(): number;
49
- /** @returns Maximum amount of underlying token that can be deposited */
50
- get maximumDeposit(): TokenAmount;
51
- /** @returns Amount of assets borrower must deposit to not be delinquent */
52
- get collateralNeededForGoodStanding(): TokenAmount;
53
- get isIncurringPenalties(): boolean;
54
- get delinquentDebt(): TokenAmount;
55
- get outstandingDebt(): TokenAmount;
56
- /** @returns Address of underlying token */
57
- get asset(): string;
58
- /** @returns Percentage of the interest fee that goes to the protocol */
59
- get protocolFee(): number;
60
- /** @returns Percentage fee added to base interest rate when delinquency exceeds grace period */
61
- get penaltyFee(): number;
62
- /** @returns Percentage of total assets that must be held in reserve */
63
- get collateralization(): CollateralizationInfo;
64
- /** @returns Whether the borrower can change the APR */
65
- get canReduceAPR(): boolean;
66
- get isClosed(): boolean;
67
- update(): Promise<void>;
68
- /**
69
- * @returns Balance of an account in both vault and underlying tokens,
70
- * as well as the amount of underlying tokens approved for the vault.
71
- */
72
- getAccountInfo(account?: string): Promise<VaultAccount>;
73
- static fromVaultMetadataStruct(data: VaultDataStructOutput, provider: SignerOrProvider): Vault;
74
- static getVaultData(vault: string, provider: SignerOrProvider): Promise<Vault>;
75
- static getVaultsData(vaults: string[], provider: SignerOrProvider): Promise<Vault[]>;
76
- /**
77
- * Get all deployed vaults.
78
- */
79
- static getAllVaultsData(provider: SignerOrProvider): Promise<Vault[]>;
80
- /**
81
- * Get the total number of deployed vaults.
82
- */
83
- static getVaultsCount(provider: SignerOrProvider): Promise<number>;
84
- /**
85
- * Get a paginated list of deployed vaults.
86
- */
87
- static getPaginatedVaultsData(provider: SignerOrProvider, start: number | undefined, count: number): Promise<Vault[]>;
88
- }
89
- //# sourceMappingURL=vault.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
package/dist/vault.js DELETED
@@ -1,218 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Vault = void 0;
4
- const typechain_1 = require("./typechain");
5
- const constants_1 = require("./constants");
6
- const token_1 = require("./token");
7
- const types_1 = require("./types");
8
- const utils_1 = require("ethers/lib/utils");
9
- const misc_1 = require("./misc");
10
- const account_1 = require("./account");
11
- const constants_2 = require("./constants");
12
- class Vault extends types_1.ContractWrapper {
13
- constructor(vaultToken, underlyingToken, borrower, controller, feeRecipient, interestFeeBips, penaltyFeeBips,
14
- // Seconds delinquency is allowed before liquidation
15
- gracePeriod, annualInterestBips, liquidityCoverageBips, temporaryLiquidityCoverage, originalLiquidityCoverageBips, temporaryLiquidityCoverageExpiry, borrowableAssets,
16
- // Maximum amount of vault tokens that can be minted
17
- maxTotalSupply, scaledTotalSupply,
18
- // Total amount of vault tokens in existence
19
- totalSupply,
20
- // Total amount of underlying assets held in the vault
21
- totalAssets,
22
- // Amount of underlying assets that should be held in reserve for current supply
23
- coverageLiquidity, scaleFactor, lastAccruedProtocolFees,
24
- // Whether the vault is delinquent
25
- isDelinquent,
26
- // Seconds the vault has been delinquent
27
- timeDelinquent,
28
- // Timestamp of last interest accrual
29
- lastInterestAccruedTimestamp, _provider) {
30
- super(_provider);
31
- this.vaultToken = vaultToken;
32
- this.underlyingToken = underlyingToken;
33
- this.borrower = borrower;
34
- this.controller = controller;
35
- this.feeRecipient = feeRecipient;
36
- this.interestFeeBips = interestFeeBips;
37
- this.penaltyFeeBips = penaltyFeeBips;
38
- this.gracePeriod = gracePeriod;
39
- this.annualInterestBips = annualInterestBips;
40
- this.liquidityCoverageBips = liquidityCoverageBips;
41
- this.temporaryLiquidityCoverage = temporaryLiquidityCoverage;
42
- this.originalLiquidityCoverageBips = originalLiquidityCoverageBips;
43
- this.temporaryLiquidityCoverageExpiry = temporaryLiquidityCoverageExpiry;
44
- this.borrowableAssets = borrowableAssets;
45
- this.maxTotalSupply = maxTotalSupply;
46
- this.scaledTotalSupply = scaledTotalSupply;
47
- this.totalSupply = totalSupply;
48
- this.totalAssets = totalAssets;
49
- this.coverageLiquidity = coverageLiquidity;
50
- this.scaleFactor = scaleFactor;
51
- this.lastAccruedProtocolFees = lastAccruedProtocolFees;
52
- this.isDelinquent = isDelinquent;
53
- this.timeDelinquent = timeDelinquent;
54
- this.lastInterestAccruedTimestamp = lastInterestAccruedTimestamp;
55
- this.contractFactory = typechain_1.WildcatVaultToken__factory;
56
- }
57
- /** @returns Address of the vault token */
58
- get address() {
59
- return this.vaultToken.address;
60
- }
61
- get name() {
62
- return this.vaultToken.name;
63
- }
64
- get symbol() {
65
- return this.vaultToken.symbol;
66
- }
67
- get decimals() {
68
- return this.vaultToken.decimals;
69
- }
70
- /** @returns Percentage growth of the vault since it was created */
71
- get allTimeGrowth() {
72
- // 27 - 2 to convert to percentage
73
- return +(0, utils_1.formatUnits)(this.scaleFactor, 25);
74
- }
75
- /** @returns Maximum amount of underlying token that can be deposited */
76
- get maximumDeposit() {
77
- return this.underlyingToken.getAmount(this.maxTotalSupply.raw.sub(this.totalSupply.raw));
78
- }
79
- /** @returns Amount of assets borrower must deposit to not be delinquent */
80
- get collateralNeededForGoodStanding() {
81
- const collateral = this.totalAssets;
82
- const coverage = this.coverageLiquidity;
83
- return coverage.satsub(collateral);
84
- }
85
- get isIncurringPenalties() {
86
- return this.isDelinquent && this.timeDelinquent > this.gracePeriod;
87
- }
88
- get delinquentDebt() {
89
- const collateral = this.totalAssets;
90
- const coverage = this.coverageLiquidity;
91
- return coverage.satsub(collateral);
92
- }
93
- get outstandingDebt() {
94
- const totalSupply = this.totalSupply;
95
- const collateral = this.totalAssets;
96
- return totalSupply.satsub(collateral);
97
- }
98
- /** @returns Address of underlying token */
99
- get asset() {
100
- return this.underlyingToken.address;
101
- }
102
- /** @returns Percentage of the interest fee that goes to the protocol */
103
- get protocolFee() {
104
- return this.interestFeeBips / 100;
105
- }
106
- /** @returns Percentage fee added to base interest rate when delinquency exceeds grace period */
107
- get penaltyFee() {
108
- return this.penaltyFeeBips / 100;
109
- }
110
- /** @returns Percentage of total assets that must be held in reserve */
111
- get collateralization() {
112
- const targetRatio = this.liquidityCoverageBips / 100;
113
- const actualRatio = this.totalSupply.eq(0)
114
- ? 100
115
- : +(0, utils_1.formatUnits)(this.totalAssets.raw.mul(constants_2.RAY).div(this.totalSupply.raw), 25);
116
- if (this.temporaryLiquidityCoverage) {
117
- return {
118
- targetRatio,
119
- actualRatio,
120
- isTemporary: true,
121
- originalTargetRatio: this.originalLiquidityCoverageBips / 100,
122
- temporaryExpiry: this.temporaryLiquidityCoverageExpiry
123
- };
124
- }
125
- return { targetRatio, actualRatio };
126
- }
127
- /** @returns Whether the borrower can change the APR */
128
- get canReduceAPR() {
129
- return this.collateralization.actualRatio >= 90;
130
- }
131
- get isClosed() {
132
- return this.annualInterestBips == 0;
133
- }
134
- async update() {
135
- const vault = await Vault.getVaultData(this.address, this.provider);
136
- (0, misc_1.updateObject)(this, vault, Vault.UpdatableKeys);
137
- }
138
- /**
139
- * @returns Balance of an account in both vault and underlying tokens,
140
- * as well as the amount of underlying tokens approved for the vault.
141
- */
142
- async getAccountInfo(account) {
143
- const lens = (0, constants_1.getLensContract)(this.provider);
144
- if (!account) {
145
- account = await this.signer.getAddress();
146
- }
147
- const info = await lens.getAccountVaultInfo(this.address, account);
148
- return account_1.VaultAccount.fromAccountVaultInfoStruct(account, info, this);
149
- }
150
- static fromVaultMetadataStruct(data, provider) {
151
- const vaultToken = token_1.Token.fromTokenMetadataStruct(data.vaultToken, provider);
152
- const underlyingToken = token_1.Token.fromTokenMetadataStruct(data.underlyingToken, provider);
153
- return new Vault(vaultToken, underlyingToken, data.borrower, data.controller, data.feeRecipient, data.interestFeeBips.toNumber(), data.penaltyFeeBips.toNumber(), data.gracePeriod.toNumber(), data.annualInterestBips.toNumber(), data.liquidityCoverageRatio.toNumber(), data.temporaryLiquidityCoverage, data.originalLiquidityCoverageRatio.toNumber(), data.temporaryLiquidityCoverageExpiry.toNumber(), underlyingToken.getAmount(data.borrowableAssets), vaultToken.getAmount(data.maxTotalSupply), data.scaledTotalSupply, vaultToken.getAmount(data.totalSupply), underlyingToken.getAmount(data.totalAssets), underlyingToken.getAmount(data.coverageLiquidity), data.scaleFactor, data.lastAccruedProtocolFees, data.isDelinquent, data.timeDelinquent.toNumber(), data.lastInterestAccruedTimestamp.toNumber(), provider);
154
- }
155
- static async getVaultData(vault, provider) {
156
- const lens = (0, constants_1.getLensContract)(provider);
157
- const data = await lens.getVaultData(vault);
158
- return Vault.fromVaultMetadataStruct(data, provider);
159
- }
160
- static async getVaultsData(vaults, provider) {
161
- const lens = (0, constants_1.getLensContract)(provider);
162
- const data = await lens.getVaultsData(vaults);
163
- return data.map((vault) => Vault.fromVaultMetadataStruct(vault, provider));
164
- }
165
- /**
166
- * Get all deployed vaults.
167
- */
168
- static async getAllVaultsData(provider) {
169
- const lens = (0, constants_1.getLensContract)(provider);
170
- return lens
171
- .getAllVaultsData()
172
- .then((data) => data.map((vault) => Vault.fromVaultMetadataStruct(vault, provider)));
173
- }
174
- /**
175
- * Get the total number of deployed vaults.
176
- */
177
- static async getVaultsCount(provider) {
178
- const lens = (0, constants_1.getLensContract)(provider);
179
- return lens.getVaultsCount().then((count) => count.toNumber());
180
- }
181
- /**
182
- * Get a paginated list of deployed vaults.
183
- */
184
- static async getPaginatedVaultsData(provider, start = 0, count) {
185
- const lens = (0, constants_1.getLensContract)(provider);
186
- return lens
187
- .getPaginatedVaultsData(start, count)
188
- .then((data) => data.map((vault) => Vault.fromVaultMetadataStruct(vault, provider)));
189
- }
190
- }
191
- Vault.UpdatableKeys = [
192
- "vaultToken",
193
- "underlyingToken",
194
- "borrower",
195
- "controller",
196
- "feeRecipient",
197
- "interestFeeBips",
198
- "penaltyFeeBips",
199
- "gracePeriod",
200
- "annualInterestBips",
201
- "liquidityCoverageBips",
202
- "temporaryLiquidityCoverage",
203
- "originalLiquidityCoverageBips",
204
- "temporaryLiquidityCoverageExpiry",
205
- "borrowableAssets",
206
- "maxTotalSupply",
207
- "scaledTotalSupply",
208
- "totalSupply",
209
- "totalAssets",
210
- "coverageLiquidity",
211
- "scaleFactor",
212
- "lastAccruedProtocolFees",
213
- "isDelinquent",
214
- "timeDelinquent",
215
- "lastInterestAccruedTimestamp"
216
- ];
217
- exports.Vault = Vault;
218
- //# sourceMappingURL=vault.js.map
package/dist/vault.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}