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.
- package/README.md +114 -0
- package/dist/src/AbstraxnProvider.d.ts +20 -0
- package/dist/src/AbstraxnProvider.js +2213 -0
- package/dist/src/AbstraxnProvider.js.map +1 -0
- package/dist/src/ConnectButton.css +217 -0
- package/dist/src/ConnectButton.d.ts +71 -0
- package/dist/src/ConnectButton.js +102 -0
- package/dist/src/ConnectButton.js.map +1 -0
- package/dist/src/ExternalWalletButtons.css +319 -0
- package/dist/src/ExternalWalletButtons.d.ts +56 -0
- package/dist/src/ExternalWalletButtons.js +245 -0
- package/dist/src/ExternalWalletButtons.js.map +1 -0
- package/dist/src/OnboardingUI.d.ts +63 -0
- package/dist/src/OnboardingUI.js +66 -0
- package/dist/src/OnboardingUI.js.map +1 -0
- package/dist/src/WalletModal.css +549 -0
- package/dist/src/WalletModal.d.ts +6 -0
- package/dist/src/WalletModal.js +89 -0
- package/dist/src/WalletModal.js.map +1 -0
- package/dist/src/components/OnboardingUI/OnboardingUI.css +727 -0
- package/dist/src/components/OnboardingUI/OnboardingUIReact.d.ts +15 -0
- package/dist/src/components/OnboardingUI/OnboardingUIReact.js +65 -0
- package/dist/src/components/OnboardingUI/OnboardingUIReact.js.map +1 -0
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.d.ts +257 -0
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.js +3454 -0
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.js.map +1 -0
- package/dist/src/components/OnboardingUI/components/EmailForm.d.ts +16 -0
- package/dist/src/components/OnboardingUI/components/EmailForm.js +19 -0
- package/dist/src/components/OnboardingUI/components/EmailForm.js.map +1 -0
- package/dist/src/components/OnboardingUI/components/Modal.d.ts +15 -0
- package/dist/src/components/OnboardingUI/components/Modal.js +68 -0
- package/dist/src/components/OnboardingUI/components/Modal.js.map +1 -0
- package/dist/src/components/OnboardingUI/components/OtpForm.d.ts +19 -0
- package/dist/src/components/OnboardingUI/components/OtpForm.js +58 -0
- package/dist/src/components/OnboardingUI/components/OtpForm.js.map +1 -0
- package/dist/src/components/OnboardingUI/components/PasskeyButton.d.ts +14 -0
- package/dist/src/components/OnboardingUI/components/PasskeyButton.js +22 -0
- package/dist/src/components/OnboardingUI/components/PasskeyButton.js.map +1 -0
- package/dist/src/components/OnboardingUI/components/SocialButtons.d.ts +15 -0
- package/dist/src/components/OnboardingUI/components/SocialButtons.js +15 -0
- package/dist/src/components/OnboardingUI/components/SocialButtons.js.map +1 -0
- package/dist/src/components/OnboardingUI/components/index.d.ts +13 -0
- package/dist/src/components/OnboardingUI/components/index.js +9 -0
- package/dist/src/components/OnboardingUI/components/index.js.map +1 -0
- package/dist/src/components/OnboardingUI/hooks/index.d.ts +7 -0
- package/dist/src/components/OnboardingUI/hooks/index.js +6 -0
- package/dist/src/components/OnboardingUI/hooks/index.js.map +1 -0
- package/dist/src/components/OnboardingUI/hooks/useAuthMethods.d.ts +11 -0
- package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js +146 -0
- package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js.map +1 -0
- package/dist/src/components/OnboardingUI/hooks/useOnboarding.d.ts +21 -0
- package/dist/src/components/OnboardingUI/hooks/useOnboarding.js +135 -0
- package/dist/src/components/OnboardingUI/hooks/useOnboarding.js.map +1 -0
- package/dist/src/components/OnboardingUI/index.d.ts +12 -0
- package/dist/src/components/OnboardingUI/index.js +15 -0
- package/dist/src/components/OnboardingUI/index.js.map +1 -0
- package/dist/src/hooks.d.ts +204 -0
- package/dist/src/hooks.js +394 -0
- package/dist/src/hooks.js.map +1 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/index.js +11 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/types.d.ts +181 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/wagmiConfig.d.ts +147 -0
- package/dist/src/wagmiConfig.js +81 -0
- package/dist/src/wagmiConfig.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- 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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"}
|