@tuwaio/nova-connect 0.2.1 → 0.2.3
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-FK4AEST5.cjs → chunk-JFUJC4EJ.cjs} +2 -2
- package/dist/{chunk-FK4AEST5.cjs.map → chunk-JFUJC4EJ.cjs.map} +1 -1
- package/dist/chunk-NHKYALBZ.cjs +6 -0
- package/dist/chunk-NHKYALBZ.cjs.map +1 -0
- package/dist/{chunk-B2NRY4JV.js → chunk-QGCEN6MP.js} +2 -2
- package/dist/{chunk-B2NRY4JV.js.map → chunk-QGCEN6MP.js.map} +1 -1
- package/dist/chunk-RARO6QP2.js +6 -0
- package/dist/chunk-RARO6QP2.js.map +1 -0
- package/dist/{chunk-L5MEEHVK.cjs → chunk-WSHZWOWS.cjs} +2 -2
- package/dist/{chunk-L5MEEHVK.cjs.map → chunk-WSHZWOWS.cjs.map} +1 -1
- package/dist/{chunk-P5ZBSLGK.js → chunk-WVALNTUP.js} +2 -2
- package/dist/{chunk-P5ZBSLGK.js.map → chunk-WVALNTUP.js.map} +1 -1
- 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 +14 -12
- package/dist/evm/index.d.ts +14 -12
- 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-FGTS3CWJ.js → getChainsListByConnectorType-B3BLNZZH.js} +2 -2
- package/dist/{getChainsListByConnectorType-FGTS3CWJ.js.map → getChainsListByConnectorType-B3BLNZZH.js.map} +1 -1
- package/dist/getChainsListByConnectorType-BXIDPPGC.cjs +2 -0
- package/dist/{getChainsListByConnectorType-7W3NDNRC.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.css +1 -1
- package/dist/index.d.cts +13 -22
- package/dist/index.d.ts +13 -22
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/satellite/index.cjs +1 -1
- package/dist/satellite/index.js +1 -1
- package/dist/solana/index.cjs +1 -1
- package/dist/solana/index.cjs.map +1 -1
- package/dist/solana/index.d.cts +14 -21
- package/dist/solana/index.d.ts +14 -21
- 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 +35 -33
- package/dist/chunk-4FB4UCVM.js +0 -6
- package/dist/chunk-4FB4UCVM.js.map +0 -1
- package/dist/chunk-CEGEQMI2.cjs +0 -2
- package/dist/chunk-CEGEQMI2.cjs.map +0 -1
- package/dist/chunk-F2VSTHQ4.js +0 -2
- package/dist/chunk-F2VSTHQ4.js.map +0 -1
- package/dist/chunk-IMKRWFCZ.cjs +0 -3
- package/dist/chunk-IMKRWFCZ.cjs.map +0 -1
- package/dist/chunk-RR5G7U5F.js +0 -2
- package/dist/chunk-RR5G7U5F.js.map +0 -1
- package/dist/chunk-S6WXKVYP.js +0 -3
- package/dist/chunk-S6WXKVYP.js.map +0 -1
- package/dist/chunk-UDTWMOQ2.cjs +0 -6
- package/dist/chunk-UDTWMOQ2.cjs.map +0 -1
- package/dist/chunk-YI7RYSN6.cjs +0 -2
- package/dist/chunk-YI7RYSN6.cjs.map +0 -1
- package/dist/evm-BVE2G4MP.js +0 -2
- package/dist/evm-BVE2G4MP.js.map +0 -1
- package/dist/evm-DU3VGIPD.cjs +0 -2
- package/dist/evm-DU3VGIPD.cjs.map +0 -1
- package/dist/getChainsListByConnectorType-7W3NDNRC.cjs +0 -2
- package/dist/solana-CDGGMN74.cjs +0 -2
- package/dist/solana-CDGGMN74.cjs.map +0 -1
- package/dist/solana-DHXEV2TG.js +0 -2
- package/dist/solana-DHXEV2TG.js.map +0 -1
- package/dist/types-DGsiEwne.d.cts +0 -50
- package/dist/types-DGsiEwne.d.ts +0 -50
- package/dist/utils-5KC7QXWB.js +0 -2
- package/dist/utils-5KC7QXWB.js.map +0 -1
- package/dist/utils-DZB4ZTS4.cjs +0 -2
- package/dist/utils-DZB4ZTS4.cjs.map +0 -1
- package/dist/utils-TF3RVHPT.cjs +0 -2
- package/dist/utils-TF3RVHPT.cjs.map +0 -1
- package/dist/utils-YYMTL3XH.js +0 -2
- package/dist/utils-YYMTL3XH.js.map +0 -1
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';
|
|
@@ -689,19 +686,19 @@ interface ChainAdapter {
|
|
|
689
686
|
*
|
|
690
687
|
* @param config Chain configuration data (format varies by blockchain)
|
|
691
688
|
* @param chains Optional array of specific chains to filter or process
|
|
692
|
-
* @returns
|
|
689
|
+
* @returns Promise resolving to array of chain identifiers (numbers for EVM, strings for Solana)
|
|
693
690
|
*
|
|
694
691
|
* @example
|
|
695
692
|
* ```typescript
|
|
696
693
|
* // EVM chains
|
|
697
|
-
* const evmChains = adapter.getChains([
|
|
694
|
+
* const evmChains = await adapter.getChains([
|
|
698
695
|
* { id: 1, name: 'Ethereum' },
|
|
699
696
|
* { id: 56, name: 'BSC' }
|
|
700
697
|
* ]);
|
|
701
698
|
* // Returns: [1, 56]
|
|
702
699
|
*
|
|
703
700
|
* // Solana clusters
|
|
704
|
-
* const solanaClusters = adapter.getChains({
|
|
701
|
+
* const solanaClusters = await adapter.getChains({
|
|
705
702
|
* 'mainnet-beta': 'https://api.mainnet-beta.solana.com',
|
|
706
703
|
* devnet: 'https://api.devnet.solana.com'
|
|
707
704
|
* });
|
|
@@ -738,13 +735,13 @@ interface ChainAdapter {
|
|
|
738
735
|
* This method is specific to Solana and returns the configured cluster names
|
|
739
736
|
* that can be used for connections. Not applicable to other blockchain types.
|
|
740
737
|
*
|
|
741
|
-
* @returns
|
|
738
|
+
* @returns Promise resolving to array of available cluster names
|
|
742
739
|
* @optional This method is only available on Solana adapters
|
|
743
740
|
*
|
|
744
741
|
* @example
|
|
745
742
|
* ```typescript
|
|
746
743
|
* const solanaAdapter = await createSolanaAdapter();
|
|
747
|
-
* const clusters = solanaAdapter.getAvailableClusters?.();
|
|
744
|
+
* const clusters = await solanaAdapter.getAvailableClusters?.();
|
|
748
745
|
* // Might return: ['mainnet-beta', 'devnet', 'testnet', 'localnet']
|
|
749
746
|
* ```
|
|
750
747
|
*/
|
|
@@ -756,14 +753,14 @@ interface ChainAdapter {
|
|
|
756
753
|
* is a known/valid Solana cluster moniker. Not applicable to other blockchain types.
|
|
757
754
|
*
|
|
758
755
|
* @param cluster Cluster name to validate
|
|
759
|
-
* @returns
|
|
756
|
+
* @returns Promise resolving to true if the cluster name is valid for Solana
|
|
760
757
|
* @optional This method is only available on Solana adapters
|
|
761
758
|
*
|
|
762
759
|
* @example
|
|
763
760
|
* ```typescript
|
|
764
761
|
* const solanaAdapter = await createSolanaAdapter();
|
|
765
|
-
* const isValid = solanaAdapter.isValidCluster?.('mainnet-beta'); // true
|
|
766
|
-
* const isInvalid = solanaAdapter.isValidCluster?.('invalid-cluster'); // false
|
|
762
|
+
* const isValid = await solanaAdapter.isValidCluster?.('mainnet-beta'); // true
|
|
763
|
+
* const isInvalid = await solanaAdapter.isValidCluster?.('invalid-cluster'); // false
|
|
767
764
|
* ```
|
|
768
765
|
*/
|
|
769
766
|
isValidCluster?(cluster: string): boolean;
|
|
@@ -896,12 +893,6 @@ declare function getFilteredConnectors({ connectors, selectedAdapter, }: GetFilt
|
|
|
896
893
|
*/
|
|
897
894
|
declare function hasConnectorsForAdapter(connectors: Partial<Record<OrbitAdapter, Connector[]>>, adapter: OrbitAdapter): boolean;
|
|
898
895
|
|
|
899
|
-
declare const networksLinks: Partial<Record<OrbitAdapter, {
|
|
900
|
-
aboutNetwork: string;
|
|
901
|
-
choseWallet: string;
|
|
902
|
-
about: string;
|
|
903
|
-
}>>;
|
|
904
|
-
|
|
905
896
|
/**
|
|
906
897
|
* @fileoverview Central export hub for blockchain utility functions and types.
|
|
907
898
|
*
|
|
@@ -1154,4 +1145,4 @@ declare function initializeBlockchainSupport(): Promise<InitializationResult>;
|
|
|
1154
1145
|
*/
|
|
1155
1146
|
declare function isAdapterSupported(adapter: OrbitAdapter): Promise<boolean>;
|
|
1156
1147
|
|
|
1157
|
-
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';
|
|
@@ -689,19 +686,19 @@ interface ChainAdapter {
|
|
|
689
686
|
*
|
|
690
687
|
* @param config Chain configuration data (format varies by blockchain)
|
|
691
688
|
* @param chains Optional array of specific chains to filter or process
|
|
692
|
-
* @returns
|
|
689
|
+
* @returns Promise resolving to array of chain identifiers (numbers for EVM, strings for Solana)
|
|
693
690
|
*
|
|
694
691
|
* @example
|
|
695
692
|
* ```typescript
|
|
696
693
|
* // EVM chains
|
|
697
|
-
* const evmChains = adapter.getChains([
|
|
694
|
+
* const evmChains = await adapter.getChains([
|
|
698
695
|
* { id: 1, name: 'Ethereum' },
|
|
699
696
|
* { id: 56, name: 'BSC' }
|
|
700
697
|
* ]);
|
|
701
698
|
* // Returns: [1, 56]
|
|
702
699
|
*
|
|
703
700
|
* // Solana clusters
|
|
704
|
-
* const solanaClusters = adapter.getChains({
|
|
701
|
+
* const solanaClusters = await adapter.getChains({
|
|
705
702
|
* 'mainnet-beta': 'https://api.mainnet-beta.solana.com',
|
|
706
703
|
* devnet: 'https://api.devnet.solana.com'
|
|
707
704
|
* });
|
|
@@ -738,13 +735,13 @@ interface ChainAdapter {
|
|
|
738
735
|
* This method is specific to Solana and returns the configured cluster names
|
|
739
736
|
* that can be used for connections. Not applicable to other blockchain types.
|
|
740
737
|
*
|
|
741
|
-
* @returns
|
|
738
|
+
* @returns Promise resolving to array of available cluster names
|
|
742
739
|
* @optional This method is only available on Solana adapters
|
|
743
740
|
*
|
|
744
741
|
* @example
|
|
745
742
|
* ```typescript
|
|
746
743
|
* const solanaAdapter = await createSolanaAdapter();
|
|
747
|
-
* const clusters = solanaAdapter.getAvailableClusters?.();
|
|
744
|
+
* const clusters = await solanaAdapter.getAvailableClusters?.();
|
|
748
745
|
* // Might return: ['mainnet-beta', 'devnet', 'testnet', 'localnet']
|
|
749
746
|
* ```
|
|
750
747
|
*/
|
|
@@ -756,14 +753,14 @@ interface ChainAdapter {
|
|
|
756
753
|
* is a known/valid Solana cluster moniker. Not applicable to other blockchain types.
|
|
757
754
|
*
|
|
758
755
|
* @param cluster Cluster name to validate
|
|
759
|
-
* @returns
|
|
756
|
+
* @returns Promise resolving to true if the cluster name is valid for Solana
|
|
760
757
|
* @optional This method is only available on Solana adapters
|
|
761
758
|
*
|
|
762
759
|
* @example
|
|
763
760
|
* ```typescript
|
|
764
761
|
* const solanaAdapter = await createSolanaAdapter();
|
|
765
|
-
* const isValid = solanaAdapter.isValidCluster?.('mainnet-beta'); // true
|
|
766
|
-
* const isInvalid = solanaAdapter.isValidCluster?.('invalid-cluster'); // false
|
|
762
|
+
* const isValid = await solanaAdapter.isValidCluster?.('mainnet-beta'); // true
|
|
763
|
+
* const isInvalid = await solanaAdapter.isValidCluster?.('invalid-cluster'); // false
|
|
767
764
|
* ```
|
|
768
765
|
*/
|
|
769
766
|
isValidCluster?(cluster: string): boolean;
|
|
@@ -896,12 +893,6 @@ declare function getFilteredConnectors({ connectors, selectedAdapter, }: GetFilt
|
|
|
896
893
|
*/
|
|
897
894
|
declare function hasConnectorsForAdapter(connectors: Partial<Record<OrbitAdapter, Connector[]>>, adapter: OrbitAdapter): boolean;
|
|
898
895
|
|
|
899
|
-
declare const networksLinks: Partial<Record<OrbitAdapter, {
|
|
900
|
-
aboutNetwork: string;
|
|
901
|
-
choseWallet: string;
|
|
902
|
-
about: string;
|
|
903
|
-
}>>;
|
|
904
|
-
|
|
905
896
|
/**
|
|
906
897
|
* @fileoverview Central export hub for blockchain utility functions and types.
|
|
907
898
|
*
|
|
@@ -1154,4 +1145,4 @@ declare function initializeBlockchainSupport(): Promise<InitializationResult>;
|
|
|
1154
1145
|
*/
|
|
1155
1146
|
declare function isAdapterSupported(adapter: OrbitAdapter): Promise<boolean>;
|
|
1156
1147
|
|
|
1157
|
-
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-4FB4UCVM.js';import {d,h as h$1,t,p,w,g,c}from'./chunk-S6WXKVYP.js';export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,q as getAvailableChainIds,x as getAvailableSolanaClusters,p as getConnectChainId,t as getFilteredConnectors,r as getGroupedConnectors,n as getLabelWithFallback,v as getNetworkIcon,s as hasAvailableConnectors,u as hasConnectorsForAdapter,k as hasLabel,m as isDefaultLabels,y as isValidSolanaCluster,w 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,z as useWalletChainsList,A as useWalletNativeBalance}from'./chunk-S6WXKVYP.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-B2NRY4JV.js';import {a}from'./chunk-3BMX6JWH.js';import {h,f}from'./chunk-P5ZBSLGK.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';import {isAddress}from'gill';var ue=({title:o,rawError:e,onCopyComplete:a,errorType:r,isConnected:t,...f})=>jsx(D,{title:o,rawError:e,onCopyComplete:a,customization:f.customization}),Ce=o=>{let e=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},fe=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ve=o=>{o();},ye=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},ge=o=>o,be=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:a=7e3,draggable:r=false,customization:t}){let f=h$1(),u=h(c=>c.switchNetworkError),R=h(c=>c.activeConnection),B=h(c=>c.connectionError),{ToastError:N=ue,Container:y=Ce}=t?.components??{},{showError:d=fe,dismissError:S=ve,onCopyComplete:H=ye}=t?.handlers??{},{errorTitle:T=ge,errorHash:E=be}=t??{},M=useRef(new Set),x=useRef(null),s=useMemo(()=>{let c=!!B,b=!!u,P=!!R?.isConnected;return {hasWalletError:c,hasSwitchError:b,isConnected:P,hasAnyError:c||b,primaryError:B||u||null,errorType:c?"wallet":b?"switch":null}},[B,u,R?.isConnected]),z=useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=useMemo(()=>E(W,{primaryError:s.primaryError,errorType:s.errorType}),[E,W,s.primaryError,s.errorType]),D=useCallback(()=>{S(()=>{x.current&&(toast.dismiss(x.current),x.current=null),toast.dismiss({containerId:o});});},[o,S]),F=useCallback((c,b)=>{H(c,b,s.errorType);},[H,s.errorType]),n=useCallback((c,b,P)=>{if(D(),!M.current.has(P))try{let V={containerId:o,toastId:P,onClose:()=>{M.current.delete(P),x.current=null;}},_=t?.toastOptions?.error?.({title:c,rawError:b,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};toast.error(jsx(N,{title:c,rawError:b,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,b),customization:t?.toastErrorCustomization}),q),M.current.add(P),x.current=P;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,N,s.errorType,s.isConnected,F]),v=useCallback((c,b,P)=>{d(n,{title:c,rawError:b,errorKey:P,errorType:s.errorType});},[n,d,s.errorType]);useEffect(()=>{let{hasAnyError:c,isConnected:b,primaryError:P}=s;if(b&&!c){D(),M.current.clear();return}if(c&&P&&C){if(b&&s.errorType!=="switch")return;v(m,P,C);}},[s,m,C,v,D]),useEffect(()=>()=>{D(),M.current.clear();},[D]);let g=useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:a,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:r,pauseOnHover:true,theme:"light",transition:Bounce}),[o,e,a,r]),h$2=useMemo(()=>({...p,...t?.containerProps,className:g}),[p,t?.containerProps,g]);return jsx(y,{...h$2})}Mo.displayName="ErrorsProvider";function Po({labels:o,children:e}){let a=useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:a,children:e})}Po.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let a=o.find(r=>r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"?formatConnectorName(r.name)===e:false);return a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?a.name:void 0}var Jo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("div",{ref:t,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...r,children:e}));Jo.displayName="DefaultModalContainer";var Qo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("div",{ref:t,className:o,...r,children:jsx(DialogHeader,{children:e})}));Qo.displayName="DefaultModalHeader";var Xo=forwardRef(({className:o,onClick:e,modalData:a,...r},t)=>jsx("button",{ref:t,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:e,...r,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx(DialogTitle,{ref:t,className:cn("novacon:flex novacon:items-center",o),...r,children:e}));Yo.displayName="DefaultTitle";var Zo=forwardRef(({className:o,onClick:e,modalData:a,...r},t)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:t,type:"button",onClick:e,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),...r,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));Zo.displayName="DefaultCloseButton";var oe=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("main",{ref:t,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...r,children:e}));oe.displayName="DefaultMainContent";var ee=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("footer",{ref:t,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",...r,children:e}));ee.displayName="DefaultFooter";var te=forwardRef(({className:o,onClick:e,children:a,modalData:r,...t},f)=>jsx("button",{ref:f,type:"button",onClick:e,className:cn(standardButtonClasses,o),...t,children:a}));te.displayName="DefaultBackButton";var ne=forwardRef(({className:o,onClick:e,children:a,disabled:r,loading:t,buttonConfig:f,modalData:u,...R},B)=>jsx("button",{ref:B,type:"button",onClick:e,disabled:r||t,className:cn(standardButtonClasses,o),...R,children:t?"Loading...":a}));ne.displayName="DefaultActionButton";var re=forwardRef(({className:o,children:e,modalData:a,...r},t)=>jsx("span",{ref:t,className:cn("novacon:sr-only",o),...r,children:e}));re.displayName="DefaultActionDescription";var ae=forwardRef(({children:o,className:e,...a},r)=>{let{modalData:t,...f}=a;return jsx("div",{ref:r,className:e,...f,children:o})});ae.displayName="DefaultEmptyState";var No=memo(({appChains:o,solanaRPCUrls:e,withImpersonated:a,customization:r={}})=>{let{isConnectModalOpen:t$1,setIsConnectModalOpen:f$1,setConnectModalContentType:u,setActiveConnector:R,setImpersonatedAddress:B$1,setIsConnected:N,connectModalContentType:y$1,selectedAdapter:d$1,setSelectedAdapter:S,isConnected:H,activeConnector:T,impersonatedAddress:E}=d(),M=h(l=>l.connectionError),x=h(l=>l.getConnectors),s$1=h(l=>l.connect),z$1=h(l=>l.activeConnection),m=h$1(),W=useContext(f),C$1=useMemo(()=>{if(t$1)return x()},[t$1,x]),D=useMemo(()=>t({connectors:C$1,selectedAdapter:d$1}),[C$1,d$1]),F=useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),n=useMemo(()=>({contentType:y$1,selectedAdapter:d$1,activeConnector:T,impersonatedAddress:E,isConnected:H,isOpen:t$1,error:F,connectors:C$1,filteredConnectors:D,labels:m}),[y$1,d$1,T,E,H,t$1,F,C$1,D,m]);useEffect(()=>{t$1&&(u("connectors"),S(void 0),R(void 0),B$1(""),N(false));},[t$1]);let{components:v$1={},classNames:g={},handlers:p$1={},config:h$2={},childComponents:c={}}=r,b=v$1.ModalContainer||Jo,P=v$1.ModalHeader||Qo,V=v$1.InfoButton||Xo,_=v$1.Title||Yo,q=v$1.CloseButton||Zo,J=v$1.MainContent||oe,Q=v$1.Footer||ee,so=v$1.BackButton||te,X=v$1.ActionButton||ne,io=v$1.ActionDescription||re,G=v$1.EmptyState||ae,Co=v$1.Dialog||Dialog,co=v$1.DialogContent||DialogContent,eo=v$1.MotionDiv||motion.div,to=useCallback(()=>{switch(y$1){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d$1&&T&&C$1&&ze(C$1[d$1],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[y$1,d$1,T,C$1,m]),Y=useCallback(()=>"connectors",[y$1]),Z=useCallback(l=>{p$1?.onOpenChange?p$1.onOpenChange(l,n):f$1(l);},[p$1?.onOpenChange,n,f$1]),fo=useCallback(()=>{let l=()=>u(Y());p$1?.onBack?p$1.onBack(n,l):l();},[p$1?.onBack,n,u,Y]),vo=useCallback(()=>{p$1?.onInfoClick?p$1.onInfoClick(n):u("about");},[p$1?.onInfoClick,n,u]),j=useCallback(async(l,yo)=>{await s$1({connectorType:l,chainId:p({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await waitFor(()=>W?.getState().activeConnection?.isConnected),N(!0);let go=setTimeout(()=>f$1(!1),400),le=setTimeout(()=>N(!1),500);await delay(null,500),clearTimeout(go),clearTimeout(le);}catch(go){console.error(go);}},[s$1,o,d$1,e]),$=useCallback(async(l,yo)=>{S(l),u("connecting"),await j(yo,l);},[j]),Bo=useCallback(l=>{R(formatConnectorName(l.name)),l.adapters.length===1?(S(l.adapters[0]),u(formatConnectorName(l.name)==="impersonatedwallet"?"impersonate":"connecting")):d$1?u(formatConnectorName(l.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(l.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d$1]),ie=useCallback(()=>{switch(y$1){case "network":return jsx(B,{activeConnector:T,connectors:D,onClick:$,customization:c.networkSelections});case "connectors":return C$1?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(C$1),selectedAdapter:d$1,onSelect:l=>S(l),customization:c.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(C$1).length===1,connectors:D,selectedAdapter:d$1,onClick:Bo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:N,setIsOpen:f$1,withImpersonated:a,customization:c.connectorsSelections})]}):jsx(G,{className:g.emptyConnectors?.({modalData:n}),modalData:n,children:"No connectors available"});case "about":return jsx(s,{customization:c.aboutWallets});case "getWallet":return jsx(z,{customization:c.getWallet});case "connecting":return jsx(v,{selectedAdapter:d$1,connectors:D,activeConnector:T,isConnected:H,customization:c.connecting});case "impersonate":return jsx(A,{selectedAdapter:d$1,impersonatedAddress:E,setImpersonatedAddress:B$1,customization:c.impersonateForm})}},[y$1,T,D,$,c,C$1,d$1,Bo,H,E]),K=useCallback(()=>{switch(y$1){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p$1.onActionClick?.connectors?p$1.onActionClick.connectors(n):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p$1.onActionClick?.getWallet?p$1.onActionClick.getWallet(n):window.open(w[d$1??Object.keys(C$1)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p$1.onActionClick?.about?p$1.onActionClick.about(n):window.open(w[d$1??Object.keys(C$1)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p$1.onActionClick?.impersonate)await p$1.onActionClick.impersonate(n);else {let l=E.trim();if(M||!l||isAddress(l)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(l),u("connecting"),await j(getConnectorTypeFromName(d$1??OrbitAdapter.EVM,T??""),d$1??OrbitAdapter.EVM);}}};case "connecting":return M&&d$1&&T?{title:m.tryAgain,onClick:async()=>{p$1.onActionClick?.connecting?await p$1.onActionClick.connecting(n):await j(getConnectorTypeFromName(d$1,T),d$1);}}:void 0}},[y$1,m,p$1,n,d$1,C$1,E,M,j,T])(),ce=useCallback(()=>{switch(y$1){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 ""}},[y$1]);return jsx(Co,{open:t$1,onOpenChange:Z,children:jsx(co,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(eo,{layout:true,transition:{layout:{duration:h$2.animation?.disabled?0:h$2.animation?.layoutDuration??1e-4}},children:jsxs(b,{className:g.modalContainer?.({modalData:n}),modalData:n,children:[jsxs(P,{className:g.header?.({modalData:n}),modalData:n,children:[jsxs(_,{className:g.title?.({modalData:n}),modalData:n,children:[y$1==="connectors"&&jsx(V,{className:g.infoButton?.({modalData:n}),onClick:vo,"aria-label":h$2.ariaLabels?.infoButton?.(n)||`${m.learnMore} ${m.aboutWallets}`,modalData:n}),to()]}),jsx(q,{className:g.closeButton?.({modalData:n}),onClick:()=>Z(false),"aria-label":h$2.ariaLabels?.closeButton?.(n)||m.closeModal,modalData:n})]}),jsx(J,{className:g.mainContent?.({modalData:n}),modalData:n,children:ie()}),jsxs(Q,{className:g.footer?.({modalData:n}),modalData:n,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:y$1!=="connectors"&&jsx(so,{className:g.backButton?.({modalData:n}),onClick:fo,"aria-label":h$2.ariaLabels?.backButton?.(n)||`${m.back} to previous step`,modalData:n,children:m.back})}),K&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(X,{className:g.actionButton?.({modalData:n,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:n,buttonConfig:K,children:K.title}),jsx(io,{id:"bottom-action-description",className:g.actionDescription?.({modalData:n}),modalData:n,children:ce()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsx(Po,{labels:o,children:e}),Ve=({customization:o})=>jsx(Mo,{customization:o}),Ue=(o,e)=>deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,a)=>o;function Ke({labels:o,children:e,appChains:a$1,solanaRPCUrls:r$1,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:R,withChain:B,customization:N}){let y=h($=>$.activeConnection),d=h($=>$.connectionError),{LabelsProvider:S=Fe,ErrorsProvider:H=Ve}=N?.components??{},{merge:T=Ue,transform:E=Ge}=N?.labels??{},{transform:M=je}=N?.contextValue??{},{providerTree:x=$e}=N?.rendering??{},s=useMemo(()=>T(a,o||{}),[o,T]),[z,m]=useState(false),[W,C]=useState(false),[D,F]=useState(false),[n,v]=useState(false),[g,p]=useState("idle"),[h$1,c$1]=useState("connectors"),[b,P]=useState(void 0),[V,_]=useState(void 0),[q,J]=useState(""),[Q,so]=useState(false),[X,io]=useState("main"),G=useMemo(()=>({isConnected:Q,activeConnection:y,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:n},contentTypes:{connectModal:h$1,connectedModal:X},statuses:{connectedButton:g}}),[Q,y,d,z,W,D,n,h$1,X,g]),Co=useMemo(()=>E(s,G),[s,E,G]),co=useMemo(()=>M({appChains:a$1,solanaRPCUrls:r$1,withImpersonated:u,withBalance:R,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:n,setIsChainsListOpenMobile:v,connectedButtonStatus:g,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h$1,setConnectModalContentType:c$1,selectedAdapter:b,setSelectedAdapter:P,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[a$1,r$1,u,R,B,z,m,W,C,D,F,n,v,g,p,X,io,h$1,c$1,b,P,V,_,q,J,Q,so,M,G]),eo=jsx(H,{customization:N?.errors}),to=jsx(S,{labels:Co,children:e}),Y=a$1||r$1?jsx(No,{withImpersonated:u,solanaRPCUrls:r$1,appChains:a$1,customization:N?.modals?.connectModal}):null,Z=a$1||r$1?jsx(r,{solanaRPCUrls:r$1,appChains:a$1,transactionPool:t,pulsarAdapter:f,customization:N?.modals?.connectedModal}):null,fo=jsxs(c.Provider,{value:co,children:[eo,to,Y,Z]}),vo=jsxs(c.Provider,{value:co,children:[eo,to,Y,Z]}),j=x(vo,{ErrorsProvider:eo,LabelsProvider:to,MainContent:fo,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G);return jsx(Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function Jn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-FGTS3CWJ.js');return {hasEvmUtils:await ho(),hasSolanaUtils:await wo(),adaptersStatus:o()}}async function ho(){try{return await import('./utils-5KC7QXWB.js'),!0}catch{return false}}async function wo(){try{return await import('./utils-YYMTL3XH.js'),!0}catch{return false}}async function Qn(){try{return {available:!0,...await import('./evm/index.js')}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Xn(){try{return {available:!0,...await import('./solana/index.js')}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Yn(){let o={evm:false,solana:false,errors:[]};try{let{preloadChainAdapters:e}=await import('./getChainsListByConnectorType-FGTS3CWJ.js');await e([OrbitAdapter.EVM,OrbitAdapter.SOLANA]),o.evm=await ho(),o.solana=await wo();}catch(e){let a=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(a);}return o}async function Zn(o){switch(o){case OrbitAdapter.EVM:return ho();case OrbitAdapter.SOLANA:return wo();case OrbitAdapter.Starknet:return false;default:return false}}export{Mo as ErrorsProvider,Po as NovaConnectLabelsProvider,Ke as NovaConnectProvider,Jn as getBlockchainUtilities,Qn as getEvmUtils,Xn as getSolanaUtils,Yn as initializeBlockchainSupport,Zn 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 ue=({title:o,rawError:e,onCopyComplete:n,errorType:a,isConnected:t,...f})=>jsx(D,{title:o,rawError:e,onCopyComplete:n,customization:f.customization}),Ce=o=>{let e=h$1();return jsx(ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},fe=(o,e)=>{o(e.title,e.rawError,e.errorKey);},ve=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},be=o=>o,ye=o=>o;function Mo({containerId:o="nova-connect-errors",position:e="top-center",autoClose:n=7e3,draggable:a=false,customization:t}){let f=h$1(),u=h(l=>l.switchNetworkError),x=h(l=>l.activeConnection),B=h(l=>l.connectionError),{ToastError:E=ue,Container:g=Ce}=t?.components??{},{showError:d=fe,dismissError:O=ve,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=be,errorHash:N=ye}=t??{},P=useRef(new Set),R=useRef(null),s=useMemo(()=>{let l=!!B,y=!!u,M=!!x?.isConnected;return {hasWalletError:l,hasSwitchError:y,isConnected:M,hasAnyError:l||y,primaryError:B||u||null,errorType:l?"wallet":y?"switch":null}},[B,u,x?.isConnected]),z=useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=useMemo(()=>N(W,{primaryError:s.primaryError,errorType:s.errorType}),[N,W,s.primaryError,s.errorType]),D=useCallback(()=>{O(()=>{R.current&&(toast.dismiss(R.current),R.current=null),toast.dismiss({containerId:o});});},[o,O]),F=useCallback((l,y)=>{H(l,y,s.errorType);},[H,s.errorType]),r=useCallback((l,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),R.current=null;}},_=t?.toastOptions?.error?.({title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};toast.error(jsx(E,{title:l,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),R.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,E,s.errorType,s.isConnected,F]),v=useCallback((l,y,M)=>{d(r,{title:l,rawError:y,errorKey:M,errorType:s.errorType});},[r,d,s.errorType]);useEffect(()=>{let{hasAnyError:l,isConnected:y,primaryError:M}=s;if(y&&!l){D(),P.current.clear();return}if(l&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),useEffect(()=>()=>{D(),P.current.clear();},[D]);let b=useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:ToastCloseButton,autoClose:n,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:Bounce}),[o,e,n,a]),h$2=useMemo(()=>({...p,...t?.containerProps,className:b}),[p,t?.containerProps,b]);return jsx(g,{...h$2})}Mo.displayName="ErrorsProvider";function Eo({labels:o,children:e}){let n=useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsx(g.Provider,{value:n,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let n=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?formatConnectorName(a.name)===e:false);if(n&&typeof n=="object"&&"name"in n&&typeof n.name=="string")return n.name}var Jo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("div",{ref:t,className:cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Jo.displayName="DefaultModalContainer";var Qo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("div",{ref:t,className:o,...a,children:jsx(DialogHeader,{children:e})}));Qo.displayName="DefaultModalHeader";var Xo=forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsx("button",{ref:t,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:e,...a,children:jsx(InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Xo.displayName="DefaultInfoButton";var Yo=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx(DialogTitle,{ref:t,className:cn("novacon:flex novacon:items-center",o),...a,children:e}));Yo.displayName="DefaultTitle";var Zo=forwardRef(({className:o,onClick:e,modalData:n,...a},t)=>jsx(DialogClose,{asChild:true,children:jsx("button",{ref:t,type:"button",onClick:e,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),...a,children:jsx(CloseIcon,{"aria-hidden":"true"})})}));Zo.displayName="DefaultCloseButton";var oe=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("main",{ref:t,className:cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));oe.displayName="DefaultMainContent";var ee=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("footer",{ref:t,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",...a,children:e}));ee.displayName="DefaultFooter";var te=forwardRef(({className:o,onClick:e,children:n,modalData:a,...t},f)=>jsx("button",{ref:f,type:"button",onClick:e,className:cn(standardButtonClasses,o),...t,children:n}));te.displayName="DefaultBackButton";var ne=forwardRef(({className:o,onClick:e,children:n,disabled:a,loading:t,buttonConfig:f,modalData:u,...x},B)=>jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:cn(standardButtonClasses,o),...x,children:t?"Loading...":n}));ne.displayName="DefaultActionButton";var re=forwardRef(({className:o,children:e,modalData:n,...a},t)=>jsx("span",{ref:t,className:cn("novacon:sr-only",o),...a,children:e}));re.displayName="DefaultActionDescription";var ae=forwardRef(({children:o,className:e,...n},a)=>{let{modalData:t,...f}=n;return jsx("div",{ref:a,className:e,...f,children:o})});ae.displayName="DefaultEmptyState";var No=memo(({appChains:o,solanaRPCUrls:e,withImpersonated:n,customization:a={}})=>{let{isConnectModalOpen:t$1,setIsConnectModalOpen:f$1,setConnectModalContentType:u,setActiveConnector:x,setImpersonatedAddress:B$1,setIsConnected:E,connectModalContentType:g,selectedAdapter:d$1,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:N}=d(),P=h(c=>c.connectionError),R=h(c=>c.getConnectors),s$1=h(c=>c.connect),z$1=h(c=>c.activeConnection),m=h$1(),W=useContext(f),C$1=useMemo(()=>{if(t$1)return R()},[t$1,R]),D=useMemo(()=>t({connectors:C$1,selectedAdapter:d$1}),[C$1,d$1]),F=useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),r=useMemo(()=>({contentType:g,selectedAdapter:d$1,activeConnector:T,impersonatedAddress:N,isConnected:H,isOpen:t$1,error:F,connectors:C$1,filteredConnectors:D,labels:m}),[g,d$1,T,N,H,t$1,F,C$1,D,m]);useEffect(()=>{t$1&&(u("connectors"),O(void 0),x(void 0),B$1(""),E(false));},[t$1]);let{components:v$1={},classNames:b={},handlers:p$1={},config:h$2={},childComponents:l={}}=a,y$1=v$1.ModalContainer||Jo,M=v$1.ModalHeader||Qo,V=v$1.InfoButton||Xo,_=v$1.Title||Yo,q=v$1.CloseButton||Zo,J=v$1.MainContent||oe,Q=v$1.Footer||ee,so=v$1.BackButton||te,X=v$1.ActionButton||ne,io=v$1.ActionDescription||re,G=v$1.EmptyState||ae,vo=v$1.Dialog||Dialog,lo=v$1.DialogContent||DialogContent,to=v$1.MotionDiv||motion.div,no=useCallback(()=>{switch(g){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d$1&&T&&C$1&&ze(C$1[d$1],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[g,d$1,T,C$1,m]),Y=useCallback(()=>"connectors",[g]),Z=useCallback(c=>{p$1?.onOpenChange?p$1.onOpenChange(c,r):f$1(c);},[p$1?.onOpenChange,r,f$1]),go=useCallback(()=>{let c=()=>u(Y());p$1?.onBack?p$1.onBack(r,c):c();},[p$1?.onBack,r,u,Y]),bo=useCallback(()=>{p$1?.onInfoClick?p$1.onInfoClick(r):u("about");},[p$1?.onInfoClick,r,u]),j=useCallback(async(c,yo)=>{await s$1({connectorType:c,chainId:p({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await waitFor(()=>W?.getState().activeConnection?.isConnected),E(!0);let To=setTimeout(()=>f$1(!1),400),ce=setTimeout(()=>E(!1),500);await delay(null,500),clearTimeout(To),clearTimeout(ce);}catch(To){console.error(To);}},[s$1,o,d$1,e]),$=useCallback(async(c,yo)=>{O(c),u("connecting"),await j(yo,c);},[j]),wo=useCallback(c=>{x(formatConnectorName(c.name)),c.adapters.length===1?(O(c.adapters[0]),u(formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting")):d$1?u(formatConnectorName(c.name)==="impersonatedwallet"?"impersonate":"connecting"):formatConnectorName(c.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d$1]),ie=useCallback(()=>{switch(g){case "network":return jsx(B,{activeConnector:T,connectors:D,onClick:$,customization:l.networkSelections});case "connectors":return C$1?jsxs(Fragment,{children:[jsx(C,{networks:Object.keys(C$1),selectedAdapter:d$1,onSelect:c=>O(c),customization:l.networkTabs}),jsx(y,{isOnlyOneNetwork:Object.keys(C$1).length===1,connectors:D,selectedAdapter:d$1,onClick:wo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:E,setIsOpen:f$1,withImpersonated:n,customization:l.connectorsSelections})]}):jsx(G,{className:b.emptyConnectors?.({modalData:r}),modalData:r,children:"No connectors available"});case "about":return jsx(s,{customization:l.aboutWallets});case "getWallet":return jsx(z,{customization:l.getWallet});case "connecting":return jsx(v,{selectedAdapter:d$1,connectors:D,activeConnector:T,isConnected:H,customization:l.connecting});case "impersonate":return jsx(A,{selectedAdapter:d$1,impersonatedAddress:N,setImpersonatedAddress:B$1,customization:l.impersonateForm})}},[g,T,D,$,l,C$1,d$1,wo,H,N]),K=useCallback(()=>{switch(g){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p$1.onActionClick?.connectors?p$1.onActionClick.connectors(r):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p$1.onActionClick?.getWallet?p$1.onActionClick.getWallet(r):window.open(getNetworkData(d$1??Object.keys(C$1)[0])?.links?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p$1.onActionClick?.about?p$1.onActionClick.about(r):window.open(getNetworkData(d$1??Object.keys(C$1)[0])?.links?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p$1.onActionClick?.impersonate)await p$1.onActionClick.impersonate(r);else {let c=N.trim();if(P||!c||isAddress(c)||z$1?.isConnected)return;impersonatedHelpers.setImpersonated(c),u("connecting"),await j(getConnectorTypeFromName(d$1??OrbitAdapter.EVM,T??""),d$1??OrbitAdapter.EVM);}}};case "connecting":return P&&d$1&&T?{title:m.tryAgain,onClick:async()=>{p$1.onActionClick?.connecting?await p$1.onActionClick.connecting(r):await j(getConnectorTypeFromName(d$1,T),d$1);}}:void 0}},[g,m,p$1,r,d$1,C$1,N,P,j,T])(),le=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(vo,{open:t$1,onOpenChange:Z,children:jsx(lo,{className:cn("novacon:w-full novacon:sm:max-w-md"),children:jsx(to,{layout:true,transition:{layout:{duration:h$2.animation?.disabled?0:h$2.animation?.layoutDuration??1e-4}},children:jsxs(y$1,{className:b.modalContainer?.({modalData:r}),modalData:r,children:[jsxs(M,{className:b.header?.({modalData:r}),modalData:r,children:[jsxs(_,{className:b.title?.({modalData:r}),modalData:r,children:[g==="connectors"&&jsx(V,{className:b.infoButton?.({modalData:r}),onClick:bo,"aria-label":h$2.ariaLabels?.infoButton?.(r)||`${m.learnMore} ${m.aboutWallets}`,modalData:r}),no()]}),jsx(q,{className:b.closeButton?.({modalData:r}),onClick:()=>Z(false),"aria-label":h$2.ariaLabels?.closeButton?.(r)||m.closeModal,modalData:r})]}),jsx(J,{className:b.mainContent?.({modalData:r}),modalData:r,children:ie()}),jsxs(Q,{className:b.footer?.({modalData:r}),modalData:r,children:[jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsx(so,{className:b.backButton?.({modalData:r}),onClick:go,"aria-label":h$2.ariaLabels?.backButton?.(r)||`${m.back} to previous step`,modalData:r,children:m.back})}),K&&jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsx(X,{className:b.actionButton?.({modalData:r,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:r,buttonConfig:K,children:K.title}),jsx(io,{id:"bottom-action-description",className:b.actionDescription?.({modalData:r}),modalData:r,children:le()})]})]})]})})})})});No.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsx(Mo,{customization:o}),Ue=(o,e)=>deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,n)=>o;function Ke({labels:o,children:e,appChains:n,solanaRPCUrls:a$1,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:x,withChain:B,customization:E}){let g=h($=>$.activeConnection),d=h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=E?.components??{},{merge:T=Ue,transform:N=Ge}=E?.labels??{},{transform:P=je}=E?.contextValue??{},{providerTree:R=$e}=E?.rendering??{},s=useMemo(()=>T(a,o||{}),[o,T]),[z,m]=useState(false),[W,C]=useState(false),[D,F]=useState(false),[r$1,v]=useState(false),[b,p]=useState("idle"),[h$1,l]=useState("connectors"),[y,M]=useState(void 0),[V,_]=useState(void 0),[q,J]=useState(""),[Q,so]=useState(false),[X,io]=useState("main"),G=useMemo(()=>({isConnected:Q,activeConnection:g,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:r$1},contentTypes:{connectModal:h$1,connectedModal:X},statuses:{connectedButton:b}}),[Q,g,d,z,W,D,r$1,h$1,X,b]),vo=useMemo(()=>N(s,G),[s,N,G]),lo=useMemo(()=>P({appChains:n,solanaRPCUrls:a$1,withImpersonated:u,withBalance:x,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:r$1,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h$1,setConnectModalContentType:l,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[n,a$1,u,x,B,z,m,W,C,D,F,r$1,v,b,p,X,io,h$1,l,y,M,V,_,q,J,Q,so,P,G]),to=jsx(H,{customization:E?.errors}),no=jsx(O,{labels:vo,children:e}),Y=n||a$1?jsx(No,{withImpersonated:u,solanaRPCUrls:a$1,appChains:n,customization:E?.modals?.connectModal}):null,Z=n||a$1?jsx(r,{solanaRPCUrls:a$1,appChains:n,transactionPool:t,pulsarAdapter:f,customization:E?.modals?.connectedModal}):null,go=jsxs(c.Provider,{value:lo,children:[to,no,Y,Z]}),bo=jsxs(c.Provider,{value:lo,children:[to,no,Y,Z]}),j=R(bo,{ErrorsProvider:to,LabelsProvider:no,MainContent:go,ConnectModal:Y||jsx(Fragment,{}),ConnectedModal:Z||jsx(Fragment,{})},G);return jsx(Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function _n(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-B3BLNZZH.js');return {hasEvmUtils:await Co(),hasSolanaUtils:await fo(),adaptersStatus:o()}}async function Co(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function fo(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function qn(){try{if(!await Co())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};let e=await import('./evm/index.js'),n=await e.getEvmExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Jn(){try{if(!await fo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};let e=await import('./solana/index.js'),n=await e.getSolanaExports();return n.available?{...e,...n}:{available:!1,error:n.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Qn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),n=await fo();if(e||n){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-B3BLNZZH.js'),t=[];e&&t.push(OrbitAdapter.EVM),n&&t.push(OrbitAdapter.SOLANA),await a(t),o.evm=e,o.solana=n;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let n=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(n);}return o}async function Xn(o){return o===OrbitAdapter.Starknet||o!==OrbitAdapter.EVM&&o!==OrbitAdapter.SOLANA?false:o===OrbitAdapter.EVM?Co():fo()}export{Mo as ErrorsProvider,Eo as NovaConnectLabelsProvider,Ke as NovaConnectProvider,_n as getBlockchainUtilities,qn as getEvmUtils,Jn as getSolanaUtils,Qn as initializeBlockchainSupport,Xn as isAdapterSupported};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|