@strkfarm/sdk 1.1.4 → 1.1.5

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.
@@ -23128,11 +23128,8 @@ ${r2}}` : "}", l2;
23128
23128
  }
23129
23129
  async fetchEndpoint(method, params) {
23130
23130
  try {
23131
- console.log(`dfsg`);
23132
23131
  const rawResult = await this.fetch(method, params, this.requestId += 1);
23133
- console.log(`dfsg2`);
23134
23132
  const { error: error2, result } = await rawResult.json();
23135
- console.log(`dfsg4`);
23136
23133
  this.errorHandler(method, params, error2);
23137
23134
  return result;
23138
23135
  } catch (error2) {
@@ -23677,11 +23674,8 @@ ${r2}}` : "}", l2;
23677
23674
  }
23678
23675
  async fetchEndpoint(method, params) {
23679
23676
  try {
23680
- console.log(3435);
23681
23677
  const rawResult = await this.fetch(method, params, this.requestId += 1);
23682
- console.log(3435345);
23683
23678
  const { error: error2, result } = await rawResult.json();
23684
- console.log(343534534256);
23685
23679
  this.errorHandler(method, params, error2);
23686
23680
  return result;
23687
23681
  } catch (error2) {
@@ -31481,7 +31475,7 @@ ${r2}}` : "}", l2;
31481
31475
  // node_modules/.pnpm/@starknet-io+types-js@0.8.4/node_modules/@starknet-io/types-js/dist/esm/snip-29/index.js
31482
31476
  var snip_29_exports = {};
31483
31477
 
31484
- // node_modules/.pnpm/@starknet-io+types-js@0.9.1/node_modules/@starknet-io/types-js/dist/esm/index.js
31478
+ // node_modules/.pnpm/@starknet-io+types-js@0.9.2/node_modules/@starknet-io/types-js/dist/esm/index.js
31485
31479
  var esm_exports2 = {};
31486
31480
  __export(esm_exports2, {
31487
31481
  ABI_TYPE_CONSTRUCTOR: () => ABI_TYPE_CONSTRUCTOR2,
@@ -31529,7 +31523,7 @@ ${r2}}` : "}", l2;
31529
31523
  WALLET_API: () => wallet_api_exports2
31530
31524
  });
31531
31525
 
31532
- // node_modules/.pnpm/@starknet-io+types-js@0.9.1/node_modules/@starknet-io/types-js/dist/esm/api/index.js
31526
+ // node_modules/.pnpm/@starknet-io+types-js@0.9.2/node_modules/@starknet-io/types-js/dist/esm/api/index.js
31533
31527
  var api_exports2 = {};
31534
31528
  __export(api_exports2, {
31535
31529
  ABI_TYPE_CONSTRUCTOR: () => ABI_TYPE_CONSTRUCTOR2,
@@ -31572,10 +31566,10 @@ ${r2}}` : "}", l2;
31572
31566
  TXN_TYPE_L1_HANDLER: () => TXN_TYPE_L1_HANDLER2
31573
31567
  });
31574
31568
 
31575
- // node_modules/.pnpm/@starknet-io+types-js@0.9.1/node_modules/@starknet-io/types-js/dist/esm/api/contract.js
31569
+ // node_modules/.pnpm/@starknet-io+types-js@0.9.2/node_modules/@starknet-io/types-js/dist/esm/api/contract.js
31576
31570
  var contract_exports2 = {};
31577
31571
 
31578
- // node_modules/.pnpm/@starknet-io+types-js@0.9.1/node_modules/@starknet-io/types-js/dist/esm/api/constants.js
31572
+ // node_modules/.pnpm/@starknet-io+types-js@0.9.2/node_modules/@starknet-io/types-js/dist/esm/api/constants.js
31579
31573
  var STATUS_ACCEPTED_ON_L22 = "ACCEPTED_ON_L2";
31580
31574
  var STATUS_ACCEPTED_ON_L12 = "ACCEPTED_ON_L1";
31581
31575
  var STATUS_SUCCEEDED2 = "SUCCEEDED";
@@ -31703,25 +31697,25 @@ ${r2}}` : "}", l2;
31703
31697
  F3: ETransactionVersion4.F3
31704
31698
  };
31705
31699
 
31706
- // node_modules/.pnpm/@starknet-io+types-js@0.9.1/node_modules/@starknet-io/types-js/dist/esm/wallet-api/index.js
31700
+ // node_modules/.pnpm/@starknet-io+types-js@0.9.2/node_modules/@starknet-io/types-js/dist/esm/wallet-api/index.js
31707
31701
  var wallet_api_exports2 = {};
31708
31702
  __export(wallet_api_exports2, {
31709
31703
  Permission: () => Permission2,
31710
31704
  TypedDataRevision: () => TypedDataRevision3
31711
31705
  });
31712
31706
 
31713
- // node_modules/.pnpm/@starknet-io+types-js@0.9.1/node_modules/@starknet-io/types-js/dist/esm/wallet-api/constants.js
31707
+ // node_modules/.pnpm/@starknet-io+types-js@0.9.2/node_modules/@starknet-io/types-js/dist/esm/wallet-api/constants.js
31714
31708
  var Permission2 = {
31715
31709
  ACCOUNTS: "accounts"
31716
31710
  };
31717
31711
 
31718
- // node_modules/.pnpm/@starknet-io+types-js@0.9.1/node_modules/@starknet-io/types-js/dist/esm/wallet-api/typedData.js
31712
+ // node_modules/.pnpm/@starknet-io+types-js@0.9.2/node_modules/@starknet-io/types-js/dist/esm/wallet-api/typedData.js
31719
31713
  var TypedDataRevision3 = {
31720
31714
  ACTIVE: "1",
31721
31715
  LEGACY: "0"
31722
31716
  };
31723
31717
 
31724
- // node_modules/.pnpm/@starknet-io+types-js@0.9.1/node_modules/@starknet-io/types-js/dist/esm/snip-29/index.js
31718
+ // node_modules/.pnpm/@starknet-io+types-js@0.9.2/node_modules/@starknet-io/types-js/dist/esm/snip-29/index.js
31725
31719
  var snip_29_exports2 = {};
31726
31720
 
31727
31721
  // node_modules/.pnpm/@scure+base@1.2.1/node_modules/@scure/base/lib/esm/index.js
@@ -39540,7 +39534,7 @@ ${indent}}` : "}";
39540
39534
  var _0n6 = BigInt(0);
39541
39535
  var Point = secp256k1.ProjectivePoint;
39542
39536
 
39543
- // node_modules/.pnpm/starknet@8.5.2/node_modules/starknet/dist/index.mjs
39537
+ // node_modules/.pnpm/starknet@8.5.3/node_modules/starknet/dist/index.mjs
39544
39538
  init_esm();
39545
39539
  var __defProp2 = Object.defineProperty;
39546
39540
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -40573,7 +40567,8 @@ ${JSON.stringify(data, null, 2)}`;
40573
40567
  */
40574
40568
  __publicField(this, "data");
40575
40569
  _a3.validate(data);
40576
- this.data = _a3.__processData(data);
40570
+ const processedData = _a3.__processData(data);
40571
+ this.data = processedData.subarray(processedData.findIndex((x) => x > 0));
40577
40572
  }
40578
40573
  static __processData(data) {
40579
40574
  if (isString2(data)) {
@@ -41155,7 +41150,9 @@ ${JSON.stringify(data, null, 2)}`;
41155
41150
  constructor(data) {
41156
41151
  __publicField(this, "data");
41157
41152
  _a6.validate(data);
41158
- this.data = _a6.__processData(data);
41153
+ const processedData = _a6.__processData(data);
41154
+ this.data = new Uint8Array(_a6.MAX_BYTE_SIZE);
41155
+ this.data.set(processedData, _a6.MAX_BYTE_SIZE - processedData.length);
41159
41156
  }
41160
41157
  static __processData(data) {
41161
41158
  if (isString2(data)) {
@@ -41176,11 +41173,16 @@ ${JSON.stringify(data, null, 2)}`;
41176
41173
  return uint8ArrayToBigInt(this.data);
41177
41174
  }
41178
41175
  decodeUtf8() {
41179
- return new TextDecoder().decode(this.data);
41176
+ const cutoff = this.data.findIndex((x) => x > 0);
41177
+ const pruned = this.data.subarray(cutoff >= 0 ? cutoff : Infinity);
41178
+ return new TextDecoder().decode(pruned);
41180
41179
  }
41181
- toHexString() {
41182
- const hexValue2 = this.data.length === 0 ? "0" : buf2hex(this.data);
41183
- return addHexPrefix(hexValue2);
41180
+ /**
41181
+ * @param padded flag for including leading zeros
41182
+ */
41183
+ toHexString(padded) {
41184
+ const hex = padded === "padded" ? buf2hex(this.data) : this.toBigInt().toString(16);
41185
+ return addHexPrefix(hex);
41184
41186
  }
41185
41187
  static validate(data) {
41186
41188
  const byteLength = _a6.__processData(data).length;
@@ -41453,11 +41455,11 @@ ${JSON.stringify(data, null, 2)}`;
41453
41455
  ]);
41454
41456
  }
41455
41457
  decodeUtf8() {
41456
- const allBytes = this.reconstructBytes();
41458
+ const allBytes = concatenateArrayBuffer(this.toElements());
41457
41459
  return new TextDecoder().decode(allBytes);
41458
41460
  }
41459
41461
  toBigInt() {
41460
- const allBytes = this.reconstructBytes();
41462
+ const allBytes = concatenateArrayBuffer(this.toElements());
41461
41463
  if (allBytes.length === 0) {
41462
41464
  return 0n;
41463
41465
  }
@@ -41468,15 +41470,39 @@ ${JSON.stringify(data, null, 2)}`;
41468
41470
  return result;
41469
41471
  }
41470
41472
  toHexString() {
41471
- const allBytes = this.reconstructBytes();
41473
+ const allBytes = concatenateArrayBuffer(this.toElements());
41472
41474
  const hexValue2 = allBytes.length === 0 ? "0" : buf2hex(allBytes);
41473
41475
  return addHexPrefix(hexValue2);
41474
41476
  }
41475
41477
  toBuffer() {
41476
- this.assertInitialized();
41477
- const allBytes = this.reconstructBytes();
41478
+ const allBytes = concatenateArrayBuffer(this.toElements());
41478
41479
  return buffer_default.from(allBytes);
41479
41480
  }
41481
+ /**
41482
+ * returns an array of all the data chunks and the pending word
41483
+ * when concatenated, represents the original bytes sequence
41484
+ */
41485
+ toElements() {
41486
+ this.assertInitialized();
41487
+ const allChunks = this.data.flatMap((chunk) => chunk.data);
41488
+ const pendingLen = Number(this.pending_word_len.toBigInt());
41489
+ if (pendingLen) {
41490
+ const pending = new Uint8Array(pendingLen);
41491
+ const paddingDifference = pendingLen - this.pending_word.data.length;
41492
+ pending.set(this.pending_word.data, paddingDifference);
41493
+ allChunks.push(pending);
41494
+ }
41495
+ return allChunks;
41496
+ }
41497
+ /**
41498
+ * Private helper to check if the CairoByteArray is properly initialized
41499
+ */
41500
+ assertInitialized() {
41501
+ assert(
41502
+ this.data && this.pending_word !== void 0 && this.pending_word_len !== void 0,
41503
+ "CairoByteArray is not properly initialized"
41504
+ );
41505
+ }
41480
41506
  static validate(data) {
41481
41507
  assert(data !== null && data !== void 0, "Invalid input: null or undefined");
41482
41508
  assert(
@@ -41524,30 +41550,6 @@ ${JSON.stringify(data, null, 2)}`;
41524
41550
  static isAbiType(abiType) {
41525
41551
  return abiType === _a8.abiSelector;
41526
41552
  }
41527
- /**
41528
- * Private helper to check if the CairoByteArray is properly initialized
41529
- */
41530
- assertInitialized() {
41531
- assert(
41532
- this.data && this.pending_word !== void 0 && this.pending_word_len !== void 0,
41533
- "CairoByteArray is not properly initialized"
41534
- );
41535
- }
41536
- /**
41537
- * Private helper to reconstruct the full byte sequence from chunks and pending word
41538
- */
41539
- reconstructBytes() {
41540
- this.assertInitialized();
41541
- const allChunks = this.data.flatMap((chunk) => chunk.data);
41542
- const pendingLen = Number(this.pending_word_len.toBigInt());
41543
- if (pendingLen) {
41544
- const pending = new Uint8Array(pendingLen);
41545
- const paddingDifference = pendingLen - this.pending_word.data.length;
41546
- pending.set(this.pending_word.data, paddingDifference);
41547
- allChunks.push(pending);
41548
- }
41549
- return concatenateArrayBuffer(allChunks);
41550
- }
41551
41553
  static factoryFromApiResponse(responseIterator) {
41552
41554
  const data = Array.from(
41553
41555
  { length: Number(getNext(responseIterator)) },
@@ -49063,7 +49065,7 @@ ${JSON.stringify(data, null, 2)}`;
49063
49065
  name: "WBTC",
49064
49066
  symbol: "WBTC",
49065
49067
  logo: "https://assets.troves.fi/integrations/tokens/wbtc.svg",
49066
- address: ContractAddr.from("0x3fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"),
49068
+ address: ContractAddr.from("0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"),
49067
49069
  decimals: 8,
49068
49070
  coingeckId: void 0,
49069
49071
  displayDecimals: 6,
@@ -49079,6 +49081,26 @@ ${JSON.stringify(data, null, 2)}`;
49079
49081
  displayDecimals: 6,
49080
49082
  priceCheckAmount: 1e-4
49081
49083
  // 112000 * 0.0001 = $11.2
49084
+ }, {
49085
+ name: "solvBTC",
49086
+ symbol: "solvBTC",
49087
+ logo: "https://assets.strkfarm.com/integrations/tokens/solvbtc.svg",
49088
+ address: ContractAddr.from("0x0593e034dda23eea82d2ba9a30960ed42cf4a01502cc2351dc9b9881f9931a68"),
49089
+ decimals: 18,
49090
+ coingeckId: void 0,
49091
+ displayDecimals: 6,
49092
+ priceCheckAmount: 1e-4
49093
+ // 112000 * 0.0001 = $11.2
49094
+ }, {
49095
+ name: "LBTC",
49096
+ symbol: "LBTC",
49097
+ logo: "https://assets.strkfarm.com/integrations/tokens/lbtc.svg",
49098
+ address: ContractAddr.from("0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4"),
49099
+ decimals: 8,
49100
+ coingeckId: void 0,
49101
+ displayDecimals: 6,
49102
+ priceCheckAmount: 1e-4
49103
+ // 112000 * 0.0001 = $11.2
49082
49104
  }];
49083
49105
  var tokens = defaultTokens;
49084
49106
  var _Global = class _Global {
@@ -51034,7 +51056,7 @@ ${JSON.stringify(data, null, 2)}`;
51034
51056
  return "0x" + result;
51035
51057
  }
51036
51058
 
51037
- // node_modules/.pnpm/@avnu+avnu-sdk@3.0.2_ethers@6.15.0_moment@2.30.1_qs@6.14.0_starknet@8.5.2/node_modules/@avnu/avnu-sdk/dist/index.mjs
51059
+ // node_modules/.pnpm/@avnu+avnu-sdk@3.0.2_ethers@6.15.0_moment@2.30.1_qs@6.14.0_starknet@8.5.3/node_modules/@avnu/avnu-sdk/dist/index.mjs
51038
51060
  var import_qs = __toESM(require_lib(), 1);
51039
51061
  var BASE_URL = "https://starknet.api.avnu.fi";
51040
51062
  var ContractError = class {
@@ -67777,14 +67799,31 @@ ${JSON.stringify(data, null, 2)}`;
67777
67799
  name: "Ekubo",
67778
67800
  logo: "https://app.ekubo.org/favicon.ico"
67779
67801
  };
67780
- var _riskFactor2 = [
67781
- { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 34, reason: "Audited smart contracts" },
67782
- { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 0.75, weight: 33, reason: "Low risk due to co-related assets" },
67783
- { type: "Market Risk" /* MARKET_RISK */, value: 0.75, weight: 33, reason: "Low risk due to co-related assets" }
67802
+ var _corelatedPoolRiskFactors = [
67803
+ { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 2 /* WELL_AUDITED */, weight: 34, reason: "Audited smart contracts" },
67804
+ { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 1 /* HIGHLY_CORRELATED */, weight: 33, reason: "Low risk due to co-related assets" },
67805
+ { type: "Market Risk" /* MARKET_RISK */, value: 1 /* VERY_LOW_VOLATILITY */, weight: 33, reason: "Low risk due to co-related assets" }
67806
+ ];
67807
+ var mediumVolatilityPoolRiskFactors = [
67808
+ { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 2 /* WELL_AUDITED */, weight: 34, reason: "Audited smart contracts" },
67809
+ { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 3 /* NON_CORRELATED */, weight: 33, reason: "Low risk due to co-related assets" },
67810
+ { type: "Market Risk" /* MARKET_RISK */, value: 3 /* MODERATE_VOLATILITY */, weight: 33, reason: "Low risk due to co-related assets" }
67784
67811
  ];
67785
- var _riskFactorStable = [
67786
- { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25 }
67812
+ var highVolatilityPoolRiskFactors = [
67813
+ { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 2 /* WELL_AUDITED */, weight: 34, reason: "Audited smart contracts" },
67814
+ { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 3 /* NON_CORRELATED */, weight: 33, reason: "Low risk due to co-related assets" },
67815
+ { type: "Market Risk" /* MARKET_RISK */, value: 4 /* HIGH_VOLATILITY */, weight: 33, reason: "Low risk due to co-related assets" }
67787
67816
  ];
67817
+ var mediumRisk = {
67818
+ riskFactor: mediumVolatilityPoolRiskFactors,
67819
+ netRisk: mediumVolatilityPoolRiskFactors.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / mediumVolatilityPoolRiskFactors.reduce((acc, curr) => acc + curr.weight, 0),
67820
+ notARisks: getNoRiskTags(mediumVolatilityPoolRiskFactors)
67821
+ };
67822
+ var highRisk = {
67823
+ riskFactor: highVolatilityPoolRiskFactors,
67824
+ netRisk: highVolatilityPoolRiskFactors.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / highVolatilityPoolRiskFactors.reduce((acc, curr) => acc + curr.weight, 0),
67825
+ notARisks: getNoRiskTags(highVolatilityPoolRiskFactors)
67826
+ };
67788
67827
  var AUDIT_URL2 = "https://assets.troves.fi/strkfarm/audit_report_vesu_and_ekubo_strats.pdf";
67789
67828
  var faqs2 = [
67790
67829
  {
@@ -67799,6 +67838,10 @@ ${JSON.stringify(data, null, 2)}`;
67799
67838
  question: "What happens during withdrawal?",
67800
67839
  answer: "During withdrawal, you may receive either or both tokens depending on market conditions and prevailing prices."
67801
67840
  },
67841
+ {
67842
+ question: "Are there any deposit/withdrawal fees?",
67843
+ answer: "No, there are no deposit/withdrawal fees. However, there is a performance fee varying between 10-20% of the fees and rewards generated. The exact fee is determined by the strategy and the APY shown is net of this fee."
67844
+ },
67802
67845
  {
67803
67846
  question: "Is the strategy audited?",
67804
67847
  answer: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
@@ -67833,9 +67876,9 @@ ${JSON.stringify(data, null, 2)}`;
67833
67876
  auditUrl: AUDIT_URL2,
67834
67877
  maxTVL: Web3Number.fromWei("0", 18),
67835
67878
  risk: {
67836
- riskFactor: _riskFactor2,
67837
- netRisk: _riskFactor2.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor2.reduce((acc, curr) => acc + curr.weight, 0),
67838
- notARisks: getNoRiskTags(_riskFactor2)
67879
+ riskFactor: _corelatedPoolRiskFactors,
67880
+ netRisk: _corelatedPoolRiskFactors.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _corelatedPoolRiskFactors.reduce((acc, curr) => acc + curr.weight, 0),
67881
+ notARisks: getNoRiskTags(_corelatedPoolRiskFactors)
67839
67882
  },
67840
67883
  apyMethodology: "APY based on 7-day historical performance, including fees and rewards.",
67841
67884
  additionalInfo: {
@@ -67851,7 +67894,8 @@ ${JSON.stringify(data, null, 2)}`;
67851
67894
  customShouldRebalance: async (currentPrice) => true,
67852
67895
  minWaitHours: 24,
67853
67896
  direction: "uponly"
67854
- }
67897
+ },
67898
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "STRK")
67855
67899
  },
67856
67900
  faqs: [
67857
67901
  ...faqs2,
@@ -67868,68 +67912,165 @@ ${JSON.stringify(data, null, 2)}`;
67868
67912
  contractDetails: [],
67869
67913
  investmentSteps: []
67870
67914
  };
67871
- var EkuboCLVaultStrategies = [
67872
- xSTRKSTRK,
67915
+ var ETHUSDCRe7Strategy = {
67916
+ ...xSTRKSTRK,
67917
+ name: "Ekubo ETH/USDC",
67918
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67919
+ address: ContractAddr.from(
67920
+ "0x160d8fa4569ef6a12e6bf47cb943d7b5ebba8a41a69a14c1d943050ba5ff947"
67921
+ ),
67922
+ launchBlock: 1501761,
67923
+ // must be same order as poolKey token0 and token1
67924
+ depositTokens: [
67925
+ Global.getDefaultTokens().find((t) => t.symbol === "ETH"),
67926
+ Global.getDefaultTokens().find((t) => t.symbol === "USDC")
67927
+ ],
67928
+ additionalInfo: {
67929
+ newBounds: "Managed by Re7",
67930
+ truePrice: 1,
67931
+ feeBps: 1e3,
67932
+ rebalanceConditions: {
67933
+ customShouldRebalance: async (currentPrice) => currentPrice > 0.99 && currentPrice < 1.01,
67934
+ minWaitHours: 6,
67935
+ direction: "any"
67936
+ },
67937
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "USDC")
67938
+ },
67939
+ faqs: [
67940
+ ...faqs2,
67941
+ {
67942
+ question: "Who is the curator of this strategy?",
67943
+ answer: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
67944
+ "Re7 Labs is the curator of this strategy. Re7 Labs is a well-known Web3 asset management firm. This strategy is completely managed by them, including ownership of the vault. Troves is developer of the smart contracts and maintains infrastructure to help users access these strategies. You can find more information about them on their website ",
67945
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("a", { href: "https://www.re7labs.xyz", style: { textDecoration: "underline", marginLeft: "2px" }, target: "_blank", children: "here" }),
67946
+ "."
67947
+ ] })
67948
+ }
67949
+ ],
67950
+ risk: highRisk,
67951
+ points: [],
67952
+ curator: { name: "Re7 Labs", logo: "https://www.re7labs.xyz/favicon.ico" }
67953
+ };
67954
+ var RE7Strategies = [
67955
+ ETHUSDCRe7Strategy,
67873
67956
  {
67874
- ...xSTRKSTRK,
67957
+ ...ETHUSDCRe7Strategy,
67875
67958
  name: "Ekubo USDC/USDT",
67876
67959
  description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67877
67960
  address: ContractAddr.from(
67878
- "0xd647ed735f0db52f2a5502b6e06ed21dc4284a43a36af4b60d3c80fbc56c91"
67961
+ "0x3a4f8debaf12af97bb911099bc011d63d6c208d4c5ba8e15d7f437785b0aaa2"
67879
67962
  ),
67880
- launchBlock: 1385576,
67963
+ launchBlock: 1501761,
67881
67964
  // must be same order as poolKey token0 and token1
67882
67965
  depositTokens: [
67883
67966
  Global.getDefaultTokens().find((t) => t.symbol === "USDC"),
67884
67967
  Global.getDefaultTokens().find((t) => t.symbol === "USDT")
67885
67968
  ],
67886
- additionalInfo: {
67887
- newBounds: {
67888
- lower: -1,
67889
- upper: 1
67890
- },
67891
- truePrice: 1,
67892
- feeBps: 1e3,
67893
- rebalanceConditions: {
67894
- customShouldRebalance: async (currentPrice) => currentPrice > 0.99 && currentPrice < 1.01,
67895
- minWaitHours: 6,
67896
- direction: "any"
67897
- }
67898
- }
67969
+ risk: xSTRKSTRK.risk
67899
67970
  },
67900
67971
  {
67901
- ...xSTRKSTRK,
67972
+ ...ETHUSDCRe7Strategy,
67902
67973
  name: "Ekubo STRK/USDC",
67903
67974
  description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67904
67975
  address: ContractAddr.from(
67905
- "0xb7bd37121041261446d8eedec618955a4490641034942da688e8cbddea7b23"
67976
+ "0x351b36d0d9d8b40010658825adeeddb1397436cd41acd0ff6c6e23aaa8b5b30"
67906
67977
  ),
67907
- launchBlock: 1492136,
67978
+ launchBlock: 1501762,
67908
67979
  // must be same order as poolKey token0 and token1
67909
67980
  depositTokens: [
67910
67981
  Global.getDefaultTokens().find((t) => t.symbol === "STRK"),
67911
67982
  Global.getDefaultTokens().find((t) => t.symbol === "USDC")
67912
67983
  ],
67913
- maxTVL: Web3Number.fromWei("0", 6),
67914
- additionalInfo: {
67915
- newBounds: "Managed by Re7",
67916
- feeBps: 1e3,
67917
- rebalanceConditions: {
67918
- customShouldRebalance: async (currentPrice) => true,
67919
- minWaitHours: 6,
67920
- direction: "any"
67921
- }
67922
- }
67984
+ risk: highRisk
67985
+ },
67986
+ {
67987
+ ...ETHUSDCRe7Strategy,
67988
+ name: "Ekubo STRK/ETH",
67989
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67990
+ address: ContractAddr.from(
67991
+ "0x4ce3024b0ee879009112d7b0e073f8a87153dd35b029347d4247ffe48d28f51"
67992
+ ),
67993
+ launchBlock: 1501763,
67994
+ // must be same order as poolKey token0 and token1
67995
+ depositTokens: [
67996
+ Global.getDefaultTokens().find((t) => t.symbol === "STRK"),
67997
+ Global.getDefaultTokens().find((t) => t.symbol === "ETH")
67998
+ ],
67999
+ risk: highRisk
68000
+ },
68001
+ {
68002
+ ...ETHUSDCRe7Strategy,
68003
+ name: "Ekubo WBTC/USDC",
68004
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68005
+ address: ContractAddr.from(
68006
+ "0x2bcaef2eb7706875a5fdc6853dd961a0590f850bc3a031c59887189b5e84ba1"
68007
+ ),
68008
+ launchBlock: 1501764,
68009
+ // must be same order as poolKey token0 and token1
68010
+ depositTokens: [
68011
+ Global.getDefaultTokens().find((t) => t.symbol === "WBTC"),
68012
+ Global.getDefaultTokens().find((t) => t.symbol === "USDC")
68013
+ ],
68014
+ risk: mediumRisk
68015
+ },
68016
+ {
68017
+ ...ETHUSDCRe7Strategy,
68018
+ name: "Ekubo tBTC/USDC",
68019
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68020
+ address: ContractAddr.from(
68021
+ "0x4aad891a2d4432fba06b6558631bb13f6bbd7f6f33ab8c3111e344889ea4456"
68022
+ ),
68023
+ launchBlock: 1501764,
68024
+ // must be same order as poolKey token0 and token1
68025
+ depositTokens: [
68026
+ Global.getDefaultTokens().find((t) => t.symbol === "tBTC"),
68027
+ Global.getDefaultTokens().find((t) => t.symbol === "USDC")
68028
+ ],
68029
+ risk: mediumRisk
68030
+ },
68031
+ {
68032
+ ...ETHUSDCRe7Strategy,
68033
+ name: "Ekubo WBTC/ETH",
68034
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68035
+ address: ContractAddr.from(
68036
+ "0x1c9232b8186d9317652f05055615f18a120c2ad9e5ee96c39e031c257fb945b"
68037
+ ),
68038
+ launchBlock: 1501765,
68039
+ // must be same order as poolKey token0 and token1
68040
+ depositTokens: [
68041
+ Global.getDefaultTokens().find((t) => t.symbol === "WBTC"),
68042
+ Global.getDefaultTokens().find((t) => t.symbol === "ETH")
68043
+ ],
68044
+ risk: mediumRisk
68045
+ },
68046
+ {
68047
+ ...ETHUSDCRe7Strategy,
68048
+ name: "Ekubo WBTC/STRK",
68049
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68050
+ address: ContractAddr.from(
68051
+ "0x1248e385c23a929a015ec298a26560fa7745bbd6e41a886550e337b02714b1b"
68052
+ ),
68053
+ launchBlock: 1501766,
68054
+ // must be same order as poolKey token0 and token1
68055
+ depositTokens: [
68056
+ Global.getDefaultTokens().find((t) => t.symbol === "WBTC"),
68057
+ Global.getDefaultTokens().find((t) => t.symbol === "STRK")
68058
+ ],
68059
+ risk: highRisk
67923
68060
  }
67924
68061
  ];
68062
+ var EkuboCLVaultStrategies = [
68063
+ xSTRKSTRK,
68064
+ ...RE7Strategies
68065
+ ];
67925
68066
  EkuboCLVaultStrategies.forEach((s) => {
67926
68067
  s.contractDetails = [
67927
68068
  {
67928
68069
  address: s.address,
67929
68070
  name: "Vault",
67930
68071
  sourceCodeUrl: "https://github.com/strkfarm/strkfarm-contracts/tree/main/src/strategies/cl_vault"
67931
- },
67932
- ...COMMON_CONTRACTS
68072
+ }
68073
+ // ...COMMON_CONTRACTS
67933
68074
  ];
67934
68075
  s.docs = "https://docs.troves.fi/p/ekubo-cl-vaults";
67935
68076
  s.description = /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
@@ -69897,7 +70038,7 @@ ${JSON.stringify(data, null, 2)}`;
69897
70038
  name: "Endur",
69898
70039
  logo: "https://app.endur.fi/logo.png"
69899
70040
  };
69900
- var _riskFactor3 = [
70041
+ var _riskFactor2 = [
69901
70042
  { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25, reason: "Audited by CSC" },
69902
70043
  { type: "Depeg Risk" /* DEPEG_RISK */, value: 0.25, weight: 25, reason: "Depending on prevailing market conditions and trading activity, xSTRK may lose its peg to the underlying asset." },
69903
70044
  { type: "Liquidation Risk" /* LIQUIDATION_RISK */, value: 0.1, weight: 10, reason: "Liquidation risk is low due to the nature of the Re7 Pool on Vesu" },
@@ -69972,9 +70113,9 @@ ${JSON.stringify(data, null, 2)}`;
69972
70113
  protocols: [endurProtocol, vesuProtocol],
69973
70114
  maxTVL: new Web3Number("1500000", 18),
69974
70115
  risk: {
69975
- riskFactor: _riskFactor3,
69976
- netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
69977
- notARisks: getNoRiskTags(_riskFactor3)
70116
+ riskFactor: _riskFactor2,
70117
+ netRisk: _riskFactor2.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor2.reduce((acc, curr) => acc + curr.weight, 0),
70118
+ notARisks: getNoRiskTags(_riskFactor2)
69978
70119
  },
69979
70120
  additionalInfo: {
69980
70121
  mainToken: Global.getDefaultTokens().find((t) => t.symbol === "STRK"),
@@ -75578,7 +75719,7 @@ ${JSON.stringify(data, null, 2)}`;
75578
75719
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, USDCToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */).bind(commonAdapter));
75579
75720
  return vaultSettings;
75580
75721
  }
75581
- var _riskFactor4 = [
75722
+ var _riskFactor3 = [
75582
75723
  { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25, reason: "Audited by Zellic" },
75583
75724
  { type: "Liquidation Risk" /* LIQUIDATION_RISK */, value: 1.5, weight: 50, reason: "Liquidation risk is mitigated by stable price feed on Starknet" },
75584
75725
  { type: "Technical Risk" /* TECHNICAL_RISK */, value: 1, weight: 50, reason: "Technical failures like risk monitoring failures" }
@@ -75782,9 +75923,9 @@ ${JSON.stringify(data, null, 2)}`;
75782
75923
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "USDC")],
75783
75924
  additionalInfo: getLooperSettings("USDC", "ETH", usdcVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75784
75925
  risk: {
75785
- riskFactor: _riskFactor4,
75786
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75787
- notARisks: getNoRiskTags(_riskFactor4)
75926
+ riskFactor: _riskFactor3,
75927
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
75928
+ notARisks: getNoRiskTags(_riskFactor3)
75788
75929
  },
75789
75930
  protocols: [Protocols.VESU],
75790
75931
  maxTVL: Web3Number.fromWei(0, 6),
@@ -75801,9 +75942,9 @@ ${JSON.stringify(data, null, 2)}`;
75801
75942
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "WBTC")],
75802
75943
  additionalInfo: getLooperSettings("WBTC", "ETH", wbtcVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75803
75944
  risk: {
75804
- riskFactor: _riskFactor4,
75805
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75806
- notARisks: getNoRiskTags(_riskFactor4)
75945
+ riskFactor: _riskFactor3,
75946
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
75947
+ notARisks: getNoRiskTags(_riskFactor3)
75807
75948
  },
75808
75949
  protocols: [Protocols.VESU],
75809
75950
  maxTVL: Web3Number.fromWei(0, 8),
@@ -75820,9 +75961,9 @@ ${JSON.stringify(data, null, 2)}`;
75820
75961
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "ETH")],
75821
75962
  additionalInfo: getLooperSettings("ETH", "WBTC", ethVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75822
75963
  risk: {
75823
- riskFactor: _riskFactor4,
75824
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75825
- notARisks: getNoRiskTags(_riskFactor4)
75964
+ riskFactor: _riskFactor3,
75965
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
75966
+ notARisks: getNoRiskTags(_riskFactor3)
75826
75967
  },
75827
75968
  protocols: [Protocols.VESU],
75828
75969
  maxTVL: Web3Number.fromWei(0, 18),
@@ -75839,9 +75980,9 @@ ${JSON.stringify(data, null, 2)}`;
75839
75980
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "STRK")],
75840
75981
  additionalInfo: getLooperSettings("STRK", "ETH", strkVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75841
75982
  risk: {
75842
- riskFactor: _riskFactor4,
75843
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75844
- notARisks: getNoRiskTags(_riskFactor4)
75983
+ riskFactor: _riskFactor3,
75984
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
75985
+ notARisks: getNoRiskTags(_riskFactor3)
75845
75986
  },
75846
75987
  protocols: [Protocols.VESU],
75847
75988
  maxTVL: Web3Number.fromWei(0, 18),
@@ -75858,9 +75999,9 @@ ${JSON.stringify(data, null, 2)}`;
75858
75999
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "USDT")],
75859
76000
  additionalInfo: getLooperSettings("USDT", "ETH", usdtVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75860
76001
  risk: {
75861
- riskFactor: _riskFactor4,
75862
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75863
- notARisks: getNoRiskTags(_riskFactor4)
76002
+ riskFactor: _riskFactor3,
76003
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
76004
+ notARisks: getNoRiskTags(_riskFactor3)
75864
76005
  },
75865
76006
  protocols: [Protocols.VESU],
75866
76007
  maxTVL: Web3Number.fromWei(0, 6),