@strkfarm/sdk 2.0.0-dev.5 → 2.0.0-dev.7

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.
@@ -92380,7 +92380,7 @@ spurious results.`);
92380
92380
  var MAX_RETRIES = Number(process.env.MAX_RETRIES ?? 3);
92381
92381
  var MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
92382
92382
  var EXTEND_MARKET_NAME = "BTC-USD";
92383
- var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 10);
92383
+ var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
92384
92384
  var REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 18e4);
92385
92385
  var WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18e6);
92386
92386
  var INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 18e4);
@@ -92419,8 +92419,7 @@ spurious results.`);
92419
92419
  vesu_leverage: 0
92420
92420
  };
92421
92421
  }
92422
- const extendedBTCExposure = extendedPosition.length > 0 ? new Web3Number(extendedPosition[0].size, WBTC_TOKEN_DECIMALS) : new Web3Number(0, WBTC_TOKEN_DECIMALS);
92423
- const extendedExposureUSD = extendedBTCExposure.multipliedBy(collateralPrice);
92422
+ const extendedExposureUSD = extendedPosition.length > 0 ? new Web3Number(extendedPosition[0].value, WBTC_TOKEN_DECIMALS) : new Web3Number(0, WBTC_TOKEN_DECIMALS);
92424
92423
  const vesuBTCExposureUSD = collateralUnits.multipliedBy(collateralPrice);
92425
92424
  const numerator1 = vesu_leverage * amount + vesuBTCExposureUSD.toNumber();
92426
92425
  const numerator2 = extendedExposureUSD.toNumber();
@@ -92638,6 +92637,7 @@ spurious results.`);
92638
92637
  vaultAllocator: config3.vaultAllocator,
92639
92638
  id: ""
92640
92639
  });
92640
+ this.minimumVesuMovementAmount = config3.minimumVesuMovementAmount ?? 5;
92641
92641
  this.tokenMarketData = new TokenMarketData(
92642
92642
  this.config.pricer,
92643
92643
  this.config.networkConfig
@@ -93646,12 +93646,17 @@ spurious results.`);
93646
93646
  timeout: this.config.extendedTimeout,
93647
93647
  retries: this.config.extendedRetries
93648
93648
  });
93649
+ this.minimumExtendedMovementAmount = this.config.minimumExtendedMovementAmount ?? 5;
93649
93650
  this.client = client;
93651
+ this.retryDelayForOrderStatus = this.config.retryDelayForOrderStatus ?? 3e3;
93650
93652
  }
93651
93653
  //abstract means the method has no implementation in this class; instead, child classes must implement it.
93652
93654
  async getAPY(supportedPosition) {
93653
93655
  const side = supportedPosition.isDebt ? "LONG" : "SHORT";
93654
- const fundingRates = await this.client.getFundingRates(this.config.extendedMarketName, side);
93656
+ const fundingRates = await this.client.getFundingRates(
93657
+ this.config.extendedMarketName,
93658
+ side
93659
+ );
93655
93660
  if (fundingRates.status !== "OK") {
93656
93661
  logger2.error("error getting funding rates", fundingRates);
93657
93662
  return { apy: 0, type: "base" /* BASE */ };
@@ -93695,14 +93700,14 @@ spurious results.`);
93695
93700
  });
93696
93701
  }
93697
93702
  _getDepositLeaf() {
93698
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
93703
+ const usdceToken = Global.getDefaultTokens().find(
93704
+ (token) => token.symbol === "USDCe"
93705
+ );
93699
93706
  return [
93700
93707
  {
93701
93708
  target: this.config.supportedPositions[0].asset.address,
93702
93709
  method: "approve",
93703
- packedArguments: [
93704
- AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()
93705
- ],
93710
+ packedArguments: [AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()],
93706
93711
  id: `extended_approve_${this.config.supportedPositions[0].asset.symbol}`,
93707
93712
  sanitizer: AVNU_LEGACY_SANITIZER
93708
93713
  },
@@ -93733,25 +93738,33 @@ spurious results.`);
93733
93738
  const leafConfigs = this._getSwapFromLegacyLeaf();
93734
93739
  const leaves = leafConfigs.map((config3) => {
93735
93740
  const { target, method, packedArguments, sanitizer, id } = config3;
93736
- const leaf = this.constructSimpleLeafData({
93737
- id,
93738
- target,
93739
- method,
93740
- packedArguments
93741
- }, sanitizer);
93741
+ const leaf = this.constructSimpleLeafData(
93742
+ {
93743
+ id,
93744
+ target,
93745
+ method,
93746
+ packedArguments
93747
+ },
93748
+ sanitizer
93749
+ );
93742
93750
  return leaf;
93743
93751
  });
93744
- return { leaves, callConstructor: this.getSwapFromLegacyCall.bind(this) };
93752
+ return {
93753
+ leaves,
93754
+ callConstructor: this.getSwapFromLegacyCall.bind(
93755
+ this
93756
+ )
93757
+ };
93745
93758
  }
93746
93759
  _getSwapFromLegacyLeaf() {
93747
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
93760
+ const usdceToken = Global.getDefaultTokens().find(
93761
+ (token) => token.symbol === "USDCe"
93762
+ );
93748
93763
  return [
93749
93764
  {
93750
93765
  target: usdceToken.address,
93751
93766
  method: "approve",
93752
- packedArguments: [
93753
- AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()
93754
- ],
93767
+ packedArguments: [AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()],
93755
93768
  id: `extendedswaplegacyapprove_${usdceToken.symbol}`,
93756
93769
  sanitizer: AVNU_LEGACY_SANITIZER
93757
93770
  },
@@ -93770,11 +93783,13 @@ spurious results.`);
93770
93783
  async getDepositCall(params) {
93771
93784
  try {
93772
93785
  const usdcToken = this.config.supportedPositions[0].asset;
93773
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
93774
- const salt = Math.floor(
93775
- Math.random() * 10 ** usdcToken.decimals
93786
+ const usdceToken = Global.getDefaultTokens().find(
93787
+ (token) => token.symbol === "USDCe"
93788
+ );
93789
+ const salt = Math.floor(Math.random() * 10 ** usdcToken.decimals);
93790
+ const amount = uint256_exports.bnToUint256(
93791
+ params.amount.multipliedBy(10).toWei()
93776
93792
  );
93777
- const amount = uint256_exports.bnToUint256(params.amount.multipliedBy(10).toWei());
93778
93793
  const quotes = await this.config.avnuAdapter.getQuotesAvnu(
93779
93794
  usdcToken.address.toString(),
93780
93795
  usdceToken.address.toString(),
@@ -93787,7 +93802,9 @@ spurious results.`);
93787
93802
  logger2.error("error getting quotes from avnu");
93788
93803
  return [];
93789
93804
  }
93790
- const getCalldata = await this.config.avnuAdapter.getSwapCallData(quotes);
93805
+ const getCalldata = await this.config.avnuAdapter.getSwapCallData(
93806
+ quotes
93807
+ );
93791
93808
  const swapCallData = getCalldata[0];
93792
93809
  return [
93793
93810
  {
@@ -93863,8 +93880,12 @@ spurious results.`);
93863
93880
  async getSwapFromLegacyCall(params) {
93864
93881
  try {
93865
93882
  const usdcToken = this.config.supportedPositions[0].asset;
93866
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
93867
- const amount = uint256_exports.bnToUint256(params.amount.multipliedBy(10).toWei());
93883
+ const usdceToken = Global.getDefaultTokens().find(
93884
+ (token) => token.symbol === "USDCe"
93885
+ );
93886
+ const amount = uint256_exports.bnToUint256(
93887
+ params.amount.multipliedBy(10).toWei()
93888
+ );
93868
93889
  const quotes = await this.config.avnuAdapter.getQuotesAvnu(
93869
93890
  usdceToken.address.toString(),
93870
93891
  usdcToken.address.toString(),
@@ -93877,7 +93898,9 @@ spurious results.`);
93877
93898
  logger2.error("error getting quotes from avnu");
93878
93899
  return [];
93879
93900
  }
93880
- const getCalldata = await this.config.avnuAdapter.getSwapCallData(quotes);
93901
+ const getCalldata = await this.config.avnuAdapter.getSwapCallData(
93902
+ quotes
93903
+ );
93881
93904
  const swapCallData = getCalldata[0];
93882
93905
  return [
93883
93906
  {
@@ -93925,9 +93948,14 @@ spurious results.`);
93925
93948
  if (!this.client) {
93926
93949
  throw new Error("Client not initialized");
93927
93950
  }
93928
- const withdrawalRequest = await this.client.withdrawUSDC(amount.toFixed(2));
93951
+ const withdrawalRequest = await this.client.withdrawUSDC(
93952
+ amount.toFixed(2)
93953
+ );
93929
93954
  if (withdrawalRequest.status === "OK") {
93930
- const withdrawalStatus = await this.getDepositOrWithdrawalStatus(withdrawalRequest.data, "WITHDRAWAL" /* WITHDRAWAL */);
93955
+ const withdrawalStatus = await this.getDepositOrWithdrawalStatus(
93956
+ withdrawalRequest.data,
93957
+ "WITHDRAWAL" /* WITHDRAWAL */
93958
+ );
93931
93959
  return withdrawalStatus;
93932
93960
  }
93933
93961
  return false;
@@ -94000,18 +94028,34 @@ spurious results.`);
94000
94028
  logger2.error("error initializing client");
94001
94029
  return null;
94002
94030
  }
94003
- await new Promise((resolve) => setTimeout(resolve, 5e3));
94004
- const orderhistory = await this.getOrderHistory(marketName);
94031
+ let orderhistory = await this.getOrderHistory(marketName);
94005
94032
  if (!orderhistory || orderhistory.length === 0) {
94006
- logger2.error(`error getting order: ${orderId}`);
94007
- return null;
94033
+ logger2.error(`error getting order history: ${orderId}`);
94034
+ } else {
94035
+ const order = orderhistory.slice(0, 10).find((order2) => order2.id.toString() === orderId);
94036
+ if (order) {
94037
+ return order;
94038
+ }
94008
94039
  }
94009
- const order = orderhistory.slice(0, 3).find((order2) => order2.id.toString() === orderId);
94010
- if (!order) {
94011
- logger2.error(`error getting order: ${order}`);
94012
- return null;
94040
+ for (let attempt = 1; attempt <= 5; attempt++) {
94041
+ await new Promise((resolve) => setTimeout(resolve, this.retryDelayForOrderStatus));
94042
+ orderhistory = await this.getOrderHistory(marketName);
94043
+ if (!orderhistory || orderhistory.length === 0) {
94044
+ logger2.error(
94045
+ `error getting order history on retry ${attempt}: ${orderId}`
94046
+ );
94047
+ continue;
94048
+ }
94049
+ const order = orderhistory.slice(0, 5).find((order2) => order2.id.toString() === orderId);
94050
+ if (order && order.status === "FILLED" /* FILLED */) {
94051
+ return order;
94052
+ }
94053
+ logger2.error(
94054
+ `order not found in top 15 entries on retry ${attempt}: ${orderId}`
94055
+ );
94013
94056
  }
94014
- return order;
94057
+ logger2.error(`error getting order after all retries: ${orderId}`);
94058
+ return null;
94015
94059
  }
94016
94060
  async fetchOrderBookBTCUSDC() {
94017
94061
  try {
@@ -94084,8 +94128,11 @@ spurious results.`);
94084
94128
  return null;
94085
94129
  }
94086
94130
  await new Promise((resolve) => setTimeout(resolve, 5e3));
94087
- const openOrder = await this.getOrderStatus(result2.position_id, this.config.extendedMarketName);
94088
- if (!openOrder || openOrder.status !== "FILLED" /* FILLED */) {
94131
+ const openOrder = await this.getOrderStatus(
94132
+ result2.position_id,
94133
+ this.config.extendedMarketName
94134
+ );
94135
+ if (!openOrder) {
94089
94136
  if (attempt >= maxAttempts) {
94090
94137
  logger2.error("Max retries reached \u2014 could not verify open position");
94091
94138
  return null;
@@ -94107,7 +94154,9 @@ spurious results.`);
94107
94154
  };
94108
94155
  }
94109
94156
  } catch (err2) {
94110
- logger2.error(`createShortOrder failed on attempt ${attempt}: ${err2.message}`);
94157
+ logger2.error(
94158
+ `createShortOrder failed on attempt ${attempt}: ${err2.message}`
94159
+ );
94111
94160
  if (attempt < maxAttempts) {
94112
94161
  const backoff = 1200 * attempt;
94113
94162
  logger2.info(`Retrying after ${backoff}ms...`);
@@ -94152,13 +94201,17 @@ spurious results.`);
94152
94201
  operationsStatus: ["COMPLETED" /* COMPLETED */]
94153
94202
  });
94154
94203
  if (operationsType === "DEPOSIT" /* DEPOSIT */) {
94155
- const myTransferStatus = transferHistory.data.find((operation) => operation.transactionHash === orderId);
94204
+ const myTransferStatus = transferHistory.data.find(
94205
+ (operation) => operation.transactionHash === orderId
94206
+ );
94156
94207
  if (!myTransferStatus) {
94157
94208
  return true;
94158
94209
  }
94159
94210
  return true;
94160
94211
  } else {
94161
- const myTransferStatus = transferHistory.data.find((operation) => operation.id.toString() === orderId.toString());
94212
+ const myTransferStatus = transferHistory.data.find(
94213
+ (operation) => operation.id.toString() === orderId.toString()
94214
+ );
94162
94215
  if (!myTransferStatus) {
94163
94216
  return true;
94164
94217
  }
@@ -97430,7 +97483,8 @@ spurious results.`);
97430
97483
  minHealthFactor: vaultSettings.minHealthFactor,
97431
97484
  quoteAmountToFetchPrice: vaultSettings.quoteAmountToFetchPrice,
97432
97485
  ...baseAdapterConfig,
97433
- supportedPositions: [{ asset: lstToken, isDebt: false }, { asset: Global.getDefaultTokens().find((token) => token.symbol === position), isDebt: true }]
97486
+ supportedPositions: [{ asset: lstToken, isDebt: false }, { asset: Global.getDefaultTokens().find((token) => token.symbol === position), isDebt: true }],
97487
+ minimumVesuMovementAmount: 0
97434
97488
  }));
97435
97489
  const unusedBalanceAdapter = new UnusedBalanceAdapter({
97436
97490
  ...baseAdapterConfig
@@ -97889,7 +97943,7 @@ spurious results.`);
97889
97943
  }
97890
97944
  throw new Error("Failed to fetch quote after retries");
97891
97945
  }
97892
- async getQuotesAvnu(from_token_address, to_token_address, amount, takerAddress, toTokenDecimals, usdcToBtc, maxIterations = 5, tolerance = 1e3) {
97946
+ async getQuotesAvnu(from_token_address, to_token_address, amount, takerAddress, toTokenDecimals, usdcToBtc, maxIterations = 5, tolerance = 5e3) {
97893
97947
  try {
97894
97948
  const fromToken = this.config.supportedPositions[0].asset;
97895
97949
  const toToken = this.config.supportedPositions[1].asset;
@@ -98129,7 +98183,8 @@ spurious results.`);
98129
98183
  }
98130
98184
  const balance = await this.getUnusedBalance();
98131
98185
  const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
98132
- const amountToInvest = balance.amount.plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).minus(LIMIT_BALANCE);
98186
+ const amountToInvest = new Web3Number(balance.usdValue, USDC_TOKEN_DECIMALS).plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).multipliedBy(1 - LIMIT_BALANCE);
98187
+ logger2.info(`${_VesuExtendedMultiplierStrategy.name}::shouldInvest amountToInvest: ${amountToInvest.toNumber()}`);
98133
98188
  if (amountToInvest.lessThan(0)) {
98134
98189
  return {
98135
98190
  shouldInvest: false,
@@ -98182,6 +98237,7 @@ spurious results.`);
98182
98237
  vesuLeverage: 0
98183
98238
  };
98184
98239
  }
98240
+ logger2.info(`${_VesuExtendedMultiplierStrategy.name}::shouldInvest vesu_amount: ${vesu_amount.toNumber()}, extended_amount: ${extended_amount.toNumber()}`);
98185
98241
  return {
98186
98242
  shouldInvest: true,
98187
98243
  vesuAmount: vesu_amount,
@@ -98215,7 +98271,7 @@ spurious results.`);
98215
98271
  );
98216
98272
  return calls;
98217
98273
  }
98218
- if (extendedAmount.lessThan(0)) {
98274
+ if (extendedAmount.isNegative() && extendedAmount.abs().greaterThan(extendedAdapter.minimumExtendedMovementAmount)) {
98219
98275
  try {
98220
98276
  const { calls: extendedCalls, status: extendedStatus } = await this.moveAssets(
98221
98277
  {
@@ -98235,7 +98291,7 @@ spurious results.`);
98235
98291
  logger2.error(`Failed moving assets to vault: ${err2}`);
98236
98292
  }
98237
98293
  }
98238
- if (vesuAmount.lessThan(0)) {
98294
+ if (vesuAmount.isNegative() && vesuAmount.lessThan(vesuAdapter.minimumVesuMovementAmount)) {
98239
98295
  try {
98240
98296
  const { calls: vesuCalls, status: vesuStatus } = await this.moveAssets(
98241
98297
  {
@@ -98261,15 +98317,15 @@ spurious results.`);
98261
98317
  }
98262
98318
  const usdcAmountInWallet = (await this.getUnusedBalance()).amount;
98263
98319
  const usdcAmountOnExtended = parseFloat(
98264
- extendedHoldings.availableForTrade
98320
+ extendedHoldings.availableForWithdrawal
98265
98321
  );
98266
- if (extendedAmount.plus(BUFFER_USDC_IN_WITHDRAWAL).minus(usdcAmountOnExtended).greaterThan(0)) {
98322
+ if (extendedAmount.minus(usdcAmountOnExtended).greaterThan(extendedAdapter.minimumExtendedMovementAmount)) {
98267
98323
  try {
98268
98324
  const { calls: extendedCalls } = await this.moveAssets(
98269
98325
  {
98270
98326
  to: Protocols.EXTENDED.name,
98271
98327
  from: Protocols.VAULT.name,
98272
- amount: extendedAmount.plus(BUFFER_USDC_IN_WITHDRAWAL).minus(usdcAmountOnExtended)
98328
+ amount: extendedAmount.minus(usdcAmountOnExtended)
98273
98329
  },
98274
98330
  extendedAdapter,
98275
98331
  vesuAdapter
@@ -98279,7 +98335,7 @@ spurious results.`);
98279
98335
  logger2.error(`Failed moving assets to extended: ${err2}`);
98280
98336
  }
98281
98337
  }
98282
- if (vesuAmount.minus(usdcAmountInWallet).greaterThan(0)) {
98338
+ if (vesuAmount.minus(usdcAmountInWallet).greaterThan(vesuAdapter.minimumVesuMovementAmount)) {
98283
98339
  try {
98284
98340
  const { calls: vesuCalls, status: vesuStatus } = await this.moveAssets(
98285
98341
  {
@@ -98507,7 +98563,7 @@ spurious results.`);
98507
98563
  };
98508
98564
  }
98509
98565
  const extendedHoldingAmount = new Web3Number(
98510
- extendedHoldings.availableForTrade,
98566
+ extendedHoldings.availableForWithdrawal,
98511
98567
  USDC_TOKEN_DECIMALS
98512
98568
  );
98513
98569
  const {
@@ -98567,7 +98623,6 @@ spurious results.`);
98567
98623
  extendedAmountInBTC: new Web3Number(0, 0),
98568
98624
  calls: []
98569
98625
  };
98570
- ;
98571
98626
  }
98572
98627
  }
98573
98628
  async checkPriceDifferenceBetweenAvnuAndExtended(extendedAdapter, vesuAdapter, avnuAdapter) {
@@ -98745,7 +98800,7 @@ spurious results.`);
98745
98800
  };
98746
98801
  }
98747
98802
  };
98748
- function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, extendedBackendUrl, extendedApiKey, vaultIdExtended) {
98803
+ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) {
98749
98804
  vaultSettings.leafAdapters = [];
98750
98805
  const wbtcToken = Global.getDefaultTokens().find(
98751
98806
  (token) => token.symbol === lstSymbol
@@ -98785,7 +98840,10 @@ spurious results.`);
98785
98840
  extendedBaseUrl: "https://api.starknet.extended.exchange",
98786
98841
  extendedMarketName: "BTC-USD",
98787
98842
  extendedPrecision: 5,
98788
- avnuAdapter
98843
+ avnuAdapter,
98844
+ retryDelayForOrderStatus: minimumExtendedRetriesDelayForOrderStatus ?? 3e3,
98845
+ minimumExtendedMovementAmount: minimumExtendedMovementAmount ?? 5
98846
+ //5 usdcs
98789
98847
  });
98790
98848
  const vesuMultiplyAdapter = new VesuMultiplyAdapter({
98791
98849
  poolId: pool1,
@@ -98798,7 +98856,9 @@ spurious results.`);
98798
98856
  supportedPositions: [
98799
98857
  { asset: wbtcToken, isDebt: false },
98800
98858
  { asset: usdcToken, isDebt: true }
98801
- ]
98859
+ ],
98860
+ minimumVesuMovementAmount: minimumVesuMovementAmount ?? 5
98861
+ //5 usdc
98802
98862
  });
98803
98863
  const unusedBalanceAdapter = new UnusedBalanceAdapter({
98804
98864
  ...baseAdapterConfig
@@ -98913,12 +98973,12 @@ spurious results.`);
98913
98973
  borrowable_assets: [Global.getDefaultTokens().find((token) => token.symbol === "WBTC")],
98914
98974
  minimumWBTCDifferenceForAvnuSwap: MINIMUM_WBTC_DIFFERENCE_FOR_AVNU_SWAP
98915
98975
  };
98916
- var VesuExtendedTestStrategies = (extendedBackendUrl, extendedApiKey, vaultIdExtended) => {
98976
+ var VesuExtendedTestStrategies = (extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) => {
98917
98977
  return [
98918
- getStrategySettingsVesuExtended("WBTC", "USDC", re7UsdcPrimeDevansh, false, false, extendedBackendUrl, extendedApiKey, vaultIdExtended)
98978
+ getStrategySettingsVesuExtended("WBTC", "USDC", re7UsdcPrimeDevansh, false, false, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus)
98919
98979
  ];
98920
98980
  };
98921
- function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses, isPreview = false, isLST, extendedBackendUrl, extendedApiKey, vaultIdExtended) {
98981
+ function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses, isPreview = false, isLST, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) {
98922
98982
  return {
98923
98983
  name: `Extended Test ${underlyingSymbol}`,
98924
98984
  description: getDescription2(lstSymbol, underlyingSymbol),
@@ -98926,7 +98986,7 @@ spurious results.`);
98926
98986
  launchBlock: 0,
98927
98987
  type: "Other",
98928
98988
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === underlyingSymbol)],
98929
- additionalInfo: getLooperSettings2(lstSymbol, underlyingSymbol, addresses, VesuPools.Re7USDCPrime, extendedBackendUrl, extendedApiKey, vaultIdExtended),
98989
+ additionalInfo: getLooperSettings2(lstSymbol, underlyingSymbol, addresses, VesuPools.Re7USDCPrime, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus),
98930
98990
  risk: {
98931
98991
  riskFactor: _riskFactor3,
98932
98992
  netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),