@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.
@@ -28351,7 +28351,7 @@ var STRK_API_RPC = process.env.STRK_API_RPC ?? "https://mainnet.starknet.a5a.ch"
28351
28351
  var MAX_RETRIES = Number(process.env.MAX_RETRIES ?? 3);
28352
28352
  var MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
28353
28353
  var EXTEND_MARKET_NAME = "BTC-USD";
28354
- var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 10);
28354
+ var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
28355
28355
  var REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 18e4);
28356
28356
  var WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18e6);
28357
28357
  var INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 18e4);
@@ -28390,8 +28390,7 @@ var calculateAmountDistribution = async (amount, client, marketName, collateralP
28390
28390
  vesu_leverage: 0
28391
28391
  };
28392
28392
  }
28393
- const extendedBTCExposure = extendedPosition.length > 0 ? new Web3Number(extendedPosition[0].size, WBTC_TOKEN_DECIMALS) : new Web3Number(0, WBTC_TOKEN_DECIMALS);
28394
- const extendedExposureUSD = extendedBTCExposure.multipliedBy(collateralPrice);
28393
+ const extendedExposureUSD = extendedPosition.length > 0 ? new Web3Number(extendedPosition[0].value, WBTC_TOKEN_DECIMALS) : new Web3Number(0, WBTC_TOKEN_DECIMALS);
28395
28394
  const vesuBTCExposureUSD = collateralUnits.multipliedBy(collateralPrice);
28396
28395
  const numerator1 = vesu_leverage * amount + vesuBTCExposureUSD.toNumber();
28397
28396
  const numerator2 = extendedExposureUSD.toNumber();
@@ -28609,6 +28608,7 @@ var VesuMultiplyAdapter = class _VesuMultiplyAdapter extends BaseAdapter {
28609
28608
  vaultAllocator: config.vaultAllocator,
28610
28609
  id: ""
28611
28610
  });
28611
+ this.minimumVesuMovementAmount = config.minimumVesuMovementAmount ?? 5;
28612
28612
  this.tokenMarketData = new TokenMarketData(
28613
28613
  this.config.pricer,
28614
28614
  this.config.networkConfig
@@ -29619,12 +29619,17 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29619
29619
  timeout: this.config.extendedTimeout,
29620
29620
  retries: this.config.extendedRetries
29621
29621
  });
29622
+ this.minimumExtendedMovementAmount = this.config.minimumExtendedMovementAmount ?? 5;
29622
29623
  this.client = client;
29624
+ this.retryDelayForOrderStatus = this.config.retryDelayForOrderStatus ?? 3e3;
29623
29625
  }
29624
29626
  //abstract means the method has no implementation in this class; instead, child classes must implement it.
29625
29627
  async getAPY(supportedPosition) {
29626
29628
  const side = supportedPosition.isDebt ? "LONG" : "SHORT";
29627
- const fundingRates = await this.client.getFundingRates(this.config.extendedMarketName, side);
29629
+ const fundingRates = await this.client.getFundingRates(
29630
+ this.config.extendedMarketName,
29631
+ side
29632
+ );
29628
29633
  if (fundingRates.status !== "OK") {
29629
29634
  logger.error("error getting funding rates", fundingRates);
29630
29635
  return { apy: 0, type: "base" /* BASE */ };
@@ -29668,14 +29673,14 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29668
29673
  });
29669
29674
  }
29670
29675
  _getDepositLeaf() {
29671
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29676
+ const usdceToken = Global.getDefaultTokens().find(
29677
+ (token) => token.symbol === "USDCe"
29678
+ );
29672
29679
  return [
29673
29680
  {
29674
29681
  target: this.config.supportedPositions[0].asset.address,
29675
29682
  method: "approve",
29676
- packedArguments: [
29677
- AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()
29678
- ],
29683
+ packedArguments: [AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()],
29679
29684
  id: `extended_approve_${this.config.supportedPositions[0].asset.symbol}`,
29680
29685
  sanitizer: AVNU_LEGACY_SANITIZER
29681
29686
  },
@@ -29706,25 +29711,33 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29706
29711
  const leafConfigs = this._getSwapFromLegacyLeaf();
29707
29712
  const leaves = leafConfigs.map((config) => {
29708
29713
  const { target, method, packedArguments, sanitizer, id } = config;
29709
- const leaf = this.constructSimpleLeafData({
29710
- id,
29711
- target,
29712
- method,
29713
- packedArguments
29714
- }, sanitizer);
29714
+ const leaf = this.constructSimpleLeafData(
29715
+ {
29716
+ id,
29717
+ target,
29718
+ method,
29719
+ packedArguments
29720
+ },
29721
+ sanitizer
29722
+ );
29715
29723
  return leaf;
29716
29724
  });
29717
- return { leaves, callConstructor: this.getSwapFromLegacyCall.bind(this) };
29725
+ return {
29726
+ leaves,
29727
+ callConstructor: this.getSwapFromLegacyCall.bind(
29728
+ this
29729
+ )
29730
+ };
29718
29731
  }
29719
29732
  _getSwapFromLegacyLeaf() {
29720
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29733
+ const usdceToken = Global.getDefaultTokens().find(
29734
+ (token) => token.symbol === "USDCe"
29735
+ );
29721
29736
  return [
29722
29737
  {
29723
29738
  target: usdceToken.address,
29724
29739
  method: "approve",
29725
- packedArguments: [
29726
- AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()
29727
- ],
29740
+ packedArguments: [AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()],
29728
29741
  id: `extendedswaplegacyapprove_${usdceToken.symbol}`,
29729
29742
  sanitizer: AVNU_LEGACY_SANITIZER
29730
29743
  },
@@ -29743,11 +29756,13 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29743
29756
  async getDepositCall(params) {
29744
29757
  try {
29745
29758
  const usdcToken = this.config.supportedPositions[0].asset;
29746
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29747
- const salt = Math.floor(
29748
- Math.random() * 10 ** usdcToken.decimals
29759
+ const usdceToken = Global.getDefaultTokens().find(
29760
+ (token) => token.symbol === "USDCe"
29761
+ );
29762
+ const salt = Math.floor(Math.random() * 10 ** usdcToken.decimals);
29763
+ const amount = uint25613.bnToUint256(
29764
+ params.amount.multipliedBy(10).toWei()
29749
29765
  );
29750
- const amount = uint25613.bnToUint256(params.amount.multipliedBy(10).toWei());
29751
29766
  const quotes = await this.config.avnuAdapter.getQuotesAvnu(
29752
29767
  usdcToken.address.toString(),
29753
29768
  usdceToken.address.toString(),
@@ -29760,7 +29775,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29760
29775
  logger.error("error getting quotes from avnu");
29761
29776
  return [];
29762
29777
  }
29763
- const getCalldata = await this.config.avnuAdapter.getSwapCallData(quotes);
29778
+ const getCalldata = await this.config.avnuAdapter.getSwapCallData(
29779
+ quotes
29780
+ );
29764
29781
  const swapCallData = getCalldata[0];
29765
29782
  return [
29766
29783
  {
@@ -29836,8 +29853,12 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29836
29853
  async getSwapFromLegacyCall(params) {
29837
29854
  try {
29838
29855
  const usdcToken = this.config.supportedPositions[0].asset;
29839
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29840
- const amount = uint25613.bnToUint256(params.amount.multipliedBy(10).toWei());
29856
+ const usdceToken = Global.getDefaultTokens().find(
29857
+ (token) => token.symbol === "USDCe"
29858
+ );
29859
+ const amount = uint25613.bnToUint256(
29860
+ params.amount.multipliedBy(10).toWei()
29861
+ );
29841
29862
  const quotes = await this.config.avnuAdapter.getQuotesAvnu(
29842
29863
  usdceToken.address.toString(),
29843
29864
  usdcToken.address.toString(),
@@ -29850,7 +29871,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29850
29871
  logger.error("error getting quotes from avnu");
29851
29872
  return [];
29852
29873
  }
29853
- const getCalldata = await this.config.avnuAdapter.getSwapCallData(quotes);
29874
+ const getCalldata = await this.config.avnuAdapter.getSwapCallData(
29875
+ quotes
29876
+ );
29854
29877
  const swapCallData = getCalldata[0];
29855
29878
  return [
29856
29879
  {
@@ -29898,9 +29921,14 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29898
29921
  if (!this.client) {
29899
29922
  throw new Error("Client not initialized");
29900
29923
  }
29901
- const withdrawalRequest = await this.client.withdrawUSDC(amount.toFixed(2));
29924
+ const withdrawalRequest = await this.client.withdrawUSDC(
29925
+ amount.toFixed(2)
29926
+ );
29902
29927
  if (withdrawalRequest.status === "OK") {
29903
- const withdrawalStatus = await this.getDepositOrWithdrawalStatus(withdrawalRequest.data, "WITHDRAWAL" /* WITHDRAWAL */);
29928
+ const withdrawalStatus = await this.getDepositOrWithdrawalStatus(
29929
+ withdrawalRequest.data,
29930
+ "WITHDRAWAL" /* WITHDRAWAL */
29931
+ );
29904
29932
  return withdrawalStatus;
29905
29933
  }
29906
29934
  return false;
@@ -29973,18 +30001,34 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29973
30001
  logger.error("error initializing client");
29974
30002
  return null;
29975
30003
  }
29976
- await new Promise((resolve) => setTimeout(resolve, 5e3));
29977
- const orderhistory = await this.getOrderHistory(marketName);
30004
+ let orderhistory = await this.getOrderHistory(marketName);
29978
30005
  if (!orderhistory || orderhistory.length === 0) {
29979
- logger.error(`error getting order: ${orderId}`);
29980
- return null;
30006
+ logger.error(`error getting order history: ${orderId}`);
30007
+ } else {
30008
+ const order = orderhistory.slice(0, 10).find((order2) => order2.id.toString() === orderId);
30009
+ if (order) {
30010
+ return order;
30011
+ }
29981
30012
  }
29982
- const order = orderhistory.slice(0, 3).find((order2) => order2.id.toString() === orderId);
29983
- if (!order) {
29984
- logger.error(`error getting order: ${order}`);
29985
- return null;
30013
+ for (let attempt = 1; attempt <= 5; attempt++) {
30014
+ await new Promise((resolve) => setTimeout(resolve, this.retryDelayForOrderStatus));
30015
+ orderhistory = await this.getOrderHistory(marketName);
30016
+ if (!orderhistory || orderhistory.length === 0) {
30017
+ logger.error(
30018
+ `error getting order history on retry ${attempt}: ${orderId}`
30019
+ );
30020
+ continue;
30021
+ }
30022
+ const order = orderhistory.slice(0, 5).find((order2) => order2.id.toString() === orderId);
30023
+ if (order && order.status === "FILLED" /* FILLED */) {
30024
+ return order;
30025
+ }
30026
+ logger.error(
30027
+ `order not found in top 15 entries on retry ${attempt}: ${orderId}`
30028
+ );
29986
30029
  }
29987
- return order;
30030
+ logger.error(`error getting order after all retries: ${orderId}`);
30031
+ return null;
29988
30032
  }
29989
30033
  async fetchOrderBookBTCUSDC() {
29990
30034
  try {
@@ -30057,8 +30101,11 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30057
30101
  return null;
30058
30102
  }
30059
30103
  await new Promise((resolve) => setTimeout(resolve, 5e3));
30060
- const openOrder = await this.getOrderStatus(result.position_id, this.config.extendedMarketName);
30061
- if (!openOrder || openOrder.status !== "FILLED" /* FILLED */) {
30104
+ const openOrder = await this.getOrderStatus(
30105
+ result.position_id,
30106
+ this.config.extendedMarketName
30107
+ );
30108
+ if (!openOrder) {
30062
30109
  if (attempt >= maxAttempts) {
30063
30110
  logger.error("Max retries reached \u2014 could not verify open position");
30064
30111
  return null;
@@ -30080,7 +30127,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30080
30127
  };
30081
30128
  }
30082
30129
  } catch (err) {
30083
- logger.error(`createShortOrder failed on attempt ${attempt}: ${err.message}`);
30130
+ logger.error(
30131
+ `createShortOrder failed on attempt ${attempt}: ${err.message}`
30132
+ );
30084
30133
  if (attempt < maxAttempts) {
30085
30134
  const backoff = 1200 * attempt;
30086
30135
  logger.info(`Retrying after ${backoff}ms...`);
@@ -30125,13 +30174,17 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30125
30174
  operationsStatus: ["COMPLETED" /* COMPLETED */]
30126
30175
  });
30127
30176
  if (operationsType === "DEPOSIT" /* DEPOSIT */) {
30128
- const myTransferStatus = transferHistory.data.find((operation) => operation.transactionHash === orderId);
30177
+ const myTransferStatus = transferHistory.data.find(
30178
+ (operation) => operation.transactionHash === orderId
30179
+ );
30129
30180
  if (!myTransferStatus) {
30130
30181
  return true;
30131
30182
  }
30132
30183
  return true;
30133
30184
  } else {
30134
- const myTransferStatus = transferHistory.data.find((operation) => operation.id.toString() === orderId.toString());
30185
+ const myTransferStatus = transferHistory.data.find(
30186
+ (operation) => operation.id.toString() === orderId.toString()
30187
+ );
30135
30188
  if (!myTransferStatus) {
30136
30189
  return true;
30137
30190
  }
@@ -33406,7 +33459,8 @@ function getLooperSettings(lstSymbol, underlyingSymbol, vaultSettings, pool1) {
33406
33459
  minHealthFactor: vaultSettings.minHealthFactor,
33407
33460
  quoteAmountToFetchPrice: vaultSettings.quoteAmountToFetchPrice,
33408
33461
  ...baseAdapterConfig,
33409
- supportedPositions: [{ asset: lstToken, isDebt: false }, { asset: Global.getDefaultTokens().find((token) => token.symbol === position), isDebt: true }]
33462
+ supportedPositions: [{ asset: lstToken, isDebt: false }, { asset: Global.getDefaultTokens().find((token) => token.symbol === position), isDebt: true }],
33463
+ minimumVesuMovementAmount: 0
33410
33464
  }));
33411
33465
  const unusedBalanceAdapter = new UnusedBalanceAdapter({
33412
33466
  ...baseAdapterConfig
@@ -33867,7 +33921,7 @@ var AvnuAdapter = class _AvnuAdapter extends BaseAdapter {
33867
33921
  }
33868
33922
  throw new Error("Failed to fetch quote after retries");
33869
33923
  }
33870
- async getQuotesAvnu(from_token_address, to_token_address, amount, takerAddress, toTokenDecimals, usdcToBtc, maxIterations = 5, tolerance = 1e3) {
33924
+ async getQuotesAvnu(from_token_address, to_token_address, amount, takerAddress, toTokenDecimals, usdcToBtc, maxIterations = 5, tolerance = 5e3) {
33871
33925
  try {
33872
33926
  const fromToken = this.config.supportedPositions[0].asset;
33873
33927
  const toToken = this.config.supportedPositions[1].asset;
@@ -34107,7 +34161,8 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34107
34161
  }
34108
34162
  const balance = await this.getUnusedBalance();
34109
34163
  const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
34110
- const amountToInvest = balance.amount.plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).minus(LIMIT_BALANCE);
34164
+ const amountToInvest = new Web3Number(balance.usdValue, USDC_TOKEN_DECIMALS).plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34165
+ logger.info(`${_VesuExtendedMultiplierStrategy.name}::shouldInvest amountToInvest: ${amountToInvest.toNumber()}`);
34111
34166
  if (amountToInvest.lessThan(0)) {
34112
34167
  return {
34113
34168
  shouldInvest: false,
@@ -34160,6 +34215,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34160
34215
  vesuLeverage: 0
34161
34216
  };
34162
34217
  }
34218
+ logger.info(`${_VesuExtendedMultiplierStrategy.name}::shouldInvest vesu_amount: ${vesu_amount.toNumber()}, extended_amount: ${extended_amount.toNumber()}`);
34163
34219
  return {
34164
34220
  shouldInvest: true,
34165
34221
  vesuAmount: vesu_amount,
@@ -34193,7 +34249,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34193
34249
  );
34194
34250
  return calls;
34195
34251
  }
34196
- if (extendedAmount.lessThan(0)) {
34252
+ if (extendedAmount.isNegative() && extendedAmount.abs().greaterThan(extendedAdapter.minimumExtendedMovementAmount)) {
34197
34253
  try {
34198
34254
  const { calls: extendedCalls, status: extendedStatus } = await this.moveAssets(
34199
34255
  {
@@ -34213,7 +34269,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34213
34269
  logger.error(`Failed moving assets to vault: ${err}`);
34214
34270
  }
34215
34271
  }
34216
- if (vesuAmount.lessThan(0)) {
34272
+ if (vesuAmount.isNegative() && vesuAmount.lessThan(vesuAdapter.minimumVesuMovementAmount)) {
34217
34273
  try {
34218
34274
  const { calls: vesuCalls, status: vesuStatus } = await this.moveAssets(
34219
34275
  {
@@ -34239,15 +34295,15 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34239
34295
  }
34240
34296
  const usdcAmountInWallet = (await this.getUnusedBalance()).amount;
34241
34297
  const usdcAmountOnExtended = parseFloat(
34242
- extendedHoldings.availableForTrade
34298
+ extendedHoldings.availableForWithdrawal
34243
34299
  );
34244
- if (extendedAmount.plus(BUFFER_USDC_IN_WITHDRAWAL).minus(usdcAmountOnExtended).greaterThan(0)) {
34300
+ if (extendedAmount.minus(usdcAmountOnExtended).greaterThan(extendedAdapter.minimumExtendedMovementAmount)) {
34245
34301
  try {
34246
34302
  const { calls: extendedCalls } = await this.moveAssets(
34247
34303
  {
34248
34304
  to: Protocols.EXTENDED.name,
34249
34305
  from: Protocols.VAULT.name,
34250
- amount: extendedAmount.plus(BUFFER_USDC_IN_WITHDRAWAL).minus(usdcAmountOnExtended)
34306
+ amount: extendedAmount.minus(usdcAmountOnExtended)
34251
34307
  },
34252
34308
  extendedAdapter,
34253
34309
  vesuAdapter
@@ -34257,7 +34313,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34257
34313
  logger.error(`Failed moving assets to extended: ${err}`);
34258
34314
  }
34259
34315
  }
34260
- if (vesuAmount.minus(usdcAmountInWallet).greaterThan(0)) {
34316
+ if (vesuAmount.minus(usdcAmountInWallet).greaterThan(vesuAdapter.minimumVesuMovementAmount)) {
34261
34317
  try {
34262
34318
  const { calls: vesuCalls, status: vesuStatus } = await this.moveAssets(
34263
34319
  {
@@ -34485,7 +34541,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34485
34541
  };
34486
34542
  }
34487
34543
  const extendedHoldingAmount = new Web3Number(
34488
- extendedHoldings.availableForTrade,
34544
+ extendedHoldings.availableForWithdrawal,
34489
34545
  USDC_TOKEN_DECIMALS
34490
34546
  );
34491
34547
  const {
@@ -34545,7 +34601,6 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34545
34601
  extendedAmountInBTC: new Web3Number(0, 0),
34546
34602
  calls: []
34547
34603
  };
34548
- ;
34549
34604
  }
34550
34605
  }
34551
34606
  async checkPriceDifferenceBetweenAvnuAndExtended(extendedAdapter, vesuAdapter, avnuAdapter) {
@@ -34723,7 +34778,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34723
34778
  };
34724
34779
  }
34725
34780
  };
34726
- function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, extendedBackendUrl, extendedApiKey, vaultIdExtended) {
34781
+ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) {
34727
34782
  vaultSettings.leafAdapters = [];
34728
34783
  const wbtcToken = Global.getDefaultTokens().find(
34729
34784
  (token) => token.symbol === lstSymbol
@@ -34763,7 +34818,10 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, e
34763
34818
  extendedBaseUrl: "https://api.starknet.extended.exchange",
34764
34819
  extendedMarketName: "BTC-USD",
34765
34820
  extendedPrecision: 5,
34766
- avnuAdapter
34821
+ avnuAdapter,
34822
+ retryDelayForOrderStatus: minimumExtendedRetriesDelayForOrderStatus ?? 3e3,
34823
+ minimumExtendedMovementAmount: minimumExtendedMovementAmount ?? 5
34824
+ //5 usdcs
34767
34825
  });
34768
34826
  const vesuMultiplyAdapter = new VesuMultiplyAdapter({
34769
34827
  poolId: pool1,
@@ -34776,7 +34834,9 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, e
34776
34834
  supportedPositions: [
34777
34835
  { asset: wbtcToken, isDebt: false },
34778
34836
  { asset: usdcToken, isDebt: true }
34779
- ]
34837
+ ],
34838
+ minimumVesuMovementAmount: minimumVesuMovementAmount ?? 5
34839
+ //5 usdc
34780
34840
  });
34781
34841
  const unusedBalanceAdapter = new UnusedBalanceAdapter({
34782
34842
  ...baseAdapterConfig
@@ -34891,12 +34951,12 @@ var re7UsdcPrimeDevansh = {
34891
34951
  borrowable_assets: [Global.getDefaultTokens().find((token) => token.symbol === "WBTC")],
34892
34952
  minimumWBTCDifferenceForAvnuSwap: MINIMUM_WBTC_DIFFERENCE_FOR_AVNU_SWAP
34893
34953
  };
34894
- var VesuExtendedTestStrategies = (extendedBackendUrl, extendedApiKey, vaultIdExtended) => {
34954
+ var VesuExtendedTestStrategies = (extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) => {
34895
34955
  return [
34896
- getStrategySettingsVesuExtended("WBTC", "USDC", re7UsdcPrimeDevansh, false, false, extendedBackendUrl, extendedApiKey, vaultIdExtended)
34956
+ getStrategySettingsVesuExtended("WBTC", "USDC", re7UsdcPrimeDevansh, false, false, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus)
34897
34957
  ];
34898
34958
  };
34899
- function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses, isPreview = false, isLST, extendedBackendUrl, extendedApiKey, vaultIdExtended) {
34959
+ function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses, isPreview = false, isLST, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) {
34900
34960
  return {
34901
34961
  name: `Extended Test ${underlyingSymbol}`,
34902
34962
  description: getDescription2(lstSymbol, underlyingSymbol),
@@ -34904,7 +34964,7 @@ function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses,
34904
34964
  launchBlock: 0,
34905
34965
  type: "Other",
34906
34966
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === underlyingSymbol)],
34907
- additionalInfo: getLooperSettings2(lstSymbol, underlyingSymbol, addresses, VesuPools.Re7USDCPrime, extendedBackendUrl, extendedApiKey, vaultIdExtended),
34967
+ additionalInfo: getLooperSettings2(lstSymbol, underlyingSymbol, addresses, VesuPools.Re7USDCPrime, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus),
34908
34968
  risk: {
34909
34969
  riskFactor: _riskFactor3,
34910
34970
  netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
package/dist/index.d.ts CHANGED
@@ -945,11 +945,13 @@ interface VesuMultiplyAdapterConfig extends BaseAdapterConfig {
945
945
  targetHealthFactor: number;
946
946
  minHealthFactor: number;
947
947
  quoteAmountToFetchPrice: Web3Number;
948
+ minimumVesuMovementAmount: number;
948
949
  }
949
950
  declare class VesuMultiplyAdapter extends BaseAdapter<DepositParams, WithdrawParams> {
950
951
  readonly config: VesuMultiplyAdapterConfig;
951
952
  readonly vesuAdapter: VesuAdapter;
952
953
  readonly tokenMarketData: TokenMarketData;
954
+ readonly minimumVesuMovementAmount: number;
953
955
  constructor(config: VesuMultiplyAdapterConfig);
954
956
  protected getAPY(supportedPosition: SupportedPosition): Promise<PositionAPY>;
955
957
  protected getPosition(supportedPosition: SupportedPosition): Promise<PositionAmount>;
@@ -1472,10 +1474,14 @@ interface ExtendedAdapterConfig extends BaseAdapterConfig {
1472
1474
  extendedMarketName: string;
1473
1475
  extendedPrecision: number;
1474
1476
  avnuAdapter: AvnuAdapter;
1477
+ retryDelayForOrderStatus: number;
1478
+ minimumExtendedMovementAmount: number;
1475
1479
  }
1476
1480
  declare class ExtendedAdapter extends BaseAdapter<DepositParams, WithdrawParams> {
1477
1481
  readonly config: ExtendedAdapterConfig;
1478
1482
  readonly client: ExtendedWrapper;
1483
+ readonly retryDelayForOrderStatus: number;
1484
+ readonly minimumExtendedMovementAmount: number;
1479
1485
  constructor(config: ExtendedAdapterConfig);
1480
1486
  protected getAPY(supportedPosition: SupportedPosition): Promise<PositionAPY>;
1481
1487
  protected getPosition(supportedPosition: SupportedPosition): Promise<PositionAmount>;
@@ -2245,7 +2251,7 @@ declare class VesuExtendedMultiplierStrategy<S extends VesuExtendedStrategySetti
2245
2251
  splits: PositionInfo[];
2246
2252
  }>;
2247
2253
  }
2248
- declare const VesuExtendedTestStrategies: (extendedBackendUrl: string, extendedApiKey: string, vaultIdExtended: number) => IStrategyMetadata<VesuExtendedStrategySettings>[];
2254
+ declare const VesuExtendedTestStrategies: (extendedBackendUrl: string, extendedApiKey: string, vaultIdExtended: number, minimumExtendedMovementAmount: number, minimumVesuMovementAmount: number, minimumExtendedRetriesDelayForOrderStatus: number) => IStrategyMetadata<VesuExtendedStrategySettings>[];
2249
2255
 
2250
2256
  declare const AddressesConfig: {
2251
2257
  readonly tokens: {