curvance 1.0.14 → 1.0.16

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 (47) hide show
  1. package/README.md +2 -0
  2. package/dist/abis/ProtocolReader.json +54 -10
  3. package/dist/abis/RedstoneCoreAdaptor.json +798 -0
  4. package/dist/chains/index.d.ts +0 -37
  5. package/dist/chains/index.d.ts.map +1 -1
  6. package/dist/chains/index.js +1 -2
  7. package/dist/chains/index.js.map +1 -1
  8. package/dist/chains/monad-testnet.json +65 -101
  9. package/dist/classes/CToken.d.ts +57 -23
  10. package/dist/classes/CToken.d.ts.map +1 -1
  11. package/dist/classes/CToken.js +122 -54
  12. package/dist/classes/CToken.js.map +1 -1
  13. package/dist/classes/ERC20.d.ts +5 -5
  14. package/dist/classes/ERC20.d.ts.map +1 -1
  15. package/dist/classes/ERC20.js +4 -4
  16. package/dist/classes/ERC20.js.map +1 -1
  17. package/dist/classes/Faucet.d.ts +4 -4
  18. package/dist/classes/Faucet.d.ts.map +1 -1
  19. package/dist/classes/Faucet.js +11 -6
  20. package/dist/classes/Faucet.js.map +1 -1
  21. package/dist/classes/Market.d.ts +85 -7
  22. package/dist/classes/Market.d.ts.map +1 -1
  23. package/dist/classes/Market.js +168 -17
  24. package/dist/classes/Market.js.map +1 -1
  25. package/dist/classes/OracleManager.d.ts +3 -3
  26. package/dist/classes/OracleManager.d.ts.map +1 -1
  27. package/dist/classes/OracleManager.js +4 -4
  28. package/dist/classes/OracleManager.js.map +1 -1
  29. package/dist/classes/ProtocolReader.d.ts +20 -10
  30. package/dist/classes/ProtocolReader.d.ts.map +1 -1
  31. package/dist/classes/ProtocolReader.js +23 -12
  32. package/dist/classes/ProtocolReader.js.map +1 -1
  33. package/dist/classes/Redstone.d.ts +14 -0
  34. package/dist/classes/Redstone.d.ts.map +1 -0
  35. package/dist/classes/Redstone.js +57 -0
  36. package/dist/classes/Redstone.js.map +1 -0
  37. package/dist/helpers.d.ts +36 -49
  38. package/dist/helpers.d.ts.map +1 -1
  39. package/dist/helpers.js +119 -18
  40. package/dist/helpers.js.map +1 -1
  41. package/dist/setup.d.ts +5 -3
  42. package/dist/setup.d.ts.map +1 -1
  43. package/dist/setup.js +16 -8
  44. package/dist/setup.js.map +1 -1
  45. package/dist/types.d.ts +4 -1
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +2 -1
@@ -5,24 +5,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BorrowableCToken = exports.CToken = void 0;
7
7
  const helpers_1 = require("../helpers");
8
+ const ProtocolReader_1 = require("./ProtocolReader");
8
9
  const ERC20_1 = require("./ERC20");
9
10
  const decimal_js_1 = __importDefault(require("decimal.js"));
10
11
  const BaseCToken_json_1 = __importDefault(require("../abis/BaseCToken.json"));
11
12
  const BorrowableCToken_json_1 = __importDefault(require("../abis/BorrowableCToken.json"));
12
13
  const IDynamicIRM_json_1 = __importDefault(require("../abis/IDynamicIRM.json"));
13
- const SECONDS_PER_YEAR = BigInt(31_536_000);
14
+ const Redstone_1 = require("./Redstone");
14
15
  // BaseCToken ABI
15
16
  class CToken {
16
- signer;
17
+ provider;
17
18
  address;
18
19
  contract;
19
20
  abi;
20
21
  cache;
21
22
  market;
22
- constructor(signer, address, cache, market) {
23
- this.signer = signer;
23
+ constructor(provider, address, cache, market) {
24
+ this.provider = provider;
24
25
  this.address = address;
25
- this.contract = (0, helpers_1.contractSetup)(signer, address, BaseCToken_json_1.default);
26
+ this.contract = (0, helpers_1.contractSetup)(provider, address, BaseCToken_json_1.default);
26
27
  this.cache = cache;
27
28
  this.market = market;
28
29
  }
@@ -30,12 +31,12 @@ class CToken {
30
31
  get borrowPaused() { return this.cache.borrowPaused; }
31
32
  get collateralizationPaused() { return this.cache.collateralizationPaused; }
32
33
  get mintPaused() { return this.cache.mintPaused; }
33
- get collateralCap() { return this.cache.collateralCap; }
34
- get debtCap() { return this.cache.debtCap; }
35
34
  get marketManager() { return this.market; }
36
35
  get decimals() { return this.cache.decimals; }
37
36
  get symbol() { return this.cache.symbol; }
38
37
  get name() { return this.cache.name; }
38
+ get remainingCollateral() { return this.cache.collateralCap - this.cache.collateral; }
39
+ get remainingDebt() { return this.cache.debtCap - this.cache.debt; }
39
40
  get collRatio() { return this.cache.collRatio; }
40
41
  get collReqSoft() { return this.cache.collReqSoft; }
41
42
  get collReqHard() { return this.cache.collReqHard; }
@@ -47,14 +48,51 @@ class CToken {
47
48
  get closeFactorCurve() { return this.cache.closeFactorCurve; }
48
49
  get closeFactorMin() { return this.cache.closeFactorMin; }
49
50
  get closeFactorMax() { return this.cache.closeFactorMax; }
50
- get userBalanceCache() { return this.cache.shareAmount; }
51
- get userAssetBalanceCache() { return this.cache.assetAmount; }
52
51
  get asset() { return this.cache.asset; }
53
52
  get isBorrowable() { return this.cache.isBorrowable; }
53
+ get canZap() { return "simpleZapper" in this.market.plugins || "vaultZapper" in this.market.plugins; }
54
+ get canLeverage() { return "simplePositionManager" in this.market.plugins || "vaultPositionManager" in this.market.plugins; }
55
+ getUserShareBalance(inUSD) {
56
+ return inUSD ? this.convertTokensToUsd(this.cache.userShareBalance, true) : this.cache.userShareBalance;
57
+ }
58
+ getUserAssetBalance(inUSD) {
59
+ return inUSD ? this.convertTokensToUsd(this.cache.userAssetBalance) : this.cache.userAssetBalance;
60
+ }
61
+ getCollateralCap(inUSD) {
62
+ return inUSD ? this.convertTokensToUsd(this.cache.collateralCap) : this.cache.collateralCap;
63
+ }
64
+ getDebtCap(inUSD) {
65
+ return inUSD ? this.convertTokensToUsd(this.cache.debtCap) : this.cache.debtCap;
66
+ }
67
+ getCollateral(inUSD) {
68
+ return inUSD ? this.convertTokensToUsd(this.cache.collateral) : this.cache.collateral;
69
+ }
70
+ getDebt(inUSD) {
71
+ return inUSD ? this.convertTokensToUsd(this.cache.debt) : this.cache.debt;
72
+ }
73
+ getUserCollateral(inUSD) {
74
+ return inUSD ? this.convertTokensToUsd(this.cache.userCollateral) : this.cache.userCollateral;
75
+ }
76
+ getUserDebt(inUSD) {
77
+ return inUSD ? this.convertTokensToUsd(this.cache.userDebt) : this.cache.userDebt;
78
+ }
79
+ earnChange(amount, rateType) {
80
+ const rate = this.getApy();
81
+ const rate_seconds = (0, helpers_1.getRateSeconds)(rateType);
82
+ const rate_percent = rate.mul(rate_seconds).div(helpers_1.WAD);
83
+ return amount.mul(rate_percent);
84
+ }
85
+ /**
86
+ * Grabs the collateralization ratio and converts it to a percentage.
87
+ * @returns percentage representation of the LTV (e.g. 0.75 for 75% LTV)
88
+ */
89
+ ltv() {
90
+ return (0, decimal_js_1.default)(this.cache.collRatio).div(helpers_1.BPS);
91
+ }
54
92
  getAsset(asErc20 = true) {
55
- return asErc20 ? new ERC20_1.ERC20(this.signer, this.cache.asset.address, this.cache.asset) : this.cache.asset.address;
93
+ return asErc20 ? new ERC20_1.ERC20(this.provider, this.cache.asset.address, this.cache.asset) : this.cache.asset.address;
56
94
  }
57
- getPrice(lower = false, asset = false) {
95
+ getPrice(asset = false, lower = false) {
58
96
  let price = asset ? this.cache.assetPrice : this.cache.sharePrice;
59
97
  if (lower) {
60
98
  price = asset ? this.cache.assetPriceLower : this.cache.sharePriceLower;
@@ -62,8 +100,12 @@ class CToken {
62
100
  // Use 1e18 always against USD
63
101
  return (0, decimal_js_1.default)(price).div((0, decimal_js_1.default)(1e18));
64
102
  }
103
+ getApy() {
104
+ // TODO: add underlying yield rate
105
+ return (0, decimal_js_1.default)(this.cache.supplyRate).div(helpers_1.BPS);
106
+ }
65
107
  getTvl(inUSD = true) {
66
- const tvl = this.cache.tvl;
108
+ const tvl = this.cache.totalSupply;
67
109
  return inUSD ? this.convertTokensToUsd(tvl) : tvl;
68
110
  }
69
111
  async fetchTvl(inUSD = true) {
@@ -106,8 +148,9 @@ class CToken {
106
148
  this.cache.name = name;
107
149
  return name;
108
150
  }
109
- async fetchPrice(getLower = false, inUSD = true) {
110
- const price = await this.market.oracle_manager.getPrice(this.address, inUSD, getLower);
151
+ async fetchPrice(asset = false, getLower = false, inUSD = true) {
152
+ const priceForAddress = asset ? this.asset.address : this.address;
153
+ const price = await this.market.oracle_manager.getPrice(priceForAddress, inUSD, getLower);
111
154
  if (getLower) {
112
155
  this.cache.sharePriceLower = price;
113
156
  }
@@ -138,20 +181,16 @@ class CToken {
138
181
  return this.contract.transfer(receiver, amount);
139
182
  }
140
183
  async redeemCollateral(shares, receiver, owner) {
141
- // TODO: Implement oracle handling
142
- return this.contract.redeemCollateral(shares, receiver, owner);
184
+ return this.oracleRoute("redeemCollateral", [shares, receiver, owner]);
143
185
  }
144
186
  async postCollateral(shares) {
145
- // TODO: Implement oracle handling
146
- return this.contract.postCollateral(shares);
187
+ return this.oracleRoute("postCollateral", [shares]);
147
188
  }
148
189
  async removeCollateral(shares) {
149
- // TODO: Implement oracle handling
150
- return this.contract.removeCollateral(shares);
190
+ return this.oracleRoute("removeCollateral", [shares]);
151
191
  }
152
192
  async withdrawCollateral(assets, receiver, owner) {
153
- // TODO: Implement oracle handling
154
- return this.contract.withdrawCollateral(assets, receiver, owner);
193
+ return this.oracleRoute("withdrawCollateral", [assets, receiver, owner]);
155
194
  }
156
195
  async convertToAssets(shares) {
157
196
  return this.contract.convertToAssets(shares);
@@ -160,16 +199,22 @@ class CToken {
160
199
  return this.contract.convertToShares(assets);
161
200
  }
162
201
  async deposit(assets, receiver) {
163
- // TODO: Implement oracle handling
164
- return this.contract.deposit(assets, receiver);
202
+ return this.oracleRoute("deposit", [assets, receiver]);
165
203
  }
166
204
  async depositAsCollateral(assets, receiver) {
167
- // TODO: Implement oracle handling
168
- return this.contract.depositAsCollateral(assets, receiver);
205
+ const collateralCapError = "There is not enough collateral left in this tokens collateral cap for this deposit.";
206
+ if (this.remainingCollateral == 0n)
207
+ throw new Error(collateralCapError);
208
+ if (this.remainingCollateral > 0n) {
209
+ const shares = await this.convertToShares(assets);
210
+ if (shares > this.remainingCollateral) {
211
+ throw new Error(collateralCapError);
212
+ }
213
+ }
214
+ return this.oracleRoute("depositAsCollateral", [assets, receiver]);
169
215
  }
170
216
  async redeem(shares, receiver, owner) {
171
- // TODO: Implement oracle handling
172
- return this.contract.redeem(shares, receiver, owner);
217
+ return this.oracleRoute("redeem", [shares, receiver, owner]);
173
218
  }
174
219
  async collateralPosted(account) {
175
220
  return this.contract.collateralPosted(account);
@@ -188,57 +233,81 @@ class CToken {
188
233
  debtBalance: BigInt(snapshot.debtBalance)
189
234
  };
190
235
  }
191
- async fetchConvertTokensToUsd(tokenAmount) {
192
- const price = await this.fetchPrice();
193
- const decimals = await this.fetchDecimals();
194
- return (price * tokenAmount) / (10n ** decimals);
236
+ async fetchConvertTokensToUsd(tokenAmount, asset = true) {
237
+ // Reload cache
238
+ await this.fetchPrice(asset);
239
+ await this.fetchDecimals();
240
+ return this.convertTokensToUsd(tokenAmount, asset);
195
241
  }
196
- convertTokensToUsd(tokenAmount) {
242
+ convertTokensToUsd(tokenAmount, asset = true) {
197
243
  const tokenAmountDecimal = (0, decimal_js_1.default)(tokenAmount).div(helpers_1.WAD_DECIMAL);
198
- return this.getPrice().mul(tokenAmountDecimal);
244
+ return this.getPrice(asset).mul(tokenAmountDecimal);
245
+ }
246
+ buildMultiCall(functionName, exec_params) {
247
+ const encodedFunc = this.contract.interface.encodeFunctionData(functionName, exec_params);
248
+ return {
249
+ target: this.address,
250
+ isPriceUpdate: false,
251
+ data: encodedFunc
252
+ };
253
+ }
254
+ async oracleRoute(functionName, exec_params) {
255
+ const adapter_enums = this.adapters.map(num => Number(num));
256
+ if (adapter_enums.includes(ProtocolReader_1.AdaptorTypes.REDSTONE_CORE)) {
257
+ const price_update = await Redstone_1.Redstone.buildMulticallStruct(this);
258
+ const token_action = await this.buildMultiCall(functionName, exec_params);
259
+ return this.multicall([price_update, token_action]);
260
+ }
261
+ return this.contract[functionName](...exec_params);
199
262
  }
200
263
  }
201
264
  exports.CToken = CToken;
202
265
  // BorrowableCToken
203
266
  class BorrowableCToken extends CToken {
204
267
  contract;
205
- constructor(signer, address, cache, market) {
206
- super(signer, address, cache, market);
207
- this.contract = (0, helpers_1.contractSetup)(signer, address, BorrowableCToken_json_1.default);
268
+ constructor(provider, address, cache, market) {
269
+ super(provider, address, cache, market);
270
+ this.contract = (0, helpers_1.contractSetup)(provider, address, BorrowableCToken_json_1.default);
208
271
  }
209
272
  get liquidity() { return this.cache.liquidity; }
210
273
  get borrowRate() { return this.cache.borrowRate; }
211
274
  get predictedBorrowRate() { return this.cache.predictedBorrowRate; }
212
275
  get utilizationRate() { return this.cache.utilizationRate; }
213
276
  get supplyRate() { return this.cache.supplyRate; }
214
- getPrice(lower = true, asset = false) {
215
- let price = asset ? this.cache.assetPrice : this.cache.sharePrice;
216
- if (lower) {
217
- price = asset ? this.cache.assetPriceLower : this.cache.sharePriceLower;
277
+ borrowChange(amount, rateType) {
278
+ const rate = this.borrowRate;
279
+ const rate_seconds = (0, helpers_1.getRateSeconds)(rateType);
280
+ const rate_percent = (0, decimal_js_1.default)(rate * rate_seconds).div(helpers_1.BPS).div(helpers_1.WAD);
281
+ return amount.mul(rate_percent);
282
+ }
283
+ async depositAsCollateral(assets, receiver) {
284
+ if (this.cache.userDebt > 0) {
285
+ throw new Error("Cannot deposit as collateral when there is outstanding debt");
218
286
  }
219
- return (0, decimal_js_1.default)(price).div((0, decimal_js_1.default)(1e18));
287
+ return this.oracleRoute("depositAsCollateral", [assets, receiver]);
220
288
  }
221
- getTotalDebt(inUSD = true) {
222
- const totalDebt = this.cache.debt;
223
- return inUSD ? this.convertTokensToUsd(totalDebt) : totalDebt;
289
+ async postCollateral(shares) {
290
+ if (this.cache.userDebt > 0) {
291
+ throw new Error("Cannot post collateral when there is outstanding debt");
292
+ }
293
+ return this.oracleRoute("postCollateral", [shares]);
224
294
  }
225
295
  async fetchTotalDebt(inUSD = true) {
226
296
  const totalDebt = await this.contract.marketOutstandingDebt();
227
297
  return inUSD ? this.fetchConvertTokensToUsd(totalDebt) : totalDebt;
228
298
  }
229
299
  async borrow(amount, receiver) {
230
- // TODO: Implement oracle handling
231
- return this.contract.borrow(amount, receiver);
300
+ return this.oracleRoute("borrow", [amount, receiver]);
232
301
  }
233
302
  async dynamicIRM() {
234
303
  const irm_addr = await this.contract.IRM();
235
- return (0, helpers_1.contractSetup)(this.signer, irm_addr, IDynamicIRM_json_1.default);
304
+ return (0, helpers_1.contractSetup)(this.provider, irm_addr, IDynamicIRM_json_1.default);
236
305
  }
237
306
  async fetchBorrowRate() {
238
307
  const irm = await this.dynamicIRM();
239
308
  const assetsHeld = await this.totalAssets();
240
309
  const debt = await this.contract.marketOutstandingDebt();
241
- const borrowRate = (await irm.borrowRate(assetsHeld, debt)) * SECONDS_PER_YEAR;
310
+ const borrowRate = (await irm.borrowRate(assetsHeld, debt)) * helpers_1.SECONDS_PER_YEAR;
242
311
  this.cache.borrowRate = borrowRate;
243
312
  return borrowRate;
244
313
  }
@@ -246,7 +315,7 @@ class BorrowableCToken extends CToken {
246
315
  const irm = await this.dynamicIRM();
247
316
  const assetsHeld = await this.totalAssets();
248
317
  const debt = await this.contract.marketOutstandingDebt();
249
- const predictedBorrowRate = (await irm.predictedBorrowRate(assetsHeld, debt)) * SECONDS_PER_YEAR;
318
+ const predictedBorrowRate = (await irm.predictedBorrowRate(assetsHeld, debt)) * helpers_1.SECONDS_PER_YEAR;
250
319
  this.cache.predictedBorrowRate = predictedBorrowRate;
251
320
  return predictedBorrowRate;
252
321
  }
@@ -254,7 +323,7 @@ class BorrowableCToken extends CToken {
254
323
  const irm = await this.dynamicIRM();
255
324
  const assetsHeld = await this.totalAssets();
256
325
  const debt = await this.contract.marketOutstandingDebt();
257
- const utilizationRate = (await irm.utilizationRate(assetsHeld, debt)) * SECONDS_PER_YEAR;
326
+ const utilizationRate = (await irm.utilizationRate(assetsHeld, debt)) * helpers_1.SECONDS_PER_YEAR;
258
327
  this.cache.utilizationRate = utilizationRate;
259
328
  return utilizationRate;
260
329
  }
@@ -263,7 +332,7 @@ class BorrowableCToken extends CToken {
263
332
  const assetsHeld = await this.totalAssets();
264
333
  const debt = await this.contract.marketOutstandingDebt();
265
334
  const fee = await this.contract.interestFee();
266
- const supplyRate = (await irm.supplyRate(assetsHeld, debt, fee)) * SECONDS_PER_YEAR;
335
+ const supplyRate = (await irm.supplyRate(assetsHeld, debt, fee)) * helpers_1.SECONDS_PER_YEAR;
267
336
  this.cache.supplyRate = supplyRate;
268
337
  return supplyRate;
269
338
  }
@@ -275,8 +344,7 @@ class BorrowableCToken extends CToken {
275
344
  return liquidity;
276
345
  }
277
346
  async repay(amount) {
278
- // TODO: Implement oracle handling
279
- return this.contract.repay(amount);
347
+ return this.oracleRoute("repay", [amount]);
280
348
  }
281
349
  async interestFee() {
282
350
  return this.contract.interestFee();
@@ -1 +1 @@
1
- {"version":3,"file":"CToken.js","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CToken.js","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TransactionResponse } from "ethers";
2
2
  import { Contract } from "ethers";
3
3
  import { StaticMarketAsset } from "./ProtocolReader";
4
- import { address, curvance_signer } from "../types";
4
+ import { address, curvance_provider } from "../types";
5
5
  export interface IERC20 {
6
6
  balanceOf(account: address): Promise<bigint>;
7
7
  transfer(to: address, amount: bigint): Promise<TransactionResponse>;
@@ -10,14 +10,14 @@ export interface IERC20 {
10
10
  symbol(): Promise<string>;
11
11
  decimals(): Promise<bigint>;
12
12
  totalSupply(): Promise<bigint>;
13
- allowance(owner: address, spender: address): Promise<TransactionResponse>;
13
+ allowance(owner: address, spender: address): Promise<bigint>;
14
14
  }
15
15
  export declare class ERC20 {
16
- signer: curvance_signer;
16
+ provider: curvance_provider;
17
17
  address: address;
18
18
  contract: Contract & IERC20;
19
19
  cache: StaticMarketAsset | undefined;
20
- constructor(signer: curvance_signer, address: address, cache?: StaticMarketAsset | undefined);
20
+ constructor(provider: curvance_provider, address: address, cache?: StaticMarketAsset | undefined);
21
21
  get name(): string | undefined;
22
22
  get symbol(): string | undefined;
23
23
  get decimals(): bigint | undefined;
@@ -29,7 +29,7 @@ export declare class ERC20 {
29
29
  fetchSymbol(): Promise<string>;
30
30
  fetchDecimals(): Promise<bigint>;
31
31
  fetchTotalSupply(): Promise<bigint>;
32
- allowance(owner: address, spender: address): Promise<TransactionResponse>;
32
+ allowance(owner: address, spender: address): Promise<bigint>;
33
33
  private setCache;
34
34
  }
35
35
  //# sourceMappingURL=ERC20.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,MAAM;IACnB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC7E;AAED,qBAAa,KAAK;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAAa;gBAG7C,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,OAAO,EAChB,KAAK,GAAE,iBAAiB,GAAG,SAAqB;IAgBpD,IAAI,IAAI,uBAA+B;IACvC,IAAI,MAAM,uBAAiC;IAC3C,IAAI,QAAQ,uBAAmC;IAC/C,IAAI,WAAW,uBAAsC;IAE/C,SAAS,CAAC,OAAO,EAAE,OAAO;IAI1B,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAIpC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAIxC,SAAS;IAMT,WAAW;IAMX,aAAa;IAMb,gBAAgB;IAMhB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAIhD,OAAO,CAAC,QAAQ;CAMnB"}
1
+ {"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,WAAW,MAAM;IACnB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAED,qBAAa,KAAK;IACd,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAAa;gBAG7C,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,OAAO,EAChB,KAAK,GAAE,iBAAiB,GAAG,SAAqB;IAgBpD,IAAI,IAAI,uBAA+B;IACvC,IAAI,MAAM,uBAAiC;IAC3C,IAAI,QAAQ,uBAAmC;IAC/C,IAAI,WAAW,uBAAsC;IAE/C,SAAS,CAAC,OAAO,EAAE,OAAO;IAI1B,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAIpC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAIxC,SAAS;IAMT,WAAW;IAMX,aAAa;IAMb,gBAAgB;IAMhB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAIhD,OAAO,CAAC,QAAQ;CAMnB"}
@@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ERC20 = void 0;
4
4
  const helpers_1 = require("../helpers");
5
5
  class ERC20 {
6
- signer;
6
+ provider;
7
7
  address;
8
8
  contract;
9
9
  cache = undefined;
10
- constructor(signer, address, cache = undefined) {
11
- this.signer = signer;
10
+ constructor(provider, address, cache = undefined) {
11
+ this.provider = provider;
12
12
  this.address = address;
13
13
  this.cache = cache;
14
- this.contract = (0, helpers_1.contractSetup)(signer, address, [
14
+ this.contract = (0, helpers_1.contractSetup)(provider, address, [
15
15
  "function balanceOf(address owner) view returns (uint256)",
16
16
  "function transfer(address to, uint256 amount) returns (bool)",
17
17
  "function approve(address spender, uint256 amount) returns (bool)",
@@ -1 +1 @@
1
- {"version":3,"file":"ERC20.js","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":";;;AACA,wCAA2C;AAgB3C,MAAa,KAAK;IACd,MAAM,CAAkB;IACxB,OAAO,CAAU;IACjB,QAAQ,CAAoB;IAC5B,KAAK,GAAkC,SAAS,CAAC;IAEjD,YACI,MAAuB,EACvB,OAAgB,EAChB,QAAuC,SAAS;QAEhD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAS,MAAM,EAAE,OAAO,EAAE;YACnD,0DAA0D;YAC1D,8DAA8D;YAC9D,kEAAkE;YAClE,uCAAuC;YACvC,yCAAyC;YACzC,0CAA0C;YAC1C,2EAA2E;SAC9E,CAAC,CAAC;IACP,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/C,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAErD,KAAK,CAAC,SAAS,CAAC,OAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAW,EAAE,MAAc;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,MAAc;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC1C,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAc,EAAE,OAAgB;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAEO,QAAQ,CAAoC,GAAM,EAAE,KAA2B;QACnF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,EAAuB,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;CACJ;AA5ED,sBA4EC"}
1
+ {"version":3,"file":"ERC20.js","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Contract } from "ethers";
2
2
  import { TransactionResponse } from "ethers";
3
- import { address, curvance_signer } from "../types";
3
+ import { address, curvance_provider } from "../types";
4
4
  export interface IFaucet {
5
5
  userLastClaimed(user: address, token: address): Promise<bigint>;
6
6
  multiLastClaimed(user: address, tokens: address[]): Promise<bigint[]>;
@@ -9,16 +9,16 @@ export interface IFaucet {
9
9
  multiIsAvailable(tokenAddrs: address[], amounts: bigint[]): Promise<boolean[]>;
10
10
  }
11
11
  export declare class Faucet {
12
- signer: curvance_signer;
12
+ provider: curvance_provider;
13
13
  address: address;
14
14
  contract: Contract & IFaucet;
15
- constructor(signer: curvance_signer, address: address);
15
+ constructor(provider: curvance_provider, address: address);
16
16
  isAvailable(tokenAddr: address, amount: bigint): Promise<boolean>;
17
17
  multiIsAvailable(tokenAddrs: address[], amounts: bigint[]): Promise<{
18
18
  [address: `0x${string}`]: boolean;
19
19
  }>;
20
20
  lastClaimed(user: address, token: address): Promise<bigint>;
21
- multiLastClaimed(user: address, tokens: address[]): Promise<bigint[]>;
21
+ multiLastClaimed(user: address, tokens: address[]): Promise<Date[]>;
22
22
  multiClaim(user: address, tokens: address[], amounts: bigint[]): Promise<TransactionResponse>;
23
23
  claim(user: address, token: address, amount: bigint): Promise<TransactionResponse>;
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Faucet.d.ts","sourceRoot":"","sources":["../../src/classes/Faucet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEpD,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,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9F,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnF,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAClF;AAED,qBAAa,MAAM;IACf,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;gBAEjB,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAY/C,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAM9C,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;;;IAWzD,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;IAIzC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAIjD,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;IAI9D,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;CAG5D"}
1
+ {"version":3,"file":"Faucet.d.ts","sourceRoot":"","sources":["../../src/classes/Faucet.ts"],"names":[],"mappings":"AAEA,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,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9F,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnF,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAClF;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;IAYnD,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAM9C,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;;;IAWzD,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;IAIzC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAWjD,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;IAI9D,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;CAG5D"}
@@ -4,13 +4,13 @@ exports.Faucet = void 0;
4
4
  const helpers_1 = require("../helpers");
5
5
  const ERC20_1 = require("./ERC20");
6
6
  class Faucet {
7
- signer;
7
+ provider;
8
8
  address;
9
9
  contract;
10
- constructor(signer, address) {
11
- this.signer = signer;
10
+ constructor(provider, address) {
11
+ this.provider = provider;
12
12
  this.address = address;
13
- this.contract = (0, helpers_1.contractSetup)(signer, this.address, [
13
+ this.contract = (0, helpers_1.contractSetup)(provider, this.address, [
14
14
  "function userLastClaimed(address user, address token) view returns (uint256)",
15
15
  "function multiLastClaimed(address user, address[] tokens) view returns (uint256[])",
16
16
  "function multiClaim(address user, address[] tokens, uint256[] amounts) external",
@@ -19,7 +19,7 @@ class Faucet {
19
19
  ]);
20
20
  }
21
21
  async isAvailable(tokenAddr, amount) {
22
- const token = new ERC20_1.ERC20(this.signer, tokenAddr);
22
+ const token = new ERC20_1.ERC20(this.provider, tokenAddr);
23
23
  const faucetBalance = await token.balanceOf(this.address);
24
24
  return amount <= faucetBalance;
25
25
  }
@@ -35,7 +35,12 @@ class Faucet {
35
35
  return this.contract.userLastClaimed(user, token);
36
36
  }
37
37
  async multiLastClaimed(user, tokens) {
38
- return this.contract.multiLastClaimed(user, tokens);
38
+ const claims = await this.contract.multiLastClaimed(user, tokens);
39
+ let claim_dates = [];
40
+ for (const claim of claims) {
41
+ claim_dates.push(new Date(Number(claim) * 1000));
42
+ }
43
+ return claim_dates;
39
44
  }
40
45
  async multiClaim(user, tokens, amounts) {
41
46
  return this.contract.multiClaim(user, tokens, amounts);
@@ -1 +1 @@
1
- {"version":3,"file":"Faucet.js","sourceRoot":"","sources":["../../src/classes/Faucet.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAC3C,mCAAgC;AAahC,MAAa,MAAM;IACf,MAAM,CAAkB;IACxB,OAAO,CAAU;IACjB,QAAQ,CAAqB;IAE7B,YAAY,MAAuB,EAAE,OAAgB;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAU,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;YACzD,8EAA8E;YAC9E,oFAAoF;YACpF,iFAAiF;YACjF,sEAAsE;YACtE,0FAA0F;SAC7F,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAkB,EAAE,MAAc;QAChD,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAI,aAAa,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAqB,EAAE,OAAiB;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,YAAY,GAAoC,EAAE,CAAC;QACvD,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACtD,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,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,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAa,EAAE,MAAiB,EAAE,OAAiB;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAa,EAAE,KAAc,EAAE,MAAc;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;CACJ;AAjDD,wBAiDC"}
1
+ {"version":3,"file":"Faucet.js","sourceRoot":"","sources":["../../src/classes/Faucet.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAC3C,mCAAgC;AAahC,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,iFAAiF;YACjF,sEAAsE;YACtE,0FAA0F;SAC7F,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAkB,EAAE,MAAc;QAChD,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAI,aAAa,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAqB,EAAE,OAAiB;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,YAAY,GAAoC,EAAE,CAAC;QACvD,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACtD,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,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,UAAU,CAAC,IAAa,EAAE,MAAiB,EAAE,OAAiB;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAa,EAAE,KAAc,EAAE,MAAc;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;CACJ;AAxDD,wBAwDC"}