@strkfarm/sdk 2.0.0-staging.71 → 2.0.0-staging.72

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.
package/dist/index.js CHANGED
@@ -84,6 +84,7 @@ __export(index_exports, {
84
84
  StrategyType: () => StrategyType,
85
85
  TelegramGroupNotif: () => TelegramGroupNotif,
86
86
  TelegramNotif: () => TelegramNotif,
87
+ TokenIndexingType: () => TokenIndexingType,
87
88
  UNIVERSAL_ADAPTERS: () => UNIVERSAL_ADAPTERS,
88
89
  UNIVERSAL_MANAGE_IDS: () => UNIVERSAL_MANAGE_IDS,
89
90
  UniversalLstMultiplierStrategy: () => UniversalLstMultiplierStrategy,
@@ -145,12 +146,275 @@ var import_axios3 = __toESM(require("axios"));
145
146
  // src/global.ts
146
147
  var import_axios = __toESM(require("axios"));
147
148
 
149
+ // src/utils/logger.node.ts
150
+ var import_winston = __toESM(require("winston"));
151
+ var colors = {
152
+ error: "red",
153
+ warn: "yellow",
154
+ info: "blue",
155
+ verbose: "white",
156
+ debug: "white"
157
+ };
158
+ import_winston.default.addColors(colors);
159
+ var logLevel = (process.env.LOG_LEVEL || process.env.SDK_LOG_LEVEL || "debug").toLowerCase();
160
+ var logger = import_winston.default.createLogger({
161
+ level: logLevel,
162
+ // Set the minimum logging level from environment variable
163
+ format: import_winston.format.combine(
164
+ import_winston.format.colorize({ all: true }),
165
+ // Apply custom colors
166
+ import_winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),
167
+ // Add timestamp to log messages
168
+ import_winston.format.printf(({ timestamp, level, message, ...meta }) => {
169
+ let msg = `${timestamp} ${level}: ${message}`;
170
+ if (meta && meta[/* @__PURE__ */ Symbol.for("splat")]) {
171
+ const splat = meta[/* @__PURE__ */ Symbol.for("splat")];
172
+ if (Array.isArray(splat)) {
173
+ for (const arg of splat) {
174
+ if (arg instanceof Error) {
175
+ msg += `
176
+ ${arg.stack}`;
177
+ }
178
+ }
179
+ }
180
+ }
181
+ return msg;
182
+ })
183
+ ),
184
+ transports: [
185
+ new import_winston.default.transports.Console()
186
+ // Output logs to the console
187
+ ]
188
+ });
189
+
190
+ // src/interfaces/lending.ts
191
+ var MarginType = /* @__PURE__ */ ((MarginType2) => {
192
+ MarginType2["SHARED"] = "shared";
193
+ MarginType2["NONE"] = "none";
194
+ return MarginType2;
195
+ })(MarginType || {});
196
+ var ILending = class {
197
+ constructor(config, metadata) {
198
+ this.tokens = [];
199
+ this.initialised = false;
200
+ this.metadata = metadata;
201
+ this.config = config;
202
+ this.init();
203
+ }
204
+ /** Wait for initialisation */
205
+ waitForInitilisation() {
206
+ return new Promise((resolve, reject) => {
207
+ const interval = setInterval(() => {
208
+ logger.verbose(`Waiting for ${this.metadata.name} to initialise`);
209
+ if (this.initialised) {
210
+ logger.verbose(`${this.metadata.name} initialised`);
211
+ clearInterval(interval);
212
+ resolve();
213
+ }
214
+ }, 1e3);
215
+ });
216
+ }
217
+ };
218
+
219
+ // src/interfaces/common.tsx
220
+ var import_starknet = require("starknet");
221
+ var import_jsx_runtime = require("react/jsx-runtime");
222
+ var RiskType = /* @__PURE__ */ ((RiskType2) => {
223
+ RiskType2["MARKET_RISK"] = "Market Risk";
224
+ RiskType2["IMPERMANENT_LOSS"] = "Impermanent Loss Risk";
225
+ RiskType2["LIQUIDATION_RISK"] = "Liquidation Risk";
226
+ RiskType2["LOW_LIQUIDITY_RISK"] = "Low Liquidity Risk";
227
+ RiskType2["SMART_CONTRACT_RISK"] = "Smart Contract Risk";
228
+ RiskType2["ORACLE_RISK"] = "Oracle Risk";
229
+ RiskType2["TECHNICAL_RISK"] = "Technical Risk";
230
+ RiskType2["COUNTERPARTY_RISK"] = "Counterparty Risk";
231
+ RiskType2["DEPEG_RISK"] = "Depeg Risk";
232
+ return RiskType2;
233
+ })(RiskType || {});
234
+ var TokenIndexingType = /* @__PURE__ */ ((TokenIndexingType2) => {
235
+ TokenIndexingType2["PEGGED"] = "pegged";
236
+ TokenIndexingType2["INDEXER"] = "indexer";
237
+ TokenIndexingType2["LST_SCRIPT"] = "lstScript";
238
+ TokenIndexingType2["IGNORE"] = "ignore";
239
+ return TokenIndexingType2;
240
+ })(TokenIndexingType || {});
241
+ var Network = /* @__PURE__ */ ((Network2) => {
242
+ Network2["mainnet"] = "mainnet";
243
+ Network2["sepolia"] = "sepolia";
244
+ Network2["devnet"] = "devnet";
245
+ return Network2;
246
+ })(Network || {});
247
+ var StrategyTag = /* @__PURE__ */ ((StrategyTag3) => {
248
+ StrategyTag3["META_VAULT"] = "Meta Vaults";
249
+ StrategyTag3["LEVERED"] = "Maxx";
250
+ StrategyTag3["AUTOMATED_LP"] = "Ekubo";
251
+ StrategyTag3["BTC"] = "BTC";
252
+ return StrategyTag3;
253
+ })(StrategyTag || {});
254
+ var VaultType = /* @__PURE__ */ ((VaultType2) => {
255
+ VaultType2["LOOPING"] = "Looping";
256
+ VaultType2["META_VAULT"] = "Meta Vault";
257
+ VaultType2["DELTA_NEUTRAL"] = "Delta Neutral";
258
+ VaultType2["AUTOMATED_LP"] = "Automated LP";
259
+ VaultType2["TVA"] = "Troves Value Averaging";
260
+ return VaultType2;
261
+ })(VaultType || {});
262
+ var AuditStatus = /* @__PURE__ */ ((AuditStatus2) => {
263
+ AuditStatus2["AUDITED"] = "Audited";
264
+ AuditStatus2["NOT_AUDITED"] = "Not Audited";
265
+ return AuditStatus2;
266
+ })(AuditStatus || {});
267
+ var SourceCodeType = /* @__PURE__ */ ((SourceCodeType2) => {
268
+ SourceCodeType2["OPEN_SOURCE"] = "Open Source";
269
+ SourceCodeType2["CLOSED_SOURCE"] = "Closed Source";
270
+ return SourceCodeType2;
271
+ })(SourceCodeType || {});
272
+ var AccessControlType = /* @__PURE__ */ ((AccessControlType2) => {
273
+ AccessControlType2["MULTISIG_ACCOUNT"] = "Multisig Account";
274
+ AccessControlType2["STANDARD_ACCOUNT"] = "Standard Account";
275
+ AccessControlType2["ROLE_BASED_ACCESS"] = "Role Based Access";
276
+ return AccessControlType2;
277
+ })(AccessControlType || {});
278
+ var InstantWithdrawalVault = /* @__PURE__ */ ((InstantWithdrawalVault2) => {
279
+ InstantWithdrawalVault2["YES"] = "Yes";
280
+ InstantWithdrawalVault2["NO"] = "No";
281
+ return InstantWithdrawalVault2;
282
+ })(InstantWithdrawalVault || {});
283
+ var FlowChartColors = /* @__PURE__ */ ((FlowChartColors2) => {
284
+ FlowChartColors2["Green"] = "purple";
285
+ FlowChartColors2["Blue"] = "#35484f";
286
+ FlowChartColors2["Purple"] = "#6e53dc";
287
+ return FlowChartColors2;
288
+ })(FlowChartColors || {});
289
+ var StrategyLiveStatus = /* @__PURE__ */ ((StrategyLiveStatus2) => {
290
+ StrategyLiveStatus2["ACTIVE"] = "Active";
291
+ StrategyLiveStatus2["NEW"] = "New";
292
+ StrategyLiveStatus2["COMING_SOON"] = "Coming Soon";
293
+ StrategyLiveStatus2["DEPRECATED"] = "Deprecated";
294
+ StrategyLiveStatus2["RETIRED"] = "Retired";
295
+ StrategyLiveStatus2["HOT"] = "Hot & New \u{1F525}";
296
+ return StrategyLiveStatus2;
297
+ })(StrategyLiveStatus || {});
298
+ function getMainnetConfig(rpcUrl = "https://starknet-mainnet.public.blastapi.io", blockIdentifier = import_starknet.BlockTag.LATEST) {
299
+ return {
300
+ provider: new import_starknet.RpcProvider({
301
+ nodeUrl: rpcUrl,
302
+ blockIdentifier
303
+ // specVersion
304
+ }),
305
+ stage: "production",
306
+ network: "mainnet" /* mainnet */
307
+ };
308
+ }
309
+ var getStrategyTagDesciption = (tag) => {
310
+ switch (tag) {
311
+ case "Meta Vaults" /* META_VAULT */:
312
+ return "A meta vault is a vault that auto allocates funds to multiple vaults based on optimal yield opportunities";
313
+ case "Maxx" /* LEVERED */:
314
+ return "Looping vaults on Endur LSTs with leveraged borrowing of STRK or BTC to increase yield (2-4x higher yield than simply staking)";
315
+ case "Ekubo" /* AUTOMATED_LP */:
316
+ return "Automated LP vaults on Ekubo that rebalance position automatically, ensuring you earn fees efficiently";
317
+ case "BTC" /* BTC */:
318
+ return "BTC linked vaults";
319
+ }
320
+ };
321
+ var getAllStrategyTags = () => {
322
+ return Object.values(StrategyTag);
323
+ };
324
+ var getRiskExplaination = (riskType) => {
325
+ switch (riskType) {
326
+ case "Market Risk" /* MARKET_RISK */:
327
+ return "The risk of the market moving against the position.";
328
+ case "Impermanent Loss Risk" /* IMPERMANENT_LOSS */:
329
+ return "The temporary loss of value experienced by liquidity providers in AMMs when asset prices diverge compared to simply holding them.";
330
+ case "Liquidation Risk" /* LIQUIDATION_RISK */:
331
+ return "The risk of losing funds due to the position being liquidated.";
332
+ case "Low Liquidity Risk" /* LOW_LIQUIDITY_RISK */:
333
+ return "The risk of low liquidity in the pool, which can lead to high slippages or reduced in-abilities to quickly exit the position.";
334
+ case "Oracle Risk" /* ORACLE_RISK */:
335
+ return "The risk of the oracle being manipulated or incorrect.";
336
+ case "Smart Contract Risk" /* SMART_CONTRACT_RISK */:
337
+ return "The risk of the smart contract being vulnerable to attacks.";
338
+ case "Technical Risk" /* TECHNICAL_RISK */:
339
+ return "The risk of technical issues e.g. backend failure.";
340
+ case "Counterparty Risk" /* COUNTERPARTY_RISK */:
341
+ return "The risk of the counterparty defaulting e.g. bad debt on lending platforms.";
342
+ case "Depeg Risk" /* DEPEG_RISK */:
343
+ return "The risk of a token losing its peg to the underlying asset, leading to potential losses for holders.";
344
+ }
345
+ };
346
+ var getRiskColor = (risk) => {
347
+ const value = risk.value;
348
+ if (value <= 2) return "light_green_2";
349
+ if (value < 3) return "yellow";
350
+ return "red";
351
+ };
352
+ var getNoRiskTags = (risks) => {
353
+ const noRisks1 = risks.filter((risk) => risk.value === 0).map((risk) => risk.type);
354
+ const noRisks2 = Object.values(RiskType).filter(
355
+ (risk) => !risks.map((risk2) => risk2.type).includes(risk)
356
+ );
357
+ const mergedUnique = [.../* @__PURE__ */ new Set([...noRisks1, ...noRisks2])];
358
+ return mergedUnique;
359
+ };
360
+ function highlightTextWithLinks(put, highlights) {
361
+ const escapeRegExp = (text) => text.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
362
+ const pattern = new RegExp(
363
+ `(${highlights.map((m) => escapeRegExp(m.highlight)).join("|")})`,
364
+ "gi"
365
+ );
366
+ const parts = put.split(pattern);
367
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: parts.map((part, i) => {
368
+ const match = highlights.find((m) => m.highlight.toLowerCase() === part.toLowerCase());
369
+ return match ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: match.link, target: "_blank", style: { color: "white", background: "rgba(255, 255, 255, 0.04)" }, children: part }, i) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: part }, i);
370
+ }) });
371
+ }
372
+ var VesuProtocol = {
373
+ name: "Vesu",
374
+ logo: "https://static-assets-8zct.onrender.com/integrations/vesu/logo.png"
375
+ };
376
+ var EndurProtocol = {
377
+ name: "Endur",
378
+ logo: "http://endur.fi/logo.png"
379
+ };
380
+ var ExtendedProtocol = {
381
+ name: "Extended",
382
+ logo: "https://static-assets-8zct.onrender.com/integrations/extended/extended.svg"
383
+ };
384
+ var Protocols = {
385
+ VESU: VesuProtocol,
386
+ ENDUR: EndurProtocol,
387
+ EXTENDED: ExtendedProtocol
388
+ };
389
+ var UnwrapLabsCurator = {
390
+ name: "Unwrap Labs",
391
+ logo: "https://assets.troves.fi/integrations/unwraplabs/white.png"
392
+ };
393
+
394
+ // src/interfaces/initializable.ts
395
+ var Initializable = class {
396
+ constructor() {
397
+ this.initialized = false;
398
+ }
399
+ async waitForInitilisation() {
400
+ return new Promise((resolve, reject) => {
401
+ const interval = setInterval(() => {
402
+ if (this.initialized) {
403
+ console.log("Initialised");
404
+ clearInterval(interval);
405
+ resolve();
406
+ }
407
+ }, 1e3);
408
+ });
409
+ }
410
+ };
411
+
148
412
  // src/dataTypes/bignumber.node.ts
149
413
  var import_util = __toESM(require("util"));
150
414
 
151
415
  // src/dataTypes/_bignumber.ts
152
416
  var import_bignumber = __toESM(require("bignumber.js"));
153
- var import_starknet = require("starknet");
417
+ var import_starknet2 = require("starknet");
154
418
  var _Web3Number = class extends import_bignumber.default {
155
419
  constructor(value, decimals) {
156
420
  super(value);
@@ -226,21 +490,21 @@ var _Web3Number = class extends import_bignumber.default {
226
490
  };
227
491
  }
228
492
  toUint256() {
229
- return import_starknet.uint256.bnToUint256(this.toWei());
493
+ return import_starknet2.uint256.bnToUint256(this.toWei());
230
494
  }
231
495
  };
232
496
  import_bignumber.default.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: import_bignumber.default.ROUND_DOWN });
233
497
  _Web3Number.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: import_bignumber.default.ROUND_DOWN });
234
498
 
235
499
  // src/dataTypes/bignumber.node.ts
236
- var import_starknet2 = require("starknet");
500
+ var import_starknet3 = require("starknet");
237
501
  var Web3Number = class _Web3Number2 extends _Web3Number {
238
502
  static fromWei(weiNumber, decimals) {
239
503
  const bn = new _Web3Number2(weiNumber, decimals).dividedBy(10 ** decimals);
240
504
  return new _Web3Number2(bn.toString(), decimals);
241
505
  }
242
506
  static fromUint256(uint256Value) {
243
- return this.fromWei(import_starknet2.uint256.uint256ToBN(uint256Value).toString(), 18);
507
+ return this.fromWei(import_starknet3.uint256.uint256ToBN(uint256Value).toString(), 18);
244
508
  }
245
509
  [import_util.default.inspect.custom](depth, opts) {
246
510
  return this.toString();
@@ -254,7 +518,7 @@ var Web3Number = class _Web3Number2 extends _Web3Number {
254
518
  };
255
519
 
256
520
  // src/dataTypes/address.ts
257
- var import_starknet3 = require("starknet");
521
+ var import_starknet4 = require("starknet");
258
522
  var ContractAddr = class _ContractAddr {
259
523
  constructor(address) {
260
524
  this.address = _ContractAddr.standardise(address);
@@ -273,7 +537,7 @@ var ContractAddr = class _ContractAddr {
273
537
  if (!address) {
274
538
  _a = "0";
275
539
  }
276
- const a = import_starknet3.num.getHexString(import_starknet3.num.getDecimalString(_a.toString()));
540
+ const a = import_starknet4.num.getHexString(import_starknet4.num.getDecimalString(_a.toString()));
277
541
  return a;
278
542
  }
279
543
  static eqString(a, b) {
@@ -283,7 +547,7 @@ var ContractAddr = class _ContractAddr {
283
547
  return this.address;
284
548
  }
285
549
  toBigInt() {
286
- return import_starknet3.num.toBigInt(this.address);
550
+ return import_starknet4.num.toBigInt(this.address);
287
551
  }
288
552
  };
289
553
 
@@ -407,47 +671,6 @@ var MyNumber = class _MyNumber {
407
671
  }
408
672
  };
409
673
 
410
- // src/utils/logger.node.ts
411
- var import_winston = __toESM(require("winston"));
412
- var colors = {
413
- error: "red",
414
- warn: "yellow",
415
- info: "blue",
416
- verbose: "white",
417
- debug: "white"
418
- };
419
- import_winston.default.addColors(colors);
420
- var logLevel = (process.env.LOG_LEVEL || process.env.SDK_LOG_LEVEL || "debug").toLowerCase();
421
- var logger = import_winston.default.createLogger({
422
- level: logLevel,
423
- // Set the minimum logging level from environment variable
424
- format: import_winston.format.combine(
425
- import_winston.format.colorize({ all: true }),
426
- // Apply custom colors
427
- import_winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),
428
- // Add timestamp to log messages
429
- import_winston.format.printf(({ timestamp, level, message, ...meta }) => {
430
- let msg = `${timestamp} ${level}: ${message}`;
431
- if (meta && meta[/* @__PURE__ */ Symbol.for("splat")]) {
432
- const splat = meta[/* @__PURE__ */ Symbol.for("splat")];
433
- if (Array.isArray(splat)) {
434
- for (const arg of splat) {
435
- if (arg instanceof Error) {
436
- msg += `
437
- ${arg.stack}`;
438
- }
439
- }
440
- }
441
- }
442
- return msg;
443
- })
444
- ),
445
- transports: [
446
- new import_winston.default.transports.Console()
447
- // Output logs to the console
448
- ]
449
- });
450
-
451
674
  // src/global.ts
452
675
  var FatalError = class extends Error {
453
676
  constructor(message, err) {
@@ -467,7 +690,8 @@ var defaultTokens = [{
467
690
  coingeckId: "starknet",
468
691
  displayDecimals: 2,
469
692
  priceCheckAmount: 5e3,
470
- priceMethod: "Avnu"
693
+ priceMethod: "Avnu",
694
+ indexingType: "indexer" /* INDEXER */
471
695
  }, {
472
696
  name: "xSTRK",
473
697
  symbol: "xSTRK",
@@ -477,7 +701,8 @@ var defaultTokens = [{
477
701
  coingeckId: void 0,
478
702
  priceCheckAmount: 5e3,
479
703
  displayDecimals: 2,
480
- priceMethod: "Avnu"
704
+ priceMethod: "Avnu",
705
+ indexingType: "lstScript" /* LST_SCRIPT */
481
706
  }, {
482
707
  name: "ETH",
483
708
  symbol: "ETH",
@@ -486,7 +711,8 @@ var defaultTokens = [{
486
711
  decimals: 18,
487
712
  coingeckId: void 0,
488
713
  priceCheckAmount: 0.1,
489
- displayDecimals: 6
714
+ displayDecimals: 6,
715
+ indexingType: "indexer" /* INDEXER */
490
716
  }, {
491
717
  name: "USDC.e",
492
718
  symbol: "USDC.e",
@@ -495,7 +721,9 @@ var defaultTokens = [{
495
721
  decimals: 6,
496
722
  coingeckId: void 0,
497
723
  displayDecimals: 2,
498
- priceCheckAmount: 1e3
724
+ priceCheckAmount: 1e3,
725
+ priceProxySymbol: "USDC",
726
+ indexingType: "pegged" /* PEGGED */
499
727
  }, {
500
728
  name: "USDC",
501
729
  symbol: "USDC",
@@ -504,7 +732,8 @@ var defaultTokens = [{
504
732
  decimals: 6,
505
733
  coingeckId: void 0,
506
734
  displayDecimals: 2,
507
- priceCheckAmount: 1e3
735
+ priceCheckAmount: 1e3,
736
+ indexingType: "indexer" /* INDEXER */
508
737
  }, {
509
738
  name: "USDT",
510
739
  symbol: "USDT",
@@ -513,7 +742,8 @@ var defaultTokens = [{
513
742
  decimals: 6,
514
743
  coingeckId: void 0,
515
744
  priceCheckAmount: 1e3,
516
- displayDecimals: 2
745
+ displayDecimals: 2,
746
+ indexingType: "indexer" /* INDEXER */
517
747
  }, {
518
748
  name: "WBTC",
519
749
  symbol: "WBTC",
@@ -522,8 +752,9 @@ var defaultTokens = [{
522
752
  decimals: 8,
523
753
  coingeckId: void 0,
524
754
  displayDecimals: 6,
525
- priceCheckAmount: 1e-3
755
+ priceCheckAmount: 1e-3,
526
756
  // 112000 * 0.0001 = $110.2
757
+ indexingType: "indexer" /* INDEXER */
527
758
  }, {
528
759
  name: "tBTC",
529
760
  symbol: "tBTC",
@@ -532,8 +763,10 @@ var defaultTokens = [{
532
763
  decimals: 18,
533
764
  coingeckId: void 0,
534
765
  displayDecimals: 6,
535
- priceCheckAmount: 1e-3
766
+ priceCheckAmount: 1e-3,
536
767
  // 112000 * 0.0001 = $110.2
768
+ priceProxySymbol: "WBTC",
769
+ indexingType: "pegged" /* PEGGED */
537
770
  }, {
538
771
  name: "solvBTC",
539
772
  symbol: "solvBTC",
@@ -543,8 +776,9 @@ var defaultTokens = [{
543
776
  coingeckId: void 0,
544
777
  priceProxySymbol: "WBTC",
545
778
  displayDecimals: 6,
546
- priceCheckAmount: 1e-4
779
+ priceCheckAmount: 1e-4,
547
780
  // 112000 * 0.0001 = $11.2
781
+ indexingType: "pegged" /* PEGGED */
548
782
  }, {
549
783
  name: "LBTC",
550
784
  symbol: "LBTC",
@@ -554,8 +788,9 @@ var defaultTokens = [{
554
788
  coingeckId: void 0,
555
789
  displayDecimals: 6,
556
790
  priceProxySymbol: "WBTC",
557
- priceCheckAmount: 1e-4
791
+ priceCheckAmount: 1e-4,
558
792
  // 112000 * 0.0001 = $11.2
793
+ indexingType: "pegged" /* PEGGED */
559
794
  }, {
560
795
  name: "xWBTC",
561
796
  symbol: "xWBTC",
@@ -566,7 +801,8 @@ var defaultTokens = [{
566
801
  displayDecimals: 6,
567
802
  priceCheckAmount: 1e-3,
568
803
  // 112000 * 0.0001 = $110.2
569
- priceMethod: "Avnu"
804
+ priceMethod: "Avnu",
805
+ indexingType: "lstScript" /* LST_SCRIPT */
570
806
  }, {
571
807
  name: "xsBTC",
572
808
  symbol: "xsBTC",
@@ -577,7 +813,8 @@ var defaultTokens = [{
577
813
  displayDecimals: 6,
578
814
  priceCheckAmount: 1e-4,
579
815
  // 112000 * 0.0001 = $11.2
580
- priceMethod: "Avnu"
816
+ priceMethod: "Avnu",
817
+ indexingType: "lstScript" /* LST_SCRIPT */
581
818
  }, {
582
819
  name: "xtBTC",
583
820
  symbol: "xtBTC",
@@ -588,7 +825,8 @@ var defaultTokens = [{
588
825
  displayDecimals: 6,
589
826
  priceCheckAmount: 1e-3,
590
827
  // 112000 * 0.0001 = $110.2
591
- priceMethod: "Avnu"
828
+ priceMethod: "Avnu",
829
+ indexingType: "lstScript" /* LST_SCRIPT */
592
830
  }, {
593
831
  name: "xLBTC",
594
832
  symbol: "xLBTC",
@@ -599,7 +837,8 @@ var defaultTokens = [{
599
837
  displayDecimals: 6,
600
838
  priceCheckAmount: 1e-4,
601
839
  // 112000 * 0.0001 = $11.2
602
- priceMethod: "Avnu"
840
+ priceMethod: "Avnu",
841
+ indexingType: "lstScript" /* LST_SCRIPT */
603
842
  }, {
604
843
  name: "mRe7BTC",
605
844
  symbol: "mRe7BTC",
@@ -610,7 +849,8 @@ var defaultTokens = [{
610
849
  displayDecimals: 6,
611
850
  priceCheckAmount: 1e-4,
612
851
  // 112000 * 0.0001 = $11.2
613
- dontPrice: true
852
+ dontPrice: true,
853
+ indexingType: "ignore" /* IGNORE */
614
854
  }, {
615
855
  name: "mRe7YIELD",
616
856
  symbol: "mRe7YIELD",
@@ -620,7 +860,8 @@ var defaultTokens = [{
620
860
  coingeckId: void 0,
621
861
  displayDecimals: 2,
622
862
  priceCheckAmount: 100,
623
- dontPrice: true
863
+ dontPrice: true,
864
+ indexingType: "ignore" /* IGNORE */
624
865
  }, {
625
866
  name: "fyeWBTC",
626
867
  symbol: "fyeWBTC",
@@ -631,7 +872,8 @@ var defaultTokens = [{
631
872
  displayDecimals: 6,
632
873
  priceCheckAmount: 1e-3,
633
874
  // 112000 * 0.0001 = $110.2
634
- dontPrice: true
875
+ dontPrice: true,
876
+ indexingType: "ignore" /* IGNORE */
635
877
  }, {
636
878
  name: "fyETH",
637
879
  symbol: "fyETH",
@@ -641,7 +883,8 @@ var defaultTokens = [{
641
883
  coingeckId: void 0,
642
884
  displayDecimals: 4,
643
885
  priceCheckAmount: 0.1,
644
- dontPrice: true
886
+ dontPrice: true,
887
+ indexingType: "ignore" /* IGNORE */
645
888
  }, {
646
889
  name: "fyeUSDC",
647
890
  symbol: "fyeUSDC",
@@ -651,7 +894,8 @@ var defaultTokens = [{
651
894
  coingeckId: void 0,
652
895
  displayDecimals: 2,
653
896
  priceCheckAmount: 100,
654
- dontPrice: true
897
+ dontPrice: true,
898
+ indexingType: "ignore" /* IGNORE */
655
899
  }, {
656
900
  name: "strkBTC",
657
901
  symbol: "strkBTC",
@@ -662,7 +906,9 @@ var defaultTokens = [{
662
906
  displayDecimals: 6,
663
907
  priceCheckAmount: 1e-3,
664
908
  // 112000 * 0.0001 = $110.2
665
- priceMethod: "Avnu"
909
+ priceMethod: "Avnu",
910
+ priceProxySymbol: "WBTC",
911
+ indexingType: "pegged" /* PEGGED */
666
912
  }, {
667
913
  name: "xstrkBTC",
668
914
  symbol: "xstrkBTC",
@@ -672,7 +918,8 @@ var defaultTokens = [{
672
918
  coingeckId: void 0,
673
919
  displayDecimals: 6,
674
920
  priceCheckAmount: 1e-3,
675
- priceMethod: "Avnu"
921
+ priceMethod: "Avnu",
922
+ indexingType: "lstScript" /* LST_SCRIPT */
676
923
  }];
677
924
  var tokens = defaultTokens;
678
925
  var _Global = class _Global {
@@ -705,7 +952,8 @@ var _Global = class _Global {
705
952
  decimals: token.decimals,
706
953
  logo: token.logoUri,
707
954
  coingeckId: token.extensions.coingeckoId,
708
- displayDecimals: 2
955
+ displayDecimals: 2,
956
+ indexingType: "ignore" /* IGNORE */
709
957
  });
710
958
  });
711
959
  console.log(tokens);
@@ -770,7 +1018,7 @@ var PricerBase = class {
770
1018
  };
771
1019
 
772
1020
  // src/modules/avnu.ts
773
- var import_starknet6 = require("starknet");
1021
+ var import_starknet7 = require("starknet");
774
1022
  var import_avnu_sdk = require("@avnu/avnu-sdk");
775
1023
 
776
1024
  // src/utils/oz-merkle.ts
@@ -778,8 +1026,8 @@ var import_bytes = require("@ericnordelo/strk-merkle-tree/dist/bytes");
778
1026
  var import_core = require("@ericnordelo/strk-merkle-tree/dist/core");
779
1027
  var import_hashes = require("@ericnordelo/strk-merkle-tree/dist/hashes");
780
1028
  var import_merkletree = require("@ericnordelo/strk-merkle-tree/dist/merkletree");
781
- var import_starknet4 = require("starknet");
782
- var import_starknet5 = require("@scure/starknet");
1029
+ var import_starknet5 = require("starknet");
1030
+ var import_starknet6 = require("@scure/starknet");
783
1031
  function hash_leaf(leaf) {
784
1032
  if (leaf.data.length < 1) {
785
1033
  throw new Error("Invalid leaf data");
@@ -789,10 +1037,10 @@ function hash_leaf(leaf) {
789
1037
  for (let i = 1; i < leaf.data.length; i++) {
790
1038
  value = pedersen_hash(value, leaf.data[i]);
791
1039
  }
792
- return `0x${import_starknet4.num.toHexString(value).replace(/^0x/, "").padStart(64, "0")}`;
1040
+ return `0x${import_starknet5.num.toHexString(value).replace(/^0x/, "").padStart(64, "0")}`;
793
1041
  }
794
1042
  function pedersen_hash(a, b) {
795
- return BigInt((0, import_starknet5.pedersen)(a, b).toString());
1043
+ return BigInt((0, import_starknet6.pedersen)(a, b).toString());
796
1044
  }
797
1045
  var StandardMerkleTree = class _StandardMerkleTree extends import_merkletree.MerkleTreeImpl {
798
1046
  constructor(tree, values, leafEncoding) {
@@ -916,10 +1164,10 @@ var AvnuWrapper = class _AvnuWrapper {
916
1164
  const _minAmount = minAmount || (quote.buyAmount * 95n / 100n).toString();
917
1165
  const swapInfo = {
918
1166
  token_from_address: quote.sellTokenAddress,
919
- token_from_amount: import_starknet6.uint256.bnToUint256(quote.sellAmount),
1167
+ token_from_amount: import_starknet7.uint256.bnToUint256(quote.sellAmount),
920
1168
  token_to_address: quote.buyTokenAddress,
921
- token_to_amount: import_starknet6.uint256.bnToUint256(_minAmount),
922
- token_to_min_amount: import_starknet6.uint256.bnToUint256(_minAmount),
1169
+ token_to_amount: import_starknet7.uint256.bnToUint256(_minAmount),
1170
+ token_to_min_amount: import_starknet7.uint256.bnToUint256(_minAmount),
923
1171
  beneficiary: taker,
924
1172
  integrator_fee_amount_bps: integratorFeeBps,
925
1173
  integrator_fee_recipient: integratorFeeRecipient,
@@ -930,10 +1178,10 @@ var AvnuWrapper = class _AvnuWrapper {
930
1178
  static buildZeroSwap(tokenToSell, beneficiary, tokenToBuy = tokenToSell) {
931
1179
  return {
932
1180
  token_from_address: tokenToSell.address,
933
- token_from_amount: import_starknet6.uint256.bnToUint256(0),
1181
+ token_from_amount: import_starknet7.uint256.bnToUint256(0),
934
1182
  token_to_address: tokenToBuy.address,
935
- token_to_amount: import_starknet6.uint256.bnToUint256(0),
936
- token_to_min_amount: import_starknet6.uint256.bnToUint256(0),
1183
+ token_to_amount: import_starknet7.uint256.bnToUint256(0),
1184
+ token_to_min_amount: import_starknet7.uint256.bnToUint256(0),
937
1185
  beneficiary,
938
1186
  integrator_fee_amount_bps: 0,
939
1187
  integrator_fee_recipient: beneficiary,
@@ -1255,7 +1503,7 @@ var Pricer = class extends PricerBase {
1255
1503
  };
1256
1504
 
1257
1505
  // src/modules/pragma.ts
1258
- var import_starknet7 = require("starknet");
1506
+ var import_starknet8 = require("starknet");
1259
1507
 
1260
1508
  // src/data/pragma.abi.json
1261
1509
  var pragma_abi_default = [
@@ -1360,7 +1608,7 @@ var Pragma = class extends PricerBase {
1360
1608
  constructor(config, tokens2) {
1361
1609
  super(config, tokens2);
1362
1610
  this.contractAddr = "0x023fb3afbff2c0e3399f896dcf7400acf1a161941cfb386e34a123f228c62832";
1363
- this.contract = new import_starknet7.Contract({
1611
+ this.contract = new import_starknet8.Contract({
1364
1612
  abi: pragma_abi_default,
1365
1613
  address: this.contractAddr,
1366
1614
  providerOrAccount: config.provider
@@ -1388,43 +1636,14 @@ var Pragma = class extends PricerBase {
1388
1636
  var import_axios4 = __toESM(require("axios"));
1389
1637
 
1390
1638
  // src/dataTypes/bignumber.browser.ts
1391
- var import_starknet8 = require("starknet");
1639
+ var import_starknet9 = require("starknet");
1392
1640
  var Web3Number2 = class _Web3Number2 extends _Web3Number {
1393
1641
  static fromWei(weiNumber, decimals) {
1394
1642
  const bn = new _Web3Number2(weiNumber, decimals).dividedBy(10 ** decimals);
1395
1643
  return new _Web3Number2(bn.toString(), decimals);
1396
1644
  }
1397
1645
  static fromUint256(uint256Value) {
1398
- return this.fromWei(import_starknet8.uint256.uint256ToBN(uint256Value).toString(), 18);
1399
- }
1400
- };
1401
-
1402
- // src/interfaces/lending.ts
1403
- var MarginType = /* @__PURE__ */ ((MarginType2) => {
1404
- MarginType2["SHARED"] = "shared";
1405
- MarginType2["NONE"] = "none";
1406
- return MarginType2;
1407
- })(MarginType || {});
1408
- var ILending = class {
1409
- constructor(config, metadata) {
1410
- this.tokens = [];
1411
- this.initialised = false;
1412
- this.metadata = metadata;
1413
- this.config = config;
1414
- this.init();
1415
- }
1416
- /** Wait for initialisation */
1417
- waitForInitilisation() {
1418
- return new Promise((resolve, reject) => {
1419
- const interval = setInterval(() => {
1420
- logger.verbose(`Waiting for ${this.metadata.name} to initialise`);
1421
- if (this.initialised) {
1422
- logger.verbose(`${this.metadata.name} initialised`);
1423
- clearInterval(interval);
1424
- resolve();
1425
- }
1426
- }, 1e3);
1427
- });
1646
+ return this.fromWei(import_starknet9.uint256.uint256ToBN(uint256Value).toString(), 18);
1428
1647
  }
1429
1648
  };
1430
1649
 
@@ -1458,7 +1677,8 @@ var _ZkLend = class _ZkLend extends ILending {
1458
1677
  decimals: pool.token.decimals,
1459
1678
  borrowFactor: Web3Number2.fromWei(pool.borrow_factor.value, pool.borrow_factor.decimals),
1460
1679
  collareralFactor,
1461
- displayDecimals: 2
1680
+ displayDecimals: 2,
1681
+ indexingType: "ignore" /* IGNORE */
1462
1682
  };
1463
1683
  this.tokens.push(token);
1464
1684
  });
@@ -1586,7 +1806,7 @@ var apolloClient = new import_client.ApolloClient({
1586
1806
  var import_client2 = require("@apollo/client");
1587
1807
 
1588
1808
  // src/modules/ekubo-pricer.ts
1589
- var import_starknet9 = require("starknet");
1809
+ var import_starknet10 = require("starknet");
1590
1810
 
1591
1811
  // src/data/ekubo-price-fethcer.abi.json
1592
1812
  var ekubo_price_fethcer_abi_default = [
@@ -1860,9 +2080,10 @@ var EkuboPricer = class extends PricerBase {
1860
2080
  constructor(config, tokens2) {
1861
2081
  super(config, tokens2);
1862
2082
  this.EKUBO_PRICE_FETCHER_ADDRESS = "0x04946fb4ad5237d97bbb1256eba2080c4fe1de156da6a7f83e3b4823bb6d7da1";
1863
- this.USDC_ADDRESS = "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8";
2083
+ // Updating to new USDC_ADDRESS
2084
+ this.USDC_ADDRESS = "0x033068F6539f8e6e6b131e6B2B814e6c34A5224bC66947c47DaB9dFeE93b35fb";
1864
2085
  this.USDC_DECIMALS = 6;
1865
- this.contract = new import_starknet9.Contract({
2086
+ this.contract = new import_starknet10.Contract({
1866
2087
  abi: ekubo_price_fethcer_abi_default,
1867
2088
  address: this.EKUBO_PRICE_FETCHER_ADDRESS,
1868
2089
  providerOrAccount: config.provider
@@ -2073,7 +2294,7 @@ var PricerFromApi = class extends PricerBase {
2073
2294
  };
2074
2295
 
2075
2296
  // src/modules/erc20.ts
2076
- var import_starknet10 = require("starknet");
2297
+ var import_starknet11 = require("starknet");
2077
2298
 
2078
2299
  // src/data/erc20.abi.json
2079
2300
  var erc20_abi_default = [
@@ -3200,14 +3421,14 @@ var erc20_abi_default = [
3200
3421
  ];
3201
3422
 
3202
3423
  // src/modules/erc20.ts
3203
- var import_starknet11 = require("starknet");
3424
+ var import_starknet12 = require("starknet");
3204
3425
  var ERC20 = class {
3205
3426
  constructor(config) {
3206
3427
  this.config = config;
3207
3428
  }
3208
3429
  contract(addr) {
3209
3430
  const _addr = typeof addr === "string" ? addr : addr.address;
3210
- return new import_starknet10.Contract({ abi: erc20_abi_default, address: _addr, providerOrAccount: this.config.provider });
3431
+ return new import_starknet11.Contract({ abi: erc20_abi_default, address: _addr, providerOrAccount: this.config.provider });
3211
3432
  }
3212
3433
  async balanceOf(token, address, tokenDecimals) {
3213
3434
  const contract = this.contract(token);
@@ -3221,7 +3442,7 @@ var ERC20 = class {
3221
3442
  }
3222
3443
  approve(token, spender, amount) {
3223
3444
  const contract = this.contract(token);
3224
- const amountUint256 = import_starknet11.uint256.bnToUint256(amount.toWei());
3445
+ const amountUint256 = import_starknet12.uint256.bnToUint256(amount.toWei());
3225
3446
  const approveCall = contract.populate("approve", [
3226
3447
  spender.toString(),
3227
3448
  amountUint256.low.toString(),
@@ -3295,192 +3516,6 @@ var EkuboQuoter = class {
3295
3516
  }
3296
3517
  };
3297
3518
 
3298
- // src/interfaces/common.tsx
3299
- var import_starknet12 = require("starknet");
3300
- var import_jsx_runtime = require("react/jsx-runtime");
3301
- var RiskType = /* @__PURE__ */ ((RiskType2) => {
3302
- RiskType2["MARKET_RISK"] = "Market Risk";
3303
- RiskType2["IMPERMANENT_LOSS"] = "Impermanent Loss Risk";
3304
- RiskType2["LIQUIDATION_RISK"] = "Liquidation Risk";
3305
- RiskType2["LOW_LIQUIDITY_RISK"] = "Low Liquidity Risk";
3306
- RiskType2["SMART_CONTRACT_RISK"] = "Smart Contract Risk";
3307
- RiskType2["ORACLE_RISK"] = "Oracle Risk";
3308
- RiskType2["TECHNICAL_RISK"] = "Technical Risk";
3309
- RiskType2["COUNTERPARTY_RISK"] = "Counterparty Risk";
3310
- RiskType2["DEPEG_RISK"] = "Depeg Risk";
3311
- return RiskType2;
3312
- })(RiskType || {});
3313
- var Network = /* @__PURE__ */ ((Network2) => {
3314
- Network2["mainnet"] = "mainnet";
3315
- Network2["sepolia"] = "sepolia";
3316
- Network2["devnet"] = "devnet";
3317
- return Network2;
3318
- })(Network || {});
3319
- var StrategyTag = /* @__PURE__ */ ((StrategyTag3) => {
3320
- StrategyTag3["META_VAULT"] = "Meta Vaults";
3321
- StrategyTag3["LEVERED"] = "Maxx";
3322
- StrategyTag3["AUTOMATED_LP"] = "Ekubo";
3323
- StrategyTag3["BTC"] = "BTC";
3324
- return StrategyTag3;
3325
- })(StrategyTag || {});
3326
- var VaultType = /* @__PURE__ */ ((VaultType2) => {
3327
- VaultType2["LOOPING"] = "Looping";
3328
- VaultType2["META_VAULT"] = "Meta Vault";
3329
- VaultType2["DELTA_NEUTRAL"] = "Delta Neutral";
3330
- VaultType2["AUTOMATED_LP"] = "Automated LP";
3331
- VaultType2["TVA"] = "Troves Value Averaging";
3332
- return VaultType2;
3333
- })(VaultType || {});
3334
- var AuditStatus = /* @__PURE__ */ ((AuditStatus2) => {
3335
- AuditStatus2["AUDITED"] = "Audited";
3336
- AuditStatus2["NOT_AUDITED"] = "Not Audited";
3337
- return AuditStatus2;
3338
- })(AuditStatus || {});
3339
- var SourceCodeType = /* @__PURE__ */ ((SourceCodeType2) => {
3340
- SourceCodeType2["OPEN_SOURCE"] = "Open Source";
3341
- SourceCodeType2["CLOSED_SOURCE"] = "Closed Source";
3342
- return SourceCodeType2;
3343
- })(SourceCodeType || {});
3344
- var AccessControlType = /* @__PURE__ */ ((AccessControlType2) => {
3345
- AccessControlType2["MULTISIG_ACCOUNT"] = "Multisig Account";
3346
- AccessControlType2["STANDARD_ACCOUNT"] = "Standard Account";
3347
- AccessControlType2["ROLE_BASED_ACCESS"] = "Role Based Access";
3348
- return AccessControlType2;
3349
- })(AccessControlType || {});
3350
- var InstantWithdrawalVault = /* @__PURE__ */ ((InstantWithdrawalVault2) => {
3351
- InstantWithdrawalVault2["YES"] = "Yes";
3352
- InstantWithdrawalVault2["NO"] = "No";
3353
- return InstantWithdrawalVault2;
3354
- })(InstantWithdrawalVault || {});
3355
- var FlowChartColors = /* @__PURE__ */ ((FlowChartColors2) => {
3356
- FlowChartColors2["Green"] = "purple";
3357
- FlowChartColors2["Blue"] = "#35484f";
3358
- FlowChartColors2["Purple"] = "#6e53dc";
3359
- return FlowChartColors2;
3360
- })(FlowChartColors || {});
3361
- var StrategyLiveStatus = /* @__PURE__ */ ((StrategyLiveStatus2) => {
3362
- StrategyLiveStatus2["ACTIVE"] = "Active";
3363
- StrategyLiveStatus2["NEW"] = "New";
3364
- StrategyLiveStatus2["COMING_SOON"] = "Coming Soon";
3365
- StrategyLiveStatus2["DEPRECATED"] = "Deprecated";
3366
- StrategyLiveStatus2["RETIRED"] = "Retired";
3367
- StrategyLiveStatus2["HOT"] = "Hot & New \u{1F525}";
3368
- return StrategyLiveStatus2;
3369
- })(StrategyLiveStatus || {});
3370
- function getMainnetConfig(rpcUrl = "https://starknet-mainnet.public.blastapi.io", blockIdentifier = import_starknet12.BlockTag.LATEST) {
3371
- return {
3372
- provider: new import_starknet12.RpcProvider({
3373
- nodeUrl: rpcUrl,
3374
- blockIdentifier
3375
- // specVersion
3376
- }),
3377
- stage: "production",
3378
- network: "mainnet" /* mainnet */
3379
- };
3380
- }
3381
- var getStrategyTagDesciption = (tag) => {
3382
- switch (tag) {
3383
- case "Meta Vaults" /* META_VAULT */:
3384
- return "A meta vault is a vault that auto allocates funds to multiple vaults based on optimal yield opportunities";
3385
- case "Maxx" /* LEVERED */:
3386
- return "Looping vaults on Endur LSTs with leveraged borrowing of STRK or BTC to increase yield (2-4x higher yield than simply staking)";
3387
- case "Ekubo" /* AUTOMATED_LP */:
3388
- return "Automated LP vaults on Ekubo that rebalance position automatically, ensuring you earn fees efficiently";
3389
- case "BTC" /* BTC */:
3390
- return "BTC linked vaults";
3391
- }
3392
- };
3393
- var getAllStrategyTags = () => {
3394
- return Object.values(StrategyTag);
3395
- };
3396
- var getRiskExplaination = (riskType) => {
3397
- switch (riskType) {
3398
- case "Market Risk" /* MARKET_RISK */:
3399
- return "The risk of the market moving against the position.";
3400
- case "Impermanent Loss Risk" /* IMPERMANENT_LOSS */:
3401
- return "The temporary loss of value experienced by liquidity providers in AMMs when asset prices diverge compared to simply holding them.";
3402
- case "Liquidation Risk" /* LIQUIDATION_RISK */:
3403
- return "The risk of losing funds due to the position being liquidated.";
3404
- case "Low Liquidity Risk" /* LOW_LIQUIDITY_RISK */:
3405
- return "The risk of low liquidity in the pool, which can lead to high slippages or reduced in-abilities to quickly exit the position.";
3406
- case "Oracle Risk" /* ORACLE_RISK */:
3407
- return "The risk of the oracle being manipulated or incorrect.";
3408
- case "Smart Contract Risk" /* SMART_CONTRACT_RISK */:
3409
- return "The risk of the smart contract being vulnerable to attacks.";
3410
- case "Technical Risk" /* TECHNICAL_RISK */:
3411
- return "The risk of technical issues e.g. backend failure.";
3412
- case "Counterparty Risk" /* COUNTERPARTY_RISK */:
3413
- return "The risk of the counterparty defaulting e.g. bad debt on lending platforms.";
3414
- case "Depeg Risk" /* DEPEG_RISK */:
3415
- return "The risk of a token losing its peg to the underlying asset, leading to potential losses for holders.";
3416
- }
3417
- };
3418
- var getRiskColor = (risk) => {
3419
- const value = risk.value;
3420
- if (value <= 2) return "light_green_2";
3421
- if (value < 3) return "yellow";
3422
- return "red";
3423
- };
3424
- var getNoRiskTags = (risks) => {
3425
- const noRisks1 = risks.filter((risk) => risk.value === 0).map((risk) => risk.type);
3426
- const noRisks2 = Object.values(RiskType).filter(
3427
- (risk) => !risks.map((risk2) => risk2.type).includes(risk)
3428
- );
3429
- const mergedUnique = [.../* @__PURE__ */ new Set([...noRisks1, ...noRisks2])];
3430
- return mergedUnique;
3431
- };
3432
- function highlightTextWithLinks(put, highlights) {
3433
- const escapeRegExp = (text) => text.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
3434
- const pattern = new RegExp(
3435
- `(${highlights.map((m) => escapeRegExp(m.highlight)).join("|")})`,
3436
- "gi"
3437
- );
3438
- const parts = put.split(pattern);
3439
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: parts.map((part, i) => {
3440
- const match = highlights.find((m) => m.highlight.toLowerCase() === part.toLowerCase());
3441
- return match ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: match.link, target: "_blank", style: { color: "white", background: "rgba(255, 255, 255, 0.04)" }, children: part }, i) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: part }, i);
3442
- }) });
3443
- }
3444
- var VesuProtocol = {
3445
- name: "Vesu",
3446
- logo: "https://static-assets-8zct.onrender.com/integrations/vesu/logo.png"
3447
- };
3448
- var EndurProtocol = {
3449
- name: "Endur",
3450
- logo: "http://endur.fi/logo.png"
3451
- };
3452
- var ExtendedProtocol = {
3453
- name: "Extended",
3454
- logo: "https://static-assets-8zct.onrender.com/integrations/extended/extended.svg"
3455
- };
3456
- var Protocols = {
3457
- VESU: VesuProtocol,
3458
- ENDUR: EndurProtocol,
3459
- EXTENDED: ExtendedProtocol
3460
- };
3461
- var UnwrapLabsCurator = {
3462
- name: "Unwrap Labs",
3463
- logo: "https://assets.troves.fi/integrations/unwraplabs/white.png"
3464
- };
3465
-
3466
- // src/interfaces/initializable.ts
3467
- var Initializable = class {
3468
- constructor() {
3469
- this.initialized = false;
3470
- }
3471
- async waitForInitilisation() {
3472
- return new Promise((resolve, reject) => {
3473
- const interval = setInterval(() => {
3474
- if (this.initialized) {
3475
- console.log("Initialised");
3476
- clearInterval(interval);
3477
- resolve();
3478
- }
3479
- }, 1e3);
3480
- });
3481
- }
3482
- };
3483
-
3484
3519
  // src/strategies/autoCompounderStrk.ts
3485
3520
  var import_starknet13 = require("starknet");
3486
3521
  var AutoCompounderSTRK = class {
@@ -29653,7 +29688,8 @@ var vesuPrimeUSDC = {
29653
29688
  name: "Vesu Prime USDC",
29654
29689
  decimals: 18,
29655
29690
  logo: usdc.logo,
29656
- displayDecimals: 2
29691
+ displayDecimals: 2,
29692
+ indexingType: "ignore" /* IGNORE */
29657
29693
  };
29658
29694
  var strk = Global.getDefaultTokens().find((t) => t.symbol === "STRK");
29659
29695
  function getYoloVaultErc4626Config(mainToken, secondaryToken) {
@@ -36056,6 +36092,7 @@ var deployer_default = Deployer;
36056
36092
  StrategyType,
36057
36093
  TelegramGroupNotif,
36058
36094
  TelegramNotif,
36095
+ TokenIndexingType,
36059
36096
  UNIVERSAL_ADAPTERS,
36060
36097
  UNIVERSAL_MANAGE_IDS,
36061
36098
  UniversalLstMultiplierStrategy,