@daimo/sdk 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/client/createDaimoClient.d.ts +31 -21
  2. package/dist/client/createDaimoClient.d.ts.map +1 -1
  3. package/dist/client/createDaimoClient.js +24 -16
  4. package/dist/client/createDaimoClient.js.map +1 -1
  5. package/dist/common/account.d.ts +75 -8
  6. package/dist/common/account.d.ts.map +1 -1
  7. package/dist/common/account.js +7 -1
  8. package/dist/common/account.js.map +1 -1
  9. package/dist/common/api.d.ts +19 -8
  10. package/dist/common/api.d.ts.map +1 -1
  11. package/dist/common/api.js +6 -1
  12. package/dist/common/api.js.map +1 -1
  13. package/dist/common/chain.d.ts +0 -1
  14. package/dist/common/chain.d.ts.map +1 -1
  15. package/dist/common/chain.js +0 -10
  16. package/dist/common/chain.js.map +1 -1
  17. package/dist/common/session.d.ts +6 -3
  18. package/dist/common/session.d.ts.map +1 -1
  19. package/dist/common/session.js.map +1 -1
  20. package/dist/common/token.d.ts +16 -4
  21. package/dist/common/token.d.ts.map +1 -1
  22. package/dist/common/token.js +12 -42
  23. package/dist/common/token.js.map +1 -1
  24. package/dist/version.d.ts +1 -1
  25. package/dist/version.js +1 -1
  26. package/dist/web/api/index.d.ts +3 -3
  27. package/dist/web/api/index.d.ts.map +1 -1
  28. package/dist/web/api/navTree.d.ts +5 -5
  29. package/dist/web/api/navTree.d.ts.map +1 -1
  30. package/dist/web/api/walletTypes.d.ts +2 -15
  31. package/dist/web/api/walletTypes.d.ts.map +1 -1
  32. package/dist/web/components/ConfirmationPage.d.ts.map +1 -1
  33. package/dist/web/components/ConfirmationPage.js +3 -3
  34. package/dist/web/components/ConfirmationPage.js.map +1 -1
  35. package/dist/web/components/DaimoModal.d.ts.map +1 -1
  36. package/dist/web/components/DaimoModal.js +28 -9
  37. package/dist/web/components/DaimoModal.js.map +1 -1
  38. package/dist/web/components/QRCode.d.ts.map +1 -1
  39. package/dist/web/components/QRCode.js +2 -2
  40. package/dist/web/components/QRCode.js.map +1 -1
  41. package/dist/web/components/TokenAmountEntry.d.ts +57 -0
  42. package/dist/web/components/TokenAmountEntry.d.ts.map +1 -0
  43. package/dist/web/components/TokenAmountEntry.js +157 -0
  44. package/dist/web/components/TokenAmountEntry.js.map +1 -0
  45. package/dist/web/components/WalletAmountPage.d.ts +2 -2
  46. package/dist/web/components/WalletAmountPage.d.ts.map +1 -1
  47. package/dist/web/components/WalletAmountPage.js +11 -146
  48. package/dist/web/components/WalletAmountPage.js.map +1 -1
  49. package/dist/web/components/account/AccountApplePayPage.d.ts +24 -0
  50. package/dist/web/components/account/AccountApplePayPage.d.ts.map +1 -0
  51. package/dist/web/components/account/AccountApplePayPage.js +253 -0
  52. package/dist/web/components/account/AccountApplePayPage.js.map +1 -0
  53. package/dist/web/components/account/AccountBankDetailsPage.d.ts +16 -0
  54. package/dist/web/components/account/AccountBankDetailsPage.d.ts.map +1 -0
  55. package/dist/web/components/account/AccountBankDetailsPage.js +140 -0
  56. package/dist/web/components/account/AccountBankDetailsPage.js.map +1 -0
  57. package/dist/web/components/account/AccountBankPickerPage.d.ts +8 -8
  58. package/dist/web/components/account/AccountBankPickerPage.d.ts.map +1 -1
  59. package/dist/web/components/account/AccountBankPickerPage.js +66 -19
  60. package/dist/web/components/account/AccountBankPickerPage.js.map +1 -1
  61. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts +13 -0
  62. package/dist/web/components/account/AccountBankTransferSubmittedPage.d.ts.map +1 -0
  63. package/dist/web/components/account/AccountBankTransferSubmittedPage.js +27 -0
  64. package/dist/web/components/account/AccountBankTransferSubmittedPage.js.map +1 -0
  65. package/dist/web/components/account/AccountDeeplinkPage.d.ts +0 -2
  66. package/dist/web/components/account/AccountDeeplinkPage.d.ts.map +1 -1
  67. package/dist/web/components/account/AccountDeeplinkPage.js +7 -6
  68. package/dist/web/components/account/AccountDeeplinkPage.js.map +1 -1
  69. package/dist/web/components/account/AccountEnrollmentPage.d.ts +5 -18
  70. package/dist/web/components/account/AccountEnrollmentPage.d.ts.map +1 -1
  71. package/dist/web/components/account/AccountEnrollmentPage.js +86 -20
  72. package/dist/web/components/account/AccountEnrollmentPage.js.map +1 -1
  73. package/dist/web/components/account/AccountFlowProvider.d.ts.map +1 -1
  74. package/dist/web/components/account/AccountFlowProvider.js +23 -2
  75. package/dist/web/components/account/AccountFlowProvider.js.map +1 -1
  76. package/dist/web/components/account/AccountOtpCodeEntry.d.ts +16 -0
  77. package/dist/web/components/account/AccountOtpCodeEntry.d.ts.map +1 -0
  78. package/dist/web/components/account/AccountOtpCodeEntry.js +101 -0
  79. package/dist/web/components/account/AccountOtpCodeEntry.js.map +1 -0
  80. package/dist/web/components/account/AccountOtpPage.d.ts.map +1 -1
  81. package/dist/web/components/account/AccountOtpPage.js +10 -53
  82. package/dist/web/components/account/AccountOtpPage.js.map +1 -1
  83. package/dist/web/components/account/AccountPaymentPage.d.ts +7 -4
  84. package/dist/web/components/account/AccountPaymentPage.d.ts.map +1 -1
  85. package/dist/web/components/account/AccountPaymentPage.js +29 -34
  86. package/dist/web/components/account/AccountPaymentPage.js.map +1 -1
  87. package/dist/web/components/account/AccountPhoneOtpPage.d.ts +14 -0
  88. package/dist/web/components/account/AccountPhoneOtpPage.d.ts.map +1 -0
  89. package/dist/web/components/account/AccountPhoneOtpPage.js +56 -0
  90. package/dist/web/components/account/AccountPhoneOtpPage.js.map +1 -0
  91. package/dist/web/components/account/AccountPhonePage.d.ts +11 -0
  92. package/dist/web/components/account/AccountPhonePage.d.ts.map +1 -0
  93. package/dist/web/components/account/AccountPhonePage.js +100 -0
  94. package/dist/web/components/account/AccountPhonePage.js.map +1 -0
  95. package/dist/web/components/account/AccountReadyPage.d.ts +2 -0
  96. package/dist/web/components/account/AccountReadyPage.d.ts.map +1 -0
  97. package/dist/web/components/account/AccountReadyPage.js +7 -0
  98. package/dist/web/components/account/AccountReadyPage.js.map +1 -0
  99. package/dist/web/components/account/AccountStatusPage.d.ts +1 -3
  100. package/dist/web/components/account/AccountStatusPage.d.ts.map +1 -1
  101. package/dist/web/components/account/AccountStatusPage.js +8 -8
  102. package/dist/web/components/account/AccountStatusPage.js.map +1 -1
  103. package/dist/web/components/account/accountNav.d.ts +14 -0
  104. package/dist/web/components/account/accountNav.d.ts.map +1 -0
  105. package/dist/web/components/account/accountNav.js +35 -0
  106. package/dist/web/components/account/accountNav.js.map +1 -0
  107. package/dist/web/components/account/openDeeplink.js +30 -14
  108. package/dist/web/components/account/openDeeplink.js.map +1 -1
  109. package/dist/web/components/account/phone.d.ts +6 -0
  110. package/dist/web/components/account/phone.d.ts.map +1 -0
  111. package/dist/web/components/account/phone.js +35 -0
  112. package/dist/web/components/account/phone.js.map +1 -0
  113. package/dist/web/components/account/useCoinbaseApplePayWidget.d.ts +20 -0
  114. package/dist/web/components/account/useCoinbaseApplePayWidget.d.ts.map +1 -0
  115. package/dist/web/components/account/useCoinbaseApplePayWidget.js +159 -0
  116. package/dist/web/components/account/useCoinbaseApplePayWidget.js.map +1 -0
  117. package/dist/web/components/buttons.d.ts +11 -1
  118. package/dist/web/components/buttons.d.ts.map +1 -1
  119. package/dist/web/components/buttons.js +11 -3
  120. package/dist/web/components/buttons.js.map +1 -1
  121. package/dist/web/components/shared.d.ts +8 -3
  122. package/dist/web/components/shared.d.ts.map +1 -1
  123. package/dist/web/components/shared.js +44 -15
  124. package/dist/web/components/shared.js.map +1 -1
  125. package/dist/web/hooks/locale.d.ts +4 -0
  126. package/dist/web/hooks/locale.d.ts.map +1 -1
  127. package/dist/web/hooks/locale.js +23 -1
  128. package/dist/web/hooks/locale.js.map +1 -1
  129. package/dist/web/hooks/locales/en.d.ts +17 -0
  130. package/dist/web/hooks/locales/en.d.ts.map +1 -1
  131. package/dist/web/hooks/locales/en.js +19 -2
  132. package/dist/web/hooks/locales/en.js.map +1 -1
  133. package/dist/web/hooks/locales/es.d.ts.map +1 -1
  134. package/dist/web/hooks/locales/es.js +17 -0
  135. package/dist/web/hooks/locales/es.js.map +1 -1
  136. package/dist/web/hooks/locales/ja.d.ts +4 -0
  137. package/dist/web/hooks/locales/ja.d.ts.map +1 -0
  138. package/dist/web/hooks/locales/ja.js +140 -0
  139. package/dist/web/hooks/locales/ja.js.map +1 -0
  140. package/dist/web/hooks/locales/ko.d.ts +4 -0
  141. package/dist/web/hooks/locales/ko.d.ts.map +1 -0
  142. package/dist/web/hooks/locales/ko.js +140 -0
  143. package/dist/web/hooks/locales/ko.js.map +1 -0
  144. package/dist/web/hooks/locales/zh.d.ts +4 -0
  145. package/dist/web/hooks/locales/zh.d.ts.map +1 -0
  146. package/dist/web/hooks/locales/zh.js +140 -0
  147. package/dist/web/hooks/locales/zh.js.map +1 -0
  148. package/dist/web/hooks/types.d.ts +13 -3
  149. package/dist/web/hooks/types.d.ts.map +1 -1
  150. package/dist/web/hooks/types.js.map +1 -1
  151. package/dist/web/hooks/useAccountFlow.d.ts +49 -13
  152. package/dist/web/hooks/useAccountFlow.d.ts.map +1 -1
  153. package/dist/web/hooks/useAccountFlow.js +90 -13
  154. package/dist/web/hooks/useAccountFlow.js.map +1 -1
  155. package/dist/web/hooks/useCreateDeposit.d.ts +1 -1
  156. package/dist/web/hooks/useCreateDeposit.d.ts.map +1 -1
  157. package/dist/web/hooks/useCreateDeposit.js +103 -15
  158. package/dist/web/hooks/useCreateDeposit.js.map +1 -1
  159. package/dist/web/hooks/useDepositAddress.d.ts.map +1 -1
  160. package/dist/web/hooks/useDepositAddress.js +21 -2
  161. package/dist/web/hooks/useDepositAddress.js.map +1 -1
  162. package/dist/web/hooks/useDraftDeposit.d.ts +35 -0
  163. package/dist/web/hooks/useDraftDeposit.d.ts.map +1 -0
  164. package/dist/web/hooks/useDraftDeposit.js +155 -0
  165. package/dist/web/hooks/useDraftDeposit.js.map +1 -0
  166. package/dist/web/hooks/useSessionNav.d.ts +1 -1
  167. package/dist/web/hooks/useSessionNav.d.ts.map +1 -1
  168. package/dist/web/hooks/useSessionNav.js +17 -11
  169. package/dist/web/hooks/useSessionNav.js.map +1 -1
  170. package/dist/web/hooks/useWalletFlow.d.ts.map +1 -1
  171. package/dist/web/hooks/useWalletFlow.js +9 -0
  172. package/dist/web/hooks/useWalletFlow.js.map +1 -1
  173. package/dist/web/index.d.ts +1 -1
  174. package/dist/web/index.d.ts.map +1 -1
  175. package/dist/web/index.js +1 -1
  176. package/dist/web/index.js.map +1 -1
  177. package/dist/web/platform.d.ts +1 -0
  178. package/dist/web/platform.d.ts.map +1 -1
  179. package/dist/web/platform.js +11 -0
  180. package/dist/web/platform.js.map +1 -1
  181. package/dist/web/styles.css +1 -1
  182. package/dist/web/theme.css +1 -1
  183. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountFlow.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/useAccountFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAccountFlow.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/useAccountFlow.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAErE,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,YAAY,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC3C;IACE,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,kBAAkB,CAAC;CAC7B,GACD;IACE,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEN,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACrE,KAAK,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,WAAW,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAE7C,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,kEAAkE;IAClE,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,oFAAoF;IACpF,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE3C,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvE,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IAC5D,eAAe,EAAE,CACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,iBAAiB,KACrB,IAAI,CAAC;IACV,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtG,UAAU,EAAE,CACV,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,KAC1B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACxC,eAAe,EAAE,CACf,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,KAC1B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,8EAA8E;IAC9E,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,oEAAoE;IACpE,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC5C,CAAC;AAMF,eAAO,MAAM,kBAAkB,kDAA+C,CAAC;AAE/E,wBAAgB,cAAc,IAAI,gBAAgB,GAAG,IAAI,CAExD;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM;;;6BAK5C,iBAAiB;;EAW5B;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,IAAI,gBAAgB,CA+PtD"}
@@ -1,22 +1,34 @@
1
1
  import { createContext, useCallback, useContext, useRef, useState } from "react";
2
- // Context (not a plain hook like useWalletFlow) because PrivyProvider must wrap
3
- // the components that use Privy hooks. The account flow state lives above
4
- // PrivyProvider so PrivyConsumer can bridge Privy hooks into it.
2
+ // Context (not a plain hook like useWalletFlow) because the auth provider must
3
+ // wrap the components that use these hooks. The account flow state lives above
4
+ // the provider so the consumer can bridge auth hooks into it.
5
5
  // Limitation: one AccountFlowProvider per page = one shared auth session.
6
6
  export const AccountFlowContext = createContext(null);
7
7
  export function useAccountFlow() {
8
8
  return useContext(AccountFlowContext);
9
9
  }
10
+ export function useSessionDepositState(sessionId) {
11
+ const accountFlow = useAccountFlow();
12
+ const depositState = accountFlow?.getDepositState(sessionId) ?? null;
13
+ const setDepositState = useCallback((state) => {
14
+ accountFlow?.setDepositState(sessionId, state);
15
+ }, [accountFlow, sessionId]);
16
+ const clearDepositState = useCallback(() => {
17
+ accountFlow?.clearDepositState(sessionId);
18
+ }, [accountFlow, sessionId]);
19
+ return { accountFlow, depositState, setDepositState, clearDepositState };
20
+ }
10
21
  /** Create the account flow state object. Used by the AccountFlowProvider. */
11
22
  export function useAccountFlowState() {
12
23
  const [email, setEmail] = useState("");
24
+ const [phoneNumber, setPhoneNumber] = useState("");
13
25
  const [isLoggingIn, setIsLoggingIn] = useState(false);
14
26
  const [isReady, setIsReady] = useState(false);
15
27
  const [isAuthenticated, setIsAuthenticated] = useState(false);
16
28
  const [authError, setAuthError] = useState(null);
17
29
  const [isCreatingWallet, setIsCreatingWallet] = useState(false);
18
30
  const [walletAddress, setWalletAddress] = useState(null);
19
- const [depositState, setDepositState] = useState(null);
31
+ const [storedDepositState, setStoredDepositState] = useState(null);
20
32
  const privyRef = useRef(null);
21
33
  // PrivyConsumer calls registerPrivy on every Privy state change,
22
34
  // keeping our state in sync without polling.
@@ -64,7 +76,7 @@ export function useAccountFlowState() {
64
76
  finally {
65
77
  setIsLoggingIn(false);
66
78
  }
67
- }, [email]);
79
+ }, [email, waitForReady]);
68
80
  const verifyOtp = useCallback(async (code) => {
69
81
  if (!privyRef.current)
70
82
  return false;
@@ -77,13 +89,56 @@ export function useAccountFlowState() {
77
89
  return true;
78
90
  }
79
91
  catch (err) {
80
- setAuthError(err instanceof Error ? err.message : "failed to verify code");
92
+ setAuthError(privyAuthErrorMessage(err));
81
93
  return false;
82
94
  }
83
95
  finally {
84
96
  setIsLoggingIn(false);
85
97
  }
86
- }, []);
98
+ }, [waitForReady]);
99
+ const sendPhoneOtp = useCallback(async (overridePhone) => {
100
+ const target = overridePhone ?? phoneNumber;
101
+ if (!privyRef.current) {
102
+ setAuthError("privy not initialized");
103
+ return false;
104
+ }
105
+ if (!target) {
106
+ setAuthError("phone number is required");
107
+ return false;
108
+ }
109
+ setIsLoggingIn(true);
110
+ setAuthError(null);
111
+ try {
112
+ await waitForReady();
113
+ await privyRef.current.sendPhoneCode(target);
114
+ return true;
115
+ }
116
+ catch (err) {
117
+ setAuthError(err instanceof Error ? err.message : "failed to send code");
118
+ return false;
119
+ }
120
+ finally {
121
+ setIsLoggingIn(false);
122
+ }
123
+ }, [phoneNumber, waitForReady]);
124
+ const verifyPhoneOtp = useCallback(async (code) => {
125
+ if (!privyRef.current)
126
+ return false;
127
+ setIsLoggingIn(true);
128
+ setAuthError(null);
129
+ try {
130
+ await waitForReady();
131
+ await privyRef.current.loginWithPhoneCode(code);
132
+ return true;
133
+ }
134
+ catch (err) {
135
+ setAuthError(privyAuthErrorMessage(err));
136
+ return false;
137
+ }
138
+ finally {
139
+ setIsLoggingIn(false);
140
+ }
141
+ }, [waitForReady]);
87
142
  const createWallet = useCallback(async () => {
88
143
  if (!privyRef.current)
89
144
  return null;
@@ -109,18 +164,29 @@ export function useAccountFlowState() {
109
164
  throw new Error("privy not initialized");
110
165
  return privyRef.current.signTypedData(typedData);
111
166
  }, []);
167
+ const getDepositState = useCallback((sessionId) => {
168
+ if (storedDepositState?.sessionId !== sessionId)
169
+ return null;
170
+ return storedDepositState;
171
+ }, [storedDepositState]);
172
+ const setDepositState = useCallback((sessionId, state) => {
173
+ setStoredDepositState({ sessionId, ...state });
174
+ }, []);
175
+ const clearDepositState = useCallback((sessionId) => {
176
+ setStoredDepositState((current) => current?.sessionId === sessionId ? null : current);
177
+ }, []);
112
178
  const createAccount = useCallback(async (client, session, addr) => {
113
179
  const token = await getAccessToken();
114
180
  if (!token)
115
181
  throw new Error("not authenticated");
116
182
  await client.account.create({ walletAddress: addr }, session, { bearerToken: token });
117
183
  }, [getAccessToken]);
118
- const getAccount = useCallback(async (client, session, region) => {
184
+ const getAccount = useCallback(async (client, session, target) => {
119
185
  const token = await getAccessToken();
120
186
  if (!token)
121
187
  return null;
122
188
  try {
123
- return await client.account.get(region, session, {
189
+ return await client.account.get(target, session, {
124
190
  bearerToken: token,
125
191
  });
126
192
  }
@@ -128,11 +194,11 @@ export function useAccountFlowState() {
128
194
  return null;
129
195
  }
130
196
  }, [getAccessToken]);
131
- const startEnrollment = useCallback(async (client, region) => {
197
+ const startEnrollment = useCallback(async (client, target) => {
132
198
  const token = await getAccessToken();
133
199
  if (!token)
134
200
  return null;
135
- return client.account.startEnrollment({ region }, { bearerToken: token });
201
+ return client.account.startEnrollment(target, { bearerToken: token });
136
202
  }, [getAccessToken]);
137
203
  const logout = useCallback(async () => {
138
204
  try {
@@ -144,12 +210,15 @@ export function useAccountFlowState() {
144
210
  setIsAuthenticated(false);
145
211
  setWalletAddress(null);
146
212
  setEmail("");
213
+ setPhoneNumber("");
147
214
  setAuthError(null);
148
- setDepositState(null);
215
+ setStoredDepositState(null);
149
216
  }, []);
150
217
  return {
151
218
  email,
152
219
  setEmail,
220
+ phoneNumber,
221
+ setPhoneNumber,
153
222
  isLoggingIn,
154
223
  isReady,
155
224
  isAuthenticated,
@@ -157,13 +226,16 @@ export function useAccountFlowState() {
157
226
  setAuthError,
158
227
  sendOtp,
159
228
  verifyOtp,
229
+ sendPhoneOtp,
230
+ verifyPhoneOtp,
160
231
  isCreatingWallet,
161
232
  walletAddress,
162
233
  createWallet,
163
234
  getAccessToken,
164
235
  signTypedData,
165
- depositState,
236
+ getDepositState,
166
237
  setDepositState,
238
+ clearDepositState,
167
239
  createAccount,
168
240
  getAccount,
169
241
  startEnrollment,
@@ -172,4 +244,9 @@ export function useAccountFlowState() {
172
244
  registerPrivy,
173
245
  };
174
246
  }
247
+ function privyAuthErrorMessage(err) {
248
+ if (err instanceof Error && err.message)
249
+ return err.message;
250
+ return "failed to verify code";
251
+ }
175
252
  //# sourceMappingURL=useAccountFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountFlow.js","sourceRoot":"","sources":["../../../src/web/hooks/useAccountFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAccountFlow.js","sourceRoot":"","sources":["../../../src/web/hooks/useAccountFlow.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { DaimoClient } from "../../client/createDaimoClient.js";
2
2
  import type { AccountRegion, DepositPaymentInfo } from "../../common/account.js";
3
- import type { AccountFlowState } from "./useAccountFlow.js";
3
+ import { type AccountFlowState } from "./useAccountFlow.js";
4
4
  export type CreateDepositResult = {
5
5
  isCreating: boolean;
6
6
  error: string | null;
@@ -1 +1 @@
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
+ {"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,EACL,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAE7B,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,CA0JtB"}
@@ -1,54 +1,142 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
+ import { useSessionDepositState, } from "./useAccountFlow.js";
2
3
  /**
3
4
  * Signs EIP-712 typed data and creates a deposit in the background.
4
5
  * Returns loading state, error, and payment info when ready.
5
6
  */
6
7
  export function useCreateDeposit(opts) {
7
8
  const { client, accountFlow, sessionId, depositAmount, region } = opts;
8
- const [isCreating, setIsCreating] = useState(true);
9
+ const { depositState, setDepositState } = useSessionDepositState(sessionId);
10
+ const matchesAmount = depositState != null && depositState.depositAmount === depositAmount;
11
+ const hasExistingDeposit = matchesAmount
12
+ && depositState.createStatus === "created"
13
+ && depositState.depositId !== ""
14
+ && depositState.payment != null;
15
+ const isCreateInFlight = matchesAmount && depositState.createStatus === "creating";
16
+ const [isCreating, setIsCreating] = useState(!hasExistingDeposit && (depositAmount !== "" || isCreateInFlight));
9
17
  const [error, setError] = useState(null);
10
18
  const started = useRef(false);
11
19
  useEffect(() => {
20
+ if (hasExistingDeposit) {
21
+ setIsCreating(false);
22
+ setError(null);
23
+ return;
24
+ }
25
+ if (isCreateInFlight) {
26
+ setIsCreating(true);
27
+ setError(null);
28
+ return;
29
+ }
12
30
  if (started.current || !accountFlow || !depositAmount)
13
31
  return;
14
32
  started.current = true;
15
33
  (async () => {
34
+ let request = depositState?.createRequest ?? null;
35
+ const selectedInstitutionId = depositState?.selectedInstitutionId;
16
36
  try {
17
37
  const token = await accountFlow.getAccessToken();
18
38
  if (!token)
19
39
  throw new Error("not authenticated");
20
40
  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 });
41
+ if (request == null) {
42
+ setDepositState({
43
+ depositAmount,
44
+ depositId: "",
45
+ payment: null,
46
+ createStatus: "creating",
47
+ createRequest: null,
48
+ selectedInstitutionId,
49
+ });
50
+ // 1. Get EIP-712 typed data for routing + delivery signatures
51
+ const { routingSignData, deliverySignData } = await client.account.prepareDeposit({ sessionId, depositAmount, region }, auth);
52
+ // 2. Sign both (sequential — Privy can't handle concurrent signing)
53
+ const routingSig = await accountFlow.signTypedData({
54
+ ...routingSignData,
55
+ });
56
+ const deliverySig = await accountFlow.signTypedData({
57
+ ...deliverySignData,
58
+ });
59
+ request = {
60
+ region,
61
+ depositAmount,
62
+ deliverySig,
63
+ deliverySigData: deliverySignData,
64
+ routingSig,
65
+ routingSigData: routingSignData,
66
+ };
67
+ setDepositState({
68
+ depositAmount,
69
+ depositId: "",
70
+ payment: null,
71
+ createStatus: "creating",
72
+ createRequest: request,
73
+ selectedInstitutionId,
74
+ });
75
+ }
76
+ else {
77
+ setDepositState({
78
+ depositAmount,
79
+ depositId: "",
80
+ payment: null,
81
+ createStatus: "creating",
82
+ createRequest: request,
83
+ selectedInstitutionId,
84
+ });
85
+ }
26
86
  // 3. Create deposit with provider
27
87
  const { deposit, payment } = await client.account.createDeposit({
28
88
  sessionId,
29
- region,
30
- depositAmount,
31
- deliverySig,
32
- deliverySigData: deliverySignData,
33
- routingSig,
34
- routingSigData: routingSignData,
89
+ ...request,
35
90
  }, auth);
36
91
  // 4. Update deposit state
37
- accountFlow.setDepositState({
92
+ setDepositState({
38
93
  depositAmount,
39
94
  depositId: deposit.id,
40
95
  payment,
96
+ createStatus: "created",
97
+ createRequest: request,
98
+ selectedInstitutionId,
41
99
  });
42
100
  setIsCreating(false);
43
101
  }
44
102
  catch (err) {
45
103
  console.error("[create-deposit] failed:", err);
104
+ if (request != null) {
105
+ setDepositState({
106
+ depositAmount,
107
+ depositId: "",
108
+ payment: null,
109
+ createStatus: "failed",
110
+ createRequest: request,
111
+ selectedInstitutionId,
112
+ });
113
+ }
114
+ else {
115
+ setDepositState({
116
+ depositAmount,
117
+ depositId: "",
118
+ payment: null,
119
+ createStatus: "draft",
120
+ createRequest: null,
121
+ selectedInstitutionId,
122
+ });
123
+ }
46
124
  setError(err instanceof Error ? err.message : "failed to create deposit");
47
125
  setIsCreating(false);
48
126
  }
49
127
  })();
50
- }, [accountFlow, client, sessionId, depositAmount, region]);
51
- const payment = accountFlow?.depositState?.payment ?? null;
128
+ }, [
129
+ accountFlow,
130
+ client,
131
+ depositAmount,
132
+ hasExistingDeposit,
133
+ isCreateInFlight,
134
+ region,
135
+ sessionId,
136
+ setDepositState,
137
+ depositState,
138
+ ]);
139
+ const payment = depositState?.payment ?? null;
52
140
  return { isCreating, error, payment };
53
141
  }
54
142
  //# sourceMappingURL=useCreateDeposit.js.map
@@ -1 +1 @@
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
+ {"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;AAIpD,OAAO,EAEL,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAQ7B;;;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,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,aAAa,GACjB,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,aAAa,KAAK,aAAa,CAAC;IACvE,MAAM,kBAAkB,GACtB,aAAa;WACV,YAAY,CAAC,YAAY,KAAK,SAAS;WACvC,YAAY,CAAC,SAAS,KAAK,EAAE;WAC7B,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC;IAClC,MAAM,gBAAgB,GACpB,aAAa,IAAI,YAAY,CAAC,YAAY,KAAK,UAAU,CAAC;IAE5D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,CAAC,kBAAkB,IAAI,CAAC,aAAa,KAAK,EAAE,IAAI,gBAAgB,CAAC,CAClE,CAAC;IACF,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,kBAAkB,EAAE,CAAC;YACvB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,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,OAAO,GAAG,YAAY,EAAE,aAAa,IAAI,IAAI,CAAC;YAClD,MAAM,qBAAqB,GAAG,YAAY,EAAE,qBAAqB,CAAC;YAClE,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,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACpB,eAAe,CAAC;wBACd,aAAa;wBACb,SAAS,EAAE,EAAE;wBACb,OAAO,EAAE,IAAI;wBACb,YAAY,EAAE,UAAU;wBACxB,aAAa,EAAE,IAAI;wBACnB,qBAAqB;qBACtB,CAAC,CAAC;oBAEH,8DAA8D;oBAC9D,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;oBAEJ,oEAAoE;oBACpE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC;wBACjD,GAAG,eAAe;qBACnB,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC;wBAClD,GAAG,gBAAgB;qBACpB,CAAC,CAAC;oBAEH,OAAO,GAAG;wBACR,MAAM;wBACN,aAAa;wBACb,WAAW;wBACX,eAAe,EAAE,gBAAgB;wBACjC,UAAU;wBACV,cAAc,EAAE,eAAe;qBAChC,CAAC;oBAEF,eAAe,CAAC;wBACd,aAAa;wBACb,SAAS,EAAE,EAAE;wBACb,OAAO,EAAE,IAAI;wBACb,YAAY,EAAE,UAAU;wBACxB,aAAa,EAAE,OAAO;wBACtB,qBAAqB;qBACtB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC;wBACd,aAAa;wBACb,SAAS,EAAE,EAAE;wBACb,OAAO,EAAE,IAAI;wBACb,YAAY,EAAE,UAAU;wBACxB,aAAa,EAAE,OAAO;wBACtB,qBAAqB;qBACtB,CAAC,CAAC;gBACL,CAAC;gBAED,kCAAkC;gBAClC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAC7D;oBACE,SAAS;oBACT,GAAG,OAAO;iBACX,EACD,IAAI,CACL,CAAC;gBAEF,0BAA0B;gBAC1B,eAAe,CAAC;oBACd,aAAa;oBACb,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,OAAO;oBACP,YAAY,EAAE,SAAS;oBACvB,aAAa,EAAE,OAAO;oBACtB,qBAAqB;iBACtB,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,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACpB,eAAe,CAAC;wBACd,aAAa;wBACb,SAAS,EAAE,EAAE;wBACb,OAAO,EAAE,IAAI;wBACb,YAAY,EAAE,QAAQ;wBACtB,aAAa,EAAE,OAAO;wBACtB,qBAAqB;qBACtB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC;wBACd,aAAa;wBACb,SAAS,EAAE,EAAE;wBACb,OAAO,EAAE,IAAI;wBACb,YAAY,EAAE,OAAO;wBACrB,aAAa,EAAE,IAAI;wBACnB,qBAAqB;qBACtB,CAAC,CAAC;gBACL,CAAC;gBACD,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;QACD,WAAW;QACX,MAAM;QACN,aAAa;QACb,kBAAkB;QAClB,gBAAgB;QAChB,MAAM;QACN,SAAS;QACT,eAAe;QACf,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,YAAY,EAAE,OAAO,IAAI,IAAI,CAAC;IAC9C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDepositAddress.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/useDepositAddress.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAkCxE"}
1
+ {"version":3,"file":"useDepositAddress.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/useDepositAddress.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBxD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CA2CxE"}
@@ -1,5 +1,17 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
2
  import { useDaimoClient } from "./DaimoClientContext.js";
3
+ function navTreeNeedsEvmPaymentMethod(nodes) {
4
+ for (const node of nodes) {
5
+ if (node.type === "DepositAddress" || node.type === "ConnectedWallet") {
6
+ return true;
7
+ }
8
+ if (node.type === "ChooseOption" &&
9
+ navTreeNeedsEvmPaymentMethod(node.options)) {
10
+ return true;
11
+ }
12
+ }
13
+ return false;
14
+ }
3
15
  /**
4
16
  * Creates an EVM payment method on mount to obtain the deposit address.
5
17
  * Returns the receiver address once available, or null while loading.
@@ -14,8 +26,9 @@ export function useDepositAddress(session) {
14
26
  return null;
15
27
  });
16
28
  const initRef = useRef(false);
29
+ const shouldInitEvmPaymentMethod = navTreeNeedsEvmPaymentMethod(session.navTree);
17
30
  useEffect(() => {
18
- if (initRef.current || depositAddress)
31
+ if (!shouldInitEvmPaymentMethod || initRef.current || depositAddress)
19
32
  return;
20
33
  initRef.current = true;
21
34
  client.sessions.paymentMethods
@@ -30,7 +43,13 @@ export function useDepositAddress(session) {
30
43
  }
31
44
  })
32
45
  .catch((err) => console.error("failed to init evm payment method:", err));
33
- }, [session.sessionId, session.clientSecret, depositAddress, client]);
46
+ }, [
47
+ session.sessionId,
48
+ session.clientSecret,
49
+ depositAddress,
50
+ client,
51
+ shouldInitEvmPaymentMethod,
52
+ ]);
34
53
  return depositAddress;
35
54
  }
36
55
  //# sourceMappingURL=useDepositAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDepositAddress.js","sourceRoot":"","sources":["../../../src/web/hooks/useDepositAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACvD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,GAAG,EAAE;QACvE,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO,CACJ,OAAO,CAAC,aAA8C;iBACpD,eAAe,IAAI,IAAI,CAC3B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,OAAO,IAAI,cAAc;YAAE,OAAO;QAC9C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,cAAc;aAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;YACzB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SAC/B,CAAC;aACD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;YACxC,IAAI,EAAE,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvB,iBAAiB,CACd,EAAkC,CAAC,eAAe,CACpD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtE,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"useDepositAddress.js","sourceRoot":"","sources":["../../../src/web/hooks/useDepositAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIzD,SAAS,4BAA4B,CAAC,KAAgB;IACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IACE,IAAI,CAAC,IAAI,KAAK,cAAc;YAC5B,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACvD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,GAAG,EAAE;QACvE,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO,CACJ,OAAO,CAAC,aAA8C;iBACpD,eAAe,IAAI,IAAI,CAC3B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,0BAA0B,GAAG,4BAA4B,CAC7D,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,0BAA0B,IAAI,OAAO,CAAC,OAAO,IAAI,cAAc;YAAE,OAAO;QAC7E,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,cAAc;aAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;YACzB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SAC/B,CAAC;aACD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;YACxC,IAAI,EAAE,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvB,iBAAiB,CACd,EAAkC,CAAC,eAAe,CACpD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC,EAAE;QACD,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,YAAY;QACpB,cAAc;QACd,MAAM;QACN,0BAA0B;KAC3B,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { DaimoClient } from "../../client/createDaimoClient.js";
2
+ import type { AccountRail, CreateDepositResponse, DepositPaymentInfo } from "../../common/account.js";
3
+ import { type AccountFlowState } from "./useAccountFlow.js";
4
+ type UseDraftDepositArgs = {
5
+ client: DaimoClient;
6
+ accountFlow: AccountFlowState | null;
7
+ sessionId: string;
8
+ rail: AccountRail;
9
+ depositAmount: string;
10
+ enabled: boolean;
11
+ draftMode: "plain" | "signed";
12
+ };
13
+ type UseDraftDepositResult = {
14
+ payment: DepositPaymentInfo | null;
15
+ isCreating: boolean;
16
+ error: string | null;
17
+ retry: () => void;
18
+ };
19
+ /**
20
+ * Debounced draft-deposit upsert. Fires `upsertDeposit` each time the amount
21
+ * settles, stores the result on the session deposit state. Used by every
22
+ * rail: Apple Pay shows the hosted widget, bank rails render institutions.
23
+ */
24
+ export declare function useDraftDeposit({ client, accountFlow, sessionId, rail, depositAmount, enabled, draftMode, }: UseDraftDepositArgs): UseDraftDepositResult;
25
+ type SignAndUpsertDepositArgs = {
26
+ client: DaimoClient;
27
+ accountFlow: AccountFlowState;
28
+ sessionId: string;
29
+ depositAmount: string;
30
+ authorizedAmount?: string;
31
+ rail: AccountRail;
32
+ };
33
+ export declare function signAndUpsertDeposit({ client, accountFlow, sessionId, depositAmount, authorizedAmount, rail, }: SignAndUpsertDepositArgs): Promise<CreateDepositResponse>;
34
+ export {};
35
+ //# sourceMappingURL=useDraftDeposit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDraftDeposit.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/useDraftDeposit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAE7B,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,SAAS,EACT,IAAI,EACJ,aAAa,EACb,OAAO,EACP,SAAS,GACV,EAAE,mBAAmB,GAAG,qBAAqB,CAkG7C;AAED,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,WAAW,EACX,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,IAAI,GACL,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA4B3D"}