@daimo/sdk 1.7.0 → 1.8.0-beta.0

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 (170) hide show
  1. package/README.md +1 -0
  2. package/dist/client/createDaimoClient.d.ts +7 -3
  3. package/dist/client/createDaimoClient.d.ts.map +1 -1
  4. package/dist/client/createDaimoClient.js +8 -3
  5. package/dist/client/createDaimoClient.js.map +1 -1
  6. package/dist/common/api.d.ts +7 -5
  7. package/dist/common/api.d.ts.map +1 -1
  8. package/dist/common/api.js +13 -12
  9. package/dist/common/api.js.map +1 -1
  10. package/dist/common/api.test.d.ts +2 -0
  11. package/dist/common/api.test.d.ts.map +1 -0
  12. package/dist/common/api.test.js +21 -0
  13. package/dist/common/api.test.js.map +1 -0
  14. package/dist/common/constants.d.ts +5 -0
  15. package/dist/common/constants.d.ts.map +1 -0
  16. package/dist/common/constants.js +5 -0
  17. package/dist/common/constants.js.map +1 -0
  18. package/dist/common/frameMessages.d.ts +26 -0
  19. package/dist/common/frameMessages.d.ts.map +1 -0
  20. package/dist/common/frameMessages.js +54 -0
  21. package/dist/common/frameMessages.js.map +1 -0
  22. package/dist/common/frameMessages.test.d.ts +2 -0
  23. package/dist/common/frameMessages.test.d.ts.map +1 -0
  24. package/dist/common/frameMessages.test.js +42 -0
  25. package/dist/common/frameMessages.test.js.map +1 -0
  26. package/dist/native/DaimoFrameRN.d.ts +71 -0
  27. package/dist/native/DaimoFrameRN.d.ts.map +1 -0
  28. package/dist/native/DaimoFrameRN.js +238 -0
  29. package/dist/native/DaimoFrameRN.js.map +1 -0
  30. package/dist/native/index.d.ts +5 -0
  31. package/dist/native/index.d.ts.map +1 -0
  32. package/dist/native/index.js +10 -0
  33. package/dist/native/index.js.map +1 -0
  34. package/dist/version.d.ts +1 -1
  35. package/dist/version.d.ts.map +1 -1
  36. package/dist/version.js +1 -1
  37. package/dist/version.js.map +1 -1
  38. package/dist/web/api/index.d.ts +24 -0
  39. package/dist/web/api/index.d.ts.map +1 -1
  40. package/dist/web/api/index.js +6 -1
  41. package/dist/web/api/index.js.map +1 -1
  42. package/dist/web/api/navTree.d.ts +2 -1
  43. package/dist/web/api/navTree.d.ts.map +1 -1
  44. package/dist/web/components/BankLogo.d.ts +8 -0
  45. package/dist/web/components/BankLogo.d.ts.map +1 -0
  46. package/dist/web/components/BankLogo.js +9 -0
  47. package/dist/web/components/BankLogo.js.map +1 -0
  48. package/dist/web/components/ChooseOptionPage.d.ts.map +1 -1
  49. package/dist/web/components/ChooseOptionPage.js +4 -0
  50. package/dist/web/components/ChooseOptionPage.js.map +1 -1
  51. package/dist/web/components/DaimoFrame.d.ts.map +1 -1
  52. package/dist/web/components/DaimoFrame.js +2 -2
  53. package/dist/web/components/DaimoFrame.js.map +1 -1
  54. package/dist/web/components/DaimoModal.d.ts +16 -1
  55. package/dist/web/components/DaimoModal.d.ts.map +1 -1
  56. package/dist/web/components/DaimoModal.js +102 -32
  57. package/dist/web/components/DaimoModal.js.map +1 -1
  58. package/dist/web/components/DaimoRampPreview.d.ts +12 -0
  59. package/dist/web/components/DaimoRampPreview.d.ts.map +1 -0
  60. package/dist/web/components/DaimoRampPreview.js +21 -0
  61. package/dist/web/components/DaimoRampPreview.js.map +1 -0
  62. package/dist/web/components/ExchangePage.d.ts.map +1 -1
  63. package/dist/web/components/ExchangePage.js +6 -1
  64. package/dist/web/components/ExchangePage.js.map +1 -1
  65. package/dist/web/components/ExternalPaymentPage.d.ts.map +1 -1
  66. package/dist/web/components/ExternalPaymentPage.js +3 -2
  67. package/dist/web/components/ExternalPaymentPage.js.map +1 -1
  68. package/dist/web/components/ModalChrome.d.ts +9 -12
  69. package/dist/web/components/ModalChrome.d.ts.map +1 -1
  70. package/dist/web/components/ModalChrome.js +40 -41
  71. package/dist/web/components/ModalChrome.js.map +1 -1
  72. package/dist/web/components/account/AccountApplePayPage.d.ts.map +1 -1
  73. package/dist/web/components/account/AccountApplePayPage.js +16 -16
  74. package/dist/web/components/account/AccountApplePayPage.js.map +1 -1
  75. package/dist/web/components/account/AccountEmailPage.d.ts +2 -1
  76. package/dist/web/components/account/AccountEmailPage.d.ts.map +1 -1
  77. package/dist/web/components/account/AccountEmailPage.js +2 -2
  78. package/dist/web/components/account/AccountEmailPage.js.map +1 -1
  79. package/dist/web/components/account/AccountEnrollmentUpdatePage.d.ts.map +1 -1
  80. package/dist/web/components/account/AccountEnrollmentUpdatePage.js +2 -1
  81. package/dist/web/components/account/AccountEnrollmentUpdatePage.js.map +1 -1
  82. package/dist/web/components/account/AccountFlowProvider.d.ts +8 -1
  83. package/dist/web/components/account/AccountFlowProvider.d.ts.map +1 -1
  84. package/dist/web/components/account/AccountFlowProvider.js +38 -3
  85. package/dist/web/components/account/AccountFlowProvider.js.map +1 -1
  86. package/dist/web/components/account/AccountOtpPage.d.ts +1 -1
  87. package/dist/web/components/account/AccountOtpPage.d.ts.map +1 -1
  88. package/dist/web/components/account/AccountOtpPage.js +4 -2
  89. package/dist/web/components/account/AccountOtpPage.js.map +1 -1
  90. package/dist/web/components/account/AccountStatusPage.d.ts +4 -1
  91. package/dist/web/components/account/AccountStatusPage.d.ts.map +1 -1
  92. package/dist/web/components/account/AccountStatusPage.js +2 -2
  93. package/dist/web/components/account/AccountStatusPage.js.map +1 -1
  94. package/dist/web/components/account/accountNav.d.ts +7 -1
  95. package/dist/web/components/account/accountNav.d.ts.map +1 -1
  96. package/dist/web/components/account/accountNav.js +18 -0
  97. package/dist/web/components/account/accountNav.js.map +1 -1
  98. package/dist/web/components/account/accountNav.test.js +35 -1
  99. package/dist/web/components/account/accountNav.test.js.map +1 -1
  100. package/dist/web/components/frameMessages.d.ts +2 -28
  101. package/dist/web/components/frameMessages.d.ts.map +1 -1
  102. package/dist/web/components/frameMessages.js +4 -61
  103. package/dist/web/components/frameMessages.js.map +1 -1
  104. package/dist/web/components/shared.d.ts.map +1 -1
  105. package/dist/web/components/shared.js +6 -1
  106. package/dist/web/components/shared.js.map +1 -1
  107. package/dist/web/hooks/formatUserError.d.ts.map +1 -1
  108. package/dist/web/hooks/formatUserError.js +10 -0
  109. package/dist/web/hooks/formatUserError.js.map +1 -1
  110. package/dist/web/hooks/formatUserError.test.d.ts +2 -0
  111. package/dist/web/hooks/formatUserError.test.d.ts.map +1 -0
  112. package/dist/web/hooks/formatUserError.test.js +36 -0
  113. package/dist/web/hooks/formatUserError.test.js.map +1 -0
  114. package/dist/web/hooks/locales/en.d.ts +5 -0
  115. package/dist/web/hooks/locales/en.d.ts.map +1 -1
  116. package/dist/web/hooks/locales/en.js +10 -5
  117. package/dist/web/hooks/locales/en.js.map +1 -1
  118. package/dist/web/hooks/locales/es.d.ts.map +1 -1
  119. package/dist/web/hooks/locales/es.js +10 -5
  120. package/dist/web/hooks/locales/es.js.map +1 -1
  121. package/dist/web/hooks/locales/ja.d.ts.map +1 -1
  122. package/dist/web/hooks/locales/ja.js +10 -5
  123. package/dist/web/hooks/locales/ja.js.map +1 -1
  124. package/dist/web/hooks/locales/ko.d.ts.map +1 -1
  125. package/dist/web/hooks/locales/ko.js +10 -5
  126. package/dist/web/hooks/locales/ko.js.map +1 -1
  127. package/dist/web/hooks/locales/pt.d.ts.map +1 -1
  128. package/dist/web/hooks/locales/pt.js +10 -5
  129. package/dist/web/hooks/locales/pt.js.map +1 -1
  130. package/dist/web/hooks/locales/zh.d.ts.map +1 -1
  131. package/dist/web/hooks/locales/zh.js +10 -5
  132. package/dist/web/hooks/locales/zh.js.map +1 -1
  133. package/dist/web/hooks/types.d.ts +2 -1
  134. package/dist/web/hooks/types.d.ts.map +1 -1
  135. package/dist/web/hooks/types.js.map +1 -1
  136. package/dist/web/hooks/useSessionNav.d.ts +6 -1
  137. package/dist/web/hooks/useSessionNav.d.ts.map +1 -1
  138. package/dist/web/hooks/useSessionNav.js +56 -22
  139. package/dist/web/hooks/useSessionNav.js.map +1 -1
  140. package/dist/web/index.d.ts +2 -0
  141. package/dist/web/index.d.ts.map +1 -1
  142. package/dist/web/index.js +1 -0
  143. package/dist/web/index.js.map +1 -1
  144. package/dist/web/styles.css +1 -1
  145. package/dist/web/theme.css +1 -1
  146. package/package.json +18 -4
  147. package/dist/web/components/ProgressPulse.d.ts +0 -14
  148. package/dist/web/components/ProgressPulse.d.ts.map +0 -1
  149. package/dist/web/components/ProgressPulse.js +0 -15
  150. package/dist/web/components/ProgressPulse.js.map +0 -1
  151. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts +0 -15
  152. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts.map +0 -1
  153. package/dist/web/components/account/AccountBankTransferSubmittedPage.js +0 -33
  154. package/dist/web/components/account/AccountBankTransferSubmittedPage.js.map +0 -1
  155. package/dist/web/components/account/AccountReadyPage.d.ts +0 -2
  156. package/dist/web/components/account/AccountReadyPage.d.ts.map +0 -1
  157. package/dist/web/components/account/AccountReadyPage.js +0 -7
  158. package/dist/web/components/account/AccountReadyPage.js.map +0 -1
  159. package/dist/web/components/account/AccountRipioOtpPage.d.ts +0 -7
  160. package/dist/web/components/account/AccountRipioOtpPage.d.ts.map +0 -1
  161. package/dist/web/components/account/AccountRipioOtpPage.js +0 -53
  162. package/dist/web/components/account/AccountRipioOtpPage.js.map +0 -1
  163. package/dist/web/hooks/useCreateDeposit.d.ts +0 -20
  164. package/dist/web/hooks/useCreateDeposit.d.ts.map +0 -1
  165. package/dist/web/hooks/useCreateDeposit.js +0 -54
  166. package/dist/web/hooks/useCreateDeposit.js.map +0 -1
  167. package/dist/web/isDesktopBrowser.d.ts +0 -2
  168. package/dist/web/isDesktopBrowser.d.ts.map +0 -1
  169. package/dist/web/isDesktopBrowser.js +0 -6
  170. package/dist/web/isDesktopBrowser.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daimo/sdk",
3
- "version": "1.7.0",
3
+ "version": "1.8.0-beta.0",
4
4
  "description": "Daimo SDK - universal ramp for stablecoin apps",
5
5
  "author": "Daimo",
6
6
  "license": "BSD-2-Clause",
@@ -23,7 +23,11 @@
23
23
  "types": "./dist/web/api/index.d.ts"
24
24
  },
25
25
  "./web/styles.css": "./dist/web/styles.css",
26
- "./web/theme.css": "./dist/web/theme.css"
26
+ "./web/theme.css": "./dist/web/theme.css",
27
+ "./native": {
28
+ "import": "./dist/native/index.js",
29
+ "types": "./dist/native/index.d.ts"
30
+ }
27
31
  },
28
32
  "files": [
29
33
  "dist",
@@ -31,7 +35,7 @@
31
35
  ],
32
36
  "scripts": {
33
37
  "dev": "node scripts/genVersion.mjs && tsc --watch --preserveWatchOutput & pnpm exec tailwindcss -i src/web/theme.css -o dist/web/theme.css --watch & wait",
34
- "build": "node scripts/genVersion.mjs && tsc && pnpm exec tailwindcss -i src/web/theme.css -o dist/web/theme.css --minify && cp dist/web/theme.css dist/web/styles.css && pnpm run verify:styles",
38
+ "build": "node scripts/genVersion.mjs && tsc && tsc -p tsconfig.native.json && pnpm exec tailwindcss -i src/web/theme.css -o dist/web/theme.css --minify && cp dist/web/theme.css dist/web/styles.css && pnpm run verify:styles",
35
39
  "test": "pnpm run lint && vitest run && pnpm run build",
36
40
  "lint": "eslint --max-warnings=0",
37
41
  "verify:styles": "node ./scripts/verifyStyles.mjs"
@@ -52,7 +56,9 @@
52
56
  "@solana/web3.js": "^1.95.4",
53
57
  "qrcode": "^1.5.0",
54
58
  "react": "18.x || 19.x",
55
- "react-dom": "18.x || 19.x"
59
+ "react-dom": "18.x || 19.x",
60
+ "react-native": ">=0.72",
61
+ "react-native-webview": ">=13.0.0"
56
62
  },
57
63
  "peerDependenciesMeta": {
58
64
  "react-dom": {
@@ -63,6 +69,12 @@
63
69
  },
64
70
  "@solana/web3.js": {
65
71
  "optional": true
72
+ },
73
+ "react-native": {
74
+ "optional": true
75
+ },
76
+ "react-native-webview": {
77
+ "optional": true
66
78
  }
67
79
  },
68
80
  "devDependencies": {
@@ -72,6 +84,8 @@
72
84
  "@types/react-dom": "^19.0.0",
73
85
  "postcss": "^8.5.6",
74
86
  "postcss-selector-parser": "^6.1.2",
87
+ "react-native": "^0.86.0",
88
+ "react-native-webview": "^14.0.1",
75
89
  "tailwindcss": "^3.4.12",
76
90
  "typescript": "5.9.2",
77
91
  "vitest": "^4.1.0"
@@ -1,14 +0,0 @@
1
- type ProgressPulseProps = {
2
- /** Label shown below the icon, e.g. "Deposit received" */
3
- label?: string;
4
- };
5
- /**
6
- * Pulsing progress indicator for intermediate loading states.
7
- * Use instead of ConfirmationSpinner for non-terminal progress like
8
- * "deposit received, routing funds" or "enrolling with provider".
9
- *
10
- * Three dots pulse in sequence to convey forward momentum.
11
- */
12
- export declare function ProgressPulse({ label }: ProgressPulseProps): import("react/jsx-runtime").JSX.Element;
13
- export {};
14
- //# sourceMappingURL=ProgressPulse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressPulse.d.ts","sourceRoot":"","sources":["../../../src/web/components/ProgressPulse.tsx"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAsB1D"}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Pulsing progress indicator for intermediate loading states.
4
- * Use instead of ConfirmationSpinner for non-terminal progress like
5
- * "deposit received, routing funds" or "enrolling with provider".
6
- *
7
- * Three dots pulse in sequence to convey forward momentum.
8
- */
9
- export function ProgressPulse({ label }) {
10
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center daimo-gap-4", children: [_jsx("div", { className: "daimo-flex daimo-items-center daimo-gap-3", children: [0, 1, 2].map((i) => (_jsx("div", { className: "daimo-w-3 daimo-h-3 daimo-rounded-full", style: {
11
- backgroundColor: "var(--daimo-success)",
12
- animation: `daimo-pulse-dot 1.2s ease-in-out ${i * 0.2}s infinite`,
13
- } }, i))) }), label && (_jsx("p", { className: "daimo-text-sm daimo-font-medium daimo-text-[var(--daimo-text-secondary)] daimo-text-center", children: label }))] }));
14
- }
15
- //# sourceMappingURL=ProgressPulse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressPulse.js","sourceRoot":"","sources":["../../../src/web/components/ProgressPulse.tsx"],"names":[],"mappings":";AAKA;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAsB;IACzD,OAAO,CACL,eAAK,SAAS,EAAC,0DAA0D,aACvE,cAAK,SAAS,EAAC,2CAA2C,YACvD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,cAEE,SAAS,EAAC,wCAAwC,EAClD,KAAK,EAAE;wBACL,eAAe,EAAE,sBAAsB;wBACvC,SAAS,EAAE,oCAAoC,CAAC,GAAG,GAAG,YAAY;qBACnE,IALI,CAAC,CAMN,CACH,CAAC,GACE,EACL,KAAK,IAAI,CACR,YAAG,SAAS,EAAC,4FAA4F,YACtG,KAAK,GACJ,CACL,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { AccountRail } from "../../../common/account.js";
2
- type AccountBankTransferSubmittedPageProps = {
3
- rail: AccountRail;
4
- sessionId: string;
5
- clientSecret: string;
6
- baseUrl: string;
7
- onAdvance: () => void;
8
- };
9
- /**
10
- * Async handoff page after the user says they sent the bank transfer. We keep
11
- * polling in case the provider webhook arrives while the modal is still open.
12
- */
13
- export declare function AccountBankTransferSubmittedPage({ rail, sessionId, clientSecret, baseUrl, onAdvance, }: AccountBankTransferSubmittedPageProps): import("react/jsx-runtime").JSX.Element;
14
- export {};
15
- //# sourceMappingURL=AccountBankTransferSubmittedPage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccountBankTransferSubmittedPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountBankTransferSubmittedPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAO9D,KAAK,qCAAqC,GAAG;IAC3C,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,EAC/C,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,GACV,EAAE,qCAAqC,2CA6CvC"}
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useDaimoClient } from "../../hooks/DaimoClientContext.js";
3
- import { t } from "../../hooks/locale.js";
4
- import { useDepositPoller } from "../../hooks/useDepositPoller.js";
5
- import { ConfirmationSpinner } from "../ConfirmationSpinner.js";
6
- import { CenteredContent, PageHeader } from "../shared.js";
7
- /**
8
- * Async handoff page after the user says they sent the bank transfer. We keep
9
- * polling in case the provider webhook arrives while the modal is still open.
10
- */
11
- export function AccountBankTransferSubmittedPage({ rail, sessionId, clientSecret, baseUrl, onAdvance, }) {
12
- const client = useDaimoClient();
13
- const accountUrl = `${baseUrl}/account/activity?session=${encodeURIComponent(sessionId)}`;
14
- const title = rail === "jpyc"
15
- ? t.accountDirectionsSubmittedTitle
16
- : t.accountBankTransferSubmittedTitle;
17
- const description = rail === "jpyc"
18
- ? t.accountDirectionsSubmittedDesc
19
- : t.accountBankTransferSubmittedDesc;
20
- useDepositPoller({
21
- client,
22
- sessionId,
23
- clientSecret,
24
- onUpdate(deposit) {
25
- if (deposit.status !== "initiated"
26
- && deposit.status !== "awaiting_payment") {
27
- onAdvance();
28
- }
29
- },
30
- });
31
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: title }), _jsx(CenteredContent, { children: _jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center daimo-gap-5", children: [_jsx(ConfirmationSpinner, { done: true }), _jsx("p", { className: "daimo-max-w-xs daimo-text-center daimo-text-sm daimo-leading-relaxed daimo-text-[var(--daimo-text-secondary)]", children: description }), _jsx("a", { href: accountUrl, target: "_blank", rel: "noopener noreferrer", className: "daimo-w-full daimo-max-w-xs daimo-min-h-[44px] daimo-py-4 daimo-px-6 daimo-rounded-[var(--daimo-radius-lg)] daimo-font-medium daimo-bg-[var(--daimo-surface-secondary)] daimo-text-[var(--daimo-text)] hover:[@media(hover:hover)]:daimo-bg-[var(--daimo-surface-hover)] daimo-touch-action-manipulation daimo-transition-[background-color] daimo-duration-100 daimo-ease daimo-text-center daimo-flex daimo-items-center daimo-justify-center", children: t.accountViewAccount })] }) })] }));
32
- }
33
- //# sourceMappingURL=AccountBankTransferSubmittedPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccountBankTransferSubmittedPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountBankTransferSubmittedPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU3D;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAC/C,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,GAC6B;IACtC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,OAAO,6BAA6B,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1F,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM;QAC3B,CAAC,CAAC,CAAC,CAAC,+BAA+B;QACnC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM;QACjC,CAAC,CAAC,CAAC,CAAC,8BAA8B;QAClC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC;IAEvC,gBAAgB,CAAC;QACf,MAAM;QACN,SAAS;QACT,YAAY;QACZ,QAAQ,CAAC,OAAO;YACd,IACE,OAAO,CAAC,MAAM,KAAK,WAAW;mBAC3B,OAAO,CAAC,MAAM,KAAK,kBAAkB,EACxC,CAAC;gBACD,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aACnE,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,GAAI,EAC5B,KAAC,eAAe,cACd,eAAK,SAAS,EAAC,0DAA0D,aACvE,KAAC,mBAAmB,IAAC,IAAI,SAAG,EAC5B,YAAG,SAAS,EAAC,+GAA+G,YACzH,WAAW,GACV,EACJ,YACE,IAAI,EAAE,UAAU,EAChB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,ibAAib,YAE1b,CAAC,CAAC,kBAAkB,GACnB,IACA,GACU,IACd,CACP,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function AccountReadyPage(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=AccountReadyPage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccountReadyPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountReadyPage.tsx"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,4CAqB/B"}
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { t } from "../../hooks/locale.js";
3
- import { CenteredContent, PageHeader } from "../shared.js";
4
- export function AccountReadyPage() {
5
- return (_jsxs("div", { className: "daimo-flex daimo-flex-col daimo-flex-1 daimo-min-h-0", children: [_jsx(PageHeader, { title: t.accountReadyTitle, onBack: null }), _jsx(CenteredContent, { children: _jsxs("div", { className: "daimo-flex daimo-flex-col daimo-items-center daimo-gap-4 daimo-px-6 daimo-text-center", children: [_jsx("div", { className: "daimo-flex daimo-h-16 daimo-w-16 daimo-items-center daimo-justify-center daimo-rounded-full daimo-bg-[var(--daimo-surface-secondary)]", children: _jsx("div", { className: "daimo-h-7 daimo-w-7 daimo-rounded-full daimo-bg-[var(--daimo-accent)]" }) }), _jsxs("div", { className: "daimo-flex daimo-flex-col daimo-gap-2", children: [_jsx("h2", { className: "daimo-text-xl daimo-font-semibold daimo-text-[var(--daimo-text)]", children: t.accountReadyHeading }), _jsx("p", { className: "daimo-text-sm daimo-leading-relaxed daimo-text-[var(--daimo-text-secondary)]", children: t.accountReadyDescription })] })] }) })] }));
6
- }
7
- //# sourceMappingURL=AccountReadyPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccountReadyPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountReadyPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aACnE,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,GAAI,EACxD,KAAC,eAAe,cACd,eAAK,SAAS,EAAC,uFAAuF,aACpG,cAAK,SAAS,EAAC,uIAAuI,YACpJ,cAAK,SAAS,EAAC,uEAAuE,GAAG,GACrF,EACN,eAAK,SAAS,EAAC,uCAAuC,aACpD,aAAI,SAAS,EAAC,kEAAkE,YAC7E,CAAC,CAAC,mBAAmB,GACnB,EACL,YAAG,SAAS,EAAC,8EAA8E,YACxF,CAAC,CAAC,uBAAuB,GACxB,IACA,IACF,GACU,IACd,CACP,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- type AccountRipioOtpPageProps = {
2
- onBack: () => void;
3
- onVerified: () => void;
4
- };
5
- export declare function AccountRipioOtpPage({ onBack, onVerified, }: AccountRipioOtpPageProps): import("react/jsx-runtime").JSX.Element;
6
- export {};
7
- //# sourceMappingURL=AccountRipioOtpPage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccountRipioOtpPage.d.ts","sourceRoot":"","sources":["../../../../src/web/components/account/AccountRipioOtpPage.tsx"],"names":[],"mappings":"AASA,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAKF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,UAAU,GACX,EAAE,wBAAwB,2CA6D1B"}
@@ -1,53 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback } from "react";
3
- import { useDaimoClient } from "../../hooks/DaimoClientContext.js";
4
- import { useAccountFlow } from "../../hooks/useAccountFlow.js";
5
- import { AccountOtpCodeEntry, } from "./AccountOtpCodeEntry.js";
6
- const RIPIO_INVALID_CODE = "El código de Ripio no es válido. Revisalo e intentalo de nuevo.";
7
- export function AccountRipioOtpPage({ onBack, onVerified, }) {
8
- const account = useAccountFlow();
9
- const client = useDaimoClient();
10
- const handleVerify = useCallback(async (code) => {
11
- if (!account)
12
- return { ok: false, msg: RIPIO_INVALID_CODE };
13
- const token = await account.getAccessToken();
14
- if (!token)
15
- return { ok: false, msg: "No pudimos verificar tu sesión." };
16
- const result = await client.account.submitEnrollmentOtp({ rail: "ars", code }, { bearerToken: token });
17
- switch (result.action) {
18
- case "active":
19
- case "provider_pending":
20
- return { ok: true };
21
- case "provider_otp_required":
22
- return { ok: false, msg: RIPIO_INVALID_CODE };
23
- case "error":
24
- return { ok: false, msg: result.message };
25
- case "suspended":
26
- case "not_eligible":
27
- case "kyc_rejected_final":
28
- return { ok: false, msg: result.reason };
29
- case "kyc_required":
30
- case "kyc_retry":
31
- case "kyc_pending_review":
32
- case "hosted_agreement_required":
33
- case "hosted_kyc_required":
34
- case "phone_required":
35
- return { ok: true };
36
- default:
37
- return assertUnreachable(result);
38
- }
39
- }, [account, client]);
40
- const handleResend = useCallback(async () => {
41
- if (!account)
42
- return;
43
- const token = await account.getAccessToken();
44
- if (!token)
45
- return;
46
- await client.account.resendEnrollmentOtp({ rail: "ars" }, { bearerToken: token });
47
- }, [account, client]);
48
- return (_jsx(AccountOtpCodeEntry, { destination: "email", title: "Ya ten\u00E9s una cuenta de Ripio", message: "Vamos a conectar tu cuenta de Ripio para terminar el flujo. Ingres\u00E1 el c\u00F3digo que Ripio envi\u00F3 a tu email.", invalidMessage: RIPIO_INVALID_CODE, onBack: onBack, onVerified: onVerified, onVerify: handleVerify, onResend: handleResend }));
49
- }
50
- function assertUnreachable(value) {
51
- throw new Error(`unhandled enrollment response: ${JSON.stringify(value)}`);
52
- }
53
- //# sourceMappingURL=AccountRipioOtpPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccountRipioOtpPage.js","sourceRoot":"","sources":["../../../../src/web/components/account/AccountRipioOtpPage.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { DaimoClient } from "../../client/createDaimoClient.js";
2
- import type { AccountRegion, DepositPaymentInfo } from "../../common/account.js";
3
- import type { AccountFlowState } from "./useAccountFlow.js";
4
- export type CreateDepositResult = {
5
- isCreating: boolean;
6
- error: string | null;
7
- payment: DepositPaymentInfo | null;
8
- };
9
- /**
10
- * Signs EIP-712 typed data and creates a deposit in the background.
11
- * Returns loading state, error, and payment info when ready.
12
- */
13
- export declare function useCreateDeposit(opts: {
14
- client: DaimoClient;
15
- accountFlow: AccountFlowState | null;
16
- sessionId: string;
17
- depositAmount: string;
18
- region: AccountRegion;
19
- }): CreateDepositResult;
20
- //# sourceMappingURL=useCreateDeposit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCreateDeposit.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/useCreateDeposit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;CACvB,GAAG,mBAAmB,CA4DtB"}
@@ -1,54 +0,0 @@
1
- import { useEffect, useRef, useState } from "react";
2
- /**
3
- * Signs EIP-712 typed data and creates a deposit in the background.
4
- * Returns loading state, error, and payment info when ready.
5
- */
6
- export function useCreateDeposit(opts) {
7
- const { client, accountFlow, sessionId, depositAmount, region } = opts;
8
- const [isCreating, setIsCreating] = useState(true);
9
- const [error, setError] = useState(null);
10
- const started = useRef(false);
11
- useEffect(() => {
12
- if (started.current || !accountFlow || !depositAmount)
13
- return;
14
- started.current = true;
15
- (async () => {
16
- try {
17
- const token = await accountFlow.getAccessToken();
18
- if (!token)
19
- throw new Error("not authenticated");
20
- const auth = { bearerToken: token };
21
- // 1. Get EIP-712 typed data for routing + delivery signatures
22
- const { routingSignData, deliverySignData } = await client.account.prepareDeposit({ sessionId, depositAmount, region }, auth);
23
- // 2. Sign both (sequential — Privy can't handle concurrent signing)
24
- const routingSig = await accountFlow.signTypedData({ ...routingSignData });
25
- const deliverySig = await accountFlow.signTypedData({ ...deliverySignData });
26
- // 3. Create deposit with provider
27
- const { deposit, payment } = await client.account.createDeposit({
28
- sessionId,
29
- region,
30
- depositAmount,
31
- deliverySig,
32
- deliverySigData: deliverySignData,
33
- routingSig,
34
- routingSigData: routingSignData,
35
- }, auth);
36
- // 4. Update deposit state
37
- accountFlow.setDepositState({
38
- depositAmount,
39
- depositId: deposit.id,
40
- payment,
41
- });
42
- setIsCreating(false);
43
- }
44
- catch (err) {
45
- console.error("[create-deposit] failed:", err);
46
- setError(err instanceof Error ? err.message : "failed to create deposit");
47
- setIsCreating(false);
48
- }
49
- })();
50
- }, [accountFlow, client, sessionId, depositAmount, region]);
51
- const payment = accountFlow?.depositState?.payment ?? null;
52
- return { isCreating, error, payment };
53
- }
54
- //# sourceMappingURL=useCreateDeposit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCreateDeposit.js","sourceRoot":"","sources":["../../../src/web/hooks/useCreateDeposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAYpD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAMhC;IACC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa;YAAE,OAAO;QAC9D,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACjD,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBAEpC,8DAA8D;gBAC9D,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GACzC,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CACjC,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,EACpC,IAAI,CACL,CAAC;gBAEJ,oEAAoE;gBACpE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;gBAC3E,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC;gBAE7E,kCAAkC;gBAClC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAC7D;oBACE,SAAS;oBACT,MAAM;oBACN,aAAa;oBACb,WAAW;oBACX,eAAe,EAAE,gBAAgB;oBACjC,UAAU;oBACV,cAAc,EAAE,eAAe;iBAChC,EACD,IAAI,CACL,CAAC;gBAEF,0BAA0B;gBAC1B,WAAW,CAAC,eAAe,CAAC;oBAC1B,aAAa;oBACb,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,OAAO;iBACR,CAAC,CAAC;gBACH,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;gBAC/C,QAAQ,CACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAChE,CAAC;gBACF,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,WAAW,EAAE,YAAY,EAAE,OAAO,IAAI,IAAI,CAAC;IAC3D,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function isDesktopBrowser(): boolean;
2
- //# sourceMappingURL=isDesktopBrowser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isDesktopBrowser.d.ts","sourceRoot":"","sources":["../../src/web/isDesktopBrowser.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C"}
@@ -1,6 +0,0 @@
1
- export function isDesktopBrowser() {
2
- if (typeof navigator === "undefined")
3
- return false;
4
- return navigator.maxTouchPoints === 0;
5
- }
6
- //# sourceMappingURL=isDesktopBrowser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isDesktopBrowser.js","sourceRoot":"","sources":["../../src/web/isDesktopBrowser.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,SAAS,CAAC,cAAc,KAAK,CAAC,CAAC;AACxC,CAAC"}