@strkfarm/sdk 1.1.3 → 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)) },
@@ -49021,7 +49023,8 @@ ${JSON.stringify(data, null, 2)}`;
49021
49023
  address: ContractAddr.from("0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"),
49022
49024
  decimals: 18,
49023
49025
  coingeckId: "starknet",
49024
- displayDecimals: 2
49026
+ displayDecimals: 2,
49027
+ priceCheckAmount: 1e3
49025
49028
  }, {
49026
49029
  name: "xSTRK",
49027
49030
  symbol: "xSTRK",
@@ -49029,6 +49032,7 @@ ${JSON.stringify(data, null, 2)}`;
49029
49032
  address: ContractAddr.from("0x028d709c875c0ceac3dce7065bec5328186dc89fe254527084d1689910954b0a"),
49030
49033
  decimals: 18,
49031
49034
  coingeckId: void 0,
49035
+ priceCheckAmount: 1e3,
49032
49036
  displayDecimals: 2
49033
49037
  }, {
49034
49038
  name: "ETH",
@@ -49037,6 +49041,7 @@ ${JSON.stringify(data, null, 2)}`;
49037
49041
  address: ContractAddr.from("0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"),
49038
49042
  decimals: 18,
49039
49043
  coingeckId: void 0,
49044
+ priceCheckAmount: 0.1,
49040
49045
  displayDecimals: 6
49041
49046
  }, {
49042
49047
  name: "USDC",
@@ -49045,7 +49050,8 @@ ${JSON.stringify(data, null, 2)}`;
49045
49050
  address: ContractAddr.from("0x53c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8"),
49046
49051
  decimals: 6,
49047
49052
  coingeckId: void 0,
49048
- displayDecimals: 2
49053
+ displayDecimals: 2,
49054
+ priceCheckAmount: 1e3
49049
49055
  }, {
49050
49056
  name: "USDT",
49051
49057
  symbol: "USDT",
@@ -49053,12 +49059,13 @@ ${JSON.stringify(data, null, 2)}`;
49053
49059
  address: ContractAddr.from("0x68f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8"),
49054
49060
  decimals: 6,
49055
49061
  coingeckId: void 0,
49062
+ priceCheckAmount: 1e3,
49056
49063
  displayDecimals: 2
49057
49064
  }, {
49058
49065
  name: "WBTC",
49059
49066
  symbol: "WBTC",
49060
49067
  logo: "https://assets.troves.fi/integrations/tokens/wbtc.svg",
49061
- address: ContractAddr.from("0x3fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"),
49068
+ address: ContractAddr.from("0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"),
49062
49069
  decimals: 8,
49063
49070
  coingeckId: void 0,
49064
49071
  displayDecimals: 6,
@@ -49074,6 +49081,26 @@ ${JSON.stringify(data, null, 2)}`;
49074
49081
  displayDecimals: 6,
49075
49082
  priceCheckAmount: 1e-4
49076
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
49077
49104
  }];
49078
49105
  var tokens = defaultTokens;
49079
49106
  var _Global = class _Global {
@@ -51029,7 +51056,7 @@ ${JSON.stringify(data, null, 2)}`;
51029
51056
  return "0x" + result;
51030
51057
  }
51031
51058
 
51032
- // 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
51033
51060
  var import_qs = __toESM(require_lib(), 1);
51034
51061
  var BASE_URL = "https://starknet.api.avnu.fi";
51035
51062
  var ContractError = class {
@@ -67772,14 +67799,31 @@ ${JSON.stringify(data, null, 2)}`;
67772
67799
  name: "Ekubo",
67773
67800
  logo: "https://app.ekubo.org/favicon.ico"
67774
67801
  };
67775
- var _riskFactor2 = [
67776
- { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 34, reason: "Audited smart contracts" },
67777
- { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 0.75, weight: 33, reason: "Low risk due to co-related assets" },
67778
- { 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" }
67779
67806
  ];
67780
- var _riskFactorStable = [
67781
- { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25 }
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" }
67782
67811
  ];
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" }
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
+ };
67783
67827
  var AUDIT_URL2 = "https://assets.troves.fi/strkfarm/audit_report_vesu_and_ekubo_strats.pdf";
67784
67828
  var faqs2 = [
67785
67829
  {
@@ -67794,6 +67838,10 @@ ${JSON.stringify(data, null, 2)}`;
67794
67838
  question: "What happens during withdrawal?",
67795
67839
  answer: "During withdrawal, you may receive either or both tokens depending on market conditions and prevailing prices."
67796
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
+ },
67797
67845
  {
67798
67846
  question: "Is the strategy audited?",
67799
67847
  answer: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
@@ -67828,9 +67876,9 @@ ${JSON.stringify(data, null, 2)}`;
67828
67876
  auditUrl: AUDIT_URL2,
67829
67877
  maxTVL: Web3Number.fromWei("0", 18),
67830
67878
  risk: {
67831
- riskFactor: _riskFactor2,
67832
- netRisk: _riskFactor2.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor2.reduce((acc, curr) => acc + curr.weight, 0),
67833
- 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)
67834
67882
  },
67835
67883
  apyMethodology: "APY based on 7-day historical performance, including fees and rewards.",
67836
67884
  additionalInfo: {
@@ -67846,7 +67894,8 @@ ${JSON.stringify(data, null, 2)}`;
67846
67894
  customShouldRebalance: async (currentPrice) => true,
67847
67895
  minWaitHours: 24,
67848
67896
  direction: "uponly"
67849
- }
67897
+ },
67898
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "STRK")
67850
67899
  },
67851
67900
  faqs: [
67852
67901
  ...faqs2,
@@ -67863,68 +67912,165 @@ ${JSON.stringify(data, null, 2)}`;
67863
67912
  contractDetails: [],
67864
67913
  investmentSteps: []
67865
67914
  };
67866
- var EkuboCLVaultStrategies = [
67867
- 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,
67868
67956
  {
67869
- ...xSTRKSTRK,
67957
+ ...ETHUSDCRe7Strategy,
67870
67958
  name: "Ekubo USDC/USDT",
67871
67959
  description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67872
67960
  address: ContractAddr.from(
67873
- "0xd647ed735f0db52f2a5502b6e06ed21dc4284a43a36af4b60d3c80fbc56c91"
67961
+ "0x3a4f8debaf12af97bb911099bc011d63d6c208d4c5ba8e15d7f437785b0aaa2"
67874
67962
  ),
67875
- launchBlock: 1385576,
67963
+ launchBlock: 1501761,
67876
67964
  // must be same order as poolKey token0 and token1
67877
67965
  depositTokens: [
67878
67966
  Global.getDefaultTokens().find((t) => t.symbol === "USDC"),
67879
67967
  Global.getDefaultTokens().find((t) => t.symbol === "USDT")
67880
67968
  ],
67881
- additionalInfo: {
67882
- newBounds: {
67883
- lower: -1,
67884
- upper: 1
67885
- },
67886
- truePrice: 1,
67887
- feeBps: 1e3,
67888
- rebalanceConditions: {
67889
- customShouldRebalance: async (currentPrice) => currentPrice > 0.99 && currentPrice < 1.01,
67890
- minWaitHours: 6,
67891
- direction: "any"
67892
- }
67893
- }
67969
+ risk: xSTRKSTRK.risk
67894
67970
  },
67895
67971
  {
67896
- ...xSTRKSTRK,
67972
+ ...ETHUSDCRe7Strategy,
67897
67973
  name: "Ekubo STRK/USDC",
67898
67974
  description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67899
67975
  address: ContractAddr.from(
67900
- "0xb7bd37121041261446d8eedec618955a4490641034942da688e8cbddea7b23"
67976
+ "0x351b36d0d9d8b40010658825adeeddb1397436cd41acd0ff6c6e23aaa8b5b30"
67901
67977
  ),
67902
- launchBlock: 1492136,
67978
+ launchBlock: 1501762,
67903
67979
  // must be same order as poolKey token0 and token1
67904
67980
  depositTokens: [
67905
67981
  Global.getDefaultTokens().find((t) => t.symbol === "STRK"),
67906
67982
  Global.getDefaultTokens().find((t) => t.symbol === "USDC")
67907
67983
  ],
67908
- maxTVL: Web3Number.fromWei("0", 6),
67909
- additionalInfo: {
67910
- newBounds: "Managed by Re7",
67911
- feeBps: 1e3,
67912
- rebalanceConditions: {
67913
- customShouldRebalance: async (currentPrice) => true,
67914
- minWaitHours: 6,
67915
- direction: "any"
67916
- }
67917
- }
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
67918
68060
  }
67919
68061
  ];
68062
+ var EkuboCLVaultStrategies = [
68063
+ xSTRKSTRK,
68064
+ ...RE7Strategies
68065
+ ];
67920
68066
  EkuboCLVaultStrategies.forEach((s) => {
67921
68067
  s.contractDetails = [
67922
68068
  {
67923
68069
  address: s.address,
67924
68070
  name: "Vault",
67925
68071
  sourceCodeUrl: "https://github.com/strkfarm/strkfarm-contracts/tree/main/src/strategies/cl_vault"
67926
- },
67927
- ...COMMON_CONTRACTS
68072
+ }
68073
+ // ...COMMON_CONTRACTS
67928
68074
  ];
67929
68075
  s.docs = "https://docs.troves.fi/p/ekubo-cl-vaults";
67930
68076
  s.description = /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
@@ -69892,7 +70038,7 @@ ${JSON.stringify(data, null, 2)}`;
69892
70038
  name: "Endur",
69893
70039
  logo: "https://app.endur.fi/logo.png"
69894
70040
  };
69895
- var _riskFactor3 = [
70041
+ var _riskFactor2 = [
69896
70042
  { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25, reason: "Audited by CSC" },
69897
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." },
69898
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" },
@@ -69967,9 +70113,9 @@ ${JSON.stringify(data, null, 2)}`;
69967
70113
  protocols: [endurProtocol, vesuProtocol],
69968
70114
  maxTVL: new Web3Number("1500000", 18),
69969
70115
  risk: {
69970
- riskFactor: _riskFactor3,
69971
- netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
69972
- 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)
69973
70119
  },
69974
70120
  additionalInfo: {
69975
70121
  mainToken: Global.getDefaultTokens().find((t) => t.symbol === "STRK"),
@@ -75573,7 +75719,7 @@ ${JSON.stringify(data, null, 2)}`;
75573
75719
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, USDCToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */).bind(commonAdapter));
75574
75720
  return vaultSettings;
75575
75721
  }
75576
- var _riskFactor4 = [
75722
+ var _riskFactor3 = [
75577
75723
  { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25, reason: "Audited by Zellic" },
75578
75724
  { type: "Liquidation Risk" /* LIQUIDATION_RISK */, value: 1.5, weight: 50, reason: "Liquidation risk is mitigated by stable price feed on Starknet" },
75579
75725
  { type: "Technical Risk" /* TECHNICAL_RISK */, value: 1, weight: 50, reason: "Technical failures like risk monitoring failures" }
@@ -75777,9 +75923,9 @@ ${JSON.stringify(data, null, 2)}`;
75777
75923
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "USDC")],
75778
75924
  additionalInfo: getLooperSettings("USDC", "ETH", usdcVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75779
75925
  risk: {
75780
- riskFactor: _riskFactor4,
75781
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75782
- 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)
75783
75929
  },
75784
75930
  protocols: [Protocols.VESU],
75785
75931
  maxTVL: Web3Number.fromWei(0, 6),
@@ -75796,9 +75942,9 @@ ${JSON.stringify(data, null, 2)}`;
75796
75942
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "WBTC")],
75797
75943
  additionalInfo: getLooperSettings("WBTC", "ETH", wbtcVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75798
75944
  risk: {
75799
- riskFactor: _riskFactor4,
75800
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75801
- 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)
75802
75948
  },
75803
75949
  protocols: [Protocols.VESU],
75804
75950
  maxTVL: Web3Number.fromWei(0, 8),
@@ -75815,9 +75961,9 @@ ${JSON.stringify(data, null, 2)}`;
75815
75961
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "ETH")],
75816
75962
  additionalInfo: getLooperSettings("ETH", "WBTC", ethVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75817
75963
  risk: {
75818
- riskFactor: _riskFactor4,
75819
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75820
- 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)
75821
75967
  },
75822
75968
  protocols: [Protocols.VESU],
75823
75969
  maxTVL: Web3Number.fromWei(0, 18),
@@ -75834,9 +75980,9 @@ ${JSON.stringify(data, null, 2)}`;
75834
75980
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "STRK")],
75835
75981
  additionalInfo: getLooperSettings("STRK", "ETH", strkVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75836
75982
  risk: {
75837
- riskFactor: _riskFactor4,
75838
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75839
- 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)
75840
75986
  },
75841
75987
  protocols: [Protocols.VESU],
75842
75988
  maxTVL: Web3Number.fromWei(0, 18),
@@ -75853,9 +75999,9 @@ ${JSON.stringify(data, null, 2)}`;
75853
75999
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "USDT")],
75854
76000
  additionalInfo: getLooperSettings("USDT", "ETH", usdtVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75855
76001
  risk: {
75856
- riskFactor: _riskFactor4,
75857
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75858
- 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)
75859
76005
  },
75860
76006
  protocols: [Protocols.VESU],
75861
76007
  maxTVL: Web3Number.fromWei(0, 6),