curvance 1.0.23 → 1.0.25

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 (60) hide show
  1. package/dist/abis/BaseCToken.json +13 -10
  2. package/dist/abis/BorrowableCToken.json +13 -10
  3. package/dist/abis/MarketManagerIsolated.json +43 -123
  4. package/dist/abis/ProtocolReader.json +92 -9
  5. package/dist/abis/RedstoneCoreAdaptor.json +32 -5
  6. package/dist/abis/SimpleZapper.json +411 -0
  7. package/dist/chains/index.d.ts +22 -10
  8. package/dist/chains/index.d.ts.map +1 -1
  9. package/dist/chains/monad-testnet.json +83 -71
  10. package/dist/classes/BorrowableCToken.d.ts +51 -0
  11. package/dist/classes/BorrowableCToken.d.ts.map +1 -0
  12. package/dist/classes/BorrowableCToken.js +113 -0
  13. package/dist/classes/BorrowableCToken.js.map +1 -0
  14. package/dist/classes/CToken.d.ts +46 -74
  15. package/dist/classes/CToken.d.ts.map +1 -1
  16. package/dist/classes/CToken.js +196 -138
  17. package/dist/classes/CToken.js.map +1 -1
  18. package/dist/classes/Calldata.d.ts +12 -0
  19. package/dist/classes/Calldata.d.ts.map +1 -0
  20. package/dist/classes/Calldata.js +19 -0
  21. package/dist/classes/Calldata.js.map +1 -0
  22. package/dist/classes/ERC20.d.ts +3 -3
  23. package/dist/classes/ERC20.d.ts.map +1 -1
  24. package/dist/classes/ERC20.js +5 -2
  25. package/dist/classes/ERC20.js.map +1 -1
  26. package/dist/classes/Faucet.d.ts +2 -1
  27. package/dist/classes/Faucet.d.ts.map +1 -1
  28. package/dist/classes/Faucet.js +11 -1
  29. package/dist/classes/Faucet.js.map +1 -1
  30. package/dist/classes/Market.d.ts +107 -13
  31. package/dist/classes/Market.d.ts.map +1 -1
  32. package/dist/classes/Market.js +122 -16
  33. package/dist/classes/Market.js.map +1 -1
  34. package/dist/classes/OracleManager.d.ts +1 -1
  35. package/dist/classes/OracleManager.d.ts.map +1 -1
  36. package/dist/classes/OracleManager.js +2 -1
  37. package/dist/classes/OracleManager.js.map +1 -1
  38. package/dist/classes/ProtocolReader.d.ts +21 -20
  39. package/dist/classes/ProtocolReader.d.ts.map +1 -1
  40. package/dist/classes/ProtocolReader.js +9 -5
  41. package/dist/classes/ProtocolReader.js.map +1 -1
  42. package/dist/classes/Redstone.d.ts +3 -2
  43. package/dist/classes/Redstone.d.ts.map +1 -1
  44. package/dist/classes/Redstone.js +3 -3
  45. package/dist/classes/Redstone.js.map +1 -1
  46. package/dist/classes/Zapper.d.ts +28 -0
  47. package/dist/classes/Zapper.d.ts.map +1 -0
  48. package/dist/classes/Zapper.js +52 -0
  49. package/dist/classes/Zapper.js.map +1 -0
  50. package/dist/helpers.d.ts +34 -11
  51. package/dist/helpers.d.ts.map +1 -1
  52. package/dist/helpers.js +30 -16
  53. package/dist/helpers.js.map +1 -1
  54. package/dist/setup.d.ts +18 -3
  55. package/dist/setup.d.ts.map +1 -1
  56. package/dist/setup.js +31 -14
  57. package/dist/setup.js.map +1 -1
  58. package/dist/types.d.ts +20 -2
  59. package/dist/types.d.ts.map +1 -1
  60. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Faucet.d.ts","sourceRoot":"","sources":["../../src/classes/Faucet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,WAAW,OAAO;IACpB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzD;AAED,qBAAa,MAAM;IACf,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;gBAEjB,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAWnD,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;IAIzC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAWjD,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE;;;IAYjC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;CAG/B"}
1
+ {"version":3,"file":"Faucet.d.ts","sourceRoot":"","sources":["../../src/classes/Faucet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGtD,MAAM,WAAW,OAAO;IACpB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzD;AAED,qBAAa,MAAM;IACf,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAE7B,aAAa,WAQX;gBAEU,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAE,iBAAyC;IAW3E,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;IAIzC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAWjD,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE;;;IAYjC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;CAG/B"}
@@ -2,11 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Faucet = void 0;
4
4
  const helpers_1 = require("../helpers");
5
+ const setup_1 = require("../setup");
5
6
  class Faucet {
6
7
  provider;
7
8
  address;
8
9
  contract;
9
- constructor(provider, address) {
10
+ token_symbols = [
11
+ "USDC",
12
+ "WBTC",
13
+ "SWETH",
14
+ "LUSD",
15
+ "mkUSD",
16
+ "mETH",
17
+ "mUSD"
18
+ ];
19
+ constructor(address, provider = setup_1.setup_config.provider) {
10
20
  this.provider = provider;
11
21
  this.address = address;
12
22
  this.contract = (0, helpers_1.contractSetup)(provider, this.address, [
@@ -1 +1 @@
1
- {"version":3,"file":"Faucet.js","sourceRoot":"","sources":["../../src/classes/Faucet.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAY3C,MAAa,MAAM;IACf,QAAQ,CAAoB;IAC5B,OAAO,CAAU;IACjB,QAAQ,CAAqB;IAE7B,YAAY,QAA2B,EAAE,OAAgB;QACrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAU,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YAC3D,8EAA8E;YAC9E,oFAAoF;YACpF,kEAAkE;YAClE,0CAA0C;SAC7C,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAa,EAAE,KAAc;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAa,EAAE,MAAiB;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAElE,IAAI,WAAW,GAAW,EAAE,CAAC;QAC7B,KAAI,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAiB;QACnC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,GAAG,GAAgC,EAAE,CAAC;QAC1C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;YACnC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACJ;AA9CD,wBA8CC"}
1
+ {"version":3,"file":"Faucet.js","sourceRoot":"","sources":["../../src/classes/Faucet.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAI3C,oCAAwC;AASxC,MAAa,MAAM;IACf,QAAQ,CAAoB;IAC5B,OAAO,CAAU;IACjB,QAAQ,CAAqB;IAE7B,aAAa,GAAG;QACZ,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;KACT,CAAC;IAEF,YAAY,OAAgB,EAAE,WAA8B,oBAAY,CAAC,QAAQ;QAC7E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAU,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YAC3D,8EAA8E;YAC9E,oFAAoF;YACpF,kEAAkE;YAClE,0CAA0C;SAC7C,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAa,EAAE,KAAc;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAa,EAAE,MAAiB;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAElE,IAAI,WAAW,GAAW,EAAE,CAAC;QAC7B,KAAI,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAiB;QACnC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,GAAG,GAAgC,EAAE,CAAC;QAC1C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;YACnC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACJ;AAxDD,wBAwDC"}
@@ -1,15 +1,19 @@
1
1
  import { ChangeRate } from "../helpers";
2
2
  import { Contract } from "ethers";
3
3
  import { DynamicMarketData, ProtocolReader, StaticMarketData, UserMarket } from "./ProtocolReader";
4
- import { BorrowableCToken, CToken } from "./CToken";
4
+ import { CToken } from "./CToken";
5
5
  import { Decimal } from "decimal.js";
6
- import { address, curvance_provider, TokenInput, USD } from "../types";
6
+ import { address, curvance_provider, Percentage, TokenInput, USD } from "../types";
7
7
  import { OracleManager } from "./OracleManager";
8
+ import { BorrowableCToken } from "./BorrowableCToken";
9
+ export type MarketToken = CToken | BorrowableCToken;
8
10
  export interface Plugins {
9
11
  simplePositionManager?: address;
10
- vaultPositionManager?: address;
11
12
  simpleZapper?: address;
13
+ vaultPositionManager?: address;
12
14
  vaultZapper?: address;
15
+ nativeVaultPositionManager?: address;
16
+ nativeVaultZapper?: address;
13
17
  }
14
18
  export interface StatusOf {
15
19
  collateral: bigint;
@@ -54,7 +58,9 @@ export declare class Market {
54
58
  deploy: DeployData;
55
59
  };
56
60
  constructor(provider: curvance_provider, static_data: StaticMarketData, dynamic_data: DynamicMarketData, user_data: UserMarket, deploy_data: DeployData, oracle_manager: OracleManager, reader: ProtocolReader);
61
+ /** @returns {string} - The name of the market at deployment. */
57
62
  get name(): string;
63
+ /** @returns {Plugins} - The address of the market's plugins by deploy name. */
58
64
  get plugins(): Plugins;
59
65
  /** @returns {bigint} - The length of the cooldown period in seconds. */
60
66
  get cooldownLength(): bigint;
@@ -68,9 +74,11 @@ export declare class Market {
68
74
  get userDebt(): Decimal;
69
75
  /** @returns {Decimal} - The user's maximum debt in USD. */
70
76
  get userMaxDebt(): Decimal;
77
+ /** @returns {Decimal} - The user's remaining credit in USD or in the token amount */
78
+ get userRemainingCredit(): USD;
71
79
  /**
72
80
  * Get the user's position health.
73
- * @returns {Decimal | null} - The user's position health percentage or null if infinity
81
+ * @returns {Decimal | null} - The user's position health Percentage or null if infinity
74
82
  */
75
83
  get positionHealth(): Decimal | null;
76
84
  /**
@@ -83,13 +91,21 @@ export declare class Market {
83
91
  * @returns {Decimal} - The user's net position in USD.
84
92
  */
85
93
  get userNet(): Decimal;
94
+ /** @returns Market LTV */
86
95
  get ltv(): string | {
87
96
  min: Decimal;
88
97
  max: Decimal;
89
98
  };
99
+ /** @returns Total market deposits */
90
100
  get tvl(): Decimal;
101
+ /** @returns Total market debt */
91
102
  get totalDebt(): Decimal;
103
+ /** @returns Total market collateral */
92
104
  get totalCollateral(): Decimal;
105
+ /**
106
+ * Returns what tokens eligible and ineligible to borrow from
107
+ * @returns What tokens can and cannot be borrowed from
108
+ */
93
109
  getBorrowableCTokens(): {
94
110
  eligible: BorrowableCToken[];
95
111
  ineligible: BorrowableCToken[];
@@ -112,41 +128,119 @@ export declare class Market {
112
128
  * @returns The total user net change (ex: 50, which would be $50/day)
113
129
  */
114
130
  getUserNetChange(rate: ChangeRate): Decimal;
115
- highestApy(): Decimal;
131
+ /**
132
+ * Searchs through all tokens and finds highest APY
133
+ * @returns The highest APY among all tokens
134
+ */
135
+ highestApy(): Percentage;
136
+ /**
137
+ * Does this market have the ability to borrow
138
+ * @returns True if borrowing is allowed, false otherwise
139
+ */
116
140
  hasBorrowing(): boolean;
141
+ /**
142
+ * Gets the market status of
143
+ * @param account - Wallet address
144
+ * @returns collateral, max debt, debt for the market
145
+ */
117
146
  statusOf(account: address): Promise<{
118
147
  collateral: bigint;
119
148
  maxDebt: bigint;
120
149
  debt: bigint;
121
150
  }>;
122
- previewAssetImpact(user: address, collateral_ctoken: CToken, debt_ctoken: BorrowableCToken, deposit_amount: TokenInput, borrow_amount: TokenInput): Promise<{
123
- supply: bigint;
124
- borrow: bigint;
125
- earn: bigint;
151
+ /**
152
+ * Preview the impact of the user descision for their deposit/borrow/leverage
153
+ * @param user - Wallet address
154
+ * @param collateral_ctoken - The collateral token
155
+ * @param debt_ctoken - The debt token
156
+ * @param deposit_amount - The colalteral amount
157
+ * @param borrow_amount - The debt amount
158
+ * @returns Supply, borrow & earn rates
159
+ */
160
+ previewAssetImpact(user: address, collateral_ctoken: CToken, debt_ctoken: BorrowableCToken, deposit_amount: TokenInput, borrow_amount: TokenInput, rate_change: ChangeRate): Promise<{
161
+ supply: {
162
+ percent: Decimal;
163
+ change: Decimal;
164
+ };
165
+ borrow: {
166
+ percent: Decimal;
167
+ change: Decimal;
168
+ };
169
+ earn: {
170
+ percent: Decimal;
171
+ change: Decimal;
172
+ };
126
173
  }>;
174
+ /**
175
+ * Grabs the new position health when doing a deposit
176
+ * @param ctoken - Token you are expecting to deposit on
177
+ * @param collateral_change - Amount of new collateral in USD
178
+ * @returns The new position health
179
+ */
127
180
  previewPositionHealthDeposit(ctoken: CToken, collateral_change: USD): Promise<Decimal | null>;
181
+ /**
182
+ * Grabs the new position health when doing a borrow
183
+ * @param debt_change - Amount of new debt in USD
184
+ * @returns The new position health
185
+ */
128
186
  previewPositionHealthBorrow(debt_change: USD): Promise<Decimal | null>;
187
+ /**
188
+ * Get liquidation values of for a given user
189
+ * @param account - user
190
+ * @returns The liquidation values of the user
191
+ */
129
192
  liquidationValuesOf(account: address): Promise<{
130
193
  soft: bigint;
131
194
  hard: bigint;
132
195
  debt: bigint;
133
196
  }>;
197
+ /**
198
+ * Grab the current liquidation status of
199
+ * @param account - Account you wanna check liquidation status of on
200
+ * @param collateralToken - What token to use as collateral
201
+ * @param debtToken - What token to use as debt
202
+ * @returns The liquidation status of the account
203
+ */
134
204
  liquidationStatusOf(account: address, collateralToken: address, debtToken: address): Promise<{
135
205
  lFactor: bigint;
136
206
  collateralPrice: bigint;
137
207
  debtPrice: bigint;
138
208
  }>;
209
+ /**
210
+ * Grabs the new liquidity values based on changes
211
+ * @param account - The user's account address
212
+ * @param cTokenModified - The ctoken you are modifiying
213
+ * @param redemptionShares - Shares being redeemed
214
+ * @param borrowAssets - Amount of assets being borrowed
215
+ * @returns An object containing the hypothetical liquidity values
216
+ */
139
217
  hypotheticalLiquidityOf(account: address, cTokenModified: address, redemptionShares: bigint, borrowAssets: bigint): Promise<{
140
218
  collateralSurplus: bigint;
141
219
  liquidityDeficit: bigint;
142
220
  positionsToClose: boolean[];
143
221
  }>;
222
+ /**
223
+ * Fetch the expiration date of a user's cooldown period
224
+ * @param account - The user's account address
225
+ * @param fetch - Whether to fetch the cooldown length from the contract
226
+ * @returns The expiration date of the cooldown period or null if not in cooldown
227
+ */
144
228
  expiresAt(account: address, fetch?: boolean): Promise<Date | null>;
145
- multiHoldExpiresAt(markets: Market[], reader: ProtocolReader): Promise<{
229
+ /**
230
+ * Fetch multiple market cooldown expirations
231
+ * @param markets - Markets you want to search
232
+ * @returns An object mapping market addresses to their cooldown expiration dates OR null if its not in cooldown
233
+ */
234
+ multiHoldExpiresAt(markets: Market[]): Promise<{
146
235
  [address: `0x${string}`]: Date | null;
147
236
  }>;
148
- static getAll(provider: curvance_provider, reader: ProtocolReader, oracle_manager: OracleManager, all_deploy_data: {
149
- [key: string]: any;
150
- }): Promise<Market[]>;
237
+ /**
238
+ * Grab all the markets available and set them up using the protocol reader efficient RPC calls / API cached calls
239
+ * @param reader - instace of the ProtocolReader class
240
+ * @param oracle_manager - instance of the OracleManager class
241
+ * @param provider - The RPC provider
242
+ * @returns An array of Market instances setup with protocol reader data
243
+ */
244
+ static getAll(reader: ProtocolReader, oracle_manager: OracleManager, provider?: curvance_provider): Promise<Market[]>;
151
245
  }
152
246
  //# sourceMappingURL=Market.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Market.d.ts","sourceRoot":"","sources":["../../src/classes/Market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Market.d.ts","sourceRoot":"","sources":["../../src/classes/Market.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ const helpers_1 = require("../helpers");
8
8
  const CToken_1 = require("./CToken");
9
9
  const MarketManagerIsolated_json_1 = __importDefault(require("../abis/MarketManagerIsolated.json"));
10
10
  const decimal_js_1 = require("decimal.js");
11
+ const setup_1 = require("../setup");
12
+ const BorrowableCToken_1 = require("./BorrowableCToken");
11
13
  class Market {
12
14
  provider;
13
15
  address;
@@ -32,7 +34,7 @@ class Market {
32
34
  ...user_data.tokens[i]
33
35
  };
34
36
  if (tokenData.isBorrowable) {
35
- const ctoken = new CToken_1.BorrowableCToken(provider, tokenData.address, tokenData, this);
37
+ const ctoken = new BorrowableCToken_1.BorrowableCToken(provider, tokenData.address, tokenData, this);
36
38
  this.tokens.push(ctoken);
37
39
  }
38
40
  else {
@@ -41,7 +43,9 @@ class Market {
41
43
  }
42
44
  }
43
45
  }
46
+ /** @returns {string} - The name of the market at deployment. */
44
47
  get name() { return this.cache.deploy.name; }
48
+ /** @returns {Plugins} - The address of the market's plugins by deploy name. */
45
49
  get plugins() { return this.cache.deploy.plugins ?? {}; }
46
50
  /** @returns {bigint} - The length of the cooldown period in seconds. */
47
51
  get cooldownLength() { return this.cache.static.cooldownLength; }
@@ -55,9 +59,14 @@ class Market {
55
59
  get userDebt() { return (0, helpers_1.toDecimal)(this.cache.user.debt, 18n); }
56
60
  /** @returns {Decimal} - The user's maximum debt in USD. */
57
61
  get userMaxDebt() { return (0, helpers_1.toDecimal)(this.cache.user.maxDebt, 18n); }
62
+ /** @returns {Decimal} - The user's remaining credit in USD or in the token amount */
63
+ get userRemainingCredit() {
64
+ const remaining = this.cache.user.maxDebt - this.cache.user.debt;
65
+ return (0, helpers_1.toDecimal)(remaining, 18n);
66
+ }
58
67
  /**
59
68
  * Get the user's position health.
60
- * @returns {Decimal | null} - The user's position health percentage or null if infinity
69
+ * @returns {Decimal | null} - The user's position health Percentage or null if infinity
61
70
  */
62
71
  get positionHealth() {
63
72
  return this.cache.user.positionHealth == helpers_1.UINT256_MAX ? null : (0, decimal_js_1.Decimal)(this.cache.user.positionHealth).div(helpers_1.WAD_DECIMAL);
@@ -80,6 +89,8 @@ class Market {
80
89
  get userNet() {
81
90
  return this.userDeposits.sub(this.userDebt);
82
91
  }
92
+ /** @returns Market LTV */
93
+ // TODO: This is probably wrong
83
94
  get ltv() {
84
95
  if (this.tokens.length === 0) {
85
96
  return { min: new decimal_js_1.Decimal(0), max: new decimal_js_1.Decimal(0) };
@@ -100,6 +111,7 @@ class Market {
100
111
  }
101
112
  return `${min.mul(100)}% - ${max.mul(100)}%`;
102
113
  }
114
+ /** @returns Total market deposits */
103
115
  get tvl() {
104
116
  let marketTvl = new decimal_js_1.Decimal(0);
105
117
  for (const token of this.tokens) {
@@ -107,6 +119,7 @@ class Market {
107
119
  }
108
120
  return marketTvl;
109
121
  }
122
+ /** @returns Total market debt */
110
123
  get totalDebt() {
111
124
  let marketDebt = new decimal_js_1.Decimal(0);
112
125
  for (const token of this.tokens) {
@@ -116,6 +129,7 @@ class Market {
116
129
  }
117
130
  return marketDebt;
118
131
  }
132
+ /** @returns Total market collateral */
119
133
  get totalCollateral() {
120
134
  let marketCollateral = new decimal_js_1.Decimal(0);
121
135
  for (const token of this.tokens) {
@@ -123,6 +137,10 @@ class Market {
123
137
  }
124
138
  return marketCollateral;
125
139
  }
140
+ /**
141
+ * Returns what tokens eligible and ineligible to borrow from
142
+ * @returns What tokens can and cannot be borrowed from
143
+ */
126
144
  getBorrowableCTokens() {
127
145
  const result = {
128
146
  eligible: [],
@@ -179,6 +197,10 @@ class Market {
179
197
  const debt = this.getUserDebtChange(rate);
180
198
  return earn.sub(debt);
181
199
  }
200
+ /**
201
+ * Searchs through all tokens and finds highest APY
202
+ * @returns The highest APY among all tokens
203
+ */
182
204
  highestApy() {
183
205
  let maxApy = new decimal_js_1.Decimal(0);
184
206
  for (const token of this.tokens) {
@@ -189,6 +211,10 @@ class Market {
189
211
  }
190
212
  return maxApy;
191
213
  }
214
+ /**
215
+ * Does this market have the ability to borrow
216
+ * @returns True if borrowing is allowed, false otherwise
217
+ */
192
218
  hasBorrowing() {
193
219
  let canBorrow = false;
194
220
  for (const token of this.tokens) {
@@ -199,6 +225,11 @@ class Market {
199
225
  }
200
226
  return canBorrow;
201
227
  }
228
+ /**
229
+ * Gets the market status of
230
+ * @param account - Wallet address
231
+ * @returns collateral, max debt, debt for the market
232
+ */
202
233
  async statusOf(account) {
203
234
  const data = await this.contract.statusOf(account);
204
235
  return {
@@ -207,26 +238,59 @@ class Market {
207
238
  debt: BigInt(data.debt)
208
239
  };
209
240
  }
210
- async previewAssetImpact(user, collateral_ctoken, debt_ctoken, deposit_amount, borrow_amount) {
241
+ /**
242
+ * Preview the impact of the user descision for their deposit/borrow/leverage
243
+ * @param user - Wallet address
244
+ * @param collateral_ctoken - The collateral token
245
+ * @param debt_ctoken - The debt token
246
+ * @param deposit_amount - The colalteral amount
247
+ * @param borrow_amount - The debt amount
248
+ * @returns Supply, borrow & earn rates
249
+ */
250
+ async previewAssetImpact(user, collateral_ctoken, debt_ctoken, deposit_amount, borrow_amount, rate_change) {
211
251
  const amount_in = (0, helpers_1.toBigInt)(deposit_amount.toNumber(), collateral_ctoken.decimals);
212
252
  const amount_out = (0, helpers_1.toBigInt)(borrow_amount.toNumber(), debt_ctoken.decimals);
213
- const preview = await this.reader.previewAssetImpact(user, collateral_ctoken.address, debt_ctoken.address, amount_in, amount_out);
253
+ const { supply, borrow } = await this.reader.previewAssetImpact(user, collateral_ctoken.address, debt_ctoken.address, amount_in, amount_out);
254
+ const supply_change = (0, decimal_js_1.Decimal)(supply * (0, helpers_1.getRateSeconds)(rate_change)).div(helpers_1.BPS);
255
+ const borrow_change = (0, decimal_js_1.Decimal)(borrow * (0, helpers_1.getRateSeconds)(rate_change)).div(helpers_1.BPS);
256
+ const amount_in_usd = collateral_ctoken.convertTokensToUsd(amount_in);
257
+ const amount_out_usd = debt_ctoken.convertTokensToUsd(amount_out);
214
258
  return {
215
- supply: preview.supply,
216
- borrow: preview.borrow,
217
- earn: preview.supply - preview.borrow
259
+ supply: {
260
+ percent: supply_change,
261
+ change: amount_in_usd.mul(supply_change)
262
+ },
263
+ borrow: {
264
+ percent: borrow_change,
265
+ change: amount_out_usd.mul(borrow_change)
266
+ },
267
+ earn: {
268
+ percent: supply_change.sub(borrow_change),
269
+ change: amount_in_usd.mul(supply_change).sub(amount_out_usd.mul(borrow_change))
270
+ }
218
271
  };
219
272
  }
273
+ /**
274
+ * Grabs the new position health when doing a deposit
275
+ * @param ctoken - Token you are expecting to deposit on
276
+ * @param collateral_change - Amount of new collateral in USD
277
+ * @returns The new position health
278
+ */
220
279
  async previewPositionHealthDeposit(ctoken, collateral_change) {
221
280
  const provider = (0, helpers_1.validateProviderAsSigner)(this.provider);
222
281
  const change = BigInt(collateral_change.mul(helpers_1.WAD_DECIMAL).toFixed(0));
223
282
  const liq = await this.liquidationValuesOf(provider.address);
224
- const impact = change / ctoken.getCollReqSoft(false) * helpers_1.WAD;
225
- const soft = liq.soft * helpers_1.WAD + impact;
283
+ const impact = change * helpers_1.BPS / ctoken.getCollReqSoft(false);
284
+ const soft = (liq.soft * helpers_1.WAD) + impact;
226
285
  const debt = liq.debt;
227
286
  const result = debt > 0n ? soft / debt : 0n;
228
287
  return result <= 0n ? null : (0, decimal_js_1.Decimal)(result).div(helpers_1.WAD);
229
288
  }
289
+ /**
290
+ * Grabs the new position health when doing a borrow
291
+ * @param debt_change - Amount of new debt in USD
292
+ * @returns The new position health
293
+ */
230
294
  async previewPositionHealthBorrow(debt_change) {
231
295
  const provider = (0, helpers_1.validateProviderAsSigner)(this.provider);
232
296
  const change = BigInt(debt_change.mul(helpers_1.WAD_DECIMAL).toFixed(0));
@@ -236,10 +300,22 @@ class Market {
236
300
  const result = debt > 0n ? soft / debt : 0n;
237
301
  return result <= 0n ? null : (0, decimal_js_1.Decimal)(result).div(helpers_1.WAD);
238
302
  }
303
+ /**
304
+ * Get liquidation values of for a given user
305
+ * @param account - user
306
+ * @returns The liquidation values of the user
307
+ */
239
308
  async liquidationValuesOf(account) {
240
309
  const [soft, hard, debt] = await this.contract.liquidationValuesOf(account);
241
310
  return { soft, hard, debt };
242
311
  }
312
+ /**
313
+ * Grab the current liquidation status of
314
+ * @param account - Account you wanna check liquidation status of on
315
+ * @param collateralToken - What token to use as collateral
316
+ * @param debtToken - What token to use as debt
317
+ * @returns The liquidation status of the account
318
+ */
243
319
  async liquidationStatusOf(account, collateralToken, debtToken) {
244
320
  const data = await this.contract.liquidationStatusOf(account, collateralToken, debtToken);
245
321
  return {
@@ -248,6 +324,15 @@ class Market {
248
324
  debtPrice: BigInt(data.debtPrice)
249
325
  };
250
326
  }
327
+ /**
328
+ * Grabs the new liquidity values based on changes
329
+ * @param account - The user's account address
330
+ * @param cTokenModified - The ctoken you are modifiying
331
+ * @param redemptionShares - Shares being redeemed
332
+ * @param borrowAssets - Amount of assets being borrowed
333
+ * @returns An object containing the hypothetical liquidity values
334
+ */
335
+ // TODO: This could probably be improved to just pass a ctoken & amount, the auto converts the shares
251
336
  async hypotheticalLiquidityOf(account, cTokenModified, redemptionShares, borrowAssets) {
252
337
  const data = await this.contract.hypotheticalLiquidityOf(account, cTokenModified, redemptionShares, borrowAssets);
253
338
  return {
@@ -256,19 +341,30 @@ class Market {
256
341
  positionsToClose: data.positionsToClose
257
342
  };
258
343
  }
344
+ /**
345
+ * Fetch the expiration date of a user's cooldown period
346
+ * @param account - The user's account address
347
+ * @param fetch - Whether to fetch the cooldown length from the contract
348
+ * @returns The expiration date of the cooldown period or null if not in cooldown
349
+ */
259
350
  async expiresAt(account, fetch = false) {
260
351
  const cooldownTimestamp = await this.contract.accountAssets(account);
261
352
  const cooldownLength = fetch || this.cooldownLength == 0n ? await this.contract.MIN_HOLD_PERIOD() : this.cooldownLength;
262
353
  const unlockTime = cooldownTimestamp + cooldownLength;
263
354
  return unlockTime == cooldownLength ? null : new Date(Number(unlockTime * 1000n));
264
355
  }
265
- async multiHoldExpiresAt(markets, reader) {
356
+ /**
357
+ * Fetch multiple market cooldown expirations
358
+ * @param markets - Markets you want to search
359
+ * @returns An object mapping market addresses to their cooldown expiration dates OR null if its not in cooldown
360
+ */
361
+ async multiHoldExpiresAt(markets) {
266
362
  const provider = (0, helpers_1.validateProviderAsSigner)(this.provider);
267
363
  if (markets.length == 0) {
268
364
  throw new Error("You can't fetch expirations for no markets.");
269
365
  }
270
366
  const marketAddresses = markets.map(market => market.address);
271
- const cooldownTimestamps = await reader.marketMultiCooldown(marketAddresses, provider.address);
367
+ const cooldownTimestamps = await this.reader.marketMultiCooldown(marketAddresses, provider.address);
272
368
  let cooldowns = {};
273
369
  for (let i = 0; i < markets.length; i++) {
274
370
  const market = markets[i];
@@ -278,10 +374,17 @@ class Market {
278
374
  }
279
375
  return cooldowns;
280
376
  }
281
- static async getAll(provider, reader, oracle_manager, all_deploy_data) {
377
+ /**
378
+ * Grab all the markets available and set them up using the protocol reader efficient RPC calls / API cached calls
379
+ * @param reader - instace of the ProtocolReader class
380
+ * @param oracle_manager - instance of the OracleManager class
381
+ * @param provider - The RPC provider
382
+ * @returns An array of Market instances setup with protocol reader data
383
+ */
384
+ static async getAll(reader, oracle_manager, provider = setup_1.setup_config.provider) {
282
385
  const user = "address" in provider ? provider.address : helpers_1.EMPTY_ADDRESS;
283
386
  const all_data = await reader.getAllMarketData(user);
284
- const deploy_keys = Object.keys(all_deploy_data);
387
+ const deploy_keys = Object.keys(setup_1.setup_config.contracts);
285
388
  let markets = [];
286
389
  for (let i = 0; i < all_data.staticMarket.length; i++) {
287
390
  const staticData = all_data.staticMarket[i];
@@ -290,11 +393,14 @@ class Market {
290
393
  const market_address = staticData.address;
291
394
  let deploy_data;
292
395
  for (const obj_key of deploy_keys) {
293
- const data = all_deploy_data[obj_key];
294
- if (market_address == data?.address) {
396
+ const data = setup_1.setup_config.contracts[obj_key];
397
+ if (typeof data != 'object') {
398
+ continue;
399
+ }
400
+ if (market_address == data.address) {
295
401
  deploy_data = {
296
402
  name: obj_key,
297
- plugins: data.plugins
403
+ plugins: 'plugins' in data ? data.plugins : {}
298
404
  };
299
405
  break;
300
406
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Market.js","sourceRoot":"","sources":["../../src/classes/Market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Market.js","sourceRoot":"","sources":["../../src/classes/Market.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class OracleManager {
7
7
  provider: curvance_provider;
8
8
  address: address;
9
9
  contract: Contract & IOracleManager;
10
- constructor(provider: curvance_provider, address: address);
10
+ constructor(address: address, provider?: curvance_provider);
11
11
  getPrice(asset: address, inUSD: boolean, getLower: boolean): Promise<bigint>;
12
12
  }
13
13
  //# sourceMappingURL=OracleManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OracleManager.d.ts","sourceRoot":"","sources":["../../src/classes/OracleManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1F;AAED,qBAAa,aAAa;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC;gBAExB,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAQnD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;CAmBnE"}
1
+ {"version":3,"file":"OracleManager.d.ts","sourceRoot":"","sources":["../../src/classes/OracleManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1F;AAED,qBAAa,aAAa;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC;gBAExB,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAE,iBAAyC;IAQ3E,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;CAmBnE"}
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OracleManager = void 0;
4
4
  const helpers_1 = require("../helpers");
5
+ const setup_1 = require("../setup");
5
6
  class OracleManager {
6
7
  provider;
7
8
  address;
8
9
  contract;
9
- constructor(provider, address) {
10
+ constructor(address, provider = setup_1.setup_config.provider) {
10
11
  this.provider = provider;
11
12
  this.address = address;
12
13
  this.contract = (0, helpers_1.contractSetup)(provider, this.address, [
@@ -1 +1 @@
1
- {"version":3,"file":"OracleManager.js","sourceRoot":"","sources":["../../src/classes/OracleManager.ts"],"names":[],"mappings":";;;AACA,wCAA2C;AAO3C,MAAa,aAAa;IACtB,QAAQ,CAAoB;IAC5B,OAAO,CAAU;IACjB,QAAQ,CAA4B;IAEpC,YAAY,QAA2B,EAAE,OAAgB;QACrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAkB,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAiB,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YAClE,wEAAwE;SAC3E,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAc,EAAE,KAAc,EAAE,QAAiB;QAC5D,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAa,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE1F,IAAG,SAAS,IAAI,EAAE,EAAE,CAAC;YACjB,IAAI,SAAS,GAAG,SAAS,CAAC;YAC1B,QAAO,SAAS,EAAE,CAAC;gBACf,KAAK,EAAE;oBACH,SAAS,GAAG,oDAAoD,CAAC;oBACjE,MAAM;gBACV,KAAK,EAAE;oBACH,SAAS,GAAG,oDAAoD,CAAC;oBACjE,MAAM;YACd,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,UAAU,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAhCD,sCAgCC"}
1
+ {"version":3,"file":"OracleManager.js","sourceRoot":"","sources":["../../src/classes/OracleManager.ts"],"names":[],"mappings":";;;AACA,wCAA2C;AAE3C,oCAAwC;AAMxC,MAAa,aAAa;IACtB,QAAQ,CAAoB;IAC5B,OAAO,CAAU;IACjB,QAAQ,CAA4B;IAEpC,YAAY,OAAgB,EAAE,WAA8B,oBAAY,CAAC,QAAQ;QAC7E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAkB,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAiB,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YAClE,wEAAwE;SAC3E,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAc,EAAE,KAAc,EAAE,QAAiB;QAC5D,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAa,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE1F,IAAG,SAAS,IAAI,EAAE,EAAE,CAAC;YACjB,IAAI,SAAS,GAAG,SAAS,CAAC;YAC1B,QAAO,SAAS,EAAE,CAAC;gBACf,KAAK,EAAE;oBACH,SAAS,GAAG,oDAAoD,CAAC;oBACjE,MAAM;gBACV,KAAK,EAAE;oBACH,SAAS,GAAG,oDAAoD,CAAC;oBACjE,MAAM;YACd,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,UAAU,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAhCD,sCAgCC"}