@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.
Files changed (62) hide show
  1. package/README.md +20 -5
  2. package/dist/_types/auth/components/WalletGridSheet/index.d.ts +15 -0
  3. package/dist/_types/auth/components/WalletGridSheet/index.d.ts.map +1 -0
  4. package/dist/_types/auth/index.d.ts.map +1 -1
  5. package/dist/_types/auth/pages/SignUp/InstalledWallets.d.ts +12 -0
  6. package/dist/_types/auth/pages/SignUp/InstalledWallets.d.ts.map +1 -0
  7. package/dist/_types/auth/pages/SignUp/MoreWallets.d.ts +5 -0
  8. package/dist/_types/auth/pages/SignUp/MoreWallets.d.ts.map +1 -0
  9. package/dist/_types/auth/pages/SignUp/Wallet.d.ts +7 -0
  10. package/dist/_types/auth/pages/SignUp/Wallet.d.ts.map +1 -0
  11. package/dist/_types/auth/pages/SignUp/context.d.ts +5 -0
  12. package/dist/_types/auth/pages/SignUp/context.d.ts.map +1 -1
  13. package/dist/_types/auth/pages/SignUp/index.d.ts +6 -0
  14. package/dist/_types/auth/pages/SignUp/index.d.ts.map +1 -1
  15. package/dist/_types/auth/types.d.ts +2 -2
  16. package/dist/_types/auth/types.d.ts.map +1 -1
  17. package/dist/_types/auth/utils/isCancellationError.d.ts.map +1 -1
  18. package/dist/_types/auth/walletGuide.d.ts +108 -0
  19. package/dist/_types/auth/walletGuide.d.ts.map +1 -0
  20. package/dist/_types/history/components/TxHistoryItem/index.d.ts +21 -0
  21. package/dist/_types/history/components/TxHistoryItem/index.d.ts.map +1 -0
  22. package/dist/_types/history/mocks.d.ts +8 -0
  23. package/dist/_types/history/mocks.d.ts.map +1 -0
  24. package/dist/_types/history/pages/History.d.ts +10 -0
  25. package/dist/_types/history/pages/History.d.ts.map +1 -0
  26. package/dist/_types/history/pages/index.d.ts +24 -0
  27. package/dist/_types/history/pages/index.d.ts.map +1 -0
  28. package/dist/_types/history/types.d.ts +29 -0
  29. package/dist/_types/history/types.d.ts.map +1 -0
  30. package/dist/_types/history/utils/groupByDay.d.ts +13 -0
  31. package/dist/_types/history/utils/groupByDay.d.ts.map +1 -0
  32. package/dist/_types/index.d.ts +3 -0
  33. package/dist/_types/index.d.ts.map +1 -1
  34. package/dist/_types/shared/components/TokenSummary/index.d.ts +18 -0
  35. package/dist/_types/shared/components/TokenSummary/index.d.ts.map +1 -0
  36. package/dist/index.cjs +3 -3
  37. package/dist/index.cjs.map +1 -1
  38. package/dist/index.mjs +974 -483
  39. package/dist/index.mjs.map +1 -1
  40. package/dist/styles.css +1 -1
  41. package/package.json +4 -4
  42. package/src/auth/components/WalletGridSheet/index.tsx +77 -0
  43. package/src/auth/index.tsx +0 -13
  44. package/src/auth/pages/SignUp/InstalledWallets.tsx +95 -0
  45. package/src/auth/pages/SignUp/MoreWallets.tsx +105 -0
  46. package/src/auth/pages/SignUp/Wallet.tsx +81 -0
  47. package/src/auth/pages/SignUp/context.tsx +5 -0
  48. package/src/auth/pages/SignUp/index.tsx +30 -4
  49. package/src/auth/types.ts +1 -2
  50. package/src/auth/utils/isCancellationError.ts +2 -0
  51. package/src/auth/walletGuide.ts +132 -0
  52. package/src/history/components/TxHistoryItem/index.tsx +108 -0
  53. package/src/history/mocks.ts +80 -0
  54. package/src/history/pages/History.tsx +69 -0
  55. package/src/history/pages/index.tsx +69 -0
  56. package/src/history/types.ts +29 -0
  57. package/src/history/utils/groupByDay.ts +47 -0
  58. package/src/index.ts +9 -0
  59. package/src/shared/components/TokenSummary/index.tsx +50 -0
  60. package/dist/_types/auth/pages/WalletSelection.d.ts +0 -2
  61. package/dist/_types/auth/pages/WalletSelection.d.ts.map +0 -1
  62. 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.Divider`.
139
- Order and presence are yours; while one method is in flight, the others
140
- disable themselves.
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`, `ZeroDevKitConnectorParams`.
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;AA8DjD,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,sCA2CL"}
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,5 @@
1
+ /** "More wallets" row — opens the wallet grid sheet. */
2
+ export declare function SignUpMoreWallets({ title, }: {
3
+ title?: string;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=MoreWallets.d.ts.map
@@ -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;CAC3C,CAAA;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAA;AAE3E,wBAAgB,gBAAgB,IAAI,kBAAkB,CAMrD;AAED;;;oCAGoC;AACpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAMhD"}
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,EAAY,MAAM,OAAO,CAAA;AAGhD,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,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,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,+BAgFjB;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;;;;;;CAMjB,CAAA"}
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' | 'wallet-selection' | 'authenticated' | 'error';
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;AAEvD,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,oBAAoB,GACpB,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,OAAO,CAAA;AAEX,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,KAAK,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,CAOzD"}
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"}
@@ -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;AAGzE,YAAY,EAEV,yBAAyB,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,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"}