@sodax/sdk 0.0.1-rc.21 → 0.0.1-rc.23

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.cjs CHANGED
@@ -6186,6 +6186,17 @@ function calculateFeeAmount(inputAmount, fee) {
6186
6186
  }
6187
6187
  return feeAmount;
6188
6188
  }
6189
+ function adjustAmountByFee(amount, fee, quoteType) {
6190
+ invariant10__default.default(amount > 0n, "Amount must be greater than 0");
6191
+ invariant10__default.default(quoteType === "exact_input" || quoteType === "exact_output", "Invalid quote type");
6192
+ if (quoteType === "exact_input") {
6193
+ return amount - calculateFeeAmount(amount, fee);
6194
+ }
6195
+ if (quoteType === "exact_output") {
6196
+ return amount + calculateFeeAmount(amount, fee);
6197
+ }
6198
+ throw new Error("Invalid quote type");
6199
+ }
6189
6200
  function BigIntToHex(value) {
6190
6201
  return `0x${value.toString(16)}`;
6191
6202
  }
@@ -11201,7 +11212,7 @@ var SolverService = class {
11201
11212
  async getQuote(payload) {
11202
11213
  payload = {
11203
11214
  ...payload,
11204
- amount: payload.amount - this.getFee(payload.amount)
11215
+ amount: adjustAmountByFee(payload.amount, this.config.partnerFee, payload.quote_type)
11205
11216
  };
11206
11217
  return SolverApiService.getQuote(payload, this.config);
11207
11218
  }
@@ -11711,8 +11722,7 @@ var SolverService = class {
11711
11722
  params.srcAddress.toLowerCase() === walletAddress.toLowerCase(),
11712
11723
  "srcAddress must be the same as wallet address"
11713
11724
  );
11714
- const walletAddressBytes = encodeAddress(params.srcChain, walletAddress);
11715
- const creatorHubWalletAddress = spokeProvider.chainConfig.chain.id === this.hubProvider.chainConfig.chain.id ? walletAddressBytes : await WalletAbstractionService.getUserHubWalletAddress(walletAddress, spokeProvider, this.hubProvider);
11725
+ const creatorHubWalletAddress = spokeProvider.chainConfig.chain.id === this.hubProvider.chainConfig.chain.id ? walletAddress : await WalletAbstractionService.getUserHubWalletAddress(walletAddress, spokeProvider, this.hubProvider);
11716
11726
  const [data, intent, feeAmount] = EvmSolverService.constructCreateIntentData(
11717
11727
  {
11718
11728
  ...params,
@@ -11763,8 +11773,7 @@ var SolverService = class {
11763
11773
  invariant10__default.default(isValidIntentRelayChainId(intent.srcChain), `Invalid intent.srcChain: ${intent.srcChain}`);
11764
11774
  invariant10__default.default(isValidIntentRelayChainId(intent.dstChain), `Invalid intent.dstChain: ${intent.dstChain}`);
11765
11775
  const walletAddress = await spokeProvider.walletProvider.getWalletAddress();
11766
- const walletAddressBytes = encodeAddress(spokeProvider.chainConfig.chain.id, walletAddress);
11767
- const creatorHubWalletAddress = spokeProvider.chainConfig.chain.id === this.hubProvider.chainConfig.chain.id ? walletAddressBytes : await WalletAbstractionService.getUserHubWalletAddress(walletAddress, spokeProvider, this.hubProvider);
11776
+ const creatorHubWalletAddress = spokeProvider.chainConfig.chain.id === this.hubProvider.chainConfig.chain.id ? walletAddress : await WalletAbstractionService.getUserHubWalletAddress(walletAddress, spokeProvider, this.hubProvider);
11768
11777
  const calls = [];
11769
11778
  const intentsContract = this.config.intentsContract;
11770
11779
  calls.push(EvmSolverService.encodeCancelIntent(intent, intentsContract));
@@ -14695,6 +14704,10 @@ var UiPoolDataProviderService = class {
14695
14704
  args: [this.poolAddressesProvider, userAddress]
14696
14705
  });
14697
14706
  }
14707
+ /**
14708
+ * Get the reserves data humanized
14709
+ * @returns {Promise<ReservesDataHumanized>} - The reserves data humanized
14710
+ */
14698
14711
  async getReservesHumanized() {
14699
14712
  const [reservesRaw, poolBaseCurrencyRaw] = await this.getReservesData();
14700
14713
  const reservesData = reservesRaw.map((reserveRaw, index) => {
@@ -14796,7 +14809,7 @@ var LendingPoolService = class {
14796
14809
  }
14797
14810
  /**
14798
14811
  * Get the normalized income for a reserve
14799
- * @param asset The address of the asset
14812
+ * @param asset - The address of the asset
14800
14813
  * @returns {Promise<bigint>} - Normalized income
14801
14814
  */
14802
14815
  async getReserveNormalizedIncome(asset) {
@@ -14813,48 +14826,94 @@ var LendingPoolService = class {
14813
14826
  var MoneyMarketDataService = class {
14814
14827
  uiPoolDataProviderService;
14815
14828
  lendingPoolService;
14829
+ hubProvider;
14816
14830
  constructor(hubProvider) {
14831
+ this.hubProvider = hubProvider;
14817
14832
  this.uiPoolDataProviderService = new UiPoolDataProviderService(hubProvider);
14818
14833
  this.lendingPoolService = new LendingPoolService(hubProvider);
14819
14834
  }
14820
14835
  /**
14821
14836
  * LendingPool
14822
14837
  */
14838
+ /**
14839
+ * Get the normalized income for a reserve
14840
+ * @param asset - The address of the asset
14841
+ * @returns {Promise<bigint>} - Normalized income
14842
+ */
14823
14843
  async getReserveNormalizedIncome(asset) {
14824
14844
  return this.lendingPoolService.getReserveNormalizedIncome(asset);
14825
14845
  }
14846
+ /**
14847
+ * Get the reserve data for an asset
14848
+ * @param asset - The address of the asset
14849
+ * @returns {Promise<ReserveDataLegacy>} - The reserve data
14850
+ */
14826
14851
  async getReserveData(asset) {
14827
14852
  return this.lendingPoolService.getReserveData(asset);
14828
14853
  }
14829
14854
  /**
14830
14855
  * UiPoolDataProvider
14831
14856
  */
14857
+ /**
14858
+ * Get the reserves list
14859
+ * @returns {Promise<readonly Address[]>} - List of reserve asset addresses
14860
+ */
14832
14861
  async getReservesList() {
14833
14862
  return this.uiPoolDataProviderService.getReservesList();
14834
14863
  }
14864
+ /**
14865
+ * Get the reserves data
14866
+ * @returns {Promise<readonly [readonly AggregatedReserveData[], BaseCurrencyInfo]>} - The reserves data
14867
+ */
14835
14868
  async getReservesData() {
14836
14869
  return this.uiPoolDataProviderService.getReservesData();
14837
14870
  }
14838
- async getUserReservesData(userAddress) {
14839
- return this.uiPoolDataProviderService.getUserReservesData(userAddress);
14871
+ /**
14872
+ * Get the user reserves data
14873
+ * @param spokeProvider - The spoke provider
14874
+ * @returns {Promise<readonly [readonly UserReserveData[], number]>} - The user reserves data
14875
+ */
14876
+ async getUserReservesData(spokeProvider) {
14877
+ const walletAddress = await spokeProvider.walletProvider.getWalletAddress();
14878
+ const hubWalletAddress = spokeProvider.chainConfig.chain.id === this.hubProvider.chainConfig.chain.id ? walletAddress : await WalletAbstractionService.getUserHubWalletAddress(walletAddress, spokeProvider, this.hubProvider);
14879
+ return this.uiPoolDataProviderService.getUserReservesData(hubWalletAddress);
14840
14880
  }
14881
+ /**
14882
+ * Get the list of all eModes in the pool
14883
+ * @returns {Promise<readonly EModeData[]>} - Array of eMode data
14884
+ */
14841
14885
  async getEModes() {
14842
14886
  return this.uiPoolDataProviderService.getEModes();
14843
14887
  }
14888
+ /**
14889
+ * Get the list of all eModes in the pool humanized
14890
+ * @returns {Promise<EmodeDataHumanized[]>} - Array of eMode data humanized
14891
+ */
14844
14892
  async getEModesHumanized() {
14845
14893
  return this.uiPoolDataProviderService.getEModesHumanized();
14846
14894
  }
14895
+ /**
14896
+ * Get the reserves data humanized
14897
+ * @returns {Promise<ReservesDataHumanized>} - The reserves data humanized
14898
+ */
14847
14899
  async getReservesHumanized() {
14848
14900
  return this.uiPoolDataProviderService.getReservesHumanized();
14849
14901
  }
14850
- async getUserReservesHumanized(userAddress) {
14851
- return this.uiPoolDataProviderService.getUserReservesHumanized(userAddress);
14902
+ /**
14903
+ * Get the user reserves humanized
14904
+ * @param spokeProvider - The spoke provider
14905
+ * @returns {Promise<{userReserves: UserReserveDataHumanized[], userEmodeCategoryId: number}>} - The user reserves humanized
14906
+ */
14907
+ async getUserReservesHumanized(spokeProvider) {
14908
+ const walletAddress = await spokeProvider.walletProvider.getWalletAddress();
14909
+ const hubWalletAddress = spokeProvider.chainConfig.chain.id === this.hubProvider.chainConfig.chain.id ? walletAddress : await WalletAbstractionService.getUserHubWalletAddress(walletAddress, spokeProvider, this.hubProvider);
14910
+ return this.uiPoolDataProviderService.getUserReservesHumanized(hubWalletAddress);
14852
14911
  }
14853
14912
  /**
14854
14913
  * Utils for building requests
14855
14914
  */
14856
14915
  /**
14857
- * @description builds the request for the formatReserves function
14916
+ * @description Util function to build the request for the formatReserves function
14858
14917
  */
14859
14918
  buildReserveDataWithPrice(reserves) {
14860
14919
  const currentUnixTimestamp = Math.floor(Date.now() / 1e3);
@@ -14867,7 +14926,7 @@ var MoneyMarketDataService = class {
14867
14926
  };
14868
14927
  }
14869
14928
  /**
14870
- * @description builds the request for the formatReserves function
14929
+ * @description Util function to build the request for the formatReserves function
14871
14930
  */
14872
14931
  buildUserSummaryRequest(reserves, formattedReserves, userReserves) {
14873
14932
  const currentUnixTimestamp = Math.floor(Date.now() / 1e3);
@@ -16162,6 +16221,7 @@ exports.WAD = WAD;
16162
16221
  exports.WAD_RAY_RATIO = WAD_RAY_RATIO;
16163
16222
  exports.WEI_DECIMALS = WEI_DECIMALS;
16164
16223
  exports.WalletAbstractionService = WalletAbstractionService;
16224
+ exports.adjustAmountByFee = adjustAmountByFee;
16165
16225
  exports.assetManagerAbi = assetManagerAbi;
16166
16226
  exports.balnSwapAbi = balnSwapAbi;
16167
16227
  exports.binomialApproximatedRayPow = binomialApproximatedRayPow;