@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
@@ -0,0 +1,107 @@
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 Total debts of the market without subtracting assets */
60
+ get totalDebts(): TokenAmount;
61
+ get outstandingDebt(): TokenAmount;
62
+ /** @returns Amount of assets borrower must deposit to not be delinquent */
63
+ get delinquentDebt(): TokenAmount;
64
+ get outstandingTotalSupply(): TokenAmount;
65
+ /** @returns Address of underlying token */
66
+ get asset(): string;
67
+ /** @returns Percentage of the interest fee that goes to the protocol */
68
+ get protocolFee(): number;
69
+ /** @returns Percentage fee added to base interest rate when delinquency exceeds grace period */
70
+ get penaltyFee(): number;
71
+ /** @returns Percentage of total assets that must be held in reserve */
72
+ get collateralization(): CollateralizationInfo;
73
+ get normalizedPendingWithdrawals(): TokenAmount;
74
+ /** @returns Whether the borrower can change the APR */
75
+ get canReduceAPR(): boolean;
76
+ update(): Promise<void>;
77
+ /**
78
+ * @returns Balance of an account in both market and underlying tokens,
79
+ * as well as the amount of underlying tokens approved for the market.
80
+ */
81
+ getAccount(account?: string): Promise<MarketAccount>;
82
+ getWithdrawalsByLender(lender: string): Promise<LenderWithdrawalStatus[]>;
83
+ getWithdrawalsByExpiry(expiry: number): Promise<LenderWithdrawalStatus[]>;
84
+ static fromMarketData(data: MarketDataStructOutput, provider: SignerOrProvider): Market;
85
+ updateWith(data: MarketDataStructOutput): void;
86
+ /**
87
+ * @returns `Market` instance for `market`
88
+ */
89
+ static getMarket(market: string, provider: SignerOrProvider): Promise<Market>;
90
+ /**
91
+ * @returns `Market` instances for `markets`
92
+ */
93
+ static getMarkets(markets: string[], provider: SignerOrProvider): Promise<Market[]>;
94
+ /**
95
+ * @return All deployed markets
96
+ */
97
+ static getAllMarkets(provider: SignerOrProvider): Promise<Market[]>;
98
+ /**
99
+ * @dev Get a paginated list of deployed markets.
100
+ */
101
+ static getPaginatedMarkets(provider: SignerOrProvider, start: number | undefined, count: number): Promise<Market[]>;
102
+ /**
103
+ * @return Total number of deployed markets.
104
+ */
105
+ static getMarketsCount(provider: SignerOrProvider): Promise<number>;
106
+ }
107
+ //# 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,265 @@
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 Total debts of the market without subtracting assets */
92
+ get totalDebts() {
93
+ return this.normalizedUnclaimedWithdrawals
94
+ .add(this.totalSupply.raw)
95
+ .add(this.lastAccruedProtocolFees);
96
+ }
97
+ get outstandingDebt() {
98
+ return this.totalDebts.satsub(this.totalAssets);
99
+ }
100
+ /** @returns Amount of assets borrower must deposit to not be delinquent */
101
+ get delinquentDebt() {
102
+ return this.coverageLiquidity.satsub(this.totalAssets);
103
+ }
104
+ get outstandingTotalSupply() {
105
+ return this.totalSupply.sub(this.normalizedPendingWithdrawals);
106
+ }
107
+ /** @returns Address of underlying token */
108
+ get asset() {
109
+ return this.underlyingToken.address;
110
+ }
111
+ /** @returns Percentage of the interest fee that goes to the protocol */
112
+ get protocolFee() {
113
+ return this.protocolFeeBips / 100;
114
+ }
115
+ /** @returns Percentage fee added to base interest rate when delinquency exceeds grace period */
116
+ get penaltyFee() {
117
+ return this.delinquencyFeeBips / 100;
118
+ }
119
+ /** @returns Percentage of total assets that must be held in reserve */
120
+ get collateralization() {
121
+ const targetRatio = this.reserveRatioBips / 100;
122
+ const actualRatio = this.totalSupply.eq(0)
123
+ ? 100
124
+ : +(0, utils_1.formatUnits)(this.totalAssets.raw.mul(constants_2.RAY).div(this.totalSupply.raw), 25);
125
+ if (this.temporaryReserveRatio) {
126
+ return {
127
+ targetRatio,
128
+ actualRatio,
129
+ isTemporary: true,
130
+ originalTargetRatio: this.originalReserveRatioBips / 100,
131
+ temporaryExpiry: this.temporaryReserveRatioExpiry
132
+ };
133
+ }
134
+ return { targetRatio, actualRatio };
135
+ }
136
+ get normalizedPendingWithdrawals() {
137
+ return this.underlyingToken.getAmount((0, math_1.rayMul)(this.scaledPendingWithdrawals, this.scaleFactor));
138
+ }
139
+ /** @returns Whether the borrower can change the APR */
140
+ get canReduceAPR() {
141
+ return this.collateralization.actualRatio >= 90;
142
+ }
143
+ async update() {
144
+ const market = await (0, constants_1.getLensContract)(this.provider).getMarketData(this.address);
145
+ // updateObject(this, market, Market.UpdatableKeys);
146
+ this.updateWith(market);
147
+ }
148
+ /**
149
+ * @returns Balance of an account in both market and underlying tokens,
150
+ * as well as the amount of underlying tokens approved for the market.
151
+ */
152
+ async getAccount(account) {
153
+ if (!account) {
154
+ account = await this.signer.getAddress();
155
+ }
156
+ return account_1.MarketAccount.getMarketAccount(this.provider, account, this);
157
+ }
158
+ async getWithdrawalsByLender(lender) {
159
+ return withdrawal_status_1.LenderWithdrawalStatus.getAllWithdrawalsForLender(this, lender);
160
+ }
161
+ async getWithdrawalsByExpiry(expiry) {
162
+ return withdrawal_status_1.LenderWithdrawalStatus.getAllWithdrawalsInBatch(this, expiry);
163
+ }
164
+ static fromMarketData(data, provider) {
165
+ const marketToken = token_1.Token.fromTokenMetadata(data.marketToken, provider);
166
+ const underlyingToken = token_1.Token.fromTokenMetadata(data.underlyingToken, provider);
167
+ 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);
168
+ }
169
+ updateWith(data) {
170
+ this.feeRecipient = data.feeRecipient;
171
+ this.protocolFeeBips = data.protocolFeeBips.toNumber();
172
+ this.delinquencyFeeBips = data.delinquencyFeeBips.toNumber();
173
+ this.delinquencyGracePeriod = data.delinquencyGracePeriod.toNumber();
174
+ this.reserveRatioBips = data.reserveRatioBips.toNumber();
175
+ this.annualInterestBips = data.annualInterestBips.toNumber();
176
+ this.temporaryReserveRatio = data.temporaryReserveRatio;
177
+ this.originalReserveRatioBips = data.originalReserveRatioBips.toNumber();
178
+ this.temporaryReserveRatioExpiry = data.temporaryReserveRatioExpiry.toNumber();
179
+ this.isClosed = data.isClosed;
180
+ this.scaleFactor = data.scaleFactor;
181
+ this.totalSupply = this.marketToken.getAmount(data.totalSupply);
182
+ this.maxTotalSupply = this.marketToken.getAmount(data.maxTotalSupply);
183
+ this.scaledTotalSupply = data.scaledTotalSupply;
184
+ this.totalAssets = this.underlyingToken.getAmount(data.totalAssets);
185
+ this.lastAccruedProtocolFees = this.underlyingToken.getAmount(data.lastAccruedProtocolFees);
186
+ this.normalizedUnclaimedWithdrawals = this.underlyingToken.getAmount(data.normalizedUnclaimedWithdrawals);
187
+ this.scaledPendingWithdrawals = data.scaledPendingWithdrawals;
188
+ this.pendingWithdrawalExpiry = data.pendingWithdrawalExpiry.toNumber();
189
+ this.isDelinquent = data.isDelinquent;
190
+ this.timeDelinquent = data.timeDelinquent.toNumber();
191
+ this.lastInterestAccruedTimestamp = data.lastInterestAccruedTimestamp.toNumber();
192
+ this.unpaidWithdrawalBatchExpiries = data.unpaidWithdrawalBatchExpiries;
193
+ this.coverageLiquidity = this.underlyingToken.getAmount(data.coverageLiquidity);
194
+ this.borrowableAssets = this.underlyingToken.getAmount(data.borrowableAssets);
195
+ }
196
+ /**
197
+ * @returns `Market` instance for `market`
198
+ */
199
+ static async getMarket(market, provider) {
200
+ const lens = (0, constants_1.getLensContract)(provider);
201
+ const data = await lens.getMarketData(market);
202
+ return Market.fromMarketData(data, provider);
203
+ }
204
+ /**
205
+ * @returns `Market` instances for `markets`
206
+ */
207
+ static async getMarkets(markets, provider) {
208
+ const lens = (0, constants_1.getLensContract)(provider);
209
+ const data = await lens.getMarketsData(markets);
210
+ return data.map((market) => Market.fromMarketData(market, provider));
211
+ }
212
+ /**
213
+ * @return All deployed markets
214
+ */
215
+ static async getAllMarkets(provider) {
216
+ const lens = (0, constants_1.getLensContract)(provider);
217
+ return lens
218
+ .getAllMarketsData()
219
+ .then((data) => data.map((market) => Market.fromMarketData(market, provider)));
220
+ }
221
+ /**
222
+ * @dev Get a paginated list of deployed markets.
223
+ */
224
+ static async getPaginatedMarkets(provider, start = 0, count) {
225
+ const lens = (0, constants_1.getLensContract)(provider);
226
+ return lens
227
+ .getPaginatedMarketsData(start, count)
228
+ .then((data) => data.map((market) => Market.fromMarketData(market, provider)));
229
+ }
230
+ /**
231
+ * @return Total number of deployed markets.
232
+ */
233
+ static async getMarketsCount(provider) {
234
+ const lens = (0, constants_1.getLensContract)(provider);
235
+ return lens.getMarketsCount().then((count) => count.toNumber());
236
+ }
237
+ }
238
+ Market.UpdatableKeys = [
239
+ "marketToken",
240
+ "underlyingToken",
241
+ "borrower",
242
+ "controller",
243
+ "feeRecipient",
244
+ "protocolFeeBips",
245
+ "delinquencyFeeBips",
246
+ "delinquencyGracePeriod",
247
+ "annualInterestBips",
248
+ "reserveRatioBips",
249
+ "temporaryReserveRatio",
250
+ "originalReserveRatioBips",
251
+ "temporaryReserveRatioExpiry",
252
+ "borrowableAssets",
253
+ "maxTotalSupply",
254
+ "scaledTotalSupply",
255
+ "totalSupply",
256
+ "totalAssets",
257
+ "coverageLiquidity",
258
+ "scaleFactor",
259
+ "lastAccruedProtocolFees",
260
+ "isDelinquent",
261
+ "timeDelinquent",
262
+ "lastInterestAccruedTimestamp"
263
+ ];
264
+ exports.Market = Market;
265
+ //# 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,8 +1,8 @@
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;
5
+ export declare const toBn: (amount: RhsAmount) => BigNumber;
6
6
  export declare const maxTokenAmount: (...amounts: TokenAmount[]) => TokenAmount;
7
7
  export declare const minTokenAmount: (...amounts: TokenAmount[]) => TokenAmount;
8
8
  export declare class TokenAmount {
@@ -34,7 +34,7 @@ export declare class Token extends ContractWrapper<IERC20> {
34
34
  faucet(): Promise<ContractTransaction>;
35
35
  getAmount(amount: RhsAmount): TokenAmount;
36
36
  parseAmount(amount: number | string): TokenAmount;
37
- static fromTokenMetadataStruct(metadata: TokenMetadataStructOutput, provider: SignerOrProvider): Token;
37
+ static fromTokenMetadata(metadata: TokenMetadataStructOutput, provider: SignerOrProvider): Token;
38
38
  static getTokenData(token: string, provider: SignerOrProvider): Promise<Token>;
39
39
  static getTokensData(tokens: string[], provider: SignerOrProvider): Promise<Token[]>;
40
40
  }
@@ -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;AAC5C,eAAO,MAAM,IAAI,WAAY,SAAS,KAAG,SAKxC,CAAC;AAEF,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
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Token = exports.TokenAmount = exports.minTokenAmount = exports.maxTokenAmount = void 0;
3
+ exports.Token = exports.TokenAmount = exports.minTokenAmount = exports.maxTokenAmount = exports.toBn = void 0;
4
4
  const ethers_1 = require("ethers");
5
5
  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;
14
13
  }
15
14
  return ethers_1.BigNumber.from(amount);
16
15
  };
16
+ exports.toBn = toBn;
17
17
  const maxTokenAmount = (...amounts) => {
18
18
  let max = amounts[0];
19
19
  for (let i = 1; i < amounts.length; i++) {
@@ -47,41 +47,41 @@ class TokenAmount {
47
47
  return this.token.decimals;
48
48
  }
49
49
  toFixed(digits = this.decimals) {
50
- return (0, misc_1.formatBnFixed)(this.raw, this.decimals, digits);
50
+ return (0, utils_2.formatBnFixed)(this.raw, this.decimals, digits);
51
51
  }
52
52
  format(digits = this.decimals, withSymbol) {
53
53
  return `${this.toFixed(digits)}${withSymbol ? " " + this.symbol : ""}`;
54
54
  }
55
55
  gt(amount) {
56
- amount = toBn(amount);
56
+ amount = (0, exports.toBn)(amount);
57
57
  return this.raw.gt(amount);
58
58
  }
59
59
  lt(amount) {
60
- amount = toBn(amount);
60
+ amount = (0, exports.toBn)(amount);
61
61
  return this.raw.lt(amount);
62
62
  }
63
63
  lte(amount) {
64
- amount = toBn(amount);
64
+ amount = (0, exports.toBn)(amount);
65
65
  return this.raw.lte(amount);
66
66
  }
67
67
  gte(amount) {
68
- amount = toBn(amount);
68
+ amount = (0, exports.toBn)(amount);
69
69
  return this.raw.gte(amount);
70
70
  }
71
71
  eq(amount) {
72
- amount = toBn(amount);
72
+ amount = (0, exports.toBn)(amount);
73
73
  return this.raw.eq(amount);
74
74
  }
75
75
  add(amount) {
76
- amount = toBn(amount);
76
+ amount = (0, exports.toBn)(amount);
77
77
  return this.token.getAmount(this.raw.add(amount));
78
78
  }
79
79
  sub(amount) {
80
- amount = toBn(amount);
80
+ amount = (0, exports.toBn)(amount);
81
81
  return this.token.getAmount(this.raw.sub(amount));
82
82
  }
83
83
  satsub(amount) {
84
- amount = toBn(amount);
84
+ amount = (0, exports.toBn)(amount);
85
85
  const a = this.raw;
86
86
  const b = amount;
87
87
  if (a.lt(b)) {
@@ -99,34 +99,34 @@ class Token extends types_1.ContractWrapper {
99
99
  this.symbol = symbol;
100
100
  this.decimals = decimals;
101
101
  this.isMock = isMock;
102
- this.contractFactory = typechain_2.IERC20__factory;
102
+ this.contractFactory = typechain_1.IERC20__factory;
103
103
  }
104
104
  async faucet() {
105
105
  if (!this.isMock) {
106
106
  throw Error("Can not use faucet on non-mock token");
107
107
  }
108
- return typechain_1.MockERC20__factory.connect(this.address, this.signer).faucet();
108
+ return typechain_1.IERC20__factory.connect(this.address, this.signer).faucet();
109
109
  }
110
110
  getAmount(amount) {
111
- return new TokenAmount(toBn(amount), this);
111
+ return new TokenAmount((0, exports.toBn)(amount), this);
112
112
  }
113
113
  parseAmount(amount) {
114
114
  const bnAmount = (0, utils_1.parseUnits)(amount.toString(), this.decimals);
115
115
  return this.getAmount(bnAmount);
116
116
  }
117
- static fromTokenMetadataStruct(metadata, provider) {
117
+ static fromTokenMetadata(metadata, provider) {
118
118
  return new Token(metadata.token, metadata.name, metadata.symbol, metadata.decimals.toNumber(), metadata.isMock, provider);
119
119
  }
120
120
  static async getTokenData(token, provider) {
121
121
  const lens = (0, constants_1.getLensContract)(provider);
122
122
  const metadata = await lens.getTokenInfo(token);
123
- return Token.fromTokenMetadataStruct(metadata, provider);
123
+ return Token.fromTokenMetadata(metadata, provider);
124
124
  }
125
125
  static async getTokensData(tokens, provider) {
126
126
  const lens = (0, constants_1.getLensContract)(provider);
127
127
  return lens
128
128
  .getTokensInfo(tokens)
129
- .then((metadata) => metadata.map((m) => Token.fromTokenMetadataStruct(m, provider)));
129
+ .then((metadata) => metadata.map((m) => Token.fromTokenMetadata(m, provider)));
130
130
  }
131
131
  }
132
132
  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":"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"}