thirdweb 5.59.0-nightly-e2b3484764275560aa899f3f894b767faedaa9a1-20240925000331 → 5.59.0-nightly-5ab3a81f79e96cb7caed6f591969942b2b67dbb6-20240926000312

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 (314) hide show
  1. package/dist/cjs/exports/wallets.native.js +3 -1
  2. package/dist/cjs/exports/wallets.native.js.map +1 -1
  3. package/dist/cjs/extensions/erc20/write/transfer.js +1 -0
  4. package/dist/cjs/extensions/erc20/write/transfer.js.map +1 -1
  5. package/dist/cjs/extensions/erc20/write/transferFrom.js +1 -0
  6. package/dist/cjs/extensions/erc20/write/transferFrom.js.map +1 -1
  7. package/dist/cjs/extensions/vote/types.js +2 -0
  8. package/dist/cjs/extensions/vote/types.js.map +1 -1
  9. package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +2 -3
  10. package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
  11. package/dist/cjs/react/native/hooks/wallets/useAutoConnect.js +2 -1
  12. package/dist/cjs/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
  13. package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js +1 -1
  14. package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
  15. package/dist/cjs/storage/upload.js +19 -0
  16. package/dist/cjs/storage/upload.js.map +1 -1
  17. package/dist/cjs/transaction/extract-error.js +2 -2
  18. package/dist/cjs/transaction/extract-error.js.map +1 -1
  19. package/dist/cjs/utils/fetch.js +2 -2
  20. package/dist/cjs/utils/fetch.js.map +1 -1
  21. package/dist/cjs/utils/process.js +7 -0
  22. package/dist/cjs/utils/process.js.map +1 -0
  23. package/dist/cjs/version.js +1 -1
  24. package/dist/cjs/wallets/create-wallet.js +5 -2
  25. package/dist/cjs/wallets/create-wallet.js.map +1 -1
  26. package/dist/cjs/wallets/in-app/core/authentication/authEndpoint.js +30 -0
  27. package/dist/cjs/wallets/in-app/core/authentication/authEndpoint.js.map +1 -0
  28. package/dist/cjs/wallets/in-app/core/authentication/jwt.js +30 -0
  29. package/dist/cjs/wallets/in-app/core/authentication/jwt.js.map +1 -0
  30. package/dist/cjs/wallets/in-app/core/authentication/passkeys.js +3 -14
  31. package/dist/cjs/wallets/in-app/core/authentication/passkeys.js.map +1 -1
  32. package/dist/cjs/wallets/in-app/core/authentication/types.js +0 -35
  33. package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -1
  34. package/dist/cjs/wallets/in-app/{web/lib → core/wallet}/enclave-wallet.js +15 -13
  35. package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -0
  36. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +9 -8
  37. package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  38. package/dist/cjs/wallets/in-app/core/wallet/index.js +1 -2
  39. package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
  40. package/dist/cjs/wallets/in-app/core/wallet/web-wallet.js.map +1 -0
  41. package/dist/cjs/wallets/in-app/native/auth/index.js +1 -2
  42. package/dist/cjs/wallets/in-app/native/auth/index.js.map +1 -1
  43. package/dist/cjs/wallets/in-app/native/auth/native-auth.js +8 -178
  44. package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -1
  45. package/dist/cjs/wallets/in-app/native/ecosystem.js +84 -0
  46. package/dist/cjs/wallets/in-app/native/ecosystem.js.map +1 -0
  47. package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js +50 -24
  48. package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
  49. package/dist/cjs/wallets/in-app/native/helpers/auth/logout.js +3 -3
  50. package/dist/cjs/wallets/in-app/native/helpers/auth/logout.js.map +1 -1
  51. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js +28 -54
  52. package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  53. package/dist/cjs/wallets/in-app/native/helpers/storage/local.js +20 -18
  54. package/dist/cjs/wallets/in-app/native/helpers/storage/local.js.map +1 -1
  55. package/dist/cjs/wallets/in-app/native/helpers/wallet/creation.js +8 -4
  56. package/dist/cjs/wallets/in-app/native/helpers/wallet/creation.js.map +1 -1
  57. package/dist/cjs/wallets/in-app/native/helpers/wallet/recoveryCode.js +16 -6
  58. package/dist/cjs/wallets/in-app/native/helpers/wallet/recoveryCode.js.map +1 -1
  59. package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js +7 -4
  60. package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
  61. package/dist/cjs/wallets/in-app/native/helpers/wallet/sharded-wallet.js +72 -0
  62. package/dist/cjs/wallets/in-app/native/helpers/wallet/sharded-wallet.js.map +1 -0
  63. package/dist/cjs/wallets/in-app/native/in-app.js.map +1 -1
  64. package/dist/cjs/wallets/in-app/native/native-connector.js +105 -243
  65. package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
  66. package/dist/cjs/wallets/in-app/web/ecosystem.js +13 -7
  67. package/dist/cjs/wallets/in-app/web/ecosystem.js.map +1 -1
  68. package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
  69. package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js +2 -0
  70. package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -1
  71. package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js +2 -3
  72. package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -1
  73. package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +2 -3
  74. package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -1
  75. package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +2 -3
  76. package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -1
  77. package/dist/cjs/wallets/in-app/web/lib/auth/index.js +1 -2
  78. package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
  79. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js +9 -14
  80. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  81. package/dist/cjs/wallets/in-app/web/lib/web-connector.js +13 -13
  82. package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
  83. package/dist/cjs/wallets/native/create-wallet.js +2 -1
  84. package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
  85. package/dist/esm/exports/wallets.native.js +1 -0
  86. package/dist/esm/exports/wallets.native.js.map +1 -1
  87. package/dist/esm/extensions/erc20/write/transfer.js +1 -0
  88. package/dist/esm/extensions/erc20/write/transfer.js.map +1 -1
  89. package/dist/esm/extensions/erc20/write/transferFrom.js +1 -0
  90. package/dist/esm/extensions/erc20/write/transferFrom.js.map +1 -1
  91. package/dist/esm/extensions/vote/types.js +2 -0
  92. package/dist/esm/extensions/vote/types.js.map +1 -1
  93. package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +2 -3
  94. package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
  95. package/dist/esm/react/native/hooks/wallets/useAutoConnect.js +2 -1
  96. package/dist/esm/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
  97. package/dist/esm/react/web/hooks/wallets/useAutoConnect.js +1 -1
  98. package/dist/esm/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
  99. package/dist/esm/storage/upload.js +19 -0
  100. package/dist/esm/storage/upload.js.map +1 -1
  101. package/dist/esm/transaction/extract-error.js +2 -2
  102. package/dist/esm/transaction/extract-error.js.map +1 -1
  103. package/dist/esm/utils/fetch.js +2 -2
  104. package/dist/esm/utils/fetch.js.map +1 -1
  105. package/dist/esm/utils/process.js +4 -0
  106. package/dist/esm/utils/process.js.map +1 -0
  107. package/dist/esm/version.js +1 -1
  108. package/dist/esm/wallets/create-wallet.js +5 -2
  109. package/dist/esm/wallets/create-wallet.js.map +1 -1
  110. package/dist/esm/wallets/in-app/core/authentication/authEndpoint.js +27 -0
  111. package/dist/esm/wallets/in-app/core/authentication/authEndpoint.js.map +1 -0
  112. package/dist/esm/wallets/in-app/core/authentication/jwt.js +27 -0
  113. package/dist/esm/wallets/in-app/core/authentication/jwt.js.map +1 -0
  114. package/dist/esm/wallets/in-app/core/authentication/passkeys.js +3 -14
  115. package/dist/esm/wallets/in-app/core/authentication/passkeys.js.map +1 -1
  116. package/dist/esm/wallets/in-app/core/authentication/types.js +1 -34
  117. package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -1
  118. package/dist/esm/wallets/in-app/{web/lib → core/wallet}/enclave-wallet.js +15 -13
  119. package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -0
  120. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +9 -8
  121. package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
  122. package/dist/esm/wallets/in-app/core/wallet/index.js +1 -2
  123. package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
  124. package/dist/esm/wallets/in-app/core/wallet/web-wallet.js.map +1 -0
  125. package/dist/esm/wallets/in-app/native/auth/index.js +1 -2
  126. package/dist/esm/wallets/in-app/native/auth/index.js.map +1 -1
  127. package/dist/esm/wallets/in-app/native/auth/native-auth.js +8 -172
  128. package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -1
  129. package/dist/esm/wallets/in-app/native/ecosystem.js +81 -0
  130. package/dist/esm/wallets/in-app/native/ecosystem.js.map +1 -0
  131. package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js +48 -22
  132. package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
  133. package/dist/esm/wallets/in-app/native/helpers/auth/logout.js +4 -4
  134. package/dist/esm/wallets/in-app/native/helpers/auth/logout.js.map +1 -1
  135. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js +29 -54
  136. package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
  137. package/dist/esm/wallets/in-app/native/helpers/storage/local.js +21 -16
  138. package/dist/esm/wallets/in-app/native/helpers/storage/local.js.map +1 -1
  139. package/dist/esm/wallets/in-app/native/helpers/wallet/creation.js +8 -4
  140. package/dist/esm/wallets/in-app/native/helpers/wallet/creation.js.map +1 -1
  141. package/dist/esm/wallets/in-app/native/helpers/wallet/recoveryCode.js +16 -6
  142. package/dist/esm/wallets/in-app/native/helpers/wallet/recoveryCode.js.map +1 -1
  143. package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js +7 -4
  144. package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
  145. package/dist/esm/wallets/in-app/native/helpers/wallet/sharded-wallet.js +68 -0
  146. package/dist/esm/wallets/in-app/native/helpers/wallet/sharded-wallet.js.map +1 -0
  147. package/dist/esm/wallets/in-app/native/in-app.js.map +1 -1
  148. package/dist/esm/wallets/in-app/native/native-connector.js +106 -244
  149. package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
  150. package/dist/esm/wallets/in-app/web/ecosystem.js +13 -7
  151. package/dist/esm/wallets/in-app/web/ecosystem.js.map +1 -1
  152. package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
  153. package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js +2 -0
  154. package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -1
  155. package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js +2 -3
  156. package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -1
  157. package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +2 -3
  158. package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -1
  159. package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +2 -3
  160. package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -1
  161. package/dist/esm/wallets/in-app/web/lib/auth/index.js +1 -2
  162. package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
  163. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js +9 -14
  164. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  165. package/dist/esm/wallets/in-app/web/lib/web-connector.js +13 -13
  166. package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
  167. package/dist/esm/wallets/native/create-wallet.js +2 -1
  168. package/dist/esm/wallets/native/create-wallet.js.map +1 -1
  169. package/dist/types/exports/wallets.native.d.ts +2 -0
  170. package/dist/types/exports/wallets.native.d.ts.map +1 -1
  171. package/dist/types/extensions/erc20/write/transfer.d.ts +3 -3
  172. package/dist/types/extensions/erc20/write/transfer.d.ts.map +1 -1
  173. package/dist/types/extensions/erc20/write/transferFrom.d.ts +3 -3
  174. package/dist/types/extensions/erc20/write/transferFrom.d.ts.map +1 -1
  175. package/dist/types/extensions/vote/types.d.ts.map +1 -1
  176. package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts +2 -1
  177. package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts.map +1 -1
  178. package/dist/types/react/native/hooks/wallets/useAutoConnect.d.ts.map +1 -1
  179. package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts.map +1 -1
  180. package/dist/types/storage/upload.d.ts +19 -0
  181. package/dist/types/storage/upload.d.ts.map +1 -1
  182. package/dist/types/transaction/extract-error.d.ts.map +1 -1
  183. package/dist/types/utils/fetch.d.ts.map +1 -1
  184. package/dist/types/utils/process.d.ts +2 -0
  185. package/dist/types/utils/process.d.ts.map +1 -0
  186. package/dist/types/version.d.ts +1 -1
  187. package/dist/types/wallets/create-wallet.d.ts.map +1 -1
  188. package/dist/types/wallets/ecosystem/types.d.ts +10 -1
  189. package/dist/types/wallets/ecosystem/types.d.ts.map +1 -1
  190. package/dist/types/wallets/in-app/core/authentication/authEndpoint.d.ts +9 -0
  191. package/dist/types/wallets/in-app/core/authentication/authEndpoint.d.ts.map +1 -0
  192. package/dist/types/wallets/in-app/core/authentication/jwt.d.ts +9 -0
  193. package/dist/types/wallets/in-app/core/authentication/jwt.d.ts.map +1 -0
  194. package/dist/types/wallets/in-app/core/authentication/passkeys.d.ts +3 -3
  195. package/dist/types/wallets/in-app/core/authentication/passkeys.d.ts.map +1 -1
  196. package/dist/types/wallets/in-app/core/authentication/types.d.ts +16 -38
  197. package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
  198. package/dist/types/wallets/in-app/{web/lib → core/wallet}/enclave-wallet.d.ts +5 -5
  199. package/dist/types/wallets/in-app/core/wallet/enclave-wallet.d.ts.map +1 -0
  200. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts +3 -2
  201. package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
  202. package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
  203. package/dist/types/wallets/in-app/core/wallet/web-wallet.d.ts +11 -0
  204. package/dist/types/wallets/in-app/core/wallet/web-wallet.d.ts.map +1 -0
  205. package/dist/types/wallets/in-app/native/auth/index.d.ts +1 -1
  206. package/dist/types/wallets/in-app/native/auth/index.d.ts.map +1 -1
  207. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts +5 -16
  208. package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -1
  209. package/dist/types/wallets/in-app/native/ecosystem.d.ts +59 -0
  210. package/dist/types/wallets/in-app/native/ecosystem.d.ts.map +1 -0
  211. package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts +20 -4
  212. package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts.map +1 -1
  213. package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts +6 -1
  214. package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts.map +1 -1
  215. package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts +7 -35
  216. package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts.map +1 -1
  217. package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts +0 -3
  218. package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts.map +1 -1
  219. package/dist/types/wallets/in-app/native/helpers/wallet/creation.d.ts +11 -3
  220. package/dist/types/wallets/in-app/native/helpers/wallet/creation.d.ts.map +1 -1
  221. package/dist/types/wallets/in-app/native/helpers/wallet/recoveryCode.d.ts +9 -2
  222. package/dist/types/wallets/in-app/native/helpers/wallet/recoveryCode.d.ts.map +1 -1
  223. package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts +4 -1
  224. package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts.map +1 -1
  225. package/dist/types/wallets/in-app/native/helpers/wallet/sharded-wallet.d.ts +17 -0
  226. package/dist/types/wallets/in-app/native/helpers/wallet/sharded-wallet.d.ts.map +1 -0
  227. package/dist/types/wallets/in-app/native/native-connector.d.ts +4 -8
  228. package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
  229. package/dist/types/wallets/in-app/web/ecosystem.d.ts.map +1 -1
  230. package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts +1 -1
  231. package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts.map +1 -1
  232. package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts +3 -1
  233. package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts.map +1 -1
  234. package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts +3 -1
  235. package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts.map +1 -1
  236. package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts +3 -1
  237. package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts.map +1 -1
  238. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +1 -1
  239. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
  240. package/dist/types/wallets/in-app/web/lib/iframe-wallet.d.ts +3 -3
  241. package/dist/types/wallets/in-app/web/lib/iframe-wallet.d.ts.map +1 -1
  242. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +1 -1
  243. package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
  244. package/dist/types/wallets/native/create-wallet.d.ts.map +1 -1
  245. package/package.json +1 -1
  246. package/src/exports/wallets.native.ts +6 -0
  247. package/src/extensions/erc20/write/transfer.ts +15 -9
  248. package/src/extensions/erc20/write/transferFrom.ts +15 -9
  249. package/src/extensions/vote/types.ts +2 -0
  250. package/src/react/core/hooks/wallets/useAutoConnect.ts +3 -2
  251. package/src/react/native/hooks/wallets/useAutoConnect.ts +9 -4
  252. package/src/react/web/hooks/wallets/useAutoConnect.ts +1 -0
  253. package/src/storage/upload.ts +19 -0
  254. package/src/transaction/extract-error.ts +2 -3
  255. package/src/utils/fetch.ts +2 -4
  256. package/src/utils/process.ts +3 -0
  257. package/src/version.ts +1 -1
  258. package/src/wallets/create-wallet.ts +7 -5
  259. package/src/wallets/ecosystem/types.ts +10 -1
  260. package/src/wallets/in-app/core/authentication/authEndpoint.ts +42 -0
  261. package/src/wallets/in-app/core/authentication/jwt.ts +37 -0
  262. package/src/wallets/in-app/core/authentication/passkeys.ts +7 -17
  263. package/src/wallets/in-app/core/authentication/types.ts +33 -39
  264. package/src/wallets/in-app/{web/lib → core/wallet}/enclave-wallet.ts +24 -25
  265. package/src/wallets/in-app/core/wallet/in-app-core.ts +16 -7
  266. package/src/wallets/in-app/core/wallet/index.ts +1 -2
  267. package/src/wallets/in-app/core/wallet/web-wallet.ts +14 -0
  268. package/src/wallets/in-app/native/auth/index.ts +5 -6
  269. package/src/wallets/in-app/native/auth/native-auth.ts +14 -242
  270. package/src/wallets/in-app/native/ecosystem.ts +89 -0
  271. package/src/wallets/in-app/native/helpers/api/fetchers.ts +54 -25
  272. package/src/wallets/in-app/native/helpers/auth/logout.ts +9 -8
  273. package/src/wallets/in-app/native/helpers/auth/middleware.ts +39 -82
  274. package/src/wallets/in-app/native/helpers/storage/local.ts +22 -23
  275. package/src/wallets/in-app/native/helpers/wallet/creation.ts +15 -5
  276. package/src/wallets/in-app/native/helpers/wallet/recoveryCode.ts +21 -12
  277. package/src/wallets/in-app/native/helpers/wallet/retrieval.ts +14 -3
  278. package/src/wallets/in-app/native/helpers/wallet/sharded-wallet.ts +72 -0
  279. package/src/wallets/in-app/native/in-app.ts +1 -1
  280. package/src/wallets/in-app/native/native-connector.ts +120 -297
  281. package/src/wallets/in-app/web/ecosystem.ts +14 -8
  282. package/src/wallets/in-app/web/in-app.ts +1 -1
  283. package/src/wallets/in-app/web/lib/actions/get-enclave-user-status.ts +3 -1
  284. package/src/wallets/in-app/web/lib/actions/sign-message.enclave.ts +4 -2
  285. package/src/wallets/in-app/web/lib/actions/sign-transaction.enclave.ts +4 -2
  286. package/src/wallets/in-app/web/lib/actions/sign-typed-data.enclave.ts +4 -2
  287. package/src/wallets/in-app/web/lib/auth/index.ts +6 -7
  288. package/src/wallets/in-app/web/lib/iframe-wallet.ts +17 -24
  289. package/src/wallets/in-app/web/lib/web-connector.ts +26 -23
  290. package/src/wallets/native/create-wallet.ts +5 -3
  291. package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js +0 -85
  292. package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js.map +0 -1
  293. package/dist/cjs/wallets/in-app/web/lib/enclave-wallet.js.map +0 -1
  294. package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js +0 -15
  295. package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js.map +0 -1
  296. package/dist/cjs/wallets/in-app/web/lib/web-wallet.js.map +0 -1
  297. package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js +0 -82
  298. package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js.map +0 -1
  299. package/dist/esm/wallets/in-app/web/lib/enclave-wallet.js.map +0 -1
  300. package/dist/esm/wallets/in-app/web/lib/get-auth-token.js +0 -12
  301. package/dist/esm/wallets/in-app/web/lib/get-auth-token.js.map +0 -1
  302. package/dist/esm/wallets/in-app/web/lib/web-wallet.js.map +0 -1
  303. package/dist/types/wallets/in-app/core/wallet/ecosystem-core.d.ts +0 -13
  304. package/dist/types/wallets/in-app/core/wallet/ecosystem-core.d.ts.map +0 -1
  305. package/dist/types/wallets/in-app/web/lib/enclave-wallet.d.ts.map +0 -1
  306. package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts +0 -4
  307. package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts.map +0 -1
  308. package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts +0 -15
  309. package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts.map +0 -1
  310. package/src/wallets/in-app/core/wallet/ecosystem-core.ts +0 -121
  311. package/src/wallets/in-app/web/lib/get-auth-token.ts +0 -18
  312. package/src/wallets/in-app/web/lib/web-wallet.ts +0 -23
  313. /package/dist/cjs/wallets/in-app/{web/lib → core/wallet}/web-wallet.js +0 -0
  314. /package/dist/esm/wallets/in-app/{web/lib → core/wallet}/web-wallet.js +0 -0
@@ -1,15 +1,8 @@
1
1
  import type { ThirdwebClient } from "../../../../../client/client.js";
2
- import {
3
- AuthProvider,
4
- type AuthStoredTokenWithCookieReturnType,
5
- RecoveryShareManagement,
6
- } from "../../../core/authentication/types.js";
2
+ import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
3
+ import type { AuthStoredTokenWithCookieReturnType } from "../../../core/authentication/types.js";
7
4
  import { ErrorMessages } from "../errors.js";
8
- import {
9
- getDeviceShare,
10
- setAuthTokenClient,
11
- setWallerUserDetails,
12
- } from "../storage/local.js";
5
+ import { getDeviceShare, setWallerUserDetails } from "../storage/local.js";
13
6
  import { setUpNewUserWallet } from "../wallet/creation.js";
14
7
  import {
15
8
  getCognitoRecoveryPasswordV1,
@@ -20,14 +13,16 @@ import { setUpShareForNewDevice } from "../wallet/retrieval.js";
20
13
  export async function postAuth({
21
14
  storedToken,
22
15
  client,
23
- recoveryCode,
16
+ encryptionKey,
17
+ storage,
24
18
  }: {
25
19
  storedToken: AuthStoredTokenWithCookieReturnType["storedToken"];
26
20
  client: ThirdwebClient;
27
- recoveryCode?: string;
21
+ encryptionKey?: string;
22
+ storage: ClientScopedStorage;
28
23
  }) {
29
24
  if (storedToken.shouldStoreCookieString) {
30
- await setAuthTokenClient(storedToken.cookieString, client.clientId);
25
+ await storage.saveAuthCookie(storedToken.cookieString);
31
26
  }
32
27
 
33
28
  await setWallerUserDetails({
@@ -42,25 +37,31 @@ export async function postAuth({
42
37
  });
43
38
 
44
39
  if (storedToken.isNewUser) {
45
- const _recoveryCode = await getRecoveryCode(
40
+ const _recoveryCode = await getRecoveryCode({
46
41
  storedToken,
47
42
  client,
48
- recoveryCode,
49
- );
43
+ recoveryCode: encryptionKey,
44
+ storage,
45
+ });
50
46
  if (!_recoveryCode) {
51
47
  throw new Error(ErrorMessages.missingRecoveryCode);
52
48
  }
53
- await setUpNewUserWallet(_recoveryCode, client);
49
+ await setUpNewUserWallet({
50
+ client,
51
+ recoveryCode: _recoveryCode,
52
+ storage,
53
+ });
54
54
  } else {
55
55
  try {
56
56
  // existing device share
57
57
  await getDeviceShare(client.clientId);
58
58
  } catch {
59
- const _recoveryCode = await getRecoveryCode(
59
+ const _recoveryCode = await getRecoveryCode({
60
60
  storedToken,
61
61
  client,
62
- recoveryCode,
63
- );
62
+ recoveryCode: encryptionKey,
63
+ storage,
64
+ });
64
65
  if (!_recoveryCode) {
65
66
  throw new Error(ErrorMessages.missingRecoveryCode);
66
67
  }
@@ -68,6 +69,7 @@ export async function postAuth({
68
69
  await setUpShareForNewDevice({
69
70
  client: client,
70
71
  recoveryCode: _recoveryCode,
72
+ storage,
71
73
  });
72
74
  } catch (error) {
73
75
  console.error("Error setting up wallet on device", error);
@@ -79,63 +81,17 @@ export async function postAuth({
79
81
  return storedToken;
80
82
  }
81
83
 
82
- export async function postAuthUserManaged(
83
- storedToken: AuthStoredTokenWithCookieReturnType["storedToken"],
84
- client: ThirdwebClient,
85
- password: string,
86
- ) {
87
- const _password = await getRecoveryCode(storedToken, client, password);
88
-
89
- if (storedToken.shouldStoreCookieString) {
90
- await setAuthTokenClient(storedToken.cookieString, client.clientId);
91
- }
92
-
93
- await setWallerUserDetails({
94
- clientId: client.clientId,
95
- userId: storedToken.authDetails.userWalletId,
96
- email:
97
- "email" in storedToken.authDetails
98
- ? storedToken.authDetails.email
99
- : "phoneNumber" in storedToken.authDetails
100
- ? storedToken.authDetails.phoneNumber
101
- : undefined,
102
- });
103
-
104
- if (storedToken.isNewUser) {
105
- await setUpNewUserWallet(_password, client);
106
- } else {
107
- try {
108
- // existing device share
109
- await getDeviceShare(client.clientId);
110
- } catch {
111
- // trying to recreate device share from recovery code to derive wallet
112
- try {
113
- await setUpShareForNewDevice({
114
- client,
115
- recoveryCode: _password,
116
- });
117
- } catch (error) {
118
- console.error("Error setting up wallet on device", error);
119
- throw error;
120
- }
121
- }
122
- }
123
-
124
- return storedToken;
125
- }
126
-
127
- async function getRecoveryCode(
128
- storedToken: AuthStoredTokenWithCookieReturnType["storedToken"],
129
- client: ThirdwebClient,
130
- recoveryCode?: string,
131
- ): Promise<string> {
132
- if (
133
- storedToken.authDetails.recoveryShareManagement ===
134
- RecoveryShareManagement.CLOUD_MANAGED
135
- ) {
84
+ async function getRecoveryCode(args: {
85
+ storedToken: AuthStoredTokenWithCookieReturnType["storedToken"];
86
+ client: ThirdwebClient;
87
+ storage: ClientScopedStorage;
88
+ recoveryCode?: string;
89
+ }): Promise<string> {
90
+ const { storedToken, client, storage, recoveryCode } = args;
91
+ if (storedToken.authDetails.recoveryShareManagement === "AWS_MANAGED") {
136
92
  if (
137
- storedToken.authProvider === AuthProvider.CUSTOM_JWT ||
138
- storedToken.authProvider === AuthProvider.CUSTOM_AUTH_ENDPOINT
93
+ storedToken.authProvider === "CustomJWT" ||
94
+ storedToken.authProvider === "CustomAuthEndpoint"
139
95
  ) {
140
96
  if (!recoveryCode) {
141
97
  throw new Error(
@@ -145,15 +101,16 @@ async function getRecoveryCode(
145
101
  return recoveryCode;
146
102
  }
147
103
  try {
148
- return await getCognitoRecoveryPasswordV2(client);
104
+ return await getCognitoRecoveryPasswordV2({ client, storage });
149
105
  } catch {
150
- return await getCognitoRecoveryPasswordV1(client).catch(() => {
151
- throw new Error("Something went wrong getting cognito recovery code");
152
- });
106
+ return await getCognitoRecoveryPasswordV1({ client, storage }).catch(
107
+ () => {
108
+ throw new Error("Something went wrong getting cognito recovery code");
109
+ },
110
+ );
153
111
  }
154
112
  } else if (
155
- storedToken.authDetails.recoveryShareManagement ===
156
- RecoveryShareManagement.USER_MANAGED
113
+ storedToken.authDetails.recoveryShareManagement === "USER_MANAGED"
157
114
  ) {
158
115
  if (recoveryCode) {
159
116
  return recoveryCode;
@@ -1,6 +1,5 @@
1
1
  import AsyncStorage from "@react-native-async-storage/async-storage";
2
2
  import {
3
- AUTH_TOKEN_LOCAL_STORAGE_NAME,
4
3
  DEVICE_SHARE_LOCAL_STORAGE_NAME,
5
4
  WALLET_USER_DETAILS_LOCAL_STORAGE_NAME,
6
5
  WALLET_USER_ID_LOCAL_STORAGE_NAME,
@@ -22,28 +21,28 @@ const removeItemInAsyncStorage = async (key: string) => {
22
21
  await AsyncStorage.removeItem(key);
23
22
  };
24
23
 
25
- export async function getAuthTokenClient(clientId: string) {
26
- return getItemFromAsyncStorage(AUTH_TOKEN_LOCAL_STORAGE_NAME(clientId));
27
- }
28
-
29
- export async function setAuthTokenClient(
30
- cookieString: string,
31
- clientId: string,
32
- ): Promise<void> {
33
- const authToken = AUTH_TOKEN_LOCAL_STORAGE_NAME(clientId);
34
- await setItemInAsyncStorage(authToken, cookieString);
35
- }
36
-
37
- export async function removeAuthTokenInClient(
38
- clientId: string,
39
- ): Promise<boolean> {
40
- const verifiedTokenString = await getAuthTokenClient(clientId);
41
- if (verifiedTokenString) {
42
- await removeItemInAsyncStorage(AUTH_TOKEN_LOCAL_STORAGE_NAME(clientId));
43
- return true;
44
- }
45
- return false;
46
- }
24
+ // export async function getAuthTokenClient(clientId: string) {
25
+ // return getItemFromAsyncStorage(AUTH_TOKEN_LOCAL_STORAGE_NAME(clientId));
26
+ // }
27
+
28
+ // export async function setAuthTokenClient(
29
+ // cookieString: string,
30
+ // clientId: string,
31
+ // ): Promise<void> {
32
+ // const authToken = AUTH_TOKEN_LOCAL_STORAGE_NAME(clientId);
33
+ // await setItemInAsyncStorage(authToken, cookieString);
34
+ // }
35
+
36
+ // export async function removeAuthTokenInClient(
37
+ // clientId: string,
38
+ // ): Promise<boolean> {
39
+ // const verifiedTokenString = await getAuthTokenClient(clientId);
40
+ // if (verifiedTokenString) {
41
+ // await removeItemInAsyncStorage(AUTH_TOKEN_LOCAL_STORAGE_NAME(clientId));
42
+ // return true;
43
+ // }
44
+ // return false;
45
+ // }
47
46
 
48
47
  export async function setWallerUserDetails({
49
48
  clientId,
@@ -2,6 +2,7 @@ import { secp256k1 } from "@noble/curves/secp256k1";
2
2
  import { publicKeyToAddress } from "viem/utils";
3
3
  import type { ThirdwebClient } from "../../../../../client/client.js";
4
4
  import { stringToHex, toHex } from "../../../../../utils/encoding/hex.js";
5
+ import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
5
6
  import type { SetUpWalletRpcReturnType } from "../../../core/authentication/types.js";
6
7
  import { storeUserShares } from "../api/fetchers.js";
7
8
  import { logoutUser } from "../auth/logout.js";
@@ -15,18 +16,21 @@ import { createErrorMessage } from "../errors.js";
15
16
  import { setDeviceShare } from "../storage/local.js";
16
17
  import { encryptShareWeb } from "./encryption.js";
17
18
 
18
- export async function setUpNewUserWallet(
19
- recoveryCode: string,
20
- client: ThirdwebClient,
21
- ) {
19
+ export async function setUpNewUserWallet(args: {
20
+ recoveryCode: string;
21
+ client: ThirdwebClient;
22
+ storage: ClientScopedStorage;
23
+ }) {
24
+ const { client, recoveryCode, storage } = args;
22
25
  try {
23
26
  return await generateWallet({
24
27
  client,
25
28
  recoveryCode: recoveryCode,
29
+ storage,
26
30
  });
27
31
  } catch (e) {
28
32
  // we log user out so they aren't in the weird state where they are logged in but the wallet is not initialized
29
- await logoutUser(client.clientId);
33
+ await logoutUser({ client, storage });
30
34
  throw new Error(
31
35
  `Error creating new ews account. Please try signing in again. Original Error: ${e}`,
32
36
  );
@@ -37,9 +41,11 @@ export async function setUpNewUserWallet(
37
41
  async function generateWallet({
38
42
  client,
39
43
  recoveryCode,
44
+ storage,
40
45
  }: {
41
46
  client: ThirdwebClient;
42
47
  recoveryCode: string;
48
+ storage: ClientScopedStorage;
43
49
  }): Promise<
44
50
  {
45
51
  recoveryCode: string;
@@ -49,6 +55,7 @@ async function generateWallet({
49
55
 
50
56
  const maybeDeviceShare = await storeShares({
51
57
  client,
58
+ storage,
52
59
  walletAddress: walletDetails.publicAddress,
53
60
  authShare: walletDetails.shares[AUTH_SHARE_INDEX],
54
61
  deviceShare: walletDetails.shares[DEVICE_SHARE_INDEX],
@@ -112,6 +119,7 @@ export async function storeShares<R extends string | undefined>({
112
119
  authShare,
113
120
  deviceShare,
114
121
  recoveryShares,
122
+ storage,
115
123
  }: {
116
124
  client: ThirdwebClient;
117
125
  walletAddress: string;
@@ -120,6 +128,7 @@ export async function storeShares<R extends string | undefined>({
120
128
  recoveryShares?: R extends string
121
129
  ? { share: R; recoveryCode: string }[]
122
130
  : never;
131
+ storage: ClientScopedStorage;
123
132
  }): Promise<{ deviceShareStored: string } | undefined> {
124
133
  let maybeEncryptedRecoveryShares:
125
134
  | { share: string; isClientEncrypted: boolean }[]
@@ -144,6 +153,7 @@ export async function storeShares<R extends string | undefined>({
144
153
  client,
145
154
  maybeEncryptedRecoveryShares,
146
155
  walletAddress,
156
+ storage,
147
157
  });
148
158
 
149
159
  try {
@@ -5,6 +5,7 @@ import {
5
5
  } from "@aws-sdk/credential-providers";
6
6
  import type { ThirdwebClient } from "../../../../../client/client.js";
7
7
  import { stringToBytes } from "../../../../../utils/encoding/to-bytes.js";
8
+ import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
8
9
  import { authFetchEmbeddedWalletUser } from "../api/fetchers.js";
9
10
  import {
10
11
  AWS_REGION,
@@ -16,14 +17,18 @@ import {
16
17
  ROUTE_COGNITO_IDENTITY_POOL_URL,
17
18
  } from "../constants.js";
18
19
 
19
- export async function getCognitoRecoveryPasswordV1(client: ThirdwebClient) {
20
- const idTokenResponse = await authFetchEmbeddedWalletUser(
21
- client,
22
- ROUTE_AUTH_COGNITO_ID_TOKEN_V1,
23
- {
20
+ export async function getCognitoRecoveryPasswordV1(args: {
21
+ client: ThirdwebClient;
22
+ storage: ClientScopedStorage;
23
+ }) {
24
+ const idTokenResponse = await authFetchEmbeddedWalletUser({
25
+ client: args.client,
26
+ url: ROUTE_AUTH_COGNITO_ID_TOKEN_V1,
27
+ props: {
24
28
  method: "GET",
25
29
  },
26
- );
30
+ storage: args.storage,
31
+ });
27
32
  if (!idTokenResponse.ok) {
28
33
  throw new Error(
29
34
  `Failed to fetch id token from Cognito: ${JSON.stringify(
@@ -73,14 +78,18 @@ export async function getCognitoRecoveryPasswordV1(client: ThirdwebClient) {
73
78
  return result;
74
79
  }
75
80
 
76
- export async function getCognitoRecoveryPasswordV2(client: ThirdwebClient) {
77
- const idTokenResponse = await authFetchEmbeddedWalletUser(
78
- client,
79
- ROUTE_AUTH_COGNITO_ID_TOKEN_V2,
80
- {
81
+ export async function getCognitoRecoveryPasswordV2(args: {
82
+ client: ThirdwebClient;
83
+ storage: ClientScopedStorage;
84
+ }) {
85
+ const idTokenResponse = await authFetchEmbeddedWalletUser({
86
+ client: args.client,
87
+ url: ROUTE_AUTH_COGNITO_ID_TOKEN_V2,
88
+ props: {
81
89
  method: "GET",
82
90
  },
83
- );
91
+ storage: args.storage,
92
+ });
84
93
  if (!idTokenResponse.ok) {
85
94
  throw new Error(
86
95
  `Failed to fetch id token from Cognito: ${JSON.stringify(
@@ -6,6 +6,7 @@ import {
6
6
  } from "../../../../../utils/encoding/hex.js";
7
7
  import type { Account } from "../../../../interfaces/wallet.js";
8
8
  import { privateKeyToAccount } from "../../../../private-key.js";
9
+ import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
9
10
  import type { SetUpWalletRpcReturnType } from "../../../core/authentication/types.js";
10
11
  import { getUserShares } from "../api/fetchers.js";
11
12
  import {
@@ -20,13 +21,17 @@ import { decryptShareWeb } from "./encryption.js";
20
21
  * For users on a known device and logged in.
21
22
  * Will throw if called on a new device // user not logged in
22
23
  */
23
- export async function getExistingUserAccount(args: { client: ThirdwebClient }) {
24
- const { client } = args;
24
+ export async function getExistingUserAccount(args: {
25
+ client: ThirdwebClient;
26
+ storage: ClientScopedStorage;
27
+ }) {
28
+ const { client, storage } = args;
25
29
  const { authShare, deviceShare } = await getShares({
26
30
  client,
27
31
  authShare: { toRetrieve: true },
28
32
  deviceShare: { toRetrieve: true },
29
33
  recoveryShare: { toRetrieve: false },
34
+ storage,
30
35
  });
31
36
  return getAccountFromShares({
32
37
  client,
@@ -74,6 +79,7 @@ async function getShares<
74
79
  authShare,
75
80
  deviceShare,
76
81
  recoveryShare,
82
+ storage,
77
83
  }: {
78
84
  client: ThirdwebClient;
79
85
  authShare: { toRetrieve: A };
@@ -86,6 +92,7 @@ async function getShares<
86
92
  toRetrieve: R;
87
93
  };
88
94
  deviceShare: { toRetrieve: D };
95
+ storage: ClientScopedStorage;
89
96
  }): Promise<{
90
97
  authShare: A extends true ? string : undefined;
91
98
  recoveryShare: R extends true ? string : undefined;
@@ -119,7 +126,7 @@ async function getShares<
119
126
  );
120
127
  }
121
128
 
122
- const userShares = await getUserShares(client, getShareUrl);
129
+ const userShares = await getUserShares({ client, getShareUrl, storage });
123
130
  const { authShare: _authShare, maybeEncryptedRecoveryShares } = userShares;
124
131
 
125
132
  let recoverShareToReturn: string | undefined;
@@ -180,15 +187,18 @@ async function getAccountAddressFromShares(args: {
180
187
  export async function setUpShareForNewDevice({
181
188
  recoveryCode,
182
189
  client,
190
+ storage,
183
191
  }: {
184
192
  recoveryCode: string;
185
193
  client: ThirdwebClient;
194
+ storage: ClientScopedStorage;
186
195
  }): Promise<SetUpWalletRpcReturnType> {
187
196
  const { recoveryShare, authShare } = await getShares({
188
197
  client,
189
198
  authShare: { toRetrieve: true },
190
199
  recoveryShare: { toRetrieve: true, recoveryCode },
191
200
  deviceShare: { toRetrieve: false },
201
+ storage,
192
202
  });
193
203
  // instead of recreating a new share, just save the recovery one as the new device share
194
204
  const deviceShare = recoveryShare;
@@ -201,6 +211,7 @@ export async function setUpShareForNewDevice({
201
211
  client,
202
212
  walletAddress,
203
213
  deviceShare,
214
+ storage,
204
215
  });
205
216
 
206
217
  if (!maybeDeviceShare?.deviceShareStored) {
@@ -0,0 +1,72 @@
1
+ import type { ThirdwebClient } from "../../../../../client/client.js";
2
+ import type { Account } from "../../../../interfaces/wallet.js";
3
+ import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
4
+ import type {
5
+ AuthResultAndRecoveryCode,
6
+ GetUser,
7
+ } from "../../../core/authentication/types.js";
8
+ import type { IWebWallet } from "../../../core/wallet/web-wallet.js";
9
+ import { fetchUserDetails } from "../api/fetchers.js";
10
+ import { postAuth } from "../auth/middleware.js";
11
+ import { getWalletUserDetails } from "../storage/local.js";
12
+ import { getExistingUserAccount } from "./retrieval.js";
13
+
14
+ export class ShardedWallet implements IWebWallet {
15
+ private client: ThirdwebClient;
16
+ private storage: ClientScopedStorage;
17
+
18
+ constructor(args: {
19
+ client: ThirdwebClient;
20
+ storage: ClientScopedStorage;
21
+ }) {
22
+ this.client = args.client;
23
+ this.storage = args.storage;
24
+ }
25
+
26
+ async postWalletSetUp(authResult: AuthResultAndRecoveryCode): Promise<void> {
27
+ await postAuth({
28
+ storedToken: authResult.storedToken,
29
+ client: this.client,
30
+ storage: this.storage,
31
+ encryptionKey: authResult.encryptionKey,
32
+ });
33
+ }
34
+
35
+ async getUserWalletStatus(): Promise<GetUser> {
36
+ const localData = await getWalletUserDetails(this.client.clientId);
37
+ const userStatus = await fetchUserDetails({
38
+ client: this.client,
39
+ email: localData?.email,
40
+ storage: this.storage,
41
+ });
42
+ if (userStatus.status === "Logged In, Wallet Initialized") {
43
+ return {
44
+ status: userStatus.status,
45
+ authDetails: userStatus.storedToken.authDetails,
46
+ walletAddress: userStatus.walletAddress,
47
+ account: await this.getAccount(),
48
+ };
49
+ }
50
+ if (userStatus.status === "Logged In, New Device") {
51
+ return {
52
+ status: "Logged In, New Device",
53
+ authDetails: userStatus.storedToken.authDetails,
54
+ walletAddress: userStatus.walletAddress,
55
+ };
56
+ }
57
+ if (userStatus.status === "Logged In, Wallet Uninitialized") {
58
+ return {
59
+ status: "Logged In, Wallet Uninitialized",
60
+ authDetails: userStatus.storedToken.authDetails,
61
+ };
62
+ }
63
+ // Logged out
64
+ return { status: "Logged Out" };
65
+ }
66
+ getAccount(): Promise<Account> {
67
+ return getExistingUserAccount({
68
+ client: this.client,
69
+ storage: this.storage,
70
+ });
71
+ }
72
+ }
@@ -67,5 +67,5 @@ export function inAppWallet(
67
67
  passkeyDomain: createOptions?.auth?.passkeyDomain,
68
68
  });
69
69
  },
70
- });
70
+ }) as Wallet<"inApp">;
71
71
  }