@strkfarm/sdk 2.0.0-staging.17 → 2.0.0-staging.19

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
@@ -9,6 +9,7 @@ import util from "util";
9
9
 
10
10
  // src/dataTypes/_bignumber.ts
11
11
  import BigNumber from "bignumber.js";
12
+ import { uint256 } from "starknet";
12
13
  var _Web3Number = class extends BigNumber {
13
14
  constructor(value, decimals) {
14
15
  super(value);
@@ -83,6 +84,9 @@ var _Web3Number = class extends BigNumber {
83
84
  sign
84
85
  };
85
86
  }
87
+ toUint256() {
88
+ return uint256.bnToUint256(this.toWei());
89
+ }
86
90
  };
87
91
  BigNumber.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: BigNumber.ROUND_DOWN });
88
92
  _Web3Number.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: BigNumber.ROUND_DOWN });
@@ -566,7 +570,7 @@ var PricerBase = class {
566
570
  };
567
571
 
568
572
  // src/modules/avnu.ts
569
- import { uint256 } from "starknet";
573
+ import { uint256 as uint2562 } from "starknet";
570
574
  import { fetchBuildExecuteTransaction, fetchQuotes } from "@avnu/avnu-sdk";
571
575
 
572
576
  // src/utils/oz-merkle.ts
@@ -711,10 +715,10 @@ var AvnuWrapper = class {
711
715
  const _minAmount = minAmount || (quote.buyAmount * 95n / 100n).toString();
712
716
  const swapInfo = {
713
717
  token_from_address: quote.sellTokenAddress,
714
- token_from_amount: uint256.bnToUint256(quote.sellAmount),
718
+ token_from_amount: uint2562.bnToUint256(quote.sellAmount),
715
719
  token_to_address: quote.buyTokenAddress,
716
- token_to_amount: uint256.bnToUint256(_minAmount),
717
- token_to_min_amount: uint256.bnToUint256(_minAmount),
720
+ token_to_amount: uint2562.bnToUint256(_minAmount),
721
+ token_to_min_amount: uint2562.bnToUint256(_minAmount),
718
722
  beneficiary: taker,
719
723
  integrator_fee_amount_bps: integratorFeeBps,
720
724
  integrator_fee_recipient: integratorFeeRecipient,
@@ -725,10 +729,10 @@ var AvnuWrapper = class {
725
729
  static buildZeroSwap(tokenToSell, beneficiary, tokenToBuy = tokenToSell) {
726
730
  return {
727
731
  token_from_address: tokenToSell.address,
728
- token_from_amount: uint256.bnToUint256(0),
732
+ token_from_amount: uint2562.bnToUint256(0),
729
733
  token_to_address: tokenToBuy.address,
730
- token_to_amount: uint256.bnToUint256(0),
731
- token_to_min_amount: uint256.bnToUint256(0),
734
+ token_to_amount: uint2562.bnToUint256(0),
735
+ token_to_min_amount: uint2562.bnToUint256(0),
732
736
  beneficiary,
733
737
  integrator_fee_amount_bps: 0,
734
738
  integrator_fee_recipient: beneficiary,
@@ -3152,7 +3156,7 @@ var Initializable = class {
3152
3156
  };
3153
3157
 
3154
3158
  // src/strategies/autoCompounderStrk.ts
3155
- import { Contract as Contract4, uint256 as uint2562 } from "starknet";
3159
+ import { Contract as Contract4, uint256 as uint2563 } from "starknet";
3156
3160
  var AutoCompounderSTRK = class {
3157
3161
  constructor(config, pricer) {
3158
3162
  this.addr = ContractAddr.from("0x541681b9ad63dff1b35f79c78d8477f64857de29a27902f7298f7b620838ea");
@@ -3196,7 +3200,7 @@ var AutoCompounderSTRK = class {
3196
3200
  /** Returns underlying assets of user */
3197
3201
  async balanceOfUnderlying(user) {
3198
3202
  const balanceShares = await this.balanceOf(user);
3199
- const assets = await this.contract.convert_to_assets(uint2562.bnToUint256(balanceShares.toWei()));
3203
+ const assets = await this.contract.convert_to_assets(uint2563.bnToUint256(balanceShares.toWei()));
3200
3204
  return Web3Number.fromWei(assets.toString(), this.metadata.decimals);
3201
3205
  }
3202
3206
  /** Returns usd value of assets */
@@ -3212,7 +3216,7 @@ var AutoCompounderSTRK = class {
3212
3216
  };
3213
3217
 
3214
3218
  // src/strategies/vesu-rebalance.tsx
3215
- import { CairoCustomEnum, Contract as Contract6, num as num4, uint256 as uint2563 } from "starknet";
3219
+ import { CairoCustomEnum, Contract as Contract6, num as num4, uint256 as uint2564 } from "starknet";
3216
3220
 
3217
3221
  // src/data/vesu-rebalance.abi.json
3218
3222
  var vesu_rebalance_abi_default = [
@@ -10363,10 +10367,10 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
10363
10367
  });
10364
10368
  const call1 = assetContract.populate("approve", [
10365
10369
  this.address.address,
10366
- uint2563.bnToUint256(amountInfo.amount.toWei())
10370
+ uint2564.bnToUint256(amountInfo.amount.toWei())
10367
10371
  ]);
10368
10372
  const call2 = this.contract.populate("deposit", [
10369
- uint2563.bnToUint256(amountInfo.amount.toWei()),
10373
+ uint2564.bnToUint256(amountInfo.amount.toWei()),
10370
10374
  receiver.address
10371
10375
  ]);
10372
10376
  return [call1, call2];
@@ -10381,7 +10385,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
10381
10385
  async withdrawCall(amountInfo, receiver, owner) {
10382
10386
  return [
10383
10387
  this.contract.populate("withdraw", [
10384
- uint2563.bnToUint256(amountInfo.amount.toWei()),
10388
+ uint2564.bnToUint256(amountInfo.amount.toWei()),
10385
10389
  receiver.address,
10386
10390
  owner.address
10387
10391
  ])
@@ -10405,7 +10409,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
10405
10409
  const shares = await this.contract.call("balanceOf", [user.address], { blockIdentifier });
10406
10410
  const assets = await this.contract.call(
10407
10411
  "convert_to_assets",
10408
- [uint2563.bnToUint256(shares)],
10412
+ [uint2564.bnToUint256(shares)],
10409
10413
  { blockIdentifier }
10410
10414
  );
10411
10415
  const amount = Web3Number.fromWei(
@@ -10563,7 +10567,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
10563
10567
  });
10564
10568
  const bal = await vTokenContract.balanceOf(this.address.address);
10565
10569
  const assets = await vTokenContract.convert_to_assets(
10566
- uint2563.bnToUint256(bal.toString())
10570
+ uint2564.bnToUint256(bal.toString())
10567
10571
  );
10568
10572
  logger.verbose(`Collateral: ${JSON.stringify(vesuPosition?.collateral)}`);
10569
10573
  logger.verbose(`supplyApy: ${JSON.stringify(assetInfo?.stats.supplyApy)}`);
@@ -10869,7 +10873,7 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
10869
10873
  p.isDeposit ? { DEPOSIT: {} } : { WITHDRAW: {} }
10870
10874
  ),
10871
10875
  token: this.asset().address.address,
10872
- amount: uint2563.bnToUint256(
10876
+ amount: uint2564.bnToUint256(
10873
10877
  p.changeAmt.multipliedBy(p.isDeposit ? 1 : -1).toWei()
10874
10878
  )
10875
10879
  });
@@ -10928,10 +10932,10 @@ var VesuRebalance = class _VesuRebalance extends BaseStrategy {
10928
10932
  const avnu = new AvnuWrapper();
10929
10933
  let swapInfo = {
10930
10934
  token_from_address: harvest.token.address,
10931
- token_from_amount: uint2563.bnToUint256(harvest.actualReward.toWei()),
10935
+ token_from_amount: uint2564.bnToUint256(harvest.actualReward.toWei()),
10932
10936
  token_to_address: this.asset().address.address,
10933
- token_to_amount: uint2563.bnToUint256(0),
10934
- token_to_min_amount: uint2563.bnToUint256(0),
10937
+ token_to_amount: uint2564.bnToUint256(0),
10938
+ token_to_min_amount: uint2564.bnToUint256(0),
10935
10939
  beneficiary: this.address.address,
10936
10940
  integrator_fee_amount_bps: 0,
10937
10941
  integrator_fee_recipient: this.address.address,
@@ -11203,7 +11207,7 @@ VesuRebalanceStrategies.forEach((s) => {
11203
11207
  import {
11204
11208
  Contract as Contract7,
11205
11209
  num as num5,
11206
- uint256 as uint2564
11210
+ uint256 as uint2565
11207
11211
  } from "starknet";
11208
11212
 
11209
11213
  // src/data/cl-vault.abi.json
@@ -16273,7 +16277,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16273
16277
  const shares = await this.tokensToShares(amountInfo);
16274
16278
  const { amount0, amount1 } = await this.contract.call(
16275
16279
  "convert_to_assets",
16276
- [uint2564.bnToUint256(shares.toWei())]
16280
+ [uint2565.bnToUint256(shares.toWei())]
16277
16281
  );
16278
16282
  return {
16279
16283
  token0: {
@@ -16306,15 +16310,15 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16306
16310
  });
16307
16311
  const call1 = token0Contract.populate("approve", [
16308
16312
  this.address.address,
16309
- uint2564.bnToUint256(updateAmountInfo.token0.amount.toWei())
16313
+ uint2565.bnToUint256(updateAmountInfo.token0.amount.toWei())
16310
16314
  ]);
16311
16315
  const call2 = token1Contract.populate("approve", [
16312
16316
  this.address.address,
16313
- uint2564.bnToUint256(updateAmountInfo.token1.amount.toWei())
16317
+ uint2565.bnToUint256(updateAmountInfo.token1.amount.toWei())
16314
16318
  ]);
16315
16319
  const call3 = this.contract.populate("deposit", [
16316
- uint2564.bnToUint256(updateAmountInfo.token0.amount.toWei()),
16317
- uint2564.bnToUint256(updateAmountInfo.token1.amount.toWei()),
16320
+ uint2565.bnToUint256(updateAmountInfo.token0.amount.toWei()),
16321
+ uint2565.bnToUint256(updateAmountInfo.token1.amount.toWei()),
16318
16322
  receiver.address
16319
16323
  ]);
16320
16324
  const calls = [];
@@ -16324,8 +16328,8 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16324
16328
  }
16325
16329
  async tokensToShares(amountInfo) {
16326
16330
  const shares = await this.contract.call("convert_to_shares", [
16327
- uint2564.bnToUint256(amountInfo.token0.amount.toWei()),
16328
- uint2564.bnToUint256(amountInfo.token1.amount.toWei())
16331
+ uint2565.bnToUint256(amountInfo.token0.amount.toWei()),
16332
+ uint2565.bnToUint256(amountInfo.token1.amount.toWei())
16329
16333
  ]);
16330
16334
  return Web3Number.fromWei(shares.toString(), 18);
16331
16335
  }
@@ -16336,7 +16340,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16336
16340
  );
16337
16341
  return [
16338
16342
  this.contract.populate("withdraw", [
16339
- uint2564.bnToUint256(shares.toWei()),
16343
+ uint2565.bnToUint256(shares.toWei()),
16340
16344
  receiver.address
16341
16345
  ])
16342
16346
  ];
@@ -16358,14 +16362,21 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16358
16362
  handleFeesCall() {
16359
16363
  return [this.contract.populate("handle_fees", [])];
16360
16364
  }
16361
- async getFeeHistory(timePeriod = "24h") {
16365
+ async getFeeHistory(timePeriod = "24h", range) {
16362
16366
  const { data } = await apollo_client_default.query({
16363
16367
  query: gql2`
16364
16368
  query ContractFeeEarnings(
16365
16369
  $timeframe: String!
16366
16370
  $contract: String!
16371
+ $startTimestamp: Float
16372
+ $endTimestamp: Float
16367
16373
  ) {
16368
- contractFeeEarnings(timeframe: $timeframe, contract: $contract) {
16374
+ contractFeeEarnings(
16375
+ timeframe: $timeframe
16376
+ contract: $contract
16377
+ startTimestamp: $startTimestamp
16378
+ endTimestamp: $endTimestamp
16379
+ ) {
16369
16380
  contract
16370
16381
  dailyEarnings {
16371
16382
  date
@@ -16378,7 +16389,9 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16378
16389
  `,
16379
16390
  variables: {
16380
16391
  timeframe: timePeriod,
16381
- contract: this.address.address
16392
+ contract: this.address.address,
16393
+ startTimestamp: range?.startTimestamp,
16394
+ endTimestamp: range?.endTimestamp
16382
16395
  },
16383
16396
  fetchPolicy: "no-cache"
16384
16397
  });
@@ -16550,7 +16563,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16550
16563
  let bal = await this.balanceOf(user, blockIdentifier);
16551
16564
  const assets = await this.contract.call(
16552
16565
  "convert_to_assets",
16553
- [uint2564.bnToUint256(bal.toWei())],
16566
+ [uint2565.bnToUint256(bal.toWei())],
16554
16567
  {
16555
16568
  blockIdentifier
16556
16569
  }
@@ -16696,7 +16709,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16696
16709
  return this.metadata.additionalInfo.truePrice;
16697
16710
  } else if (this.lstContract) {
16698
16711
  const result = await this.lstContract.call("convert_to_assets", [
16699
- uint2564.bnToUint256(BigInt(1e18).toString())
16712
+ uint2565.bnToUint256(BigInt(1e18).toString())
16700
16713
  ]);
16701
16714
  const truePrice = Number(BigInt(result.toString()) * BigInt(1e9) / BigInt(1e18)) / 1e9;
16702
16715
  return truePrice;
@@ -17197,7 +17210,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17197
17210
  logger.error(`Rebalance failed after ${MAX_SAME_ERROR_COUNT} same errors`);
17198
17211
  throw new Error(`Rebalance failed after ${MAX_SAME_ERROR_COUNT} same errors`);
17199
17212
  }
17200
- const fromAmount = uint2564.uint256ToBN(swapInfo.token_from_amount);
17213
+ const fromAmount = uint2565.uint256ToBN(swapInfo.token_from_amount);
17201
17214
  const fromTokenInfo = await Global.getTokenInfoFromAddr(ContractAddr.from(swapInfo.token_from_address));
17202
17215
  logger.verbose(
17203
17216
  `Selling ${fromAmount.toString()} of token ${swapInfo.token_from_address}`
@@ -17226,7 +17239,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17226
17239
  logger.error("Convergence failed: nextAmount <= lowerLimit");
17227
17240
  throw err;
17228
17241
  }
17229
- newSwapInfo.token_from_amount = uint2564.bnToUint256(nextAmount);
17242
+ newSwapInfo.token_from_amount = uint2565.bnToUint256(nextAmount);
17230
17243
  } else {
17231
17244
  logger.verbose("Increasing swap amount - deficit token0");
17232
17245
  let nextAmount = (fromAmount + upperLimit) / 2n;
@@ -17238,7 +17251,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17238
17251
  logger.error("Convergence failed: nextAmount >= upperLimit");
17239
17252
  throw err;
17240
17253
  }
17241
- newSwapInfo.token_from_amount = uint2564.bnToUint256(nextAmount);
17254
+ newSwapInfo.token_from_amount = uint2565.bnToUint256(nextAmount);
17242
17255
  }
17243
17256
  } else if (err.message.includes("invalid token1 amount") || err.message.includes("invalid token1 balance")) {
17244
17257
  if (isSellTokenToken0) {
@@ -17249,7 +17262,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17249
17262
  logger.error("Convergence failed: nextAmount <= lowerLimit");
17250
17263
  throw err;
17251
17264
  }
17252
- newSwapInfo.token_from_amount = uint2564.bnToUint256(nextAmount);
17265
+ newSwapInfo.token_from_amount = uint2565.bnToUint256(nextAmount);
17253
17266
  } else {
17254
17267
  logger.verbose("Increasing swap amount - deficit token1");
17255
17268
  let nextAmount = (fromAmount + upperLimit) / 2n;
@@ -17261,7 +17274,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17261
17274
  logger.error("Convergence failed: nextAmount >= upperLimit");
17262
17275
  throw err;
17263
17276
  }
17264
- newSwapInfo.token_from_amount = uint2564.bnToUint256(nextAmount);
17277
+ newSwapInfo.token_from_amount = uint2565.bnToUint256(nextAmount);
17265
17278
  }
17266
17279
  } else if (err.message.includes("Residual tokens")) {
17267
17280
  logger.error("Residual tokens");
@@ -17291,7 +17304,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17291
17304
  logger.error("Unexpected error:", err);
17292
17305
  throw err;
17293
17306
  }
17294
- newSwapInfo.token_to_min_amount = uint2564.bnToUint256("0");
17307
+ newSwapInfo.token_to_min_amount = uint2565.bnToUint256("0");
17295
17308
  return this.rebalanceIter(
17296
17309
  newSwapInfo,
17297
17310
  acc,
@@ -17342,15 +17355,15 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17342
17355
  const result = await this.ekuboMathContract.call(
17343
17356
  "liquidity_delta_to_amount_delta",
17344
17357
  [
17345
- uint2564.bnToUint256(currentPrice.sqrtRatio),
17358
+ uint2565.bnToUint256(currentPrice.sqrtRatio),
17346
17359
  {
17347
17360
  mag: liquidity.toWei(),
17348
17361
  sign: 0
17349
17362
  },
17350
- uint2564.bnToUint256(
17363
+ uint2565.bnToUint256(
17351
17364
  _EkuboCLVault.priceToSqrtRatio(lowerPrice).toString()
17352
17365
  ),
17353
- uint2564.bnToUint256(
17366
+ uint2565.bnToUint256(
17354
17367
  _EkuboCLVault.priceToSqrtRatio(upperPrice).toString()
17355
17368
  )
17356
17369
  ],
@@ -17453,7 +17466,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17453
17466
  const claimTokenInfo = await Global.getTokenInfoFromAddr(claim.token);
17454
17467
  const harvestEstimateCall = async (baseSwapInfo2) => {
17455
17468
  let baseSwapAmount = Web3Number.fromWei(
17456
- uint2564.uint256ToBN(baseSwapInfo2.token_from_amount).toString(),
17469
+ uint2565.uint256ToBN(baseSwapInfo2.token_from_amount).toString(),
17457
17470
  claimTokenInfo.decimals
17458
17471
  ).minimum(
17459
17472
  postFeeAmount.toFixed(claimTokenInfo.decimals)
@@ -17461,7 +17474,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17461
17474
  if (baseSwapAmount.lt(1e-4)) {
17462
17475
  baseSwapAmount = new Web3Number(0, claimTokenInfo.decimals);
17463
17476
  }
17464
- baseSwapInfo2.token_from_amount = uint2564.bnToUint256(baseSwapAmount.toWei());
17477
+ baseSwapInfo2.token_from_amount = uint2565.bnToUint256(baseSwapAmount.toWei());
17465
17478
  const isToken0ClaimToken2 = claim.token.eq(poolKey.token0);
17466
17479
  logger.verbose(
17467
17480
  `${_EkuboCLVault.name}: harvest => isToken0ClaimToken: ${isToken0ClaimToken2}, baseSwapAmount: ${baseSwapAmount}`
@@ -17471,7 +17484,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17471
17484
  `${_EkuboCLVault.name}: harvest => remainingAmount: ${remainingAmount}`
17472
17485
  );
17473
17486
  let dummySwapInfo = AvnuWrapper.buildZeroSwap(claim.token, this.address.address, claim.token);
17474
- dummySwapInfo.token_from_amount = uint2564.bnToUint256(remainingAmount.toWei());
17487
+ dummySwapInfo.token_from_amount = uint2565.bnToUint256(remainingAmount.toWei());
17475
17488
  logger.verbose(
17476
17489
  `${_EkuboCLVault.name}: harvest => dummySwapInfo: ${JSON.stringify(
17477
17490
  dummySwapInfo
@@ -17498,7 +17511,7 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
17498
17511
  };
17499
17512
  const isToken0ClaimToken = claim.token.eq(poolKey.token0);
17500
17513
  let baseSwapInfo = AvnuWrapper.buildZeroSwap(claim.token, this.address.address, isToken0ClaimToken ? token1Info.address : token0Info.address);
17501
- baseSwapInfo.token_from_amount = uint2564.bnToUint256(postFeeAmount.toWei());
17514
+ baseSwapInfo.token_from_amount = uint2565.bnToUint256(postFeeAmount.toWei());
17502
17515
  if (postFeeAmount.greaterThan(0) && !isToken0ClaimToken) {
17503
17516
  const avnuWrapper = new AvnuWrapper();
17504
17517
  const quote = await avnuWrapper.getQuotes(
@@ -18298,7 +18311,7 @@ EkuboCLVaultStrategies.forEach((s) => {
18298
18311
  });
18299
18312
 
18300
18313
  // src/strategies/sensei.ts
18301
- import { Contract as Contract9, num as num8, uint256 as uint2566 } from "starknet";
18314
+ import { Contract as Contract9, num as num8, uint256 as uint2567 } from "starknet";
18302
18315
 
18303
18316
  // src/data/sensei.abi.json
18304
18317
  var sensei_abi_default = [
@@ -20062,7 +20075,7 @@ var sensei_abi_default = [
20062
20075
  ];
20063
20076
 
20064
20077
  // src/strategies/universal-adapters/vesu-adapter.ts
20065
- import { CairoCustomEnum as CairoCustomEnum2, Contract as Contract8, hash as hash2, num as num7, RpcProvider as RpcProvider5, shortString as shortString2, uint256 as uint2565 } from "starknet";
20078
+ import { CairoCustomEnum as CairoCustomEnum2, Contract as Contract8, hash as hash2, num as num7, RpcProvider as RpcProvider5, shortString as shortString2, uint256 as uint2566 } from "starknet";
20066
20079
 
20067
20080
  // src/strategies/universal-adapters/adapter-utils.ts
20068
20081
  var SIMPLE_SANITIZER = ContractAddr.from("0x5a2e3ceb3da368b983a8717898427ab7b6daf04014b70f321e777f9aad940b4");
@@ -27302,7 +27315,7 @@ function getVesuMultiplyParams(isIncrease, params) {
27302
27315
  tick_spacing: route.pool_key.tick_spacing,
27303
27316
  extension: BigInt(num7.hexToDecimalString(route.pool_key.extension))
27304
27317
  },
27305
- sqrt_ratio_limit: uint2565.bnToUint256(route.sqrt_ratio_limit.toWei()),
27318
+ sqrt_ratio_limit: uint2566.bnToUint256(route.sqrt_ratio_limit.toWei()),
27306
27319
  skip_ahead: BigInt(100)
27307
27320
  })),
27308
27321
  token_amount: {
@@ -27320,7 +27333,7 @@ function getVesuMultiplyParams(isIncrease, params) {
27320
27333
  tick_spacing: route.pool_key.tick_spacing,
27321
27334
  extension: BigInt(num7.hexToDecimalString(route.pool_key.extension))
27322
27335
  },
27323
- sqrt_ratio_limit: uint2565.bnToUint256(route.sqrt_ratio_limit.toWei()),
27336
+ sqrt_ratio_limit: uint2566.bnToUint256(route.sqrt_ratio_limit.toWei()),
27324
27337
  skip_ahead: BigInt(100)
27325
27338
  })),
27326
27339
  token_amount: {
@@ -27350,7 +27363,7 @@ function getVesuMultiplyParams(isIncrease, params) {
27350
27363
  tick_spacing: route.pool_key.tick_spacing,
27351
27364
  extension: ContractAddr.from(route.pool_key.extension).toBigInt()
27352
27365
  },
27353
- sqrt_ratio_limit: uint2565.bnToUint256(route.sqrt_ratio_limit.toWei()),
27366
+ sqrt_ratio_limit: uint2566.bnToUint256(route.sqrt_ratio_limit.toWei()),
27354
27367
  skip_ahead: BigInt(route.skip_ahead.toWei())
27355
27368
  })),
27356
27369
  token_amount: {
@@ -27369,7 +27382,7 @@ function getVesuMultiplyParams(isIncrease, params) {
27369
27382
  tick_spacing: route.pool_key.tick_spacing,
27370
27383
  extension: ContractAddr.from(route.pool_key.extension).toBigInt()
27371
27384
  },
27372
- sqrt_ratio_limit: uint2565.bnToUint256(route.sqrt_ratio_limit.toWei()),
27385
+ sqrt_ratio_limit: uint2566.bnToUint256(route.sqrt_ratio_limit.toWei()),
27373
27386
  skip_ahead: BigInt(route.skip_ahead.toWei())
27374
27387
  })),
27375
27388
  token_amount: {
@@ -27387,7 +27400,25 @@ var VesuPools = {
27387
27400
  Genesis: ContractAddr.from("0x4dc4f0ca6ea4961e4c8373265bfd5317678f4fe374d76f3fd7135f57763bf28"),
27388
27401
  Re7xSTRK: ContractAddr.from("0x052fb52363939c3aa848f8f4ac28f0a51379f8d1b971d8444de25fbd77d8f161"),
27389
27402
  Re7xBTC: ContractAddr.from("0x3a8416bf20d036df5b1cf3447630a2e1cb04685f6b0c3a70ed7fb1473548ecf"),
27390
- Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5")
27403
+ Prime: ContractAddr.from("0x451fe483d5921a2919ddd81d0de6696669bccdacd859f72a4fba7656b97c3b5"),
27404
+ Re7STRK: ContractAddr.from("0x01fcdacc1d8184eca7b472b5acbaf1500cec9d5683ca95fede8128b46c8f9cc2")
27405
+ };
27406
+ var VesuPoolMetadata = {
27407
+ [VesuPools.Genesis.address]: {
27408
+ name: "Genesis"
27409
+ },
27410
+ [VesuPools.Re7xSTRK.address]: {
27411
+ name: "Re7 xSTRK"
27412
+ },
27413
+ [VesuPools.Re7xBTC.address]: {
27414
+ name: "Re7 xBTC"
27415
+ },
27416
+ [VesuPools.Prime.address]: {
27417
+ name: "Prime"
27418
+ },
27419
+ [VesuPools.Re7STRK.address]: {
27420
+ name: "Re7 STRK"
27421
+ }
27391
27422
  };
27392
27423
  var extensionMap = {};
27393
27424
  extensionMap[VesuPools.Re7xSTRK.address] = ContractAddr.from("0x04e06e04b8d624d039aa1c3ca8e0aa9e21dc1ccba1d88d0d650837159e0ee054");
@@ -27435,7 +27466,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
27435
27466
  amount_type: this.formatAmountTypeEnum(params.collateralAmount.amount_type),
27436
27467
  denomination: this.formatAmountDenominationEnum(params.collateralAmount.denomination),
27437
27468
  value: {
27438
- abs: uint2565.bnToUint256(params.collateralAmount.value.abs.toWei()),
27469
+ abs: uint2566.bnToUint256(params.collateralAmount.value.abs.toWei()),
27439
27470
  is_negative: params.collateralAmount.value.abs.isZero() ? false : params.collateralAmount.value.is_negative
27440
27471
  }
27441
27472
  };
@@ -27444,7 +27475,7 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
27444
27475
  amount_type: this.formatAmountTypeEnum(params.debtAmount.amount_type),
27445
27476
  denomination: this.formatAmountDenominationEnum(params.debtAmount.denomination),
27446
27477
  value: {
27447
- abs: uint2565.bnToUint256(params.debtAmount.value.abs.toWei()),
27478
+ abs: uint2566.bnToUint256(params.debtAmount.value.abs.toWei()),
27448
27479
  is_negative: params.debtAmount.value.abs.isZero() ? false : params.debtAmount.value.is_negative
27449
27480
  }
27450
27481
  };
@@ -27530,15 +27561,15 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
27530
27561
  }
27531
27562
  };
27532
27563
  };
27533
- this.getVesuModifyDelegationAdapter = (id) => {
27564
+ this.getVesuModifyDelegationAdapter = (id, delegatee) => {
27534
27565
  return () => {
27535
27566
  const { addr: VESU_SINGLETON2, isV2 } = getVesuSingletonAddress(this.config.poolId);
27536
27567
  const packedArguments = isV2 ? [
27537
- toBigInt(this.VESU_MULTIPLY.toString())
27568
+ toBigInt(delegatee.toString())
27538
27569
  // v2
27539
27570
  ] : [
27540
27571
  this.config.poolId.toBigInt(),
27541
- toBigInt(this.VESU_MULTIPLY_V1.toString())
27572
+ toBigInt(delegatee.toString())
27542
27573
  // v1
27543
27574
  ];
27544
27575
  const output = this.constructSimpleLeafData({
@@ -27547,29 +27578,31 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
27547
27578
  method: "modify_delegation",
27548
27579
  packedArguments
27549
27580
  }, isV2 ? SIMPLE_SANITIZER_V2 : SIMPLE_SANITIZER_VESU_V1_DELEGATIONS);
27550
- return { leaf: output, callConstructor: this.getVesuModifyDelegationCall.bind(this) };
27581
+ return { leaf: output, callConstructor: this.getVesuModifyDelegationCall(delegatee).bind(this) };
27551
27582
  };
27552
27583
  };
27553
- this.getVesuModifyDelegationCall = (params) => {
27554
- const VESU_SINGLETON2 = getVesuSingletonAddress(this.config.poolId).addr;
27555
- const { contract, isV2 } = this.getVesuSingletonContract(getMainnetConfig(), this.config.poolId);
27556
- const call = contract.populate("modify_delegation", isV2 ? {
27557
- delegatee: this.VESU_MULTIPLY.toBigInt(),
27558
- delegation: params.delegation
27559
- } : {
27560
- pool_id: this.config.poolId.toBigInt(),
27561
- delegatee: this.VESU_MULTIPLY_V1.toBigInt(),
27562
- delegation: params.delegation
27563
- });
27564
- return {
27565
- sanitizer: isV2 ? SIMPLE_SANITIZER_V2 : SIMPLE_SANITIZER_VESU_V1_DELEGATIONS,
27566
- call: {
27567
- contractAddress: VESU_SINGLETON2,
27568
- selector: hash2.getSelectorFromName("modify_delegation"),
27569
- calldata: [
27570
- ...call.calldata
27571
- ]
27572
- }
27584
+ this.getVesuModifyDelegationCall = (delegatee) => {
27585
+ return (params) => {
27586
+ const VESU_SINGLETON2 = getVesuSingletonAddress(this.config.poolId).addr;
27587
+ const { contract, isV2 } = this.getVesuSingletonContract(getMainnetConfig(), this.config.poolId);
27588
+ const call = contract.populate("modify_delegation", isV2 ? {
27589
+ delegatee: delegatee.toBigInt(),
27590
+ delegation: params.delegation
27591
+ } : {
27592
+ pool_id: this.config.poolId.toBigInt(),
27593
+ delegatee: delegatee.toBigInt(),
27594
+ delegation: params.delegation
27595
+ });
27596
+ return {
27597
+ sanitizer: isV2 ? SIMPLE_SANITIZER_V2 : SIMPLE_SANITIZER_VESU_V1_DELEGATIONS,
27598
+ call: {
27599
+ contractAddress: VESU_SINGLETON2,
27600
+ selector: hash2.getSelectorFromName("modify_delegation"),
27601
+ calldata: [
27602
+ ...call.calldata
27603
+ ]
27604
+ }
27605
+ };
27573
27606
  };
27574
27607
  };
27575
27608
  this.getDefispringRewardsAdapter = (id) => {
@@ -27772,12 +27805,12 @@ var VesuAdapter = class _VesuAdapter extends BaseAdapter {
27772
27805
  amount: collateralAmount,
27773
27806
  token: this.config.collateral,
27774
27807
  usdValue: collateralAmount.multipliedBy(token1Price.price).toNumber(),
27775
- remarks: "Collateral"
27808
+ remarks: `Collateral - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
27776
27809
  }, {
27777
27810
  amount: debtAmount,
27778
27811
  token: this.config.debt,
27779
27812
  usdValue: debtAmount.multipliedBy(token2Price.price).toNumber(),
27780
- remarks: "Debt"
27813
+ remarks: `Debt - ${VesuPoolMetadata[this.config.poolId.address].name} pool`
27781
27814
  }];
27782
27815
  this.setCache(CACHE_KEY, value, 6e4);
27783
27816
  return value;
@@ -28078,7 +28111,7 @@ var SenseiVault = class _SenseiVault extends BaseStrategy {
28078
28111
  }
28079
28112
  );
28080
28113
  const amount = Web3Number.fromWei(
28081
- uint2566.uint256ToBN(result[1].estimated_size).toString(),
28114
+ uint2567.uint256ToBN(result[1].estimated_size).toString(),
28082
28115
  this.metadata.depositTokens[0].decimals
28083
28116
  );
28084
28117
  const blockNumber = typeof blockIdentifier === "number" || typeof blockIdentifier === "bigint" ? Number(blockIdentifier) : void 0;
@@ -28128,10 +28161,10 @@ var SenseiVault = class _SenseiVault extends BaseStrategy {
28128
28161
  });
28129
28162
  const call1 = mainTokenContract.populate("approve", [
28130
28163
  this.address.address,
28131
- uint2566.bnToUint256(amountInfo.amount.toWei())
28164
+ uint2567.bnToUint256(amountInfo.amount.toWei())
28132
28165
  ]);
28133
28166
  const call2 = this.contract.populate("deposit", [
28134
- uint2566.bnToUint256(amountInfo.amount.toWei()),
28167
+ uint2567.bnToUint256(amountInfo.amount.toWei()),
28135
28168
  receiver.address
28136
28169
  ]);
28137
28170
  const calls = [call1, call2];
@@ -28139,7 +28172,7 @@ var SenseiVault = class _SenseiVault extends BaseStrategy {
28139
28172
  }
28140
28173
  async withdrawCall(amountInfo, receiver, owner) {
28141
28174
  const call = this.contract.populate("withdraw", [
28142
- uint2566.bnToUint256(amountInfo.amount.toWei()),
28175
+ uint2567.bnToUint256(amountInfo.amount.toWei()),
28143
28176
  receiver.address,
28144
28177
  300
28145
28178
  // 3% max slippage
@@ -28459,7 +28492,7 @@ var SenseiStrategies = [
28459
28492
  ];
28460
28493
 
28461
28494
  // src/strategies/universal-adapters/common-adapter.ts
28462
- import { hash as hash3, num as num9, uint256 as uint2567 } from "starknet";
28495
+ import { hash as hash3, num as num9, uint256 as uint2568 } from "starknet";
28463
28496
  var CommonAdapter = class extends BaseAdapter {
28464
28497
  constructor(config) {
28465
28498
  super();
@@ -28484,7 +28517,7 @@ var CommonAdapter = class extends BaseAdapter {
28484
28517
  return { leaf, callConstructor: this.getFlashloanCall.bind(this) };
28485
28518
  }
28486
28519
  getFlashloanCall(params) {
28487
- const uint256Amount = uint2567.bnToUint256(params.amount.toWei());
28520
+ const uint256Amount = uint2568.bnToUint256(params.amount.toWei());
28488
28521
  return {
28489
28522
  sanitizer: SIMPLE_SANITIZER,
28490
28523
  call: {
@@ -28523,7 +28556,7 @@ var CommonAdapter = class extends BaseAdapter {
28523
28556
  }
28524
28557
  getApproveCall(token, spender) {
28525
28558
  return (params) => {
28526
- const uint256Amount = uint2567.bnToUint256(params.amount.toWei());
28559
+ const uint256Amount = uint2568.bnToUint256(params.amount.toWei());
28527
28560
  return {
28528
28561
  sanitizer: SIMPLE_SANITIZER,
28529
28562
  call: {
@@ -28554,7 +28587,7 @@ var CommonAdapter = class extends BaseAdapter {
28554
28587
  }
28555
28588
  getBringLiquidityCall() {
28556
28589
  return (params) => {
28557
- const uint256Amount = uint2567.bnToUint256(params.amount.toWei());
28590
+ const uint256Amount = uint2568.bnToUint256(params.amount.toWei());
28558
28591
  return {
28559
28592
  sanitizer: SIMPLE_SANITIZER,
28560
28593
  call: {
@@ -28633,7 +28666,7 @@ var CommonAdapter = class extends BaseAdapter {
28633
28666
  };
28634
28667
 
28635
28668
  // src/strategies/universal-strategy.tsx
28636
- import { CallData, Contract as Contract10, num as num10, uint256 as uint2568 } from "starknet";
28669
+ import { CallData, Contract as Contract10, num as num10, uint256 as uint2569 } from "starknet";
28637
28670
 
28638
28671
  // src/data/universal-vault.abi.json
28639
28672
  var universal_vault_abi_default = [
@@ -30921,10 +30954,10 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
30921
30954
  });
30922
30955
  const call1 = assetContract.populate("approve", [
30923
30956
  this.address.address,
30924
- uint2568.bnToUint256(amountInfo.amount.toWei())
30957
+ uint2569.bnToUint256(amountInfo.amount.toWei())
30925
30958
  ]);
30926
30959
  const call2 = this.contract.populate("deposit", [
30927
- uint2568.bnToUint256(amountInfo.amount.toWei()),
30960
+ uint2569.bnToUint256(amountInfo.amount.toWei()),
30928
30961
  receiver.address
30929
30962
  ]);
30930
30963
  return [call1, call2];
@@ -30934,9 +30967,9 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
30934
30967
  amountInfo.tokenInfo.address.eq(this.asset().address),
30935
30968
  "Withdraw token mismatch"
30936
30969
  );
30937
- const shares = await this.contract.call("convert_to_shares", [uint2568.bnToUint256(amountInfo.amount.toWei())]);
30970
+ const shares = await this.contract.call("convert_to_shares", [uint2569.bnToUint256(amountInfo.amount.toWei())]);
30938
30971
  const call = this.contract.populate("request_redeem", [
30939
- uint2568.bnToUint256(shares.toString()),
30972
+ uint2569.bnToUint256(shares.toString()),
30940
30973
  receiver.address,
30941
30974
  owner.address
30942
30975
  ]);
@@ -30946,7 +30979,7 @@ var UniversalStrategy = class _UniversalStrategy extends BaseStrategy {
30946
30979
  const shares = await this.contract.call("balanceOf", [user.address], { blockIdentifier });
30947
30980
  const assets = await this.contract.call(
30948
30981
  "convert_to_assets",
30949
- [uint2568.bnToUint256(shares)],
30982
+ [uint2569.bnToUint256(shares)],
30950
30983
  { blockIdentifier }
30951
30984
  );
30952
30985
  const amount = Web3Number.fromWei(
@@ -31947,7 +31980,7 @@ var UniversalStrategies = [
31947
31980
  ];
31948
31981
 
31949
31982
  // src/strategies/universal-lst-muliplier-strategy.tsx
31950
- import { Contract as Contract11, uint256 as uint2569 } from "starknet";
31983
+ import { Contract as Contract11, uint256 as uint25610 } from "starknet";
31951
31984
 
31952
31985
  // src/utils/health-factor-math.ts
31953
31986
  var HealthFactorMath = class {
@@ -32014,20 +32047,19 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
32014
32047
  // todo support lending assets of underlying as well (like if xSTRK looping is not viable, simply supply STRK)
32015
32048
  getVesuAdapters() {
32016
32049
  const adapters = [];
32017
- for (const poolId of [this.metadata.additionalInfo.defaultPoolId, ...this.metadata.additionalInfo.altSupportedPoolIds]) {
32018
- const baseAdapter = this.getVesuSameTokenAdapter(poolId);
32019
- for (const asset of this.metadata.additionalInfo.borrowable_assets) {
32020
- const vesuAdapter1 = new VesuAdapter({
32021
- poolId: baseAdapter.config.poolId,
32022
- collateral: this.asset(),
32023
- debt: asset,
32024
- vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
32025
- id: ""
32026
- });
32027
- vesuAdapter1.pricer = this.pricer;
32028
- vesuAdapter1.networkConfig = this.config;
32029
- adapters.push(vesuAdapter1);
32030
- }
32050
+ for (const borrowableInfo of this.metadata.additionalInfo.borrowable_assets) {
32051
+ const asset = borrowableInfo.token;
32052
+ const poolId = borrowableInfo.poolId;
32053
+ const vesuAdapter1 = new VesuAdapter({
32054
+ poolId,
32055
+ collateral: this.asset(),
32056
+ debt: asset,
32057
+ vaultAllocator: this.metadata.additionalInfo.vaultAllocator,
32058
+ id: ""
32059
+ });
32060
+ vesuAdapter1.pricer = this.pricer;
32061
+ vesuAdapter1.networkConfig = this.config;
32062
+ adapters.push(vesuAdapter1);
32031
32063
  }
32032
32064
  return adapters;
32033
32065
  }
@@ -32486,8 +32518,8 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
32486
32518
  address: lstTokenInfo.address.address,
32487
32519
  providerOrAccount: this.config.provider
32488
32520
  });
32489
- const price = await lstABI.call("convert_to_assets", [uint2569.bnToUint256(new Web3Number(1, lstTokenInfo.decimals).toWei())]);
32490
- const exchangeRate = Number(uint2569.uint256ToBN(price).toString()) / Math.pow(10, lstTokenInfo.decimals);
32521
+ const price = await lstABI.call("convert_to_assets", [uint25610.bnToUint256(new Web3Number(1, lstTokenInfo.decimals).toWei())]);
32522
+ const exchangeRate = Number(uint25610.uint256ToBN(price).toString()) / Math.pow(10, lstTokenInfo.decimals);
32491
32523
  logger.verbose(`${this.getTag()}:: LST Exchange Rate: ${exchangeRate}`);
32492
32524
  return exchangeRate;
32493
32525
  }
@@ -32653,19 +32685,21 @@ function addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commo
32653
32685
  id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, underlyingToken.symbol, poolId.toString()),
32654
32686
  adapter: vesuAdapterLST
32655
32687
  }]);
32656
- const { isV2, addr: _ } = getVesuSingletonAddress(poolId);
32688
+ const { isV2, addr: poolAddr } = getVesuSingletonAddress(poolId);
32657
32689
  const VESU_MULTIPLY = isV2 ? vesuAdapterLST.VESU_MULTIPLY : vesuAdapterLST.VESU_MULTIPLY_V1;
32658
32690
  const leafIdApprove = getVesuGenericLegId(poolId.toString(), "multiple_approve" /* MULTIPLE_APPROVE */);
32659
32691
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, VESU_MULTIPLY, leafIdApprove).bind(commonAdapter));
32660
32692
  const leafIdDelegationOn = getVesuGenericLegId(poolId.toString(), "switch_delegation_on" /* SWITCH_DELEGATION_ON */);
32661
- vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOn).bind(vesuAdapterLST));
32693
+ vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOn, VESU_MULTIPLY).bind(vesuAdapterLST));
32662
32694
  const leafIdDelegationOff = getVesuGenericLegId(poolId.toString(), "switch_delegation_off" /* SWITCH_DELEGATION_OFF */);
32663
- vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOff).bind(vesuAdapterLST));
32695
+ vaultSettings.leafAdapters.push(vesuAdapterLST.getVesuModifyDelegationAdapter(leafIdDelegationOff, VESU_MULTIPLY).bind(vesuAdapterLST));
32664
32696
  const multiplID = getVesuLegId("multiply_vesu" /* MULTIPLY_VESU */, underlyingToken.symbol, poolId.toString());
32665
32697
  vaultSettings.leafAdapters.push(vesuAdapterLST.getMultiplyAdapter(multiplID).bind(vesuAdapterLST));
32698
+ vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
32699
+ vaultSettings.leafAdapters.push(vesuAdapterLST.getModifyPosition.bind(vesuAdapterLST));
32666
32700
  return vesuAdapterLST;
32667
32701
  }
32668
- function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId, altSupportedPoolIds = []) {
32702
+ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultPoolId) {
32669
32703
  vaultSettings.leafAdapters = [];
32670
32704
  const pool1 = vaultSettings.defaultPoolId;
32671
32705
  if (!pool1.eq(defaultPoolId)) {
@@ -32684,10 +32718,11 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
32684
32718
  id: "common_adapter" /* COMMON */,
32685
32719
  adapter: commonAdapter
32686
32720
  }]);
32687
- const vesuAdapterLST = addVesuLeaves(defaultPoolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter);
32688
- altSupportedPoolIds.map((poolId) => addVesuLeaves(poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
32721
+ vaultSettings.borrowable_assets.map((borrowableAsset) => addVesuLeaves(borrowableAsset.poolId, lstSymbol, underlyingSymbol, vaultSettings, commonAdapter));
32689
32722
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, AVNU_EXCHANGE, "avnu_mul_approve_withdr" /* AVNU_MULTIPLY_APPROVE_WITHDRAW */).bind(commonAdapter));
32690
- for (let borrowableAsset of vaultSettings.borrowable_assets) {
32723
+ const uniqueBorrowableAssets = [...new Set(vaultSettings.borrowable_assets.map((borrowableAsset) => borrowableAsset.token.symbol))];
32724
+ for (let borrowableAssetSymbol of uniqueBorrowableAssets) {
32725
+ const borrowableAsset = Global.getDefaultTokens().find((token) => token.symbol === borrowableAssetSymbol);
32691
32726
  const debtAsset = borrowableAsset;
32692
32727
  const approve_debt_token_id = getAvnuManageIDs("avnu_mul_approve_dep" /* AVNU_MULTIPLY_APPROVE_DEPOSIT */, debtAsset.symbol);
32693
32728
  const swap_debt_token_id = getAvnuManageIDs("avnu_mul_swap_dep" /* AVNU_MULTIPLY_SWAP_DEPOSIT */, debtAsset.symbol);
@@ -32695,23 +32730,9 @@ function getLooperSettings2(lstSymbol, underlyingSymbol, vaultSettings, defaultP
32695
32730
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(debtAsset.address, AVNU_EXCHANGE, approve_debt_token_id).bind(commonAdapter));
32696
32731
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(debtAsset.address, lstToken.address, swap_debt_token_id, false).bind(commonAdapter));
32697
32732
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(lstToken.address, debtAsset.address, swap_lst_token_id, false).bind(commonAdapter));
32698
- const vesuAdapter = new VesuAdapter({
32699
- poolId: pool1,
32700
- collateral: lstToken,
32701
- debt: debtAsset,
32702
- vaultAllocator: vaultSettings.vaultAllocator,
32703
- id: getVesuLegId("vesu_leg1" /* VESU_LEG1 */, debtAsset.symbol, pool1.toString())
32704
- });
32705
- const { isV2, addr: poolAddr } = getVesuSingletonAddress(pool1);
32706
- vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, poolAddr, "approve_token1" /* APPROVE_TOKEN1 */).bind(commonAdapter));
32707
- vaultSettings.leafAdapters.push(vesuAdapter.getModifyPosition.bind(vesuAdapter));
32708
- if (borrowableAsset.address.eq(underlyingToken.address)) {
32709
- continue;
32710
- }
32711
32733
  }
32712
32734
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(lstToken.address, vaultSettings.vaultAddress, "approve_bring_liquidity" /* APPROVE_BRING_LIQUIDITY */).bind(commonAdapter));
32713
32735
  vaultSettings.leafAdapters.push(commonAdapter.getBringLiquidityAdapter("bring_liquidity" /* BRING_LIQUIDITY */).bind(commonAdapter));
32714
- vaultSettings.leafAdapters.push(vesuAdapterLST.getDefispringRewardsAdapter("defispring_rewards" /* DEFISPRING_REWARDS */).bind(vesuAdapterLST));
32715
32736
  const STRKToken = Global.getDefaultTokens().find((token) => token.symbol === "STRK");
32716
32737
  vaultSettings.leafAdapters.push(commonAdapter.getApproveAdapter(STRKToken.address, AVNU_EXCHANGE, "approve_swap_token1" /* APPROVE_SWAP_TOKEN1 */).bind(commonAdapter));
32717
32738
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, lstToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */, false).bind(commonAdapter));
@@ -32770,7 +32791,7 @@ var _riskFactor4 = [
32770
32791
  { type: "Technical Risk" /* TECHNICAL_RISK */, value: 1 /* STABLE_INFRASTRUCTURE */, weight: 25, reason: "Liquidation can only happen if vault is left un-monitored for weeks, which is highly unlikely. We actively monitor all services on a daily basis." },
32771
32792
  { type: "Depeg Risk" /* DEPEG_RISK */, value: 2 /* GENERALLY_STABLE */, weight: 25, reason: "Generally stable pegged assets" }
32772
32793
  ];
32773
- var borrowableAssets = [
32794
+ var btcBorrowableAssets = [
32774
32795
  "WBTC",
32775
32796
  "tBTC",
32776
32797
  "LBTC",
@@ -32786,10 +32807,14 @@ var hyperxSTRK = {
32786
32807
  adapters: [],
32787
32808
  targetHealthFactor: 1.1,
32788
32809
  minHealthFactor: 1.05,
32789
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "STRK"),
32810
+ borrowable_assets: [
32811
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Re7xSTRK })),
32812
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Prime })),
32813
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "STRK").map((token) => ({ token, poolId: VesuPools.Re7STRK }))
32814
+ // v2, new alt for Re7xSTRK
32815
+ ],
32790
32816
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "STRK"),
32791
- defaultPoolId: VesuPools.Re7xSTRK,
32792
- altSupportedPoolIds: [VesuPools.Prime]
32817
+ defaultPoolId: VesuPools.Re7xSTRK
32793
32818
  };
32794
32819
  var hyperxWBTC = {
32795
32820
  vaultAddress: ContractAddr.from("0x2da9d0f96a46b453f55604313785dc866424240b1c6811d13bef594343db818"),
@@ -32801,10 +32826,14 @@ var hyperxWBTC = {
32801
32826
  adapters: [],
32802
32827
  targetHealthFactor: 1.1,
32803
32828
  minHealthFactor: 1.05,
32804
- borrowable_assets: borrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)),
32829
+ borrowable_assets: [
32830
+ // allow all BTC flavours borrowing on Re7xBTC pool
32831
+ ...btcBorrowableAssets.map((asset) => Global.getDefaultTokens().find((token) => token.symbol === asset)).map((token) => ({ token, poolId: VesuPools.Re7xBTC })),
32832
+ // allow only WBTC borrowing on Prime pool
32833
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Prime }))
32834
+ ],
32805
32835
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "WBTC"),
32806
32836
  defaultPoolId: VesuPools.Re7xBTC,
32807
- altSupportedPoolIds: [VesuPools.Prime],
32808
32837
  redemptionRouter: ContractAddr.from("0x6ea649f402898f69baf775c1afdd08522c071c640b9c4460192070ec2b96417")
32809
32838
  };
32810
32839
  var hyperxtBTC = {
@@ -32817,10 +32846,11 @@ var hyperxtBTC = {
32817
32846
  adapters: [],
32818
32847
  targetHealthFactor: 1.1,
32819
32848
  minHealthFactor: 1.05,
32820
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC"),
32849
+ borrowable_assets: [
32850
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "tBTC" || token.symbol === "WBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32851
+ ],
32821
32852
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "tBTC"),
32822
32853
  defaultPoolId: VesuPools.Re7xBTC,
32823
- altSupportedPoolIds: [],
32824
32854
  redemptionRouter: ContractAddr.from("0x3de9c409d1e357e25778fb7a3e2e2393666956846a5c2caa607296fa8e76b5d")
32825
32855
  };
32826
32856
  var hyperxsBTC = {
@@ -32833,10 +32863,11 @@ var hyperxsBTC = {
32833
32863
  adapters: [],
32834
32864
  targetHealthFactor: 1.1,
32835
32865
  minHealthFactor: 1.05,
32836
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC"),
32866
+ borrowable_assets: [
32867
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "solvBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32868
+ ],
32837
32869
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "solvBTC"),
32838
- defaultPoolId: VesuPools.Re7xBTC,
32839
- altSupportedPoolIds: []
32870
+ defaultPoolId: VesuPools.Re7xBTC
32840
32871
  };
32841
32872
  var hyperxLBTC = {
32842
32873
  vaultAddress: ContractAddr.from("0x64cf24d4883fe569926419a0569ab34497c6956a1a308fa883257f7486d7030"),
@@ -32848,10 +32879,11 @@ var hyperxLBTC = {
32848
32879
  adapters: [],
32849
32880
  targetHealthFactor: 1.1,
32850
32881
  minHealthFactor: 1.05,
32851
- borrowable_assets: Global.getDefaultTokens().filter((token) => token.symbol === "LBTC"),
32882
+ borrowable_assets: [
32883
+ ...Global.getDefaultTokens().filter((token) => token.symbol === "LBTC").map((token) => ({ token, poolId: VesuPools.Re7xBTC }))
32884
+ ],
32852
32885
  underlyingToken: Global.getDefaultTokens().find((token) => token.symbol === "LBTC"),
32853
- defaultPoolId: VesuPools.Re7xBTC,
32854
- altSupportedPoolIds: []
32886
+ defaultPoolId: VesuPools.Re7xBTC
32855
32887
  };
32856
32888
  function getInvestmentSteps(lstSymbol, underlyingSymbol) {
32857
32889
  return [
@@ -32947,12 +32979,12 @@ var HYPER_LST_REDEMPTION_INFO = {
32947
32979
  tab: "withdraw"
32948
32980
  }]
32949
32981
  };
32950
- function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview = false) {
32982
+ function getStrategySettings(lstSymbol, underlyingSymbol, settings, isPreview = false) {
32951
32983
  return {
32952
32984
  id: `hyper_${lstSymbol.toLowerCase()}`,
32953
32985
  name: `Hyper ${lstSymbol}`,
32954
32986
  description: getDescription2(lstSymbol, underlyingSymbol),
32955
- address: addresses.vaultAddress,
32987
+ address: settings.vaultAddress,
32956
32988
  launchBlock: 0,
32957
32989
  type: "Other",
32958
32990
  vaultType: {
@@ -32967,7 +32999,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
32967
32999
  additionalInfo: getLooperSettings2(
32968
33000
  lstSymbol,
32969
33001
  underlyingSymbol,
32970
- addresses,
33002
+ settings,
32971
33003
  lstSymbol === "xSTRK" ? VesuPools.Re7xSTRK : VesuPools.Re7xBTC
32972
33004
  ),
32973
33005
  risk: {
@@ -32985,7 +33017,7 @@ function getStrategySettings(lstSymbol, underlyingSymbol, addresses, isPreview =
32985
33017
  logo: "https://assets.troves.fi/integrations/unwraplabs/white.png"
32986
33018
  },
32987
33019
  settings: createHyperLSTSettings(lstSymbol, underlyingSymbol),
32988
- contractDetails: getContractDetails(addresses),
33020
+ contractDetails: getContractDetails(settings),
32989
33021
  faqs: getFAQs2(lstSymbol, underlyingSymbol),
32990
33022
  investmentSteps: getInvestmentSteps(lstSymbol, underlyingSymbol),
32991
33023
  isPreview,
@@ -33873,6 +33905,7 @@ export {
33873
33905
  VesuAdapter,
33874
33906
  VesuAmountDenomination,
33875
33907
  VesuAmountType,
33908
+ VesuPoolMetadata,
33876
33909
  VesuPools,
33877
33910
  VesuRebalance,
33878
33911
  VesuRebalanceStrategies,