@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.
package/dist/index.js CHANGED
@@ -28168,7 +28168,7 @@ var STRK_API_RPC = process.env.STRK_API_RPC ?? "https://mainnet.starknet.a5a.ch"
28168
28168
  var MAX_RETRIES = Number(process.env.MAX_RETRIES ?? 3);
28169
28169
  var MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
28170
28170
  var EXTEND_MARKET_NAME = "BTC-USD";
28171
- var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 10);
28171
+ var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
28172
28172
  var REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 18e4);
28173
28173
  var WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18e6);
28174
28174
  var INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 18e4);
@@ -28207,8 +28207,7 @@ var calculateAmountDistribution = async (amount, client, marketName, collateralP
28207
28207
  vesu_leverage: 0
28208
28208
  };
28209
28209
  }
28210
- const extendedBTCExposure = extendedPosition.length > 0 ? new Web3Number(extendedPosition[0].size, WBTC_TOKEN_DECIMALS) : new Web3Number(0, WBTC_TOKEN_DECIMALS);
28211
- const extendedExposureUSD = extendedBTCExposure.multipliedBy(collateralPrice);
28210
+ const extendedExposureUSD = extendedPosition.length > 0 ? new Web3Number(extendedPosition[0].value, WBTC_TOKEN_DECIMALS) : new Web3Number(0, WBTC_TOKEN_DECIMALS);
28212
28211
  const vesuBTCExposureUSD = collateralUnits.multipliedBy(collateralPrice);
28213
28212
  const numerator1 = vesu_leverage * amount + vesuBTCExposureUSD.toNumber();
28214
28213
  const numerator2 = extendedExposureUSD.toNumber();
@@ -28426,6 +28425,7 @@ var VesuMultiplyAdapter = class _VesuMultiplyAdapter extends BaseAdapter {
28426
28425
  vaultAllocator: config.vaultAllocator,
28427
28426
  id: ""
28428
28427
  });
28428
+ this.minimumVesuMovementAmount = config.minimumVesuMovementAmount ?? 5;
28429
28429
  this.tokenMarketData = new TokenMarketData(
28430
28430
  this.config.pricer,
28431
28431
  this.config.networkConfig
@@ -29772,12 +29772,17 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29772
29772
  timeout: this.config.extendedTimeout,
29773
29773
  retries: this.config.extendedRetries
29774
29774
  });
29775
+ this.minimumExtendedMovementAmount = this.config.minimumExtendedMovementAmount ?? 5;
29775
29776
  this.client = client;
29777
+ this.retryDelayForOrderStatus = this.config.retryDelayForOrderStatus ?? 3e3;
29776
29778
  }
29777
29779
  //abstract means the method has no implementation in this class; instead, child classes must implement it.
29778
29780
  async getAPY(supportedPosition) {
29779
29781
  const side = supportedPosition.isDebt ? "LONG" : "SHORT";
29780
- const fundingRates = await this.client.getFundingRates(this.config.extendedMarketName, side);
29782
+ const fundingRates = await this.client.getFundingRates(
29783
+ this.config.extendedMarketName,
29784
+ side
29785
+ );
29781
29786
  if (fundingRates.status !== "OK") {
29782
29787
  logger.error("error getting funding rates", fundingRates);
29783
29788
  return { apy: 0, type: "base" /* BASE */ };
@@ -29821,14 +29826,14 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29821
29826
  });
29822
29827
  }
29823
29828
  _getDepositLeaf() {
29824
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29829
+ const usdceToken = Global.getDefaultTokens().find(
29830
+ (token) => token.symbol === "USDCe"
29831
+ );
29825
29832
  return [
29826
29833
  {
29827
29834
  target: this.config.supportedPositions[0].asset.address,
29828
29835
  method: "approve",
29829
- packedArguments: [
29830
- AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()
29831
- ],
29836
+ packedArguments: [AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()],
29832
29837
  id: `extended_approve_${this.config.supportedPositions[0].asset.symbol}`,
29833
29838
  sanitizer: AVNU_LEGACY_SANITIZER
29834
29839
  },
@@ -29859,25 +29864,33 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29859
29864
  const leafConfigs = this._getSwapFromLegacyLeaf();
29860
29865
  const leaves = leafConfigs.map((config) => {
29861
29866
  const { target, method, packedArguments, sanitizer, id } = config;
29862
- const leaf = this.constructSimpleLeafData({
29863
- id,
29864
- target,
29865
- method,
29866
- packedArguments
29867
- }, sanitizer);
29867
+ const leaf = this.constructSimpleLeafData(
29868
+ {
29869
+ id,
29870
+ target,
29871
+ method,
29872
+ packedArguments
29873
+ },
29874
+ sanitizer
29875
+ );
29868
29876
  return leaf;
29869
29877
  });
29870
- return { leaves, callConstructor: this.getSwapFromLegacyCall.bind(this) };
29878
+ return {
29879
+ leaves,
29880
+ callConstructor: this.getSwapFromLegacyCall.bind(
29881
+ this
29882
+ )
29883
+ };
29871
29884
  }
29872
29885
  _getSwapFromLegacyLeaf() {
29873
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29886
+ const usdceToken = Global.getDefaultTokens().find(
29887
+ (token) => token.symbol === "USDCe"
29888
+ );
29874
29889
  return [
29875
29890
  {
29876
29891
  target: usdceToken.address,
29877
29892
  method: "approve",
29878
- packedArguments: [
29879
- AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()
29880
- ],
29893
+ packedArguments: [AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()],
29881
29894
  id: `extendedswaplegacyapprove_${usdceToken.symbol}`,
29882
29895
  sanitizer: AVNU_LEGACY_SANITIZER
29883
29896
  },
@@ -29896,11 +29909,13 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29896
29909
  async getDepositCall(params) {
29897
29910
  try {
29898
29911
  const usdcToken = this.config.supportedPositions[0].asset;
29899
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29900
- const salt = Math.floor(
29901
- Math.random() * 10 ** usdcToken.decimals
29912
+ const usdceToken = Global.getDefaultTokens().find(
29913
+ (token) => token.symbol === "USDCe"
29914
+ );
29915
+ const salt = Math.floor(Math.random() * 10 ** usdcToken.decimals);
29916
+ const amount = import_starknet22.uint256.bnToUint256(
29917
+ params.amount.multipliedBy(10).toWei()
29902
29918
  );
29903
- const amount = import_starknet22.uint256.bnToUint256(params.amount.multipliedBy(10).toWei());
29904
29919
  const quotes = await this.config.avnuAdapter.getQuotesAvnu(
29905
29920
  usdcToken.address.toString(),
29906
29921
  usdceToken.address.toString(),
@@ -29913,7 +29928,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29913
29928
  logger.error("error getting quotes from avnu");
29914
29929
  return [];
29915
29930
  }
29916
- const getCalldata = await this.config.avnuAdapter.getSwapCallData(quotes);
29931
+ const getCalldata = await this.config.avnuAdapter.getSwapCallData(
29932
+ quotes
29933
+ );
29917
29934
  const swapCallData = getCalldata[0];
29918
29935
  return [
29919
29936
  {
@@ -29989,8 +30006,12 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29989
30006
  async getSwapFromLegacyCall(params) {
29990
30007
  try {
29991
30008
  const usdcToken = this.config.supportedPositions[0].asset;
29992
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29993
- const amount = import_starknet22.uint256.bnToUint256(params.amount.multipliedBy(10).toWei());
30009
+ const usdceToken = Global.getDefaultTokens().find(
30010
+ (token) => token.symbol === "USDCe"
30011
+ );
30012
+ const amount = import_starknet22.uint256.bnToUint256(
30013
+ params.amount.multipliedBy(10).toWei()
30014
+ );
29994
30015
  const quotes = await this.config.avnuAdapter.getQuotesAvnu(
29995
30016
  usdceToken.address.toString(),
29996
30017
  usdcToken.address.toString(),
@@ -30003,7 +30024,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30003
30024
  logger.error("error getting quotes from avnu");
30004
30025
  return [];
30005
30026
  }
30006
- const getCalldata = await this.config.avnuAdapter.getSwapCallData(quotes);
30027
+ const getCalldata = await this.config.avnuAdapter.getSwapCallData(
30028
+ quotes
30029
+ );
30007
30030
  const swapCallData = getCalldata[0];
30008
30031
  return [
30009
30032
  {
@@ -30051,9 +30074,14 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30051
30074
  if (!this.client) {
30052
30075
  throw new Error("Client not initialized");
30053
30076
  }
30054
- const withdrawalRequest = await this.client.withdrawUSDC(amount.toFixed(2));
30077
+ const withdrawalRequest = await this.client.withdrawUSDC(
30078
+ amount.toFixed(2)
30079
+ );
30055
30080
  if (withdrawalRequest.status === "OK") {
30056
- const withdrawalStatus = await this.getDepositOrWithdrawalStatus(withdrawalRequest.data, "WITHDRAWAL" /* WITHDRAWAL */);
30081
+ const withdrawalStatus = await this.getDepositOrWithdrawalStatus(
30082
+ withdrawalRequest.data,
30083
+ "WITHDRAWAL" /* WITHDRAWAL */
30084
+ );
30057
30085
  return withdrawalStatus;
30058
30086
  }
30059
30087
  return false;
@@ -30126,18 +30154,34 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30126
30154
  logger.error("error initializing client");
30127
30155
  return null;
30128
30156
  }
30129
- await new Promise((resolve) => setTimeout(resolve, 5e3));
30130
- const orderhistory = await this.getOrderHistory(marketName);
30157
+ let orderhistory = await this.getOrderHistory(marketName);
30131
30158
  if (!orderhistory || orderhistory.length === 0) {
30132
- logger.error(`error getting order: ${orderId}`);
30133
- return null;
30159
+ logger.error(`error getting order history: ${orderId}`);
30160
+ } else {
30161
+ const order = orderhistory.slice(0, 10).find((order2) => order2.id.toString() === orderId);
30162
+ if (order) {
30163
+ return order;
30164
+ }
30134
30165
  }
30135
- const order = orderhistory.slice(0, 3).find((order2) => order2.id.toString() === orderId);
30136
- if (!order) {
30137
- logger.error(`error getting order: ${order}`);
30138
- return null;
30166
+ for (let attempt = 1; attempt <= 5; attempt++) {
30167
+ await new Promise((resolve) => setTimeout(resolve, this.retryDelayForOrderStatus));
30168
+ orderhistory = await this.getOrderHistory(marketName);
30169
+ if (!orderhistory || orderhistory.length === 0) {
30170
+ logger.error(
30171
+ `error getting order history on retry ${attempt}: ${orderId}`
30172
+ );
30173
+ continue;
30174
+ }
30175
+ const order = orderhistory.slice(0, 5).find((order2) => order2.id.toString() === orderId);
30176
+ if (order && order.status === "FILLED" /* FILLED */) {
30177
+ return order;
30178
+ }
30179
+ logger.error(
30180
+ `order not found in top 15 entries on retry ${attempt}: ${orderId}`
30181
+ );
30139
30182
  }
30140
- return order;
30183
+ logger.error(`error getting order after all retries: ${orderId}`);
30184
+ return null;
30141
30185
  }
30142
30186
  async fetchOrderBookBTCUSDC() {
30143
30187
  try {
@@ -30210,8 +30254,11 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30210
30254
  return null;
30211
30255
  }
30212
30256
  await new Promise((resolve) => setTimeout(resolve, 5e3));
30213
- const openOrder = await this.getOrderStatus(result.position_id, this.config.extendedMarketName);
30214
- if (!openOrder || openOrder.status !== "FILLED" /* FILLED */) {
30257
+ const openOrder = await this.getOrderStatus(
30258
+ result.position_id,
30259
+ this.config.extendedMarketName
30260
+ );
30261
+ if (!openOrder) {
30215
30262
  if (attempt >= maxAttempts) {
30216
30263
  logger.error("Max retries reached \u2014 could not verify open position");
30217
30264
  return null;
@@ -30233,7 +30280,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30233
30280
  };
30234
30281
  }
30235
30282
  } catch (err) {
30236
- logger.error(`createShortOrder failed on attempt ${attempt}: ${err.message}`);
30283
+ logger.error(
30284
+ `createShortOrder failed on attempt ${attempt}: ${err.message}`
30285
+ );
30237
30286
  if (attempt < maxAttempts) {
30238
30287
  const backoff = 1200 * attempt;
30239
30288
  logger.info(`Retrying after ${backoff}ms...`);
@@ -30278,13 +30327,17 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30278
30327
  operationsStatus: ["COMPLETED" /* COMPLETED */]
30279
30328
  });
30280
30329
  if (operationsType === "DEPOSIT" /* DEPOSIT */) {
30281
- const myTransferStatus = transferHistory.data.find((operation) => operation.transactionHash === orderId);
30330
+ const myTransferStatus = transferHistory.data.find(
30331
+ (operation) => operation.transactionHash === orderId
30332
+ );
30282
30333
  if (!myTransferStatus) {
30283
30334
  return true;
30284
30335
  }
30285
30336
  return true;
30286
30337
  } else {
30287
- const myTransferStatus = transferHistory.data.find((operation) => operation.id.toString() === orderId.toString());
30338
+ const myTransferStatus = transferHistory.data.find(
30339
+ (operation) => operation.id.toString() === orderId.toString()
30340
+ );
30288
30341
  if (!myTransferStatus) {
30289
30342
  return true;
30290
30343
  }
@@ -33559,7 +33612,8 @@ function getLooperSettings(lstSymbol, underlyingSymbol, vaultSettings, pool1) {
33559
33612
  minHealthFactor: vaultSettings.minHealthFactor,
33560
33613
  quoteAmountToFetchPrice: vaultSettings.quoteAmountToFetchPrice,
33561
33614
  ...baseAdapterConfig,
33562
- supportedPositions: [{ asset: lstToken, isDebt: false }, { asset: Global.getDefaultTokens().find((token) => token.symbol === position), isDebt: true }]
33615
+ supportedPositions: [{ asset: lstToken, isDebt: false }, { asset: Global.getDefaultTokens().find((token) => token.symbol === position), isDebt: true }],
33616
+ minimumVesuMovementAmount: 0
33563
33617
  }));
33564
33618
  const unusedBalanceAdapter = new UnusedBalanceAdapter({
33565
33619
  ...baseAdapterConfig
@@ -34020,7 +34074,7 @@ var AvnuAdapter = class _AvnuAdapter extends BaseAdapter {
34020
34074
  }
34021
34075
  throw new Error("Failed to fetch quote after retries");
34022
34076
  }
34023
- async getQuotesAvnu(from_token_address, to_token_address, amount, takerAddress, toTokenDecimals, usdcToBtc, maxIterations = 5, tolerance = 1e3) {
34077
+ async getQuotesAvnu(from_token_address, to_token_address, amount, takerAddress, toTokenDecimals, usdcToBtc, maxIterations = 5, tolerance = 5e3) {
34024
34078
  try {
34025
34079
  const fromToken = this.config.supportedPositions[0].asset;
34026
34080
  const toToken = this.config.supportedPositions[1].asset;
@@ -34260,7 +34314,8 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34260
34314
  }
34261
34315
  const balance = await this.getUnusedBalance();
34262
34316
  const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
34263
- const amountToInvest = balance.amount.plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).minus(LIMIT_BALANCE);
34317
+ const amountToInvest = new Web3Number(balance.usdValue, USDC_TOKEN_DECIMALS).plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34318
+ logger.info(`${_VesuExtendedMultiplierStrategy.name}::shouldInvest amountToInvest: ${amountToInvest.toNumber()}`);
34264
34319
  if (amountToInvest.lessThan(0)) {
34265
34320
  return {
34266
34321
  shouldInvest: false,
@@ -34313,6 +34368,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34313
34368
  vesuLeverage: 0
34314
34369
  };
34315
34370
  }
34371
+ logger.info(`${_VesuExtendedMultiplierStrategy.name}::shouldInvest vesu_amount: ${vesu_amount.toNumber()}, extended_amount: ${extended_amount.toNumber()}`);
34316
34372
  return {
34317
34373
  shouldInvest: true,
34318
34374
  vesuAmount: vesu_amount,
@@ -34346,7 +34402,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34346
34402
  );
34347
34403
  return calls;
34348
34404
  }
34349
- if (extendedAmount.lessThan(0)) {
34405
+ if (extendedAmount.isNegative() && extendedAmount.abs().greaterThan(extendedAdapter.minimumExtendedMovementAmount)) {
34350
34406
  try {
34351
34407
  const { calls: extendedCalls, status: extendedStatus } = await this.moveAssets(
34352
34408
  {
@@ -34366,7 +34422,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34366
34422
  logger.error(`Failed moving assets to vault: ${err}`);
34367
34423
  }
34368
34424
  }
34369
- if (vesuAmount.lessThan(0)) {
34425
+ if (vesuAmount.isNegative() && vesuAmount.lessThan(vesuAdapter.minimumVesuMovementAmount)) {
34370
34426
  try {
34371
34427
  const { calls: vesuCalls, status: vesuStatus } = await this.moveAssets(
34372
34428
  {
@@ -34392,15 +34448,15 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34392
34448
  }
34393
34449
  const usdcAmountInWallet = (await this.getUnusedBalance()).amount;
34394
34450
  const usdcAmountOnExtended = parseFloat(
34395
- extendedHoldings.availableForTrade
34451
+ extendedHoldings.availableForWithdrawal
34396
34452
  );
34397
- if (extendedAmount.plus(BUFFER_USDC_IN_WITHDRAWAL).minus(usdcAmountOnExtended).greaterThan(0)) {
34453
+ if (extendedAmount.minus(usdcAmountOnExtended).greaterThan(extendedAdapter.minimumExtendedMovementAmount)) {
34398
34454
  try {
34399
34455
  const { calls: extendedCalls } = await this.moveAssets(
34400
34456
  {
34401
34457
  to: Protocols.EXTENDED.name,
34402
34458
  from: Protocols.VAULT.name,
34403
- amount: extendedAmount.plus(BUFFER_USDC_IN_WITHDRAWAL).minus(usdcAmountOnExtended)
34459
+ amount: extendedAmount.minus(usdcAmountOnExtended)
34404
34460
  },
34405
34461
  extendedAdapter,
34406
34462
  vesuAdapter
@@ -34410,7 +34466,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34410
34466
  logger.error(`Failed moving assets to extended: ${err}`);
34411
34467
  }
34412
34468
  }
34413
- if (vesuAmount.minus(usdcAmountInWallet).greaterThan(0)) {
34469
+ if (vesuAmount.minus(usdcAmountInWallet).greaterThan(vesuAdapter.minimumVesuMovementAmount)) {
34414
34470
  try {
34415
34471
  const { calls: vesuCalls, status: vesuStatus } = await this.moveAssets(
34416
34472
  {
@@ -34638,7 +34694,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34638
34694
  };
34639
34695
  }
34640
34696
  const extendedHoldingAmount = new Web3Number(
34641
- extendedHoldings.availableForTrade,
34697
+ extendedHoldings.availableForWithdrawal,
34642
34698
  USDC_TOKEN_DECIMALS
34643
34699
  );
34644
34700
  const {
@@ -34698,7 +34754,6 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34698
34754
  extendedAmountInBTC: new Web3Number(0, 0),
34699
34755
  calls: []
34700
34756
  };
34701
- ;
34702
34757
  }
34703
34758
  }
34704
34759
  async checkPriceDifferenceBetweenAvnuAndExtended(extendedAdapter, vesuAdapter, avnuAdapter) {
@@ -34876,7 +34931,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34876
34931
  };
34877
34932
  }
34878
34933
  };
34879
- function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, extendedBackendUrl, extendedApiKey, vaultIdExtended) {
34934
+ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) {
34880
34935
  vaultSettings.leafAdapters = [];
34881
34936
  const wbtcToken = Global.getDefaultTokens().find(
34882
34937
  (token) => token.symbol === lstSymbol
@@ -34916,7 +34971,10 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, e
34916
34971
  extendedBaseUrl: "https://api.starknet.extended.exchange",
34917
34972
  extendedMarketName: "BTC-USD",
34918
34973
  extendedPrecision: 5,
34919
- avnuAdapter
34974
+ avnuAdapter,
34975
+ retryDelayForOrderStatus: minimumExtendedRetriesDelayForOrderStatus ?? 3e3,
34976
+ minimumExtendedMovementAmount: minimumExtendedMovementAmount ?? 5
34977
+ //5 usdcs
34920
34978
  });
34921
34979
  const vesuMultiplyAdapter = new VesuMultiplyAdapter({
34922
34980
  poolId: pool1,
@@ -34929,7 +34987,9 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, e
34929
34987
  supportedPositions: [
34930
34988
  { asset: wbtcToken, isDebt: false },
34931
34989
  { asset: usdcToken, isDebt: true }
34932
- ]
34990
+ ],
34991
+ minimumVesuMovementAmount: minimumVesuMovementAmount ?? 5
34992
+ //5 usdc
34933
34993
  });
34934
34994
  const unusedBalanceAdapter = new UnusedBalanceAdapter({
34935
34995
  ...baseAdapterConfig
@@ -35044,12 +35104,12 @@ var re7UsdcPrimeDevansh = {
35044
35104
  borrowable_assets: [Global.getDefaultTokens().find((token) => token.symbol === "WBTC")],
35045
35105
  minimumWBTCDifferenceForAvnuSwap: MINIMUM_WBTC_DIFFERENCE_FOR_AVNU_SWAP
35046
35106
  };
35047
- var VesuExtendedTestStrategies = (extendedBackendUrl, extendedApiKey, vaultIdExtended) => {
35107
+ var VesuExtendedTestStrategies = (extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) => {
35048
35108
  return [
35049
- getStrategySettingsVesuExtended("WBTC", "USDC", re7UsdcPrimeDevansh, false, false, extendedBackendUrl, extendedApiKey, vaultIdExtended)
35109
+ getStrategySettingsVesuExtended("WBTC", "USDC", re7UsdcPrimeDevansh, false, false, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus)
35050
35110
  ];
35051
35111
  };
35052
- function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses, isPreview = false, isLST, extendedBackendUrl, extendedApiKey, vaultIdExtended) {
35112
+ function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses, isPreview = false, isLST, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) {
35053
35113
  return {
35054
35114
  name: `Extended Test ${underlyingSymbol}`,
35055
35115
  description: getDescription2(lstSymbol, underlyingSymbol),
@@ -35057,7 +35117,7 @@ function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses,
35057
35117
  launchBlock: 0,
35058
35118
  type: "Other",
35059
35119
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === underlyingSymbol)],
35060
- additionalInfo: getLooperSettings2(lstSymbol, underlyingSymbol, addresses, VesuPools.Re7USDCPrime, extendedBackendUrl, extendedApiKey, vaultIdExtended),
35120
+ additionalInfo: getLooperSettings2(lstSymbol, underlyingSymbol, addresses, VesuPools.Re7USDCPrime, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus),
35061
35121
  risk: {
35062
35122
  riskFactor: _riskFactor3,
35063
35123
  netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),