@sodax/dapp-kit 1.0.0-rc.3 → 1.0.0-rc.4

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/README.md CHANGED
@@ -302,6 +302,7 @@ function BridgeComponent() {
302
302
  - [`useReservesData()`](./src/hooks/mm/useReservesData.ts) - Get reserves data
303
303
  - [`useMMAllowance()`](./src/hooks/mm/useMMAllowance.ts) - Check token allowance for a specific amount
304
304
  - [`useMMApprove()`](./src/hooks/mm/useMMApprove.ts) - Approve token spending
305
+ - [`useAToken()`](./src/hooks/mm/useAToken.ts) - Fetch aToken token data
305
306
 
306
307
  #### Swap Hooks
307
308
  - [`useQuote()`](./src/hooks/swap/useQuote.ts) - Get quote for an intent order
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _sodax_sdk from '@sodax/sdk';
2
- import { Sodax, SpokeProvider, GetEstimateGasReturnType, TxReturnType, SpokeChainId, StellarSpokeProvider, EvmHubProvider, IWalletProvider, UserReserveData, MoneyMarketAction, SolverIntentQuoteRequest, Result, SolverIntentQuoteResponse, SolverErrorResponse, SolverExecutionResponse, Intent, IntentDeliveryInfo, IntentError, IntentErrorCode, CreateIntentParams, Hex, SolverIntentStatusResponse, IntentResponse, OrderbookResponse, MoneyMarketPosition, MoneyMarketAsset, MoneyMarketAssetBorrowers, MoneyMarketAssetSuppliers, MoneyMarketBorrowers, CreateBridgeIntentParams, SpokeTxHash, HubTxHash, BridgeError, BridgeErrorCode, XToken as XToken$1, StakeParams, UnstakeParams, ClaimParams, CancelUnstakeParams, StakingInfo, UnstakingInfo, UnstakeRequestWithPenalty, StakingConfig, InstantUnstakeParams, SodaxConfig } from '@sodax/sdk';
2
+ import { Sodax, SpokeProvider, GetEstimateGasReturnType, TxReturnType, SpokeChainId, StellarSpokeProvider, EvmHubProvider, IWalletProvider, UserReserveData, MoneyMarketAction, Address as Address$1, XToken as XToken$1, SolverIntentQuoteRequest, Result, SolverIntentQuoteResponse, SolverErrorResponse, SolverExecutionResponse, Intent, IntentDeliveryInfo, IntentError, IntentErrorCode, CreateIntentParams, Hex, SolverIntentStatusResponse, IntentResponse, OrderbookResponse, MoneyMarketPosition, MoneyMarketAsset, MoneyMarketAssetBorrowers, MoneyMarketAssetSuppliers, MoneyMarketBorrowers, CreateBridgeIntentParams, SpokeTxHash, HubTxHash, BridgeError, BridgeErrorCode, StakeParams, UnstakeParams, ClaimParams, CancelUnstakeParams, StakingInfo, UnstakingInfo, UnstakeRequestWithPenalty, StakingConfig, InstantUnstakeParams, SodaxConfig } from '@sodax/sdk';
3
3
  import { RpcConfig, SpokeChainId as SpokeChainId$1, XToken, ChainId } from '@sodax/types';
4
4
  import * as _tanstack_react_query from '@tanstack/react-query';
5
5
  import { UseMutationResult, UseQueryResult } from '@tanstack/react-query';
@@ -350,6 +350,30 @@ interface UseApproveReturn$2 {
350
350
  */
351
351
  declare function useMMApprove(token: XToken, spokeProvider: SpokeProvider | undefined): UseApproveReturn$2;
352
352
 
353
+ /**
354
+ * React hook for fetching an AToken's ERC20 metadata from the Sodax money market.
355
+ *
356
+ * Fetches and caches the metadata (name, symbol, decimals, address) for a given aToken address and chain using React Query.
357
+ * This metadata is typically required for rendering balances and labels in UI components.
358
+ *
359
+ * @param {Address | undefined} aToken - The aToken contract address to look up. Should be an EVM address.
360
+ * @param {ChainId | undefined} chainId - The EVM chain ID for the aToken.
361
+ *
362
+ * @example
363
+ * ```typescript
364
+ * const { data: aToken, isLoading, error } = useAToken(aTokenAddress, chainId);
365
+ * if (aToken) {
366
+ * console.log(aToken.symbol); // 'aETH'
367
+ * }
368
+ * ```
369
+ *
370
+ * @returns {UseQueryResult<Erc20Token, Error>} A React Query result object containing:
371
+ * - data: The aToken ERC20 metadata when available.
372
+ * - isLoading: Loading state indicator.
373
+ * - error: Any error that occurred during data fetching.
374
+ */
375
+ declare function useAToken(aToken: Address$1 | undefined): UseQueryResult<XToken$1, Error>;
376
+
353
377
  /**
354
378
  * Hook for fetching a quote for an intent-based swap.
355
379
  *
@@ -1511,4 +1535,4 @@ declare const SodaxProvider: ({ children, testnet, config, rpcConfig }: SodaxPro
1511
1535
 
1512
1536
  declare const getSpokeTokenAddressByVault: (spokeChainId: ChainId, vault: string) => string | undefined;
1513
1537
 
1514
- export { MIGRATION_MODE_BNUSD, MIGRATION_MODE_ICX_SODA, type MigrationIntentParams, type MigrationMode, SodaxProvider, getSpokeTokenAddressByVault, useBackendAllMoneyMarketAssets, useBackendAllMoneyMarketBorrowers, useBackendIntentByHash, useBackendIntentByTxHash, useBackendMoneyMarketAsset, useBackendMoneyMarketAssetBorrowers, useBackendMoneyMarketAssetSuppliers, useBackendMoneyMarketPosition, useBackendOrderbook, useBorrow, useBridge, useBridgeAllowance, useBridgeApprove, useCancelSwap, useCancelUnstake, useClaim, useConvertedAssets, useDeriveUserWalletAddress, useEstimateGas, useGetBridgeableAmount, useGetBridgeableTokens, useHubProvider, useInstantUnstake, useInstantUnstakeAllowance, useInstantUnstakeApprove, useInstantUnstakeRatio, useMMAllowance, useMMApprove, useMigrate, useMigrationAllowance, useMigrationApprove, useQuote, useRepay, useRequestTrustline, useReservesData, useSodaxContext, useSpokeProvider, useStake, useStakeAllowance, useStakeApprove, useStakeRatio, useStakingConfig, useStakingInfo, useStatus, useStellarTrustlineCheck, useSupply, useSwap, useSwapAllowance, useSwapApprove, useUnstake, useUnstakeAllowance, useUnstakeApprove, useUnstakingInfo, useUnstakingInfoWithPenalty, useUserReservesData, useWithdraw };
1538
+ export { MIGRATION_MODE_BNUSD, MIGRATION_MODE_ICX_SODA, type MigrationIntentParams, type MigrationMode, SodaxProvider, getSpokeTokenAddressByVault, useAToken, useBackendAllMoneyMarketAssets, useBackendAllMoneyMarketBorrowers, useBackendIntentByHash, useBackendIntentByTxHash, useBackendMoneyMarketAsset, useBackendMoneyMarketAssetBorrowers, useBackendMoneyMarketAssetSuppliers, useBackendMoneyMarketPosition, useBackendOrderbook, useBorrow, useBridge, useBridgeAllowance, useBridgeApprove, useCancelSwap, useCancelUnstake, useClaim, useConvertedAssets, useDeriveUserWalletAddress, useEstimateGas, useGetBridgeableAmount, useGetBridgeableTokens, useHubProvider, useInstantUnstake, useInstantUnstakeAllowance, useInstantUnstakeApprove, useInstantUnstakeRatio, useMMAllowance, useMMApprove, useMigrate, useMigrationAllowance, useMigrationApprove, useQuote, useRepay, useRequestTrustline, useReservesData, useSodaxContext, useSpokeProvider, useStake, useStakeAllowance, useStakeApprove, useStakeRatio, useStakingConfig, useStakingInfo, useStatus, useStellarTrustlineCheck, useSupply, useSwap, useSwapAllowance, useSwapApprove, useUnstake, useUnstakeAllowance, useUnstakeApprove, useUnstakingInfo, useUnstakingInfoWithPenalty, useUserReservesData, useWithdraw };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _sodax_sdk from '@sodax/sdk';
2
- import { Sodax, SpokeProvider, GetEstimateGasReturnType, TxReturnType, SpokeChainId, StellarSpokeProvider, EvmHubProvider, IWalletProvider, UserReserveData, MoneyMarketAction, SolverIntentQuoteRequest, Result, SolverIntentQuoteResponse, SolverErrorResponse, SolverExecutionResponse, Intent, IntentDeliveryInfo, IntentError, IntentErrorCode, CreateIntentParams, Hex, SolverIntentStatusResponse, IntentResponse, OrderbookResponse, MoneyMarketPosition, MoneyMarketAsset, MoneyMarketAssetBorrowers, MoneyMarketAssetSuppliers, MoneyMarketBorrowers, CreateBridgeIntentParams, SpokeTxHash, HubTxHash, BridgeError, BridgeErrorCode, XToken as XToken$1, StakeParams, UnstakeParams, ClaimParams, CancelUnstakeParams, StakingInfo, UnstakingInfo, UnstakeRequestWithPenalty, StakingConfig, InstantUnstakeParams, SodaxConfig } from '@sodax/sdk';
2
+ import { Sodax, SpokeProvider, GetEstimateGasReturnType, TxReturnType, SpokeChainId, StellarSpokeProvider, EvmHubProvider, IWalletProvider, UserReserveData, MoneyMarketAction, Address as Address$1, XToken as XToken$1, SolverIntentQuoteRequest, Result, SolverIntentQuoteResponse, SolverErrorResponse, SolverExecutionResponse, Intent, IntentDeliveryInfo, IntentError, IntentErrorCode, CreateIntentParams, Hex, SolverIntentStatusResponse, IntentResponse, OrderbookResponse, MoneyMarketPosition, MoneyMarketAsset, MoneyMarketAssetBorrowers, MoneyMarketAssetSuppliers, MoneyMarketBorrowers, CreateBridgeIntentParams, SpokeTxHash, HubTxHash, BridgeError, BridgeErrorCode, StakeParams, UnstakeParams, ClaimParams, CancelUnstakeParams, StakingInfo, UnstakingInfo, UnstakeRequestWithPenalty, StakingConfig, InstantUnstakeParams, SodaxConfig } from '@sodax/sdk';
3
3
  import { RpcConfig, SpokeChainId as SpokeChainId$1, XToken, ChainId } from '@sodax/types';
4
4
  import * as _tanstack_react_query from '@tanstack/react-query';
5
5
  import { UseMutationResult, UseQueryResult } from '@tanstack/react-query';
@@ -350,6 +350,30 @@ interface UseApproveReturn$2 {
350
350
  */
351
351
  declare function useMMApprove(token: XToken, spokeProvider: SpokeProvider | undefined): UseApproveReturn$2;
352
352
 
353
+ /**
354
+ * React hook for fetching an AToken's ERC20 metadata from the Sodax money market.
355
+ *
356
+ * Fetches and caches the metadata (name, symbol, decimals, address) for a given aToken address and chain using React Query.
357
+ * This metadata is typically required for rendering balances and labels in UI components.
358
+ *
359
+ * @param {Address | undefined} aToken - The aToken contract address to look up. Should be an EVM address.
360
+ * @param {ChainId | undefined} chainId - The EVM chain ID for the aToken.
361
+ *
362
+ * @example
363
+ * ```typescript
364
+ * const { data: aToken, isLoading, error } = useAToken(aTokenAddress, chainId);
365
+ * if (aToken) {
366
+ * console.log(aToken.symbol); // 'aETH'
367
+ * }
368
+ * ```
369
+ *
370
+ * @returns {UseQueryResult<Erc20Token, Error>} A React Query result object containing:
371
+ * - data: The aToken ERC20 metadata when available.
372
+ * - isLoading: Loading state indicator.
373
+ * - error: Any error that occurred during data fetching.
374
+ */
375
+ declare function useAToken(aToken: Address$1 | undefined): UseQueryResult<XToken$1, Error>;
376
+
353
377
  /**
354
378
  * Hook for fetching a quote for an intent-based swap.
355
379
  *
@@ -1511,4 +1535,4 @@ declare const SodaxProvider: ({ children, testnet, config, rpcConfig }: SodaxPro
1511
1535
 
1512
1536
  declare const getSpokeTokenAddressByVault: (spokeChainId: ChainId, vault: string) => string | undefined;
1513
1537
 
1514
- export { MIGRATION_MODE_BNUSD, MIGRATION_MODE_ICX_SODA, type MigrationIntentParams, type MigrationMode, SodaxProvider, getSpokeTokenAddressByVault, useBackendAllMoneyMarketAssets, useBackendAllMoneyMarketBorrowers, useBackendIntentByHash, useBackendIntentByTxHash, useBackendMoneyMarketAsset, useBackendMoneyMarketAssetBorrowers, useBackendMoneyMarketAssetSuppliers, useBackendMoneyMarketPosition, useBackendOrderbook, useBorrow, useBridge, useBridgeAllowance, useBridgeApprove, useCancelSwap, useCancelUnstake, useClaim, useConvertedAssets, useDeriveUserWalletAddress, useEstimateGas, useGetBridgeableAmount, useGetBridgeableTokens, useHubProvider, useInstantUnstake, useInstantUnstakeAllowance, useInstantUnstakeApprove, useInstantUnstakeRatio, useMMAllowance, useMMApprove, useMigrate, useMigrationAllowance, useMigrationApprove, useQuote, useRepay, useRequestTrustline, useReservesData, useSodaxContext, useSpokeProvider, useStake, useStakeAllowance, useStakeApprove, useStakeRatio, useStakingConfig, useStakingInfo, useStatus, useStellarTrustlineCheck, useSupply, useSwap, useSwapAllowance, useSwapApprove, useUnstake, useUnstakeAllowance, useUnstakeApprove, useUnstakingInfo, useUnstakingInfoWithPenalty, useUserReservesData, useWithdraw };
1538
+ export { MIGRATION_MODE_BNUSD, MIGRATION_MODE_ICX_SODA, type MigrationIntentParams, type MigrationMode, SodaxProvider, getSpokeTokenAddressByVault, useAToken, useBackendAllMoneyMarketAssets, useBackendAllMoneyMarketBorrowers, useBackendIntentByHash, useBackendIntentByTxHash, useBackendMoneyMarketAsset, useBackendMoneyMarketAssetBorrowers, useBackendMoneyMarketAssetSuppliers, useBackendMoneyMarketPosition, useBackendOrderbook, useBorrow, useBridge, useBridgeAllowance, useBridgeApprove, useCancelSwap, useCancelUnstake, useClaim, useConvertedAssets, useDeriveUserWalletAddress, useEstimateGas, useGetBridgeableAmount, useGetBridgeableTokens, useHubProvider, useInstantUnstake, useInstantUnstakeAllowance, useInstantUnstakeApprove, useInstantUnstakeRatio, useMMAllowance, useMMApprove, useMigrate, useMigrationAllowance, useMigrationApprove, useQuote, useRepay, useRequestTrustline, useReservesData, useSodaxContext, useSpokeProvider, useStake, useStakeAllowance, useStakeApprove, useStakeRatio, useStakingConfig, useStakingInfo, useStatus, useStellarTrustlineCheck, useSupply, useSwap, useSwapAllowance, useSwapApprove, useUnstake, useUnstakeAllowance, useUnstakeApprove, useUnstakingInfo, useUnstakingInfoWithPenalty, useUserReservesData, useWithdraw };
package/dist/index.js CHANGED
@@ -357,6 +357,23 @@ function useMMApprove(token, spokeProvider) {
357
357
  resetError
358
358
  };
359
359
  }
360
+ function useAToken(aToken) {
361
+ const { sodax } = useSodaxContext();
362
+ return reactQuery.useQuery({
363
+ queryKey: ["aToken", sodax.hubProvider.chainConfig.chain.id, aToken],
364
+ queryFn: async () => {
365
+ if (!aToken) {
366
+ throw new Error("aToken address or hub provider is not defined");
367
+ }
368
+ const aTokenData = await sodax.moneyMarket.data.getATokenData(aToken);
369
+ return {
370
+ ...aTokenData,
371
+ xChainId: sodax.hubProvider.chainConfig.chain.id
372
+ };
373
+ },
374
+ enabled: !!aToken
375
+ });
376
+ }
360
377
  var useQuote = (payload) => {
361
378
  const { sodax } = useSodaxContext();
362
379
  const queryKey = React.useMemo(() => {
@@ -1259,6 +1276,7 @@ exports.MIGRATION_MODE_BNUSD = MIGRATION_MODE_BNUSD;
1259
1276
  exports.MIGRATION_MODE_ICX_SODA = MIGRATION_MODE_ICX_SODA;
1260
1277
  exports.SodaxProvider = SodaxProvider;
1261
1278
  exports.getSpokeTokenAddressByVault = getSpokeTokenAddressByVault;
1279
+ exports.useAToken = useAToken;
1262
1280
  exports.useBackendAllMoneyMarketAssets = useBackendAllMoneyMarketAssets;
1263
1281
  exports.useBackendAllMoneyMarketBorrowers = useBackendAllMoneyMarketBorrowers;
1264
1282
  exports.useBackendIntentByHash = useBackendIntentByHash;