@zerodev/wallet-react-ui 0.0.6 → 0.0.8
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 +69 -10
- package/dist/_types/auth/authStoreSlice.d.ts +3 -4
- package/dist/_types/auth/authStoreSlice.d.ts.map +1 -1
- package/dist/_types/auth/components/WalletGridSheet/index.d.ts +15 -0
- package/dist/_types/auth/components/WalletGridSheet/index.d.ts.map +1 -0
- package/dist/_types/auth/hooks/useAuth.d.ts +0 -2
- package/dist/_types/auth/hooks/useAuth.d.ts.map +1 -1
- package/dist/_types/auth/index.d.ts +9 -1
- package/dist/_types/auth/index.d.ts.map +1 -1
- package/dist/_types/auth/pages/OtpInput.d.ts.map +1 -1
- package/dist/_types/auth/pages/SignUp/Email.d.ts +4 -0
- package/dist/_types/auth/pages/SignUp/Email.d.ts.map +1 -0
- package/dist/_types/auth/pages/SignUp/Google.d.ts +3 -0
- package/dist/_types/auth/pages/SignUp/Google.d.ts.map +1 -0
- package/dist/_types/auth/pages/SignUp/InstalledWallets.d.ts +12 -0
- package/dist/_types/auth/pages/SignUp/InstalledWallets.d.ts.map +1 -0
- package/dist/_types/auth/pages/SignUp/MoreWallets.d.ts +5 -0
- package/dist/_types/auth/pages/SignUp/MoreWallets.d.ts.map +1 -0
- package/dist/_types/auth/pages/SignUp/Passkey.d.ts +3 -0
- package/dist/_types/auth/pages/SignUp/Passkey.d.ts.map +1 -0
- package/dist/_types/auth/pages/SignUp/Wallet.d.ts +7 -0
- package/dist/_types/auth/pages/SignUp/Wallet.d.ts.map +1 -0
- package/dist/_types/auth/pages/SignUp/context.d.ts +30 -0
- package/dist/_types/auth/pages/SignUp/context.d.ts.map +1 -0
- package/dist/_types/auth/pages/SignUp/index.d.ts +37 -0
- package/dist/_types/auth/pages/SignUp/index.d.ts.map +1 -0
- package/dist/_types/auth/pages/Verifying.d.ts.map +1 -1
- package/dist/_types/auth/types.d.ts +2 -10
- package/dist/_types/auth/types.d.ts.map +1 -1
- package/dist/_types/auth/utils/isCancellationError.d.ts +2 -0
- package/dist/_types/auth/utils/isCancellationError.d.ts.map +1 -0
- package/dist/_types/auth/walletGuide.d.ts +108 -0
- package/dist/_types/auth/walletGuide.d.ts.map +1 -0
- package/dist/_types/connector.d.ts +3 -13
- package/dist/_types/connector.d.ts.map +1 -1
- package/dist/_types/index.d.ts +5 -3
- package/dist/_types/index.d.ts.map +1 -1
- package/dist/_types/store.d.ts +1 -6
- package/dist/_types/store.d.ts.map +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +810 -576
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -3
- package/src/auth/authStoreSlice.ts +7 -13
- package/src/auth/components/WalletGridSheet/index.tsx +77 -0
- package/src/auth/hooks/useAuth.ts +0 -5
- package/src/auth/index.tsx +19 -20
- package/src/auth/pages/OtpInput.tsx +1 -4
- package/src/auth/pages/SignUp/Email.tsx +86 -0
- package/src/auth/pages/SignUp/Google.tsx +43 -0
- package/src/auth/pages/SignUp/InstalledWallets.tsx +95 -0
- package/src/auth/pages/SignUp/MoreWallets.tsx +105 -0
- package/src/auth/pages/SignUp/Passkey.tsx +56 -0
- package/src/auth/pages/SignUp/Wallet.tsx +81 -0
- package/src/auth/pages/SignUp/context.tsx +46 -0
- package/src/auth/pages/SignUp/index.tsx +164 -0
- package/src/auth/pages/Verifying.tsx +3 -10
- package/src/auth/types.ts +1 -11
- package/src/auth/utils/isCancellationError.ts +10 -0
- package/src/auth/walletGuide.ts +132 -0
- package/src/connector.ts +12 -28
- package/src/index.ts +4 -3
- package/src/store.ts +1 -8
- package/dist/_types/auth/pages/SignUp.d.ts +0 -2
- package/dist/_types/auth/pages/SignUp.d.ts.map +0 -1
- package/dist/_types/auth/pages/WalletSelection.d.ts +0 -2
- package/dist/_types/auth/pages/WalletSelection.d.ts.map +0 -1
- package/src/auth/pages/SignUp.tsx +0 -311
- package/src/auth/pages/WalletSelection.tsx +0 -61
package/README.md
CHANGED
|
@@ -35,11 +35,6 @@ export const config = createConfig({
|
|
|
35
35
|
zeroDevWallet({
|
|
36
36
|
projectId: 'your-project-id', // from https://dashboard.zerodev.app
|
|
37
37
|
chains: [sepolia],
|
|
38
|
-
config: {
|
|
39
|
-
auth: {
|
|
40
|
-
enabledMethods: ['email', 'google', 'passkey'],
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
38
|
}),
|
|
44
39
|
],
|
|
45
40
|
transports: { [sepolia.id]: http() },
|
|
@@ -74,11 +69,11 @@ function Root() {
|
|
|
74
69
|
|
|
75
70
|
## Usage
|
|
76
71
|
|
|
77
|
-
Mount `<
|
|
72
|
+
Mount `<ConnectWallet />` to render the active sign-in screen. Connecting via the
|
|
78
73
|
`zeroDevWallet` connector is what opens the auth flow.
|
|
79
74
|
|
|
80
75
|
```tsx
|
|
81
|
-
import {
|
|
76
|
+
import { ConnectWallet } from '@zerodev/wallet-react-ui'
|
|
82
77
|
import { useAccount, useConnect } from 'wagmi'
|
|
83
78
|
|
|
84
79
|
function App() {
|
|
@@ -91,7 +86,7 @@ function App() {
|
|
|
91
86
|
<button onClick={() => connect({ connector: connectors[0] })}>
|
|
92
87
|
Connect
|
|
93
88
|
</button>
|
|
94
|
-
<
|
|
89
|
+
<ConnectWallet />
|
|
95
90
|
</>
|
|
96
91
|
)
|
|
97
92
|
}
|
|
@@ -100,17 +95,81 @@ function App() {
|
|
|
100
95
|
}
|
|
101
96
|
```
|
|
102
97
|
|
|
98
|
+
### Customizing the sign-up page
|
|
99
|
+
|
|
100
|
+
Bare `<ConnectWallet />` renders the canonical sign-up page (passkey → Google →
|
|
101
|
+
email). Which methods appear — and how — is decided by composition, not
|
|
102
|
+
config.
|
|
103
|
+
|
|
104
|
+
Keep the default page and set its options:
|
|
105
|
+
|
|
106
|
+
```tsx
|
|
107
|
+
<ConnectWallet
|
|
108
|
+
logo={<YourLogo />}
|
|
109
|
+
renderSignUp={() => (
|
|
110
|
+
<SignUp.Default
|
|
111
|
+
emailAuthMethod="otp" // 'magicLink' (default) | 'otp'
|
|
112
|
+
termsAndConditionsUrl="https://example.com/terms"
|
|
113
|
+
privacyPolicyUrl="https://example.com/privacy"
|
|
114
|
+
/>
|
|
115
|
+
)}
|
|
116
|
+
/>
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Or compose the page yourself from the `SignUp.*` units:
|
|
120
|
+
|
|
121
|
+
```tsx
|
|
122
|
+
import { ConnectWallet, SignUp } from '@zerodev/wallet-react-ui'
|
|
123
|
+
|
|
124
|
+
<ConnectWallet
|
|
125
|
+
renderSignUp={() => (
|
|
126
|
+
<SignUp emailAuthMethod="otp" termsAndConditionsUrl="https://example.com/terms">
|
|
127
|
+
<SignUp.Google />
|
|
128
|
+
<SignUp.Divider />
|
|
129
|
+
<SignUp.Email />
|
|
130
|
+
</SignUp>
|
|
131
|
+
)}
|
|
132
|
+
/>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
- `<SignUp>` (the root) owns the shared page state and the consent gate: when
|
|
136
|
+
either terms URL is set, a checkbox appears and every method is blocked
|
|
137
|
+
until the user agrees. `emailAuthMethod` picks the email verification flow.
|
|
138
|
+
- Units: `SignUp.Passkey`, `SignUp.Google`, `SignUp.Email`, `SignUp.Wallet`,
|
|
139
|
+
`SignUp.InstalledWallets`, `SignUp.MoreWallets`, `SignUp.Divider`. Order and
|
|
140
|
+
presence are yours; while one method is in flight, the others disable
|
|
141
|
+
themselves.
|
|
142
|
+
- `SignUp.Wallet` pins one external wallet as its own row. `walletId` is the
|
|
143
|
+
`WalletId` union (e.g. `'metamask'`, `'coinbase'`, `'rabby'`); the row
|
|
144
|
+
connects the wallet when a live connector claims it (browser extension or a
|
|
145
|
+
configured SDK connector) and is a link to the vendor's download page
|
|
146
|
+
otherwise.
|
|
147
|
+
- `SignUp.InstalledWallets` auto-discovers installed wallets: one row with an
|
|
148
|
+
INSTALLED badge per announced (EIP-6963) browser extension, and nothing when
|
|
149
|
+
none are installed. Wallets pinned via `SignUp.Wallet` are excluded
|
|
150
|
+
automatically; `excludeWalletIds` hides further wallets by guide id or rdns,
|
|
151
|
+
and `maxWallets` caps the list (default 4, known wallets ranked first).
|
|
152
|
+
- `SignUp.MoreWallets` renders a row that opens an overlay sheet with the full
|
|
153
|
+
wallet grid — every known wallet plus any other live connector; installed
|
|
154
|
+
ones connect, the rest link to the vendor's download page.
|
|
155
|
+
- `SignUp.Default` is the canonical composition; it accepts the same props as
|
|
156
|
+
the root and forwards them.
|
|
157
|
+
- Auth success/failure surfaces through wagmi — await `connect`, or watch
|
|
158
|
+
`useAccount()`.
|
|
159
|
+
|
|
103
160
|
## API
|
|
104
161
|
|
|
105
162
|
| Export | Description |
|
|
106
163
|
| --- | --- |
|
|
107
164
|
| `zeroDevWallet` | wagmi connector with kit-specific auth extensions. |
|
|
108
|
-
| `<
|
|
165
|
+
| `<ConnectWallet />` | Renders the current auth step (sign-in, OTP, verifying, etc.). Props: `logo`, `renderSignUp`, `size`, `onClose`. |
|
|
166
|
+
| `<SignUp />` | Compound sign-up page: `SignUp.Default` plus the composable units (`Passkey`, `Google`, `Email`, `Wallet`, `InstalledWallets`, `MoreWallets`, `Divider`). |
|
|
109
167
|
| `useAuth` | Read / drive the auth flow state. |
|
|
110
168
|
|
|
111
169
|
### Types
|
|
112
170
|
|
|
113
|
-
`AuthMethod`, `AuthStep`, `
|
|
171
|
+
`AuthMethod`, `AuthStep`, `EmailAuthMethod`, `WalletId`,
|
|
172
|
+
`ZeroDevKitConnectorParams`.
|
|
114
173
|
|
|
115
174
|
## Development
|
|
116
175
|
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { StateCreator } from 'zustand';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AuthStep } from './types';
|
|
3
3
|
export interface AuthStoreSlice {
|
|
4
4
|
auth: {
|
|
5
5
|
step: AuthStep | null;
|
|
6
6
|
stepHistory: AuthStep[];
|
|
7
|
-
enabledMethods: AuthMethod[];
|
|
8
7
|
email: string | null;
|
|
9
8
|
setEmail: (email: string) => void;
|
|
10
9
|
otpId: string | null;
|
|
@@ -20,8 +19,8 @@ export interface AuthStoreSlice {
|
|
|
20
19
|
}) => void;
|
|
21
20
|
/** Clear the persisted OTP session after a successful verify. */
|
|
22
21
|
clearOtpSession: () => void;
|
|
23
|
-
|
|
24
|
-
initialize: (
|
|
22
|
+
/** Restore a persisted OTP session (survives reloads mid-email-flow). */
|
|
23
|
+
initialize: () => void;
|
|
25
24
|
goToStep: (step: AuthStep | null) => void;
|
|
26
25
|
goBack: () => void;
|
|
27
26
|
reset: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authStoreSlice.d.ts","sourceRoot":"","sources":["../../../src/auth/authStoreSlice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"authStoreSlice.d.ts","sourceRoot":"","sources":["../../../src/auth/authStoreSlice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AA2CvC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE;QAEJ,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;QACrB,WAAW,EAAE,QAAQ,EAAE,CAAA;QACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;QACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB;;;WAGG;QACH,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAA;QACxC,sDAAsD;QACtD,aAAa,EAAE,CAAC,KAAK,EAAE;YACrB,KAAK,EAAE,MAAM,CAAA;YACb,yBAAyB,EAAE,MAAM,CAAA;SAClC,KAAK,IAAI,CAAA;QACV,iEAAiE;QACjE,eAAe,EAAE,MAAM,IAAI,CAAA;QAG3B,yEAAyE;QACzE,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAA;QACzC,MAAM,EAAE,MAAM,IAAI,CAAA;QAClB,KAAK,EAAE,MAAM,IAAI,CAAA;KAClB,CAAA;CACF;AAED,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAC7C,cAAc,EACd;CAAE,EACF;CAAE,EACF,cAAc,CA+Fd,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type WalletTileData = {
|
|
2
|
+
key: string;
|
|
3
|
+
name: string;
|
|
4
|
+
icon?: string | undefined;
|
|
5
|
+
onSelect: () => void;
|
|
6
|
+
};
|
|
7
|
+
/** "More wallets" sheet: every guide wallet (plus live connectors
|
|
8
|
+
* we have no guide entry for) as a scrollable 3-column tile grid, laid over
|
|
9
|
+
* the sign-up page. Selection behavior is the caller's business. */
|
|
10
|
+
export declare function WalletGridSheet({ open, onOpenChange, tiles, }: {
|
|
11
|
+
open: boolean;
|
|
12
|
+
onOpenChange: (open: boolean) => void;
|
|
13
|
+
tiles: WalletTileData[];
|
|
14
|
+
}): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/auth/components/WalletGridSheet/index.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AA0BD;;oEAEoE;AACpE,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,YAAY,EACZ,KAAK,GACN,EAAE;IACD,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB,+BAyBA"}
|
|
@@ -3,8 +3,6 @@ export declare function useAuth(): {
|
|
|
3
3
|
email: string | null;
|
|
4
4
|
otpId: string | null;
|
|
5
5
|
otpEncryptionTargetBundle: string | null;
|
|
6
|
-
enabledMethods: import("../types").AuthMethod[];
|
|
7
|
-
config: import("../types").AuthConfig | null;
|
|
8
6
|
goToStep: (step: import("../types").AuthStep | null) => void;
|
|
9
7
|
goBack: (() => void) | null;
|
|
10
8
|
reset: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../../../src/auth/hooks/useAuth.ts"],"names":[],"mappings":"AAGA,wBAAgB,OAAO
|
|
1
|
+
{"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../../../src/auth/hooks/useAuth.ts"],"names":[],"mappings":"AAGA,wBAAgB,OAAO;;;;;;;;;;;;;;EAuBtB"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export declare function ConnectWallet({ onClose: userOnClose, size, renderSignUp, logo, }?: {
|
|
2
3
|
onClose?: (() => void) | undefined;
|
|
3
4
|
size?: 'sm' | 'md' | 'lg' | undefined;
|
|
5
|
+
/** Replace the default sign-up page: compose `SignUp.*` units inside
|
|
6
|
+
* `<SignUp>`. Omit to render the canonical page (`SignUp.Default`). */
|
|
7
|
+
renderSignUp?: (() => ReactNode) | undefined;
|
|
8
|
+
/** Optional brand logo for the top nav on the sign-up page. When omitted,
|
|
9
|
+
* no logo is shown. `PoweredBy` always shows the ZeroDev mark
|
|
10
|
+
* independently. */
|
|
11
|
+
logo?: ReactNode | undefined;
|
|
4
12
|
}): import("react").JSX.Element | null;
|
|
5
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAA;AAuDjD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,EACJ,YAAY,EACZ,IAAI,GACL,GAAE;IACD,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;IACrC;2EACuE;IACvE,YAAY,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,SAAS,CAAA;IAC5C;;wBAEoB;IACpB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CACxB,sCAqCL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/OtpInput.tsx"],"names":[],"mappings":"AAMA,wBAAgB,QAAQ,
|
|
1
|
+
{"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/OtpInput.tsx"],"names":[],"mappings":"AAMA,wBAAgB,QAAQ,gCAiHvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/Email.tsx"],"names":[],"mappings":"AAOA;yEACyE;AACzE,wBAAgB,WAAW,gCA4E1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Google.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/Google.tsx"],"names":[],"mappings":"AAMA,0BAA0B;AAC1B,wBAAgB,YAAY,gCAmC3B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Auto-discovered rows for installed wallets: one row per announced (6963)
|
|
2
|
+
* browser extension. Renders nothing when no wallet is installed. */
|
|
3
|
+
export declare function SignUpInstalledWallets({ excludeWalletIds, maxWallets, }: {
|
|
4
|
+
/** Wallets to hide, by guide id (e.g. `'metamask'`) or EIP-6963 rdns.
|
|
5
|
+
* Pinned `SignUp.Wallet` rows are excluded automatically. */
|
|
6
|
+
excludeWalletIds?: string[];
|
|
7
|
+
/** Cap on the number of rendered rows (default 4). Guide wallets rank
|
|
8
|
+
* first, in guide order, so the cut drops unknown extensions before
|
|
9
|
+
* curated ones. */
|
|
10
|
+
maxWallets?: number;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=InstalledWallets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstalledWallets.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/InstalledWallets.tsx"],"names":[],"mappings":"AAOA;qEACqE;AACrE,wBAAgB,sBAAsB,CAAC,EACrC,gBAAqB,EACrB,UAAc,GACf,EAAE;IACD;iEAC6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B;;uBAEmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,+BA0EA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoreWallets.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/MoreWallets.tsx"],"names":[],"mappings":"AAYA,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,EAChC,KAAsB,GACvB,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,+BAuFA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Passkey.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/Passkey.tsx"],"names":[],"mappings":"AAMA,0DAA0D;AAC1D,wBAAgB,aAAa,gCAgD5B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type WalletId } from '../../walletGuide';
|
|
2
|
+
/** Dedicated row for a single guide wallet: connects it directly when a live
|
|
3
|
+
* connector claims it, and is a download link for the vendor page otherwise. */
|
|
4
|
+
export declare function SignUpWallet({ walletId }: {
|
|
5
|
+
walletId: WalletId;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=Wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Wallet.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/Wallet.tsx"],"names":[],"mappings":"AAKA,OAAO,EAA+B,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG9E;gFACgF;AAChF,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,+BAsEhE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { EmailAuthMethod } from '../../types';
|
|
2
|
+
export type SignUpContextValue = {
|
|
3
|
+
/** True while any method's auth attempt is in flight — used to disable
|
|
4
|
+
* sibling methods so two flows can't run at once. */
|
|
5
|
+
authPending: boolean;
|
|
6
|
+
setAuthPending: (pending: boolean) => void;
|
|
7
|
+
/** Which email verification flow the Email unit runs. Set on the root
|
|
8
|
+
* (`<SignUp emailAuthMethod=…>`); already resolved to its default here. */
|
|
9
|
+
emailAuthMethod: EmailAuthMethod;
|
|
10
|
+
/** True when the terms checkbox is required but unchecked. For passive
|
|
11
|
+
* disabled styling; use `guardAgreement` before starting an attempt. */
|
|
12
|
+
needsAgreement: boolean;
|
|
13
|
+
/** Call before starting an auth attempt: highlights the terms checkbox and
|
|
14
|
+
* returns false when agreement is required but missing. */
|
|
15
|
+
guardAgreement: () => boolean;
|
|
16
|
+
setError: (message: string | null) => void;
|
|
17
|
+
/** Guide ids of every mounted `SignUp.Wallet` pin. Discovery units skip
|
|
18
|
+
* these so a pinned wallet isn't listed twice. */
|
|
19
|
+
registeredWallets: readonly string[];
|
|
20
|
+
/** Returns the unregister function. */
|
|
21
|
+
registerWallet: (walletId: string) => () => void;
|
|
22
|
+
};
|
|
23
|
+
export declare const SignUpContext: import("react").Context<SignUpContextValue | null>;
|
|
24
|
+
export declare function useSignUpContext(): SignUpContextValue;
|
|
25
|
+
/** Mirror a method's in-flight state into the shared pending flag.
|
|
26
|
+
* Clears on unmount so a removed unit can't leave the page locked.
|
|
27
|
+
* One flag, not per-unit: methods are mutually exclusive, so at most one
|
|
28
|
+
* unit reports `true` at a time. */
|
|
29
|
+
export declare function useReportPending(pending: boolean): void;
|
|
30
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC/B;yDACqD;IACrD,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C;+EAC2E;IAC3E,eAAe,EAAE,eAAe,CAAA;IAChC;4EACwE;IACxE,cAAc,EAAE,OAAO,CAAA;IACvB;+DAC2D;IAC3D,cAAc,EAAE,MAAM,OAAO,CAAA;IAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1C;sDACkD;IAClD,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,uCAAuC;IACvC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,IAAI,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAA;AAE3E,wBAAgB,gBAAgB,IAAI,kBAAkB,CAMrD;AAED;;;oCAGoC;AACpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAMhD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { EmailAuthMethod } from '../../types';
|
|
3
|
+
import { SignUpEmail } from './Email';
|
|
4
|
+
import { SignUpGoogle } from './Google';
|
|
5
|
+
import { SignUpInstalledWallets } from './InstalledWallets';
|
|
6
|
+
import { SignUpMoreWallets } from './MoreWallets';
|
|
7
|
+
import { SignUpPasskey } from './Passkey';
|
|
8
|
+
import { SignUpWallet } from './Wallet';
|
|
9
|
+
type SignUpRootProps = {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
/** Enable the consent gate: linked from the footer checkbox, and every
|
|
12
|
+
* method is blocked until the user agrees when either URL is set. */
|
|
13
|
+
termsAndConditionsUrl?: string | undefined;
|
|
14
|
+
privacyPolicyUrl?: string | undefined;
|
|
15
|
+
/** Which email verification flow the Email unit runs. */
|
|
16
|
+
emailAuthMethod?: EmailAuthMethod | undefined;
|
|
17
|
+
};
|
|
18
|
+
declare function SignUpRoot({ children, termsAndConditionsUrl, privacyPolicyUrl, emailAuthMethod, }: SignUpRootProps): import("react").JSX.Element;
|
|
19
|
+
declare function SignUpDivider({ label }: {
|
|
20
|
+
label?: string;
|
|
21
|
+
}): import("react").JSX.Element;
|
|
22
|
+
/** The canonical sign-up page. Takes the root's own props (the consent-gate
|
|
23
|
+
* URLs) and forwards them — per-unit config (e.g. the email method) still
|
|
24
|
+
* means composing the units yourself. */
|
|
25
|
+
declare function SignUpDefault(props: Omit<SignUpRootProps, 'children'>): import("react").JSX.Element;
|
|
26
|
+
export declare const SignUp: typeof SignUpRoot & {
|
|
27
|
+
Default: typeof SignUpDefault;
|
|
28
|
+
Passkey: typeof SignUpPasskey;
|
|
29
|
+
Google: typeof SignUpGoogle;
|
|
30
|
+
Email: typeof SignUpEmail;
|
|
31
|
+
Wallet: typeof SignUpWallet;
|
|
32
|
+
InstalledWallets: typeof SignUpInstalledWallets;
|
|
33
|
+
MoreWallets: typeof SignUpMoreWallets;
|
|
34
|
+
Divider: typeof SignUpDivider;
|
|
35
|
+
};
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,OAAO,CAAA;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB;yEACqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,yDAAyD;IACzD,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;CAC9C,CAAA;AAED,iBAAS,UAAU,CAAC,EAClB,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,eAA6B,GAC9B,EAAE,eAAe,+BAoGjB;AAED,iBAAS,aAAa,CAAC,EAAE,KAAY,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,+BAQ1D;AAED;;yCAEyC;AACzC,iBAAS,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,+BAS9D;AAED,eAAO,MAAM,MAAM;;;;;;;;;CASjB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Verifying.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/Verifying.tsx"],"names":[],"mappings":"AAYA,wBAAgB,SAAS,
|
|
1
|
+
{"version":3,"file":"Verifying.d.ts","sourceRoot":"","sources":["../../../../src/auth/pages/Verifying.tsx"],"names":[],"mappings":"AAYA,wBAAgB,SAAS,gCAuFxB"}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
export type AuthMethod = 'email' | 'google' | 'passkey';
|
|
2
|
-
export type AuthStep = 'sign-up' | 'email-verification' | 'otp-input' | 'verifying-otp' | 'passkey-prompt' | 'oauth-in-progress' | '
|
|
1
|
+
export type AuthMethod = 'email' | 'google' | 'passkey' | 'external-wallet';
|
|
2
|
+
export type AuthStep = 'sign-up' | 'email-verification' | 'otp-input' | 'verifying-otp' | 'passkey-prompt' | 'oauth-in-progress' | 'authenticated' | 'error';
|
|
3
3
|
export type EmailAuthMethod = 'magicLink' | 'otp';
|
|
4
|
-
export interface AuthConfig {
|
|
5
|
-
enabledMethods: AuthMethod[];
|
|
6
|
-
emailAuthMethod?: EmailAuthMethod;
|
|
7
|
-
termsAndConditionsUrl?: string;
|
|
8
|
-
privacyPolicyUrl?: string;
|
|
9
|
-
onSuccess?: () => void;
|
|
10
|
-
onError?: (error: unknown) => void;
|
|
11
|
-
}
|
|
12
4
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,iBAAiB,CAAA;AAE3E,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,oBAAoB,GACpB,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,OAAO,CAAA;AAEX,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,KAAK,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCancellationError.d.ts","sourceRoot":"","sources":["../../../../src/auth/utils/isCancellationError.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CASzD"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static wallet metadata ("wallet guide") for the external-wallet auth flow:
|
|
3
|
+
* `rdns` matches EIP-6963 announcements, `mobileLink` builds WalletConnect
|
|
4
|
+
* mobile deep links, `icon`/`downloadUrl` brand rows for wallets that are not
|
|
5
|
+
* installed. Self-contained — no runtime registry fetch.
|
|
6
|
+
*
|
|
7
|
+
* Wallet names and logos are trademarks of their respective owners.
|
|
8
|
+
*/
|
|
9
|
+
export type WalletGuideEntry = {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* EIP-6963 identifier used to match announced (installed) providers.
|
|
14
|
+
* Absent for wallets that never announce (mobile-app-only wallets).
|
|
15
|
+
*/
|
|
16
|
+
rdns?: string;
|
|
17
|
+
/** Self-contained `data:image/svg+xml` URI. */
|
|
18
|
+
icon: string;
|
|
19
|
+
/**
|
|
20
|
+
* WalletConnect mobile deep-link prefix — append `encodeURIComponent(wcUri)`.
|
|
21
|
+
* Absent when the wallet has no WC deep link (SDK- or extension-only).
|
|
22
|
+
*/
|
|
23
|
+
mobileLink?: string;
|
|
24
|
+
/** Vendor download page, for "get the wallet" fallbacks. */
|
|
25
|
+
downloadUrl: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* A live connector "claims" a guide wallet by rdns: announced (6963)
|
|
29
|
+
* connectors carry `id === rdns`, explicit ones (e.g. `metaMask()`) declare
|
|
30
|
+
* `rdns` as a string or array.
|
|
31
|
+
*/
|
|
32
|
+
export declare function matchesWallet(connector: {
|
|
33
|
+
id: string;
|
|
34
|
+
rdns?: string | readonly string[] | undefined;
|
|
35
|
+
}, wallet: WalletGuideEntry): boolean;
|
|
36
|
+
declare const guide: readonly [{
|
|
37
|
+
readonly id: "metamask";
|
|
38
|
+
readonly name: "MetaMask";
|
|
39
|
+
readonly rdns: "io.metamask";
|
|
40
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h28v28H0z%22%2F%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20fill%3D%22%23ff5c16%22%20d%3D%22m24.024%2023.824-4.846-1.434-3.655%202.172-2.55-.001-3.656-2.171-4.844%201.434L3%2018.88l1.473-5.488L3%208.751%204.473%203l7.569%204.496h4.413L24.024%203l1.473%205.751-1.473%204.64%201.473%205.488z%22%2F%3E%3Cpath%20fill%3D%22%23ff5c16%22%20d%3D%22m4.474%203%207.57%204.499-.302%203.087zm4.844%2015.881%203.33%202.522-3.33.987zm3.064-4.17-.64-4.123-4.097%202.804h-.002v.001l.013%202.886%201.661-1.567zM24.024%203l-7.57%204.499.3%203.087zM19.18%2018.881l-3.33%202.522%203.33.987zm1.674-5.488v-.002zl-4.097-2.804-.64%204.124h3.064l1.662%201.567z%22%2F%3E%3Cpath%20fill%3D%22%23e34807%22%20d%3D%22m9.317%2022.39-4.844%201.434L3%2018.881h6.317zm3.064-7.68.925%205.962-1.282-3.315-4.37-1.078%201.662-1.568zm6.799%207.68%204.844%201.434%201.473-4.943H19.18zm-3.064-7.68-.925%205.962%201.282-3.315%204.37-1.078-1.663-1.568z%22%2F%3E%3Cpath%20fill%3D%22%23ff8d5d%22%20d%3D%22m3%2018.88%201.473-5.489h3.169l.012%202.887%204.37%201.078%201.282%203.314-.659.73-3.33-2.522H3zm22.497%200-1.473-5.489h-3.17l-.01%202.887-4.371%201.078-1.282%203.314.659.73%203.33-2.522h6.317zM16.455%207.495h-4.413l-.3%203.087%201.565%2010.084h1.884l1.565-10.084z%22%2F%3E%3Cpath%20fill%3D%22%23661800%22%20d%3D%22M4.473%203%203%208.751l1.473%204.64h3.169l4.1-2.805zm6.992%2012.908H10.03l-.781.761%202.776.685-.56-1.447M24.024%203l1.473%205.751-1.473%204.64h-3.17l-4.098-2.805zm-6.99%2012.908h1.437l.782.762-2.78.686.56-1.45zm-1.512%206.687.328-1.193-.66-.73h-1.885l-.659.73.327%201.192%22%2F%3E%3Cpath%20fill%3D%22%23c0c4cd%22%20d%3D%22M15.522%2022.594v1.969h-2.548v-1.969z%22%2F%3E%3Cpath%20fill%3D%22%23e7ebf6%22%20d%3D%22m9.318%2022.388%203.658%202.174v-1.969l-.328-1.192zm9.862%200-3.658%202.174v-1.969l.328-1.192z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M3%203h22.5v21.563H3z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E";
|
|
41
|
+
readonly mobileLink: "https://metamask.app.link/wc?uri=";
|
|
42
|
+
readonly downloadUrl: "https://metamask.io/download";
|
|
43
|
+
}, {
|
|
44
|
+
readonly id: "trust";
|
|
45
|
+
readonly name: "Trust Wallet";
|
|
46
|
+
readonly rdns: "com.trustwallet.app";
|
|
47
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h28v28H0z%22%2F%3E%3Cpath%20fill%3D%22%230500FF%22%20d%3D%22M6%207.583%2013.53%205v17.882C8.15%2020.498%206%2015.928%206%2013.345V7.583Z%22%2F%3E%3Cpath%20fill%3D%22url(%23a)%22%20d%3D%22M22%207.583%2013.53%205v17.882c6.05-2.384%208.47-6.954%208.47-9.537V7.583Z%22%2F%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22a%22%20x1%3D%2219.768%22%20x2%3D%2214.072%22%20y1%3D%223.753%22%20y2%3D%2222.853%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%22.02%22%20stop-color%3D%22%2300F%22%2F%3E%3Cstop%20offset%3D%22.08%22%20stop-color%3D%22%230094FF%22%2F%3E%3Cstop%20offset%3D%22.16%22%20stop-color%3D%22%2348FF91%22%2F%3E%3Cstop%20offset%3D%22.42%22%20stop-color%3D%22%230094FF%22%2F%3E%3Cstop%20offset%3D%22.68%22%20stop-color%3D%22%230038FF%22%2F%3E%3Cstop%20offset%3D%22.9%22%20stop-color%3D%22%230500FF%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E";
|
|
48
|
+
readonly mobileLink: "trust://wc?uri=";
|
|
49
|
+
readonly downloadUrl: "https://trustwallet.com/download";
|
|
50
|
+
}, {
|
|
51
|
+
readonly id: "coinbase";
|
|
52
|
+
readonly name: "Coinbase Wallet";
|
|
53
|
+
readonly rdns: "com.coinbase.wallet";
|
|
54
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22%232C5FF6%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M14%2023.8C19.4124%2023.8%2023.8%2019.4124%2023.8%2014C23.8%208.58761%2019.4124%204.2%2014%204.2C8.58761%204.2%204.2%208.58761%204.2%2014C4.2%2019.4124%208.58761%2023.8%2014%2023.8ZM11.55%2010.8C11.1358%2010.8%2010.8%2011.1358%2010.8%2011.55V16.45C10.8%2016.8642%2011.1358%2017.2%2011.55%2017.2H16.45C16.8642%2017.2%2017.2%2016.8642%2017.2%2016.45V11.55C17.2%2011.1358%2016.8642%2010.8%2016.45%2010.8H11.55Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E";
|
|
55
|
+
readonly downloadUrl: "https://coinbase.com/wallet/downloads";
|
|
56
|
+
}, {
|
|
57
|
+
readonly id: "rainbow";
|
|
58
|
+
readonly name: "Rainbow";
|
|
59
|
+
readonly rdns: "me.rainbow";
|
|
60
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%20120%20120%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22url(%23paint0_linear_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M20%2038H26C56.9279%2038%2082%2063.0721%2082%2094V100H94C97.3137%20100%20100%2097.3137%20100%2094C100%2053.1309%2066.8691%2020%2026%2020C22.6863%2020%2020%2022.6863%2020%2026V38Z%22%20fill%3D%22url(%23paint1_radial_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M84%2094H100C100%2097.3137%2097.3137%20100%2094%20100H84V94Z%22%20fill%3D%22url(%23paint2_linear_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M26%2020L26%2036H20L20%2026C20%2022.6863%2022.6863%2020%2026%2020Z%22%20fill%3D%22url(%23paint3_linear_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M20%2036H26C58.0325%2036%2084%2061.9675%2084%2094V100H66V94C66%2071.9086%2048.0914%2054%2026%2054H20V36Z%22%20fill%3D%22url(%23paint4_radial_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M68%2094H84V100H68V94Z%22%20fill%3D%22url(%23paint5_linear_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M20%2052L20%2036L26%2036L26%2052H20Z%22%20fill%3D%22url(%23paint6_linear_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M20%2062C20%2065.3137%2022.6863%2068%2026%2068C40.3594%2068%2052%2079.6406%2052%2094C52%2097.3137%2054.6863%20100%2058%20100H68V94C68%2070.804%2049.196%2052%2026%2052H20V62Z%22%20fill%3D%22url(%23paint7_radial_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M52%2094H68V100H58C54.6863%20100%2052%2097.3137%2052%2094Z%22%20fill%3D%22url(%23paint8_radial_62_329)%22%2F%3E%0A%3Cpath%20d%3D%22M26%2068C22.6863%2068%2020%2065.3137%2020%2062L20%2052L26%2052L26%2068Z%22%20fill%3D%22url(%23paint9_radial_62_329)%22%2F%3E%0A%3Cdefs%3E%0A%3ClinearGradient%20id%3D%22paint0_linear_62_329%22%20x1%3D%2260%22%20y1%3D%220%22%20x2%3D%2260%22%20y2%3D%22120%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%3Cstop%20stop-color%3D%22%23174299%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23001E59%22%2F%3E%0A%3C%2FlinearGradient%3E%0A%3CradialGradient%20id%3D%22paint1_radial_62_329%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%20gradientTransform%3D%22translate(26%2094)%20rotate(-90)%20scale(74)%22%3E%0A%3Cstop%20offset%3D%220.770277%22%20stop-color%3D%22%23FF4000%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%238754C9%22%2F%3E%0A%3C%2FradialGradient%3E%0A%3ClinearGradient%20id%3D%22paint2_linear_62_329%22%20x1%3D%2283%22%20y1%3D%2297%22%20x2%3D%22100%22%20y2%3D%2297%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%3Cstop%20stop-color%3D%22%23FF4000%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%238754C9%22%2F%3E%0A%3C%2FlinearGradient%3E%0A%3ClinearGradient%20id%3D%22paint3_linear_62_329%22%20x1%3D%2223%22%20y1%3D%2220%22%20x2%3D%2223%22%20y2%3D%2237%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%3Cstop%20stop-color%3D%22%238754C9%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FF4000%22%2F%3E%0A%3C%2FlinearGradient%3E%0A%3CradialGradient%20id%3D%22paint4_radial_62_329%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%20gradientTransform%3D%22translate(26%2094)%20rotate(-90)%20scale(58)%22%3E%0A%3Cstop%20offset%3D%220.723929%22%20stop-color%3D%22%23FFF700%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FF9901%22%2F%3E%0A%3C%2FradialGradient%3E%0A%3ClinearGradient%20id%3D%22paint5_linear_62_329%22%20x1%3D%2268%22%20y1%3D%2297%22%20x2%3D%2284%22%20y2%3D%2297%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%3Cstop%20stop-color%3D%22%23FFF700%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FF9901%22%2F%3E%0A%3C%2FlinearGradient%3E%0A%3ClinearGradient%20id%3D%22paint6_linear_62_329%22%20x1%3D%2223%22%20y1%3D%2252%22%20x2%3D%2223%22%20y2%3D%2236%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%3Cstop%20stop-color%3D%22%23FFF700%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FF9901%22%2F%3E%0A%3C%2FlinearGradient%3E%0A%3CradialGradient%20id%3D%22paint7_radial_62_329%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%20gradientTransform%3D%22translate(26%2094)%20rotate(-90)%20scale(42)%22%3E%0A%3Cstop%20offset%3D%220.59513%22%20stop-color%3D%22%2300AAFF%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2301DA40%22%2F%3E%0A%3C%2FradialGradient%3E%0A%3CradialGradient%20id%3D%22paint8_radial_62_329%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%20gradientTransform%3D%22translate(51%2097)%20scale(17%2045.3333)%22%3E%0A%3Cstop%20stop-color%3D%22%2300AAFF%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2301DA40%22%2F%3E%0A%3C%2FradialGradient%3E%0A%3CradialGradient%20id%3D%22paint9_radial_62_329%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%20gradientTransform%3D%22translate(23%2069)%20rotate(-90)%20scale(17%20322.37)%22%3E%0A%3Cstop%20stop-color%3D%22%2300AAFF%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2301DA40%22%2F%3E%0A%3C%2FradialGradient%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E";
|
|
61
|
+
readonly mobileLink: "rainbow://wc?uri=";
|
|
62
|
+
readonly downloadUrl: "https://rainbow.download";
|
|
63
|
+
}, {
|
|
64
|
+
readonly id: "rabby";
|
|
65
|
+
readonly name: "Rabby Wallet";
|
|
66
|
+
readonly rdns: "io.rabby";
|
|
67
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20fill%3D%22%238697FF%22%20d%3D%22M28%200H0v28h28V0Z%22%2F%3E%3Cpath%20fill%3D%22url(%23b)%22%20d%3D%22M22.54%2015.078c.677-1.514-2.673-5.744-5.874-7.506-2.017-1.365-4.12-1.178-4.545-.579-.935%201.316%203.094%202.43%205.788%203.731-.58.252-1.125.703-1.446%201.28-1.004-1.096-3.209-2.04-5.796-1.28-1.743.513-3.191%201.721-3.751%203.546a1.097%201.097%200%201%200-.445%202.1c.112%200%20.463-.075.463-.075l5.612.041c-2.244%203.56-4.018%204.081-4.018%204.698s1.697.45%202.335.22c3.05-1.1%206.327-4.531%206.89-5.519%202.36.295%204.345.33%204.786-.657Z%22%2F%3E%3Cpath%20fill%3D%22url(%23c)%22%20fill-rule%3D%22evenodd%22%20d%3D%22m17.885%2010.713.025.01c.125-.049.105-.233.07-.378-.078-.333-1.438-1.676-2.715-2.277-1.743-.82-3.025-.777-3.212-.398.356.726%201.998%201.408%203.714%202.12.723.3%201.46.606%202.118.923Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3Cpath%20fill%3D%22url(%23d)%22%20fill-rule%3D%22evenodd%22%20d%3D%22M15.701%2018.036a10.296%2010.296%200%200%200-1.2-.37c.482-.862.583-2.138.128-2.945-.639-1.133-1.44-1.736-3.304-1.736-1.024%200-3.783.346-3.832%202.648-.005.242%200%20.464.017.667l5.036.037a17.264%2017.264%200%200%201-1.871%202.483c.669.172%201.221.316%201.728.448.48.125.92.24%201.38.357a21.003%2021.003%200%200%200%201.918-1.59Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3Cpath%20fill%3D%22url(%23e)%22%20d%3D%22M6.848%2016.063c.206%201.75%201.2%202.435%203.232%202.638%202.032.203%203.197.067%204.749.208%201.296.118%202.453.778%202.882.55.386-.205.17-.947-.347-1.423-.67-.617-1.597-1.046-3.229-1.199.325-.89.234-2.138-.27-2.817-.731-.982-2.079-1.426-3.785-1.232-1.782.202-3.49%201.08-3.232%203.275Z%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22b%22%20x1%3D%2210.464%22%20x2%3D%2222.394%22%20y1%3D%2213.737%22%20y2%3D%2217.12%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23fff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23fff%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22c%22%20x1%3D%2220.386%22%20x2%3D%2211.779%22%20y1%3D%2213.509%22%20y2%3D%224.879%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%237258DC%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23797DEA%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22d%22%20x1%3D%2215.94%22%20x2%3D%227.673%22%20y1%3D%2218.337%22%20y2%3D%2213.584%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%237461EA%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23BFC2FF%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22e%22%20x1%3D%2211.177%22%20x2%3D%2216.765%22%20y1%3D%2213.648%22%20y2%3D%2220.749%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23fff%22%2F%3E%3Cstop%20offset%3D%22.984%22%20stop-color%3D%22%23D5CEFF%22%2F%3E%3C%2FlinearGradient%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h28v28H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E";
|
|
68
|
+
readonly downloadUrl: "https://rabby.io";
|
|
69
|
+
}, {
|
|
70
|
+
readonly id: "okx";
|
|
71
|
+
readonly name: "OKX Wallet";
|
|
72
|
+
readonly rdns: "com.okex.wallet";
|
|
73
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M0%200h28v28H0z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M10.819%205.556H5.93a.376.376%200%200%200-.375.375v4.888c0%20.207.168.375.375.375h4.888a.376.376%200%200%200%20.375-.376V5.932a.376.376%200%200%200-.376-.375Zm5.64%205.638h-4.886a.376.376%200%200%200-.376.376v4.887c0%20.208.168.376.376.376h4.887a.376.376%200%200%200%20.376-.375V11.57a.376.376%200%200%200-.376-.377Zm.75-5.638h4.887c.208%200%20.376.168.376.375v4.888a.376.376%200%200%201-.376.375H17.21a.376.376%200%200%201-.376-.376V5.933c0-.208.169-.376.376-.376Zm-6.39%2011.277H5.93a.376.376%200%200%200-.375.376v4.887c0%20.208.168.376.375.376h4.888a.376.376%200%200%200%20.375-.376V17.21a.376.376%200%200%200-.376-.376Zm6.39%200h4.887c.208%200%20.376.169.376.376v4.887a.376.376%200%200%201-.376.376H17.21a.376.376%200%200%201-.376-.376V17.21c0-.207.169-.376.376-.376Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E";
|
|
74
|
+
readonly mobileLink: "okex://main/wc?uri=";
|
|
75
|
+
readonly downloadUrl: "https://okx.com/download";
|
|
76
|
+
}, {
|
|
77
|
+
readonly id: "zerion";
|
|
78
|
+
readonly name: "Zerion";
|
|
79
|
+
readonly rdns: "io.zerion.wallet";
|
|
80
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cpath%20fill%3D%22%232962EF%22%20d%3D%22M0%200h28v28H0z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.073%207c-.48%200-.665.593-.262.841l10.073%206.074a.577.577%200%200%200%20.758-.139l4.43-5.814c.3-.404-.004-.962-.525-.962H6.073ZM21.904%2021c.48%200%20.67-.596.267-.844l-10.075-6.073a.569.569%200%200%200-.751.146l-4.437%205.813c-.301.404.012.958.534.958h14.462Z%22%2F%3E%3C%2Fsvg%3E";
|
|
81
|
+
readonly mobileLink: "zerion://wc?uri=";
|
|
82
|
+
readonly downloadUrl: "https://zerion.io";
|
|
83
|
+
}, {
|
|
84
|
+
readonly id: "uniswap";
|
|
85
|
+
readonly name: "Uniswap";
|
|
86
|
+
readonly rdns: "org.uniswap.app";
|
|
87
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23FFD8EA%22%20d%3D%22M0%200h28v28H0z%22%2F%3E%3Cg%20fill%3D%22%23FF007A%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M9.635%206.068c-.255-.039-.266-.043-.145-.06.23-.035.773.012%201.148.099.874.202%201.67.722%202.519%201.646l.225.246.323-.051c1.36-.213%202.741-.044%203.899.477.319.144.821.43.882.503.022.024.058.173.082.335.086.557.044.982-.13%201.301-.096.173-.101.228-.037.377a.367.367%200%200%200%20.334.206c.287%200%20.597-.454.74-1.086l.056-.252.113.126c.62.685%201.106%201.618%201.189%202.282l.021.174-.103-.158a1.966%201.966%200%200%200-.59-.604c-.415-.268-.855-.36-2.017-.42-1.05-.053-1.645-.141-2.234-.329-1.003-.32-1.508-.744-2.699-2.27-.53-.678-.855-1.053-1.18-1.354-.74-.687-1.466-1.047-2.396-1.187v-.001Z%22%2F%3E%3Cpath%20d%3D%22M18.725%207.581c.026-.453.088-.753.216-1.026.028-.07.063-.136.104-.198a.69.69%200%200%201-.049.178c-.092.266-.108.629-.043%201.052.081.536.126.613.706%201.192.273.272.589.613.704.761l.21.267-.21-.191c-.255-.233-.841-.69-.972-.755-.086-.042-.1-.042-.153.01-.05.048-.06.12-.068.461-.01.532-.084.873-.263%201.213-.096.187-.111.147-.025-.062.066-.155.072-.224.072-.739%200-1.033-.127-1.283-.864-1.707a8.169%208.169%200%200%200-.684-.346%202.614%202.614%200%200%201-.334-.16c.02-.02.74.185%201.029.293.431.163.502.183.555.164.034-.013.051-.113.068-.407h.001Zm-8.595%201.77c-.517-.696-.838-1.764-.768-2.563l.02-.247.119.02c.222.04.603.179.783.286.49.29.703.673.918%201.657.064.288.147.613.185.725.061.178.294.592.483.862.136.194.046.286-.255.26-.46-.04-1.083-.46-1.485-1Zm7.965%205.182c-2.42-.95-3.273-1.777-3.273-3.17%200-.206.007-.374.016-.374.008%200%20.102.067.208.151.491.384%201.04.548%202.563.765.896.128%201.398.231%201.864.382%201.48.478%202.392%201.449%202.61%202.773.063.384.028%201.104-.076%201.484-.082.3-.329.84-.394.861-.019.007-.037-.061-.04-.154-.025-.496-.283-.98-.715-1.343-.49-.412-1.15-.741-2.763-1.375Zm-1.699.396a4.13%204.13%200%200%200-.117-.5l-.062-.18.115.127c.16.173.285.396.391.693.082.227.09.294.09.662%200%20.361-.011.437-.087.64-.104.3-.28.572-.51.794-.443.44-1.011.683-1.833.784-.142.018-.557.047-.922.066-.922.046-1.529.144-2.073.33a.446.446%200%200%201-.156.036c-.021-.021.35-.237.656-.381.431-.204.861-.315%201.825-.47.475-.078.968-.173%201.093-.21%201.178-.352%201.784-1.263%201.59-2.39Z%22%2F%3E%3Cpath%20d%3D%22M17.506%2016.855c-.321-.675-.396-1.327-.22-1.935.02-.067.05-.119.068-.119a.64.64%200%200%201%20.169.09c.149.097.445.261%201.237.682.988.527%201.553.934%201.936%201.4.335.407.542.872.643%201.438.057.32.023%201.093-.061%201.416-.266%201.018-.882%201.818-1.764%202.285a2.129%202.129%200%200%201-.258.124c-.013%200%20.035-.116.104-.259.297-.605.331-1.193.107-1.848-.138-.401-.418-.89-.982-1.718-.657-.96-.817-1.218-.979-1.556Zm-9.095%203.644c.9-.742%202.016-1.267%203.036-1.43a4.85%204.85%200%200%201%201.575.06c.652.163%201.235.528%201.538.962.296.425.423.794.556%201.618.052.324.109.651.125.724.1.427.293.768.532.939.38.272%201.037.29%201.682.044a.853.853%200%200%201%20.21-.064c.023.023-.301.235-.53.347-.27.141-.572.213-.879.208-.59%200-1.08-.294-1.49-.891a7.027%207.027%200%200%201-.402-.784c-.431-.961-.644-1.253-1.145-1.575-.437-.28-1-.329-1.424-.126-.556.266-.71.96-.312%201.4.187.189.43.313.695.354a.75.75%200%200%200%20.589-.174.728.728%200%200%200%20.251-.551c0-.29-.114-.453-.4-.581-.392-.172-.812.029-.81.388%200%20.153.069.249.226.32.1.044.103.046.02.03-.358-.073-.442-.496-.154-.776.347-.336%201.064-.188%201.31.272.103.194.115.578.025.81-.203.52-.79.793-1.387.644-.407-.102-.571-.211-1.06-.703-.852-.856-1.182-1.023-2.408-1.21l-.237-.035.268-.22Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M4.418%205.179c2.842%203.368%204.8%204.757%205.017%205.05.18.243.112.462-.195.632a1.899%201.899%200%200%201-.699.191c-.2%200-.269-.075-.269-.075-.115-.106-.18-.088-.773-1.116A176.911%20176.911%200%200%200%205.968%207.56c-.044-.04-.042-.04%201.448%202.564.24.543.047.741.047.819%200%20.157-.044.24-.242.457-.332.36-.48.765-.587%201.604-.12.94-.456%201.604-1.39%202.741-.545.666-.635.787-.773%201.056-.174.338-.221.527-.24.952a2.9%202.9%200%200%200%20.16%201.174c.122.378.252.626.582%201.125.285.43.448.75.448.876%200%20.099.019.099.461.001%201.054-.232%201.91-.64%202.392-1.142.298-.311.367-.482.37-.907.002-.277-.008-.336-.085-.496-.125-.26-.353-.477-.855-.813-.66-.44-.942-.794-1.018-1.28-.065-.4.01-.682.373-1.427.377-.773.47-1.103.535-1.88.04-.503.096-.701.244-.861.155-.166.293-.222.676-.272.623-.084%201.018-.24%201.343-.534a1.14%201.14%200%200%200%20.421-.869l.014-.28-.16-.179C9.563%209.34%204.036%204.667%204%204.667c-.007%200%20.18.23.418.512Zm1.325%2013.086a.486.486%200%200%200-.157-.652c-.203-.133-.522-.069-.522.103%200%20.053.03.092.098.125.114.058.122.122.032.254s-.082.248.02.328c.168.126.404.057.529-.158ZM10.683%2012c-.29.086-.575.389-.664.706-.053.194-.022.534.058.638.13.169.255.213.596.212.665-.004%201.243-.283%201.311-.632.054-.286-.2-.68-.55-.855a1.33%201.33%200%200%200-.75-.07Zm.78.593c.102-.143.057-.296-.118-.4-.331-.199-.835-.035-.835.272%200%20.153.262.32.502.32.16%200%20.38-.093.45-.192Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M4%204h19v20H4z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E";
|
|
88
|
+
readonly mobileLink: "uniswap://wc?uri=";
|
|
89
|
+
readonly downloadUrl: "https://wallet.uniswap.org";
|
|
90
|
+
}, {
|
|
91
|
+
readonly id: "ledger";
|
|
92
|
+
readonly name: "Ledger";
|
|
93
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M0%200h28v28H0z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M11.65%204.4H4.4V9h1.1V5.5l6.15-.04V4.4Zm.05%205.95v7.25h4.6v-1.1h-3.5l-.04-6.15H11.7ZM4.4%2023.6h7.25v-1.06L5.5%2022.5V19H4.4v4.6ZM16.35%204.4h7.25V9h-1.1V5.5l-6.15-.04V4.4Zm7.25%2019.2h-7.25v-1.06l6.15-.04V19h1.1v4.6Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E";
|
|
94
|
+
readonly mobileLink: "ledgerlive://wc?uri=";
|
|
95
|
+
readonly downloadUrl: "https://www.ledger.com/ledger-live";
|
|
96
|
+
}, {
|
|
97
|
+
readonly id: "binance";
|
|
98
|
+
readonly name: "Binance Wallet";
|
|
99
|
+
readonly rdns: "com.binance.wallet";
|
|
100
|
+
readonly icon: "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22130%22%20height%3D%22130%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M0%200h130v130H0z%22%2F%3E%3Cpath%20fill%3D%22%23F3BA2F%22%20d%3D%22M45.587%2057.02%2065.01%2037.606l19.43%2019.43%2011.295-11.303L65.01%2015%2034.284%2045.725zM15%2065.004l11.299-11.299%2011.298%2011.299L26.3%2076.302zM45.587%2072.983%2065.01%2092.406l19.43-19.43%2011.303%2011.287-.008.007-30.725%2030.734-30.725-30.718-.016-.016zM92.403%2065.006%20103.7%2053.708%20115%2065.006l-11.299%2011.299z%22%2F%3E%3Cpath%20fill%3D%22%23F3BA2F%22%20d%3D%22m76.471%2064.998-11.46-11.469-8.476%208.475-.98.972-2.005%202.006-.016.016.016.024%2011.46%2011.453%2011.461-11.47.008-.007z%22%2F%3E%3C%2Fsvg%3E";
|
|
101
|
+
readonly mobileLink: "bnc://app.binance.com/cedefi/wc?uri=";
|
|
102
|
+
readonly downloadUrl: "https://www.binance.com/en/download";
|
|
103
|
+
}];
|
|
104
|
+
/** Valid `walletId` values for `<SignUp.Wallet>` — the guide's wallet ids. */
|
|
105
|
+
export type WalletId = (typeof guide)[number]['id'];
|
|
106
|
+
export declare const WALLET_GUIDE: readonly WalletGuideEntry[];
|
|
107
|
+
export {};
|
|
108
|
+
//# sourceMappingURL=walletGuide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletGuide.d.ts","sourceRoot":"","sources":["../../../src/auth/walletGuide.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;CAAE,EACxE,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAQT;AAED,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EqC,CAAA;AAEhD,8EAA8E;AAC9E,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AAInD,eAAO,MAAM,YAAY,EAAE,SAAS,gBAAgB,EAAU,CAAA"}
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import type { CreateConnectorFn } from '@wagmi/core';
|
|
2
2
|
import type { ZeroDevWalletConnectorParams } from '@zerodev/wallet-react';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export type
|
|
6
|
-
auth?: AuthConfig;
|
|
7
|
-
/**
|
|
8
|
-
* Optional brand logo rendered in the auth flow's top nav. When omitted,
|
|
9
|
-
* no logo is shown. `PoweredBy` always shows the ZeroDev mark independently.
|
|
10
|
-
*/
|
|
11
|
-
logo?: ReactNode;
|
|
12
|
-
};
|
|
13
|
-
export type ZeroDevKitConnectorParams = ZeroDevWalletConnectorParams & {
|
|
14
|
-
config?: ZeroDevKitConfig;
|
|
15
|
-
};
|
|
3
|
+
/** The kit connector takes exactly the base connector's param
|
|
4
|
+
We alias it to leave room for expansion */
|
|
5
|
+
export type ZeroDevKitConnectorParams = ZeroDevWalletConnectorParams;
|
|
16
6
|
export declare function zeroDevWallet(params: ZeroDevKitConnectorParams): CreateConnectorFn;
|
|
17
7
|
//# sourceMappingURL=connector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,uBAAuB,CAAA;AAgB9B;2CAC2C;AAC3C,MAAM,MAAM,yBAAyB,GAAG,4BAA4B,CAAA;AAuCpE,wBAAgB,aAAa,CAC3B,MAAM,EAAE,yBAAyB,GAChC,iBAAiB,CAsGnB"}
|
package/dist/_types/index.d.ts
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* @zerodev/wallet-react-ui
|
|
3
3
|
* React UI components and enhanced connector for ZeroDev Wallet SDK
|
|
4
4
|
*/
|
|
5
|
-
export {
|
|
5
|
+
export { ConnectWallet } from './auth';
|
|
6
6
|
export { useAuth } from './auth/hooks/useAuth';
|
|
7
|
-
export
|
|
8
|
-
export type {
|
|
7
|
+
export { SignUp } from './auth/pages/SignUp';
|
|
8
|
+
export type { AuthMethod, AuthStep, EmailAuthMethod } from './auth/types';
|
|
9
|
+
export type { WalletId } from './auth/walletGuide';
|
|
10
|
+
export type { ZeroDevKitConnectorParams, } from './connector.js';
|
|
9
11
|
export { zeroDevWallet } from './connector.js';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,YAAY,EAEV,yBAAyB,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA"}
|