@wildcatfi/wildcat-sdk 1.0.14 → 2.0.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 (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 +127 -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 +105 -0
  19. package/dist/market.d.ts.map +1 -0
  20. package/dist/market.js +263 -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 +2 -3
  25. package/dist/token.d.ts.map +1 -1
  26. package/dist/token.js +7 -8
  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 +25 -0
  119. package/dist/withdrawal-batch.d.ts.map +1 -0
  120. package/dist/withdrawal-batch.js +38 -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
@@ -0,0 +1,105 @@
1
+ import { BigNumber } from "ethers";
2
+ import { WildcatMarket, WildcatMarket__factory } from "./typechain";
3
+ import { MarketDataStructOutput } from "./typechain";
4
+ import { TokenAmount, Token } from "./token";
5
+ import { SignerOrProvider, ContractWrapper } from "./types";
6
+ import { MarketAccount } from "./account";
7
+ import { LenderWithdrawalStatus } from "./withdrawal-status";
8
+ export type CollateralizationInfo = {
9
+ targetRatio: number;
10
+ actualRatio: number;
11
+ isTemporary?: boolean;
12
+ originalTargetRatio?: number;
13
+ temporaryExpiry?: number;
14
+ };
15
+ export declare class Market extends ContractWrapper<WildcatMarket> {
16
+ marketToken: Token;
17
+ underlyingToken: Token;
18
+ borrower: string;
19
+ controller: string;
20
+ feeRecipient: string;
21
+ protocolFeeBips: number;
22
+ delinquencyFeeBips: number;
23
+ delinquencyGracePeriod: number;
24
+ reserveRatioBips: number;
25
+ annualInterestBips: number;
26
+ temporaryReserveRatio: boolean;
27
+ originalReserveRatioBips: number;
28
+ temporaryReserveRatioExpiry: number;
29
+ isClosed: boolean;
30
+ scaleFactor: BigNumber;
31
+ totalSupply: TokenAmount;
32
+ maxTotalSupply: TokenAmount;
33
+ scaledTotalSupply: BigNumber;
34
+ totalAssets: TokenAmount;
35
+ lastAccruedProtocolFees: TokenAmount;
36
+ normalizedUnclaimedWithdrawals: TokenAmount;
37
+ scaledPendingWithdrawals: BigNumber;
38
+ pendingWithdrawalExpiry: number;
39
+ isDelinquent: boolean;
40
+ timeDelinquent: number;
41
+ lastInterestAccruedTimestamp: number;
42
+ unpaidWithdrawalBatchExpiries: number[];
43
+ coverageLiquidity: TokenAmount;
44
+ borrowableAssets: TokenAmount;
45
+ static readonly UpdatableKeys: Array<keyof Market>;
46
+ constructor(marketToken: Token, underlyingToken: Token, borrower: string, controller: string, feeRecipient: string, protocolFeeBips: number, delinquencyFeeBips: number, delinquencyGracePeriod: number, reserveRatioBips: number, annualInterestBips: number, temporaryReserveRatio: boolean, originalReserveRatioBips: number, temporaryReserveRatioExpiry: number, isClosed: boolean, scaleFactor: BigNumber, totalSupply: TokenAmount, maxTotalSupply: TokenAmount, scaledTotalSupply: BigNumber, totalAssets: TokenAmount, lastAccruedProtocolFees: TokenAmount, normalizedUnclaimedWithdrawals: TokenAmount, scaledPendingWithdrawals: BigNumber, pendingWithdrawalExpiry: number, isDelinquent: boolean, timeDelinquent: number, lastInterestAccruedTimestamp: number, unpaidWithdrawalBatchExpiries: number[], coverageLiquidity: TokenAmount, borrowableAssets: TokenAmount, _provider: SignerOrProvider);
47
+ readonly contractFactory: typeof WildcatMarket__factory;
48
+ /** @returns Address of the market token */
49
+ get address(): string;
50
+ get name(): string;
51
+ get symbol(): string;
52
+ get decimals(): number;
53
+ /** @returns Percentage growth of the market since it was created */
54
+ get allTimeGrowth(): number;
55
+ /** @returns Maximum amount of underlying token that can be deposited */
56
+ get maximumDeposit(): TokenAmount;
57
+ /** @returns Whether the borrower is in penalized delinquency */
58
+ get isIncurringPenalties(): boolean;
59
+ /** @returns Amount of assets borrower must deposit to not be delinquent */
60
+ get delinquentDebt(): TokenAmount;
61
+ get outstandingDebt(): TokenAmount;
62
+ get outstandingTotalSupply(): TokenAmount;
63
+ /** @returns Address of underlying token */
64
+ get asset(): string;
65
+ /** @returns Percentage of the interest fee that goes to the protocol */
66
+ get protocolFee(): number;
67
+ /** @returns Percentage fee added to base interest rate when delinquency exceeds grace period */
68
+ get penaltyFee(): number;
69
+ /** @returns Percentage of total assets that must be held in reserve */
70
+ get collateralization(): CollateralizationInfo;
71
+ get normalizedPendingWithdrawals(): TokenAmount;
72
+ /** @returns Whether the borrower can change the APR */
73
+ get canReduceAPR(): boolean;
74
+ update(): Promise<void>;
75
+ /**
76
+ * @returns Balance of an account in both market and underlying tokens,
77
+ * as well as the amount of underlying tokens approved for the market.
78
+ */
79
+ getAccountInfo(account?: string): Promise<MarketAccount>;
80
+ getWithdrawalsByLender(lender: string): Promise<LenderWithdrawalStatus[]>;
81
+ getWithdrawalsByExpiry(expiry: number): Promise<LenderWithdrawalStatus[]>;
82
+ static fromMarketData(data: MarketDataStructOutput, provider: SignerOrProvider): Market;
83
+ updateWith(data: MarketDataStructOutput): void;
84
+ /**
85
+ * @returns `Market` instance for `market`
86
+ */
87
+ static getMarket(market: string, provider: SignerOrProvider): Promise<Market>;
88
+ /**
89
+ * @returns `Market` instances for `markets`
90
+ */
91
+ static getMarkets(markets: string[], provider: SignerOrProvider): Promise<Market[]>;
92
+ /**
93
+ * @return All deployed markets
94
+ */
95
+ static getAllMarkets(provider: SignerOrProvider): Promise<Market[]>;
96
+ /**
97
+ * @dev Get a paginated list of deployed markets.
98
+ */
99
+ static getPaginatedMarkets(provider: SignerOrProvider, start: number | undefined, count: number): Promise<Market[]>;
100
+ /**
101
+ * @return Total number of deployed markets.
102
+ */
103
+ static getMarketsCount(provider: SignerOrProvider): Promise<number>;
104
+ }
105
+ //# sourceMappingURL=market.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../src/market.ts"],"names":[],"mappings":"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"}
package/dist/market.js ADDED
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Market = 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 account_1 = require("./account");
10
+ const constants_2 = require("./constants");
11
+ const withdrawal_status_1 = require("./withdrawal-status");
12
+ const math_1 = require("./utils/math");
13
+ class Market extends types_1.ContractWrapper {
14
+ constructor(marketToken, underlyingToken, borrower, controller, feeRecipient, protocolFeeBips, delinquencyFeeBips,
15
+ // Seconds delinquency is allowed before liquidation
16
+ delinquencyGracePeriod, reserveRatioBips, annualInterestBips, temporaryReserveRatio, originalReserveRatioBips, temporaryReserveRatioExpiry, isClosed, scaleFactor,
17
+ // Total amount of market tokens in existence
18
+ totalSupply,
19
+ // Maximum amount of market tokens that can be minted
20
+ maxTotalSupply, scaledTotalSupply,
21
+ // Total amount of underlying assets held in the market
22
+ totalAssets, lastAccruedProtocolFees, normalizedUnclaimedWithdrawals, scaledPendingWithdrawals, pendingWithdrawalExpiry,
23
+ // Whether the market is delinquent
24
+ isDelinquent,
25
+ // Seconds the market has been delinquent
26
+ timeDelinquent,
27
+ // Timestamp of last interest accrual
28
+ lastInterestAccruedTimestamp,
29
+ // Expiries of unpaid withdrawal batches
30
+ unpaidWithdrawalBatchExpiries,
31
+ // Amount of underlying assets that should be held in reserve for current supply
32
+ coverageLiquidity, borrowableAssets, _provider) {
33
+ super(_provider);
34
+ this.marketToken = marketToken;
35
+ this.underlyingToken = underlyingToken;
36
+ this.borrower = borrower;
37
+ this.controller = controller;
38
+ this.feeRecipient = feeRecipient;
39
+ this.protocolFeeBips = protocolFeeBips;
40
+ this.delinquencyFeeBips = delinquencyFeeBips;
41
+ this.delinquencyGracePeriod = delinquencyGracePeriod;
42
+ this.reserveRatioBips = reserveRatioBips;
43
+ this.annualInterestBips = annualInterestBips;
44
+ this.temporaryReserveRatio = temporaryReserveRatio;
45
+ this.originalReserveRatioBips = originalReserveRatioBips;
46
+ this.temporaryReserveRatioExpiry = temporaryReserveRatioExpiry;
47
+ this.isClosed = isClosed;
48
+ this.scaleFactor = scaleFactor;
49
+ this.totalSupply = totalSupply;
50
+ this.maxTotalSupply = maxTotalSupply;
51
+ this.scaledTotalSupply = scaledTotalSupply;
52
+ this.totalAssets = totalAssets;
53
+ this.lastAccruedProtocolFees = lastAccruedProtocolFees;
54
+ this.normalizedUnclaimedWithdrawals = normalizedUnclaimedWithdrawals;
55
+ this.scaledPendingWithdrawals = scaledPendingWithdrawals;
56
+ this.pendingWithdrawalExpiry = pendingWithdrawalExpiry;
57
+ this.isDelinquent = isDelinquent;
58
+ this.timeDelinquent = timeDelinquent;
59
+ this.lastInterestAccruedTimestamp = lastInterestAccruedTimestamp;
60
+ this.unpaidWithdrawalBatchExpiries = unpaidWithdrawalBatchExpiries;
61
+ this.coverageLiquidity = coverageLiquidity;
62
+ this.borrowableAssets = borrowableAssets;
63
+ this.contractFactory = typechain_1.WildcatMarket__factory;
64
+ }
65
+ /** @returns Address of the market token */
66
+ get address() {
67
+ return this.marketToken.address;
68
+ }
69
+ get name() {
70
+ return this.marketToken.name;
71
+ }
72
+ get symbol() {
73
+ return this.marketToken.symbol;
74
+ }
75
+ get decimals() {
76
+ return this.marketToken.decimals;
77
+ }
78
+ /** @returns Percentage growth of the market since it was created */
79
+ get allTimeGrowth() {
80
+ // 27 - 2 to convert to percentage
81
+ return +(0, utils_1.formatUnits)(this.scaleFactor, 25);
82
+ }
83
+ /** @returns Maximum amount of underlying token that can be deposited */
84
+ get maximumDeposit() {
85
+ return this.underlyingToken.getAmount(this.maxTotalSupply.raw.sub(this.totalSupply.raw));
86
+ }
87
+ /** @returns Whether the borrower is in penalized delinquency */
88
+ get isIncurringPenalties() {
89
+ return this.isDelinquent && this.timeDelinquent > this.delinquencyGracePeriod;
90
+ }
91
+ /** @returns Amount of assets borrower must deposit to not be delinquent */
92
+ get delinquentDebt() {
93
+ const collateral = this.totalAssets;
94
+ const coverage = this.coverageLiquidity;
95
+ return coverage.satsub(collateral);
96
+ }
97
+ get outstandingDebt() {
98
+ const totalSupply = this.totalSupply;
99
+ const collateral = this.totalAssets;
100
+ return totalSupply.satsub(collateral);
101
+ }
102
+ get outstandingTotalSupply() {
103
+ return this.totalSupply.sub(this.normalizedPendingWithdrawals);
104
+ }
105
+ /** @returns Address of underlying token */
106
+ get asset() {
107
+ return this.underlyingToken.address;
108
+ }
109
+ /** @returns Percentage of the interest fee that goes to the protocol */
110
+ get protocolFee() {
111
+ return this.protocolFeeBips / 100;
112
+ }
113
+ /** @returns Percentage fee added to base interest rate when delinquency exceeds grace period */
114
+ get penaltyFee() {
115
+ return this.delinquencyFeeBips / 100;
116
+ }
117
+ /** @returns Percentage of total assets that must be held in reserve */
118
+ get collateralization() {
119
+ const targetRatio = this.reserveRatioBips / 100;
120
+ const actualRatio = this.totalSupply.eq(0)
121
+ ? 100
122
+ : +(0, utils_1.formatUnits)(this.totalAssets.raw.mul(constants_2.RAY).div(this.totalSupply.raw), 25);
123
+ if (this.temporaryReserveRatio) {
124
+ return {
125
+ targetRatio,
126
+ actualRatio,
127
+ isTemporary: true,
128
+ originalTargetRatio: this.originalReserveRatioBips / 100,
129
+ temporaryExpiry: this.temporaryReserveRatioExpiry
130
+ };
131
+ }
132
+ return { targetRatio, actualRatio };
133
+ }
134
+ get normalizedPendingWithdrawals() {
135
+ return this.underlyingToken.getAmount((0, math_1.rayMul)(this.scaledPendingWithdrawals, this.scaleFactor));
136
+ }
137
+ /** @returns Whether the borrower can change the APR */
138
+ get canReduceAPR() {
139
+ return this.collateralization.actualRatio >= 90;
140
+ }
141
+ async update() {
142
+ const market = await (0, constants_1.getLensContract)(this.provider).getMarketData(this.address);
143
+ // updateObject(this, market, Market.UpdatableKeys);
144
+ this.updateWith(market);
145
+ }
146
+ /**
147
+ * @returns Balance of an account in both market and underlying tokens,
148
+ * as well as the amount of underlying tokens approved for the market.
149
+ */
150
+ async getAccountInfo(account) {
151
+ if (!account) {
152
+ account = await this.signer.getAddress();
153
+ }
154
+ return account_1.MarketAccount.getMarketAccount(this.provider, account, this);
155
+ }
156
+ async getWithdrawalsByLender(lender) {
157
+ return withdrawal_status_1.LenderWithdrawalStatus.getAllWithdrawalsForLender(this, lender);
158
+ }
159
+ async getWithdrawalsByExpiry(expiry) {
160
+ return withdrawal_status_1.LenderWithdrawalStatus.getAllWithdrawalsInBatch(this, expiry);
161
+ }
162
+ static fromMarketData(data, provider) {
163
+ const marketToken = token_1.Token.fromTokenMetadata(data.marketToken, provider);
164
+ const underlyingToken = token_1.Token.fromTokenMetadata(data.underlyingToken, provider);
165
+ return new Market(marketToken, underlyingToken, data.borrower, data.controller, data.feeRecipient, data.protocolFeeBips.toNumber(), data.delinquencyFeeBips.toNumber(), data.delinquencyGracePeriod.toNumber(), data.reserveRatioBips.toNumber(), data.annualInterestBips.toNumber(), data.temporaryReserveRatio, data.originalReserveRatioBips.toNumber(), data.temporaryReserveRatioExpiry.toNumber(), data.isClosed, data.scaleFactor, marketToken.getAmount(data.totalSupply), marketToken.getAmount(data.maxTotalSupply), data.scaledTotalSupply, underlyingToken.getAmount(data.totalAssets), underlyingToken.getAmount(data.lastAccruedProtocolFees), underlyingToken.getAmount(data.normalizedUnclaimedWithdrawals), data.scaledPendingWithdrawals, data.pendingWithdrawalExpiry.toNumber(), data.isDelinquent, data.timeDelinquent.toNumber(), data.lastInterestAccruedTimestamp.toNumber(), data.unpaidWithdrawalBatchExpiries, underlyingToken.getAmount(data.coverageLiquidity), underlyingToken.getAmount(data.borrowableAssets), provider);
166
+ }
167
+ updateWith(data) {
168
+ this.feeRecipient = data.feeRecipient;
169
+ this.protocolFeeBips = data.protocolFeeBips.toNumber();
170
+ this.delinquencyFeeBips = data.delinquencyFeeBips.toNumber();
171
+ this.delinquencyGracePeriod = data.delinquencyGracePeriod.toNumber();
172
+ this.reserveRatioBips = data.reserveRatioBips.toNumber();
173
+ this.annualInterestBips = data.annualInterestBips.toNumber();
174
+ this.temporaryReserveRatio = data.temporaryReserveRatio;
175
+ this.originalReserveRatioBips = data.originalReserveRatioBips.toNumber();
176
+ this.temporaryReserveRatioExpiry = data.temporaryReserveRatioExpiry.toNumber();
177
+ this.isClosed = data.isClosed;
178
+ this.scaleFactor = data.scaleFactor;
179
+ this.totalSupply = this.marketToken.getAmount(data.totalSupply);
180
+ this.maxTotalSupply = this.marketToken.getAmount(data.maxTotalSupply);
181
+ this.scaledTotalSupply = data.scaledTotalSupply;
182
+ this.totalAssets = this.underlyingToken.getAmount(data.totalAssets);
183
+ this.lastAccruedProtocolFees = this.underlyingToken.getAmount(data.lastAccruedProtocolFees);
184
+ this.normalizedUnclaimedWithdrawals = this.underlyingToken.getAmount(data.normalizedUnclaimedWithdrawals);
185
+ this.scaledPendingWithdrawals = data.scaledPendingWithdrawals;
186
+ this.pendingWithdrawalExpiry = data.pendingWithdrawalExpiry.toNumber();
187
+ this.isDelinquent = data.isDelinquent;
188
+ this.timeDelinquent = data.timeDelinquent.toNumber();
189
+ this.lastInterestAccruedTimestamp = data.lastInterestAccruedTimestamp.toNumber();
190
+ this.unpaidWithdrawalBatchExpiries = data.unpaidWithdrawalBatchExpiries;
191
+ this.coverageLiquidity = this.underlyingToken.getAmount(data.coverageLiquidity);
192
+ this.borrowableAssets = this.underlyingToken.getAmount(data.borrowableAssets);
193
+ }
194
+ /**
195
+ * @returns `Market` instance for `market`
196
+ */
197
+ static async getMarket(market, provider) {
198
+ const lens = (0, constants_1.getLensContract)(provider);
199
+ const data = await lens.getMarketData(market);
200
+ return Market.fromMarketData(data, provider);
201
+ }
202
+ /**
203
+ * @returns `Market` instances for `markets`
204
+ */
205
+ static async getMarkets(markets, provider) {
206
+ const lens = (0, constants_1.getLensContract)(provider);
207
+ const data = await lens.getMarketsData(markets);
208
+ return data.map((market) => Market.fromMarketData(market, provider));
209
+ }
210
+ /**
211
+ * @return All deployed markets
212
+ */
213
+ static async getAllMarkets(provider) {
214
+ const lens = (0, constants_1.getLensContract)(provider);
215
+ return lens
216
+ .getAllMarketsData()
217
+ .then((data) => data.map((market) => Market.fromMarketData(market, provider)));
218
+ }
219
+ /**
220
+ * @dev Get a paginated list of deployed markets.
221
+ */
222
+ static async getPaginatedMarkets(provider, start = 0, count) {
223
+ const lens = (0, constants_1.getLensContract)(provider);
224
+ return lens
225
+ .getPaginatedMarketsData(start, count)
226
+ .then((data) => data.map((market) => Market.fromMarketData(market, provider)));
227
+ }
228
+ /**
229
+ * @return Total number of deployed markets.
230
+ */
231
+ static async getMarketsCount(provider) {
232
+ const lens = (0, constants_1.getLensContract)(provider);
233
+ return lens.getMarketsCount().then((count) => count.toNumber());
234
+ }
235
+ }
236
+ Market.UpdatableKeys = [
237
+ "marketToken",
238
+ "underlyingToken",
239
+ "borrower",
240
+ "controller",
241
+ "feeRecipient",
242
+ "protocolFeeBips",
243
+ "delinquencyFeeBips",
244
+ "delinquencyGracePeriod",
245
+ "annualInterestBips",
246
+ "reserveRatioBips",
247
+ "temporaryReserveRatio",
248
+ "originalReserveRatioBips",
249
+ "temporaryReserveRatioExpiry",
250
+ "borrowableAssets",
251
+ "maxTotalSupply",
252
+ "scaledTotalSupply",
253
+ "totalSupply",
254
+ "totalAssets",
255
+ "coverageLiquidity",
256
+ "scaleFactor",
257
+ "lastAccruedProtocolFees",
258
+ "isDelinquent",
259
+ "timeDelinquent",
260
+ "lastInterestAccruedTimestamp"
261
+ ];
262
+ exports.Market = Market;
263
+ //# sourceMappingURL=market.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../src/market.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ class TokenFactory extends types_1.ContractWrapper {
12
12
  this.contractFactory = typechain_1.MockERC20Factory__factory;
13
13
  }
14
14
  static getFactory(provider) {
15
- return new TokenFactory(constants_1.MockERC20FactoryAddress, provider);
15
+ return new TokenFactory(constants_1.Deployments.MockERC20Factory, provider);
16
16
  }
17
17
  static async deployToken(signer, name, symbol) {
18
18
  const factory = TokenFactory.getFactory(signer);
@@ -1 +1 @@
1
- {"version":3,"file":"mockerc20factory.js","sourceRoot":"","sources":["../src/mockerc20factory.ts"],"names":[],"mappings":";;;AAAA,mCAAoE;AACpE,2CAA0E;AAE1E,mCAAgC;AAChC,2CAAsD;AAEtD,MAAa,YAAa,SAAQ,uBAAiC;IAGjE,YAAmB,OAAe,EAAE,QAA0B;QAC5D,KAAK,CAAC,QAAQ,CAAC,CAAC;QADC,YAAO,GAAP,OAAO,CAAQ;QAFzB,oBAAe,GAAG,qCAAyB,CAAC;IAIrD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAA0B;QAC1C,OAAO,IAAI,YAAY,CAAC,mCAAuB,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc;QACnE,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,MAAc;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/E,MAAM,EACJ,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAC1B,GAAG,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,kBAAkB,CAA2B,CAAC;QAE1F,OAAO,IAAI,aAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;CACF;AAzBD,oCAyBC"}
1
+ {"version":3,"file":"mockerc20factory.js","sourceRoot":"","sources":["../src/mockerc20factory.ts"],"names":[],"mappings":";;;AAAA,mCAAoE;AACpE,2CAA0E;AAE1E,mCAAgC;AAChC,2CAA0C;AAE1C,MAAa,YAAa,SAAQ,uBAAiC;IAGjE,YAAmB,OAAe,EAAE,QAA0B;QAC5D,KAAK,CAAC,QAAQ,CAAC,CAAC;QADC,YAAO,GAAP,OAAO,CAAQ;QAFzB,oBAAe,GAAG,qCAAyB,CAAC;IAIrD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,QAA0B;QAC1C,OAAO,IAAI,YAAY,CAAC,uBAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc;QACnE,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,MAAc;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/E,MAAM,EACJ,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAC1B,GAAG,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,kBAAkB,CAA2B,CAAC;QAE1F,OAAO,IAAI,aAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;CACF;AAzBD,oCAyBC"}
package/dist/token.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { BigNumber, BigNumberish, ContractTransaction } from "ethers";
2
- import { TokenMetadataStructOutput } from "./typechain";
2
+ import { IERC20, IERC20__factory, TokenMetadataStructOutput } from "./typechain";
3
3
  import { ContractWrapper, SignerOrProvider } from "./types";
4
- import { IERC20, IERC20__factory } from "./typechain";
5
4
  type RhsAmount = BigNumberish | TokenAmount;
6
5
  export declare const maxTokenAmount: (...amounts: TokenAmount[]) => TokenAmount;
7
6
  export declare const minTokenAmount: (...amounts: TokenAmount[]) => TokenAmount;
@@ -34,7 +33,7 @@ export declare class Token extends ContractWrapper<IERC20> {
34
33
  faucet(): Promise<ContractTransaction>;
35
34
  getAmount(amount: RhsAmount): TokenAmount;
36
35
  parseAmount(amount: number | string): TokenAmount;
37
- static fromTokenMetadataStruct(metadata: TokenMetadataStructOutput, provider: SignerOrProvider): Token;
36
+ static fromTokenMetadata(metadata: TokenMetadataStructOutput, provider: SignerOrProvider): Token;
38
37
  static getTokenData(token: string, provider: SignerOrProvider): Promise<Token>;
39
38
  static getTokensData(tokens: string[], provider: SignerOrProvider): Promise<Token[]>;
40
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAEtE,OAAO,EAAsB,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGtD,KAAK,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC;AAQ5C,eAAO,MAAM,cAAc,eAAgB,WAAW,EAAE,KAAG,WAM1D,CAAC;AAEF,eAAO,MAAM,cAAc,eAAgB,WAAW,EAAE,KAAG,WAM1D,CAAC;AAEF,qBAAa,WAAW;IACH,GAAG,EAAE,SAAS;IAAS,KAAK,EAAE,KAAK;gBAAnC,GAAG,EAAE,SAAS,EAAS,KAAK,EAAE,KAAK;IAEtD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,OAAO,CAAC,MAAM,SAAgB,GAAG,MAAM;IAIvC,MAAM,CAAC,MAAM,SAAgB,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM;IAI5D,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK9B,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK9B,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK/B,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK/B,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK9B,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW;IAKnC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW;IAKnC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW;CASvC;AAED,qBAAa,KAAM,SAAQ,eAAe,CAAC,MAAM,CAAC;IAIvC,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,OAAO;IAPxB,QAAQ,CAAC,eAAe,yBAAmB;gBAGlC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACtB,QAAQ,EAAE,gBAAgB;IAKtB,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAO5C,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW;IAIzC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAKjD,MAAM,CAAC,uBAAuB,CAC5B,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,gBAAgB,GACzB,KAAK;WAWK,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;WAMvE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAM3F"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI5D,KAAK,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC;AAQ5C,eAAO,MAAM,cAAc,eAAgB,WAAW,EAAE,KAAG,WAM1D,CAAC;AAEF,eAAO,MAAM,cAAc,eAAgB,WAAW,EAAE,KAAG,WAM1D,CAAC;AAEF,qBAAa,WAAW;IACH,GAAG,EAAE,SAAS;IAAS,KAAK,EAAE,KAAK;gBAAnC,GAAG,EAAE,SAAS,EAAS,KAAK,EAAE,KAAK;IAEtD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,OAAO,CAAC,MAAM,SAAgB,GAAG,MAAM;IAIvC,MAAM,CAAC,MAAM,SAAgB,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM;IAI5D,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK9B,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK9B,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK/B,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK/B,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAK9B,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW;IAKnC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW;IAKnC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW;CASvC;AAED,qBAAa,KAAM,SAAQ,eAAe,CAAC,MAAM,CAAC;IAIvC,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,OAAO;IAPxB,QAAQ,CAAC,eAAe,yBAAmB;gBAGlC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACtB,QAAQ,EAAE,gBAAgB;IAKtB,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAO5C,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW;IAIzC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAKjD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,yBAAyB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,KAAK;WAWnF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;WAMvE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAM3F"}
package/dist/token.js CHANGED
@@ -6,8 +6,7 @@ const utils_1 = require("ethers/lib/utils");
6
6
  const typechain_1 = require("./typechain");
7
7
  const types_1 = require("./types");
8
8
  const constants_1 = require("./constants");
9
- const typechain_2 = require("./typechain");
10
- const misc_1 = require("./misc");
9
+ const utils_2 = require("./utils");
11
10
  const toBn = (amount) => {
12
11
  if (amount instanceof TokenAmount) {
13
12
  return amount.raw;
@@ -47,7 +46,7 @@ class TokenAmount {
47
46
  return this.token.decimals;
48
47
  }
49
48
  toFixed(digits = this.decimals) {
50
- return (0, misc_1.formatBnFixed)(this.raw, this.decimals, digits);
49
+ return (0, utils_2.formatBnFixed)(this.raw, this.decimals, digits);
51
50
  }
52
51
  format(digits = this.decimals, withSymbol) {
53
52
  return `${this.toFixed(digits)}${withSymbol ? " " + this.symbol : ""}`;
@@ -99,13 +98,13 @@ class Token extends types_1.ContractWrapper {
99
98
  this.symbol = symbol;
100
99
  this.decimals = decimals;
101
100
  this.isMock = isMock;
102
- this.contractFactory = typechain_2.IERC20__factory;
101
+ this.contractFactory = typechain_1.IERC20__factory;
103
102
  }
104
103
  async faucet() {
105
104
  if (!this.isMock) {
106
105
  throw Error("Can not use faucet on non-mock token");
107
106
  }
108
- return typechain_1.MockERC20__factory.connect(this.address, this.signer).faucet();
107
+ return typechain_1.IERC20__factory.connect(this.address, this.signer).faucet();
109
108
  }
110
109
  getAmount(amount) {
111
110
  return new TokenAmount(toBn(amount), this);
@@ -114,19 +113,19 @@ class Token extends types_1.ContractWrapper {
114
113
  const bnAmount = (0, utils_1.parseUnits)(amount.toString(), this.decimals);
115
114
  return this.getAmount(bnAmount);
116
115
  }
117
- static fromTokenMetadataStruct(metadata, provider) {
116
+ static fromTokenMetadata(metadata, provider) {
118
117
  return new Token(metadata.token, metadata.name, metadata.symbol, metadata.decimals.toNumber(), metadata.isMock, provider);
119
118
  }
120
119
  static async getTokenData(token, provider) {
121
120
  const lens = (0, constants_1.getLensContract)(provider);
122
121
  const metadata = await lens.getTokenInfo(token);
123
- return Token.fromTokenMetadataStruct(metadata, provider);
122
+ return Token.fromTokenMetadata(metadata, provider);
124
123
  }
125
124
  static async getTokensData(tokens, provider) {
126
125
  const lens = (0, constants_1.getLensContract)(provider);
127
126
  return lens
128
127
  .getTokensInfo(tokens)
129
- .then((metadata) => metadata.map((m) => Token.fromTokenMetadataStruct(m, provider)));
128
+ .then((metadata) => metadata.map((m) => Token.fromTokenMetadata(m, provider)));
130
129
  }
131
130
  }
132
131
  exports.Token = Token;
package/dist/token.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":";;;AAAA,mCAAsE;AACtE,4CAA8C;AAC9C,2CAAiF;AACjF,mCAA4D;AAC5D,2CAA8C;AAC9C,mCAAwC;AAGxC,MAAM,IAAI,GAAG,CAAC,MAAiB,EAAa,EAAE;IAC5C,IAAI,MAAM,YAAY,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC,GAAG,CAAC;KACnB;IACD,OAAO,kBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAG,OAAsB,EAAe,EAAE;IACvE,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KAC1C;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,cAAc,GAAG,CAAC,GAAG,OAAsB,EAAe,EAAE;IACvE,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KAC1C;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEF,MAAa,WAAW;IACtB,YAAmB,GAAc,EAAS,KAAY;QAAnC,QAAG,GAAH,GAAG,CAAW;QAAS,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAE1D,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ;QAC5B,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAoB;QACjD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,EAAE,CAAC,MAAiB;QAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,EAAE,CAAC,MAAiB;QAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,MAAiB;QACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,MAAiB;QACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,EAAE,CAAC,MAAiB;QAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,MAAiB;QACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,MAAiB;QACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAiB;QACtB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACnB,MAAM,CAAC,GAAG,MAAM,CAAC;QACjB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;CACF;AAnED,kCAmEC;AAED,MAAa,KAAM,SAAQ,uBAAuB;IAGhD,YACS,OAAe,EACf,IAAY,EACZ,MAAc,EACd,QAAgB,EAChB,MAAe,EACtB,QAA0B;QAE1B,KAAK,CAAC,QAAQ,CAAC,CAAC;QAPT,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAS;QAPf,oBAAe,GAAG,2BAAe,CAAC;IAW3C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACrD;QACD,OAAO,2BAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IACrE,CAAC;IAED,SAAS,CAAC,MAAiB;QACzB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,MAAuB;QACjC,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,QAAmC,EAAE,QAA0B;QACtF,OAAO,IAAI,KAAK,CACd,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAC5B,QAAQ,CAAC,MAAM,EACf,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,QAA0B;QACjE,MAAM,IAAI,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAgB,EAAE,QAA0B;QACrE,MAAM,IAAI,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI;aACR,aAAa,CAAC,MAAM,CAAC;aACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;CACF;AArDD,sBAqDC"}