@zerodev/wallet-core 0.0.1-alpha.8 → 0.0.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 (368) hide show
  1. package/README.md +68 -18
  2. package/dist/_cjs/actions/auth/authenticateWithEmail.js +1 -2
  3. package/dist/_cjs/actions/auth/authenticateWithEmail.js.map +1 -1
  4. package/dist/_cjs/actions/auth/authenticateWithOAuth.js +2 -3
  5. package/dist/_cjs/actions/auth/authenticateWithOAuth.js.map +1 -1
  6. package/dist/_cjs/actions/auth/getAuthProxyConfigId.js +10 -0
  7. package/dist/_cjs/actions/auth/getAuthProxyConfigId.js.map +1 -0
  8. package/dist/_cjs/actions/auth/getAuthenticators.js +16 -0
  9. package/dist/_cjs/actions/auth/getAuthenticators.js.map +1 -0
  10. package/dist/_cjs/actions/auth/getOAuthLoginUrl.js +18 -0
  11. package/dist/_cjs/actions/auth/getOAuthLoginUrl.js.map +1 -0
  12. package/dist/_cjs/actions/auth/getParentOrgId.js +10 -0
  13. package/dist/_cjs/actions/auth/getParentOrgId.js.map +1 -0
  14. package/dist/_cjs/actions/auth/getWhoami.js +18 -4
  15. package/dist/_cjs/actions/auth/getWhoami.js.map +1 -1
  16. package/dist/_cjs/actions/auth/index.js +9 -3
  17. package/dist/_cjs/actions/auth/index.js.map +1 -1
  18. package/dist/_cjs/actions/auth/loginWithStamp.js +5 -6
  19. package/dist/_cjs/actions/auth/loginWithStamp.js.map +1 -1
  20. package/dist/_cjs/actions/auth/registerWithOTP.js +1 -2
  21. package/dist/_cjs/actions/auth/registerWithOTP.js.map +1 -1
  22. package/dist/_cjs/actions/auth/registerWithPasskey.js +1 -2
  23. package/dist/_cjs/actions/auth/registerWithPasskey.js.map +1 -1
  24. package/dist/_cjs/actions/index.js +9 -3
  25. package/dist/_cjs/actions/index.js.map +1 -1
  26. package/dist/_cjs/actions/wallet/getUserWallet.js +3 -5
  27. package/dist/_cjs/actions/wallet/getUserWallet.js.map +1 -1
  28. package/dist/_cjs/actions/wallet/index.js +9 -3
  29. package/dist/_cjs/actions/wallet/index.js.map +1 -1
  30. package/dist/_cjs/actions/wallet/sign7702Authorization.js +16 -0
  31. package/dist/_cjs/actions/wallet/sign7702Authorization.js.map +1 -0
  32. package/dist/_cjs/actions/wallet/signMessage.js +17 -0
  33. package/dist/_cjs/actions/wallet/signMessage.js.map +1 -0
  34. package/dist/_cjs/actions/wallet/signTransaction.js +9 -18
  35. package/dist/_cjs/actions/wallet/signTransaction.js.map +1 -1
  36. package/dist/_cjs/actions/wallet/signTypedDataV4.js +17 -0
  37. package/dist/_cjs/actions/wallet/signTypedDataV4.js.map +1 -0
  38. package/dist/_cjs/actions/wallet/signUserOperation.js +17 -0
  39. package/dist/_cjs/actions/wallet/signUserOperation.js.map +1 -0
  40. package/dist/_cjs/actions/wallet/signingUtils.js +64 -0
  41. package/dist/_cjs/actions/wallet/signingUtils.js.map +1 -0
  42. package/dist/_cjs/adapters/viem.js +60 -27
  43. package/dist/_cjs/adapters/viem.js.map +1 -1
  44. package/dist/_cjs/client/authProxy.js +1 -1
  45. package/dist/_cjs/client/authProxy.js.map +1 -1
  46. package/dist/_cjs/client/createClient.js +5 -5
  47. package/dist/_cjs/client/createClient.js.map +1 -1
  48. package/dist/_cjs/client/decorators/client.js +9 -4
  49. package/dist/_cjs/client/decorators/client.js.map +1 -1
  50. package/dist/_cjs/client/index.js.map +1 -1
  51. package/dist/_cjs/client/transports/createTransport.js +6 -5
  52. package/dist/_cjs/client/transports/createTransport.js.map +1 -1
  53. package/dist/_cjs/client/transports/rest.js +40 -28
  54. package/dist/_cjs/client/transports/rest.js.map +1 -1
  55. package/dist/_cjs/constants.js +4 -4
  56. package/dist/_cjs/constants.js.map +1 -1
  57. package/dist/_cjs/core/{createZeroDevWallet.js → createZeroDevWalletCore.js} +94 -86
  58. package/dist/_cjs/core/createZeroDevWalletCore.js.map +1 -0
  59. package/dist/_cjs/index.js +14 -8
  60. package/dist/_cjs/index.js.map +1 -1
  61. package/dist/_cjs/index.native.js +39 -0
  62. package/dist/_cjs/index.native.js.map +1 -0
  63. package/dist/_cjs/native/createZeroDevWallet.js +13 -0
  64. package/dist/_cjs/native/createZeroDevWallet.js.map +1 -0
  65. package/dist/_cjs/native/stampers/passkey.js +30 -0
  66. package/dist/_cjs/native/stampers/passkey.js.map +1 -0
  67. package/dist/_cjs/native/stampers/secureStore.js +112 -0
  68. package/dist/_cjs/native/stampers/secureStore.js.map +1 -0
  69. package/dist/_cjs/native/storage/asyncStorage.js +11 -0
  70. package/dist/_cjs/native/storage/asyncStorage.js.map +1 -0
  71. package/dist/_cjs/stampers/iframeStamper.js +3 -0
  72. package/dist/_cjs/stampers/iframeStamper.js.map +1 -1
  73. package/dist/_cjs/stampers/indexedDbStamper.js +20 -2
  74. package/dist/_cjs/stampers/indexedDbStamper.js.map +1 -1
  75. package/dist/_cjs/stampers/noopPasskeyStamper.js +16 -0
  76. package/dist/_cjs/stampers/noopPasskeyStamper.js.map +1 -0
  77. package/dist/_cjs/stampers/webauthnStamper.js +23 -3
  78. package/dist/_cjs/stampers/webauthnStamper.js.map +1 -1
  79. package/dist/_cjs/stubs/native-on-web.js +12 -0
  80. package/dist/_cjs/stubs/native-on-web.js.map +1 -0
  81. package/dist/_cjs/utils/encryptOtpAttempt.js +57 -0
  82. package/dist/_cjs/utils/encryptOtpAttempt.js.map +1 -0
  83. package/dist/_cjs/utils/exportPrivateKey.js +1 -1
  84. package/dist/_cjs/utils/exportPrivateKey.js.map +1 -1
  85. package/dist/_cjs/utils/exportWallet.js +52 -61
  86. package/dist/_cjs/utils/exportWallet.js.map +1 -1
  87. package/dist/_cjs/utils/hpke.js +78 -0
  88. package/dist/_cjs/utils/hpke.js.map +1 -0
  89. package/dist/_cjs/utils/platform.js +19 -0
  90. package/dist/_cjs/utils/platform.js.map +1 -0
  91. package/dist/_cjs/utils/resolveOrganizationId.js +20 -0
  92. package/dist/_cjs/utils/resolveOrganizationId.js.map +1 -0
  93. package/dist/_cjs/utils/utils.js +5 -6
  94. package/dist/_cjs/utils/utils.js.map +1 -1
  95. package/dist/_cjs/web/createZeroDevWallet.js +21 -0
  96. package/dist/_cjs/web/createZeroDevWallet.js.map +1 -0
  97. package/dist/_esm/actions/auth/authenticateWithEmail.js +1 -2
  98. package/dist/_esm/actions/auth/authenticateWithEmail.js.map +1 -1
  99. package/dist/_esm/actions/auth/authenticateWithOAuth.js +8 -7
  100. package/dist/_esm/actions/auth/authenticateWithOAuth.js.map +1 -1
  101. package/dist/_esm/actions/auth/getAuthProxyConfigId.js +13 -0
  102. package/dist/_esm/actions/auth/getAuthProxyConfigId.js.map +1 -0
  103. package/dist/_esm/actions/auth/getAuthenticators.js +36 -0
  104. package/dist/_esm/actions/auth/getAuthenticators.js.map +1 -0
  105. package/dist/_esm/actions/auth/getOAuthLoginUrl.js +23 -0
  106. package/dist/_esm/actions/auth/getOAuthLoginUrl.js.map +1 -0
  107. package/dist/_esm/actions/auth/getParentOrgId.js +17 -0
  108. package/dist/_esm/actions/auth/getParentOrgId.js.map +1 -0
  109. package/dist/_esm/actions/auth/getWhoami.js +28 -6
  110. package/dist/_esm/actions/auth/getWhoami.js.map +1 -1
  111. package/dist/_esm/actions/auth/index.js +4 -1
  112. package/dist/_esm/actions/auth/index.js.map +1 -1
  113. package/dist/_esm/actions/auth/loginWithStamp.js +9 -6
  114. package/dist/_esm/actions/auth/loginWithStamp.js.map +1 -1
  115. package/dist/_esm/actions/auth/registerWithOTP.js +5 -2
  116. package/dist/_esm/actions/auth/registerWithOTP.js.map +1 -1
  117. package/dist/_esm/actions/auth/registerWithPasskey.js +1 -3
  118. package/dist/_esm/actions/auth/registerWithPasskey.js.map +1 -1
  119. package/dist/_esm/actions/index.js +2 -2
  120. package/dist/_esm/actions/index.js.map +1 -1
  121. package/dist/_esm/actions/wallet/getUserWallet.js +5 -5
  122. package/dist/_esm/actions/wallet/getUserWallet.js.map +1 -1
  123. package/dist/_esm/actions/wallet/index.js +4 -1
  124. package/dist/_esm/actions/wallet/index.js.map +1 -1
  125. package/dist/_esm/actions/wallet/sign7702Authorization.js +13 -0
  126. package/dist/_esm/actions/wallet/sign7702Authorization.js.map +1 -0
  127. package/dist/_esm/actions/wallet/signMessage.js +14 -0
  128. package/dist/_esm/actions/wallet/signMessage.js.map +1 -0
  129. package/dist/_esm/actions/wallet/signTransaction.js +9 -36
  130. package/dist/_esm/actions/wallet/signTransaction.js.map +1 -1
  131. package/dist/_esm/actions/wallet/signTypedDataV4.js +14 -0
  132. package/dist/_esm/actions/wallet/signTypedDataV4.js.map +1 -0
  133. package/dist/_esm/actions/wallet/signUserOperation.js +14 -0
  134. package/dist/_esm/actions/wallet/signUserOperation.js.map +1 -0
  135. package/dist/_esm/actions/wallet/signingUtils.js +69 -0
  136. package/dist/_esm/actions/wallet/signingUtils.js.map +1 -0
  137. package/dist/_esm/adapters/viem.js +63 -30
  138. package/dist/_esm/adapters/viem.js.map +1 -1
  139. package/dist/_esm/client/authProxy.js +9 -4
  140. package/dist/_esm/client/authProxy.js.map +1 -1
  141. package/dist/_esm/client/createClient.js +5 -5
  142. package/dist/_esm/client/createClient.js.map +1 -1
  143. package/dist/_esm/client/decorators/client.js +9 -4
  144. package/dist/_esm/client/decorators/client.js.map +1 -1
  145. package/dist/_esm/client/index.js +1 -1
  146. package/dist/_esm/client/index.js.map +1 -1
  147. package/dist/_esm/client/transports/createTransport.js +6 -5
  148. package/dist/_esm/client/transports/createTransport.js.map +1 -1
  149. package/dist/_esm/client/transports/rest.js +44 -29
  150. package/dist/_esm/client/transports/rest.js.map +1 -1
  151. package/dist/_esm/constants.js +10 -3
  152. package/dist/_esm/constants.js.map +1 -1
  153. package/dist/_esm/core/{createZeroDevWallet.js → createZeroDevWalletCore.js} +115 -90
  154. package/dist/_esm/core/createZeroDevWalletCore.js.map +1 -0
  155. package/dist/_esm/index.js +13 -5
  156. package/dist/_esm/index.js.map +1 -1
  157. package/dist/_esm/index.native.js +19 -0
  158. package/dist/_esm/index.native.js.map +1 -0
  159. package/dist/_esm/native/createZeroDevWallet.js +10 -0
  160. package/dist/_esm/native/createZeroDevWallet.js.map +1 -0
  161. package/dist/_esm/native/stampers/passkey.js +27 -0
  162. package/dist/_esm/native/stampers/passkey.js.map +1 -0
  163. package/dist/_esm/native/stampers/secureStore.js +120 -0
  164. package/dist/_esm/native/stampers/secureStore.js.map +1 -0
  165. package/dist/_esm/native/storage/asyncStorage.js +13 -0
  166. package/dist/_esm/native/storage/asyncStorage.js.map +1 -0
  167. package/dist/_esm/stampers/iframeStamper.js +3 -0
  168. package/dist/_esm/stampers/iframeStamper.js.map +1 -1
  169. package/dist/_esm/stampers/indexedDbStamper.js +20 -2
  170. package/dist/_esm/stampers/indexedDbStamper.js.map +1 -1
  171. package/dist/_esm/stampers/noopPasskeyStamper.js +18 -0
  172. package/dist/_esm/stampers/noopPasskeyStamper.js.map +1 -0
  173. package/dist/_esm/stampers/webauthnStamper.js +23 -4
  174. package/dist/_esm/stampers/webauthnStamper.js.map +1 -1
  175. package/dist/_esm/stubs/native-on-web.js +25 -0
  176. package/dist/_esm/stubs/native-on-web.js.map +1 -0
  177. package/dist/_esm/utils/encryptOtpAttempt.js +81 -0
  178. package/dist/_esm/utils/encryptOtpAttempt.js.map +1 -0
  179. package/dist/_esm/utils/exportPrivateKey.js +1 -1
  180. package/dist/_esm/utils/exportPrivateKey.js.map +1 -1
  181. package/dist/_esm/utils/exportWallet.js +52 -61
  182. package/dist/_esm/utils/exportWallet.js.map +1 -1
  183. package/dist/_esm/utils/hpke.js +119 -0
  184. package/dist/_esm/utils/hpke.js.map +1 -0
  185. package/dist/_esm/utils/platform.js +16 -0
  186. package/dist/_esm/utils/platform.js.map +1 -0
  187. package/dist/_esm/utils/resolveOrganizationId.js +27 -0
  188. package/dist/_esm/utils/resolveOrganizationId.js.map +1 -0
  189. package/dist/_esm/utils/utils.js +5 -6
  190. package/dist/_esm/utils/utils.js.map +1 -1
  191. package/dist/_esm/web/createZeroDevWallet.js +18 -0
  192. package/dist/_esm/web/createZeroDevWallet.js.map +1 -0
  193. package/dist/_types/actions/auth/authenticateWithEmail.d.ts +0 -6
  194. package/dist/_types/actions/auth/authenticateWithEmail.d.ts.map +1 -1
  195. package/dist/_types/actions/auth/authenticateWithOAuth.d.ts +10 -4
  196. package/dist/_types/actions/auth/authenticateWithOAuth.d.ts.map +1 -1
  197. package/dist/_types/actions/auth/getAuthProxyConfigId.d.ts +12 -0
  198. package/dist/_types/actions/auth/getAuthProxyConfigId.d.ts.map +1 -0
  199. package/dist/_types/actions/auth/getAuthenticators.d.ts +65 -0
  200. package/dist/_types/actions/auth/getAuthenticators.d.ts.map +1 -0
  201. package/dist/_types/actions/auth/getOAuthLoginUrl.d.ts +30 -0
  202. package/dist/_types/actions/auth/getOAuthLoginUrl.d.ts.map +1 -0
  203. package/dist/_types/actions/auth/getParentOrgId.d.ts +17 -0
  204. package/dist/_types/actions/auth/getParentOrgId.d.ts.map +1 -0
  205. package/dist/_types/actions/auth/getWhoami.d.ts +9 -2
  206. package/dist/_types/actions/auth/getWhoami.d.ts.map +1 -1
  207. package/dist/_types/actions/auth/index.d.ts +5 -2
  208. package/dist/_types/actions/auth/index.d.ts.map +1 -1
  209. package/dist/_types/actions/auth/loginWithStamp.d.ts +2 -5
  210. package/dist/_types/actions/auth/loginWithStamp.d.ts.map +1 -1
  211. package/dist/_types/actions/auth/registerWithOTP.d.ts +10 -3
  212. package/dist/_types/actions/auth/registerWithOTP.d.ts.map +1 -1
  213. package/dist/_types/actions/auth/registerWithPasskey.d.ts +0 -7
  214. package/dist/_types/actions/auth/registerWithPasskey.d.ts.map +1 -1
  215. package/dist/_types/actions/index.d.ts +2 -2
  216. package/dist/_types/actions/index.d.ts.map +1 -1
  217. package/dist/_types/actions/wallet/index.d.ts +4 -1
  218. package/dist/_types/actions/wallet/index.d.ts.map +1 -1
  219. package/dist/_types/actions/wallet/sign7702Authorization.d.ts +19 -0
  220. package/dist/_types/actions/wallet/sign7702Authorization.d.ts.map +1 -0
  221. package/dist/_types/actions/wallet/signMessage.d.ts +19 -0
  222. package/dist/_types/actions/wallet/signMessage.d.ts.map +1 -0
  223. package/dist/_types/actions/wallet/signTransaction.d.ts +1 -19
  224. package/dist/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  225. package/dist/_types/actions/wallet/signTypedDataV4.d.ts +21 -0
  226. package/dist/_types/actions/wallet/signTypedDataV4.d.ts.map +1 -0
  227. package/dist/_types/actions/wallet/signUserOperation.d.ts +21 -0
  228. package/dist/_types/actions/wallet/signUserOperation.d.ts.map +1 -0
  229. package/dist/_types/actions/wallet/signingUtils.d.ts +32 -0
  230. package/dist/_types/actions/wallet/signingUtils.d.ts.map +1 -0
  231. package/dist/_types/adapters/viem.d.ts +1 -1
  232. package/dist/_types/adapters/viem.d.ts.map +1 -1
  233. package/dist/_types/client/authProxy.d.ts +13 -7
  234. package/dist/_types/client/authProxy.d.ts.map +1 -1
  235. package/dist/_types/client/decorators/client.d.ts +32 -6
  236. package/dist/_types/client/decorators/client.d.ts.map +1 -1
  237. package/dist/_types/client/index.d.ts +1 -1
  238. package/dist/_types/client/index.d.ts.map +1 -1
  239. package/dist/_types/client/transports/createTransport.d.ts +2 -0
  240. package/dist/_types/client/transports/createTransport.d.ts.map +1 -1
  241. package/dist/_types/client/transports/rest.d.ts +13 -5
  242. package/dist/_types/client/transports/rest.d.ts.map +1 -1
  243. package/dist/_types/client/types.d.ts +9 -9
  244. package/dist/_types/client/types.d.ts.map +1 -1
  245. package/dist/_types/constants.d.ts +3 -3
  246. package/dist/_types/constants.d.ts.map +1 -1
  247. package/dist/_types/core/{createZeroDevWallet.d.ts → createZeroDevWalletCore.d.ts} +30 -10
  248. package/dist/_types/core/createZeroDevWalletCore.d.ts.map +1 -0
  249. package/dist/_types/index.d.ts +7 -7
  250. package/dist/_types/index.d.ts.map +1 -1
  251. package/dist/_types/index.native.d.ts +19 -0
  252. package/dist/_types/index.native.d.ts.map +1 -0
  253. package/dist/_types/native/createZeroDevWallet.d.ts +12 -0
  254. package/dist/_types/native/createZeroDevWallet.d.ts.map +1 -0
  255. package/dist/_types/native/stampers/passkey.d.ts +5 -0
  256. package/dist/_types/native/stampers/passkey.d.ts.map +1 -0
  257. package/dist/_types/native/stampers/secureStore.d.ts +3 -0
  258. package/dist/_types/native/stampers/secureStore.d.ts.map +1 -0
  259. package/dist/_types/native/storage/asyncStorage.d.ts +3 -0
  260. package/dist/_types/native/storage/asyncStorage.d.ts.map +1 -0
  261. package/dist/_types/stampers/iframeStamper.d.ts.map +1 -1
  262. package/dist/_types/stampers/indexedDbStamper.d.ts +2 -2
  263. package/dist/_types/stampers/indexedDbStamper.d.ts.map +1 -1
  264. package/dist/_types/stampers/noopPasskeyStamper.d.ts +8 -0
  265. package/dist/_types/stampers/noopPasskeyStamper.d.ts.map +1 -0
  266. package/dist/_types/stampers/types.d.ts +39 -5
  267. package/dist/_types/stampers/types.d.ts.map +1 -1
  268. package/dist/_types/stampers/webauthnStamper.d.ts +2 -2
  269. package/dist/_types/stampers/webauthnStamper.d.ts.map +1 -1
  270. package/dist/_types/stubs/native-on-web.d.ts +6 -0
  271. package/dist/_types/stubs/native-on-web.d.ts.map +1 -0
  272. package/dist/_types/types/session.d.ts +2 -3
  273. package/dist/_types/types/session.d.ts.map +1 -1
  274. package/dist/_types/utils/buildClientSignature.d.ts +3 -3
  275. package/dist/_types/utils/buildClientSignature.d.ts.map +1 -1
  276. package/dist/_types/utils/encryptOtpAttempt.d.ts +40 -0
  277. package/dist/_types/utils/encryptOtpAttempt.d.ts.map +1 -0
  278. package/dist/_types/utils/exportPrivateKey.d.ts +1 -1
  279. package/dist/_types/utils/exportPrivateKey.d.ts.map +1 -1
  280. package/dist/_types/utils/exportWallet.d.ts +1 -1
  281. package/dist/_types/utils/exportWallet.d.ts.map +1 -1
  282. package/dist/_types/utils/hpke.d.ts +38 -0
  283. package/dist/_types/utils/hpke.d.ts.map +1 -0
  284. package/dist/_types/utils/platform.d.ts +2 -0
  285. package/dist/_types/utils/platform.d.ts.map +1 -0
  286. package/dist/_types/utils/resolveOrganizationId.d.ts +16 -0
  287. package/dist/_types/utils/resolveOrganizationId.d.ts.map +1 -0
  288. package/dist/_types/utils/utils.d.ts.map +1 -1
  289. package/dist/_types/web/createZeroDevWallet.d.ts +18 -0
  290. package/dist/_types/web/createZeroDevWallet.d.ts.map +1 -0
  291. package/dist/tsconfig.build.tsbuildinfo +1 -1
  292. package/package.json +100 -11
  293. package/src/actions/auth/authenticateWithEmail.ts +1 -9
  294. package/src/actions/auth/authenticateWithOAuth.ts +12 -7
  295. package/src/actions/auth/getAuthProxyConfigId.ts +20 -0
  296. package/src/actions/auth/getAuthenticators.ts +89 -0
  297. package/src/actions/auth/getOAuthLoginUrl.ts +48 -0
  298. package/src/actions/auth/getParentOrgId.ts +25 -0
  299. package/src/actions/auth/getWhoami.ts +33 -6
  300. package/src/actions/auth/index.ts +21 -5
  301. package/src/actions/auth/loginWithStamp.ts +11 -12
  302. package/src/actions/auth/registerWithOTP.ts +11 -5
  303. package/src/actions/auth/registerWithPasskey.ts +1 -10
  304. package/src/actions/index.ts +26 -7
  305. package/src/actions/wallet/getUserWallet.ts +5 -5
  306. package/src/actions/wallet/index.ts +22 -4
  307. package/src/actions/wallet/sign7702Authorization.ts +48 -0
  308. package/src/actions/wallet/signMessage.ts +47 -0
  309. package/src/actions/wallet/signTransaction.ts +19 -38
  310. package/src/actions/wallet/signTypedDataV4.ts +52 -0
  311. package/src/actions/wallet/signUserOperation.ts +56 -0
  312. package/src/actions/wallet/signingUtils.ts +110 -0
  313. package/src/adapters/viem.ts +75 -43
  314. package/src/client/authProxy.ts +14 -8
  315. package/src/client/createClient.ts +6 -6
  316. package/src/client/decorators/client.ts +78 -19
  317. package/src/client/index.ts +4 -1
  318. package/src/client/transports/createTransport.ts +8 -5
  319. package/src/client/transports/rest.ts +57 -34
  320. package/src/client/types.ts +9 -9
  321. package/src/constants.ts +12 -4
  322. package/src/core/{createZeroDevWallet.ts → createZeroDevWalletCore.ts} +147 -122
  323. package/src/index.native.ts +102 -0
  324. package/src/index.ts +49 -16
  325. package/src/native/createZeroDevWallet.ts +26 -0
  326. package/src/native/stampers/passkey.ts +39 -0
  327. package/src/native/stampers/secureStore.ts +139 -0
  328. package/src/native/storage/asyncStorage.ts +18 -0
  329. package/src/stampers/iframeStamper.ts +3 -0
  330. package/src/stampers/indexedDbStamper.ts +27 -4
  331. package/src/stampers/noopPasskeyStamper.ts +21 -0
  332. package/src/stampers/types.ts +39 -5
  333. package/src/stampers/webauthnStamper.ts +27 -6
  334. package/src/stubs/native-on-web.ts +29 -0
  335. package/src/types/session.ts +2 -3
  336. package/src/utils/buildClientSignature.ts +3 -3
  337. package/src/utils/encryptOtpAttempt.ts +142 -0
  338. package/src/utils/exportPrivateKey.ts +2 -2
  339. package/src/utils/exportWallet.ts +66 -75
  340. package/src/utils/hpke.ts +219 -0
  341. package/src/utils/platform.ts +21 -0
  342. package/src/utils/resolveOrganizationId.ts +28 -0
  343. package/src/utils/utils.ts +5 -6
  344. package/src/web/createZeroDevWallet.ts +45 -0
  345. package/dist/_cjs/actions/auth/getUserEmail.js +0 -16
  346. package/dist/_cjs/actions/auth/getUserEmail.js.map +0 -1
  347. package/dist/_cjs/actions/wallet/signRawPayload.js +0 -27
  348. package/dist/_cjs/actions/wallet/signRawPayload.js.map +0 -1
  349. package/dist/_cjs/core/createZeroDevWallet.js.map +0 -1
  350. package/dist/_cjs/stampers/index.js +0 -10
  351. package/dist/_cjs/stampers/index.js.map +0 -1
  352. package/dist/_esm/actions/auth/getUserEmail.js +0 -29
  353. package/dist/_esm/actions/auth/getUserEmail.js.map +0 -1
  354. package/dist/_esm/actions/wallet/signRawPayload.js +0 -42
  355. package/dist/_esm/actions/wallet/signRawPayload.js.map +0 -1
  356. package/dist/_esm/core/createZeroDevWallet.js.map +0 -1
  357. package/dist/_esm/stampers/index.js +0 -4
  358. package/dist/_esm/stampers/index.js.map +0 -1
  359. package/dist/_types/actions/auth/getUserEmail.d.ts +0 -29
  360. package/dist/_types/actions/auth/getUserEmail.d.ts.map +0 -1
  361. package/dist/_types/actions/wallet/signRawPayload.d.ts +0 -39
  362. package/dist/_types/actions/wallet/signRawPayload.d.ts.map +0 -1
  363. package/dist/_types/core/createZeroDevWallet.d.ts.map +0 -1
  364. package/dist/_types/stampers/index.d.ts +0 -5
  365. package/dist/_types/stampers/index.d.ts.map +0 -1
  366. package/src/actions/auth/getUserEmail.ts +0 -46
  367. package/src/actions/wallet/signRawPayload.ts +0 -75
  368. package/src/stampers/index.ts +0 -8
@@ -1,34 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createZeroDevWallet = createZeroDevWallet;
4
- const http_1 = require("@turnkey/http");
3
+ exports.createZeroDevWalletCore = createZeroDevWalletCore;
5
4
  const viem_js_1 = require("../adapters/viem.js");
6
5
  const index_js_1 = require("../client/index.js");
7
6
  const constants_js_1 = require("../constants.js");
8
- const indexedDbStamper_js_1 = require("../stampers/indexedDbStamper.js");
9
- const webauthnStamper_js_1 = require("../stampers/webauthnStamper.js");
10
- const adapters_js_1 = require("../storage/adapters.js");
7
+ const noopPasskeyStamper_js_1 = require("../stampers/noopPasskeyStamper.js");
11
8
  const manager_js_1 = require("../storage/manager.js");
12
9
  const session_js_1 = require("../types/session.js");
13
10
  const buildClientSignature_js_1 = require("../utils/buildClientSignature.js");
11
+ const encryptOtpAttempt_js_1 = require("../utils/encryptOtpAttempt.js");
12
+ const resolveOrganizationId_js_1 = require("../utils/resolveOrganizationId.js");
14
13
  const utils_js_1 = require("../utils/utils.js");
15
- async function createZeroDevWallet(config) {
16
- const { projectId, sessionStorage, rpId = window.location.hostname, organizationId = constants_js_1.DEFAULT_ORGANIZATION_ID, } = config;
17
- const sessionStorageManager = (0, manager_js_1.createStorageManager)(sessionStorage || (0, adapters_js_1.createWebStorageAdapter)());
18
- const indexedDbStamper = await (0, indexedDbStamper_js_1.createIndexedDbStamper)();
19
- const webauthnStamper = await (0, webauthnStamper_js_1.createWebauthnStamper)({ rpId });
14
+ async function createZeroDevWalletCore(config) {
15
+ const { projectId, sessionStorage, rpId, apiKeyStamper, organizationId } = config;
16
+ const passkeyStamper = config.passkeyStamper ?? (0, noopPasskeyStamper_js_1.createNoopPasskeyStamper)();
17
+ const sessionStorageManager = (0, manager_js_1.createStorageManager)(sessionStorage);
20
18
  const client = (0, index_js_1.createClient)({
21
- indexedDbStamper,
22
- webauthnStamper,
19
+ apiKeyStamper,
20
+ passkeyStamper,
23
21
  transport: (0, index_js_1.zeroDevWalletTransport)({
24
22
  baseUrl: config.proxyBaseUrl || `${constants_js_1.KMS_SERVER_URL}/api/v1`,
23
+ ...(config.fetchOptions && { fetchOptions: config.fetchOptions }),
25
24
  }),
26
25
  });
26
+ let cachedAuthProxyConfigId;
27
+ const resolveOrganizationId = (0, resolveOrganizationId_js_1.createOrganizationIdResolver)({
28
+ organizationId,
29
+ fetchParentOrgId: async () => (await client.getParentOrgId()).parentOrgId,
30
+ fallback: constants_js_1.DEFAULT_ORGANIZATION_ID,
31
+ });
27
32
  return {
28
33
  client,
29
34
  async getPublicKey() {
30
- await client.indexedDbStamper.resetKeyPair();
31
- const compressedPublicKey = await client.indexedDbStamper.getPublicKey();
35
+ await client.apiKeyStamper.resetKeyPair();
36
+ const compressedPublicKey = await client.apiKeyStamper.getPublicKey();
32
37
  return compressedPublicKey;
33
38
  },
34
39
  async getSession() {
@@ -60,25 +65,21 @@ async function createZeroDevWallet(config) {
60
65
  if (!activeSession) {
61
66
  throw new Error('No active session');
62
67
  }
63
- if (activeSession.stamperType === 'indexedDb') {
64
- const newKeyPair = await crypto.subtle.generateKey({
65
- name: 'ECDSA',
66
- namedCurve: 'P-256',
67
- }, false, ['sign', 'verify']);
68
- const compressedPublicKeyHex = await (0, utils_js_1.generateCompressedPublicKeyFromKeyPair)(newKeyPair);
68
+ if (activeSession.stamperType === 'apiKey') {
69
+ const compressedPublicKeyHex = await client.apiKeyStamper.prepareKeyRotation();
69
70
  const data = await client.loginWithStamp({
70
71
  targetPublicKey: compressedPublicKeyHex,
71
72
  projectId,
72
- organizationId: activeSession.organizationId,
73
- stampWith: 'indexedDb',
73
+ organizationId: await resolveOrganizationId(),
74
+ stampWith: 'apiKey',
74
75
  });
75
- await client.indexedDbStamper.resetKeyPair(newKeyPair);
76
+ await client.apiKeyStamper.commitKeyRotation();
76
77
  const parsedSession = (0, utils_js_1.parseSession)(data.session);
77
78
  const session = {
78
79
  id: `session_indexedDb_${Date.now()}`,
79
80
  userId: parsedSession.userId,
80
81
  organizationId: parsedSession.organizationId,
81
- stamperType: 'indexedDb',
82
+ stamperType: 'apiKey',
82
83
  sessionType: session_js_1.SessionType.READ_WRITE,
83
84
  token: data.session,
84
85
  expiry: parsedSession.expiry,
@@ -93,23 +94,24 @@ async function createZeroDevWallet(config) {
93
94
  async auth(params) {
94
95
  switch (params.type) {
95
96
  case 'oauth': {
97
+ const popSignature = await client.apiKeyStamper.sign(params.sessionId);
96
98
  const data = await client.authenticateWithOAuth({
97
99
  provider: params.provider,
98
100
  projectId,
101
+ sessionId: params.sessionId,
102
+ popSignature,
99
103
  });
100
104
  if (data.session) {
101
105
  const parsedSession = (0, utils_js_1.parseSession)(data.session);
102
- const publicKey = await client.indexedDbStamper.getPublicKey();
103
106
  const session = {
104
107
  id: `session_oauth_${Date.now()}`,
105
108
  userId: parsedSession.userId,
106
109
  organizationId: parsedSession.organizationId,
107
- stamperType: 'indexedDb',
110
+ stamperType: 'apiKey',
108
111
  sessionType: parsedSession.sessionType || session_js_1.SessionType.READ_WRITE,
109
112
  token: data.session,
110
113
  expiry: parsedSession.expiry,
111
114
  createdAt: Date.now(),
112
- publicKey: publicKey || '',
113
115
  };
114
116
  await sessionStorageManager.storeSession(session, session.id);
115
117
  }
@@ -120,59 +122,33 @@ async function createZeroDevWallet(config) {
120
122
  if (type === 'passkey' &&
121
123
  'mode' in params &&
122
124
  params.mode === 'register') {
123
- const { email } = params;
124
- await client.indexedDbStamper.resetKeyPair();
125
- const tempPublicKey = await client.indexedDbStamper.getPublicKey();
125
+ await client.apiKeyStamper.resetKeyPair();
126
+ const tempPublicKey = await client.apiKeyStamper.getPublicKey();
126
127
  if (!tempPublicKey) {
127
128
  throw new Error('Failed to get public key');
128
129
  }
129
- const challenge = (0, utils_js_1.generateRandomBuffer)();
130
- const encodedChallenge = (0, utils_js_1.base64UrlEncode)(challenge);
131
- const authenticatorUserId = (0, utils_js_1.generateRandomBuffer)();
132
- const name = `ZeroDevWallet-${(0, utils_js_1.humanReadableDateTime)()}-${email}`;
133
- const attestation = await (0, http_1.getWebAuthnAttestation)({
134
- publicKey: {
135
- rp: { id: rpId, name: '' },
136
- challenge,
137
- pubKeyCredParams: [
138
- {
139
- type: 'public-key',
140
- alg: -7,
141
- },
142
- {
143
- type: 'public-key',
144
- alg: -257,
145
- },
146
- ],
147
- user: {
148
- id: authenticatorUserId,
149
- name,
150
- displayName: name,
151
- },
152
- },
130
+ const name = `ZeroDevWallet-${(0, utils_js_1.humanReadableDateTime)()}`;
131
+ const { attestation, encodedChallenge } = await passkeyStamper.register({
132
+ rp: { id: rpId, name: '' },
133
+ userName: name,
153
134
  });
154
135
  const data = await client.registerWithPasskey({
155
- email,
156
136
  attestation,
157
137
  challenge: encodedChallenge,
158
138
  projectId,
159
139
  encodedPublicKey: tempPublicKey,
160
140
  });
161
- const newKeyPair = await crypto.subtle.generateKey({
162
- name: 'ECDSA',
163
- namedCurve: 'P-256',
164
- }, false, ['sign', 'verify']);
165
- const compressedPublicKeyHex = await (0, utils_js_1.generateCompressedPublicKeyFromKeyPair)(newKeyPair);
141
+ const compressedPublicKeyHex = await client.apiKeyStamper.prepareKeyRotation();
166
142
  const loginData = await client.loginWithStamp({
167
143
  projectId,
168
144
  targetPublicKey: compressedPublicKeyHex,
169
- organizationId: data.subOrganizationId,
145
+ organizationId: await resolveOrganizationId(),
170
146
  });
171
- await client.indexedDbStamper.resetKeyPair(newKeyPair);
147
+ await client.apiKeyStamper.commitKeyRotation();
172
148
  const parsedSession = (0, utils_js_1.parseSession)(loginData.session);
173
149
  const session = {
174
150
  id: `session_indexedDb_${Date.now()}`,
175
- stamperType: 'indexedDb',
151
+ stamperType: 'apiKey',
176
152
  createdAt: Date.now(),
177
153
  sessionType: session_js_1.SessionType.READ_WRITE,
178
154
  userId: parsedSession.userId,
@@ -187,21 +163,21 @@ async function createZeroDevWallet(config) {
187
163
  if (type === 'passkey' &&
188
164
  'mode' in params &&
189
165
  params.mode === 'login') {
190
- await client.indexedDbStamper.resetKeyPair();
191
- const generatedPublicKey = await client.indexedDbStamper.getPublicKey();
166
+ await client.apiKeyStamper.resetKeyPair();
167
+ const generatedPublicKey = await client.apiKeyStamper.getPublicKey();
192
168
  if (!generatedPublicKey) {
193
169
  throw new Error('Failed to get public key');
194
170
  }
195
171
  const loginData = await client.loginWithStamp({
196
172
  targetPublicKey: generatedPublicKey,
197
173
  projectId,
198
- organizationId,
199
- stampWith: 'webauthn',
174
+ organizationId: await resolveOrganizationId(),
175
+ stampWith: 'passkey',
200
176
  });
201
177
  const parsedSession = (0, utils_js_1.parseSession)(loginData.session);
202
178
  const session = {
203
179
  id: `session_indexedDb_${Date.now()}`,
204
- stamperType: 'indexedDb',
180
+ stamperType: 'apiKey',
205
181
  createdAt: Date.now(),
206
182
  sessionType: session_js_1.SessionType.READ_WRITE,
207
183
  userId: parsedSession.userId,
@@ -215,37 +191,67 @@ async function createZeroDevWallet(config) {
215
191
  }
216
192
  throw new Error('Passkey authentication requires passkey parameter');
217
193
  }
218
- case 'otp': {
219
- const { type, mode } = params;
220
- if (type === 'otp' && mode === 'sendOtp') {
221
- const { email, contact, emailCustomization } = params;
194
+ case 'otp':
195
+ case 'magicLink': {
196
+ let otpParams;
197
+ if (params.type === 'magicLink') {
198
+ if (params.mode === 'send') {
199
+ otpParams = {
200
+ type: 'otp',
201
+ mode: 'sendOtp',
202
+ email: params.email,
203
+ contact: { type: 'email', contact: params.email },
204
+ };
205
+ }
206
+ else {
207
+ otpParams = {
208
+ type: 'otp',
209
+ mode: 'verifyOtp',
210
+ otpId: params.otpId,
211
+ otpCode: params.code,
212
+ otpEncryptionTargetBundle: params.otpEncryptionTargetBundle,
213
+ };
214
+ }
215
+ }
216
+ else {
217
+ otpParams = params;
218
+ }
219
+ if (otpParams.mode === 'sendOtp') {
220
+ const { email, contact } = otpParams;
222
221
  const data = await client.registerWithOTP({
223
222
  email,
224
223
  contact,
225
224
  projectId,
226
- ...(emailCustomization && { emailCustomization }),
227
225
  });
228
226
  return data;
229
227
  }
230
- if (type === 'otp' && mode === 'verifyOtp') {
231
- const { otpId, otpCode } = params;
232
- await client.indexedDbStamper.resetKeyPair();
233
- const targetPublicKey = await client.indexedDbStamper.getPublicKey();
228
+ if (otpParams.mode === 'verifyOtp') {
229
+ const { otpId, otpCode, otpEncryptionTargetBundle } = otpParams;
230
+ await client.apiKeyStamper.resetKeyPair();
231
+ const targetPublicKey = await client.apiKeyStamper.getPublicKey();
234
232
  if (!targetPublicKey) {
235
233
  throw new Error('Failed to get public key');
236
234
  }
235
+ const encryptedOtpBundle = await (0, encryptOtpAttempt_js_1.encryptOtpAttempt)({
236
+ otpCode,
237
+ publicKey: targetPublicKey,
238
+ encryptionTargetBundle: otpEncryptionTargetBundle,
239
+ });
240
+ if (!cachedAuthProxyConfigId) {
241
+ const { authProxyConfigId } = await client.getAuthProxyConfigId();
242
+ cachedAuthProxyConfigId = authProxyConfigId;
243
+ }
237
244
  const authProxyClient = (0, index_js_1.createAuthProxyClient)({
238
- authProxyConfigId: constants_js_1.DEFAULT_AUTH_PROXY_CONFIG_ID,
245
+ authProxyConfigId: cachedAuthProxyConfigId,
239
246
  });
240
247
  const { verificationToken } = await authProxyClient.verifyOtp({
241
248
  otpId,
242
- otpCode,
243
- public_key: targetPublicKey,
249
+ encryptedOtpBundle,
244
250
  });
245
251
  const clientSignature = await (0, buildClientSignature_js_1.buildClientSignature)({
246
252
  verificationToken,
247
253
  publicKey: targetPublicKey,
248
- stamper: client.indexedDbStamper,
254
+ stamper: client.apiKeyStamper,
249
255
  });
250
256
  const data = await client.loginWithOTP({
251
257
  verificationToken,
@@ -258,12 +264,11 @@ async function createZeroDevWallet(config) {
258
264
  id: `session_otp_${Date.now()}`,
259
265
  userId: parsedSession.userId,
260
266
  organizationId: parsedSession.organizationId,
261
- stamperType: 'indexedDb',
267
+ stamperType: 'apiKey',
262
268
  sessionType: parsedSession.sessionType || session_js_1.SessionType.READ_WRITE,
263
269
  token: data.session,
264
270
  expiry: parsedSession.expiry,
265
271
  createdAt: Date.now(),
266
- publicKey: targetPublicKey,
267
272
  };
268
273
  await sessionStorageManager.storeSession(session, session.id);
269
274
  }
@@ -277,7 +282,7 @@ async function createZeroDevWallet(config) {
277
282
  },
278
283
  async logout() {
279
284
  await sessionStorageManager.clearAllSessions();
280
- await client.indexedDbStamper.resetKeyPair();
285
+ await client.apiKeyStamper.resetKeyPair();
281
286
  return true;
282
287
  },
283
288
  async toAccount() {
@@ -289,9 +294,12 @@ async function createZeroDevWallet(config) {
289
294
  client,
290
295
  organizationId: session.organizationId,
291
296
  projectId,
292
- token: session.token ?? '',
297
+ getToken: async () => {
298
+ const activeSession = await sessionStorageManager.getActiveSession();
299
+ return activeSession?.token ?? '';
300
+ },
293
301
  });
294
302
  },
295
303
  };
296
304
  }
297
- //# sourceMappingURL=createZeroDevWallet.js.map
305
+ //# sourceMappingURL=createZeroDevWalletCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createZeroDevWalletCore.js","sourceRoot":"","sources":["../../../src/core/createZeroDevWalletCore.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeTimestamp = exports.exportWallet = exports.exportPrivateKey = exports.createWebauthnStamper = exports.createIndexedDbStamper = exports.createIframeStamper = exports.createZeroDevWallet = exports.KMS_SERVER_URL = exports.zeroDevWalletTransport = exports.createClient = exports.createBaseClient = exports.zeroDevWalletActions = exports.toViemAccount = exports.signTransaction = exports.signRawPayload = exports.registerWithOTP = exports.loginWithOTP = exports.getWhoami = exports.getUserWallet = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
3
+ exports.createZeroDevWallet = exports.normalizeTimestamp = exports.exportWallet = exports.exportPrivateKey = exports.createIframeStamper = exports.KMS_SERVER_URL = exports.zeroDevWalletTransport = exports.createClient = exports.createBaseClient = exports.zeroDevWalletActions = exports.toViemAccount = exports.signUserOperation = exports.signTypedDataV4 = exports.signTransaction = exports.signMessage = exports.sign7702Authorization = exports.registerWithOTP = exports.loginWithOTP = exports.getWhoami = exports.getUserWallet = exports.getAuthenticators = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
4
+ const platform_js_1 = require("./utils/platform.js");
5
+ if ((0, platform_js_1.isReactNative)()) {
6
+ console.warn('@zerodev/wallet-core: the web entry was loaded in a React Native runtime. Check that your metro.config.js has `unstable_enablePackageExports: true` and `"react-native"` in `unstable_conditionNames`.');
7
+ }
4
8
  var index_js_1 = require("./actions/index.js");
5
9
  Object.defineProperty(exports, "authenticateWithEmail", { enumerable: true, get: function () { return index_js_1.authenticateWithEmail; } });
6
10
  Object.defineProperty(exports, "authenticateWithOAuth", { enumerable: true, get: function () { return index_js_1.authenticateWithOAuth; } });
11
+ Object.defineProperty(exports, "getAuthenticators", { enumerable: true, get: function () { return index_js_1.getAuthenticators; } });
7
12
  Object.defineProperty(exports, "getUserWallet", { enumerable: true, get: function () { return index_js_1.getUserWallet; } });
8
13
  Object.defineProperty(exports, "getWhoami", { enumerable: true, get: function () { return index_js_1.getWhoami; } });
9
14
  Object.defineProperty(exports, "loginWithOTP", { enumerable: true, get: function () { return index_js_1.loginWithOTP; } });
10
15
  Object.defineProperty(exports, "registerWithOTP", { enumerable: true, get: function () { return index_js_1.registerWithOTP; } });
11
- Object.defineProperty(exports, "signRawPayload", { enumerable: true, get: function () { return index_js_1.signRawPayload; } });
16
+ Object.defineProperty(exports, "sign7702Authorization", { enumerable: true, get: function () { return index_js_1.sign7702Authorization; } });
17
+ Object.defineProperty(exports, "signMessage", { enumerable: true, get: function () { return index_js_1.signMessage; } });
12
18
  Object.defineProperty(exports, "signTransaction", { enumerable: true, get: function () { return index_js_1.signTransaction; } });
19
+ Object.defineProperty(exports, "signTypedDataV4", { enumerable: true, get: function () { return index_js_1.signTypedDataV4; } });
20
+ Object.defineProperty(exports, "signUserOperation", { enumerable: true, get: function () { return index_js_1.signUserOperation; } });
13
21
  var viem_js_1 = require("./adapters/viem.js");
14
22
  Object.defineProperty(exports, "toViemAccount", { enumerable: true, get: function () { return viem_js_1.toViemAccount; } });
15
23
  var client_js_1 = require("./client/decorators/client.js");
@@ -20,16 +28,14 @@ Object.defineProperty(exports, "createClient", { enumerable: true, get: function
20
28
  Object.defineProperty(exports, "zeroDevWalletTransport", { enumerable: true, get: function () { return index_js_2.zeroDevWalletTransport; } });
21
29
  var constants_js_1 = require("./constants.js");
22
30
  Object.defineProperty(exports, "KMS_SERVER_URL", { enumerable: true, get: function () { return constants_js_1.KMS_SERVER_URL; } });
23
- var createZeroDevWallet_js_1 = require("./core/createZeroDevWallet.js");
24
- Object.defineProperty(exports, "createZeroDevWallet", { enumerable: true, get: function () { return createZeroDevWallet_js_1.createZeroDevWallet; } });
25
- var index_js_3 = require("./stampers/index.js");
26
- Object.defineProperty(exports, "createIframeStamper", { enumerable: true, get: function () { return index_js_3.createIframeStamper; } });
27
- Object.defineProperty(exports, "createIndexedDbStamper", { enumerable: true, get: function () { return index_js_3.createIndexedDbStamper; } });
28
- Object.defineProperty(exports, "createWebauthnStamper", { enumerable: true, get: function () { return index_js_3.createWebauthnStamper; } });
31
+ var iframeStamper_js_1 = require("./stampers/iframeStamper.js");
32
+ Object.defineProperty(exports, "createIframeStamper", { enumerable: true, get: function () { return iframeStamper_js_1.createIframeStamper; } });
29
33
  var exportPrivateKey_js_1 = require("./utils/exportPrivateKey.js");
30
34
  Object.defineProperty(exports, "exportPrivateKey", { enumerable: true, get: function () { return exportPrivateKey_js_1.exportPrivateKey; } });
31
35
  var exportWallet_js_1 = require("./utils/exportWallet.js");
32
36
  Object.defineProperty(exports, "exportWallet", { enumerable: true, get: function () { return exportWallet_js_1.exportWallet; } });
33
37
  var utils_js_1 = require("./utils/utils.js");
34
38
  Object.defineProperty(exports, "normalizeTimestamp", { enumerable: true, get: function () { return utils_js_1.normalizeTimestamp; } });
39
+ var createZeroDevWallet_js_1 = require("./web/createZeroDevWallet.js");
40
+ Object.defineProperty(exports, "createZeroDevWallet", { enumerable: true, get: function () { return createZeroDevWallet_js_1.createZeroDevWallet; } });
35
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAwBA,+CAW2B;AATzB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AAErB,yGAAA,aAAa,OAAA;AACb,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,2GAAA,eAAe,OAAA;AACf,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AAIjB,8CAAkD;AAAzC,wGAAA,aAAa,OAAA;AAGtB,2DAAoE;AAA3D,iHAAA,oBAAoB,OAAA;AAG7B,8CAK0B;AAJxB,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,YAAY,OAAA;AAEZ,kHAAA,sBAAsB,OAAA;AAGxB,+CAA+C;AAAtC,8GAAA,cAAc,OAAA;AAOvB,wEAAmE;AAA1D,6HAAA,mBAAmB,OAAA;AAE5B,gDAI4B;AAH1B,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,iHAAA,qBAAqB,OAAA;AAYvB,mEAA8D;AAArD,uHAAA,gBAAgB,OAAA;AACzB,2DAAsD;AAA7C,+GAAA,YAAY,OAAA;AAErB,6CAAqD;AAA5C,8GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,IAAI,IAAA,2BAAa,GAAE,EAAE,CAAC;IAEpB,OAAO,CAAC,IAAI,CACV,wMAAwM,CACzM,CAAA;AACH,CAAC;AAqCD,+CAe2B;AAbzB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,6GAAA,iBAAiB,OAAA;AAEjB,yGAAA,aAAa,OAAA;AACb,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AAInB,8CAAkD;AAAzC,wGAAA,aAAa,OAAA;AAGtB,2DAAoE;AAA3D,iHAAA,oBAAoB,OAAA;AAQ7B,8CAK0B;AAJxB,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,YAAY,OAAA;AAEZ,kHAAA,sBAAsB,OAAA;AAGxB,+CAA+C;AAAtC,8GAAA,cAAc,OAAA;AAMvB,gEAAiE;AAAxD,uHAAA,mBAAmB,OAAA;AAc5B,mEAA8D;AAArD,uHAAA,gBAAgB,OAAA;AACzB,2DAAsD;AAA7C,+GAAA,YAAY,OAAA;AAErB,6CAAqD;AAA5C,8GAAA,kBAAkB,OAAA;AAK3B,uEAGqC;AAFnC,6HAAA,mBAAmB,OAAA"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeTimestamp = exports.exportWallet = exports.exportPrivateKey = exports.createZeroDevWallet = exports.KMS_SERVER_URL = exports.zeroDevWalletTransport = exports.createClient = exports.createBaseClient = exports.zeroDevWalletActions = exports.toViemAccount = exports.signUserOperation = exports.signTypedDataV4 = exports.signTransaction = exports.signMessage = exports.sign7702Authorization = exports.registerWithOTP = exports.loginWithOTP = exports.getWhoami = exports.getUserWallet = exports.getAuthenticators = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
4
+ const platform_js_1 = require("./utils/platform.js");
5
+ if (!(0, platform_js_1.isReactNative)()) {
6
+ console.warn('@zerodev/wallet-core/react-native: the React Native entry was loaded outside a React Native runtime. If this is a non-RN context, import `@zerodev/wallet-core` (the bare specifier) instead.');
7
+ }
8
+ var index_js_1 = require("./actions/index.js");
9
+ Object.defineProperty(exports, "authenticateWithEmail", { enumerable: true, get: function () { return index_js_1.authenticateWithEmail; } });
10
+ Object.defineProperty(exports, "authenticateWithOAuth", { enumerable: true, get: function () { return index_js_1.authenticateWithOAuth; } });
11
+ Object.defineProperty(exports, "getAuthenticators", { enumerable: true, get: function () { return index_js_1.getAuthenticators; } });
12
+ Object.defineProperty(exports, "getUserWallet", { enumerable: true, get: function () { return index_js_1.getUserWallet; } });
13
+ Object.defineProperty(exports, "getWhoami", { enumerable: true, get: function () { return index_js_1.getWhoami; } });
14
+ Object.defineProperty(exports, "loginWithOTP", { enumerable: true, get: function () { return index_js_1.loginWithOTP; } });
15
+ Object.defineProperty(exports, "registerWithOTP", { enumerable: true, get: function () { return index_js_1.registerWithOTP; } });
16
+ Object.defineProperty(exports, "sign7702Authorization", { enumerable: true, get: function () { return index_js_1.sign7702Authorization; } });
17
+ Object.defineProperty(exports, "signMessage", { enumerable: true, get: function () { return index_js_1.signMessage; } });
18
+ Object.defineProperty(exports, "signTransaction", { enumerable: true, get: function () { return index_js_1.signTransaction; } });
19
+ Object.defineProperty(exports, "signTypedDataV4", { enumerable: true, get: function () { return index_js_1.signTypedDataV4; } });
20
+ Object.defineProperty(exports, "signUserOperation", { enumerable: true, get: function () { return index_js_1.signUserOperation; } });
21
+ var viem_js_1 = require("./adapters/viem.js");
22
+ Object.defineProperty(exports, "toViemAccount", { enumerable: true, get: function () { return viem_js_1.toViemAccount; } });
23
+ var client_js_1 = require("./client/decorators/client.js");
24
+ Object.defineProperty(exports, "zeroDevWalletActions", { enumerable: true, get: function () { return client_js_1.zeroDevWalletActions; } });
25
+ var index_js_2 = require("./client/index.js");
26
+ Object.defineProperty(exports, "createBaseClient", { enumerable: true, get: function () { return index_js_2.createBaseClient; } });
27
+ Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return index_js_2.createClient; } });
28
+ Object.defineProperty(exports, "zeroDevWalletTransport", { enumerable: true, get: function () { return index_js_2.zeroDevWalletTransport; } });
29
+ var constants_js_1 = require("./constants.js");
30
+ Object.defineProperty(exports, "KMS_SERVER_URL", { enumerable: true, get: function () { return constants_js_1.KMS_SERVER_URL; } });
31
+ var createZeroDevWallet_js_1 = require("./native/createZeroDevWallet.js");
32
+ Object.defineProperty(exports, "createZeroDevWallet", { enumerable: true, get: function () { return createZeroDevWallet_js_1.createZeroDevWallet; } });
33
+ var exportPrivateKey_js_1 = require("./utils/exportPrivateKey.js");
34
+ Object.defineProperty(exports, "exportPrivateKey", { enumerable: true, get: function () { return exportPrivateKey_js_1.exportPrivateKey; } });
35
+ var exportWallet_js_1 = require("./utils/exportWallet.js");
36
+ Object.defineProperty(exports, "exportWallet", { enumerable: true, get: function () { return exportWallet_js_1.exportWallet; } });
37
+ var utils_js_1 = require("./utils/utils.js");
38
+ Object.defineProperty(exports, "normalizeTimestamp", { enumerable: true, get: function () { return utils_js_1.normalizeTimestamp; } });
39
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,IAAI,CAAC,IAAA,2BAAa,GAAE,EAAE,CAAC;IAErB,OAAO,CAAC,IAAI,CACV,+LAA+L,CAChM,CAAA;AACH,CAAC;AAsCD,+CAa2B;AAZzB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AAGnB,8CAAkD;AAAzC,wGAAA,aAAa,OAAA;AAEtB,2DAAoE;AAA3D,iHAAA,oBAAoB,OAAA;AAO7B,8CAK0B;AAJxB,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,YAAY,OAAA;AAEZ,kHAAA,sBAAsB,OAAA;AAExB,+CAA+C;AAAtC,8GAAA,cAAc,OAAA;AASvB,0EAGwC;AAFtC,6HAAA,mBAAmB,OAAA;AAcrB,mEAA8D;AAArD,uHAAA,gBAAgB,OAAA;AACzB,2DAAsD;AAA7C,+GAAA,YAAY,OAAA;AACrB,6CAAqD;AAA5C,8GAAA,kBAAkB,OAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createZeroDevWallet = createZeroDevWallet;
4
+ const createZeroDevWalletCore_js_1 = require("../core/createZeroDevWalletCore.js");
5
+ async function createZeroDevWallet(config) {
6
+ return (0, createZeroDevWalletCore_js_1.createZeroDevWalletCore)({
7
+ ...config,
8
+ fetchOptions: config.fetchOptions ?? {
9
+ headers: { Origin: `https://${config.rpId}` },
10
+ },
11
+ });
12
+ }
13
+ //# sourceMappingURL=createZeroDevWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createZeroDevWallet.js","sourceRoot":"","sources":["../../../src/native/createZeroDevWallet.ts"],"names":[],"mappings":";;AAgBA,kDASC;AAzBD,mFAI2C;AAYpC,KAAK,UAAU,mBAAmB,CACvC,MAA2B;IAE3B,OAAO,IAAA,oDAAuB,EAAC;QAC7B,GAAG,MAAM;QACT,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI;YACnC,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,MAAM,CAAC,IAAI,EAAE,EAAE;SAC9C;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createReactNativePasskeyStamper = createReactNativePasskeyStamper;
4
+ const react_native_passkey_stamper_1 = require("@turnkey/react-native-passkey-stamper");
5
+ const uuid_1 = require("uuid");
6
+ async function createReactNativePasskeyStamper({ rpId, }) {
7
+ const inner = new react_native_passkey_stamper_1.PasskeyStamper({ rpId });
8
+ return {
9
+ async stamp(payload) {
10
+ return await inner.stamp(payload);
11
+ },
12
+ async clear() { },
13
+ async register({ rp, userName }) {
14
+ const { attestation, challenge: encodedChallenge } = await (0, react_native_passkey_stamper_1.createPasskey)({
15
+ rp: {
16
+ id: rp.id,
17
+ name: rp.name ?? 'Turnkey',
18
+ },
19
+ user: {
20
+ id: (0, uuid_1.v4)(),
21
+ name: userName,
22
+ displayName: userName,
23
+ },
24
+ authenticatorName: userName ?? 'End-User Passkey',
25
+ });
26
+ return { attestation, encodedChallenge };
27
+ },
28
+ };
29
+ }
30
+ //# sourceMappingURL=passkey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../../../src/native/stampers/passkey.ts"],"names":[],"mappings":";;AAUA,0EA4BC;AAtCD,wFAG8C;AAC9C,+BAAmC;AAM5B,KAAK,UAAU,+BAA+B,CAAC,EACpD,IAAI,GAGL;IACC,MAAM,KAAK,GAAG,IAAI,6CAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,OAAe;YACzB,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,KAAK,KAAI,CAAC;QAChB,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAA8B;YACzD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,4CAAa,EAAC;gBACvE,EAAE,EAAE;oBACF,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,SAAS;iBAC3B;gBACD,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAA,SAAM,GAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,QAAQ;iBACtB;gBACD,iBAAiB,EAAE,QAAQ,IAAI,kBAAkB;aAClD,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSecureStoreStamper = createSecureStoreStamper;
4
+ const api_key_stamper_1 = require("@turnkey/api-key-stamper");
5
+ const crypto_1 = require("@turnkey/crypto");
6
+ const SecureStore = require("expo-secure-store");
7
+ const PUBLIC_KEY = 'zerodev.publicKey';
8
+ const PRIVATE_KEY = 'zerodev.privateKey';
9
+ class SecureStoreStamperInner {
10
+ constructor() {
11
+ Object.defineProperty(this, "publicKeyHex", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: null
16
+ });
17
+ }
18
+ async init() {
19
+ const publicKey = await SecureStore.getItemAsync(PUBLIC_KEY);
20
+ const privateKey = await SecureStore.getItemAsync(PRIVATE_KEY);
21
+ if (publicKey && privateKey) {
22
+ this.publicKeyHex = publicKey;
23
+ }
24
+ else {
25
+ await this.resetKeyPair();
26
+ }
27
+ }
28
+ async getPublicKey() {
29
+ return this.publicKeyHex;
30
+ }
31
+ async resetKeyPair(externalKeyPair) {
32
+ await this.clear();
33
+ const pair = externalKeyPair ?? (0, crypto_1.generateP256KeyPair)();
34
+ await SecureStore.setItemAsync(PUBLIC_KEY, pair.publicKey);
35
+ await SecureStore.setItemAsync(PRIVATE_KEY, pair.privateKey);
36
+ this.publicKeyHex = pair.publicKey;
37
+ }
38
+ async getTurnkeyApiKeyStamper() {
39
+ if (!this.publicKeyHex) {
40
+ throw new Error('Key not initialized. Call init() or resetKeyPair() first.');
41
+ }
42
+ const privateKey = await SecureStore.getItemAsync(PRIVATE_KEY);
43
+ if (!privateKey) {
44
+ throw new Error('No private key found in secure store.');
45
+ }
46
+ return new api_key_stamper_1.ApiKeyStamper({
47
+ apiPublicKey: this.publicKeyHex,
48
+ apiPrivateKey: privateKey,
49
+ });
50
+ }
51
+ async stamp(payload) {
52
+ const stamper = await this.getTurnkeyApiKeyStamper();
53
+ const { stampHeaderName, stampHeaderValue } = await stamper.stamp(payload);
54
+ return { stampHeaderName, stampHeaderValue };
55
+ }
56
+ async sign(payload) {
57
+ const stamper = await this.getTurnkeyApiKeyStamper();
58
+ return stamper.sign(payload, api_key_stamper_1.SignatureFormat.Der);
59
+ }
60
+ async clear() {
61
+ await SecureStore.deleteItemAsync(PUBLIC_KEY);
62
+ await SecureStore.deleteItemAsync(PRIVATE_KEY);
63
+ this.publicKeyHex = null;
64
+ }
65
+ }
66
+ async function warmApiKeyStamperForMetroDev(inner) {
67
+ if (!globalThis.__DEV__)
68
+ return;
69
+ try {
70
+ await inner.stamp('{"purpose":"metro-dev-warmup"}');
71
+ }
72
+ catch (error) {
73
+ console.warn('Failed to warm API key stamper in dev:', error);
74
+ }
75
+ }
76
+ async function createSecureStoreStamper() {
77
+ const inner = new SecureStoreStamperInner();
78
+ await inner.init();
79
+ await warmApiKeyStamperForMetroDev(inner);
80
+ let pendingKeyPair = null;
81
+ return {
82
+ async getPublicKey() {
83
+ return inner.getPublicKey();
84
+ },
85
+ async stamp(payload) {
86
+ return inner.stamp(payload);
87
+ },
88
+ async sign(payload) {
89
+ return inner.sign(payload);
90
+ },
91
+ async clear() {
92
+ await inner.clear();
93
+ },
94
+ async resetKeyPair() {
95
+ pendingKeyPair = null;
96
+ await inner.resetKeyPair();
97
+ },
98
+ async prepareKeyRotation() {
99
+ const keyPair = (0, crypto_1.generateP256KeyPair)();
100
+ pendingKeyPair = keyPair;
101
+ return keyPair.publicKey;
102
+ },
103
+ async commitKeyRotation() {
104
+ if (!pendingKeyPair) {
105
+ throw new Error('No pending key rotation to commit');
106
+ }
107
+ await inner.resetKeyPair(pendingKeyPair);
108
+ pendingKeyPair = null;
109
+ },
110
+ };
111
+ }
112
+ //# sourceMappingURL=secureStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secureStore.js","sourceRoot":"","sources":["../../../../src/native/stampers/secureStore.ts"],"names":[],"mappings":"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"}