@zerodev/wallet-react-ui 0.0.7 → 0.0.9
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 +20 -5
- 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/index.d.ts.map +1 -1
- 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/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 +5 -0
- package/dist/_types/auth/pages/SignUp/context.d.ts.map +1 -1
- package/dist/_types/auth/pages/SignUp/index.d.ts +6 -0
- package/dist/_types/auth/pages/SignUp/index.d.ts.map +1 -1
- package/dist/_types/auth/types.d.ts +2 -2
- package/dist/_types/auth/types.d.ts.map +1 -1
- package/dist/_types/auth/utils/isCancellationError.d.ts.map +1 -1
- package/dist/_types/auth/walletGuide.d.ts +108 -0
- package/dist/_types/auth/walletGuide.d.ts.map +1 -0
- package/dist/_types/history/components/TxHistoryItem/index.d.ts +21 -0
- package/dist/_types/history/components/TxHistoryItem/index.d.ts.map +1 -0
- package/dist/_types/history/mocks.d.ts +8 -0
- package/dist/_types/history/mocks.d.ts.map +1 -0
- package/dist/_types/history/pages/History.d.ts +10 -0
- package/dist/_types/history/pages/History.d.ts.map +1 -0
- package/dist/_types/history/pages/index.d.ts +24 -0
- package/dist/_types/history/pages/index.d.ts.map +1 -0
- package/dist/_types/history/types.d.ts +29 -0
- package/dist/_types/history/types.d.ts.map +1 -0
- package/dist/_types/history/utils/groupByDay.d.ts +13 -0
- package/dist/_types/history/utils/groupByDay.d.ts.map +1 -0
- package/dist/_types/index.d.ts +3 -0
- package/dist/_types/index.d.ts.map +1 -1
- package/dist/_types/shared/components/TokenSummary/index.d.ts +18 -0
- package/dist/_types/shared/components/TokenSummary/index.d.ts.map +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +974 -483
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -4
- package/src/auth/components/WalletGridSheet/index.tsx +77 -0
- package/src/auth/index.tsx +0 -13
- package/src/auth/pages/SignUp/InstalledWallets.tsx +95 -0
- package/src/auth/pages/SignUp/MoreWallets.tsx +105 -0
- package/src/auth/pages/SignUp/Wallet.tsx +81 -0
- package/src/auth/pages/SignUp/context.tsx +5 -0
- package/src/auth/pages/SignUp/index.tsx +30 -4
- package/src/auth/types.ts +1 -2
- package/src/auth/utils/isCancellationError.ts +2 -0
- package/src/auth/walletGuide.ts +132 -0
- package/src/history/components/TxHistoryItem/index.tsx +108 -0
- package/src/history/mocks.ts +80 -0
- package/src/history/pages/History.tsx +69 -0
- package/src/history/pages/index.tsx +69 -0
- package/src/history/types.ts +29 -0
- package/src/history/utils/groupByDay.ts +47 -0
- package/src/index.ts +9 -0
- package/src/shared/components/TokenSummary/index.tsx +50 -0
- 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/WalletSelection.tsx +0 -61
package/README.md
CHANGED
|
@@ -135,9 +135,23 @@ import { ConnectWallet, SignUp } from '@zerodev/wallet-react-ui'
|
|
|
135
135
|
- `<SignUp>` (the root) owns the shared page state and the consent gate: when
|
|
136
136
|
either terms URL is set, a checkbox appears and every method is blocked
|
|
137
137
|
until the user agrees. `emailAuthMethod` picks the email verification flow.
|
|
138
|
-
- Units: `SignUp.Passkey`, `SignUp.Google`, `SignUp.Email`, `SignUp.
|
|
139
|
-
|
|
140
|
-
disable
|
|
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.
|
|
141
155
|
- `SignUp.Default` is the canonical composition; it accepts the same props as
|
|
142
156
|
the root and forwards them.
|
|
143
157
|
- Auth success/failure surfaces through wagmi — await `connect`, or watch
|
|
@@ -149,12 +163,13 @@ import { ConnectWallet, SignUp } from '@zerodev/wallet-react-ui'
|
|
|
149
163
|
| --- | --- |
|
|
150
164
|
| `zeroDevWallet` | wagmi connector with kit-specific auth extensions. |
|
|
151
165
|
| `<ConnectWallet />` | Renders the current auth step (sign-in, OTP, verifying, etc.). Props: `logo`, `renderSignUp`, `size`, `onClose`. |
|
|
152
|
-
| `<SignUp />` | Compound sign-up page: `SignUp.Default` plus the composable units (`Passkey`, `Google`, `Email`, `Divider`). |
|
|
166
|
+
| `<SignUp />` | Compound sign-up page: `SignUp.Default` plus the composable units (`Passkey`, `Google`, `Email`, `Wallet`, `InstalledWallets`, `MoreWallets`, `Divider`). |
|
|
153
167
|
| `useAuth` | Read / drive the auth flow state. |
|
|
154
168
|
|
|
155
169
|
### Types
|
|
156
170
|
|
|
157
|
-
`AuthMethod`, `AuthStep`, `EmailAuthMethod`, `
|
|
171
|
+
`AuthMethod`, `AuthStep`, `EmailAuthMethod`, `WalletId`,
|
|
172
|
+
`ZeroDevKitConnectorParams`.
|
|
158
173
|
|
|
159
174
|
## Development
|
|
160
175
|
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAA;
|
|
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"}
|
|
@@ -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,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"}
|
|
@@ -14,6 +14,11 @@ export type SignUpContextValue = {
|
|
|
14
14
|
* returns false when agreement is required but missing. */
|
|
15
15
|
guardAgreement: () => boolean;
|
|
16
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;
|
|
17
22
|
};
|
|
18
23
|
export declare const SignUpContext: import("react").Context<SignUpContextValue | null>;
|
|
19
24
|
export declare function useSignUpContext(): SignUpContextValue;
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -2,7 +2,10 @@ import { type ReactNode } from 'react';
|
|
|
2
2
|
import type { EmailAuthMethod } from '../../types';
|
|
3
3
|
import { SignUpEmail } from './Email';
|
|
4
4
|
import { SignUpGoogle } from './Google';
|
|
5
|
+
import { SignUpInstalledWallets } from './InstalledWallets';
|
|
6
|
+
import { SignUpMoreWallets } from './MoreWallets';
|
|
5
7
|
import { SignUpPasskey } from './Passkey';
|
|
8
|
+
import { SignUpWallet } from './Wallet';
|
|
6
9
|
type SignUpRootProps = {
|
|
7
10
|
children: ReactNode;
|
|
8
11
|
/** Enable the consent gate: linked from the footer checkbox, and every
|
|
@@ -25,6 +28,9 @@ export declare const SignUp: typeof SignUpRoot & {
|
|
|
25
28
|
Passkey: typeof SignUpPasskey;
|
|
26
29
|
Google: typeof SignUpGoogle;
|
|
27
30
|
Email: typeof SignUpEmail;
|
|
31
|
+
Wallet: typeof SignUpWallet;
|
|
32
|
+
InstalledWallets: typeof SignUpInstalledWallets;
|
|
33
|
+
MoreWallets: typeof SignUpMoreWallets;
|
|
28
34
|
Divider: typeof SignUpDivider;
|
|
29
35
|
};
|
|
30
36
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/auth/pages/SignUp/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,
|
|
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,4 +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
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"}
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type IconName } from '@zerodev/react-ui';
|
|
2
|
+
export type TxHistoryStatus = 'Pending' | 'Success' | 'Failed';
|
|
3
|
+
export interface TxHistoryItemProps {
|
|
4
|
+
/** Leading glyph for the activity kind, e.g. `'arrowSwapHorizontalOutline'`
|
|
5
|
+
* for swaps, `'lighting'` for staking/yield, `'imageFill'` for NFTs. */
|
|
6
|
+
icon: IconName;
|
|
7
|
+
/** Activity label, e.g. `"Swapped ETH → USD₮0"`. Never truncated. */
|
|
8
|
+
title: string;
|
|
9
|
+
/** Pre-formatted outcome, e.g. `"2,343 ETH"`. Truncates when long. */
|
|
10
|
+
value: string;
|
|
11
|
+
/** Chain the transaction ran on (source chain for cross-chain rows). */
|
|
12
|
+
chainName: string;
|
|
13
|
+
chainIconUrl?: string;
|
|
14
|
+
/** Destination chain. When present the row renders `chain → destChain`. */
|
|
15
|
+
destChainName?: string;
|
|
16
|
+
destChainIconUrl?: string;
|
|
17
|
+
status: TxHistoryStatus;
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function TxHistoryItem({ icon, title, value, chainName, chainIconUrl, destChainName, destChainIconUrl, status, className, }: TxHistoryItemProps): import("react").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/history/components/TxHistoryItem/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAQ,MAAM,mBAAmB,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAQ9D,MAAM,WAAW,kBAAkB;IACjC;4EACwE;IACxE,IAAI,EAAE,QAAQ,CAAA;IACd,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAA;IACb,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,GACV,EAAE,kBAAkB,+BAmDpB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TxHistoryEntry } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Placeholder feed mirroring the Figma history screen (`15873:58582`) until
|
|
4
|
+
* the real activity source lands. Timestamps are relative to module load:
|
|
5
|
+
* a "Today" section and an older fixed-looking section two weeks back.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MOCK_HISTORY: TxHistoryEntry[];
|
|
8
|
+
//# sourceMappingURL=mocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../../src/history/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAS7C;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,cAAc,EAiExC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TxHistoryEntry } from '../types';
|
|
2
|
+
export interface HistoryProps {
|
|
3
|
+
/** Activity feed, newest anywhere (sorted internally). Defaults to the
|
|
4
|
+
* mock feed until the real activity source lands. */
|
|
5
|
+
entries?: TxHistoryEntry[];
|
|
6
|
+
/** Fired when a row is tapped. Rows are inert when omitted. */
|
|
7
|
+
onSelectEntry?: (entry: TxHistoryEntry) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function History({ entries, onSelectEntry, }: HistoryProps): import("react").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=History.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"History.d.ts","sourceRoot":"","sources":["../../../../src/history/pages/History.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG9C,MAAM,WAAW,YAAY;IAC3B;yDACqD;IACrD,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;CAChD;AAED,wBAAgB,OAAO,CAAC,EACtB,OAAsB,EACtB,aAAa,GACd,EAAE,YAAY,+BAiCd"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TxHistoryEntry } from '../types';
|
|
2
|
+
/** Current page within the history flow. Single page for now — a
|
|
3
|
+
* transaction-details step slots in beside it later. */
|
|
4
|
+
export type TxHistoryStep = 'history';
|
|
5
|
+
export interface TxHistoryProps {
|
|
6
|
+
/** Called when the top-right × close button is clicked. */
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
/** Activity feed; defaults to the mock feed until a real source lands. */
|
|
9
|
+
entries?: TxHistoryEntry[] | undefined;
|
|
10
|
+
/** Fired when a row is tapped. Rows are inert when omitted. */
|
|
11
|
+
onSelectEntry?: ((entry: TxHistoryEntry) => void) | undefined;
|
|
12
|
+
className?: string | undefined;
|
|
13
|
+
size?: 'sm' | 'md' | 'lg' | undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Transaction history widget.
|
|
17
|
+
*
|
|
18
|
+
* Owns the shared `Screen` + `TopNav` chrome and delegates the body to the
|
|
19
|
+
* current page in this directory — mirrors the layout of
|
|
20
|
+
* `smart-routing-address-react-ui`'s `pages/index.tsx`. Navigation is owned
|
|
21
|
+
* here: pages get callbacks, never the step setter.
|
|
22
|
+
*/
|
|
23
|
+
export declare function TxHistory({ onClose, entries, onSelectEntry, className, size, }: TxHistoryProps): import("react").JSX.Element;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/history/pages/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG9C;wDACwD;AACxD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAA;AAMrC,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;IACtC,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAC7D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;CACtC;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACT,IAAI,GACL,EAAE,cAAc,+BA8BhB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { IconName } from '@zerodev/react-ui';
|
|
2
|
+
import type { TxHistoryStatus } from './components/TxHistoryItem';
|
|
3
|
+
/**
|
|
4
|
+
* One row of the history feed, presentation-ready. This is the mock-stage
|
|
5
|
+
* shape: display strings are pre-built and only `timestamp` is raw (day
|
|
6
|
+
* grouping is a relationship with "now", so it can't be pre-formatted).
|
|
7
|
+
* When the real activity source lands, its domain model maps into this via
|
|
8
|
+
* a `toTxHistoryEntry`-style adapter rather than reshaping the components.
|
|
9
|
+
*/
|
|
10
|
+
export interface TxHistoryEntry {
|
|
11
|
+
/** Stable key — backend id, or `${txHash}-${logIndex}` when derived. */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Leading glyph for the activity kind. */
|
|
14
|
+
icon: IconName;
|
|
15
|
+
/** Row title, e.g. `"Swapped ETH → USD₮0"`. */
|
|
16
|
+
title: string;
|
|
17
|
+
/** Trailing amount/outcome, e.g. `"2,343 ETH"`. */
|
|
18
|
+
value: string;
|
|
19
|
+
/** Chain the activity ran on (source side for cross-chain rows). */
|
|
20
|
+
chainName: string;
|
|
21
|
+
chainIconUrl?: string;
|
|
22
|
+
/** Destination chain — cross-chain rows only. */
|
|
23
|
+
destChainName?: string;
|
|
24
|
+
destChainIconUrl?: string;
|
|
25
|
+
status: TxHistoryStatus;
|
|
26
|
+
/** Unix epoch milliseconds — drives sorting and day grouping. */
|
|
27
|
+
timestamp: number;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/history/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAA;IACV,2CAA2C;IAC3C,IAAI,EAAE,QAAQ,CAAA;IACd,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;CAClB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TxHistoryEntry } from '../types';
|
|
2
|
+
export interface DayGroup {
|
|
3
|
+
/** Section header: "Today", "Yesterday", or e.g. "August 12, 2025". */
|
|
4
|
+
label: string;
|
|
5
|
+
entries: TxHistoryEntry[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Newest-first entries bucketed by local calendar day, ready to render as
|
|
9
|
+
* header + rows sections. `now` is injectable so tests (and midnight
|
|
10
|
+
* boundaries) are deterministic.
|
|
11
|
+
*/
|
|
12
|
+
export declare function groupByDay(entries: TxHistoryEntry[], now?: number): DayGroup[];
|
|
13
|
+
//# sourceMappingURL=groupByDay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupByDay.d.ts","sourceRoot":"","sources":["../../../../src/history/utils/groupByDay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,QAAQ;IACvB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B;AAmBD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,cAAc,EAAE,EACzB,GAAG,GAAE,MAAmB,GACvB,QAAQ,EAAE,CAaZ"}
|
package/dist/_types/index.d.ts
CHANGED
|
@@ -6,6 +6,9 @@ export { ConnectWallet } from './auth';
|
|
|
6
6
|
export { useAuth } from './auth/hooks/useAuth';
|
|
7
7
|
export { SignUp } from './auth/pages/SignUp';
|
|
8
8
|
export type { AuthMethod, AuthStep, EmailAuthMethod } from './auth/types';
|
|
9
|
+
export type { WalletId } from './auth/walletGuide';
|
|
9
10
|
export type { ZeroDevKitConnectorParams, } from './connector.js';
|
|
10
11
|
export { zeroDevWallet } from './connector.js';
|
|
12
|
+
export { TxHistory, type TxHistoryProps, type TxHistoryStep, } from './history/pages';
|
|
13
|
+
export type { TxHistoryEntry } from './history/types';
|
|
11
14
|
//# 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,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;
|
|
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;AAG9C,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface TokenSummaryProps {
|
|
2
|
+
/** Token logo URL, shown in the tile floating over the card's top edge.
|
|
3
|
+
* The tile renders empty (neutral background) when omitted. */
|
|
4
|
+
tokenLogoUrl?: string;
|
|
5
|
+
/** Pre-formatted fiat value, e.g. `"+$170.27"`. */
|
|
6
|
+
fiatValue: string;
|
|
7
|
+
/** Pre-formatted token amount, e.g. `"0.0652 ETH"`. */
|
|
8
|
+
cryptoAmount: string;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Portfolio-value hero (Figma "Portfolio Value", `15873:58532`): a card
|
|
13
|
+
* headed by a token logo tile that overhangs the top edge, with the fiat
|
|
14
|
+
* value large and the crypto amount beneath. The overhang headroom is part
|
|
15
|
+
* of the component, so consumers can stack it without clipping the tile.
|
|
16
|
+
*/
|
|
17
|
+
export declare function TokenSummary({ tokenLogoUrl, fiatValue, cryptoAmount, className, }: TokenSummaryProps): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/components/TokenSummary/index.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC;mEAC+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAC3B,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,SAAS,GACV,EAAE,iBAAiB,+BAyBnB"}
|