signer-test-sdk-react 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +114 -0
  2. package/dist/src/AbstraxnProvider.d.ts +20 -0
  3. package/dist/src/AbstraxnProvider.js +2213 -0
  4. package/dist/src/AbstraxnProvider.js.map +1 -0
  5. package/dist/src/ConnectButton.css +217 -0
  6. package/dist/src/ConnectButton.d.ts +71 -0
  7. package/dist/src/ConnectButton.js +102 -0
  8. package/dist/src/ConnectButton.js.map +1 -0
  9. package/dist/src/ExternalWalletButtons.css +319 -0
  10. package/dist/src/ExternalWalletButtons.d.ts +56 -0
  11. package/dist/src/ExternalWalletButtons.js +245 -0
  12. package/dist/src/ExternalWalletButtons.js.map +1 -0
  13. package/dist/src/OnboardingUI.d.ts +63 -0
  14. package/dist/src/OnboardingUI.js +66 -0
  15. package/dist/src/OnboardingUI.js.map +1 -0
  16. package/dist/src/WalletModal.css +549 -0
  17. package/dist/src/WalletModal.d.ts +6 -0
  18. package/dist/src/WalletModal.js +89 -0
  19. package/dist/src/WalletModal.js.map +1 -0
  20. package/dist/src/components/OnboardingUI/OnboardingUI.css +727 -0
  21. package/dist/src/components/OnboardingUI/OnboardingUIReact.d.ts +15 -0
  22. package/dist/src/components/OnboardingUI/OnboardingUIReact.js +65 -0
  23. package/dist/src/components/OnboardingUI/OnboardingUIReact.js.map +1 -0
  24. package/dist/src/components/OnboardingUI/OnboardingUIWeb.d.ts +257 -0
  25. package/dist/src/components/OnboardingUI/OnboardingUIWeb.js +3454 -0
  26. package/dist/src/components/OnboardingUI/OnboardingUIWeb.js.map +1 -0
  27. package/dist/src/components/OnboardingUI/components/EmailForm.d.ts +16 -0
  28. package/dist/src/components/OnboardingUI/components/EmailForm.js +19 -0
  29. package/dist/src/components/OnboardingUI/components/EmailForm.js.map +1 -0
  30. package/dist/src/components/OnboardingUI/components/Modal.d.ts +15 -0
  31. package/dist/src/components/OnboardingUI/components/Modal.js +68 -0
  32. package/dist/src/components/OnboardingUI/components/Modal.js.map +1 -0
  33. package/dist/src/components/OnboardingUI/components/OtpForm.d.ts +19 -0
  34. package/dist/src/components/OnboardingUI/components/OtpForm.js +58 -0
  35. package/dist/src/components/OnboardingUI/components/OtpForm.js.map +1 -0
  36. package/dist/src/components/OnboardingUI/components/PasskeyButton.d.ts +14 -0
  37. package/dist/src/components/OnboardingUI/components/PasskeyButton.js +22 -0
  38. package/dist/src/components/OnboardingUI/components/PasskeyButton.js.map +1 -0
  39. package/dist/src/components/OnboardingUI/components/SocialButtons.d.ts +15 -0
  40. package/dist/src/components/OnboardingUI/components/SocialButtons.js +15 -0
  41. package/dist/src/components/OnboardingUI/components/SocialButtons.js.map +1 -0
  42. package/dist/src/components/OnboardingUI/components/index.d.ts +13 -0
  43. package/dist/src/components/OnboardingUI/components/index.js +9 -0
  44. package/dist/src/components/OnboardingUI/components/index.js.map +1 -0
  45. package/dist/src/components/OnboardingUI/hooks/index.d.ts +7 -0
  46. package/dist/src/components/OnboardingUI/hooks/index.js +6 -0
  47. package/dist/src/components/OnboardingUI/hooks/index.js.map +1 -0
  48. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.d.ts +11 -0
  49. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js +146 -0
  50. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js.map +1 -0
  51. package/dist/src/components/OnboardingUI/hooks/useOnboarding.d.ts +21 -0
  52. package/dist/src/components/OnboardingUI/hooks/useOnboarding.js +135 -0
  53. package/dist/src/components/OnboardingUI/hooks/useOnboarding.js.map +1 -0
  54. package/dist/src/components/OnboardingUI/index.d.ts +12 -0
  55. package/dist/src/components/OnboardingUI/index.js +15 -0
  56. package/dist/src/components/OnboardingUI/index.js.map +1 -0
  57. package/dist/src/hooks.d.ts +204 -0
  58. package/dist/src/hooks.js +394 -0
  59. package/dist/src/hooks.js.map +1 -0
  60. package/dist/src/index.d.ts +14 -0
  61. package/dist/src/index.js +11 -0
  62. package/dist/src/index.js.map +1 -0
  63. package/dist/src/types.d.ts +181 -0
  64. package/dist/src/types.js +2 -0
  65. package/dist/src/types.js.map +1 -0
  66. package/dist/src/wagmiConfig.d.ts +147 -0
  67. package/dist/src/wagmiConfig.js +81 -0
  68. package/dist/src/wagmiConfig.js.map +1 -0
  69. package/dist/tsconfig.tsbuildinfo +1 -0
  70. package/package.json +68 -0
@@ -0,0 +1,147 @@
1
+ import type { Chain } from 'viem';
2
+ import { type Chain as CoreChain } from 'signer-test-sdk-core';
3
+ /**
4
+ * Create wagmi config with external wallet connectors
5
+ * Note: Uses 'injected' connector which automatically detects MetaMask and other wallets
6
+ * without requiring @metamask/sdk
7
+ */
8
+ export declare function createWagmiConfig(chains?: CoreChain[], walletConnectProjectId?: string, enabledConnectors?: ('injected' | 'metaMask' | 'walletConnect')[], theme?: 'light' | 'dark'): import("@wagmi/core").Config<[Chain, ...Chain[]], Record<number, import("viem").HttpTransport<import("viem").RpcSchema | undefined, boolean>>, (import("@wagmi/core").CreateConnectorFn<{
9
+ on: <event extends keyof import("viem").EIP1193EventMap>(event: event, listener: import("viem").EIP1193EventMap[event]) => void;
10
+ removeListener: <event extends keyof import("viem").EIP1193EventMap>(event: event, listener: import("viem").EIP1193EventMap[event]) => void;
11
+ request: import("viem").EIP1193RequestFn<import("viem").EIP1474Methods>;
12
+ isApexWallet?: true | undefined;
13
+ isAvalanche?: true | undefined;
14
+ isBackpack?: true | undefined;
15
+ isBifrost?: true | undefined;
16
+ isBitKeep?: true | undefined;
17
+ isBitski?: true | undefined;
18
+ isBlockWallet?: true | undefined;
19
+ isBraveWallet?: true | undefined;
20
+ isCoinbaseWallet?: true | undefined;
21
+ isDawn?: true | undefined;
22
+ isEnkrypt?: true | undefined;
23
+ isExodus?: true | undefined;
24
+ isFrame?: true | undefined;
25
+ isFrontier?: true | undefined;
26
+ isGamestop?: true | undefined;
27
+ isHyperPay?: true | undefined;
28
+ isImToken?: true | undefined;
29
+ isKuCoinWallet?: true | undefined;
30
+ isMathWallet?: true | undefined;
31
+ isMetaMask?: true | undefined;
32
+ isOkxWallet?: true | undefined;
33
+ isOKExWallet?: true | undefined;
34
+ isOneInchAndroidWallet?: true | undefined;
35
+ isOneInchIOSWallet?: true | undefined;
36
+ isOpera?: true | undefined;
37
+ isPhantom?: true | undefined;
38
+ isPortal?: true | undefined;
39
+ isRabby?: true | undefined;
40
+ isRainbow?: true | undefined;
41
+ isStatus?: true | undefined;
42
+ isTally?: true | undefined;
43
+ isTokenPocket?: true | undefined;
44
+ isTokenary?: true | undefined;
45
+ isTrust?: true | undefined;
46
+ isTrustWallet?: true | undefined;
47
+ isUniswapWallet?: true | undefined;
48
+ isXDEFI?: true | undefined;
49
+ isZerion?: true | undefined;
50
+ providers?: {
51
+ on: <event extends keyof import("viem").EIP1193EventMap>(event: event, listener: import("viem").EIP1193EventMap[event]) => void;
52
+ removeListener: <event extends keyof import("viem").EIP1193EventMap>(event: event, listener: import("viem").EIP1193EventMap[event]) => void;
53
+ request: import("viem").EIP1193RequestFn<import("viem").EIP1474Methods>;
54
+ isApexWallet?: true | undefined;
55
+ isAvalanche?: true | undefined;
56
+ isBackpack?: true | undefined;
57
+ isBifrost?: true | undefined;
58
+ isBitKeep?: true | undefined;
59
+ isBitski?: true | undefined;
60
+ isBlockWallet?: true | undefined;
61
+ isBraveWallet?: true | undefined;
62
+ isCoinbaseWallet?: true | undefined;
63
+ isDawn?: true | undefined;
64
+ isEnkrypt?: true | undefined;
65
+ isExodus?: true | undefined;
66
+ isFrame?: true | undefined;
67
+ isFrontier?: true | undefined;
68
+ isGamestop?: true | undefined;
69
+ isHyperPay?: true | undefined;
70
+ isImToken?: true | undefined;
71
+ isKuCoinWallet?: true | undefined;
72
+ isMathWallet?: true | undefined;
73
+ isMetaMask?: true | undefined;
74
+ isOkxWallet?: true | undefined;
75
+ isOKExWallet?: true | undefined;
76
+ isOneInchAndroidWallet?: true | undefined;
77
+ isOneInchIOSWallet?: true | undefined;
78
+ isOpera?: true | undefined;
79
+ isPhantom?: true | undefined;
80
+ isPortal?: true | undefined;
81
+ isRabby?: true | undefined;
82
+ isRainbow?: true | undefined;
83
+ isStatus?: true | undefined;
84
+ isTally?: true | undefined;
85
+ isTokenPocket?: true | undefined;
86
+ isTokenary?: true | undefined;
87
+ isTrust?: true | undefined;
88
+ isTrustWallet?: true | undefined;
89
+ isUniswapWallet?: true | undefined;
90
+ isXDEFI?: true | undefined;
91
+ isZerion?: true | undefined;
92
+ providers?: /*elided*/ any[] | undefined | undefined;
93
+ _events?: {
94
+ connect?: (() => void) | undefined;
95
+ } | undefined | undefined;
96
+ _state?: {
97
+ accounts?: string[];
98
+ initialized?: boolean;
99
+ isConnected?: boolean;
100
+ isPermanentlyDisconnected?: boolean;
101
+ isUnlocked?: boolean;
102
+ } | undefined | undefined;
103
+ }[] | undefined | undefined;
104
+ _events?: {
105
+ connect?: (() => void) | undefined;
106
+ } | undefined | undefined;
107
+ _state?: {
108
+ accounts?: string[];
109
+ initialized?: boolean;
110
+ isConnected?: boolean;
111
+ isPermanentlyDisconnected?: boolean;
112
+ isUnlocked?: boolean;
113
+ } | undefined | undefined;
114
+ } | undefined, {
115
+ onConnect(connectInfo: import("viem").ProviderConnectInfo): void;
116
+ }, {
117
+ [x: `${string}.disconnected`]: true;
118
+ "injected.connected": true;
119
+ }> | import("@wagmi/core").CreateConnectorFn<import("@walletconnect/ethereum-provider").default, {
120
+ connect<withCapabilities extends boolean = false>(parameters?: {
121
+ chainId?: number | undefined;
122
+ isReconnecting?: boolean | undefined;
123
+ pairingTopic?: string | undefined;
124
+ withCapabilities?: withCapabilities | boolean | undefined;
125
+ }): Promise<{
126
+ accounts: withCapabilities extends true ? readonly {
127
+ address: import("viem").Address;
128
+ }[] : readonly import("viem").Address[];
129
+ chainId: number;
130
+ }>;
131
+ getNamespaceChainsIds(): number[];
132
+ getRequestedChainsIds(): Promise<number[]>;
133
+ isChainsStale(): Promise<boolean>;
134
+ onConnect(connectInfo: import("viem").ProviderConnectInfo): void;
135
+ onDisplayUri(uri: string): void;
136
+ onSessionDelete(data: {
137
+ topic: string;
138
+ }): void;
139
+ setRequestedChainsIds(chains: number[]): void;
140
+ requestedChainsStorageKey: `${string}.requestedChains`;
141
+ }, {
142
+ [x: `${string}.requestedChains`]: number[];
143
+ }>)[]>;
144
+ /**
145
+ * External wallet connector types
146
+ */
147
+ export type ExternalWalletConnector = 'injected' | 'metaMask' | 'walletConnect';
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Wagmi configuration for external wallet support
3
+ */
4
+ import { createConfig, http } from '@wagmi/core';
5
+ import { injected, walletConnect } from 'wagmi/connectors';
6
+ import { polygonAmoy } from 'viem/chains';
7
+ import { SUPPORTED_CHAINS } from 'signer-test-sdk-core';
8
+ /**
9
+ * Convert internal Chain type to viem Chain type
10
+ * Uses viem's built-in chain definitions when available for better compatibility
11
+ */
12
+ function convertToViemChain(chain) {
13
+ // Use viem's built-in chain for Polygon Amoy if available
14
+ if (chain.id === 80002) {
15
+ return polygonAmoy;
16
+ }
17
+ return {
18
+ id: chain.id,
19
+ name: chain.name,
20
+ nativeCurrency: chain.nativeCurrency,
21
+ rpcUrls: {
22
+ default: {
23
+ http: [chain.rpcUrl],
24
+ },
25
+ },
26
+ };
27
+ }
28
+ /**
29
+ * Create wagmi config with external wallet connectors
30
+ * Note: Uses 'injected' connector which automatically detects MetaMask and other wallets
31
+ * without requiring @metamask/sdk
32
+ */
33
+ export function createWagmiConfig(chains, walletConnectProjectId, enabledConnectors, theme) {
34
+ const viemChains = chains
35
+ ? chains.map(convertToViemChain)
36
+ : SUPPORTED_CHAINS.map(convertToViemChain);
37
+ const connectors = [];
38
+ // Add connectors based on enabled list
39
+ // Note: 'injected' connector will automatically detect MetaMask and other injected wallets
40
+ // without requiring @metamask/sdk. The 'metaMask' connector option is mapped to 'injected'
41
+ const connectorsToAdd = enabledConnectors || ['injected'];
42
+ // Map 'metaMask' to 'injected' since injected connector works with MetaMask without @metamask/sdk
43
+ const normalizedConnectors = connectorsToAdd.map(connector => connector === 'metaMask' ? 'injected' : connector);
44
+ // Remove duplicates
45
+ const uniqueConnectors = [...new Set(normalizedConnectors)];
46
+ if (uniqueConnectors.includes('injected')) {
47
+ // Injected connector detects MetaMask, Coinbase Wallet, and other browser-injected wallets
48
+ // This works without requiring @metamask/sdk
49
+ connectors.push(injected());
50
+ }
51
+ // WalletConnect connector
52
+ if (uniqueConnectors.includes('walletConnect')) {
53
+ if (!walletConnectProjectId) {
54
+ console.warn('WalletConnect project ID is required for WalletConnect connector. Skipping...');
55
+ }
56
+ else {
57
+ connectors.push(walletConnect({
58
+ projectId: walletConnectProjectId,
59
+ showQrModal: true,
60
+ qrModalOptions: {
61
+ themeMode: theme === 'dark' ? 'dark' : 'light',
62
+ },
63
+ }));
64
+ }
65
+ }
66
+ // Ensure we have at least one chain
67
+ if (viemChains.length === 0) {
68
+ throw new Error('At least one chain is required');
69
+ }
70
+ return createConfig({
71
+ chains: viemChains,
72
+ connectors,
73
+ transports: viemChains.reduce((acc, chain) => {
74
+ acc[chain.id] = http();
75
+ return acc;
76
+ }, {}),
77
+ // Disable auto-connect - require explicit user action
78
+ ssr: false,
79
+ });
80
+ }
81
+ //# sourceMappingURL=wagmiConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wagmiConfig.js","sourceRoot":"","sources":["../../src/wagmiConfig.ts"],"names":[],"mappings":"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"}