@tuwaio/nova-connect 1.0.0-fix-indep-alpha.9.1d01946 → 1.0.0-fix-indep-alpha.10.b9c2592
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/{ToastError-C3LvnSma.d.cts → ToastError-BF4F8oo-.d.cts} +6 -12
- package/dist/{ToastError-CVhCoryf.d.ts → ToastError-Bw3Amqzv.d.ts} +6 -12
- package/dist/chunk-H2RLZRJ4.js +2 -0
- package/dist/chunk-H2RLZRJ4.js.map +1 -0
- package/dist/chunk-NHKYALBZ.cjs +6 -0
- package/dist/chunk-NHKYALBZ.cjs.map +1 -0
- package/dist/chunk-QGCEN6MP.js +2 -0
- package/dist/chunk-QGCEN6MP.js.map +1 -0
- package/dist/chunk-RARO6QP2.js +6 -0
- package/dist/chunk-RARO6QP2.js.map +1 -0
- package/dist/chunk-WSHZWOWS.cjs +2 -0
- package/dist/chunk-WSHZWOWS.cjs.map +1 -0
- package/dist/chunk-YIZJUEA3.cjs +2 -0
- package/dist/chunk-YIZJUEA3.cjs.map +1 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.cts +2 -3
- package/dist/components/index.d.ts +2 -3
- package/dist/components/index.js +1 -1
- package/dist/evm/index.cjs +1 -1
- package/dist/evm/index.cjs.map +1 -1
- package/dist/evm/index.d.cts +3 -25
- package/dist/evm/index.d.ts +3 -25
- package/dist/evm/index.js +1 -1
- package/dist/evm/index.js.map +1 -1
- package/dist/evm-4RL5ZQMP.cjs +2 -0
- package/dist/evm-4RL5ZQMP.cjs.map +1 -0
- package/dist/evm-BHPO7QCV.js +2 -0
- package/dist/evm-BHPO7QCV.js.map +1 -0
- package/dist/{getChainsListByConnectorType-TP2GS4LA.js → getChainsListByConnectorType-B3BLNZZH.js} +2 -2
- package/dist/{getChainsListByConnectorType-TP2GS4LA.js.map → getChainsListByConnectorType-B3BLNZZH.js.map} +1 -1
- package/dist/getChainsListByConnectorType-BXIDPPGC.cjs +2 -0
- package/dist/{getChainsListByConnectorType-LXHMQP2F.cjs.map → getChainsListByConnectorType-BXIDPPGC.cjs.map} +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -25
- package/dist/index.d.ts +8 -25
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/solana/index.cjs +1 -1
- package/dist/solana/index.cjs.map +1 -1
- package/dist/solana/index.d.cts +1 -27
- package/dist/solana/index.d.ts +1 -27
- package/dist/solana/index.js +1 -1
- package/dist/solana/index.js.map +1 -1
- package/dist/solana-6OCXX47U.js +2 -0
- package/dist/solana-6OCXX47U.js.map +1 -0
- package/dist/solana-CQFZWAY7.cjs +2 -0
- package/dist/solana-CQFZWAY7.cjs.map +1 -0
- package/dist/{useWalletNativeBalance-Cv8QQLQv.d.ts → useWalletNativeBalance-B4hY45fG.d.ts} +40 -2
- package/dist/{useWalletNativeBalance-D49yGzRi.d.cts → useWalletNativeBalance-BvBbDXMS.d.cts} +40 -2
- package/package.json +14 -14
- package/dist/chunk-4GK7WPFO.cjs +0 -3
- package/dist/chunk-4GK7WPFO.cjs.map +0 -1
- package/dist/chunk-4WDAZUTQ.js +0 -2
- package/dist/chunk-4WDAZUTQ.js.map +0 -1
- package/dist/chunk-5IDUDP5Y.js +0 -3
- package/dist/chunk-5IDUDP5Y.js.map +0 -1
- package/dist/chunk-L7YY2MZS.cjs +0 -2
- package/dist/chunk-L7YY2MZS.cjs.map +0 -1
- package/dist/chunk-QSUO4QWD.js +0 -6
- package/dist/chunk-QSUO4QWD.js.map +0 -1
- package/dist/chunk-RZ4TMXW5.cjs +0 -6
- package/dist/chunk-RZ4TMXW5.cjs.map +0 -1
- package/dist/evm-3XUGTMPL.cjs +0 -2
- package/dist/evm-3XUGTMPL.cjs.map +0 -1
- package/dist/evm-5RQC7QOS.js +0 -2
- package/dist/evm-5RQC7QOS.js.map +0 -1
- package/dist/getChainsListByConnectorType-LXHMQP2F.cjs +0 -2
- package/dist/solana-H5F4APJH.cjs +0 -2
- package/dist/solana-H5F4APJH.cjs.map +0 -1
- package/dist/solana-TKICEEDG.js +0 -2
- package/dist/solana-TKICEEDG.js.map +0 -1
- package/dist/types-DGsiEwne.d.cts +0 -50
- package/dist/types-DGsiEwne.d.ts +0 -50
package/dist/index.d.cts
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import { OrbitAdapter, ConnectorType } from '@tuwaio/orbit-core';
|
|
1
|
+
import { OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
2
2
|
export { WalletNameAndAvatarData, useGetWalletNameAndAvatar, useWalletChainsList } from './hooks/index.cjs';
|
|
3
|
-
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, N as NovaConnectProviderType, b as NovaConnectProviderProps } from './useWalletNativeBalance-
|
|
4
|
-
export { L as LabelCategory, p as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, W as WalletBalance, o as createLabelsSubset, n as getLabelWithFallback, k as hasLabel, m as isDefaultLabels, e as useHasNovaConnectContext, l as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, q as useWalletNativeBalance } from './useWalletNativeBalance-
|
|
3
|
+
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, N as NovaConnectProviderType, b as NovaConnectProviderProps, I as InitialChains } from './useWalletNativeBalance-BvBbDXMS.cjs';
|
|
4
|
+
export { A as AllChainConfigs, L as LabelCategory, p as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, W as WalletBalance, o as createLabelsSubset, n as getLabelWithFallback, k as hasLabel, m as isDefaultLabels, e as useHasNovaConnectContext, l as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, q as useWalletNativeBalance } from './useWalletNativeBalance-BvBbDXMS.cjs';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
7
7
|
import { ToastContainer, toast, ToastPosition } from 'react-toastify';
|
|
8
|
-
import { at as ToastErrorCustomization, aJ as ConnectModalCustomization, u as ConnectedModalCustomization } from './ToastError-
|
|
9
|
-
export { aK as getNetworkIcon } from './ToastError-C3LvnSma.cjs';
|
|
8
|
+
import { at as ToastErrorCustomization, aJ as ConnectModalCustomization, u as ConnectedModalCustomization } from './ToastError-BF4F8oo-.cjs';
|
|
10
9
|
import { N as NovaConnectLabels } from './types-eao2UQcC.cjs';
|
|
11
10
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
12
|
-
import { I as InitialChains, C as ChainIdentifierArray } from './types-DGsiEwne.cjs';
|
|
13
|
-
export { A as AllChainConfigs } from './types-DGsiEwne.cjs';
|
|
14
11
|
import { Connector } from '@tuwaio/satellite-react';
|
|
15
12
|
import '@tuwaio/pulsar-core';
|
|
16
13
|
import '@tuwaio/nova-core';
|
|
@@ -708,7 +705,7 @@ interface ChainAdapter {
|
|
|
708
705
|
* // Returns: ['mainnet-beta', 'devnet']
|
|
709
706
|
* ```
|
|
710
707
|
*/
|
|
711
|
-
getChains(config: any, chains?: any):
|
|
708
|
+
getChains(config: any, chains?: any): (string | number)[];
|
|
712
709
|
/**
|
|
713
710
|
* Validates whether a chain identifier array conforms to this adapter's expected format.
|
|
714
711
|
*
|
|
@@ -748,7 +745,7 @@ interface ChainAdapter {
|
|
|
748
745
|
* // Might return: ['mainnet-beta', 'devnet', 'testnet', 'localnet']
|
|
749
746
|
* ```
|
|
750
747
|
*/
|
|
751
|
-
getAvailableClusters?():
|
|
748
|
+
getAvailableClusters?(): string[];
|
|
752
749
|
/**
|
|
753
750
|
* Validates whether a cluster name is valid for Solana.
|
|
754
751
|
*
|
|
@@ -766,7 +763,7 @@ interface ChainAdapter {
|
|
|
766
763
|
* const isInvalid = await solanaAdapter.isValidCluster?.('invalid-cluster'); // false
|
|
767
764
|
* ```
|
|
768
765
|
*/
|
|
769
|
-
isValidCluster?(cluster: string):
|
|
766
|
+
isValidCluster?(cluster: string): boolean;
|
|
770
767
|
}
|
|
771
768
|
/**
|
|
772
769
|
* Represents the current loading state of a blockchain adapter.
|
|
@@ -836,14 +833,6 @@ interface AdapterInfo {
|
|
|
836
833
|
error?: Error;
|
|
837
834
|
}
|
|
838
835
|
|
|
839
|
-
/**
|
|
840
|
-
* Universal address validation function that supports multiple blockchain formats
|
|
841
|
-
* @param value - Address string to validate
|
|
842
|
-
* @param type - Optional blockchain type to validate against ('evm' | 'solana' | 'auto')
|
|
843
|
-
* @returns boolean indicating if the address is valid
|
|
844
|
-
*/
|
|
845
|
-
declare function isAddress(value: string, type?: 'evm' | 'solana' | 'auto'): boolean;
|
|
846
|
-
|
|
847
836
|
/**
|
|
848
837
|
* Gets the appropriate chain ID for connecting based on the selected adapter.
|
|
849
838
|
* Returns the first available chain for the adapter, or a sensible default.
|
|
@@ -904,12 +893,6 @@ declare function getFilteredConnectors({ connectors, selectedAdapter, }: GetFilt
|
|
|
904
893
|
*/
|
|
905
894
|
declare function hasConnectorsForAdapter(connectors: Partial<Record<OrbitAdapter, Connector[]>>, adapter: OrbitAdapter): boolean;
|
|
906
895
|
|
|
907
|
-
declare const networksLinks: Partial<Record<OrbitAdapter, {
|
|
908
|
-
aboutNetwork: string;
|
|
909
|
-
choseWallet: string;
|
|
910
|
-
about: string;
|
|
911
|
-
}>>;
|
|
912
|
-
|
|
913
896
|
/**
|
|
914
897
|
* @fileoverview Central export hub for blockchain utility functions and types.
|
|
915
898
|
*
|
|
@@ -1162,4 +1145,4 @@ declare function initializeBlockchainSupport(): Promise<InitializationResult>;
|
|
|
1162
1145
|
*/
|
|
1163
1146
|
declare function isAdapterSupported(adapter: OrbitAdapter): Promise<boolean>;
|
|
1164
1147
|
|
|
1165
|
-
export { type AdapterInfo, type AdapterLoadStatus, type BlockchainUtilities, type BlockchainUtilityResult, ButtonTxStatus, type ChainAdapter,
|
|
1148
|
+
export { type AdapterInfo, type AdapterLoadStatus, type BlockchainUtilities, type BlockchainUtilityResult, ButtonTxStatus, type ChainAdapter, ConnectContentType, ConnectedContentType, ErrorsProvider, type ErrorsProviderCustomization, type ErrorsProviderProps, type GroupedConnector, InitialChains, type InitializationResult, NovaConnectLabelsProvider, NovaConnectProvider, type NovaConnectProviderCustomization, NovaConnectProviderProps, type NovaConnectProviderPropsWithCustomization, NovaConnectProviderType, getAdapterStatus, getAllAdaptersStatus, getAvailableChainIds, getAvailableSolanaClusters, getAvailableSolanaClusters$1 as getAvailableSolanaClustersAsync, getBlockchainUtilities, getChainsListByConnectorTypeSync as getChainsListByConnectorType, getChainsListByConnectorType as getChainsListByConnectorTypeAsync, getChainsListByConnectorTypeSync, getConnectChainId, getEvmUtils, getFilteredConnectors, getGroupedConnectors, getSolanaUtils, getWalletChains, hasAvailableConnectors, hasConnectorsForAdapter, initializeBlockchainSupport, isAdapterSupported, isEvmChainListSync as isEvmChainList, isEvmChainList as isEvmChainListAsync, isEvmChainListSync, isSolanaChainListSync as isSolanaChainList, isSolanaChainList as isSolanaChainListAsync, isSolanaChainListSync, isValidSolanaCluster, isValidSolanaCluster$1 as isValidSolanaClusterAsync, preloadChainAdapters };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import { OrbitAdapter, ConnectorType } from '@tuwaio/orbit-core';
|
|
1
|
+
import { OrbitAdapter, ConnectorType, ChainIdentifierArray } from '@tuwaio/orbit-core';
|
|
2
2
|
export { WalletNameAndAvatarData, useGetWalletNameAndAvatar, useWalletChainsList } from './hooks/index.js';
|
|
3
|
-
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, N as NovaConnectProviderType, b as NovaConnectProviderProps } from './useWalletNativeBalance-
|
|
4
|
-
export { L as LabelCategory, p as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, W as WalletBalance, o as createLabelsSubset, n as getLabelWithFallback, k as hasLabel, m as isDefaultLabels, e as useHasNovaConnectContext, l as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, q as useWalletNativeBalance } from './useWalletNativeBalance-
|
|
3
|
+
import { C as ConnectContentType, a as ConnectedContentType, B as ButtonTxStatus, N as NovaConnectProviderType, b as NovaConnectProviderProps, I as InitialChains } from './useWalletNativeBalance-B4hY45fG.js';
|
|
4
|
+
export { A as AllChainConfigs, L as LabelCategory, p as NativeBalanceResult, g as NovaConnectLabelsContext, d as NovaConnectProviderContext, c as NovaConnectProviderError, W as WalletBalance, o as createLabelsSubset, n as getLabelWithFallback, k as hasLabel, m as isDefaultLabels, e as useHasNovaConnectContext, l as useLabelsByCategory, u as useNovaConnect, i as useNovaConnectLabel, h as useNovaConnectLabels, j as useNovaConnectLabelsSubset, f as useNovaConnectOptional, q as useWalletNativeBalance } from './useWalletNativeBalance-B4hY45fG.js';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
|
|
7
7
|
import { ToastContainer, toast, ToastPosition } from 'react-toastify';
|
|
8
|
-
import { at as ToastErrorCustomization, aJ as ConnectModalCustomization, u as ConnectedModalCustomization } from './ToastError-
|
|
9
|
-
export { aK as getNetworkIcon } from './ToastError-CVhCoryf.js';
|
|
8
|
+
import { at as ToastErrorCustomization, aJ as ConnectModalCustomization, u as ConnectedModalCustomization } from './ToastError-Bw3Amqzv.js';
|
|
10
9
|
import { N as NovaConnectLabels } from './types-eao2UQcC.js';
|
|
11
10
|
import { BaseConnector } from '@tuwaio/satellite-core';
|
|
12
|
-
import { I as InitialChains, C as ChainIdentifierArray } from './types-DGsiEwne.js';
|
|
13
|
-
export { A as AllChainConfigs } from './types-DGsiEwne.js';
|
|
14
11
|
import { Connector } from '@tuwaio/satellite-react';
|
|
15
12
|
import '@tuwaio/pulsar-core';
|
|
16
13
|
import '@tuwaio/nova-core';
|
|
@@ -708,7 +705,7 @@ interface ChainAdapter {
|
|
|
708
705
|
* // Returns: ['mainnet-beta', 'devnet']
|
|
709
706
|
* ```
|
|
710
707
|
*/
|
|
711
|
-
getChains(config: any, chains?: any):
|
|
708
|
+
getChains(config: any, chains?: any): (string | number)[];
|
|
712
709
|
/**
|
|
713
710
|
* Validates whether a chain identifier array conforms to this adapter's expected format.
|
|
714
711
|
*
|
|
@@ -748,7 +745,7 @@ interface ChainAdapter {
|
|
|
748
745
|
* // Might return: ['mainnet-beta', 'devnet', 'testnet', 'localnet']
|
|
749
746
|
* ```
|
|
750
747
|
*/
|
|
751
|
-
getAvailableClusters?():
|
|
748
|
+
getAvailableClusters?(): string[];
|
|
752
749
|
/**
|
|
753
750
|
* Validates whether a cluster name is valid for Solana.
|
|
754
751
|
*
|
|
@@ -766,7 +763,7 @@ interface ChainAdapter {
|
|
|
766
763
|
* const isInvalid = await solanaAdapter.isValidCluster?.('invalid-cluster'); // false
|
|
767
764
|
* ```
|
|
768
765
|
*/
|
|
769
|
-
isValidCluster?(cluster: string):
|
|
766
|
+
isValidCluster?(cluster: string): boolean;
|
|
770
767
|
}
|
|
771
768
|
/**
|
|
772
769
|
* Represents the current loading state of a blockchain adapter.
|
|
@@ -836,14 +833,6 @@ interface AdapterInfo {
|
|
|
836
833
|
error?: Error;
|
|
837
834
|
}
|
|
838
835
|
|
|
839
|
-
/**
|
|
840
|
-
* Universal address validation function that supports multiple blockchain formats
|
|
841
|
-
* @param value - Address string to validate
|
|
842
|
-
* @param type - Optional blockchain type to validate against ('evm' | 'solana' | 'auto')
|
|
843
|
-
* @returns boolean indicating if the address is valid
|
|
844
|
-
*/
|
|
845
|
-
declare function isAddress(value: string, type?: 'evm' | 'solana' | 'auto'): boolean;
|
|
846
|
-
|
|
847
836
|
/**
|
|
848
837
|
* Gets the appropriate chain ID for connecting based on the selected adapter.
|
|
849
838
|
* Returns the first available chain for the adapter, or a sensible default.
|
|
@@ -904,12 +893,6 @@ declare function getFilteredConnectors({ connectors, selectedAdapter, }: GetFilt
|
|
|
904
893
|
*/
|
|
905
894
|
declare function hasConnectorsForAdapter(connectors: Partial<Record<OrbitAdapter, Connector[]>>, adapter: OrbitAdapter): boolean;
|
|
906
895
|
|
|
907
|
-
declare const networksLinks: Partial<Record<OrbitAdapter, {
|
|
908
|
-
aboutNetwork: string;
|
|
909
|
-
choseWallet: string;
|
|
910
|
-
about: string;
|
|
911
|
-
}>>;
|
|
912
|
-
|
|
913
896
|
/**
|
|
914
897
|
* @fileoverview Central export hub for blockchain utility functions and types.
|
|
915
898
|
*
|
|
@@ -1162,4 +1145,4 @@ declare function initializeBlockchainSupport(): Promise<InitializationResult>;
|
|
|
1162
1145
|
*/
|
|
1163
1146
|
declare function isAdapterSupported(adapter: OrbitAdapter): Promise<boolean>;
|
|
1164
1147
|
|
|
1165
|
-
export { type AdapterInfo, type AdapterLoadStatus, type BlockchainUtilities, type BlockchainUtilityResult, ButtonTxStatus, type ChainAdapter,
|
|
1148
|
+
export { type AdapterInfo, type AdapterLoadStatus, type BlockchainUtilities, type BlockchainUtilityResult, ButtonTxStatus, type ChainAdapter, ConnectContentType, ConnectedContentType, ErrorsProvider, type ErrorsProviderCustomization, type ErrorsProviderProps, type GroupedConnector, InitialChains, type InitializationResult, NovaConnectLabelsProvider, NovaConnectProvider, type NovaConnectProviderCustomization, NovaConnectProviderProps, type NovaConnectProviderPropsWithCustomization, NovaConnectProviderType, getAdapterStatus, getAllAdaptersStatus, getAvailableChainIds, getAvailableSolanaClusters, getAvailableSolanaClusters$1 as getAvailableSolanaClustersAsync, getBlockchainUtilities, getChainsListByConnectorTypeSync as getChainsListByConnectorType, getChainsListByConnectorType as getChainsListByConnectorTypeAsync, getChainsListByConnectorTypeSync, getConnectChainId, getEvmUtils, getFilteredConnectors, getGroupedConnectors, getSolanaUtils, getWalletChains, hasAvailableConnectors, hasConnectorsForAdapter, initializeBlockchainSupport, isAdapterSupported, isEvmChainListSync as isEvmChainList, isEvmChainList as isEvmChainListAsync, isEvmChainListSync, isSolanaChainListSync as isSolanaChainList, isSolanaChainList as isSolanaChainListAsync, isSolanaChainListSync, isValidSolanaCluster, isValidSolanaCluster$1 as isValidSolanaClusterAsync, preloadChainAdapters };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {A,v,z,s,C,y,B,r,D}from'./chunk-QSUO4QWD.js';import {d,h as h$1,u,q,p,x,g,c}from'./chunk-5IDUDP5Y.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,r as getAvailableChainIds,y as getAvailableSolanaClusters,q as getConnectChainId,u as getFilteredConnectors,s as getGroupedConnectors,n as getLabelWithFallback,w as getNetworkIcon,t as hasAvailableConnectors,v as hasConnectorsForAdapter,k as hasLabel,p as isAddress,m as isDefaultLabels,z as isValidSolanaCluster,x as networksLinks,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,A as useWalletChainsList,B as useWalletNativeBalance}from'./chunk-5IDUDP5Y.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByConnectorType,a as getChainsListByConnectorTypeAsync,b as getChainsListByConnectorTypeSync,i as getWalletChains,e as isEvmChainList,c as isEvmChainListAsync,e as isEvmChainListSync,f as isSolanaChainList,d as isSolanaChainListAsync,f as isSolanaChainListSync,h as isValidSolanaClusterAsync,j as preloadChainAdapters}from'./chunk-4WDAZUTQ.js';import {a}from'./chunk-3BMX6JWH.js';import {h,f}from'./chunk-WVALNTUP.js';import {waitFor,delay,formatConnectorName,getConnectorTypeFromName,impersonatedHelpers,OrbitAdapter}from'@tuwaio/orbit-core';import {cn,DialogHeader,DialogTitle,DialogClose,CloseIcon,standardButtonClasses,Dialog,DialogContent,ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {forwardRef,memo,useContext,useMemo,useEffect,useCallback,useRef,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {InformationCircleIcon}from'@heroicons/react/24/outline';import {motion}from'framer-motion';var fe=({title:o,rawError:t,onCopyComplete:r,errorType:n,isConnected:e,...l})=>jsx(D,{title:o,rawError:t,onCopyComplete:r,customization:l.customization}),ve=o=>{let t=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":t.somethingWentWrong})},ge=(o,t)=>{o(t.title,t.rawError,t.errorKey);},be=o=>{o();},ye=(o,t)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",t.substring(0,100));},Te=o=>o,Ee=o=>o;function Po({containerId:o="nova-connect-errors",position:t="top-center",autoClose:r=7e3,draggable:n=false,customization:e}){let l=h$1(),s=h(d=>d.switchNetworkError),x=h(d=>d.activeConnection),k=h(d=>d.connectionError),{ToastError:h$2=fe,Container:g=ve}=e?.components??{},{showError:u=ge,dismissError:O=be,onCopyComplete:H=ye}=e?.handlers??{},{errorTitle:T=Te,errorHash:P=Ee}=e??{},M=useRef(new Set),R=useRef(null),i=useMemo(()=>{let d=!!k,y=!!s,D=!!x?.isConnected;return {hasWalletError:d,hasSwitchError:y,isConnected:D,hasAnyError:d||y,primaryError:k||s||null,errorType:d?"wallet":y?"switch":null}},[k,s,x?.isConnected]),z=useMemo(()=>{switch(i.errorType){case "wallet":return l.connectionError;case "switch":return l.errorWhenChainSwitching;default:return l.somethingWentWrong}},[i.errorType,l]),p=useMemo(()=>T(z,{errorType:i.errorType}),[T,z,i.errorType]),I=useMemo(()=>i.primaryError?`${i.errorType}-${i.primaryError.substring(0,50)}`:null,[i.primaryError,i.errorType]),f=useMemo(()=>P(I,{primaryError:i.primaryError,errorType:i.errorType}),[P,I,i.primaryError,i.errorType]),E=useCallback(()=>{O(()=>{R.current&&(toast.dismiss(R.current),R.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((d,y)=>{H(d,y,i.errorType);},[H,i.errorType]),a=useCallback((d,y,D)=>{if(E(),!M.current.has(D))try{let V={containerId:o,toastId:D,onClose:()=>{M.current.delete(D),R.current=null;}},K=e?.toastOptions?.error?.({title:d,rawError:y,errorType:i.errorType,isConnected:i.isConnected}),J={...V,...K};toast.error(jsx(h$2,{title:d,rawError:y,errorType:i.errorType,isConnected:i.isConnected,onCopyComplete:Q=>F(Q,y),customization:e?.toastErrorCustomization}),J),M.current.add(D),R.current=D;}catch(V){console.error("Failed to show error toast:",V);}},[E,o,e?.toastOptions?.error,e?.toastErrorCustomization,h$2,i.errorType,i.isConnected,F]),v=useCallback((d,y,D)=>{u(a,{title:d,rawError:y,errorKey:D,errorType:i.errorType});},[a,u,i.errorType]);useEffect(()=>{let{hasAnyError:d,isConnected:y,primaryError:D}=i;if(y&&!d){E(),M.current.clear();return}if(d&&D&&f){if(y&&i.errorType!=="switch")return;v(p,D,f);}},[i,p,f,v,E]),useEffect(()=>()=>{E(),M.current.clear();},[E]);let b=useMemo(()=>e?.classNames?.container?e.classNames.container({hasErrors:i.hasAnyError,errorType:i.errorType}):"novacon:p-0 novacon:bg-transparent",[e,i.hasAnyError,i.errorType]),C=useMemo(()=>({containerId:o,position:t,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:n,pauseOnHover:true,theme:"light",transition:Bounce}),[o,t,r,n]),N=useMemo(()=>({...C,...e?.containerProps,className:b}),[C,e?.containerProps,b]);return jsx(g,{...N})}Po.displayName="ErrorsProvider";function No({labels:o,children:t}){let r=useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let e=["connectWallet","disconnect","connecting","connected","error","success"].filter(l=>!(l in o));e.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${e.join(", ")}`);}return jsx(g.Provider,{value:r,children:t})}No.displayName="NovaConnectLabelsProvider";function Ie(o,t){if(!o||!Array.isArray(o)||!t)return;let r=o.find(n=>n&&typeof n=="object"&&"name"in n&&typeof n.name=="string"?formatConnectorName(n.name)===t:false);if(r&&typeof r=="object"&&"name"in r&&typeof r.name=="string")return r.name}var Xo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("div",{ref:e,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...n,children:t}));Xo.displayName="DefaultModalContainer";var Yo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("div",{ref:e,className:o,...n,children:jsx(DialogHeader,{children:t})}));Yo.displayName="DefaultModalHeader";var Zo=forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsx("button",{ref:e,className:cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:t,...n,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Zo.displayName="DefaultInfoButton";var oe=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx(DialogTitle,{ref:e,className:cn("novacon:flex novacon:items-center",o),...n,children:t}));oe.displayName="DefaultTitle";var ee=forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:e,type:"button",onClick:t,className:cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...n,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));ee.displayName="DefaultCloseButton";var te=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("main",{ref:e,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...n,children:t}));te.displayName="DefaultMainContent";var ne=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("footer",{ref:e,className:cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...n,children:t}));ne.displayName="DefaultFooter";var re=forwardRef(({className:o,onClick:t,children:r,modalData:n,...e},l)=>jsx("button",{ref:l,type:"button",onClick:t,className:cn(standardButtonClasses,o),...e,children:r}));re.displayName="DefaultBackButton";var ae=forwardRef(({className:o,onClick:t,children:r,disabled:n,loading:e,buttonConfig:l,modalData:s,...x},k)=>jsx("button",{ref:k,type:"button",onClick:t,disabled:n||e,className:cn(standardButtonClasses,o),...x,children:e?"Loading...":r}));ae.displayName="DefaultActionButton";var se=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("span",{ref:e,className:cn("novacon:sr-only",o),...n,children:t}));se.displayName="DefaultActionDescription";var ie=forwardRef(({children:o,className:t,...r},n)=>{let{modalData:e,...l}=r;return jsx("div",{ref:n,className:t,...l,children:o})});ie.displayName="DefaultEmptyState";var wo=memo(({appChains:o,solanaRPCUrls:t,withImpersonated:r,customization:n={}})=>{let{isConnectModalOpen:e,setIsConnectModalOpen:l,setConnectModalContentType:s$1,setActiveConnector:x$1,setImpersonatedAddress:k,setIsConnected:h$2,connectModalContentType:g,selectedAdapter:u$1,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:P}=d(),M=h(m=>m.connectionError),R=h(m=>m.getConnectors),i=h(m=>m.connect),z$1=h(m=>m.activeConnection),p$1=h$1(),I=useContext(f),f$1=useMemo(()=>{if(e)return R()},[e,R]),E=useMemo(()=>u({connectors:f$1,selectedAdapter:u$1}),[f$1,u$1]),F=useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),a=useMemo(()=>({contentType:g,selectedAdapter:u$1,activeConnector:T,impersonatedAddress:P,isConnected:H,isOpen:e,error:F,connectors:f$1,filteredConnectors:E,labels:p$1}),[g,u$1,T,P,H,e,F,f$1,E,p$1]);useEffect(()=>{e&&(s$1("connectors"),O(void 0),x$1(void 0),k(""),h$2(false));},[e]);let{components:v$1={},classNames:b={},handlers:C$1={},config:N={},childComponents:d$1={}}=n,y$1=v$1.ModalContainer||Xo,D=v$1.ModalHeader||Yo,V=v$1.InfoButton||Zo,K=v$1.Title||oe,J=v$1.CloseButton||ee,Q=v$1.MainContent||te,X=v$1.Footer||ne,io=v$1.BackButton||re,Y=v$1.ActionButton||ae,lo=v$1.ActionDescription||se,G=v$1.EmptyState||ie,go=v$1.Dialog||Dialog,co=v$1.DialogContent||DialogContent,to=v$1.MotionDiv||motion.div,no=useCallback(()=>{switch(g){case "about":return p$1.aboutWallets;case "getWallet":return p$1.getWallet;case "connecting":return u$1&&T&&f$1&&Ie(f$1[u$1],T)||p$1.connectingEllipsis;case "impersonate":return p$1.connectImpersonatedWallet;default:return p$1.connectWallet}},[g,u$1,T,f$1,p$1]),Z=useCallback(()=>"connectors",[g]),oo=useCallback(m=>{C$1?.onOpenChange?C$1.onOpenChange(m,a):l(m);},[C$1?.onOpenChange,a,l]),bo=useCallback(()=>{let m=()=>s$1(Z());C$1?.onBack?C$1.onBack(a,m):m();},[C$1?.onBack,a,s$1,Z]),yo=useCallback(()=>{C$1?.onInfoClick?C$1.onInfoClick(a):s$1("about");},[C$1?.onInfoClick,a,s$1]),_=useCallback(async(m,To)=>{await i({connectorType:m,chainId:q({appChains:o,selectedAdapter:To,solanaRPCUrls:t})});try{await waitFor(()=>I?.getState().activeConnection?.isConnected),h$2(!0);let Eo=setTimeout(()=>l(!1),400),me=setTimeout(()=>h$2(!1),500);await delay(null,500),clearTimeout(Eo),clearTimeout(me);}catch(Eo){console.error(Eo);}},[i,o,u$1,t]),j=useCallback(async(m,To)=>{O(m),s$1("connecting"),await _(To,m);},[_]),Bo=useCallback(m=>{x$1(formatConnectorName(m.name)),m.adapters.length===1?(O(m.adapters[0]),s$1(formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting")):u$1?s$1(formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(m.name)==="impersonatedwallet"?s$1("impersonate"):s$1("network");},[u$1]),ce=useCallback(()=>{switch(g){case "network":return jsx(B,{activeConnector:T,connectors:E,onClick:j,customization:d$1.networkSelections});case "connectors":return f$1?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(f$1),selectedAdapter:u$1,onSelect:m=>O(m),customization:d$1.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(f$1).length===1,connectors:E,selectedAdapter:u$1,onClick:Bo,setContentType:s$1,appChains:o,solanaRPCUrls:t,setIsConnected:h$2,setIsOpen:l,withImpersonated:r,customization:d$1.connectorsSelections})]}):jsx(G,{className:b.emptyConnectors?.({modalData:a}),modalData:a,children:"No connectors available"});case "about":return jsx(s,{customization:d$1.aboutWallets});case "getWallet":return jsx(z,{customization:d$1.getWallet});case "connecting":return jsx(v,{selectedAdapter:u$1,connectors:E,activeConnector:T,isConnected:H,customization:d$1.connecting});case "impersonate":return jsx(A,{selectedAdapter:u$1,impersonatedAddress:P,setImpersonatedAddress:k,customization:d$1.impersonateForm})}},[g,T,E,j,d$1,f$1,u$1,Bo,H,P]),$=useCallback(()=>{switch(g){case "connectors":return {title:p$1.iDontHaveWallet,onClick:()=>{C$1.onActionClick?.connectors?C$1.onActionClick.connectors(a):s$1("getWallet");}};case "getWallet":return {title:p$1.choseWallet,onClick:()=>{C$1.onActionClick?.getWallet?C$1.onActionClick.getWallet(a):window.open(x[u$1??Object.keys(f$1)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:p$1.learnMore,onClick:()=>{C$1.onActionClick?.about?C$1.onActionClick.about(a):window.open(x[u$1??Object.keys(f$1)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:p$1.connect,onClick:async()=>{if(C$1.onActionClick?.impersonate)await C$1.onActionClick.impersonate(a);else {let m=P.trim();if(M||!m||p(m)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(m),s$1("connecting"),await _(getConnectorTypeFromName(u$1??OrbitAdapter.EVM,T??""),u$1??OrbitAdapter.EVM);}}};case "connecting":return M&&u$1&&T?{title:p$1.tryAgain,onClick:async()=>{C$1.onActionClick?.connecting?await C$1.onActionClick.connecting(a):await _(getConnectorTypeFromName(u$1,T),u$1);}}:void 0}},[g,p$1,C$1,a,u$1,f$1,P,M,_,T])(),de=useCallback(()=>{switch(g){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g]);return jsx(go,{open:e,onOpenChange:oo,children:jsx(co,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(to,{layout:true,transition:{layout:{duration:N.animation?.disabled?0:N.animation?.layoutDuration??1e-4}},children:jsxs(y$1,{className:b.modalContainer?.({modalData:a}),modalData:a,children:[jsxs(D,{className:b.header?.({modalData:a}),modalData:a,children:[jsxs(K,{className:b.title?.({modalData:a}),modalData:a,children:[g==="connectors"&&jsx(V,{className:b.infoButton?.({modalData:a}),onClick:yo,"aria-label":N.ariaLabels?.infoButton?.(a)||`${p$1.learnMore} ${p$1.aboutWallets}`,modalData:a}),no()]}),jsx(J,{className:b.closeButton?.({modalData:a}),onClick:()=>oo(false),"aria-label":N.ariaLabels?.closeButton?.(a)||p$1.closeModal,modalData:a})]}),jsx(Q,{className:b.mainContent?.({modalData:a}),modalData:a,children:ce()}),jsxs(X,{className:b.footer?.({modalData:a}),modalData:a,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsx(io,{className:b.backButton?.({modalData:a}),onClick:bo,"aria-label":N.ariaLabels?.backButton?.(a)||`${p$1.back} to previous step`,modalData:a,children:p$1.back})}),$&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(Y,{className:b.actionButton?.({modalData:a,buttonConfig:$}),onClick:$.onClick,disabled:$.disabled,loading:$.loading,"aria-describedby":"bottom-action-description",modalData:a,buttonConfig:$,children:$.title}),jsx(lo,{id:"bottom-action-description",className:b.actionDescription?.({modalData:a}),modalData:a,children:de()})]})]})]})})})})});wo.displayName="ConnectModal";var Ve=({labels:o,children:t})=>jsx(No,{labels:o,children:t}),Ue=({customization:o})=>jsx(Po,{customization:o}),qe=(o,t)=>deepMerge(o,t||{}),Ge=o=>o,_e=o=>o,je=(o,t,r)=>o;function $e({labels:o,children:t,appChains:r$1,solanaRPCUrls:n,transactionPool:e,pulsarAdapter:l,withImpersonated:s,withBalance:x,withChain:k,customization:h$1}){let g=h(j=>j.activeConnection),u=h(j=>j.connectionError),{LabelsProvider:O=Ve,ErrorsProvider:H=Ue}=h$1?.components??{},{merge:T=qe,transform:P=Ge}=h$1?.labels??{},{transform:M=_e}=h$1?.contextValue??{},{providerTree:R=je}=h$1?.rendering??{},i=useMemo(()=>T(a,o||{}),[o,T]),[z,p]=useState(false),[I,f]=useState(false),[E,F]=useState(false),[a$1,v]=useState(false),[b,C]=useState("idle"),[N,d]=useState("connectors"),[y,D]=useState(void 0),[V,K]=useState(void 0),[J,Q]=useState(""),[X,io]=useState(false),[Y,lo]=useState("main"),G=useMemo(()=>({isConnected:X,activeConnection:g,connectionError:u,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:I,isChainsListOpen:E,isChainsListOpenMobile:a$1},contentTypes:{connectModal:N,connectedModal:Y},statuses:{connectedButton:b}}),[X,g,u,z,I,E,a$1,N,Y,b]),go=useMemo(()=>P(i,G),[i,P,G]),co=useMemo(()=>M({appChains:r$1,solanaRPCUrls:n,withImpersonated:s,withBalance:x,withChain:k,isConnectModalOpen:z,setIsConnectModalOpen:p,isConnectedModalOpen:I,setIsConnectedModalOpen:f,isChainsListOpen:E,setIsChainsListOpen:F,isChainsListOpenMobile:a$1,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:C,connectedModalContentType:Y,setConnectedModalContentType:lo,connectModalContentType:N,setConnectModalContentType:d,selectedAdapter:y,setSelectedAdapter:D,activeConnector:V,setActiveConnector:K,impersonatedAddress:J,setImpersonatedAddress:Q,isConnected:X,setIsConnected:io},G),[r$1,n,s,x,k,z,p,I,f,E,F,a$1,v,b,C,Y,lo,N,d,y,D,V,K,J,Q,X,io,M,G]),to=jsx(H,{customization:h$1?.errors}),no=jsx(O,{labels:go,children:t}),Z=r$1||n?jsx(wo,{withImpersonated:s,solanaRPCUrls:n,appChains:r$1,customization:h$1?.modals?.connectModal}):null,oo=r$1||n?jsx(r,{solanaRPCUrls:n,appChains:r$1,transactionPool:e,pulsarAdapter:l,customization:h$1?.modals?.connectedModal}):null,bo=jsxs(c.Provider,{value:co,children:[to,no,Z,oo]}),yo=jsxs(c.Provider,{value:co,children:[to,no,Z,oo]}),_=R(yo,{ErrorsProvider:to,LabelsProvider:no,MainContent:bo,ConnectModal:Z||jsx(Fragment,{}),ConnectedModal:oo||jsx(Fragment,{})},G);return jsx(Fragment,{children:_})}$e.displayName="NovaConnectProvider";var so=typeof process<"u"&&process.env?.NODE_ENV==="production";async function Qn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-TP2GS4LA.js');return {hasEvmUtils:await fo(),hasSolanaUtils:await vo(),adaptersStatus:o()}}async function fo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-evm") && require("viem")); } catch { return false; }')()}catch{return false}try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function vo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-solana") && require("gill")); } catch { return false; }')()}catch{return false}try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Xn(){try{if(!await fo())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};if(so)try{let e=new Function('try { return require("./evm"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getEvmExports!="function"){l({available:!1,error:"EVM module does not have getEvmExports function"});return}e.getEvmExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load EVM exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load EVM exports"});});}):{available:!1,error:"Failed to load EVM module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load EVM module"}}let t=await import('./evm/index.js'),r=await t.getEvmExports();return r.available?{...t,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Yn(){try{if(!await vo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};if(so)try{let e=new Function('try { return require("./solana"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getSolanaExports!="function"){l({available:!1,error:"Solana module does not have getSolanaExports function"});return}e.getSolanaExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load Solana exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load Solana exports"});});}):{available:!1,error:"Failed to load Solana module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load Solana module"}}let t=await import('./solana/index.js'),r=await t.getSolanaExports();return r.available?{...t,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Zn(){let o={evm:false,solana:false,errors:[]};try{let t=await fo(),r=await vo();if(t||r)if(so)try{let e=new Function('try { return require("./utils/getChainsListByConnectorType"); } catch { return null; }')();if(!e)return o.errors.push("Failed to load chain adapter utilities"),o;let l=[];t&&l.push(OrbitAdapter.EVM),r&&l.push(OrbitAdapter.SOLANA),await e.preloadChainAdapters(l),o.evm=t,o.solana=r;}catch(n){let e=n instanceof Error?n.message:"Failed to initialize chain adapters";o.errors.push(e);}else {let{preloadChainAdapters:n}=await import('./getChainsListByConnectorType-TP2GS4LA.js'),e=[];t&&e.push(OrbitAdapter.EVM),r&&e.push(OrbitAdapter.SOLANA),await n(e),o.evm=t,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(t){let r=t instanceof Error?t.message:"Unknown initialization error";o.errors.push(r);}return o}async function or(o){return o===OrbitAdapter.Starknet||o!==OrbitAdapter.EVM&&o!==OrbitAdapter.SOLANA?false:o===OrbitAdapter.EVM?fo():vo()}export{Po as ErrorsProvider,No as NovaConnectLabelsProvider,$e as NovaConnectProvider,Qn as getBlockchainUtilities,Xn as getEvmUtils,Yn as getSolanaUtils,Zn as initializeBlockchainSupport,or as isAdapterSupported};//# sourceMappingURL=index.js.map
|
|
1
|
+
import {A,v,z,s,C,y,B,r,D}from'./chunk-RARO6QP2.js';import {d,h as h$1,t,p,g,c}from'./chunk-H2RLZRJ4.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,q as getAvailableChainIds,v as getAvailableSolanaClusters,p as getConnectChainId,t as getFilteredConnectors,r as getGroupedConnectors,n as getLabelWithFallback,s as hasAvailableConnectors,u as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,w as isValidSolanaCluster,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,x as useWalletChainsList,y as useWalletNativeBalance}from'./chunk-H2RLZRJ4.js';export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClustersAsync,b as getChainsListByConnectorType,a as getChainsListByConnectorTypeAsync,b as getChainsListByConnectorTypeSync,i as getWalletChains,e as isEvmChainList,c as isEvmChainListAsync,e as isEvmChainListSync,f as isSolanaChainList,d as isSolanaChainListAsync,f as isSolanaChainListSync,h as isValidSolanaClusterAsync,j as preloadChainAdapters}from'./chunk-QGCEN6MP.js';import {a}from'./chunk-3BMX6JWH.js';import {h,f}from'./chunk-WVALNTUP.js';import {waitFor,delay,formatConnectorName,getConnectorTypeFromName,isAddress,impersonatedHelpers,OrbitAdapter,getNetworkData}from'@tuwaio/orbit-core';import {cn,DialogHeader,DialogTitle,DialogClose,CloseIcon,standardButtonClasses,Dialog,DialogContent,ToastCloseButton,deepMerge}from'@tuwaio/nova-core';import {forwardRef,memo,useContext,useMemo,useEffect,useCallback,useRef,useState}from'react';import {toast,Bounce,ToastContainer}from'react-toastify';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {InformationCircleIcon}from'@heroicons/react/24/outline';import {motion}from'framer-motion';var Ce=({title:o,rawError:t,onCopyComplete:r,errorType:n,isConnected:e,...l})=>jsx(D,{title:o,rawError:t,onCopyComplete:r,customization:l.customization}),fe=o=>{let t=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":t.somethingWentWrong})},ve=(o,t)=>{o(t.title,t.rawError,t.errorKey);},ge=o=>{o();},be=(o,t)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",t.substring(0,100));},ye=o=>o,Te=o=>o;function ho({containerId:o="nova-connect-errors",position:t="top-center",autoClose:r=7e3,draggable:n=false,customization:e}){let l=h$1(),s=h(d=>d.switchNetworkError),x=h(d=>d.activeConnection),k=h(d=>d.connectionError),{ToastError:h$2=Ce,Container:g=fe}=e?.components??{},{showError:u=ve,dismissError:O=ge,onCopyComplete:H=be}=e?.handlers??{},{errorTitle:T=ye,errorHash:P=Te}=e??{},M=useRef(new Set),R=useRef(null),i=useMemo(()=>{let d=!!k,y=!!s,D=!!x?.isConnected;return {hasWalletError:d,hasSwitchError:y,isConnected:D,hasAnyError:d||y,primaryError:k||s||null,errorType:d?"wallet":y?"switch":null}},[k,s,x?.isConnected]),z=useMemo(()=>{switch(i.errorType){case "wallet":return l.connectionError;case "switch":return l.errorWhenChainSwitching;default:return l.somethingWentWrong}},[i.errorType,l]),p=useMemo(()=>T(z,{errorType:i.errorType}),[T,z,i.errorType]),I=useMemo(()=>i.primaryError?`${i.errorType}-${i.primaryError.substring(0,50)}`:null,[i.primaryError,i.errorType]),f=useMemo(()=>P(I,{primaryError:i.primaryError,errorType:i.errorType}),[P,I,i.primaryError,i.errorType]),E=useCallback(()=>{O(()=>{R.current&&(toast.dismiss(R.current),R.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((d,y)=>{H(d,y,i.errorType);},[H,i.errorType]),a=useCallback((d,y,D)=>{if(E(),!M.current.has(D))try{let V={containerId:o,toastId:D,onClose:()=>{M.current.delete(D),R.current=null;}},K=e?.toastOptions?.error?.({title:d,rawError:y,errorType:i.errorType,isConnected:i.isConnected}),J={...V,...K};toast.error(jsx(h$2,{title:d,rawError:y,errorType:i.errorType,isConnected:i.isConnected,onCopyComplete:Q=>F(Q,y),customization:e?.toastErrorCustomization}),J),M.current.add(D),R.current=D;}catch(V){console.error("Failed to show error toast:",V);}},[E,o,e?.toastOptions?.error,e?.toastErrorCustomization,h$2,i.errorType,i.isConnected,F]),v=useCallback((d,y,D)=>{u(a,{title:d,rawError:y,errorKey:D,errorType:i.errorType});},[a,u,i.errorType]);useEffect(()=>{let{hasAnyError:d,isConnected:y,primaryError:D}=i;if(y&&!d){E(),M.current.clear();return}if(d&&D&&f){if(y&&i.errorType!=="switch")return;v(p,D,f);}},[i,p,f,v,E]),useEffect(()=>()=>{E(),M.current.clear();},[E]);let b=useMemo(()=>e?.classNames?.container?e.classNames.container({hasErrors:i.hasAnyError,errorType:i.errorType}):"novacon:p-0 novacon:bg-transparent",[e,i.hasAnyError,i.errorType]),C=useMemo(()=>({containerId:o,position:t,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:n,pauseOnHover:true,theme:"light",transition:Bounce}),[o,t,r,n]),N=useMemo(()=>({...C,...e?.containerProps,className:b}),[C,e?.containerProps,b]);return jsx(g,{...N})}ho.displayName="ErrorsProvider";function Po({labels:o,children:t}){let r=useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let e=["connectWallet","disconnect","connecting","connected","error","success"].filter(l=>!(l in o));e.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${e.join(", ")}`);}return jsx(g.Provider,{value:r,children:t})}Po.displayName="NovaConnectLabelsProvider";function Ie(o,t){if(!o||!Array.isArray(o)||!t)return;let r=o.find(n=>n&&typeof n=="object"&&"name"in n&&typeof n.name=="string"?formatConnectorName(n.name)===t:false);if(r&&typeof r=="object"&&"name"in r&&typeof r.name=="string")return r.name}var Qo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("div",{ref:e,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...n,children:t}));Qo.displayName="DefaultModalContainer";var Xo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("div",{ref:e,className:o,...n,children:jsx(DialogHeader,{children:t})}));Xo.displayName="DefaultModalHeader";var Yo=forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsx("button",{ref:e,className:cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:t,...n,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Yo.displayName="DefaultInfoButton";var Zo=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx(DialogTitle,{ref:e,className:cn("novacon:flex novacon:items-center",o),...n,children:t}));Zo.displayName="DefaultTitle";var oe=forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:e,type:"button",onClick:t,className:cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...n,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));oe.displayName="DefaultCloseButton";var ee=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("main",{ref:e,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...n,children:t}));ee.displayName="DefaultMainContent";var te=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("footer",{ref:e,className:cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...n,children:t}));te.displayName="DefaultFooter";var ne=forwardRef(({className:o,onClick:t,children:r,modalData:n,...e},l)=>jsx("button",{ref:l,type:"button",onClick:t,className:cn(standardButtonClasses,o),...e,children:r}));ne.displayName="DefaultBackButton";var re=forwardRef(({className:o,onClick:t,children:r,disabled:n,loading:e,buttonConfig:l,modalData:s,...x},k)=>jsx("button",{ref:k,type:"button",onClick:t,disabled:n||e,className:cn(standardButtonClasses,o),...x,children:e?"Loading...":r}));re.displayName="DefaultActionButton";var ae=forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsx("span",{ref:e,className:cn("novacon:sr-only",o),...n,children:t}));ae.displayName="DefaultActionDescription";var se=forwardRef(({children:o,className:t,...r},n)=>{let{modalData:e,...l}=r;return jsx("div",{ref:n,className:t,...l,children:o})});se.displayName="DefaultEmptyState";var No=memo(({appChains:o,solanaRPCUrls:t$1,withImpersonated:r,customization:n={}})=>{let{isConnectModalOpen:e,setIsConnectModalOpen:l,setConnectModalContentType:s$1,setActiveConnector:x,setImpersonatedAddress:k,setIsConnected:h$2,connectModalContentType:g,selectedAdapter:u,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:P}=d(),M=h(m=>m.connectionError),R=h(m=>m.getConnectors),i=h(m=>m.connect),z$1=h(m=>m.activeConnection),p$1=h$1(),I=useContext(f),f$1=useMemo(()=>{if(e)return R()},[e,R]),E=useMemo(()=>t({connectors:f$1,selectedAdapter:u}),[f$1,u]),F=useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),a=useMemo(()=>({contentType:g,selectedAdapter:u,activeConnector:T,impersonatedAddress:P,isConnected:H,isOpen:e,error:F,connectors:f$1,filteredConnectors:E,labels:p$1}),[g,u,T,P,H,e,F,f$1,E,p$1]);useEffect(()=>{e&&(s$1("connectors"),O(void 0),x(void 0),k(""),h$2(false));},[e]);let{components:v$1={},classNames:b={},handlers:C$1={},config:N={},childComponents:d$1={}}=n,y$1=v$1.ModalContainer||Qo,D=v$1.ModalHeader||Xo,V=v$1.InfoButton||Yo,K=v$1.Title||Zo,J=v$1.CloseButton||oe,Q=v$1.MainContent||ee,X=v$1.Footer||te,io=v$1.BackButton||ne,Y=v$1.ActionButton||re,lo=v$1.ActionDescription||ae,G=v$1.EmptyState||se,go=v$1.Dialog||Dialog,co=v$1.DialogContent||DialogContent,to=v$1.MotionDiv||motion.div,no=useCallback(()=>{switch(g){case "about":return p$1.aboutWallets;case "getWallet":return p$1.getWallet;case "connecting":return u&&T&&f$1&&Ie(f$1[u],T)||p$1.connectingEllipsis;case "impersonate":return p$1.connectImpersonatedWallet;default:return p$1.connectWallet}},[g,u,T,f$1,p$1]),Z=useCallback(()=>"connectors",[g]),oo=useCallback(m=>{C$1?.onOpenChange?C$1.onOpenChange(m,a):l(m);},[C$1?.onOpenChange,a,l]),bo=useCallback(()=>{let m=()=>s$1(Z());C$1?.onBack?C$1.onBack(a,m):m();},[C$1?.onBack,a,s$1,Z]),yo=useCallback(()=>{C$1?.onInfoClick?C$1.onInfoClick(a):s$1("about");},[C$1?.onInfoClick,a,s$1]),_=useCallback(async(m,To)=>{await i({connectorType:m,chainId:p({appChains:o,selectedAdapter:To,solanaRPCUrls:t$1})});try{await waitFor(()=>I?.getState().activeConnection?.isConnected),h$2(!0);let Eo=setTimeout(()=>l(!1),400),de=setTimeout(()=>h$2(!1),500);await delay(null,500),clearTimeout(Eo),clearTimeout(de);}catch(Eo){console.error(Eo);}},[i,o,u,t$1]),j=useCallback(async(m,To)=>{O(m),s$1("connecting"),await _(To,m);},[_]),ko=useCallback(m=>{x(formatConnectorName(m.name)),m.adapters.length===1?(O(m.adapters[0]),s$1(formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting")):u?s$1(formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(m.name)==="impersonatedwallet"?s$1("impersonate"):s$1("network");},[u]),le=useCallback(()=>{switch(g){case "network":return jsx(B,{activeConnector:T,connectors:E,onClick:j,customization:d$1.networkSelections});case "connectors":return f$1?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(f$1),selectedAdapter:u,onSelect:m=>O(m),customization:d$1.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(f$1).length===1,connectors:E,selectedAdapter:u,onClick:ko,setContentType:s$1,appChains:o,solanaRPCUrls:t$1,setIsConnected:h$2,setIsOpen:l,withImpersonated:r,customization:d$1.connectorsSelections})]}):jsx(G,{className:b.emptyConnectors?.({modalData:a}),modalData:a,children:"No connectors available"});case "about":return jsx(s,{customization:d$1.aboutWallets});case "getWallet":return jsx(z,{customization:d$1.getWallet});case "connecting":return jsx(v,{selectedAdapter:u,connectors:E,activeConnector:T,isConnected:H,customization:d$1.connecting});case "impersonate":return jsx(A,{selectedAdapter:u,impersonatedAddress:P,setImpersonatedAddress:k,customization:d$1.impersonateForm})}},[g,T,E,j,d$1,f$1,u,ko,H,P]),$=useCallback(()=>{switch(g){case "connectors":return {title:p$1.iDontHaveWallet,onClick:()=>{C$1.onActionClick?.connectors?C$1.onActionClick.connectors(a):s$1("getWallet");}};case "getWallet":return {title:p$1.choseWallet,onClick:()=>{C$1.onActionClick?.getWallet?C$1.onActionClick.getWallet(a):window.open(getNetworkData(u??Object.keys(f$1)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:p$1.learnMore,onClick:()=>{C$1.onActionClick?.about?C$1.onActionClick.about(a):window.open(getNetworkData(u??Object.keys(f$1)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:p$1.connect,onClick:async()=>{if(C$1.onActionClick?.impersonate)await C$1.onActionClick.impersonate(a);else {let m=P.trim();if(M||!m||isAddress(m)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(m),s$1("connecting"),await _(getConnectorTypeFromName(u??OrbitAdapter.EVM,T??""),u??OrbitAdapter.EVM);}}};case "connecting":return M&&u&&T?{title:p$1.tryAgain,onClick:async()=>{C$1.onActionClick?.connecting?await C$1.onActionClick.connecting(a):await _(getConnectorTypeFromName(u,T),u);}}:void 0}},[g,p$1,C$1,a,u,f$1,P,M,_,T])(),ce=useCallback(()=>{switch(g){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g]);return jsx(go,{open:e,onOpenChange:oo,children:jsx(co,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(to,{layout:true,transition:{layout:{duration:N.animation?.disabled?0:N.animation?.layoutDuration??1e-4}},children:jsxs(y$1,{className:b.modalContainer?.({modalData:a}),modalData:a,children:[jsxs(D,{className:b.header?.({modalData:a}),modalData:a,children:[jsxs(K,{className:b.title?.({modalData:a}),modalData:a,children:[g==="connectors"&&jsx(V,{className:b.infoButton?.({modalData:a}),onClick:yo,"aria-label":N.ariaLabels?.infoButton?.(a)||`${p$1.learnMore} ${p$1.aboutWallets}`,modalData:a}),no()]}),jsx(J,{className:b.closeButton?.({modalData:a}),onClick:()=>oo(false),"aria-label":N.ariaLabels?.closeButton?.(a)||p$1.closeModal,modalData:a})]}),jsx(Q,{className:b.mainContent?.({modalData:a}),modalData:a,children:le()}),jsxs(X,{className:b.footer?.({modalData:a}),modalData:a,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsx(io,{className:b.backButton?.({modalData:a}),onClick:bo,"aria-label":N.ariaLabels?.backButton?.(a)||`${p$1.back} to previous step`,modalData:a,children:p$1.back})}),$&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(Y,{className:b.actionButton?.({modalData:a,buttonConfig:$}),onClick:$.onClick,disabled:$.disabled,loading:$.loading,"aria-describedby":"bottom-action-description",modalData:a,buttonConfig:$,children:$.title}),jsx(lo,{id:"bottom-action-description",className:b.actionDescription?.({modalData:a}),modalData:a,children:ce()})]})]})]})})})})});No.displayName="ConnectModal";var Ve=({labels:o,children:t})=>jsx(Po,{labels:o,children:t}),Ue=({customization:o})=>jsx(ho,{customization:o}),qe=(o,t)=>deepMerge(o,t||{}),Ge=o=>o,_e=o=>o,je=(o,t,r)=>o;function $e({labels:o,children:t,appChains:r$1,solanaRPCUrls:n,transactionPool:e,pulsarAdapter:l,withImpersonated:s,withBalance:x,withChain:k,customization:h$1}){let g=h(j=>j.activeConnection),u=h(j=>j.connectionError),{LabelsProvider:O=Ve,ErrorsProvider:H=Ue}=h$1?.components??{},{merge:T=qe,transform:P=Ge}=h$1?.labels??{},{transform:M=_e}=h$1?.contextValue??{},{providerTree:R=je}=h$1?.rendering??{},i=useMemo(()=>T(a,o||{}),[o,T]),[z,p]=useState(false),[I,f]=useState(false),[E,F]=useState(false),[a$1,v]=useState(false),[b,C]=useState("idle"),[N,d]=useState("connectors"),[y,D]=useState(void 0),[V,K]=useState(void 0),[J,Q]=useState(""),[X,io]=useState(false),[Y,lo]=useState("main"),G=useMemo(()=>({isConnected:X,activeConnection:g,connectionError:u,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:I,isChainsListOpen:E,isChainsListOpenMobile:a$1},contentTypes:{connectModal:N,connectedModal:Y},statuses:{connectedButton:b}}),[X,g,u,z,I,E,a$1,N,Y,b]),go=useMemo(()=>P(i,G),[i,P,G]),co=useMemo(()=>M({appChains:r$1,solanaRPCUrls:n,withImpersonated:s,withBalance:x,withChain:k,isConnectModalOpen:z,setIsConnectModalOpen:p,isConnectedModalOpen:I,setIsConnectedModalOpen:f,isChainsListOpen:E,setIsChainsListOpen:F,isChainsListOpenMobile:a$1,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:C,connectedModalContentType:Y,setConnectedModalContentType:lo,connectModalContentType:N,setConnectModalContentType:d,selectedAdapter:y,setSelectedAdapter:D,activeConnector:V,setActiveConnector:K,impersonatedAddress:J,setImpersonatedAddress:Q,isConnected:X,setIsConnected:io},G),[r$1,n,s,x,k,z,p,I,f,E,F,a$1,v,b,C,Y,lo,N,d,y,D,V,K,J,Q,X,io,M,G]),to=jsx(H,{customization:h$1?.errors}),no=jsx(O,{labels:go,children:t}),Z=r$1||n?jsx(No,{withImpersonated:s,solanaRPCUrls:n,appChains:r$1,customization:h$1?.modals?.connectModal}):null,oo=r$1||n?jsx(r,{solanaRPCUrls:n,appChains:r$1,transactionPool:e,pulsarAdapter:l,customization:h$1?.modals?.connectedModal}):null,bo=jsxs(c.Provider,{value:co,children:[to,no,Z,oo]}),yo=jsxs(c.Provider,{value:co,children:[to,no,Z,oo]}),_=R(yo,{ErrorsProvider:to,LabelsProvider:no,MainContent:bo,ConnectModal:Z||jsx(Fragment,{}),ConnectedModal:oo||jsx(Fragment,{})},G);return jsx(Fragment,{children:_})}$e.displayName="NovaConnectProvider";var so=typeof process<"u"&&process.env?.NODE_ENV==="production";async function Kn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-B3BLNZZH.js');return {hasEvmUtils:await fo(),hasSolanaUtils:await vo(),adaptersStatus:o()}}async function fo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-evm") && require("viem")); } catch { return false; }')()}catch{return false}try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function vo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-solana") && require("gill")); } catch { return false; }')()}catch{return false}try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Jn(){try{if(!await fo())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};if(so)try{let e=new Function('try { return require("./evm"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getEvmExports!="function"){l({available:!1,error:"EVM module does not have getEvmExports function"});return}e.getEvmExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load EVM exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load EVM exports"});});}):{available:!1,error:"Failed to load EVM module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load EVM module"}}let t=await import('./evm/index.js'),r=await t.getEvmExports();return r.available?{...t,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Qn(){try{if(!await vo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};if(so)try{let e=new Function('try { return require("./solana"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getSolanaExports!="function"){l({available:!1,error:"Solana module does not have getSolanaExports function"});return}e.getSolanaExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load Solana exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load Solana exports"});});}):{available:!1,error:"Failed to load Solana module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load Solana module"}}let t=await import('./solana/index.js'),r=await t.getSolanaExports();return r.available?{...t,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Xn(){let o={evm:false,solana:false,errors:[]};try{let t=await fo(),r=await vo();if(t||r)if(so)try{let e=new Function('try { return require("./utils/getChainsListByConnectorType"); } catch { return null; }')();if(!e)return o.errors.push("Failed to load chain adapter utilities"),o;let l=[];t&&l.push(OrbitAdapter.EVM),r&&l.push(OrbitAdapter.SOLANA),await e.preloadChainAdapters(l),o.evm=t,o.solana=r;}catch(n){let e=n instanceof Error?n.message:"Failed to initialize chain adapters";o.errors.push(e);}else {let{preloadChainAdapters:n}=await import('./getChainsListByConnectorType-B3BLNZZH.js'),e=[];t&&e.push(OrbitAdapter.EVM),r&&e.push(OrbitAdapter.SOLANA),await n(e),o.evm=t,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(t){let r=t instanceof Error?t.message:"Unknown initialization error";o.errors.push(r);}return o}async function Yn(o){return o===OrbitAdapter.Starknet||o!==OrbitAdapter.EVM&&o!==OrbitAdapter.SOLANA?false:o===OrbitAdapter.EVM?fo():vo()}export{ho as ErrorsProvider,Po as NovaConnectLabelsProvider,$e as NovaConnectProvider,Kn as getBlockchainUtilities,Jn as getEvmUtils,Qn as getSolanaUtils,Xn as initializeBlockchainSupport,Yn as isAdapterSupported};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|