@0xsquid/react-hooks 8.7.0 → 8.7.2-beta-bitcoin-solana-xrpl.0

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.
Files changed (29) hide show
  1. package/dist/core/connectors/bitcoin/wallets/keplr.d.ts +3 -0
  2. package/dist/core/connectors/bitcoin/wallets/phantom.d.ts +3 -1
  3. package/dist/core/connectors/bitcoin/wallets/unisat.d.ts +3 -0
  4. package/dist/core/types/bitcoin.d.ts +3 -0
  5. package/dist/core/types/history.d.ts +1 -1
  6. package/dist/hooks/transaction/useExecuteTransaction.d.ts +1 -1
  7. package/dist/{index-CpHc3uRR.js → index-BOXqAr2r.js} +195 -150
  8. package/dist/index-BOXqAr2r.js.map +1 -0
  9. package/dist/{index-BOMoTOCH.js → index-CpphPhUS.js} +194 -149
  10. package/dist/index-CpphPhUS.js.map +1 -0
  11. package/dist/{index.es-Bx1b09ob.js → index.es-BOb7ZHW7.js} +2 -2
  12. package/dist/{index.es-Bx1b09ob.js.map → index.es-BOb7ZHW7.js.map} +1 -1
  13. package/dist/{index.es-DYEb3pTJ.js → index.es-DBsq8Frv.js} +2 -2
  14. package/dist/{index.es-DYEb3pTJ.js.map → index.es-DBsq8Frv.js.map} +1 -1
  15. package/dist/index.esm.js +1 -1
  16. package/dist/index.js +2 -2
  17. package/dist/{secretService-0Y9Bj_Ic.js → secretService-DN6Mr9e8.js} +2 -2
  18. package/dist/{secretService-0Y9Bj_Ic.js.map → secretService-DN6Mr9e8.js.map} +1 -1
  19. package/dist/{secretService-DnKMq9Ib.js → secretService-Dg30HRy1.js} +2 -2
  20. package/dist/{secretService-DnKMq9Ib.js.map → secretService-Dg30HRy1.js.map} +1 -1
  21. package/dist/services/internal/solanaService.d.ts +16 -9
  22. package/dist/services/internal/transactionService.d.ts +1 -2
  23. package/dist/{stellarService.client-B3kAxROD.js → stellarService.client-B9bDVrW_.js} +2 -2
  24. package/dist/{stellarService.client-B3kAxROD.js.map → stellarService.client-B9bDVrW_.js.map} +1 -1
  25. package/dist/{stellarService.client-Dyichswq.js → stellarService.client-CybwDtEp.js} +2 -2
  26. package/dist/{stellarService.client-Dyichswq.js.map → stellarService.client-CybwDtEp.js.map} +1 -1
  27. package/package.json +1 -1
  28. package/dist/index-BOMoTOCH.js.map +0 -1
  29. package/dist/index-CpHc3uRR.js.map +0 -1
@@ -8,4 +8,7 @@ export declare class KeplrConnector implements BitcoinConnector {
8
8
  requestAccount(): Promise<{
9
9
  address: string;
10
10
  }>;
11
+ signPsbt(_: string): Promise<{
12
+ txHash: string;
13
+ }>;
11
14
  }
@@ -22,6 +22,8 @@ export declare class PhantomConnector implements BitcoinConnector {
22
22
  sendBTC(to: string, amount: number): Promise<{
23
23
  txHash: string;
24
24
  }>;
25
- private signPsbt;
25
+ signPsbt(psbtHex: string): Promise<{
26
+ txHash: string;
27
+ }>;
26
28
  }
27
29
  export {};
@@ -11,5 +11,8 @@ export declare class UnisatConnector implements BitcoinConnector {
11
11
  requestAccount(): Promise<{
12
12
  address: string;
13
13
  }>;
14
+ signPsbt(_: string): Promise<{
15
+ txHash: string;
16
+ }>;
14
17
  }
15
18
  export {};
@@ -2,6 +2,9 @@ export interface BitcoinConnector {
2
2
  sendBTC(to: string, amount: number): Promise<{
3
3
  txHash: string;
4
4
  }>;
5
+ signPsbt(psbtHex: string): Promise<{
6
+ txHash: string;
7
+ }>;
5
8
  requestAccount(): Promise<{
6
9
  address: string;
7
10
  }>;
@@ -1,7 +1,7 @@
1
1
  import { ChainType, StatusResponse } from "@0xsquid/squid-types";
2
2
  import { OnRampTransactionStatusType } from "./onramps";
3
3
  import { SendTransactionStatus, SimplifiedRouteAction, TransactionStatus } from "./transaction";
4
- type SimplifiedStatusResponse = Pick<StatusResponse, "axelarTransactionUrl"> & {
4
+ type SimplifiedStatusResponse = Pick<StatusResponse, "axelarTransactionUrl" | "coralTransactionUrl"> & {
5
5
  toChain?: Pick<NonNullable<StatusResponse["toChain"]>, "transactionUrl"> | undefined;
6
6
  };
7
7
  export type SwapTransactionHistory = {
@@ -1,4 +1,4 @@
1
- import type { RouteResponse } from "@0xsquid/squid-types";
1
+ import { type RouteResponse } from "@0xsquid/squid-types";
2
2
  export declare const useExecuteTransaction: (squidRoute?: RouteResponse["route"]) => {
3
3
  executeSwap: () => Promise<void>;
4
4
  cancelSwap: () => void;
@@ -1,4 +1,4 @@
1
- import { ChainType, ActionType, SquidDataType, BridgeType, BridgeProvider, FeeType } from '@0xsquid/squid-types';
1
+ import { ChainType, ActionType, BridgeType, SquidDataType, BridgeProvider, FeeType } from '@0xsquid/squid-types';
2
2
  import { zeroAddress as zeroAddress$1, parseUnits, formatUnits, isAddress, SwitchChainError, UserRejectedRequestError, erc20Abi, getAddress, defineChain, encodeFunctionData } from 'viem';
3
3
  import React, { useMemo, useCallback, useState, useEffect, createContext, useContext, useRef } from 'react';
4
4
  import { useQuery, useMutation, useQueries, useQueryClient, QueryClient, QueryClientProvider } from '@tanstack/react-query';
@@ -4735,6 +4735,9 @@ class KeplrConnector {
4735
4735
  address: account,
4736
4736
  };
4737
4737
  }
4738
+ async signPsbt(_) {
4739
+ throw new Error("Method not implemented.");
4740
+ }
4738
4741
  }
4739
4742
 
4740
4743
  bitcoin.initEccLib(ecc);
@@ -4849,10 +4852,8 @@ class PhantomConnector {
4849
4852
  async sendBTC(to, amount) {
4850
4853
  const { address } = await this.requestAccount();
4851
4854
  const { psbtHex } = await createSendBtcPsbt(address, to, amount);
4852
- const { txId } = await this.signPsbt(psbtHex);
4853
- if (!txId)
4854
- throw new BitcoinConnectorTransactionFailedError();
4855
- return { txHash: txId };
4855
+ const { txHash } = await this.signPsbt(psbtHex);
4856
+ return { txHash };
4856
4857
  }
4857
4858
  async signPsbt(psbtHex) {
4858
4859
  const { address: paymentAddress } = await this.requestAccount();
@@ -4873,8 +4874,10 @@ class PhantomConnector {
4873
4874
  const signedPsbt = bitcoin.Psbt.fromBuffer(signedPsbtBytes);
4874
4875
  signedPsbt.finalizeAllInputs();
4875
4876
  const tx = signedPsbt.extractTransaction();
4876
- const txId = await broadcastTx(tx.toHex());
4877
- return { txId };
4877
+ const txHash = await broadcastTx(tx.toHex());
4878
+ if (!txHash)
4879
+ throw new BitcoinConnectorTransactionFailedError();
4880
+ return { txHash };
4878
4881
  }
4879
4882
  }
4880
4883
 
@@ -4903,6 +4906,9 @@ class UnisatConnector {
4903
4906
  address: account,
4904
4907
  };
4905
4908
  }
4909
+ async signPsbt(_) {
4910
+ throw new Error("Method not implemented.");
4911
+ }
4906
4912
  }
4907
4913
 
4908
4914
  var XrplTransactionType;
@@ -21053,6 +21059,7 @@ const formatSwapTxStatusResponseForStorage = (sr) => {
21053
21059
  }
21054
21060
  return {
21055
21061
  axelarTransactionUrl: sr.axelarTransactionUrl,
21062
+ coralTransactionUrl: sr.coralTransactionUrl,
21056
21063
  toChain: sr.toChain?.transactionUrl
21057
21064
  ? {
21058
21065
  transactionUrl: sr.toChain?.transactionUrl,
@@ -21112,10 +21119,6 @@ function isCoralBridgeAction(action) {
21112
21119
  function sleep(ms) {
21113
21120
  return new Promise((resolve) => setTimeout(resolve, ms));
21114
21121
  }
21115
- const isDepositRoute = (route) => {
21116
- return (!!route &&
21117
- route.transactionRequest?.type === SquidDataType.ChainflipDepositAddress);
21118
- };
21119
21122
  /**
21120
21123
  * Checks if the route contains a Chainflip bridge action
21121
21124
  */
@@ -21323,11 +21326,11 @@ const isSolanaAddressValid = (address) => {
21323
21326
  * Execute a Solana swap transaction
21324
21327
  * This will be used for the swap flow - Using Jupiter Dex under the hood
21325
21328
  */
21326
- const executeSolanaSwap = async ({ route, signer, connection, onSigned, }) => {
21327
- if (!route.transactionRequest || !isOnChainTxData(route.transactionRequest)) {
21328
- throw new Error("Invalid parameters");
21329
+ const executeSolanaSwap = async ({ transactionRequest, signer, connection, }) => {
21330
+ if (!isOnChainTxData(transactionRequest)) {
21331
+ throw new Error("Invalid transaction request");
21329
21332
  }
21330
- const swapRequest = route.transactionRequest.data;
21333
+ const swapRequest = transactionRequest.data;
21331
21334
  const swapTransactionBuf = Buffer.from(swapRequest, "base64");
21332
21335
  // TODO: fix types
21333
21336
  // const transaction = VersionedTransaction.deserialize(
@@ -21335,15 +21338,9 @@ const executeSolanaSwap = async ({ route, signer, connection, onSigned, }) => {
21335
21338
  // );
21336
21339
  const transaction = VersionedTransaction.deserialize(swapTransactionBuf);
21337
21340
  try {
21338
- const latestBlockhash = await connection.getLatestBlockhash();
21341
+ const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash();
21339
21342
  const signature = await signer.sendTransaction(transaction, connection);
21340
- onSigned?.(signature);
21341
- await connection.confirmTransaction({
21342
- signature,
21343
- blockhash: latestBlockhash.blockhash,
21344
- lastValidBlockHeight: latestBlockhash.lastValidBlockHeight,
21345
- });
21346
- return signature;
21343
+ return { signature, blockhash, lastValidBlockHeight };
21347
21344
  }
21348
21345
  catch (error) {
21349
21346
  console.error("Solana swap failed:", error);
@@ -21357,10 +21354,9 @@ const executeSolanaSwap = async ({ route, signer, connection, onSigned, }) => {
21357
21354
  * @param signer - Solana wallet adapter instance
21358
21355
  * @param connection - Solana RPC connection
21359
21356
  * @param sourceToken - Token information (undefined for native SOL)
21360
- * @param onSigned - Optional callback triggered when transaction is signed
21361
21357
  * @returns Transaction signature
21362
21358
  */
21363
- const executeSolanaTransfer = async ({ amount, target, signer, connection, sourceToken, onSigned, }) => {
21359
+ const executeSolanaTransfer = async ({ amount, target, signer, connection, sourceToken, }) => {
21364
21360
  // Validate signer and target address
21365
21361
  if (!signer.publicKey) {
21366
21362
  throw new Error("Signer public key not found");
@@ -21400,15 +21396,17 @@ const executeSolanaTransfer = async ({ amount, target, signer, connection, sourc
21400
21396
  transaction.recentBlockhash = blockhash;
21401
21397
  transaction.feePayer = signer.publicKey;
21402
21398
  const signature = await signer.sendTransaction(transaction, connection);
21403
- // Trigger callback for UI purposes (show loading state)
21404
- onSigned?.(signature);
21405
- // Wait for transaction confirmation
21406
- await connection.confirmTransaction({
21407
- signature,
21408
- blockhash,
21409
- lastValidBlockHeight,
21410
- });
21411
- return signature;
21399
+ return { signature, blockhash, lastValidBlockHeight };
21400
+ };
21401
+ const executeSolanaDepositAddressCalldata = async ({ transactionRequest, signer, connection, }) => {
21402
+ if (!isOnChainTxData(transactionRequest)) {
21403
+ throw new Error("Invalid transaction request");
21404
+ }
21405
+ const tx = Transaction.from(Buffer.from(transactionRequest.data, "base64"));
21406
+ const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash();
21407
+ tx.recentBlockhash = blockhash;
21408
+ const signature = await signer.sendTransaction(tx, connection);
21409
+ return { signature, blockhash, lastValidBlockHeight };
21412
21410
  };
21413
21411
 
21414
21412
  var StellarHorizonAssetType;
@@ -23293,7 +23291,7 @@ const filterViewableTokens = (tokens, config, direction) => {
23293
23291
  };
23294
23292
  const getSecretNetworkBalances = async (chainData, cosmosAddress, squidTokens, keplrTypeWallet) => {
23295
23293
  const squidSecretTokens = squidTokens.filter((t) => t.chainId === CHAIN_IDS.SECRET);
23296
- const { fetchAllSecretBalances } = await import('./secretService-DnKMq9Ib.js');
23294
+ const { fetchAllSecretBalances } = await import('./secretService-Dg30HRy1.js');
23297
23295
  return fetchAllSecretBalances(chainData, cosmosAddress, squidSecretTokens, keplrTypeWallet);
23298
23296
  };
23299
23297
  function getTokenAssetsKey(token) {
@@ -26691,7 +26689,7 @@ function useStellarWallets() {
26691
26689
  try {
26692
26690
  const { allowAllModules: initializeAllModules } = await import('@creit.tech/stellar-wallets-kit');
26693
26691
  const { LedgerModule } = await import('@creit.tech/stellar-wallets-kit/modules/ledger.module');
26694
- const { formatStellarWallet } = await import('./stellarService.client-B3kAxROD.js');
26692
+ const { formatStellarWallet } = await import('./stellarService.client-B9bDVrW_.js');
26695
26693
  const modules = [...initializeAllModules(), new LedgerModule()];
26696
26694
  const promises = modules.map(async (module) => {
26697
26695
  const isAvailable = await module.isAvailable();
@@ -29334,7 +29332,6 @@ function timeout(ms, promise) {
29334
29332
 
29335
29333
  const DEFAULT_REFRESH_INTERVAL_MS$1 = 15000;
29336
29334
  const useEvmBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS$1, }) => {
29337
- const { isChainTypeConnected } = useWallet();
29338
29335
  const isNativeToken = token?.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
29339
29336
  const userAddressParsed = userAddress;
29340
29337
  // Only fetch using useBalance if it's a native token
@@ -29347,7 +29344,7 @@ const useEvmBalance = ({ chain, token, userAddress, enabled = true, refreshInter
29347
29344
  isNativeToken &&
29348
29345
  !!chain &&
29349
29346
  chain.chainType === ChainType.EVM &&
29350
- isChainTypeConnected(chain.chainType),
29347
+ isWalletAddressValid(chain, userAddress),
29351
29348
  refetchInterval: refreshIntervalMs,
29352
29349
  retry: 2,
29353
29350
  },
@@ -29361,10 +29358,10 @@ const useEvmBalance = ({ chain, token, userAddress, enabled = true, refreshInter
29361
29358
  args: [userAddressParsed],
29362
29359
  chainId: Number(chain?.chainId),
29363
29360
  query: {
29364
- enabled: isChainTypeConnected(ChainType.EVM) &&
29365
- enabled &&
29361
+ enabled: enabled &&
29366
29362
  !!userAddress &&
29367
- !isNativeToken,
29363
+ !isNativeToken &&
29364
+ isWalletAddressValid(chain, userAddress),
29368
29365
  refetchInterval: refreshIntervalMs,
29369
29366
  retry: 2,
29370
29367
  },
@@ -29534,12 +29531,12 @@ function useNativeTokenForChain(chain) {
29534
29531
  }
29535
29532
 
29536
29533
  const useEvmNativeBalance = ({ address, chain, }) => {
29537
- const { isChainTypeConnected } = useWallet();
29538
29534
  const { data: nativeEvmBalance, isLoading } = useBalance({
29539
29535
  address: address,
29540
29536
  chainId: Number(chain?.chainId),
29541
29537
  query: {
29542
- enabled: isChainTypeConnected(ChainType.EVM) && !!address,
29538
+ enabled: chain?.chainType === ChainType.EVM &&
29539
+ isWalletAddressValid(chain, address),
29543
29540
  refetchInterval: 10000,
29544
29541
  staleTime: 5000,
29545
29542
  refetchOnWindowFocus: true,
@@ -29561,13 +29558,13 @@ const useEvmNativeBalance = ({ address, chain, }) => {
29561
29558
  };
29562
29559
  };
29563
29560
  const useCosmosNativeBalance = ({ address, chain, }) => {
29564
- const { isConnected: isCosmosConnected } = useCosmosContext();
29565
29561
  const { nativeToken: nativeCosmosToken } = useNativeTokenForChain(chain);
29566
29562
  const { balance: rawBalance, isLoading } = useCosmosBalance({
29567
29563
  chain,
29568
29564
  token: nativeCosmosToken,
29569
29565
  userAddress: address,
29570
- enabled: isCosmosConnected && chain?.chainType === ChainType.COSMOS,
29566
+ enabled: chain?.chainType === ChainType.COSMOS &&
29567
+ isWalletAddressValid(chain, address),
29571
29568
  refreshIntervalMs: 10000,
29572
29569
  });
29573
29570
  const balance = useMemo(() => {
@@ -29615,9 +29612,9 @@ const useSolanaNativeBalance = ({ chain, address, }) => {
29615
29612
  const balance = await getSolanaNativeBalance(address);
29616
29613
  return formatBNToReadable(balance, nativeToken.decimals);
29617
29614
  }, {
29618
- enabled: !!address &&
29619
- nativeToken?.decimals != null &&
29620
- chain?.chainType === ChainType.SOLANA,
29615
+ enabled: nativeToken?.decimals != null &&
29616
+ chain?.chainType === ChainType.SOLANA &&
29617
+ isWalletAddressValid(chain, address),
29621
29618
  refetchInterval: 40000,
29622
29619
  staleTime: 20000,
29623
29620
  refetchOnWindowFocus: true,
@@ -29642,6 +29639,8 @@ const useSuiNativeBalance = ({ address, chain, }) => {
29642
29639
  chain,
29643
29640
  token: nativeToken,
29644
29641
  userAddress: address,
29642
+ enabled: chain?.chainType === ChainType.SUI &&
29643
+ isWalletAddressValid(chain, address),
29645
29644
  });
29646
29645
  const balance = useMemo(() => {
29647
29646
  if (nativeToken?.decimals && rawBalance) {
@@ -29662,7 +29661,8 @@ const useXrplNativeBalance = ({ address, chain, }) => {
29662
29661
  chain,
29663
29662
  token: nativeToken,
29664
29663
  userAddress: address,
29665
- enabled: chain?.chainType === ChainType.XRPL,
29664
+ enabled: chain?.chainType === ChainType.XRPL &&
29665
+ isWalletAddressValid(chain, address),
29666
29666
  });
29667
29667
  const balance = useMemo(() => {
29668
29668
  if (nativeToken?.decimals && rawBalance) {
@@ -29683,7 +29683,8 @@ const useStellarNativeBalance = ({ address, chain, }) => {
29683
29683
  chain,
29684
29684
  token: nativeToken,
29685
29685
  userAddress: address,
29686
- enabled: chain?.chainType === ChainType.STELLAR,
29686
+ enabled: chain?.chainType === ChainType.STELLAR &&
29687
+ isWalletAddressValid(chain, address),
29687
29688
  });
29688
29689
  const balance = useMemo(() => {
29689
29690
  if (nativeToken?.decimals && rawBalance) {
@@ -30011,7 +30012,7 @@ function hederaWalletConnect(parameters) {
30011
30012
  const optionalChains = config.chains.map((x) => x.id);
30012
30013
  if (!optionalChains.length)
30013
30014
  return;
30014
- const { EthereumProvider } = await import('./index.es-DYEb3pTJ.js');
30015
+ const { EthereumProvider } = await import('./index.es-DBsq8Frv.js');
30015
30016
  const rawProvider = await EthereumProvider.init({
30016
30017
  ...restParameters,
30017
30018
  disableProviderPing: true,
@@ -31823,7 +31824,7 @@ async function sendTransactionCosmos({ amount, rpcUrl, signer, to, token, native
31823
31824
  }
31824
31825
  async function sendTransactionSolana({ signer, amount, to, token, connection, }) {
31825
31826
  const amountBn = BigInt(amount);
31826
- const txHash = await executeSolanaTransfer({
31827
+ const { signature: txHash } = await executeSolanaTransfer({
31827
31828
  amount: amountBn,
31828
31829
  connection,
31829
31830
  signer,
@@ -36147,7 +36148,7 @@ const useExecuteTransaction = (squidRoute) => {
36147
36148
  });
36148
36149
  const swapMutationSolana = useMutation(async ({ id, route }) => {
36149
36150
  try {
36150
- if (!route) {
36151
+ if (!route?.transactionRequest) {
36151
36152
  throw new Error("Route is required");
36152
36153
  }
36153
36154
  if (!solanaSigner) {
@@ -36156,69 +36157,69 @@ const useExecuteTransaction = (squidRoute) => {
36156
36157
  if (!route.params.fromAddress || !route.params.toAddress) {
36157
36158
  throw new Error("From or to address is required");
36158
36159
  }
36159
- const isDirectTransfer = isDepositRoute(route);
36160
- // Means it's a transfer to a deposit address
36161
- // Instead of a Swap/Contract call using a DEX like Jupiter
36162
- if (isDirectTransfer) {
36163
- // Get the deposit address from the squidRoute
36164
- const depositData = useDepositAddressStore.getState().deposit;
36165
- // Validate params
36166
- if (!depositData?.depositAddress) {
36167
- throw new Error("Deposit address is required");
36160
+ let txResult;
36161
+ let transactionIdForStatus;
36162
+ switch (route.transactionRequest.type) {
36163
+ case SquidDataType.ChainflipDepositAddress: {
36164
+ // Means it's a transfer to a deposit address
36165
+ // Instead of a Swap/Contract call using a DEX like Jupiter
36166
+ const depositData = useDepositAddressStore.getState().deposit;
36167
+ if (!depositData?.depositAddress) {
36168
+ throw new Error("Deposit address is required");
36169
+ }
36170
+ txResult = await executeSolanaTransfer({
36171
+ amount: BigInt(route.params.fromAmount),
36172
+ target: depositData.depositAddress,
36173
+ signer: solanaSigner,
36174
+ connection: solanaConnection,
36175
+ sourceToken: findToken(route.params.fromToken, route.params.fromChain),
36176
+ });
36177
+ transactionIdForStatus = depositData.chainflipStatusTrackingId;
36178
+ break;
36179
+ }
36180
+ case SquidDataType.OnChainExecution: {
36181
+ txResult = await executeSolanaSwap({
36182
+ transactionRequest: route.transactionRequest,
36183
+ signer: solanaSigner,
36184
+ connection: solanaConnection,
36185
+ });
36186
+ break;
36187
+ }
36188
+ case SquidDataType.DepositAddressCalldata: {
36189
+ txResult = await executeSolanaDepositAddressCalldata({
36190
+ transactionRequest: route.transactionRequest,
36191
+ signer: solanaSigner,
36192
+ connection: solanaConnection,
36193
+ });
36194
+ break;
36195
+ }
36196
+ default: {
36197
+ throw new Error(`Unhandled transaction type: ${route.transactionRequest.type}`);
36168
36198
  }
36169
- const signature = await executeSolanaTransfer({
36170
- amount: BigInt(route.params.fromAmount),
36171
- target: depositData.depositAddress,
36172
- signer: solanaSigner,
36173
- connection: solanaConnection,
36174
- sourceToken: findToken(route.params.fromToken, route?.params?.fromChain),
36175
- onSigned: (txHash) => {
36176
- WidgetEvents.getInstance().dispatchSwapExecuteCall(route, txHash);
36177
- const txParams = setTransactionState({
36178
- route,
36179
- txHash,
36180
- transactionIdForStatus: depositData.chainflipStatusTrackingId,
36181
- userAddress: sourceUserAddress,
36182
- status: TransactionStatus.INITIAL_LOADING,
36183
- sourceStatus: TransactionStatus.ONGOING,
36184
- id,
36185
- });
36186
- if (txParams) {
36187
- addSwapTransaction({
36188
- ...txParams,
36189
- params: route.params,
36190
- estimate: route.estimate,
36191
- });
36192
- }
36193
- },
36194
- });
36195
- return signature;
36196
36199
  }
36197
- const signature = await executeSolanaSwap({
36200
+ const { signature: txHash, blockhash, lastValidBlockHeight } = txResult;
36201
+ WidgetEvents.getInstance().dispatchSwapExecuteCall(route, txHash);
36202
+ const txParams = setTransactionState({
36198
36203
  route,
36199
- signer: solanaSigner,
36200
- connection: solanaConnection,
36201
- onSigned: (txHash) => {
36202
- WidgetEvents.getInstance().dispatchSwapExecuteCall(route, txHash);
36203
- const txParams = setTransactionState({
36204
- route,
36205
- txHash,
36206
- transactionIdForStatus: undefined,
36207
- userAddress: sourceUserAddress,
36208
- status: TransactionStatus.INITIAL_LOADING,
36209
- sourceStatus: TransactionStatus.ONGOING,
36210
- id,
36211
- });
36212
- if (txParams) {
36213
- addSwapTransaction({
36214
- ...txParams,
36215
- params: route.params,
36216
- estimate: route.estimate,
36217
- });
36218
- }
36219
- },
36204
+ txHash,
36205
+ userAddress: sourceUserAddress,
36206
+ status: TransactionStatus.INITIAL_LOADING,
36207
+ sourceStatus: TransactionStatus.ONGOING,
36208
+ id,
36209
+ transactionIdForStatus,
36210
+ });
36211
+ if (txParams) {
36212
+ addSwapTransaction({
36213
+ ...txParams,
36214
+ params: route.params,
36215
+ estimate: route.estimate,
36216
+ });
36217
+ }
36218
+ await solanaConnection.confirmTransaction({
36219
+ blockhash,
36220
+ lastValidBlockHeight,
36221
+ signature: txHash,
36220
36222
  });
36221
- return signature;
36222
36223
  }
36223
36224
  catch (error) {
36224
36225
  console.error("Solana transaction failed:", error);
@@ -36265,47 +36266,91 @@ const useExecuteTransaction = (squidRoute) => {
36265
36266
  },
36266
36267
  });
36267
36268
  const swapMutationBitcoin = useMutation(async ({ id, route }) => {
36268
- const { depositAddress, amount: sendAmount, chainflipStatusTrackingId, } = useDepositAddressStore.getState().deposit ?? {};
36269
- if (!depositAddress) {
36270
- throw new Error(`Invalid deposit address: ${depositAddress}`);
36271
- }
36272
- if (!sendAmount) {
36273
- throw new Error(`Invalid send amount: ${sendAmount}`);
36269
+ console.log("Validating route", {
36270
+ bitcoinSigner,
36271
+ route,
36272
+ });
36273
+ if (!bitcoinSigner || !route?.transactionRequest) {
36274
+ throw new Error("Need all parameters");
36274
36275
  }
36275
- const allParamsValid = route && bitcoinSigner && depositAddress && sendAmount;
36276
- await changeNetworkIfNeeded.mutateAsync();
36277
- if (allParamsValid) {
36278
- dispatchSignatureRequestEvent(route);
36279
- const { txHash } = await bitcoinSigner.sendBTC(depositAddress, Number(sendAmount));
36280
- if (txHash) {
36281
- resetQueriesAfterTxSigned();
36276
+ switch (route.transactionRequest.type) {
36277
+ case SquidDataType.ChainflipDepositAddress: {
36278
+ const { depositAddress, amount: sendAmount, chainflipStatusTrackingId, } = useDepositAddressStore.getState().deposit ?? {};
36279
+ const allParamsValid = route && bitcoinSigner && depositAddress && sendAmount;
36280
+ if (!allParamsValid) {
36281
+ throw new Error("Need all parameters");
36282
+ }
36283
+ await changeNetworkIfNeeded.mutateAsync();
36284
+ dispatchSignatureRequestEvent(route);
36285
+ const { txHash } = await bitcoinSigner.sendBTC(depositAddress, Number(sendAmount));
36286
+ if (txHash) {
36287
+ resetQueriesAfterTxSigned();
36288
+ }
36289
+ // Dispatch event so it can be listened from outside the widget
36290
+ WidgetEvents.getInstance().dispatchSwapExecuteCall(route, txHash);
36291
+ if (route.transactionRequest) {
36292
+ const txParams = setTransactionState({
36293
+ route,
36294
+ txHash,
36295
+ // When bridging from Bitcoin we need to send the chainflipId to the status endpoint
36296
+ // instead of the Bitcoin transaction hash
36297
+ transactionIdForStatus: chainflipStatusTrackingId,
36298
+ userAddress: sourceUserAddress,
36299
+ status: TransactionStatus.INITIAL_LOADING,
36300
+ sourceStatus: TransactionStatus.ONGOING,
36301
+ axelarUrl: undefined,
36302
+ id,
36303
+ });
36304
+ if (txParams) {
36305
+ addSwapTransaction({
36306
+ ...txParams,
36307
+ params: route.params,
36308
+ estimate: route.estimate,
36309
+ });
36310
+ }
36311
+ }
36312
+ break;
36282
36313
  }
36283
- // Dispatch event so it can be listened from outside the widget
36284
- WidgetEvents.getInstance().dispatchSwapExecuteCall(route, txHash);
36285
- if (route.transactionRequest) {
36286
- const txParams = setTransactionState({
36287
- route,
36288
- txHash,
36289
- // When bridging from Bitcoin we need to send the chainflipId to the status endpoint
36290
- // instead of the Bitcoin transaction hash
36291
- transactionIdForStatus: chainflipStatusTrackingId,
36292
- userAddress: sourceUserAddress,
36293
- status: TransactionStatus.INITIAL_LOADING,
36294
- sourceStatus: TransactionStatus.ONGOING,
36295
- axelarUrl: undefined,
36296
- id,
36297
- });
36298
- if (txParams) {
36299
- addSwapTransaction({
36300
- ...txParams,
36301
- params: route.params,
36302
- estimate: route.estimate,
36314
+ case SquidDataType.DepositAddressCalldata: {
36315
+ console.log(`Route type: ${route.transactionRequest?.type}`);
36316
+ if (!isOnChainTxData(route.transactionRequest)) {
36317
+ console.log("Invalid route data", route.transactionRequest);
36318
+ throw new Error("Invalid route data");
36319
+ }
36320
+ const { data: transactionHex } = route.transactionRequest;
36321
+ await changeNetworkIfNeeded.mutateAsync();
36322
+ dispatchSignatureRequestEvent(route);
36323
+ console.log("Signing psbt", { transactionHex });
36324
+ const { txHash } = await bitcoinSigner.signPsbt(transactionHex);
36325
+ console.log("Signed psbt", { txHash });
36326
+ if (txHash) {
36327
+ resetQueriesAfterTxSigned();
36328
+ }
36329
+ // Dispatch event so it can be listened from outside the widget
36330
+ WidgetEvents.getInstance().dispatchSwapExecuteCall(route, txHash);
36331
+ if (route.transactionRequest) {
36332
+ const txParams = setTransactionState({
36333
+ route,
36334
+ txHash,
36335
+ userAddress: sourceUserAddress,
36336
+ status: TransactionStatus.INITIAL_LOADING,
36337
+ sourceStatus: TransactionStatus.ONGOING,
36338
+ axelarUrl: undefined,
36339
+ id,
36303
36340
  });
36341
+ if (txParams) {
36342
+ addSwapTransaction({
36343
+ ...txParams,
36344
+ params: route.params,
36345
+ estimate: route.estimate,
36346
+ });
36347
+ }
36304
36348
  }
36349
+ break;
36350
+ }
36351
+ default: {
36352
+ throw new Error(`Unhandled route type ${route.transactionRequest.type}`);
36305
36353
  }
36306
- }
36307
- else {
36308
- throw new Error("Need all parameters");
36309
36354
  }
36310
36355
  });
36311
36356
  const swapMutationXrpl = useMutation(async ({ id, route }) => {
@@ -37452,5 +37497,5 @@ const SquidProvider = ({ children, config, placeholder, }) => {
37452
37497
  React.createElement(CosmosProvider, null, children)))))))))) : (placeholder);
37453
37498
  };
37454
37499
 
37455
- export { useDepositAddress as $, AxelarStatusResponseType as A, useHederaTokenAssociations as B, CHAIN_IDS as C, DEFAULT_LOCALE as D, useKeyboardNavigation as E, useSquidQueryClient as F, useSquid as G, HistoryTxType as H, useStellarAccountActivation as I, useStellarTrustLine as J, useAddressBookStore as K, useAssetsColorsStore as L, useFavoriteTokensStore as M, Nr as N, useHistoryStore as O, useSendTransactionStore as P, QueryKeys as Q, useConfigStore as R, SquidStatusErrorType as S, TransactionErrorType as T, useSquidStore as U, useSwapRoutePersistStore as V, Wo as W, XamanXrplNetwork as X, useTransactionStore as Y, ConnectingWalletStatus as Z, useWalletStore as _, WindowWalletFlag as a, useGetOnrampPaymentTypes as a$, useSwap as a0, buildUrlSearchParamsFromSwapEvent as a1, parseInitialAssetsFromUrl as a2, useUrlSwapParams as a3, useAllConnectedWalletBalances as a4, useAllTokensWithBalanceForChainType as a5, useCosmosBalance as a6, useEvmBalance as a7, useMultiChainBalance as a8, useMultipleTokenPrices as a9, useSwapTransactionStatus as aA, useAvatar as aB, useHistory as aC, useDebouncedValue as aD, useAddToken as aE, useAutoConnect as aF, useEnsDataForAddress as aG, useEnsSearch as aH, useGnosisContext as aI, useIsSameAddressAndGnosisContext as aJ, useIntegratorContext as aK, useMultiChainWallet as aL, useSigner as aM, useWallet as aN, useWallets as aO, useXrplTrustLine as aP, TX_STATUS_CONSTANTS as aQ, FINAL_TRANSACTION_STATUSES as aR, useGetFiatQuote as aS, useGetOnRampConfig as aT, useExecuteFiatQuote as aU, useFiatOnRampTxStatus as aV, useFiatTransactions as aW, useCurrencyDetails as aX, useCountryDetails as aY, useAvailableQuotes as aZ, useRecommendedQuote as a_, useBitcoinNativeBalance as aa, useCosmosNativeBalance as ab, useEvmNativeBalance as ac, useNativeBalance as ad, useSolanaNativeBalance as ae, useStellarNativeBalance as af, useSuiNativeBalance as ag, useXrplNativeBalance as ah, useNativeTokenForChain as ai, useSingleTokenPrice as aj, useSourceChainGasToken as ak, useSquidTokens as al, useHistoricalData as am, useTokensData as an, useEstimateSendTransaction as ao, useSendTransaction as ap, useSendTransactionGas as aq, useAllTransactionsStatus as ar, useApproval as as, useEstimate as at, useEstimatePriceImpact as au, useExecuteTransaction as av, useGetRoute as aw, useGetRouteWrapper as ax, useRouteWarnings as ay, useSendTransactionStatus as az, chainTypeToZeroAddressMap as b, filterWagmiConnector as b$, useSuggestedFiatAmounts as b0, SquidProvider as b1, EnsService as b2, getXummClient as b3, isXamanXAppContext as b4, getQueryHeaders as b5, getStatusCode as b6, is404Error as b7, assetsBaseUrl as b8, shareSubgraphId as b9, fetchHighestBalanceToken as bA, getInitialOrDefaultTokenAddressForChain as bB, getInitialTokenAddressForChain as bC, filterTokensForDestination as bD, getInitialChainIdFromConfig as bE, getCosmosKey as bF, getKeysSettled as bG, getAllKeysForSupportedCosmosChains as bH, isCosmosAddressValid as bI, getCosmosSigningClient as bJ, getCosmosChainInfosObject as bK, connectCosmosWallet as bL, isFallbackAddressNeeded as bM, suggestChainOrThrow as bN, normalizeError as bO, transactionErrorCode as bP, isUserRejectionError as bQ, getTransactionError as bR, handleTransactionErrorEvents as bS, isSwapRouteError as bT, isStatusError as bU, createQuoteRequestParamsHash as bV, WidgetEvents as bW, EvmNetworkNotSupportedErrorCode as bX, addEthereumChain as bY, parseEvmAddress as bZ, formatEvmWallet as b_, sortTokensBySharedSubgraphIds as ba, getSupportedChainIdsForDirection as bb, filterChains as bc, filterTokens as bd, getTokenImage as be, getNewSwapParamsFromInput as bf, sortAllTokens as bg, findToken as bh, findNativeToken as bi, normalizeIbcAddress as bj, groupTokensBySymbol as bk, groupTokensByChainId as bl, filterViewableTokens as bm, getSecretNetworkBalances as bn, getTokenAssetsKey as bo, fetchAssetsColors as bp, initializeSquidWithAssetsColors as bq, isEmptyObject as br, normalizeTokenSymbol as bs, areTokenSymbolsCompatible as bt, isEvmosChain as bu, resolveChainIdFromAsset as bv, getConfigWithDefaults as bw, randomIntFromInterval as bx, getTokensForChain as by, getFirstAvailableChainId as bz, chainTypeToNativeTokenAddressMap as c, isHistoryTransactionFailed as c$, waitForReceiptWithRetry as c0, getUserCountry as c1, getCountryData as c2, getCurrencyData as c3, adaptiveRound as c4, getSuggestedAmountsForCurrency as c5, HederaExtensionHelper as c6, convertHederaAccountIdToEvmAddress as c7, convertEvmAddressToHederaAccountId as c8, scaleHbarToWei as c9, isValidHorizonAsset as cA, formatTransactionHistoryDate as cB, getAxelarExplorerTxUrl as cC, getSourceExplorerTxUrl as cD, getMainExplorerUrl as cE, formatDistance as cF, formatSeconds as cG, formatSwapTxStatusResponseForStorage as cH, simplifyRouteAction as cI, fetchSwapTransactionStatus as cJ, compareTransactionIds as cK, isCoralBridgeAction as cL, sleep as cM, isDepositRoute as cN, isChainflipBridgeTransaction as cO, isOnChainTxData as cP, getHistoryTransactionId as cQ, getStepStatuses as cR, getHalfSuccessState as cS, getStepsInfos as cT, getSwapTxStatusRefetchInterval as cU, getSendTxStatusRefetchInterval as cV, chainflipMultihopBridgeType as cW, getBridgeType as cX, getTransactionStatus as cY, getTransactionEndStatus as cZ, isHistoryTransactionPending as c_, scaleWeiToHbar as ca, parseToBigInt as cb, roundNumericValue as cc, formatUnitsRounded as cd, formatTokenAmount as ce, formatUsdAmount as cf, trimExtraDecimals as cg, getNumericValue as ch, cleanAmount as ci, convertTokenAmountToUSD as cj, convertUSDToTokenAmount as ck, calculateTotal24hChange as cl, getRouteExpiry as cm, searchTokens as cn, filterSolanaWallets as co, isSolanaAddressValid as cp, executeSolanaSwap as cq, executeSolanaTransfer as cr, isStellarAddressValid as cs, getStellarNetwork as ct, stellarAddressToScVal as cu, getStellarTrustLineAsset as cv, isStellarToken as cw, isStellarIssuedToken as cx, getStellarHorizonApiUrl as cy, isValidIssuedAsset as cz, definedInWindow as d, isHistoryTransactionWarning as d0, isHistoryTransactionEnded as d1, formatHash as d2, isWalletAddressValid as d3, redirectToExtensionsStore as d4, accessProperty as d5, populateWallets as d6, getDefaultChain as d7, sortWallets as d8, areSameAddress as d9, sortAddressBook as da, calculateTotalUsdBalanceUSD as db, addTokenToWallet as dc, isEvmChainNotSupportedError as dd, getWalletSupportedChainTypes as de, getConnectorForChainType as df, walletSupportsChainType as dg, connectWallet as dh, cancelConnectWallet as di, isProblematicConnector as dj, mergeWallets as dk, isXionSmartContractAddress as dl, isXrplAddressValid as dm, buildXrplTrustSetTx as dn, getXrplNetwork as dp, parseXrplPaymentTx as dq, parseXrplTokenAddress as dr, er as e, formatBNToReadable as f, DEFAULT_ROUTE_REFETCH_INTERVAL as g, destinationAddressResetValue as h, fallbackAddressResetValue as i, nativeCosmosTokenAddress as j, nativeEvmTokenAddress as k, nativeSolanaTokenAddress as l, nativeStellarTokenAddress as m, nativeBitcoinTokenAddress as n, nativeSuiTokenAddress as o, nativeXrplTokenAddress as p, CosmosProvider as q, SendTransactionStatus as r, TransactionStatus as s, useTrackSearchEmpty as t, useCosmosContext as u, useSquidChains as v, walletIconBaseUrl as w, useClient as x, useCosmosForChain as y, useHederaAccountActivation as z };
37456
- //# sourceMappingURL=index-CpHc3uRR.js.map
37500
+ export { useDepositAddress as $, AxelarStatusResponseType as A, useHederaTokenAssociations as B, CHAIN_IDS as C, DEFAULT_LOCALE as D, useKeyboardNavigation as E, useSquidQueryClient as F, useSquid as G, HistoryTxType as H, useStellarAccountActivation as I, useStellarTrustLine as J, useAddressBookStore as K, useAssetsColorsStore as L, useFavoriteTokensStore as M, Nr as N, useHistoryStore as O, useSendTransactionStore as P, QueryKeys as Q, useConfigStore as R, SquidStatusErrorType as S, TransactionErrorType as T, useSquidStore as U, useSwapRoutePersistStore as V, Wo as W, XamanXrplNetwork as X, useTransactionStore as Y, ConnectingWalletStatus as Z, useWalletStore as _, WindowWalletFlag as a, useGetOnrampPaymentTypes as a$, useSwap as a0, buildUrlSearchParamsFromSwapEvent as a1, parseInitialAssetsFromUrl as a2, useUrlSwapParams as a3, useAllConnectedWalletBalances as a4, useAllTokensWithBalanceForChainType as a5, useCosmosBalance as a6, useEvmBalance as a7, useMultiChainBalance as a8, useMultipleTokenPrices as a9, useSwapTransactionStatus as aA, useAvatar as aB, useHistory as aC, useDebouncedValue as aD, useAddToken as aE, useAutoConnect as aF, useEnsDataForAddress as aG, useEnsSearch as aH, useGnosisContext as aI, useIsSameAddressAndGnosisContext as aJ, useIntegratorContext as aK, useMultiChainWallet as aL, useSigner as aM, useWallet as aN, useWallets as aO, useXrplTrustLine as aP, TX_STATUS_CONSTANTS as aQ, FINAL_TRANSACTION_STATUSES as aR, useGetFiatQuote as aS, useGetOnRampConfig as aT, useExecuteFiatQuote as aU, useFiatOnRampTxStatus as aV, useFiatTransactions as aW, useCurrencyDetails as aX, useCountryDetails as aY, useAvailableQuotes as aZ, useRecommendedQuote as a_, useBitcoinNativeBalance as aa, useCosmosNativeBalance as ab, useEvmNativeBalance as ac, useNativeBalance as ad, useSolanaNativeBalance as ae, useStellarNativeBalance as af, useSuiNativeBalance as ag, useXrplNativeBalance as ah, useNativeTokenForChain as ai, useSingleTokenPrice as aj, useSourceChainGasToken as ak, useSquidTokens as al, useHistoricalData as am, useTokensData as an, useEstimateSendTransaction as ao, useSendTransaction as ap, useSendTransactionGas as aq, useAllTransactionsStatus as ar, useApproval as as, useEstimate as at, useEstimatePriceImpact as au, useExecuteTransaction as av, useGetRoute as aw, useGetRouteWrapper as ax, useRouteWarnings as ay, useSendTransactionStatus as az, chainTypeToZeroAddressMap as b, filterWagmiConnector as b$, useSuggestedFiatAmounts as b0, SquidProvider as b1, EnsService as b2, getXummClient as b3, isXamanXAppContext as b4, getQueryHeaders as b5, getStatusCode as b6, is404Error as b7, assetsBaseUrl as b8, shareSubgraphId as b9, fetchHighestBalanceToken as bA, getInitialOrDefaultTokenAddressForChain as bB, getInitialTokenAddressForChain as bC, filterTokensForDestination as bD, getInitialChainIdFromConfig as bE, getCosmosKey as bF, getKeysSettled as bG, getAllKeysForSupportedCosmosChains as bH, isCosmosAddressValid as bI, getCosmosSigningClient as bJ, getCosmosChainInfosObject as bK, connectCosmosWallet as bL, isFallbackAddressNeeded as bM, suggestChainOrThrow as bN, normalizeError as bO, transactionErrorCode as bP, isUserRejectionError as bQ, getTransactionError as bR, handleTransactionErrorEvents as bS, isSwapRouteError as bT, isStatusError as bU, createQuoteRequestParamsHash as bV, WidgetEvents as bW, EvmNetworkNotSupportedErrorCode as bX, addEthereumChain as bY, parseEvmAddress as bZ, formatEvmWallet as b_, sortTokensBySharedSubgraphIds as ba, getSupportedChainIdsForDirection as bb, filterChains as bc, filterTokens as bd, getTokenImage as be, getNewSwapParamsFromInput as bf, sortAllTokens as bg, findToken as bh, findNativeToken as bi, normalizeIbcAddress as bj, groupTokensBySymbol as bk, groupTokensByChainId as bl, filterViewableTokens as bm, getSecretNetworkBalances as bn, getTokenAssetsKey as bo, fetchAssetsColors as bp, initializeSquidWithAssetsColors as bq, isEmptyObject as br, normalizeTokenSymbol as bs, areTokenSymbolsCompatible as bt, isEvmosChain as bu, resolveChainIdFromAsset as bv, getConfigWithDefaults as bw, randomIntFromInterval as bx, getTokensForChain as by, getFirstAvailableChainId as bz, chainTypeToNativeTokenAddressMap as c, isHistoryTransactionFailed as c$, waitForReceiptWithRetry as c0, getUserCountry as c1, getCountryData as c2, getCurrencyData as c3, adaptiveRound as c4, getSuggestedAmountsForCurrency as c5, HederaExtensionHelper as c6, convertHederaAccountIdToEvmAddress as c7, convertEvmAddressToHederaAccountId as c8, scaleHbarToWei as c9, isValidIssuedAsset as cA, isValidHorizonAsset as cB, formatTransactionHistoryDate as cC, getAxelarExplorerTxUrl as cD, getSourceExplorerTxUrl as cE, getMainExplorerUrl as cF, formatDistance as cG, formatSeconds as cH, formatSwapTxStatusResponseForStorage as cI, simplifyRouteAction as cJ, fetchSwapTransactionStatus as cK, compareTransactionIds as cL, isCoralBridgeAction as cM, sleep as cN, isChainflipBridgeTransaction as cO, isOnChainTxData as cP, getHistoryTransactionId as cQ, getStepStatuses as cR, getHalfSuccessState as cS, getStepsInfos as cT, getSwapTxStatusRefetchInterval as cU, getSendTxStatusRefetchInterval as cV, chainflipMultihopBridgeType as cW, getBridgeType as cX, getTransactionStatus as cY, getTransactionEndStatus as cZ, isHistoryTransactionPending as c_, scaleWeiToHbar as ca, parseToBigInt as cb, roundNumericValue as cc, formatUnitsRounded as cd, formatTokenAmount as ce, formatUsdAmount as cf, trimExtraDecimals as cg, getNumericValue as ch, cleanAmount as ci, convertTokenAmountToUSD as cj, convertUSDToTokenAmount as ck, calculateTotal24hChange as cl, getRouteExpiry as cm, searchTokens as cn, filterSolanaWallets as co, isSolanaAddressValid as cp, executeSolanaSwap as cq, executeSolanaTransfer as cr, executeSolanaDepositAddressCalldata as cs, isStellarAddressValid as ct, getStellarNetwork as cu, stellarAddressToScVal as cv, getStellarTrustLineAsset as cw, isStellarToken as cx, isStellarIssuedToken as cy, getStellarHorizonApiUrl as cz, definedInWindow as d, isHistoryTransactionWarning as d0, isHistoryTransactionEnded as d1, formatHash as d2, isWalletAddressValid as d3, redirectToExtensionsStore as d4, accessProperty as d5, populateWallets as d6, getDefaultChain as d7, sortWallets as d8, areSameAddress as d9, sortAddressBook as da, calculateTotalUsdBalanceUSD as db, addTokenToWallet as dc, isEvmChainNotSupportedError as dd, getWalletSupportedChainTypes as de, getConnectorForChainType as df, walletSupportsChainType as dg, connectWallet as dh, cancelConnectWallet as di, isProblematicConnector as dj, mergeWallets as dk, isXionSmartContractAddress as dl, isXrplAddressValid as dm, buildXrplTrustSetTx as dn, getXrplNetwork as dp, parseXrplPaymentTx as dq, parseXrplTokenAddress as dr, er as e, formatBNToReadable as f, DEFAULT_ROUTE_REFETCH_INTERVAL as g, destinationAddressResetValue as h, fallbackAddressResetValue as i, nativeCosmosTokenAddress as j, nativeEvmTokenAddress as k, nativeSolanaTokenAddress as l, nativeStellarTokenAddress as m, nativeBitcoinTokenAddress as n, nativeSuiTokenAddress as o, nativeXrplTokenAddress as p, CosmosProvider as q, SendTransactionStatus as r, TransactionStatus as s, useTrackSearchEmpty as t, useCosmosContext as u, useSquidChains as v, walletIconBaseUrl as w, useClient as x, useCosmosForChain as y, useHederaAccountActivation as z };
37501
+ //# sourceMappingURL=index-BOXqAr2r.js.map