@sodax/dapp-kit 1.0.4-beta-rc1 → 1.0.4-beta

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
@@ -1,5 +1,5 @@
1
1
  import React, { createContext, useContext, useState, useCallback, useMemo, useRef, useEffect } from 'react';
2
- import { SpokeService, deriveUserWalletAddress, STELLAR_MAINNET_CHAIN_ID, StellarSpokeProvider, StellarSpokeService, spokeChainConfig, SONIC_MAINNET_CHAIN_ID, SonicSpokeProvider, EvmSpokeProvider, SuiSpokeProvider, IconSpokeProvider, InjectiveSpokeProvider, SolanaSpokeProvider, isLegacybnUSDToken, Sodax } from '@sodax/sdk';
2
+ import { SpokeService, deriveUserWalletAddress, STELLAR_MAINNET_CHAIN_ID, StellarSpokeProvider, StellarSpokeService, HubService, spokeChainConfig, SONIC_MAINNET_CHAIN_ID, SonicSpokeProvider, EvmSpokeProvider, SuiSpokeProvider, IconSpokeProvider, InjectiveSpokeProvider, SolanaSpokeProvider, isLegacybnUSDToken, Sodax } from '@sodax/sdk';
3
3
  import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
4
4
  import { isAddress, parseUnits } from 'viem';
5
5
  import { ICON_MAINNET_CHAIN_ID } from '@sodax/types';
@@ -107,6 +107,22 @@ function useRequestTrustline(token) {
107
107
  data
108
108
  };
109
109
  }
110
+ function useGetUserHubWalletAddress(spokeChainId, spokeAddress) {
111
+ const { sodax } = useSodaxContext();
112
+ return useQuery({
113
+ queryKey: ["getUserHubWalletAddress", spokeChainId, spokeAddress],
114
+ queryFn: async () => {
115
+ if (!spokeChainId || !spokeAddress) {
116
+ throw new Error("Spoke chain id and address are required");
117
+ }
118
+ spokeChainId = typeof spokeChainId === "object" ? spokeChainId.chainConfig.chain.id : spokeChainId;
119
+ return await HubService.getUserHubWalletAddress(spokeAddress, spokeChainId, sodax.hubProvider);
120
+ },
121
+ enabled: !!spokeChainId && !!spokeAddress,
122
+ refetchInterval: false
123
+ // This is a deterministic operation, no need to refetch
124
+ });
125
+ }
110
126
 
111
127
  // src/hooks/provider/useHubProvider.ts
112
128
  function useHubProvider() {
@@ -390,11 +406,7 @@ function useATokensBalances({
390
406
  throw new Error(`Invalid aToken address: ${aToken}`);
391
407
  }
392
408
  }
393
- const hubWalletAddress = await deriveUserWalletAddress(
394
- sodax.hubProvider,
395
- spokeProvider.chainConfig.chain.id,
396
- userAddress
397
- );
409
+ const hubWalletAddress = await HubService.getUserHubWalletAddress(userAddress, spokeProvider.chainConfig.chain.id, sodax.hubProvider);
398
410
  return await sodax.moneyMarket.data.getATokensBalances(aTokens, hubWalletAddress);
399
411
  }
400
412
  });
@@ -892,14 +904,14 @@ function useGetBridgeableAmount(from, to) {
892
904
  queryKey: ["spoke-asset-manager-token-balance", from, to],
893
905
  queryFn: async () => {
894
906
  if (!from || !to) {
895
- return 0n;
907
+ return { amount: 0n, decimals: 0, type: "DEPOSIT_LIMIT" };
896
908
  }
897
909
  const result = await sodax.bridge.getBridgeableAmount(from, to);
898
910
  if (result.ok) {
899
911
  return result.value;
900
912
  }
901
913
  console.error("Error getting bridgeable amount:", result.error);
902
- return 0n;
914
+ return { amount: 0n, decimals: 0, type: "DEPOSIT_LIMIT" };
903
915
  },
904
916
  enabled: !!from && !!to
905
917
  });
@@ -1455,6 +1467,6 @@ var SodaxProvider = ({ children, testnet = false, config, rpcConfig }) => {
1455
1467
  return /* @__PURE__ */ React.createElement(SodaxContext.Provider, { value: { sodax, testnet, rpcConfig } }, children);
1456
1468
  };
1457
1469
 
1458
- export { MIGRATION_MODE_BNUSD, MIGRATION_MODE_ICX_SODA, SodaxProvider, useAToken, useATokensBalances, useBackendAllMoneyMarketAssets, useBackendAllMoneyMarketBorrowers, useBackendIntentByHash, useBackendIntentByTxHash, useBackendMoneyMarketAsset, useBackendMoneyMarketAssetBorrowers, useBackendMoneyMarketAssetSuppliers, useBackendMoneyMarketPosition, useBackendOrderbook, useBackendUserIntents, useBorrow, useBridge, useBridgeAllowance, useBridgeApprove, useCancelLimitOrder, useCancelSwap, useCancelUnstake, useClaim, useConvertedAssets, useCreateLimitOrder, useDeriveUserWalletAddress, useEstimateGas, useGetBridgeableAmount, useGetBridgeableTokens, useHubProvider, useInstantUnstake, useInstantUnstakeAllowance, useInstantUnstakeApprove, useInstantUnstakeRatio, useMMAllowance, useMMApprove, useMigrate, useMigrationAllowance, useMigrationApprove, useQuote, useRepay, useRequestTrustline, useReservesData, useReservesUsdFormat, useSodaxContext, useSpokeProvider, useStake, useStakeAllowance, useStakeApprove, useStakeRatio, useStakingConfig, useStakingInfo, useStatus, useStellarTrustlineCheck, useSupply, useSwap, useSwapAllowance, useSwapApprove, useUnstake, useUnstakeAllowance, useUnstakeApprove, useUnstakingInfo, useUnstakingInfoWithPenalty, useUserFormattedSummary, useUserReservesData, useWithdraw };
1470
+ export { MIGRATION_MODE_BNUSD, MIGRATION_MODE_ICX_SODA, SodaxProvider, useAToken, useATokensBalances, useBackendAllMoneyMarketAssets, useBackendAllMoneyMarketBorrowers, useBackendIntentByHash, useBackendIntentByTxHash, useBackendMoneyMarketAsset, useBackendMoneyMarketAssetBorrowers, useBackendMoneyMarketAssetSuppliers, useBackendMoneyMarketPosition, useBackendOrderbook, useBackendUserIntents, useBorrow, useBridge, useBridgeAllowance, useBridgeApprove, useCancelLimitOrder, useCancelSwap, useCancelUnstake, useClaim, useConvertedAssets, useCreateLimitOrder, useDeriveUserWalletAddress, useEstimateGas, useGetBridgeableAmount, useGetBridgeableTokens, useGetUserHubWalletAddress, useHubProvider, useInstantUnstake, useInstantUnstakeAllowance, useInstantUnstakeApprove, useInstantUnstakeRatio, useMMAllowance, useMMApprove, useMigrate, useMigrationAllowance, useMigrationApprove, useQuote, useRepay, useRequestTrustline, useReservesData, useReservesUsdFormat, useSodaxContext, useSpokeProvider, useStake, useStakeAllowance, useStakeApprove, useStakeRatio, useStakingConfig, useStakingInfo, useStatus, useStellarTrustlineCheck, useSupply, useSwap, useSwapAllowance, useSwapApprove, useUnstake, useUnstakeAllowance, useUnstakeApprove, useUnstakingInfo, useUnstakingInfoWithPenalty, useUserFormattedSummary, useUserReservesData, useWithdraw };
1459
1471
  //# sourceMappingURL=index.mjs.map
1460
1472
  //# sourceMappingURL=index.mjs.map