@0xsquid/react-hooks 8.1.0 → 8.1.1

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.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- export { A as AxelarStatusResponseType, C as CHAIN_IDS, N as ConnectingWalletStatus, m as CosmosProvider, D as DEFAULT_LOCALE, aN as EnsService, bF as EvmNetworkNotSupportedErrorCode, aA as FINAL_TRANSACTION_STATUSES, H as HistoryTxType, Q as QueryKeys, o as SendTransactionStatus, aM as SquidProvider, S as SquidStatusErrorType, az as TX_STATUS_CONSTANTS, T as TransactionErrorType, p as TransactionStatus, bE as WidgetEvents, X as XamanXrplNetwork, cz as accessProperty, bO as adaptiveRound, bG as addEthereumChain, cG as addTokenToWallet, cD as areSameAddress, bc as areTokenSymbolsCompatible, aT as assetsBaseUrl, cR as buildXrplTrustSetTx, b_ as calculateTotal24hChange, cF as calculateTotalUsdBalanceUSD, cM as cancelConnectWallet, c as chainTypeToNativeTokenAddressMap, a as chainTypeToZeroAddressMap, co as chainflipMultihopBridgeType, bX as cleanAmount, cd as compareTransactionIds, bt as connectCosmosWallet, cL as connectWallet, bY as convertTokenAmountToUSD, bZ as convertUSDToTokenAmount, bD as createQuoteRequestParamsHash, d as definedInWindow, b as destinationAddressResetValue, c2 as executeSolanaSwap, c3 as executeSolanaTransfer, e as fallbackAddressResetValue, b8 as fetchAssetsColors, bi as fetchHighestBalanceToken, cc as fetchSwapTransactionStatus, aX as filterChains, c0 as filterSolanaWallets, aY as filterTokens, bl as filterTokensForDestination, b5 as filterViewableTokens, bJ as filterWagmiConnector, b1 as findNativeToken, b0 as findToken, f as formatBNToReadable, c8 as formatDistance, bI as formatEvmWallet, cw as formatHash, c9 as formatSeconds, ca as formatSwapTxStatusResponseForStorage, bT as formatTokenAmount, c4 as formatTransactionHistoryDate, bS as formatUnitsRounded, bU as formatUsdAmount, bp as getAllKeysForSupportedCosmosChains, c5 as getAxelarExplorerTxUrl, cp as getBridgeType, be as getConfigWithDefaults, cJ as getConnectorForChainType, bs as getCosmosChainInfosObject, bn as getCosmosKey, br as getCosmosSigningClient, bM as getCountryData, bN as getCurrencyData, cB as getDefaultChain, bh as getFirstAvailableChainId, ck as getHalfSuccessState, ci as getHistoryTransactionId, bm as getInitialChainIdFromConfig, bj as getInitialOrDefaultTokenAddressForChain, bk as getInitialTokenAddressForChain, bo as getKeysSettled, c7 as getMainExplorerUrl, a_ as getNewSwapParamsFromInput, bW as getNumericValue, aQ as getQueryHeaders, b6 as getSecretNetworkBalances, cn as getSendTxStatusRefetchInterval, c6 as getSourceExplorerTxUrl, aR as getStatusCode, cj as getStepStatuses, cl as getStepsInfos, bP as getSuggestedAmountsForCurrency, aW as getSupportedChainIdsForDirection, cm as getSwapTxStatusRefetchInterval, b7 as getTokenAssetsKey, aZ as getTokenImage, bg as getTokensForChain, cr as getTransactionEndStatus, bz as getTransactionError, cq as getTransactionStatus, bL as getUserCountry, cI as getWalletSupportedChainTypes, cS as getXrplNetwork, aO as getXummClient, b4 as groupTokensByChainId, b3 as groupTokensBySymbol, bA as handleTransactionErrorEvents, b9 as initializeSquidWithAssetsColors, aS as is404Error, ch as isChainflipBridgeTransaction, ce as isCoralBridgeAction, bq as isCosmosAddressValid, cg as isDepositRoute, ba as isEmptyObject, cH as isEvmChainNotSupportedError, bd as isEvmosChain, bu as isFallbackAddressNeeded, cv as isHistoryTransactionEnded, ct as isHistoryTransactionFailed, cs as isHistoryTransactionPending, cu as isHistoryTransactionWarning, cN as isProblematicConnector, c1 as isSolanaAddressValid, bC as isStatusError, bB as isSwapRouteError, by as isUserRejectionError, cx as isWalletAddressValid, aP as isXamanXAppContext, cP as isXionSmartContractAddress, cQ as isXrplAddressValid, cO as mergeWallets, n as nativeBitcoinTokenAddress, g as nativeCosmosTokenAddress, h as nativeEvmTokenAddress, i as nativeSolanaTokenAddress, j as nativeStellarTokenAddress, k as nativeSuiTokenAddress, l as nativeXrplTokenAddress, bw as normalizeError, b2 as normalizeIbcAddress, bb as normalizeTokenSymbol, bH as parseEvmAddress, bQ as parseToBigInt, cT as parseXrplPaymentTx, cA as populateWallets, bf as randomIntFromInterval, cy as redirectToExtensionsStore, bR as roundNumericValue, b$ as searchTokens, aU as shareSubgraphId, cb as simplifyRouteAction, cf as sleep, cE as sortAddressBook, a$ as sortAllTokens, aV as sortTokensBySharedSubgraphIds, cC as sortWallets, bv as suggestChainOrThrow, bx as transactionErrorCode, bV as trimExtraDecimals, an as useAddToken, B as useAddressBookStore, U as useAllConnectedWalletBalances, V as useAllTokensWithBalanceForChainType, a9 as useAllTransactionsStatus, aa as useApproval, E as useAssetsColorsStore, ao as useAutoConnect, aI as useAvailableQuotes, aj as useAvatar, s as useClient, J as useConfigStore, Y as useCosmosBalance, u as useCosmosContext, t as useCosmosForChain, aH as useCountryDetails, aG as useCurrencyDetails, am as useDebouncedValue, P as useDepositAddress, ap as useEnsDataForAddress, aq as useEnsSearch, ab as useEstimate, ac as useEstimatePriceImpact, a6 as useEstimateSendTransaction, Z as useEvmBalance, aD as useExecuteFiatQuote, ad as useExecuteTransaction, F as useFavoriteTokensStore, aE as useFiatOnRampTxStatus, aF as useFiatTransactions, aB as useGetFiatQuote, aC as useGetOnRampConfig, aK as useGetOnrampPaymentTypes, ae as useGetRoute, af as useGetRouteWrapper, ar as useGnosisContext, a4 as useHistoricalData, ak as useHistory, G as useHistoryStore, at as useIntegratorContext, as as useIsSameAddressAndGnosisContext, v as useKeyboardNavigation, _ as useMultiChainBalance, au as useMultiChainWallet, $ as useMultipleTokenPrices, a0 as useNativeBalance, a1 as useNativeTokenForChain, aJ as useRecommendedQuote, ag as useRouteWarnings, a7 as useSendTransaction, a8 as useSendTransactionGas, ah as useSendTransactionStatus, I as useSendTransactionStore, av as useSigner, a2 as useSingleTokenPrice, y as useSquid, r as useSquidChains, x as useSquidQueryClient, K as useSquidStore, a3 as useSquidTokens, z as useStellarAccountActivation, aL as useSuggestedFiatAmounts, R as useSwap, L as useSwapRoutePersistStore, ai as useSwapTransactionStatus, a5 as useTokensData, q as useTrackSearchEmpty, M as useTransactionStore, al as useUserParams, aw as useWallet, O as useWalletStore, ax as useWallets, ay as useXrplTrustLine, bK as waitForReceiptWithRetry, cK as walletSupportsChainType } from './index-XaN56jYV.js';
1
+ export { A as AxelarStatusResponseType, C as CHAIN_IDS, N as ConnectingWalletStatus, m as CosmosProvider, D as DEFAULT_LOCALE, aN as EnsService, bF as EvmNetworkNotSupportedErrorCode, aA as FINAL_TRANSACTION_STATUSES, H as HistoryTxType, Q as QueryKeys, o as SendTransactionStatus, aM as SquidProvider, S as SquidStatusErrorType, az as TX_STATUS_CONSTANTS, T as TransactionErrorType, p as TransactionStatus, bE as WidgetEvents, X as XamanXrplNetwork, cz as accessProperty, bO as adaptiveRound, bG as addEthereumChain, cG as addTokenToWallet, cD as areSameAddress, bc as areTokenSymbolsCompatible, aT as assetsBaseUrl, cR as buildXrplTrustSetTx, b_ as calculateTotal24hChange, cF as calculateTotalUsdBalanceUSD, cM as cancelConnectWallet, c as chainTypeToNativeTokenAddressMap, a as chainTypeToZeroAddressMap, co as chainflipMultihopBridgeType, bX as cleanAmount, cd as compareTransactionIds, bt as connectCosmosWallet, cL as connectWallet, bY as convertTokenAmountToUSD, bZ as convertUSDToTokenAmount, bD as createQuoteRequestParamsHash, d as definedInWindow, b as destinationAddressResetValue, c2 as executeSolanaSwap, c3 as executeSolanaTransfer, e as fallbackAddressResetValue, b8 as fetchAssetsColors, bi as fetchHighestBalanceToken, cc as fetchSwapTransactionStatus, aX as filterChains, c0 as filterSolanaWallets, aY as filterTokens, bl as filterTokensForDestination, b5 as filterViewableTokens, bJ as filterWagmiConnector, b1 as findNativeToken, b0 as findToken, f as formatBNToReadable, c8 as formatDistance, bI as formatEvmWallet, cw as formatHash, c9 as formatSeconds, ca as formatSwapTxStatusResponseForStorage, bT as formatTokenAmount, c4 as formatTransactionHistoryDate, bS as formatUnitsRounded, bU as formatUsdAmount, bp as getAllKeysForSupportedCosmosChains, c5 as getAxelarExplorerTxUrl, cp as getBridgeType, be as getConfigWithDefaults, cJ as getConnectorForChainType, bs as getCosmosChainInfosObject, bn as getCosmosKey, br as getCosmosSigningClient, bM as getCountryData, bN as getCurrencyData, cB as getDefaultChain, bh as getFirstAvailableChainId, ck as getHalfSuccessState, ci as getHistoryTransactionId, bm as getInitialChainIdFromConfig, bj as getInitialOrDefaultTokenAddressForChain, bk as getInitialTokenAddressForChain, bo as getKeysSettled, c7 as getMainExplorerUrl, a_ as getNewSwapParamsFromInput, bW as getNumericValue, aQ as getQueryHeaders, b6 as getSecretNetworkBalances, cn as getSendTxStatusRefetchInterval, c6 as getSourceExplorerTxUrl, aR as getStatusCode, cj as getStepStatuses, cl as getStepsInfos, bP as getSuggestedAmountsForCurrency, aW as getSupportedChainIdsForDirection, cm as getSwapTxStatusRefetchInterval, b7 as getTokenAssetsKey, aZ as getTokenImage, bg as getTokensForChain, cr as getTransactionEndStatus, bz as getTransactionError, cq as getTransactionStatus, bL as getUserCountry, cI as getWalletSupportedChainTypes, cS as getXrplNetwork, aO as getXummClient, b4 as groupTokensByChainId, b3 as groupTokensBySymbol, bA as handleTransactionErrorEvents, b9 as initializeSquidWithAssetsColors, aS as is404Error, ch as isChainflipBridgeTransaction, ce as isCoralBridgeAction, bq as isCosmosAddressValid, cg as isDepositRoute, ba as isEmptyObject, cH as isEvmChainNotSupportedError, bd as isEvmosChain, bu as isFallbackAddressNeeded, cv as isHistoryTransactionEnded, ct as isHistoryTransactionFailed, cs as isHistoryTransactionPending, cu as isHistoryTransactionWarning, cN as isProblematicConnector, c1 as isSolanaAddressValid, bC as isStatusError, bB as isSwapRouteError, by as isUserRejectionError, cx as isWalletAddressValid, aP as isXamanXAppContext, cP as isXionSmartContractAddress, cQ as isXrplAddressValid, cO as mergeWallets, n as nativeBitcoinTokenAddress, g as nativeCosmosTokenAddress, h as nativeEvmTokenAddress, i as nativeSolanaTokenAddress, j as nativeStellarTokenAddress, k as nativeSuiTokenAddress, l as nativeXrplTokenAddress, bw as normalizeError, b2 as normalizeIbcAddress, bb as normalizeTokenSymbol, bH as parseEvmAddress, bQ as parseToBigInt, cT as parseXrplPaymentTx, cA as populateWallets, bf as randomIntFromInterval, cy as redirectToExtensionsStore, bR as roundNumericValue, b$ as searchTokens, aU as shareSubgraphId, cb as simplifyRouteAction, cf as sleep, cE as sortAddressBook, a$ as sortAllTokens, aV as sortTokensBySharedSubgraphIds, cC as sortWallets, bv as suggestChainOrThrow, bx as transactionErrorCode, bV as trimExtraDecimals, an as useAddToken, B as useAddressBookStore, U as useAllConnectedWalletBalances, V as useAllTokensWithBalanceForChainType, a9 as useAllTransactionsStatus, aa as useApproval, E as useAssetsColorsStore, ao as useAutoConnect, aI as useAvailableQuotes, aj as useAvatar, s as useClient, J as useConfigStore, Y as useCosmosBalance, u as useCosmosContext, t as useCosmosForChain, aH as useCountryDetails, aG as useCurrencyDetails, am as useDebouncedValue, P as useDepositAddress, ap as useEnsDataForAddress, aq as useEnsSearch, ab as useEstimate, ac as useEstimatePriceImpact, a6 as useEstimateSendTransaction, Z as useEvmBalance, aD as useExecuteFiatQuote, ad as useExecuteTransaction, F as useFavoriteTokensStore, aE as useFiatOnRampTxStatus, aF as useFiatTransactions, aB as useGetFiatQuote, aC as useGetOnRampConfig, aK as useGetOnrampPaymentTypes, ae as useGetRoute, af as useGetRouteWrapper, ar as useGnosisContext, a4 as useHistoricalData, ak as useHistory, G as useHistoryStore, at as useIntegratorContext, as as useIsSameAddressAndGnosisContext, v as useKeyboardNavigation, _ as useMultiChainBalance, au as useMultiChainWallet, $ as useMultipleTokenPrices, a0 as useNativeBalance, a1 as useNativeTokenForChain, aJ as useRecommendedQuote, ag as useRouteWarnings, a7 as useSendTransaction, a8 as useSendTransactionGas, ah as useSendTransactionStatus, I as useSendTransactionStore, av as useSigner, a2 as useSingleTokenPrice, y as useSquid, r as useSquidChains, x as useSquidQueryClient, K as useSquidStore, a3 as useSquidTokens, z as useStellarAccountActivation, aL as useSuggestedFiatAmounts, R as useSwap, L as useSwapRoutePersistStore, ai as useSwapTransactionStatus, a5 as useTokensData, q as useTrackSearchEmpty, M as useTransactionStore, al as useUserParams, aw as useWallet, O as useWalletStore, ax as useWallets, ay as useXrplTrustLine, bK as waitForReceiptWithRetry, cK as walletSupportsChainType } from './index-Dns9m27b.js';
2
2
  import '@0xsquid/squid-types';
3
3
  import 'viem';
4
4
  import 'react';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BKqLCAGR.js');
3
+ var index = require('./index-CumomA_e.js');
4
4
  require('@0xsquid/squid-types');
5
5
  require('viem');
6
6
  require('react');
@@ -1,6 +1,6 @@
1
1
  import { StargateClient } from '@cosmjs/stargate';
2
2
  import { SecretNetworkClient } from 'secretjs';
3
- import { C as CHAIN_IDS, f as formatBNToReadable } from './index-XaN56jYV.js';
3
+ import { C as CHAIN_IDS, f as formatBNToReadable } from './index-Dns9m27b.js';
4
4
  import '@0xsquid/squid-types';
5
5
  import 'viem';
6
6
  import 'react';
@@ -163,4 +163,4 @@ const fetchAllSecretBalances = async (chainData, userAddress, secretTokens, kepl
163
163
  };
164
164
 
165
165
  export { fetchAllSecretBalances, getPermit, getTokenBalance };
166
- //# sourceMappingURL=secretService-DcoMsLKe.js.map
166
+ //# sourceMappingURL=secretService-DQbR7c-h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secretService-DcoMsLKe.js","sources":["../src/services/external/secretService.ts"],"sourcesContent":["import type { ChainData, CosmosChain, Token } from \"@0xsquid/squid-types\";\nimport { StargateClient } from \"@cosmjs/stargate\";\nimport type { Keplr } from \"@keplr-wallet/types\";\nimport { SecretNetworkClient } from \"secretjs\";\nimport { CHAIN_IDS } from \"../../core/constants\";\nimport type { TokenWithBalance } from \"../../core/types/tokens\";\nimport type { TypedWindow } from \"../../core/types/wallet\";\nimport { formatBNToReadable } from \"../internal/numberService\";\n\n/**\n * Fetch secret network token balance\n * Using the permit signature, see permit function for more details\n * @param secretJS\n * @param contract\n * @param chainId\n * @param walletAddress\n * @param permit\n * @returns\n */\nexport const getTokenBalance = async (\n secretJS: SecretNetworkClient,\n contract: { address: string; codeHash: string },\n permit: any\n) => {\n if (permit) {\n const msg = {\n balance: {},\n };\n\n const result = await secretJS.query.compute.queryContract({\n contract_address: contract.address,\n code_hash: contract.codeHash,\n query: {\n with_permit: {\n query: msg,\n permit,\n },\n },\n });\n return result;\n }\n return -1;\n};\n\nexport const getPermit = async (\n chainId: string,\n contracts: any[],\n address: string\n) => {\n const contractsString = contracts.join(\"_\");\n const permKey = `perm_${chainId}_${contractsString}_${address}`;\n let permit: any;\n\n const permitStored = window.localStorage.getItem(permKey);\n if (permitStored) permit = JSON.parse(permitStored);\n\n // Not able to fetch permit signature from local storage,\n // Ask user to sign message\n if (!permit) {\n try {\n const result = await (window as TypedWindow).keplr.signAmino(\n chainId,\n address,\n {\n chain_id: chainId,\n account_number: \"0\",\n sequence: \"0\",\n fee: {\n amount: [{ denom: \"uscrt\", amount: \"0\" }],\n gas: \"1\",\n },\n msgs: [\n {\n type: \"query_permit\",\n value: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n permissions: [\"balance\"],\n },\n },\n ],\n memo: \"\",\n },\n {\n preferNoSetFee: true,\n preferNoSetMemo: true,\n }\n );\n permit = {\n params: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n chain_id: chainId,\n permissions: [\"balance\"],\n },\n signature: result.signature,\n };\n window.localStorage.setItem(permKey, JSON.stringify(permit));\n } catch (err) {\n console.error(\"--- PERMIT ERROR ---\");\n console.error(err);\n }\n }\n return permit;\n};\n\n/**\n * Fetches the secret balance of the user\n * This has a different logic than the other balances because Secret network hides the balance of the user by design\n * So we need to fetch the balance in a different way\n */\nexport const fetchAllSecretBalances = async (\n chainData: ChainData,\n userAddress: string,\n secretTokens: (Token & { codeHash?: string })[],\n keplr?: Keplr\n): Promise<TokenWithBalance[]> => {\n if (!keplr) return [];\n // Enables app to utilize keplr's secret utilities\n await keplr.enable(CHAIN_IDS.SECRET);\n // Create a client that handles the query encryption\n const client = new SecretNetworkClient({\n url: (chainData as CosmosChain).rest,\n chainId: CHAIN_IDS.SECRET,\n wallet: keplr.getOfflineSignerOnlyAmino(CHAIN_IDS.SECRET),\n encryptionUtils: keplr.getEnigmaUtils(CHAIN_IDS.SECRET),\n walletAddress: userAddress,\n });\n\n // Get secret tokens\n\n const permit = await getPermit(\n CHAIN_IDS.SECRET,\n secretTokens.map((st) => st.address),\n userAddress\n );\n\n // Fetching all balances in parallel\n const privateTokens = await Promise.all(\n secretTokens\n .filter((t) => !!t.codeHash)\n .map(async (token) => {\n const result = (await getTokenBalance(\n client,\n {\n address: token.address,\n codeHash: token.codeHash ?? \"\",\n },\n permit\n )) as { balance: { amount: string } };\n\n return {\n ...token,\n balance: formatBNToReadable(\n BigInt(result.balance.amount),\n token?.decimals\n ),\n } as TokenWithBalance;\n })\n );\n\n // Use Stargate getBalance for SCRT\n const stargateClient = await StargateClient.connect(chainData.rpc);\n const nativeSecretToken = secretTokens.find((t) => t.address === \"uscrt\");\n\n const publicTokenBalance = await stargateClient.getBalance(\n userAddress,\n \"uscrt\"\n );\n\n const publicTokenWithBalance = {\n ...nativeSecretToken,\n balance: formatBNToReadable(\n BigInt(publicTokenBalance.amount),\n nativeSecretToken?.decimals ?? 18\n ),\n } as TokenWithBalance;\n\n return [...privateTokens, publicTokenWithBalance];\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secretService-DQbR7c-h.js","sources":["../src/services/external/secretService.ts"],"sourcesContent":["import type { ChainData, CosmosChain, Token } from \"@0xsquid/squid-types\";\nimport { StargateClient } from \"@cosmjs/stargate\";\nimport type { Keplr } from \"@keplr-wallet/types\";\nimport { SecretNetworkClient } from \"secretjs\";\nimport { CHAIN_IDS } from \"../../core/constants\";\nimport type { TokenWithBalance } from \"../../core/types/tokens\";\nimport type { TypedWindow } from \"../../core/types/wallet\";\nimport { formatBNToReadable } from \"../internal/numberService\";\n\n/**\n * Fetch secret network token balance\n * Using the permit signature, see permit function for more details\n * @param secretJS\n * @param contract\n * @param chainId\n * @param walletAddress\n * @param permit\n * @returns\n */\nexport const getTokenBalance = async (\n secretJS: SecretNetworkClient,\n contract: { address: string; codeHash: string },\n permit: any\n) => {\n if (permit) {\n const msg = {\n balance: {},\n };\n\n const result = await secretJS.query.compute.queryContract({\n contract_address: contract.address,\n code_hash: contract.codeHash,\n query: {\n with_permit: {\n query: msg,\n permit,\n },\n },\n });\n return result;\n }\n return -1;\n};\n\nexport const getPermit = async (\n chainId: string,\n contracts: any[],\n address: string\n) => {\n const contractsString = contracts.join(\"_\");\n const permKey = `perm_${chainId}_${contractsString}_${address}`;\n let permit: any;\n\n const permitStored = window.localStorage.getItem(permKey);\n if (permitStored) permit = JSON.parse(permitStored);\n\n // Not able to fetch permit signature from local storage,\n // Ask user to sign message\n if (!permit) {\n try {\n const result = await (window as TypedWindow).keplr.signAmino(\n chainId,\n address,\n {\n chain_id: chainId,\n account_number: \"0\",\n sequence: \"0\",\n fee: {\n amount: [{ denom: \"uscrt\", amount: \"0\" }],\n gas: \"1\",\n },\n msgs: [\n {\n type: \"query_permit\",\n value: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n permissions: [\"balance\"],\n },\n },\n ],\n memo: \"\",\n },\n {\n preferNoSetFee: true,\n preferNoSetMemo: true,\n }\n );\n permit = {\n params: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n chain_id: chainId,\n permissions: [\"balance\"],\n },\n signature: result.signature,\n };\n window.localStorage.setItem(permKey, JSON.stringify(permit));\n } catch (err) {\n console.error(\"--- PERMIT ERROR ---\");\n console.error(err);\n }\n }\n return permit;\n};\n\n/**\n * Fetches the secret balance of the user\n * This has a different logic than the other balances because Secret network hides the balance of the user by design\n * So we need to fetch the balance in a different way\n */\nexport const fetchAllSecretBalances = async (\n chainData: ChainData,\n userAddress: string,\n secretTokens: (Token & { codeHash?: string })[],\n keplr?: Keplr\n): Promise<TokenWithBalance[]> => {\n if (!keplr) return [];\n // Enables app to utilize keplr's secret utilities\n await keplr.enable(CHAIN_IDS.SECRET);\n // Create a client that handles the query encryption\n const client = new SecretNetworkClient({\n url: (chainData as CosmosChain).rest,\n chainId: CHAIN_IDS.SECRET,\n wallet: keplr.getOfflineSignerOnlyAmino(CHAIN_IDS.SECRET),\n encryptionUtils: keplr.getEnigmaUtils(CHAIN_IDS.SECRET),\n walletAddress: userAddress,\n });\n\n // Get secret tokens\n\n const permit = await getPermit(\n CHAIN_IDS.SECRET,\n secretTokens.map((st) => st.address),\n userAddress\n );\n\n // Fetching all balances in parallel\n const privateTokens = await Promise.all(\n secretTokens\n .filter((t) => !!t.codeHash)\n .map(async (token) => {\n const result = (await getTokenBalance(\n client,\n {\n address: token.address,\n codeHash: token.codeHash ?? \"\",\n },\n permit\n )) as { balance: { amount: string } };\n\n return {\n ...token,\n balance: formatBNToReadable(\n BigInt(result.balance.amount),\n token?.decimals\n ),\n } as TokenWithBalance;\n })\n );\n\n // Use Stargate getBalance for SCRT\n const stargateClient = await StargateClient.connect(chainData.rpc);\n const nativeSecretToken = secretTokens.find((t) => t.address === \"uscrt\");\n\n const publicTokenBalance = await stargateClient.getBalance(\n userAddress,\n \"uscrt\"\n );\n\n const publicTokenWithBalance = {\n ...nativeSecretToken,\n balance: formatBNToReadable(\n BigInt(publicTokenBalance.amount),\n nativeSecretToken?.decimals ?? 18\n ),\n } as TokenWithBalance;\n\n return [...privateTokens, publicTokenWithBalance];\n};\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var stargate = require('@cosmjs/stargate');
4
4
  var secretjs = require('secretjs');
5
- var index = require('./index-BKqLCAGR.js');
5
+ var index = require('./index-CumomA_e.js');
6
6
  require('@0xsquid/squid-types');
7
7
  require('viem');
8
8
  require('react');
@@ -167,4 +167,4 @@ const fetchAllSecretBalances = async (chainData, userAddress, secretTokens, kepl
167
167
  exports.fetchAllSecretBalances = fetchAllSecretBalances;
168
168
  exports.getPermit = getPermit;
169
169
  exports.getTokenBalance = getTokenBalance;
170
- //# sourceMappingURL=secretService-D6uk5KwH.js.map
170
+ //# sourceMappingURL=secretService-xh6N3W9l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secretService-D6uk5KwH.js","sources":["../src/services/external/secretService.ts"],"sourcesContent":["import type { ChainData, CosmosChain, Token } from \"@0xsquid/squid-types\";\nimport { StargateClient } from \"@cosmjs/stargate\";\nimport type { Keplr } from \"@keplr-wallet/types\";\nimport { SecretNetworkClient } from \"secretjs\";\nimport { CHAIN_IDS } from \"../../core/constants\";\nimport type { TokenWithBalance } from \"../../core/types/tokens\";\nimport type { TypedWindow } from \"../../core/types/wallet\";\nimport { formatBNToReadable } from \"../internal/numberService\";\n\n/**\n * Fetch secret network token balance\n * Using the permit signature, see permit function for more details\n * @param secretJS\n * @param contract\n * @param chainId\n * @param walletAddress\n * @param permit\n * @returns\n */\nexport const getTokenBalance = async (\n secretJS: SecretNetworkClient,\n contract: { address: string; codeHash: string },\n permit: any\n) => {\n if (permit) {\n const msg = {\n balance: {},\n };\n\n const result = await secretJS.query.compute.queryContract({\n contract_address: contract.address,\n code_hash: contract.codeHash,\n query: {\n with_permit: {\n query: msg,\n permit,\n },\n },\n });\n return result;\n }\n return -1;\n};\n\nexport const getPermit = async (\n chainId: string,\n contracts: any[],\n address: string\n) => {\n const contractsString = contracts.join(\"_\");\n const permKey = `perm_${chainId}_${contractsString}_${address}`;\n let permit: any;\n\n const permitStored = window.localStorage.getItem(permKey);\n if (permitStored) permit = JSON.parse(permitStored);\n\n // Not able to fetch permit signature from local storage,\n // Ask user to sign message\n if (!permit) {\n try {\n const result = await (window as TypedWindow).keplr.signAmino(\n chainId,\n address,\n {\n chain_id: chainId,\n account_number: \"0\",\n sequence: \"0\",\n fee: {\n amount: [{ denom: \"uscrt\", amount: \"0\" }],\n gas: \"1\",\n },\n msgs: [\n {\n type: \"query_permit\",\n value: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n permissions: [\"balance\"],\n },\n },\n ],\n memo: \"\",\n },\n {\n preferNoSetFee: true,\n preferNoSetMemo: true,\n }\n );\n permit = {\n params: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n chain_id: chainId,\n permissions: [\"balance\"],\n },\n signature: result.signature,\n };\n window.localStorage.setItem(permKey, JSON.stringify(permit));\n } catch (err) {\n console.error(\"--- PERMIT ERROR ---\");\n console.error(err);\n }\n }\n return permit;\n};\n\n/**\n * Fetches the secret balance of the user\n * This has a different logic than the other balances because Secret network hides the balance of the user by design\n * So we need to fetch the balance in a different way\n */\nexport const fetchAllSecretBalances = async (\n chainData: ChainData,\n userAddress: string,\n secretTokens: (Token & { codeHash?: string })[],\n keplr?: Keplr\n): Promise<TokenWithBalance[]> => {\n if (!keplr) return [];\n // Enables app to utilize keplr's secret utilities\n await keplr.enable(CHAIN_IDS.SECRET);\n // Create a client that handles the query encryption\n const client = new SecretNetworkClient({\n url: (chainData as CosmosChain).rest,\n chainId: CHAIN_IDS.SECRET,\n wallet: keplr.getOfflineSignerOnlyAmino(CHAIN_IDS.SECRET),\n encryptionUtils: keplr.getEnigmaUtils(CHAIN_IDS.SECRET),\n walletAddress: userAddress,\n });\n\n // Get secret tokens\n\n const permit = await getPermit(\n CHAIN_IDS.SECRET,\n secretTokens.map((st) => st.address),\n userAddress\n );\n\n // Fetching all balances in parallel\n const privateTokens = await Promise.all(\n secretTokens\n .filter((t) => !!t.codeHash)\n .map(async (token) => {\n const result = (await getTokenBalance(\n client,\n {\n address: token.address,\n codeHash: token.codeHash ?? \"\",\n },\n permit\n )) as { balance: { amount: string } };\n\n return {\n ...token,\n balance: formatBNToReadable(\n BigInt(result.balance.amount),\n token?.decimals\n ),\n } as TokenWithBalance;\n })\n );\n\n // Use Stargate getBalance for SCRT\n const stargateClient = await StargateClient.connect(chainData.rpc);\n const nativeSecretToken = secretTokens.find((t) => t.address === \"uscrt\");\n\n const publicTokenBalance = await stargateClient.getBalance(\n userAddress,\n \"uscrt\"\n );\n\n const publicTokenWithBalance = {\n ...nativeSecretToken,\n balance: formatBNToReadable(\n BigInt(publicTokenBalance.amount),\n nativeSecretToken?.decimals ?? 18\n ),\n } as TokenWithBalance;\n\n return [...privateTokens, publicTokenWithBalance];\n};\n"],"names":["CHAIN_IDS","SecretNetworkClient","formatBNToReadable","StargateClient"],"mappings":"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"}
1
+ {"version":3,"file":"secretService-xh6N3W9l.js","sources":["../src/services/external/secretService.ts"],"sourcesContent":["import type { ChainData, CosmosChain, Token } from \"@0xsquid/squid-types\";\nimport { StargateClient } from \"@cosmjs/stargate\";\nimport type { Keplr } from \"@keplr-wallet/types\";\nimport { SecretNetworkClient } from \"secretjs\";\nimport { CHAIN_IDS } from \"../../core/constants\";\nimport type { TokenWithBalance } from \"../../core/types/tokens\";\nimport type { TypedWindow } from \"../../core/types/wallet\";\nimport { formatBNToReadable } from \"../internal/numberService\";\n\n/**\n * Fetch secret network token balance\n * Using the permit signature, see permit function for more details\n * @param secretJS\n * @param contract\n * @param chainId\n * @param walletAddress\n * @param permit\n * @returns\n */\nexport const getTokenBalance = async (\n secretJS: SecretNetworkClient,\n contract: { address: string; codeHash: string },\n permit: any\n) => {\n if (permit) {\n const msg = {\n balance: {},\n };\n\n const result = await secretJS.query.compute.queryContract({\n contract_address: contract.address,\n code_hash: contract.codeHash,\n query: {\n with_permit: {\n query: msg,\n permit,\n },\n },\n });\n return result;\n }\n return -1;\n};\n\nexport const getPermit = async (\n chainId: string,\n contracts: any[],\n address: string\n) => {\n const contractsString = contracts.join(\"_\");\n const permKey = `perm_${chainId}_${contractsString}_${address}`;\n let permit: any;\n\n const permitStored = window.localStorage.getItem(permKey);\n if (permitStored) permit = JSON.parse(permitStored);\n\n // Not able to fetch permit signature from local storage,\n // Ask user to sign message\n if (!permit) {\n try {\n const result = await (window as TypedWindow).keplr.signAmino(\n chainId,\n address,\n {\n chain_id: chainId,\n account_number: \"0\",\n sequence: \"0\",\n fee: {\n amount: [{ denom: \"uscrt\", amount: \"0\" }],\n gas: \"1\",\n },\n msgs: [\n {\n type: \"query_permit\",\n value: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n permissions: [\"balance\"],\n },\n },\n ],\n memo: \"\",\n },\n {\n preferNoSetFee: true,\n preferNoSetMemo: true,\n }\n );\n permit = {\n params: {\n permit_name: \"secret-bridge-balance\",\n allowed_tokens: contracts,\n chain_id: chainId,\n permissions: [\"balance\"],\n },\n signature: result.signature,\n };\n window.localStorage.setItem(permKey, JSON.stringify(permit));\n } catch (err) {\n console.error(\"--- PERMIT ERROR ---\");\n console.error(err);\n }\n }\n return permit;\n};\n\n/**\n * Fetches the secret balance of the user\n * This has a different logic than the other balances because Secret network hides the balance of the user by design\n * So we need to fetch the balance in a different way\n */\nexport const fetchAllSecretBalances = async (\n chainData: ChainData,\n userAddress: string,\n secretTokens: (Token & { codeHash?: string })[],\n keplr?: Keplr\n): Promise<TokenWithBalance[]> => {\n if (!keplr) return [];\n // Enables app to utilize keplr's secret utilities\n await keplr.enable(CHAIN_IDS.SECRET);\n // Create a client that handles the query encryption\n const client = new SecretNetworkClient({\n url: (chainData as CosmosChain).rest,\n chainId: CHAIN_IDS.SECRET,\n wallet: keplr.getOfflineSignerOnlyAmino(CHAIN_IDS.SECRET),\n encryptionUtils: keplr.getEnigmaUtils(CHAIN_IDS.SECRET),\n walletAddress: userAddress,\n });\n\n // Get secret tokens\n\n const permit = await getPermit(\n CHAIN_IDS.SECRET,\n secretTokens.map((st) => st.address),\n userAddress\n );\n\n // Fetching all balances in parallel\n const privateTokens = await Promise.all(\n secretTokens\n .filter((t) => !!t.codeHash)\n .map(async (token) => {\n const result = (await getTokenBalance(\n client,\n {\n address: token.address,\n codeHash: token.codeHash ?? \"\",\n },\n permit\n )) as { balance: { amount: string } };\n\n return {\n ...token,\n balance: formatBNToReadable(\n BigInt(result.balance.amount),\n token?.decimals\n ),\n } as TokenWithBalance;\n })\n );\n\n // Use Stargate getBalance for SCRT\n const stargateClient = await StargateClient.connect(chainData.rpc);\n const nativeSecretToken = secretTokens.find((t) => t.address === \"uscrt\");\n\n const publicTokenBalance = await stargateClient.getBalance(\n userAddress,\n \"uscrt\"\n );\n\n const publicTokenWithBalance = {\n ...nativeSecretToken,\n balance: formatBNToReadable(\n BigInt(publicTokenBalance.amount),\n nativeSecretToken?.decimals ?? 18\n ),\n } as TokenWithBalance;\n\n return [...privateTokens, publicTokenWithBalance];\n};\n"],"names":["CHAIN_IDS","SecretNetworkClient","formatBNToReadable","StargateClient"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var squidTypes = require('@0xsquid/squid-types');
4
4
  var stellarWalletsKit = require('@creit.tech/stellar-wallets-kit');
5
- var index = require('./index-BKqLCAGR.js');
5
+ var index = require('./index-CumomA_e.js');
6
6
  require('viem');
7
7
  require('react');
8
8
  require('@tanstack/react-query');
@@ -94,4 +94,4 @@ function formatStellarWallet(connector, isAvailable) {
94
94
  }
95
95
 
96
96
  exports.formatStellarWallet = formatStellarWallet;
97
- //# sourceMappingURL=stellarService.client-CoXSgyM8.js.map
97
+ //# sourceMappingURL=stellarService.client-Clze3MKI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stellarService.client-CoXSgyM8.js","sources":["../src/services/internal/stellarService.client.ts"],"sourcesContent":["import { ChainType } from \"@0xsquid/squid-types\";\nimport {\n ALBEDO_ID,\n FREIGHTER_ID,\n HANA_ID,\n HOTWALLET_ID,\n LOBSTR_ID,\n RABET_ID,\n XBULL_ID,\n} from \"@creit.tech/stellar-wallets-kit\";\nimport { StellarConnector } from \"../../core/types/stellar\";\nimport {\n ConnectorID,\n StellarWallet,\n WindowWalletFlag,\n} from \"../../core/types/wallet\";\nimport { walletIconBaseUrl } from \"../../core/wallets\";\nimport { definedInWindow } from \"./walletService\";\n\ntype WalletOverride = Partial<\n Pick<\n StellarWallet,\n \"icon\" | \"windowFlag\" | \"skipInstallCheck\" | \"isInstalled\" | \"connectorId\"\n >\n>;\n\nconst walletOverrides: Partial<Record<string, WalletOverride>> = {\n [ALBEDO_ID]: {\n icon: `${walletIconBaseUrl}/albedo.webp`,\n isInstalled: () => false,\n skipInstallCheck: true,\n connectorId: \"albedo\",\n },\n [HOTWALLET_ID]: {\n icon: `${walletIconBaseUrl}/hot.webp`,\n windowFlag: WindowWalletFlag.HotWallet,\n skipInstallCheck: true,\n connectorId: \"hotWallet\",\n },\n [RABET_ID]: {\n icon: `${walletIconBaseUrl}/rabet.webp`,\n },\n [XBULL_ID]: {\n icon: `${walletIconBaseUrl}/xbull.webp`,\n windowFlag: WindowWalletFlag.XBull,\n skipInstallCheck: true,\n connectorId: \"xBull\",\n },\n [FREIGHTER_ID]: {\n connectorId: \"freighter\",\n },\n [LOBSTR_ID]: {\n connectorId: \"lobstr\",\n },\n [HANA_ID]: {\n connectorId: \"hanaWallet\",\n },\n};\n\nexport function formatStellarWallet(\n connector: StellarConnector,\n isAvailable: boolean\n): StellarWallet {\n const { productName, productId, productIcon, productUrl } = connector;\n\n const overrides = walletOverrides[productId];\n const icon = overrides?.icon || productIcon;\n const connectorId = overrides?.connectorId || (productId as ConnectorID);\n\n return {\n connectorId,\n name: productName,\n connectorName: productName,\n type: ChainType.STELLAR,\n icon,\n windowFlag: productName as WindowWalletFlag,\n isMobile: false,\n isInstalled: overrides?.windowFlag\n ? () => definedInWindow(overrides.windowFlag, window)\n : overrides?.isInstalled || (() => isAvailable),\n skipInstallCheck: overrides?.skipInstallCheck,\n connector,\n url: productUrl,\n };\n}\n"],"names":["ALBEDO_ID","walletIconBaseUrl","HOTWALLET_ID","WindowWalletFlag","RABET_ID","XBULL_ID","FREIGHTER_ID","LOBSTR_ID","HANA_ID","ChainType","definedInWindow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,eAAe,GAA4C;IAC/D,CAACA,2BAAS,GAAG;QACX,IAAI,EAAE,CAAG,EAAAC,uBAAiB,CAAc,YAAA,CAAA;AACxC,QAAA,WAAW,EAAE,MAAM,KAAK;AACxB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,QAAQ;AACtB,KAAA;IACD,CAACC,8BAAY,GAAG;QACd,IAAI,EAAE,CAAG,EAAAD,uBAAiB,CAAW,SAAA,CAAA;QACrC,UAAU,EAAEE,sBAAgB,CAAC,SAAS;AACtC,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,WAAW;AACzB,KAAA;IACD,CAACC,0BAAQ,GAAG;QACV,IAAI,EAAE,CAAG,EAAAH,uBAAiB,CAAa,WAAA,CAAA;AACxC,KAAA;IACD,CAACI,0BAAQ,GAAG;QACV,IAAI,EAAE,CAAG,EAAAJ,uBAAiB,CAAa,WAAA,CAAA;QACvC,UAAU,EAAEE,sBAAgB,CAAC,KAAK;AAClC,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,OAAO;AACrB,KAAA;IACD,CAACG,8BAAY,GAAG;AACd,QAAA,WAAW,EAAE,WAAW;AACzB,KAAA;IACD,CAACC,2BAAS,GAAG;AACX,QAAA,WAAW,EAAE,QAAQ;AACtB,KAAA;IACD,CAACC,yBAAO,GAAG;AACT,QAAA,WAAW,EAAE,YAAY;AAC1B,KAAA;CACF;AAEe,SAAA,mBAAmB,CACjC,SAA2B,EAC3B,WAAoB,EAAA;IAEpB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS;AAErE,IAAA,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AAC5C,IAAA,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,WAAW;AAC3C,IAAA,MAAM,WAAW,GAAG,SAAS,EAAE,WAAW,IAAK,SAAyB;IAExE,OAAO;QACL,WAAW;AACX,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,aAAa,EAAE,WAAW;QAC1B,IAAI,EAAEC,oBAAS,CAAC,OAAO;QACvB,IAAI;AACJ,QAAA,UAAU,EAAE,WAA+B;AAC3C,QAAA,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,SAAS,EAAE;cACpB,MAAMC,qBAAe,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM;cAClD,SAAS,EAAE,WAAW,KAAK,MAAM,WAAW,CAAC;QACjD,gBAAgB,EAAE,SAAS,EAAE,gBAAgB;QAC7C,SAAS;AACT,QAAA,GAAG,EAAE,UAAU;KAChB;AACH;;;;"}
1
+ {"version":3,"file":"stellarService.client-Clze3MKI.js","sources":["../src/services/internal/stellarService.client.ts"],"sourcesContent":["import { ChainType } from \"@0xsquid/squid-types\";\nimport {\n ALBEDO_ID,\n FREIGHTER_ID,\n HANA_ID,\n HOTWALLET_ID,\n LOBSTR_ID,\n RABET_ID,\n XBULL_ID,\n} from \"@creit.tech/stellar-wallets-kit\";\nimport { StellarConnector } from \"../../core/types/stellar\";\nimport {\n ConnectorID,\n StellarWallet,\n WindowWalletFlag,\n} from \"../../core/types/wallet\";\nimport { walletIconBaseUrl } from \"../../core/wallets\";\nimport { definedInWindow } from \"./walletService\";\n\ntype WalletOverride = Partial<\n Pick<\n StellarWallet,\n \"icon\" | \"windowFlag\" | \"skipInstallCheck\" | \"isInstalled\" | \"connectorId\"\n >\n>;\n\nconst walletOverrides: Partial<Record<string, WalletOverride>> = {\n [ALBEDO_ID]: {\n icon: `${walletIconBaseUrl}/albedo.webp`,\n isInstalled: () => false,\n skipInstallCheck: true,\n connectorId: \"albedo\",\n },\n [HOTWALLET_ID]: {\n icon: `${walletIconBaseUrl}/hot.webp`,\n windowFlag: WindowWalletFlag.HotWallet,\n skipInstallCheck: true,\n connectorId: \"hotWallet\",\n },\n [RABET_ID]: {\n icon: `${walletIconBaseUrl}/rabet.webp`,\n },\n [XBULL_ID]: {\n icon: `${walletIconBaseUrl}/xbull.webp`,\n windowFlag: WindowWalletFlag.XBull,\n skipInstallCheck: true,\n connectorId: \"xBull\",\n },\n [FREIGHTER_ID]: {\n connectorId: \"freighter\",\n },\n [LOBSTR_ID]: {\n connectorId: \"lobstr\",\n },\n [HANA_ID]: {\n connectorId: \"hanaWallet\",\n },\n};\n\nexport function formatStellarWallet(\n connector: StellarConnector,\n isAvailable: boolean\n): StellarWallet {\n const { productName, productId, productIcon, productUrl } = connector;\n\n const overrides = walletOverrides[productId];\n const icon = overrides?.icon || productIcon;\n const connectorId = overrides?.connectorId || (productId as ConnectorID);\n\n return {\n connectorId,\n name: productName,\n connectorName: productName,\n type: ChainType.STELLAR,\n icon,\n windowFlag: productName as WindowWalletFlag,\n isMobile: false,\n isInstalled: overrides?.windowFlag\n ? () => definedInWindow(overrides.windowFlag, window)\n : overrides?.isInstalled || (() => isAvailable),\n skipInstallCheck: overrides?.skipInstallCheck,\n connector,\n url: productUrl,\n };\n}\n"],"names":["ALBEDO_ID","walletIconBaseUrl","HOTWALLET_ID","WindowWalletFlag","RABET_ID","XBULL_ID","FREIGHTER_ID","LOBSTR_ID","HANA_ID","ChainType","definedInWindow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,eAAe,GAA4C;IAC/D,CAACA,2BAAS,GAAG;QACX,IAAI,EAAE,CAAG,EAAAC,uBAAiB,CAAc,YAAA,CAAA;AACxC,QAAA,WAAW,EAAE,MAAM,KAAK;AACxB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,QAAQ;AACtB,KAAA;IACD,CAACC,8BAAY,GAAG;QACd,IAAI,EAAE,CAAG,EAAAD,uBAAiB,CAAW,SAAA,CAAA;QACrC,UAAU,EAAEE,sBAAgB,CAAC,SAAS;AACtC,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,WAAW;AACzB,KAAA;IACD,CAACC,0BAAQ,GAAG;QACV,IAAI,EAAE,CAAG,EAAAH,uBAAiB,CAAa,WAAA,CAAA;AACxC,KAAA;IACD,CAACI,0BAAQ,GAAG;QACV,IAAI,EAAE,CAAG,EAAAJ,uBAAiB,CAAa,WAAA,CAAA;QACvC,UAAU,EAAEE,sBAAgB,CAAC,KAAK;AAClC,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,OAAO;AACrB,KAAA;IACD,CAACG,8BAAY,GAAG;AACd,QAAA,WAAW,EAAE,WAAW;AACzB,KAAA;IACD,CAACC,2BAAS,GAAG;AACX,QAAA,WAAW,EAAE,QAAQ;AACtB,KAAA;IACD,CAACC,yBAAO,GAAG;AACT,QAAA,WAAW,EAAE,YAAY;AAC1B,KAAA;CACF;AAEe,SAAA,mBAAmB,CACjC,SAA2B,EAC3B,WAAoB,EAAA;IAEpB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS;AAErE,IAAA,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AAC5C,IAAA,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,WAAW;AAC3C,IAAA,MAAM,WAAW,GAAG,SAAS,EAAE,WAAW,IAAK,SAAyB;IAExE,OAAO;QACL,WAAW;AACX,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,aAAa,EAAE,WAAW;QAC1B,IAAI,EAAEC,oBAAS,CAAC,OAAO;QACvB,IAAI;AACJ,QAAA,UAAU,EAAE,WAA+B;AAC3C,QAAA,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,SAAS,EAAE;cACpB,MAAMC,qBAAe,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM;cAClD,SAAS,EAAE,WAAW,KAAK,MAAM,WAAW,CAAC;QACjD,gBAAgB,EAAE,SAAS,EAAE,gBAAgB;QAC7C,SAAS;AACT,QAAA,GAAG,EAAE,UAAU;KAChB;AACH;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { ChainType } from '@0xsquid/squid-types';
2
2
  import { HANA_ID, LOBSTR_ID, FREIGHTER_ID, XBULL_ID, RABET_ID, HOTWALLET_ID, ALBEDO_ID } from '@creit.tech/stellar-wallets-kit';
3
- import { W as WindowWalletFlag, w as walletIconBaseUrl, d as definedInWindow } from './index-XaN56jYV.js';
3
+ import { W as WindowWalletFlag, w as walletIconBaseUrl, d as definedInWindow } from './index-Dns9m27b.js';
4
4
  import 'viem';
5
5
  import 'react';
6
6
  import '@tanstack/react-query';
@@ -92,4 +92,4 @@ function formatStellarWallet(connector, isAvailable) {
92
92
  }
93
93
 
94
94
  export { formatStellarWallet };
95
- //# sourceMappingURL=stellarService.client-Bu_6QaBd.js.map
95
+ //# sourceMappingURL=stellarService.client-FQblggHS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stellarService.client-Bu_6QaBd.js","sources":["../src/services/internal/stellarService.client.ts"],"sourcesContent":["import { ChainType } from \"@0xsquid/squid-types\";\nimport {\n ALBEDO_ID,\n FREIGHTER_ID,\n HANA_ID,\n HOTWALLET_ID,\n LOBSTR_ID,\n RABET_ID,\n XBULL_ID,\n} from \"@creit.tech/stellar-wallets-kit\";\nimport { StellarConnector } from \"../../core/types/stellar\";\nimport {\n ConnectorID,\n StellarWallet,\n WindowWalletFlag,\n} from \"../../core/types/wallet\";\nimport { walletIconBaseUrl } from \"../../core/wallets\";\nimport { definedInWindow } from \"./walletService\";\n\ntype WalletOverride = Partial<\n Pick<\n StellarWallet,\n \"icon\" | \"windowFlag\" | \"skipInstallCheck\" | \"isInstalled\" | \"connectorId\"\n >\n>;\n\nconst walletOverrides: Partial<Record<string, WalletOverride>> = {\n [ALBEDO_ID]: {\n icon: `${walletIconBaseUrl}/albedo.webp`,\n isInstalled: () => false,\n skipInstallCheck: true,\n connectorId: \"albedo\",\n },\n [HOTWALLET_ID]: {\n icon: `${walletIconBaseUrl}/hot.webp`,\n windowFlag: WindowWalletFlag.HotWallet,\n skipInstallCheck: true,\n connectorId: \"hotWallet\",\n },\n [RABET_ID]: {\n icon: `${walletIconBaseUrl}/rabet.webp`,\n },\n [XBULL_ID]: {\n icon: `${walletIconBaseUrl}/xbull.webp`,\n windowFlag: WindowWalletFlag.XBull,\n skipInstallCheck: true,\n connectorId: \"xBull\",\n },\n [FREIGHTER_ID]: {\n connectorId: \"freighter\",\n },\n [LOBSTR_ID]: {\n connectorId: \"lobstr\",\n },\n [HANA_ID]: {\n connectorId: \"hanaWallet\",\n },\n};\n\nexport function formatStellarWallet(\n connector: StellarConnector,\n isAvailable: boolean\n): StellarWallet {\n const { productName, productId, productIcon, productUrl } = connector;\n\n const overrides = walletOverrides[productId];\n const icon = overrides?.icon || productIcon;\n const connectorId = overrides?.connectorId || (productId as ConnectorID);\n\n return {\n connectorId,\n name: productName,\n connectorName: productName,\n type: ChainType.STELLAR,\n icon,\n windowFlag: productName as WindowWalletFlag,\n isMobile: false,\n isInstalled: overrides?.windowFlag\n ? () => definedInWindow(overrides.windowFlag, window)\n : overrides?.isInstalled || (() => isAvailable),\n skipInstallCheck: overrides?.skipInstallCheck,\n connector,\n url: productUrl,\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,eAAe,GAA4C;IAC/D,CAAC,SAAS,GAAG;QACX,IAAI,EAAE,CAAG,EAAA,iBAAiB,CAAc,YAAA,CAAA;AACxC,QAAA,WAAW,EAAE,MAAM,KAAK;AACxB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,QAAQ;AACtB,KAAA;IACD,CAAC,YAAY,GAAG;QACd,IAAI,EAAE,CAAG,EAAA,iBAAiB,CAAW,SAAA,CAAA;QACrC,UAAU,EAAE,gBAAgB,CAAC,SAAS;AACtC,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,WAAW;AACzB,KAAA;IACD,CAAC,QAAQ,GAAG;QACV,IAAI,EAAE,CAAG,EAAA,iBAAiB,CAAa,WAAA,CAAA;AACxC,KAAA;IACD,CAAC,QAAQ,GAAG;QACV,IAAI,EAAE,CAAG,EAAA,iBAAiB,CAAa,WAAA,CAAA;QACvC,UAAU,EAAE,gBAAgB,CAAC,KAAK;AAClC,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,OAAO;AACrB,KAAA;IACD,CAAC,YAAY,GAAG;AACd,QAAA,WAAW,EAAE,WAAW;AACzB,KAAA;IACD,CAAC,SAAS,GAAG;AACX,QAAA,WAAW,EAAE,QAAQ;AACtB,KAAA;IACD,CAAC,OAAO,GAAG;AACT,QAAA,WAAW,EAAE,YAAY;AAC1B,KAAA;CACF;AAEe,SAAA,mBAAmB,CACjC,SAA2B,EAC3B,WAAoB,EAAA;IAEpB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS;AAErE,IAAA,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AAC5C,IAAA,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,WAAW;AAC3C,IAAA,MAAM,WAAW,GAAG,SAAS,EAAE,WAAW,IAAK,SAAyB;IAExE,OAAO;QACL,WAAW;AACX,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,aAAa,EAAE,WAAW;QAC1B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,IAAI;AACJ,QAAA,UAAU,EAAE,WAA+B;AAC3C,QAAA,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,SAAS,EAAE;cACpB,MAAM,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM;cAClD,SAAS,EAAE,WAAW,KAAK,MAAM,WAAW,CAAC;QACjD,gBAAgB,EAAE,SAAS,EAAE,gBAAgB;QAC7C,SAAS;AACT,QAAA,GAAG,EAAE,UAAU;KAChB;AACH;;;;"}
1
+ {"version":3,"file":"stellarService.client-FQblggHS.js","sources":["../src/services/internal/stellarService.client.ts"],"sourcesContent":["import { ChainType } from \"@0xsquid/squid-types\";\nimport {\n ALBEDO_ID,\n FREIGHTER_ID,\n HANA_ID,\n HOTWALLET_ID,\n LOBSTR_ID,\n RABET_ID,\n XBULL_ID,\n} from \"@creit.tech/stellar-wallets-kit\";\nimport { StellarConnector } from \"../../core/types/stellar\";\nimport {\n ConnectorID,\n StellarWallet,\n WindowWalletFlag,\n} from \"../../core/types/wallet\";\nimport { walletIconBaseUrl } from \"../../core/wallets\";\nimport { definedInWindow } from \"./walletService\";\n\ntype WalletOverride = Partial<\n Pick<\n StellarWallet,\n \"icon\" | \"windowFlag\" | \"skipInstallCheck\" | \"isInstalled\" | \"connectorId\"\n >\n>;\n\nconst walletOverrides: Partial<Record<string, WalletOverride>> = {\n [ALBEDO_ID]: {\n icon: `${walletIconBaseUrl}/albedo.webp`,\n isInstalled: () => false,\n skipInstallCheck: true,\n connectorId: \"albedo\",\n },\n [HOTWALLET_ID]: {\n icon: `${walletIconBaseUrl}/hot.webp`,\n windowFlag: WindowWalletFlag.HotWallet,\n skipInstallCheck: true,\n connectorId: \"hotWallet\",\n },\n [RABET_ID]: {\n icon: `${walletIconBaseUrl}/rabet.webp`,\n },\n [XBULL_ID]: {\n icon: `${walletIconBaseUrl}/xbull.webp`,\n windowFlag: WindowWalletFlag.XBull,\n skipInstallCheck: true,\n connectorId: \"xBull\",\n },\n [FREIGHTER_ID]: {\n connectorId: \"freighter\",\n },\n [LOBSTR_ID]: {\n connectorId: \"lobstr\",\n },\n [HANA_ID]: {\n connectorId: \"hanaWallet\",\n },\n};\n\nexport function formatStellarWallet(\n connector: StellarConnector,\n isAvailable: boolean\n): StellarWallet {\n const { productName, productId, productIcon, productUrl } = connector;\n\n const overrides = walletOverrides[productId];\n const icon = overrides?.icon || productIcon;\n const connectorId = overrides?.connectorId || (productId as ConnectorID);\n\n return {\n connectorId,\n name: productName,\n connectorName: productName,\n type: ChainType.STELLAR,\n icon,\n windowFlag: productName as WindowWalletFlag,\n isMobile: false,\n isInstalled: overrides?.windowFlag\n ? () => definedInWindow(overrides.windowFlag, window)\n : overrides?.isInstalled || (() => isAvailable),\n skipInstallCheck: overrides?.skipInstallCheck,\n connector,\n url: productUrl,\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,eAAe,GAA4C;IAC/D,CAAC,SAAS,GAAG;QACX,IAAI,EAAE,CAAG,EAAA,iBAAiB,CAAc,YAAA,CAAA;AACxC,QAAA,WAAW,EAAE,MAAM,KAAK;AACxB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,QAAQ;AACtB,KAAA;IACD,CAAC,YAAY,GAAG;QACd,IAAI,EAAE,CAAG,EAAA,iBAAiB,CAAW,SAAA,CAAA;QACrC,UAAU,EAAE,gBAAgB,CAAC,SAAS;AACtC,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,WAAW;AACzB,KAAA;IACD,CAAC,QAAQ,GAAG;QACV,IAAI,EAAE,CAAG,EAAA,iBAAiB,CAAa,WAAA,CAAA;AACxC,KAAA;IACD,CAAC,QAAQ,GAAG;QACV,IAAI,EAAE,CAAG,EAAA,iBAAiB,CAAa,WAAA,CAAA;QACvC,UAAU,EAAE,gBAAgB,CAAC,KAAK;AAClC,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,WAAW,EAAE,OAAO;AACrB,KAAA;IACD,CAAC,YAAY,GAAG;AACd,QAAA,WAAW,EAAE,WAAW;AACzB,KAAA;IACD,CAAC,SAAS,GAAG;AACX,QAAA,WAAW,EAAE,QAAQ;AACtB,KAAA;IACD,CAAC,OAAO,GAAG;AACT,QAAA,WAAW,EAAE,YAAY;AAC1B,KAAA;CACF;AAEe,SAAA,mBAAmB,CACjC,SAA2B,EAC3B,WAAoB,EAAA;IAEpB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS;AAErE,IAAA,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AAC5C,IAAA,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,WAAW;AAC3C,IAAA,MAAM,WAAW,GAAG,SAAS,EAAE,WAAW,IAAK,SAAyB;IAExE,OAAO;QACL,WAAW;AACX,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,aAAa,EAAE,WAAW;QAC1B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,IAAI;AACJ,QAAA,UAAU,EAAE,WAA+B;AAC3C,QAAA,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,SAAS,EAAE;cACpB,MAAM,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM;cAClD,SAAS,EAAE,WAAW,KAAK,MAAM,WAAW,CAAC;QACjD,gBAAgB,EAAE,SAAS,EAAE,gBAAgB;QAC7C,SAAS;AACT,QAAA,GAAG,EAAE,UAAU;KAChB;AACH;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsquid/react-hooks",
3
- "version": "8.1.0",
3
+ "version": "8.1.1",
4
4
  "description": "Squid hooks monorepo",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",