@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.mjs CHANGED
@@ -28026,7 +28026,7 @@ var STRK_API_RPC = process.env.STRK_API_RPC ?? "https://mainnet.starknet.a5a.ch"
28026
28026
  var MAX_RETRIES = Number(process.env.MAX_RETRIES ?? 3);
28027
28027
  var MAX_DELAY = Number(process.env.MAX_DELAY ?? 100);
28028
28028
  var EXTEND_MARKET_NAME = "BTC-USD";
28029
- var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 10);
28029
+ var LIMIT_BALANCE = Number(process.env.LIMIT_BALANCE ?? 0.05);
28030
28030
  var REBALANCER_INTERVAL = Number(process.env.REBALANCER_INTERVAL ?? 18e4);
28031
28031
  var WITHDRAWAL_INTERVAL = Number(process.env.WITHDRAWAL_INTERVAL ?? 18e6);
28032
28032
  var INVESTING_INTERVAL = Number(process.env.INVESTING_INTERVAL ?? 18e4);
@@ -28065,8 +28065,7 @@ var calculateAmountDistribution = async (amount, client, marketName, collateralP
28065
28065
  vesu_leverage: 0
28066
28066
  };
28067
28067
  }
28068
- const extendedBTCExposure = extendedPosition.length > 0 ? new Web3Number(extendedPosition[0].size, WBTC_TOKEN_DECIMALS) : new Web3Number(0, WBTC_TOKEN_DECIMALS);
28069
- const extendedExposureUSD = extendedBTCExposure.multipliedBy(collateralPrice);
28068
+ const extendedExposureUSD = extendedPosition.length > 0 ? new Web3Number(extendedPosition[0].value, WBTC_TOKEN_DECIMALS) : new Web3Number(0, WBTC_TOKEN_DECIMALS);
28070
28069
  const vesuBTCExposureUSD = collateralUnits.multipliedBy(collateralPrice);
28071
28070
  const numerator1 = vesu_leverage * amount + vesuBTCExposureUSD.toNumber();
28072
28071
  const numerator2 = extendedExposureUSD.toNumber();
@@ -28284,6 +28283,7 @@ var VesuMultiplyAdapter = class _VesuMultiplyAdapter extends BaseAdapter {
28284
28283
  vaultAllocator: config.vaultAllocator,
28285
28284
  id: ""
28286
28285
  });
28286
+ this.minimumVesuMovementAmount = config.minimumVesuMovementAmount ?? 5;
28287
28287
  this.tokenMarketData = new TokenMarketData(
28288
28288
  this.config.pricer,
28289
28289
  this.config.networkConfig
@@ -29630,12 +29630,17 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29630
29630
  timeout: this.config.extendedTimeout,
29631
29631
  retries: this.config.extendedRetries
29632
29632
  });
29633
+ this.minimumExtendedMovementAmount = this.config.minimumExtendedMovementAmount ?? 5;
29633
29634
  this.client = client;
29635
+ this.retryDelayForOrderStatus = this.config.retryDelayForOrderStatus ?? 3e3;
29634
29636
  }
29635
29637
  //abstract means the method has no implementation in this class; instead, child classes must implement it.
29636
29638
  async getAPY(supportedPosition) {
29637
29639
  const side = supportedPosition.isDebt ? "LONG" : "SHORT";
29638
- const fundingRates = await this.client.getFundingRates(this.config.extendedMarketName, side);
29640
+ const fundingRates = await this.client.getFundingRates(
29641
+ this.config.extendedMarketName,
29642
+ side
29643
+ );
29639
29644
  if (fundingRates.status !== "OK") {
29640
29645
  logger.error("error getting funding rates", fundingRates);
29641
29646
  return { apy: 0, type: "base" /* BASE */ };
@@ -29679,14 +29684,14 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29679
29684
  });
29680
29685
  }
29681
29686
  _getDepositLeaf() {
29682
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29687
+ const usdceToken = Global.getDefaultTokens().find(
29688
+ (token) => token.symbol === "USDCe"
29689
+ );
29683
29690
  return [
29684
29691
  {
29685
29692
  target: this.config.supportedPositions[0].asset.address,
29686
29693
  method: "approve",
29687
- packedArguments: [
29688
- AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()
29689
- ],
29694
+ packedArguments: [AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()],
29690
29695
  id: `extended_approve_${this.config.supportedPositions[0].asset.symbol}`,
29691
29696
  sanitizer: AVNU_LEGACY_SANITIZER
29692
29697
  },
@@ -29717,25 +29722,33 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29717
29722
  const leafConfigs = this._getSwapFromLegacyLeaf();
29718
29723
  const leaves = leafConfigs.map((config) => {
29719
29724
  const { target, method, packedArguments, sanitizer, id } = config;
29720
- const leaf = this.constructSimpleLeafData({
29721
- id,
29722
- target,
29723
- method,
29724
- packedArguments
29725
- }, sanitizer);
29725
+ const leaf = this.constructSimpleLeafData(
29726
+ {
29727
+ id,
29728
+ target,
29729
+ method,
29730
+ packedArguments
29731
+ },
29732
+ sanitizer
29733
+ );
29726
29734
  return leaf;
29727
29735
  });
29728
- return { leaves, callConstructor: this.getSwapFromLegacyCall.bind(this) };
29736
+ return {
29737
+ leaves,
29738
+ callConstructor: this.getSwapFromLegacyCall.bind(
29739
+ this
29740
+ )
29741
+ };
29729
29742
  }
29730
29743
  _getSwapFromLegacyLeaf() {
29731
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29744
+ const usdceToken = Global.getDefaultTokens().find(
29745
+ (token) => token.symbol === "USDCe"
29746
+ );
29732
29747
  return [
29733
29748
  {
29734
29749
  target: usdceToken.address,
29735
29750
  method: "approve",
29736
- packedArguments: [
29737
- AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()
29738
- ],
29751
+ packedArguments: [AVNU_EXCHANGE_FOR_LEGACY_USDC.toBigInt()],
29739
29752
  id: `extendedswaplegacyapprove_${usdceToken.symbol}`,
29740
29753
  sanitizer: AVNU_LEGACY_SANITIZER
29741
29754
  },
@@ -29754,11 +29767,13 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29754
29767
  async getDepositCall(params) {
29755
29768
  try {
29756
29769
  const usdcToken = this.config.supportedPositions[0].asset;
29757
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29758
- const salt = Math.floor(
29759
- Math.random() * 10 ** usdcToken.decimals
29770
+ const usdceToken = Global.getDefaultTokens().find(
29771
+ (token) => token.symbol === "USDCe"
29772
+ );
29773
+ const salt = Math.floor(Math.random() * 10 ** usdcToken.decimals);
29774
+ const amount = uint25613.bnToUint256(
29775
+ params.amount.multipliedBy(10).toWei()
29760
29776
  );
29761
- const amount = uint25613.bnToUint256(params.amount.multipliedBy(10).toWei());
29762
29777
  const quotes = await this.config.avnuAdapter.getQuotesAvnu(
29763
29778
  usdcToken.address.toString(),
29764
29779
  usdceToken.address.toString(),
@@ -29771,7 +29786,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29771
29786
  logger.error("error getting quotes from avnu");
29772
29787
  return [];
29773
29788
  }
29774
- const getCalldata = await this.config.avnuAdapter.getSwapCallData(quotes);
29789
+ const getCalldata = await this.config.avnuAdapter.getSwapCallData(
29790
+ quotes
29791
+ );
29775
29792
  const swapCallData = getCalldata[0];
29776
29793
  return [
29777
29794
  {
@@ -29847,8 +29864,12 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29847
29864
  async getSwapFromLegacyCall(params) {
29848
29865
  try {
29849
29866
  const usdcToken = this.config.supportedPositions[0].asset;
29850
- const usdceToken = Global.getDefaultTokens().find((token) => token.symbol === "USDCe");
29851
- const amount = uint25613.bnToUint256(params.amount.multipliedBy(10).toWei());
29867
+ const usdceToken = Global.getDefaultTokens().find(
29868
+ (token) => token.symbol === "USDCe"
29869
+ );
29870
+ const amount = uint25613.bnToUint256(
29871
+ params.amount.multipliedBy(10).toWei()
29872
+ );
29852
29873
  const quotes = await this.config.avnuAdapter.getQuotesAvnu(
29853
29874
  usdceToken.address.toString(),
29854
29875
  usdcToken.address.toString(),
@@ -29861,7 +29882,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29861
29882
  logger.error("error getting quotes from avnu");
29862
29883
  return [];
29863
29884
  }
29864
- const getCalldata = await this.config.avnuAdapter.getSwapCallData(quotes);
29885
+ const getCalldata = await this.config.avnuAdapter.getSwapCallData(
29886
+ quotes
29887
+ );
29865
29888
  const swapCallData = getCalldata[0];
29866
29889
  return [
29867
29890
  {
@@ -29909,9 +29932,14 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29909
29932
  if (!this.client) {
29910
29933
  throw new Error("Client not initialized");
29911
29934
  }
29912
- const withdrawalRequest = await this.client.withdrawUSDC(amount.toFixed(2));
29935
+ const withdrawalRequest = await this.client.withdrawUSDC(
29936
+ amount.toFixed(2)
29937
+ );
29913
29938
  if (withdrawalRequest.status === "OK") {
29914
- const withdrawalStatus = await this.getDepositOrWithdrawalStatus(withdrawalRequest.data, "WITHDRAWAL" /* WITHDRAWAL */);
29939
+ const withdrawalStatus = await this.getDepositOrWithdrawalStatus(
29940
+ withdrawalRequest.data,
29941
+ "WITHDRAWAL" /* WITHDRAWAL */
29942
+ );
29915
29943
  return withdrawalStatus;
29916
29944
  }
29917
29945
  return false;
@@ -29984,18 +30012,34 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
29984
30012
  logger.error("error initializing client");
29985
30013
  return null;
29986
30014
  }
29987
- await new Promise((resolve) => setTimeout(resolve, 5e3));
29988
- const orderhistory = await this.getOrderHistory(marketName);
30015
+ let orderhistory = await this.getOrderHistory(marketName);
29989
30016
  if (!orderhistory || orderhistory.length === 0) {
29990
- logger.error(`error getting order: ${orderId}`);
29991
- return null;
30017
+ logger.error(`error getting order history: ${orderId}`);
30018
+ } else {
30019
+ const order = orderhistory.slice(0, 10).find((order2) => order2.id.toString() === orderId);
30020
+ if (order) {
30021
+ return order;
30022
+ }
29992
30023
  }
29993
- const order = orderhistory.slice(0, 3).find((order2) => order2.id.toString() === orderId);
29994
- if (!order) {
29995
- logger.error(`error getting order: ${order}`);
29996
- return null;
30024
+ for (let attempt = 1; attempt <= 5; attempt++) {
30025
+ await new Promise((resolve) => setTimeout(resolve, this.retryDelayForOrderStatus));
30026
+ orderhistory = await this.getOrderHistory(marketName);
30027
+ if (!orderhistory || orderhistory.length === 0) {
30028
+ logger.error(
30029
+ `error getting order history on retry ${attempt}: ${orderId}`
30030
+ );
30031
+ continue;
30032
+ }
30033
+ const order = orderhistory.slice(0, 5).find((order2) => order2.id.toString() === orderId);
30034
+ if (order && order.status === "FILLED" /* FILLED */) {
30035
+ return order;
30036
+ }
30037
+ logger.error(
30038
+ `order not found in top 15 entries on retry ${attempt}: ${orderId}`
30039
+ );
29997
30040
  }
29998
- return order;
30041
+ logger.error(`error getting order after all retries: ${orderId}`);
30042
+ return null;
29999
30043
  }
30000
30044
  async fetchOrderBookBTCUSDC() {
30001
30045
  try {
@@ -30068,8 +30112,11 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30068
30112
  return null;
30069
30113
  }
30070
30114
  await new Promise((resolve) => setTimeout(resolve, 5e3));
30071
- const openOrder = await this.getOrderStatus(result.position_id, this.config.extendedMarketName);
30072
- if (!openOrder || openOrder.status !== "FILLED" /* FILLED */) {
30115
+ const openOrder = await this.getOrderStatus(
30116
+ result.position_id,
30117
+ this.config.extendedMarketName
30118
+ );
30119
+ if (!openOrder) {
30073
30120
  if (attempt >= maxAttempts) {
30074
30121
  logger.error("Max retries reached \u2014 could not verify open position");
30075
30122
  return null;
@@ -30091,7 +30138,9 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30091
30138
  };
30092
30139
  }
30093
30140
  } catch (err) {
30094
- logger.error(`createShortOrder failed on attempt ${attempt}: ${err.message}`);
30141
+ logger.error(
30142
+ `createShortOrder failed on attempt ${attempt}: ${err.message}`
30143
+ );
30095
30144
  if (attempt < maxAttempts) {
30096
30145
  const backoff = 1200 * attempt;
30097
30146
  logger.info(`Retrying after ${backoff}ms...`);
@@ -30136,13 +30185,17 @@ var ExtendedAdapter = class _ExtendedAdapter extends BaseAdapter {
30136
30185
  operationsStatus: ["COMPLETED" /* COMPLETED */]
30137
30186
  });
30138
30187
  if (operationsType === "DEPOSIT" /* DEPOSIT */) {
30139
- const myTransferStatus = transferHistory.data.find((operation) => operation.transactionHash === orderId);
30188
+ const myTransferStatus = transferHistory.data.find(
30189
+ (operation) => operation.transactionHash === orderId
30190
+ );
30140
30191
  if (!myTransferStatus) {
30141
30192
  return true;
30142
30193
  }
30143
30194
  return true;
30144
30195
  } else {
30145
- const myTransferStatus = transferHistory.data.find((operation) => operation.id.toString() === orderId.toString());
30196
+ const myTransferStatus = transferHistory.data.find(
30197
+ (operation) => operation.id.toString() === orderId.toString()
30198
+ );
30146
30199
  if (!myTransferStatus) {
30147
30200
  return true;
30148
30201
  }
@@ -33417,7 +33470,8 @@ function getLooperSettings(lstSymbol, underlyingSymbol, vaultSettings, pool1) {
33417
33470
  minHealthFactor: vaultSettings.minHealthFactor,
33418
33471
  quoteAmountToFetchPrice: vaultSettings.quoteAmountToFetchPrice,
33419
33472
  ...baseAdapterConfig,
33420
- supportedPositions: [{ asset: lstToken, isDebt: false }, { asset: Global.getDefaultTokens().find((token) => token.symbol === position), isDebt: true }]
33473
+ supportedPositions: [{ asset: lstToken, isDebt: false }, { asset: Global.getDefaultTokens().find((token) => token.symbol === position), isDebt: true }],
33474
+ minimumVesuMovementAmount: 0
33421
33475
  }));
33422
33476
  const unusedBalanceAdapter = new UnusedBalanceAdapter({
33423
33477
  ...baseAdapterConfig
@@ -33878,7 +33932,7 @@ var AvnuAdapter = class _AvnuAdapter extends BaseAdapter {
33878
33932
  }
33879
33933
  throw new Error("Failed to fetch quote after retries");
33880
33934
  }
33881
- async getQuotesAvnu(from_token_address, to_token_address, amount, takerAddress, toTokenDecimals, usdcToBtc, maxIterations = 5, tolerance = 1e3) {
33935
+ async getQuotesAvnu(from_token_address, to_token_address, amount, takerAddress, toTokenDecimals, usdcToBtc, maxIterations = 5, tolerance = 5e3) {
33882
33936
  try {
33883
33937
  const fromToken = this.config.supportedPositions[0].asset;
33884
33938
  const toToken = this.config.supportedPositions[1].asset;
@@ -34118,7 +34172,8 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34118
34172
  }
34119
34173
  const balance = await this.getUnusedBalance();
34120
34174
  const usdcBalanceOnExtended = await extendedAdapter.getExtendedDepositAmount();
34121
- const amountToInvest = balance.amount.plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).minus(LIMIT_BALANCE);
34175
+ const amountToInvest = new Web3Number(balance.usdValue, USDC_TOKEN_DECIMALS).plus(usdcBalanceOnExtended?.availableForWithdrawal ?? 0).multipliedBy(1 - LIMIT_BALANCE);
34176
+ logger.info(`${_VesuExtendedMultiplierStrategy.name}::shouldInvest amountToInvest: ${amountToInvest.toNumber()}`);
34122
34177
  if (amountToInvest.lessThan(0)) {
34123
34178
  return {
34124
34179
  shouldInvest: false,
@@ -34171,6 +34226,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34171
34226
  vesuLeverage: 0
34172
34227
  };
34173
34228
  }
34229
+ logger.info(`${_VesuExtendedMultiplierStrategy.name}::shouldInvest vesu_amount: ${vesu_amount.toNumber()}, extended_amount: ${extended_amount.toNumber()}`);
34174
34230
  return {
34175
34231
  shouldInvest: true,
34176
34232
  vesuAmount: vesu_amount,
@@ -34204,7 +34260,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34204
34260
  );
34205
34261
  return calls;
34206
34262
  }
34207
- if (extendedAmount.lessThan(0)) {
34263
+ if (extendedAmount.isNegative() && extendedAmount.abs().greaterThan(extendedAdapter.minimumExtendedMovementAmount)) {
34208
34264
  try {
34209
34265
  const { calls: extendedCalls, status: extendedStatus } = await this.moveAssets(
34210
34266
  {
@@ -34224,7 +34280,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34224
34280
  logger.error(`Failed moving assets to vault: ${err}`);
34225
34281
  }
34226
34282
  }
34227
- if (vesuAmount.lessThan(0)) {
34283
+ if (vesuAmount.isNegative() && vesuAmount.lessThan(vesuAdapter.minimumVesuMovementAmount)) {
34228
34284
  try {
34229
34285
  const { calls: vesuCalls, status: vesuStatus } = await this.moveAssets(
34230
34286
  {
@@ -34250,15 +34306,15 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34250
34306
  }
34251
34307
  const usdcAmountInWallet = (await this.getUnusedBalance()).amount;
34252
34308
  const usdcAmountOnExtended = parseFloat(
34253
- extendedHoldings.availableForTrade
34309
+ extendedHoldings.availableForWithdrawal
34254
34310
  );
34255
- if (extendedAmount.plus(BUFFER_USDC_IN_WITHDRAWAL).minus(usdcAmountOnExtended).greaterThan(0)) {
34311
+ if (extendedAmount.minus(usdcAmountOnExtended).greaterThan(extendedAdapter.minimumExtendedMovementAmount)) {
34256
34312
  try {
34257
34313
  const { calls: extendedCalls } = await this.moveAssets(
34258
34314
  {
34259
34315
  to: Protocols.EXTENDED.name,
34260
34316
  from: Protocols.VAULT.name,
34261
- amount: extendedAmount.plus(BUFFER_USDC_IN_WITHDRAWAL).minus(usdcAmountOnExtended)
34317
+ amount: extendedAmount.minus(usdcAmountOnExtended)
34262
34318
  },
34263
34319
  extendedAdapter,
34264
34320
  vesuAdapter
@@ -34268,7 +34324,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34268
34324
  logger.error(`Failed moving assets to extended: ${err}`);
34269
34325
  }
34270
34326
  }
34271
- if (vesuAmount.minus(usdcAmountInWallet).greaterThan(0)) {
34327
+ if (vesuAmount.minus(usdcAmountInWallet).greaterThan(vesuAdapter.minimumVesuMovementAmount)) {
34272
34328
  try {
34273
34329
  const { calls: vesuCalls, status: vesuStatus } = await this.moveAssets(
34274
34330
  {
@@ -34496,7 +34552,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34496
34552
  };
34497
34553
  }
34498
34554
  const extendedHoldingAmount = new Web3Number(
34499
- extendedHoldings.availableForTrade,
34555
+ extendedHoldings.availableForWithdrawal,
34500
34556
  USDC_TOKEN_DECIMALS
34501
34557
  );
34502
34558
  const {
@@ -34556,7 +34612,6 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34556
34612
  extendedAmountInBTC: new Web3Number(0, 0),
34557
34613
  calls: []
34558
34614
  };
34559
- ;
34560
34615
  }
34561
34616
  }
34562
34617
  async checkPriceDifferenceBetweenAvnuAndExtended(extendedAdapter, vesuAdapter, avnuAdapter) {
@@ -34734,7 +34789,7 @@ var VesuExtendedMultiplierStrategy = class _VesuExtendedMultiplierStrategy exten
34734
34789
  };
34735
34790
  }
34736
34791
  };
34737
- function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, extendedBackendUrl, extendedApiKey, vaultIdExtended) {
34792
+ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) {
34738
34793
  vaultSettings.leafAdapters = [];
34739
34794
  const wbtcToken = Global.getDefaultTokens().find(
34740
34795
  (token) => token.symbol === lstSymbol
@@ -34774,7 +34829,10 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, e
34774
34829
  extendedBaseUrl: "https://api.starknet.extended.exchange",
34775
34830
  extendedMarketName: "BTC-USD",
34776
34831
  extendedPrecision: 5,
34777
- avnuAdapter
34832
+ avnuAdapter,
34833
+ retryDelayForOrderStatus: minimumExtendedRetriesDelayForOrderStatus ?? 3e3,
34834
+ minimumExtendedMovementAmount: minimumExtendedMovementAmount ?? 5
34835
+ //5 usdcs
34778
34836
  });
34779
34837
  const vesuMultiplyAdapter = new VesuMultiplyAdapter({
34780
34838
  poolId: pool1,
@@ -34787,7 +34845,9 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, pool1, e
34787
34845
  supportedPositions: [
34788
34846
  { asset: wbtcToken, isDebt: false },
34789
34847
  { asset: usdcToken, isDebt: true }
34790
- ]
34848
+ ],
34849
+ minimumVesuMovementAmount: minimumVesuMovementAmount ?? 5
34850
+ //5 usdc
34791
34851
  });
34792
34852
  const unusedBalanceAdapter = new UnusedBalanceAdapter({
34793
34853
  ...baseAdapterConfig
@@ -34902,12 +34962,12 @@ var re7UsdcPrimeDevansh = {
34902
34962
  borrowable_assets: [Global.getDefaultTokens().find((token) => token.symbol === "WBTC")],
34903
34963
  minimumWBTCDifferenceForAvnuSwap: MINIMUM_WBTC_DIFFERENCE_FOR_AVNU_SWAP
34904
34964
  };
34905
- var VesuExtendedTestStrategies = (extendedBackendUrl, extendedApiKey, vaultIdExtended) => {
34965
+ var VesuExtendedTestStrategies = (extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) => {
34906
34966
  return [
34907
- getStrategySettingsVesuExtended("WBTC", "USDC", re7UsdcPrimeDevansh, false, false, extendedBackendUrl, extendedApiKey, vaultIdExtended)
34967
+ getStrategySettingsVesuExtended("WBTC", "USDC", re7UsdcPrimeDevansh, false, false, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus)
34908
34968
  ];
34909
34969
  };
34910
- function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses, isPreview = false, isLST, extendedBackendUrl, extendedApiKey, vaultIdExtended) {
34970
+ function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses, isPreview = false, isLST, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus) {
34911
34971
  return {
34912
34972
  name: `Extended Test ${underlyingSymbol}`,
34913
34973
  description: getDescription2(lstSymbol, underlyingSymbol),
@@ -34915,7 +34975,7 @@ function getStrategySettingsVesuExtended(lstSymbol, underlyingSymbol, addresses,
34915
34975
  launchBlock: 0,
34916
34976
  type: "Other",
34917
34977
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === underlyingSymbol)],
34918
- additionalInfo: getLooperSettings2(lstSymbol, underlyingSymbol, addresses, VesuPools.Re7USDCPrime, extendedBackendUrl, extendedApiKey, vaultIdExtended),
34978
+ additionalInfo: getLooperSettings2(lstSymbol, underlyingSymbol, addresses, VesuPools.Re7USDCPrime, extendedBackendUrl, extendedApiKey, vaultIdExtended, minimumExtendedMovementAmount, minimumVesuMovementAmount, minimumExtendedRetriesDelayForOrderStatus),
34919
34979
  risk: {
34920
34980
  riskFactor: _riskFactor3,
34921
34981
  netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strkfarm/sdk",
3
- "version": "2.0.0-dev.5",
3
+ "version": "2.0.0-dev.7",
4
4
  "description": "STRKFarm TS SDK (Meant for our internal use, but feel free to use it)",
5
5
  "typings": "dist/index.d.ts",
6
6
  "types": "dist/index.d.ts",
@@ -303,7 +303,7 @@ export class AvnuAdapter extends BaseAdapter<DepositParams, WithdrawParams> {
303
303
  toTokenDecimals: number,
304
304
  usdcToBtc: boolean,
305
305
  maxIterations: number = 5,
306
- tolerance: number = 1000
306
+ tolerance: number = 5000
307
307
  ): Promise<Quote | null>{
308
308
  try {
309
309
  const fromToken = this.config.supportedPositions[0].asset;