@zerodev/wallet-core 0.0.1-alpha.10

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 (292) hide show
  1. package/README.md +310 -0
  2. package/dist/_cjs/actions/auth/authenticateWithEmail.js +17 -0
  3. package/dist/_cjs/actions/auth/authenticateWithEmail.js.map +1 -0
  4. package/dist/_cjs/actions/auth/authenticateWithOAuth.js +13 -0
  5. package/dist/_cjs/actions/auth/authenticateWithOAuth.js.map +1 -0
  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/getUserEmail.js +19 -0
  9. package/dist/_cjs/actions/auth/getUserEmail.js.map +1 -0
  10. package/dist/_cjs/actions/auth/getWhoami.js +15 -0
  11. package/dist/_cjs/actions/auth/getWhoami.js.map +1 -0
  12. package/dist/_cjs/actions/auth/index.js +22 -0
  13. package/dist/_cjs/actions/auth/index.js.map +1 -0
  14. package/dist/_cjs/actions/auth/loginWithOTP.js +15 -0
  15. package/dist/_cjs/actions/auth/loginWithOTP.js.map +1 -0
  16. package/dist/_cjs/actions/auth/loginWithStamp.js +39 -0
  17. package/dist/_cjs/actions/auth/loginWithStamp.js.map +1 -0
  18. package/dist/_cjs/actions/auth/registerWithOTP.js +16 -0
  19. package/dist/_cjs/actions/auth/registerWithOTP.js.map +1 -0
  20. package/dist/_cjs/actions/auth/registerWithPasskey.js +17 -0
  21. package/dist/_cjs/actions/auth/registerWithPasskey.js.map +1 -0
  22. package/dist/_cjs/actions/index.js +17 -0
  23. package/dist/_cjs/actions/index.js.map +1 -0
  24. package/dist/_cjs/actions/wallet/getUserWallet.js +18 -0
  25. package/dist/_cjs/actions/wallet/getUserWallet.js.map +1 -0
  26. package/dist/_cjs/actions/wallet/index.js +10 -0
  27. package/dist/_cjs/actions/wallet/index.js.map +1 -0
  28. package/dist/_cjs/actions/wallet/signRawPayload.js +27 -0
  29. package/dist/_cjs/actions/wallet/signRawPayload.js.map +1 -0
  30. package/dist/_cjs/actions/wallet/signTransaction.js +26 -0
  31. package/dist/_cjs/actions/wallet/signTransaction.js.map +1 -0
  32. package/dist/_cjs/adapters/viem.js +92 -0
  33. package/dist/_cjs/adapters/viem.js.map +1 -0
  34. package/dist/_cjs/client/authProxy.js +31 -0
  35. package/dist/_cjs/client/authProxy.js.map +1 -0
  36. package/dist/_cjs/client/createClient.js +49 -0
  37. package/dist/_cjs/client/createClient.js.map +1 -0
  38. package/dist/_cjs/client/decorators/client.js +23 -0
  39. package/dist/_cjs/client/decorators/client.js.map +1 -0
  40. package/dist/_cjs/client/index.js +11 -0
  41. package/dist/_cjs/client/index.js.map +1 -0
  42. package/dist/_cjs/client/transports/createTransport.js +31 -0
  43. package/dist/_cjs/client/transports/createTransport.js.map +1 -0
  44. package/dist/_cjs/client/transports/rest.js +104 -0
  45. package/dist/_cjs/client/transports/rest.js.map +1 -0
  46. package/dist/_cjs/client/types.js +3 -0
  47. package/dist/_cjs/client/types.js.map +1 -0
  48. package/dist/_cjs/constants.js +9 -0
  49. package/dist/_cjs/constants.js.map +1 -0
  50. package/dist/_cjs/core/createZeroDevWallet.js +302 -0
  51. package/dist/_cjs/core/createZeroDevWallet.js.map +1 -0
  52. package/dist/_cjs/errors/request.js +61 -0
  53. package/dist/_cjs/errors/request.js.map +1 -0
  54. package/dist/_cjs/index.js +35 -0
  55. package/dist/_cjs/index.js.map +1 -0
  56. package/dist/_cjs/package.json +1 -0
  57. package/dist/_cjs/polyfills/window.js +26 -0
  58. package/dist/_cjs/polyfills/window.js.map +1 -0
  59. package/dist/_cjs/stampers/iframeStamper.js +35 -0
  60. package/dist/_cjs/stampers/iframeStamper.js.map +1 -0
  61. package/dist/_cjs/stampers/index.js +10 -0
  62. package/dist/_cjs/stampers/index.js.map +1 -0
  63. package/dist/_cjs/stampers/indexedDbStamper.js +23 -0
  64. package/dist/_cjs/stampers/indexedDbStamper.js.map +1 -0
  65. package/dist/_cjs/stampers/types.js +3 -0
  66. package/dist/_cjs/stampers/types.js.map +1 -0
  67. package/dist/_cjs/stampers/webauthnStamper.js +17 -0
  68. package/dist/_cjs/stampers/webauthnStamper.js.map +1 -0
  69. package/dist/_cjs/storage/adapters.js +18 -0
  70. package/dist/_cjs/storage/adapters.js.map +1 -0
  71. package/dist/_cjs/storage/manager.js +108 -0
  72. package/dist/_cjs/storage/manager.js.map +1 -0
  73. package/dist/_cjs/types/session.js +9 -0
  74. package/dist/_cjs/types/session.js.map +1 -0
  75. package/dist/_cjs/utils/buildClientSignature.js +39 -0
  76. package/dist/_cjs/utils/buildClientSignature.js.map +1 -0
  77. package/dist/_cjs/utils/derToRawSignature.js +63 -0
  78. package/dist/_cjs/utils/derToRawSignature.js.map +1 -0
  79. package/dist/_cjs/utils/exportPrivateKey.js +55 -0
  80. package/dist/_cjs/utils/exportPrivateKey.js.map +1 -0
  81. package/dist/_cjs/utils/exportWallet.js +70 -0
  82. package/dist/_cjs/utils/exportWallet.js.map +1 -0
  83. package/dist/_cjs/utils/utils.js +75 -0
  84. package/dist/_cjs/utils/utils.js.map +1 -0
  85. package/dist/_esm/actions/auth/authenticateWithEmail.js +18 -0
  86. package/dist/_esm/actions/auth/authenticateWithEmail.js.map +1 -0
  87. package/dist/_esm/actions/auth/authenticateWithOAuth.js +29 -0
  88. package/dist/_esm/actions/auth/authenticateWithOAuth.js.map +1 -0
  89. package/dist/_esm/actions/auth/getAuthProxyConfigId.js +13 -0
  90. package/dist/_esm/actions/auth/getAuthProxyConfigId.js.map +1 -0
  91. package/dist/_esm/actions/auth/getUserEmail.js +33 -0
  92. package/dist/_esm/actions/auth/getUserEmail.js.map +1 -0
  93. package/dist/_esm/actions/auth/getWhoami.js +28 -0
  94. package/dist/_esm/actions/auth/getWhoami.js.map +1 -0
  95. package/dist/_esm/actions/auth/index.js +10 -0
  96. package/dist/_esm/actions/auth/index.js.map +1 -0
  97. package/dist/_esm/actions/auth/loginWithOTP.js +38 -0
  98. package/dist/_esm/actions/auth/loginWithOTP.js.map +1 -0
  99. package/dist/_esm/actions/auth/loginWithStamp.js +52 -0
  100. package/dist/_esm/actions/auth/loginWithStamp.js.map +1 -0
  101. package/dist/_esm/actions/auth/registerWithOTP.js +35 -0
  102. package/dist/_esm/actions/auth/registerWithOTP.js.map +1 -0
  103. package/dist/_esm/actions/auth/registerWithPasskey.js +36 -0
  104. package/dist/_esm/actions/auth/registerWithPasskey.js.map +1 -0
  105. package/dist/_esm/actions/index.js +5 -0
  106. package/dist/_esm/actions/index.js.map +1 -0
  107. package/dist/_esm/actions/wallet/getUserWallet.js +31 -0
  108. package/dist/_esm/actions/wallet/getUserWallet.js.map +1 -0
  109. package/dist/_esm/actions/wallet/index.js +4 -0
  110. package/dist/_esm/actions/wallet/index.js.map +1 -0
  111. package/dist/_esm/actions/wallet/signRawPayload.js +42 -0
  112. package/dist/_esm/actions/wallet/signRawPayload.js.map +1 -0
  113. package/dist/_esm/actions/wallet/signTransaction.js +41 -0
  114. package/dist/_esm/actions/wallet/signTransaction.js.map +1 -0
  115. package/dist/_esm/adapters/viem.js +94 -0
  116. package/dist/_esm/adapters/viem.js.map +1 -0
  117. package/dist/_esm/client/authProxy.js +41 -0
  118. package/dist/_esm/client/authProxy.js.map +1 -0
  119. package/dist/_esm/client/createClient.js +60 -0
  120. package/dist/_esm/client/createClient.js.map +1 -0
  121. package/dist/_esm/client/decorators/client.js +44 -0
  122. package/dist/_esm/client/decorators/client.js.map +1 -0
  123. package/dist/_esm/client/index.js +4 -0
  124. package/dist/_esm/client/index.js.map +1 -0
  125. package/dist/_esm/client/transports/createTransport.js +33 -0
  126. package/dist/_esm/client/transports/createTransport.js.map +1 -0
  127. package/dist/_esm/client/transports/rest.js +103 -0
  128. package/dist/_esm/client/transports/rest.js.map +1 -0
  129. package/dist/_esm/client/types.js +2 -0
  130. package/dist/_esm/client/types.js.map +1 -0
  131. package/dist/_esm/constants.js +6 -0
  132. package/dist/_esm/constants.js.map +1 -0
  133. package/dist/_esm/core/createZeroDevWallet.js +308 -0
  134. package/dist/_esm/core/createZeroDevWallet.js.map +1 -0
  135. package/dist/_esm/errors/request.js +60 -0
  136. package/dist/_esm/errors/request.js.map +1 -0
  137. package/dist/_esm/index.js +23 -0
  138. package/dist/_esm/index.js.map +1 -0
  139. package/dist/_esm/package.json +1 -0
  140. package/dist/_esm/polyfills/window.js +24 -0
  141. package/dist/_esm/polyfills/window.js.map +1 -0
  142. package/dist/_esm/stampers/iframeStamper.js +32 -0
  143. package/dist/_esm/stampers/iframeStamper.js.map +1 -0
  144. package/dist/_esm/stampers/index.js +4 -0
  145. package/dist/_esm/stampers/index.js.map +1 -0
  146. package/dist/_esm/stampers/indexedDbStamper.js +20 -0
  147. package/dist/_esm/stampers/indexedDbStamper.js.map +1 -0
  148. package/dist/_esm/stampers/types.js +2 -0
  149. package/dist/_esm/stampers/types.js.map +1 -0
  150. package/dist/_esm/stampers/webauthnStamper.js +15 -0
  151. package/dist/_esm/stampers/webauthnStamper.js.map +1 -0
  152. package/dist/_esm/storage/adapters.js +15 -0
  153. package/dist/_esm/storage/adapters.js.map +1 -0
  154. package/dist/_esm/storage/manager.js +118 -0
  155. package/dist/_esm/storage/manager.js.map +1 -0
  156. package/dist/_esm/types/session.js +6 -0
  157. package/dist/_esm/types/session.js.map +1 -0
  158. package/dist/_esm/utils/buildClientSignature.js +64 -0
  159. package/dist/_esm/utils/buildClientSignature.js.map +1 -0
  160. package/dist/_esm/utils/derToRawSignature.js +89 -0
  161. package/dist/_esm/utils/derToRawSignature.js.map +1 -0
  162. package/dist/_esm/utils/exportPrivateKey.js +83 -0
  163. package/dist/_esm/utils/exportPrivateKey.js.map +1 -0
  164. package/dist/_esm/utils/exportWallet.js +98 -0
  165. package/dist/_esm/utils/exportWallet.js.map +1 -0
  166. package/dist/_esm/utils/utils.js +105 -0
  167. package/dist/_esm/utils/utils.js.map +1 -0
  168. package/dist/_types/actions/auth/authenticateWithEmail.d.ts +33 -0
  169. package/dist/_types/actions/auth/authenticateWithEmail.d.ts.map +1 -0
  170. package/dist/_types/actions/auth/authenticateWithOAuth.d.ts +38 -0
  171. package/dist/_types/actions/auth/authenticateWithOAuth.d.ts.map +1 -0
  172. package/dist/_types/actions/auth/getAuthProxyConfigId.d.ts +12 -0
  173. package/dist/_types/actions/auth/getAuthProxyConfigId.d.ts.map +1 -0
  174. package/dist/_types/actions/auth/getUserEmail.d.ts +32 -0
  175. package/dist/_types/actions/auth/getUserEmail.d.ts.map +1 -0
  176. package/dist/_types/actions/auth/getWhoami.d.ts +35 -0
  177. package/dist/_types/actions/auth/getWhoami.d.ts.map +1 -0
  178. package/dist/_types/actions/auth/index.d.ts +10 -0
  179. package/dist/_types/actions/auth/index.d.ts.map +1 -0
  180. package/dist/_types/actions/auth/loginWithOTP.d.ts +41 -0
  181. package/dist/_types/actions/auth/loginWithOTP.d.ts.map +1 -0
  182. package/dist/_types/actions/auth/loginWithStamp.d.ts +37 -0
  183. package/dist/_types/actions/auth/loginWithStamp.d.ts.map +1 -0
  184. package/dist/_types/actions/auth/registerWithOTP.d.ts +46 -0
  185. package/dist/_types/actions/auth/registerWithOTP.d.ts.map +1 -0
  186. package/dist/_types/actions/auth/registerWithPasskey.d.ts +53 -0
  187. package/dist/_types/actions/auth/registerWithPasskey.d.ts.map +1 -0
  188. package/dist/_types/actions/index.d.ts +3 -0
  189. package/dist/_types/actions/index.d.ts.map +1 -0
  190. package/dist/_types/actions/wallet/getUserWallet.d.ts +34 -0
  191. package/dist/_types/actions/wallet/getUserWallet.d.ts.map +1 -0
  192. package/dist/_types/actions/wallet/index.d.ts +4 -0
  193. package/dist/_types/actions/wallet/index.d.ts.map +1 -0
  194. package/dist/_types/actions/wallet/signRawPayload.d.ts +39 -0
  195. package/dist/_types/actions/wallet/signRawPayload.d.ts.map +1 -0
  196. package/dist/_types/actions/wallet/signTransaction.d.ts +35 -0
  197. package/dist/_types/actions/wallet/signTransaction.d.ts.map +1 -0
  198. package/dist/_types/adapters/viem.d.ts +10 -0
  199. package/dist/_types/adapters/viem.d.ts.map +1 -0
  200. package/dist/_types/client/authProxy.d.ts +36 -0
  201. package/dist/_types/client/authProxy.d.ts.map +1 -0
  202. package/dist/_types/client/createClient.d.ts +17 -0
  203. package/dist/_types/client/createClient.d.ts.map +1 -0
  204. package/dist/_types/client/decorators/client.d.ts +81 -0
  205. package/dist/_types/client/decorators/client.d.ts.map +1 -0
  206. package/dist/_types/client/index.d.ts +5 -0
  207. package/dist/_types/client/index.d.ts.map +1 -0
  208. package/dist/_types/client/transports/createTransport.d.ts +17 -0
  209. package/dist/_types/client/transports/createTransport.d.ts.map +1 -0
  210. package/dist/_types/client/transports/rest.d.ts +35 -0
  211. package/dist/_types/client/transports/rest.d.ts.map +1 -0
  212. package/dist/_types/client/types.d.ts +59 -0
  213. package/dist/_types/client/types.d.ts.map +1 -0
  214. package/dist/_types/constants.d.ts +6 -0
  215. package/dist/_types/constants.d.ts.map +1 -0
  216. package/dist/_types/core/createZeroDevWallet.d.ts +52 -0
  217. package/dist/_types/core/createZeroDevWallet.d.ts.map +1 -0
  218. package/dist/_types/errors/request.d.ts +12 -0
  219. package/dist/_types/errors/request.d.ts.map +1 -0
  220. package/dist/_types/index.d.ts +20 -0
  221. package/dist/_types/index.d.ts.map +1 -0
  222. package/dist/_types/polyfills/window.d.ts +15 -0
  223. package/dist/_types/polyfills/window.d.ts.map +1 -0
  224. package/dist/_types/stampers/iframeStamper.d.ts +7 -0
  225. package/dist/_types/stampers/iframeStamper.d.ts.map +1 -0
  226. package/dist/_types/stampers/index.d.ts +5 -0
  227. package/dist/_types/stampers/index.d.ts.map +1 -0
  228. package/dist/_types/stampers/indexedDbStamper.d.ts +3 -0
  229. package/dist/_types/stampers/indexedDbStamper.d.ts.map +1 -0
  230. package/dist/_types/stampers/types.d.ts +25 -0
  231. package/dist/_types/stampers/types.d.ts.map +1 -0
  232. package/dist/_types/stampers/webauthnStamper.d.ts +5 -0
  233. package/dist/_types/stampers/webauthnStamper.d.ts.map +1 -0
  234. package/dist/_types/storage/adapters.d.ts +3 -0
  235. package/dist/_types/storage/adapters.d.ts.map +1 -0
  236. package/dist/_types/storage/manager.d.ts +19 -0
  237. package/dist/_types/storage/manager.d.ts.map +1 -0
  238. package/dist/_types/types/session.d.ts +17 -0
  239. package/dist/_types/types/session.d.ts.map +1 -0
  240. package/dist/_types/utils/buildClientSignature.d.ts +25 -0
  241. package/dist/_types/utils/buildClientSignature.d.ts.map +1 -0
  242. package/dist/_types/utils/derToRawSignature.d.ts +11 -0
  243. package/dist/_types/utils/derToRawSignature.d.ts.map +1 -0
  244. package/dist/_types/utils/exportPrivateKey.d.ts +47 -0
  245. package/dist/_types/utils/exportPrivateKey.d.ts.map +1 -0
  246. package/dist/_types/utils/exportWallet.d.ts +44 -0
  247. package/dist/_types/utils/exportWallet.d.ts.map +1 -0
  248. package/dist/_types/utils/utils.d.ts +52 -0
  249. package/dist/_types/utils/utils.d.ts.map +1 -0
  250. package/dist/tsconfig.build.tsbuildinfo +1 -0
  251. package/package.json +74 -0
  252. package/src/actions/auth/authenticateWithEmail.ts +52 -0
  253. package/src/actions/auth/authenticateWithOAuth.ts +52 -0
  254. package/src/actions/auth/getAuthProxyConfigId.ts +20 -0
  255. package/src/actions/auth/getUserEmail.ts +52 -0
  256. package/src/actions/auth/getWhoami.ts +51 -0
  257. package/src/actions/auth/index.ts +47 -0
  258. package/src/actions/auth/loginWithOTP.ts +57 -0
  259. package/src/actions/auth/loginWithStamp.ts +79 -0
  260. package/src/actions/auth/registerWithOTP.ts +64 -0
  261. package/src/actions/auth/registerWithPasskey.ts +72 -0
  262. package/src/actions/index.ts +41 -0
  263. package/src/actions/wallet/getUserWallet.ts +53 -0
  264. package/src/actions/wallet/index.ts +17 -0
  265. package/src/actions/wallet/signRawPayload.ts +75 -0
  266. package/src/actions/wallet/signTransaction.ts +64 -0
  267. package/src/adapters/viem.ts +162 -0
  268. package/src/client/authProxy.ts +78 -0
  269. package/src/client/createClient.ts +90 -0
  270. package/src/client/decorators/client.ts +171 -0
  271. package/src/client/index.ts +19 -0
  272. package/src/client/transports/createTransport.ts +54 -0
  273. package/src/client/transports/rest.ts +138 -0
  274. package/src/client/types.ts +64 -0
  275. package/src/constants.ts +5 -0
  276. package/src/core/createZeroDevWallet.ts +447 -0
  277. package/src/errors/request.ts +36 -0
  278. package/src/index.ts +79 -0
  279. package/src/polyfills/window.ts +24 -0
  280. package/src/stampers/iframeStamper.ts +49 -0
  281. package/src/stampers/index.ts +8 -0
  282. package/src/stampers/indexedDbStamper.ts +22 -0
  283. package/src/stampers/types.ts +35 -0
  284. package/src/stampers/webauthnStamper.ts +21 -0
  285. package/src/storage/adapters.ts +20 -0
  286. package/src/storage/manager.ts +170 -0
  287. package/src/types/session.ts +18 -0
  288. package/src/utils/buildClientSignature.ts +86 -0
  289. package/src/utils/derToRawSignature.ts +103 -0
  290. package/src/utils/exportPrivateKey.ts +116 -0
  291. package/src/utils/exportWallet.ts +130 -0
  292. package/src/utils/utils.ts +136 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/signTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,MAAM,yBAAyB,GAAG;IACtC,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,+BAA+B;IAC/B,OAAO,EAAE,GAAG,CAAA;IACZ,uCAAuC;IACvC,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAwBpC"}
@@ -0,0 +1,10 @@
1
+ import { type LocalAccount } from 'viem';
2
+ import type { ZeroDevWalletClient } from '../client/index.js';
3
+ export interface ToViemAccountParams {
4
+ client: ZeroDevWalletClient;
5
+ organizationId: string;
6
+ projectId: string;
7
+ token: string;
8
+ }
9
+ export declare function toViemAccount(params: ToViemAccountParams): Promise<LocalAccount>;
10
+ //# sourceMappingURL=viem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viem.d.ts","sourceRoot":"","sources":["../../../src/adapters/viem.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EASlB,MAAM,MAAM,CAAA;AAQb,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,mBAAmB,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAkIvB"}
@@ -0,0 +1,36 @@
1
+ export type AuthProxyClientConfig = {
2
+ /** The Auth Proxy Config ID from the backend */
3
+ authProxyConfigId: string;
4
+ /** Optional base URL override (for testing) */
5
+ baseUrl?: string;
6
+ };
7
+ export type AuthProxyVerifyOtpRequest = {
8
+ /** The OTP ID from registration */
9
+ otpId: string;
10
+ /** The OTP code entered by the user */
11
+ otpCode: string;
12
+ /** The public key to associate with the verification */
13
+ public_key: string;
14
+ };
15
+ export type AuthProxyVerifyOtpResponse = {
16
+ /** The verification token to use for login */
17
+ verificationToken: string;
18
+ };
19
+ /**
20
+ * Creates an Auth Proxy client for making requests to Turnkey's Auth Proxy
21
+ *
22
+ * Note: This client only handles OTP verification. The actual OTP login
23
+ * is handled by the backend (/auth/login/otp) which manages sub-organization
24
+ * creation and session handling.
25
+ */
26
+ export declare function createAuthProxyClient(config: AuthProxyClientConfig): {
27
+ /**
28
+ * Verifies an OTP code with Turnkey's Auth Proxy
29
+ *
30
+ * Returns a verificationToken that should be passed to the backend's
31
+ * /auth/login/otp endpoint along with a client signature.
32
+ */
33
+ verifyOtp(params: AuthProxyVerifyOtpRequest): Promise<AuthProxyVerifyOtpResponse>;
34
+ };
35
+ export type AuthProxyClient = ReturnType<typeof createAuthProxyClient>;
36
+ //# sourceMappingURL=authProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authProxy.d.ts","sourceRoot":"","sources":["../../../src/client/authProxy.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG;IAClC,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAA;IACzB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,8CAA8C;IAC9C,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB;IAiC/D;;;;;OAKG;sBAEO,yBAAyB,GAChC,OAAO,CAAC,0BAA0B,CAAC;EAIzC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { type ZeroDevWalletActions } from './decorators/client.js';
2
+ import type { Client, ClientConfig } from './types.js';
3
+ /**
4
+ * Creates a base ZeroDev Wallet client.
5
+ * This is the foundation client without any pre-loaded actions.
6
+ * Use createClient() for a client with ZeroDev Wallet actions pre-loaded.
7
+ */
8
+ export declare function createBaseClient<extended extends Record<string, unknown> | undefined = undefined>(config: ClientConfig): Client<extended>;
9
+ export type ZeroDevWalletClient = Client<ZeroDevWalletActions>;
10
+ /**
11
+ * Creates a ZeroDev Wallet client with ZeroDev Wallet actions pre-loaded.
12
+ * This is equivalent to calling createBaseClient(config).extend(zeroDevWalletActions).
13
+ *
14
+ * For a client without pre-loaded actions, use createBaseClient().
15
+ */
16
+ export declare function createClient(config: ClientConfig): ZeroDevWalletClient;
17
+ //# sourceMappingURL=createClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../../src/client/createClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAItD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,EAChE,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAwDxC;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAE9D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,mBAAmB,CAQtE"}
@@ -0,0 +1,81 @@
1
+ import { type LoginWithStampParameters, type LoginWithStampReturnType } from '../../actions/auth/loginWithStamp.js';
2
+ import { type AuthenticateWithEmailParameters, type AuthenticateWithEmailReturnType, type AuthenticateWithOAuthParameters, type AuthenticateWithOAuthReturnType, type GetAuthProxyConfigIdReturnType, type GetUserEmailParameters, type GetUserEmailReturnType, type GetUserWalletParameters, type GetUserWalletReturnType, type GetWhoamiParameters, type GetWhoamiReturnType, type LoginWithOTPParameters, type LoginWithOTPReturnType, type RegisterWithOTPParameters, type RegisterWithOTPReturnType, type RegisterWithPasskeyParameters, type RegisterWithPasskeyReturnType, type SignRawPayloadParameters, type SignRawPayloadReturnType } from '../../actions/index.js';
3
+ import { type SignTransactionParameters, type SignTransactionReturnType } from '../../actions/wallet/signTransaction.js';
4
+ import type { Client } from '../types.js';
5
+ /**
6
+ * ZeroDev Wallet client actions that can be performed with a client
7
+ */
8
+ export type ZeroDevWalletActions = {
9
+ /**
10
+ * Authenticates a user with their email address
11
+ */
12
+ authenticateWithEmail: (params: AuthenticateWithEmailParameters) => Promise<AuthenticateWithEmailReturnType>;
13
+ /**
14
+ * Authenticates a user with OAuth credentials
15
+ */
16
+ authenticateWithOAuth: (params: AuthenticateWithOAuthParameters) => Promise<AuthenticateWithOAuthReturnType>;
17
+ /**
18
+ * Gets the current user information
19
+ */
20
+ getWhoami: (params: GetWhoamiParameters) => Promise<GetWhoamiReturnType>;
21
+ /**
22
+ * Gets the user's email address
23
+ */
24
+ getUserEmail: (params: GetUserEmailParameters) => Promise<GetUserEmailReturnType>;
25
+ /**
26
+ * Gets the user's wallet information
27
+ */
28
+ getUserWallet: (params: GetUserWalletParameters) => Promise<GetUserWalletReturnType>;
29
+ /**
30
+ * Signs a raw payload with the user's wallet
31
+ */
32
+ signRawPayload: (params: SignRawPayloadParameters) => Promise<SignRawPayloadReturnType>;
33
+ /**
34
+ * Signs a transaction with the user's wallet
35
+ */
36
+ signTransaction: (params: SignTransactionParameters) => Promise<SignTransactionReturnType>;
37
+ /**
38
+ * Registers a passkey with the user's wallet
39
+ */
40
+ registerWithPasskey: (params: RegisterWithPasskeyParameters) => Promise<RegisterWithPasskeyReturnType>;
41
+ /**
42
+ * Logs in a user with a stamp
43
+ */
44
+ loginWithStamp: (params: LoginWithStampParameters) => Promise<LoginWithStampReturnType>;
45
+ /**
46
+ * Registers a user with OTP (One-Time Password) authentication
47
+ */
48
+ registerWithOTP: (params: RegisterWithOTPParameters) => Promise<RegisterWithOTPReturnType>;
49
+ /**
50
+ * Logs in a user with OTP (One-Time Password) authentication
51
+ */
52
+ loginWithOTP: (params: LoginWithOTPParameters) => Promise<LoginWithOTPReturnType>;
53
+ /**
54
+ * Gets the auth proxy config ID from the backend
55
+ */
56
+ getAuthProxyConfigId: () => Promise<GetAuthProxyConfigIdReturnType>;
57
+ };
58
+ /**
59
+ * Decorator function that adds ZeroDev Wallet client actions to a client
60
+ *
61
+ * @param client - The base client to extend
62
+ * @returns An object containing all ZeroDev Wallet client actions bound to the client
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * import { createClient, zeroDevWalletTransport, zeroDevWalletActions } from '@zerodev/wallet-core';
67
+ *
68
+ * const client = createClient({
69
+ * transport: zeroDevWalletTransport({ baseUrl: 'https://api.example.com' }),
70
+ * stamper: myStamper,
71
+ * }).extend(zeroDevWalletActions);
72
+ *
73
+ * // Now you can use actions directly on the client
74
+ * const userInfo = await client.getWhoami({
75
+ * organizationId: 'org_123',
76
+ * projectId: 'proj_456'
77
+ * });
78
+ * ```
79
+ */
80
+ export declare function zeroDevWalletActions(client: Client): ZeroDevWalletActions;
81
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client/decorators/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAE9B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EAGpC,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAKxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE3B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAGlC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAE9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAE/B,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAEjC;;OAEG;IACH,qBAAqB,EAAE,CACrB,MAAM,EAAE,+BAA+B,KACpC,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAE7C;;OAEG;IACH,qBAAqB,EAAE,CACrB,MAAM,EAAE,+BAA+B,KACpC,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAE7C;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAExE;;OAEG;IACH,YAAY,EAAE,CACZ,MAAM,EAAE,sBAAsB,KAC3B,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAGpC;;OAEG;IACH,aAAa,EAAE,CACb,MAAM,EAAE,uBAAuB,KAC5B,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAErC;;OAEG;IACH,cAAc,EAAE,CACd,MAAM,EAAE,wBAAwB,KAC7B,OAAO,CAAC,wBAAwB,CAAC,CAAA;IAEtC;;OAEG;IACH,eAAe,EAAE,CACf,MAAM,EAAE,yBAAyB,KAC9B,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAEvC;;OAEG;IACH,mBAAmB,EAAE,CACnB,MAAM,EAAE,6BAA6B,KAClC,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAE3C;;OAEG;IACH,cAAc,EAAE,CACd,MAAM,EAAE,wBAAwB,KAC7B,OAAO,CAAC,wBAAwB,CAAC,CAAA;IAEtC;;OAEG;IACH,eAAe,EAAE,CACf,MAAM,EAAE,yBAAyB,KAC9B,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAEvC;;OAEG;IACH,YAAY,EAAE,CACZ,MAAM,EAAE,sBAAsB,KAC3B,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAEpC;;OAEG;IACH,oBAAoB,EAAE,MAAM,OAAO,CAAC,8BAA8B,CAAC,CAAA;CACpE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAkBzE"}
@@ -0,0 +1,5 @@
1
+ export { type AuthProxyClient, type AuthProxyClientConfig, type AuthProxyVerifyOtpRequest, type AuthProxyVerifyOtpResponse, createAuthProxyClient, } from './authProxy.js';
2
+ export { createBaseClient, createClient, type ZeroDevWalletClient, } from './createClient.js';
3
+ export { zeroDevWalletTransport } from './transports/createTransport.js';
4
+ export type { Client, ClientConfig, Transport, TransportConfig, } from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,YAAY,EACV,MAAM,EACN,YAAY,EACZ,SAAS,EACT,eAAe,GAChB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { Transport } from '../types.js';
2
+ export type CreateTransportOptions = {
3
+ /** Base URL for the API */
4
+ baseUrl: string;
5
+ /** Request timeout in milliseconds */
6
+ timeoutMs?: number;
7
+ /** Transport key identifier */
8
+ key?: string;
9
+ /** Transport name */
10
+ name?: string;
11
+ };
12
+ /**
13
+ * Creates a transport for the ZeroDev Wallet client.
14
+ * Requires a stamper for authenticated requests.
15
+ */
16
+ export declare function zeroDevWalletTransport(options: CreateTransportOptions): Transport;
17
+ //# sourceMappingURL=createTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTransport.d.ts","sourceRoot":"","sources":["../../../../src/client/transports/createTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C,MAAM,MAAM,sBAAsB,GAAG;IACnC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,sBAAsB,GAC9B,SAAS,CAiCX"}
@@ -0,0 +1,35 @@
1
+ import type { IndexedDbStamper, WebauthnStamper } from '../../stampers/types.js';
2
+ export type RestRequestArgs = {
3
+ path: string;
4
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE';
5
+ body?: any;
6
+ headers?: Record<string, string>;
7
+ stamp?: boolean;
8
+ stampWith?: 'indexedDb' | 'webAuthn';
9
+ stampPostion?: 'body' | 'headers';
10
+ /** Include credentials (cookies) in the request */
11
+ credentials?: RequestCredentials;
12
+ };
13
+ export type RestRequestFn = <T = any>(args: RestRequestArgs) => Promise<T>;
14
+ export type RestTransport = {
15
+ config: {
16
+ key: string;
17
+ name: string;
18
+ url: string;
19
+ timeoutMs: number;
20
+ };
21
+ request: RestRequestFn;
22
+ value: Record<string, unknown>;
23
+ };
24
+ export type RestTransportConfig = {
25
+ fetchOptions?: Omit<RequestInit, 'body' | 'method' | 'signal'>;
26
+ onRequest?: (url: string, init: RequestInit) => Promise<RequestInit | undefined> | RequestInit | undefined;
27
+ onResponse?: (res: Response) => Promise<void> | void;
28
+ timeoutMs?: number;
29
+ key?: string;
30
+ name?: string;
31
+ indexedDbStamper: IndexedDbStamper;
32
+ webauthnStamper: WebauthnStamper;
33
+ };
34
+ export declare function rest(url: string, cfg: RestTransportConfig): RestTransport;
35
+ //# sourceMappingURL=rest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../src/client/transports/rest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEhF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC1C,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,mDAAmD;IACnD,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAE1E,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAA;IAC9D,SAAS,CAAC,EAAE,CACV,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,WAAW,GAAG,SAAS,CAAA;IAC/D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,aAAa,CAmGzE"}
@@ -0,0 +1,59 @@
1
+ import type { IndexedDbStamper, WebauthnStamper } from '../stampers/types.js';
2
+ import type { RestRequestFn } from './transports/rest.js';
3
+ export type TransportConfig = {
4
+ /** The name of the transport. */
5
+ name: string;
6
+ /** The key of the transport. */
7
+ key: string;
8
+ /** Base URL for the API */
9
+ url: string;
10
+ /** Proxy base URL for auth requests */
11
+ proxyBaseUrl?: string;
12
+ /** Request timeout in milliseconds */
13
+ timeoutMs: number;
14
+ /** The type of the transport. */
15
+ type: string;
16
+ };
17
+ export type Transport = (options: {
18
+ indexedDbStamper: IndexedDbStamper;
19
+ webauthnStamper: WebauthnStamper;
20
+ }) => {
21
+ config: TransportConfig;
22
+ request: RestRequestFn;
23
+ value?: Record<string, unknown>;
24
+ };
25
+ export type ClientConfig = {
26
+ transport: Transport;
27
+ indexedDbStamper: IndexedDbStamper;
28
+ webauthnStamper: WebauthnStamper;
29
+ organizationId?: string;
30
+ key?: string;
31
+ name?: string;
32
+ };
33
+ export type Client<extended extends Extended | undefined = undefined> = {
34
+ /** Transport configuration */
35
+ transport: TransportConfig & Record<string, unknown>;
36
+ /** Request function from transport */
37
+ request: RestRequestFn;
38
+ /** IndexedDB Stamper for authenticated requests */
39
+ indexedDbStamper: IndexedDbStamper;
40
+ /** WebAuthn Stamper for authenticated requests */
41
+ webauthnStamper: WebauthnStamper;
42
+ /** Organization ID */
43
+ organizationId?: string;
44
+ /** A key for the client */
45
+ key: string;
46
+ /** A name for the client */
47
+ name: string;
48
+ /** The type of client */
49
+ type: string;
50
+ /** A unique ID for the client */
51
+ uid: string;
52
+ /** Extend the client with additional functionality */
53
+ extend: <const client extends Extended>(fn: (client: Client<extended>) => client) => Client<client & (extended extends Extended ? extended : unknown)>;
54
+ } & (extended extends Extended ? extended : unknown);
55
+ type Extended = {
56
+ [key: string]: unknown;
57
+ };
58
+ export {};
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG;IAC5B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAChC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;CACjC,KAAK;IACJ,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,QAAQ,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,IAAI;IACtE,8BAA8B;IAC9B,SAAS,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpD,sCAAsC;IACtC,OAAO,EAAE,aAAa,CAAA;IACtB,mDAAmD;IACnD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,kDAAkD;IAClD,eAAe,EAAE,eAAe,CAAA;IAChC,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,sDAAsD;IACtD,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,SAAS,QAAQ,EACpC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,KACrC,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAA;CACvE,GAAG,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;AAEpD,KAAK,QAAQ,GAAG;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const DEFAULT_SESSION_EXPIRATION_IN_SECONDS = "900";
2
+ export declare const DEFAULT_IFRAME_CONTAINER_ID = "turnkey-auth-iframe-container-id";
3
+ export declare const DEFAULT_IFRAME_ELEMENT_ID = "turnkey-default-iframe-element-id";
4
+ export declare const DEFAULT_ORGANIZATION_ID = "0d98e826-dd8f-44ca-a585-3afcd27d4002";
5
+ export declare const KMS_SERVER_URL = "https://kms.staging.zerodev.app";
6
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qCAAqC,QAAQ,CAAA;AAC1D,eAAO,MAAM,2BAA2B,qCAAqC,CAAA;AAC7E,eAAO,MAAM,yBAAyB,sCAAsC,CAAA;AAC5E,eAAO,MAAM,uBAAuB,yCAAyC,CAAA;AAC7E,eAAO,MAAM,cAAc,oCAAoC,CAAA"}
@@ -0,0 +1,52 @@
1
+ import type { LocalAccount } from 'viem/accounts';
2
+ import type { EmailCustomization } from '../actions/auth/index.js';
3
+ import { type ZeroDevWalletClient } from '../client/index.js';
4
+ import { type StorageAdapter } from '../storage/manager.js';
5
+ import { type ZeroDevWalletSession } from '../types/session.js';
6
+ export interface ZeroDevWalletConfig {
7
+ organizationId?: string;
8
+ proxyBaseUrl?: string;
9
+ projectId: string;
10
+ sessionStorage?: StorageAdapter;
11
+ rpId?: string;
12
+ }
13
+ export type { EmailCustomization } from '../actions/auth/index.js';
14
+ export type { StorageAdapter, StorageManager } from '../storage/manager.js';
15
+ export type { StamperType, ZeroDevWalletSession } from '../types/session.js';
16
+ export type AuthParams = {
17
+ type: 'oauth';
18
+ provider: string;
19
+ } | {
20
+ type: 'passkey';
21
+ email: string;
22
+ mode: 'register' | 'login';
23
+ } | {
24
+ type: 'otp';
25
+ mode: 'sendOtp';
26
+ email: string;
27
+ contact: {
28
+ type: 'email' | 'sms';
29
+ contact: string;
30
+ };
31
+ emailCustomization?: EmailCustomization;
32
+ } | {
33
+ type: 'otp';
34
+ mode: 'verifyOtp';
35
+ otpId: string;
36
+ otpCode: string;
37
+ };
38
+ export interface ZeroDevWalletSDK {
39
+ client: ZeroDevWalletClient;
40
+ auth: (params: AuthParams) => Promise<any>;
41
+ getPublicKey: () => Promise<string | null>;
42
+ getSession: () => Promise<ZeroDevWalletSession | undefined>;
43
+ getAllSessions: () => Promise<Record<string, ZeroDevWalletSession>>;
44
+ switchSession: (sessionId: string) => Promise<ZeroDevWalletSession | undefined>;
45
+ clearSession: (sessionId: string) => Promise<void>;
46
+ clearAllSessions: () => Promise<void>;
47
+ refreshSession: (sessionId?: string) => Promise<ZeroDevWalletSession | undefined>;
48
+ logout: () => Promise<boolean>;
49
+ toAccount: () => Promise<LocalAccount>;
50
+ }
51
+ export declare function createZeroDevWallet(config: ZeroDevWalletConfig): Promise<ZeroDevWalletSDK>;
52
+ //# sourceMappingURL=createZeroDevWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createZeroDevWallet.d.ts","sourceRoot":"","sources":["../../../src/core/createZeroDevWallet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAElE,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,oBAAoB,CAAA;AAS3B,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAS5E,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3E,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE5E,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,GAAG,OAAO,CAAA;CAC3B,GACD;IACE,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,GAAG,KAAK,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC,GACD;IACE,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAEL,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,mBAAmB,CAAA;IAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAE1C,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAE1C,UAAU,EAAE,MAAM,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IAC3D,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACnE,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IAC9C,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,cAAc,EAAE,CACd,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IAE9C,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAE9B,SAAS,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;CACvC;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CA8V3B"}
@@ -0,0 +1,12 @@
1
+ export declare class RestRequestError extends Error {
2
+ url: string;
3
+ status?: number | undefined;
4
+ body?: unknown | undefined;
5
+ cause?: unknown | undefined;
6
+ constructor(url: string, status?: number | undefined, body?: unknown | undefined, cause?: unknown | undefined);
7
+ }
8
+ export declare class RestTimeoutError extends Error {
9
+ url: string;
10
+ constructor(url: string);
11
+ }
12
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/errors/request.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAiB,SAAQ,KAAK;IAEhC,GAAG,EAAE,MAAM;IACX,MAAM,CAAC,EAAE,MAAM;IACf,IAAI,CAAC,EAAE,OAAO;IACL,KAAK,CAAC,EAAE,OAAO;gBAHxB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,OAAO,YAAA,EACL,KAAK,CAAC,EAAE,OAAO,YAAA;CAuBlC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACtB,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;CAI/B"}
@@ -0,0 +1,20 @@
1
+ export type { AuthenticateWithEmailParameters, AuthenticateWithEmailReturnType, AuthenticateWithOAuthParameters, AuthenticateWithOAuthReturnType, EmailCustomization, GetUserWalletParameters, GetUserWalletReturnType, GetWhoamiParameters, GetWhoamiReturnType, LoginWithOTPParameters, LoginWithOTPReturnType, OtpContact, RegisterWithOTPParameters, RegisterWithOTPReturnType, SignRawPayloadParameters, SignRawPayloadReturnType, SignTransactionParameters, SignTransactionReturnType, } from './actions/index.js';
2
+ export { authenticateWithEmail, authenticateWithOAuth, getUserWallet, getWhoami, loginWithOTP, registerWithOTP, signRawPayload, signTransaction, } from './actions/index.js';
3
+ export type { ToViemAccountParams } from './adapters/viem.js';
4
+ export { toViemAccount } from './adapters/viem.js';
5
+ export type { ZeroDevWalletActions } from './client/decorators/client.js';
6
+ export { zeroDevWalletActions } from './client/decorators/client.js';
7
+ export type { Client, ClientConfig, Transport } from './client/index.js';
8
+ export { createBaseClient, createClient, type ZeroDevWalletClient, zeroDevWalletTransport, } from './client/index.js';
9
+ export { KMS_SERVER_URL } from './constants.js';
10
+ export type { AuthParams, ZeroDevWalletConfig, ZeroDevWalletSDK, } from './core/createZeroDevWallet.js';
11
+ export { createZeroDevWallet } from './core/createZeroDevWallet.js';
12
+ export { createIframeStamper, createIndexedDbStamper, createWebauthnStamper, } from './stampers/index.js';
13
+ export type { IframeStamper, IndexedDbStamper, WebauthnStamper, } from './stampers/types.js';
14
+ export type { StorageAdapter, StorageManager } from './storage/manager.js';
15
+ export type { StamperType, ZeroDevWalletSession } from './types/session.js';
16
+ export type { KeyFormat } from './utils/exportPrivateKey.js';
17
+ export { exportPrivateKey } from './utils/exportPrivateKey.js';
18
+ export { exportWallet } from './utils/exportWallet.js';
19
+ export { normalizeTimestamp } from './utils/utils.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAEV,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,kBAAkB,EAElB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EAErB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAExE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,KAAK,mBAAmB,EACxB,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAE5B,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1E,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,15 @@
1
+ declare const _default: (Window & typeof globalThis) | {
2
+ localStorage: {
3
+ getItem: (_key: string) => string | null;
4
+ setItem: (_key: string, _value: string) => void;
5
+ removeItem: (_key: string) => void;
6
+ clear: () => void;
7
+ key: (_index: number) => string | null;
8
+ length: number;
9
+ };
10
+ location: {
11
+ hostname: string;
12
+ };
13
+ };
14
+ export default _default;
15
+ //# sourceMappingURL=window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/polyfills/window.ts"],"names":[],"mappings":";;wBAMsB,MAAM,KAAG,MAAM,GAAG,IAAI;wBAGtB,MAAM,UAAU,MAAM;2BACnB,MAAM;;sBAEX,MAAM,KAAG,MAAM,GAAG,IAAI;;;;;;;AAW1C,wBAA2B"}
@@ -0,0 +1,7 @@
1
+ import type { IframeStamper } from './types.js';
2
+ export declare function createIframeStamper(cfg: {
3
+ iframeUrl: string;
4
+ iframeContainer: HTMLElement | null | undefined;
5
+ iframeElementId: string;
6
+ }): Promise<IframeStamper>;
7
+ //# sourceMappingURL=iframeStamper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframeStamper.d.ts","sourceRoot":"","sources":["../../../src/stampers/iframeStamper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,YAAY,CAAA;AAE3E,wBAAsB,mBAAmB,CAAC,GAAG,EAAE;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAA;IAC/C,eAAe,EAAE,MAAM,CAAA;CACxB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsCzB"}
@@ -0,0 +1,5 @@
1
+ export { createIframeStamper } from './iframeStamper.js';
2
+ export { createIndexedDbStamper } from './indexedDbStamper.js';
3
+ export type { IframeStamper, IndexedDbStamper, WebauthnStamper, } from './types.js';
4
+ export { createWebauthnStamper } from './webauthnStamper.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/stampers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { IndexedDbStamper } from './types.js';
2
+ export declare function createIndexedDbStamper(): Promise<IndexedDbStamper>;
3
+ //# sourceMappingURL=indexedDbStamper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexedDbStamper.d.ts","sourceRoot":"","sources":["../../../src/stampers/indexedDbStamper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAkBxE"}
@@ -0,0 +1,25 @@
1
+ /** Base stamper that transport depends on */
2
+ export type Stamp = {
3
+ stampHeaderName: string;
4
+ stampHeaderValue: string;
5
+ };
6
+ export type Stamper = {
7
+ /** retrieve public key compressed or otherwise as per the stamper */
8
+ getPublicKey: () => Promise<string | null>;
9
+ /** produce Turnkey header value for a given request body */
10
+ stamp: (payload: string) => Promise<Stamp>;
11
+ /** clear local state (embedded key, IDB keypair, etc.) */
12
+ clear: () => Promise<void>;
13
+ };
14
+ export type KeyFormat = 'Hexadecimal' | 'Solana';
15
+ export type IframeStamper = Stamper & {
16
+ init(): Promise<string>;
17
+ injectCredentialBundle(bundle: string): Promise<boolean>;
18
+ injectWalletExportBundle(bundle: string, organizationId: string): Promise<boolean>;
19
+ injectKeyExportBundle(bundle: string, organizationId: string, keyFormat?: KeyFormat): Promise<boolean>;
20
+ };
21
+ export type IndexedDbStamper = Stamper & {
22
+ resetKeyPair: (externalKeyPair?: CryptoKeyPair) => Promise<void>;
23
+ };
24
+ export type WebauthnStamper = Stamper;
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/stampers/types.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,MAAM,KAAK,GAAG;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,qEAAqE;IACrE,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC1C,4DAA4D;IAC5D,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;IAC1C,0DAA0D;IAC1D,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAA;AAEhD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IACpC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACvB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACxD,wBAAwB,CACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,OAAO,CAAC,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG;IACvC,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACjE,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { WebauthnStamper } from './types.js';
2
+ export declare function createWebauthnStamper({ rpId, }: {
3
+ rpId: string;
4
+ }): Promise<WebauthnStamper>;
5
+ //# sourceMappingURL=webauthnStamper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webauthnStamper.d.ts","sourceRoot":"","sources":["../../../src/stampers/webauthnStamper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,wBAAsB,qBAAqB,CAAC,EAC1C,IAAI,GACL,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,eAAe,CAAC,CAa3B"}
@@ -0,0 +1,3 @@
1
+ import type { StorageAdapter } from './manager.js';
2
+ export declare function createWebStorageAdapter(storage?: Storage): StorageAdapter;
3
+ //# sourceMappingURL=adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,OAAoC,GAC5C,cAAc,CAchB"}
@@ -0,0 +1,19 @@
1
+ import type { ZeroDevWalletSession } from '../types/session.js';
2
+ export type StorageAdapter = {
3
+ getItem(key: string): string | null | Promise<string | null>;
4
+ setItem(key: string, value: string): void | Promise<void>;
5
+ removeItem(key: string): void | Promise<void>;
6
+ };
7
+ export type StorageManager = {
8
+ storeSession(sessionData: ZeroDevWalletSession, sessionKey: string): Promise<void>;
9
+ getActiveSession(): Promise<ZeroDevWalletSession | undefined>;
10
+ getActiveSessionKey(): Promise<string | undefined>;
11
+ getSession(sessionKey: string): Promise<ZeroDevWalletSession | undefined>;
12
+ listSessionKeys(): Promise<string[]>;
13
+ listSessions(): Promise<ZeroDevWalletSession[]>;
14
+ setActiveSession(sessionKey: string): Promise<void>;
15
+ clearSession(sessionKey: string): Promise<void>;
16
+ clearAllSessions(): Promise<void>;
17
+ };
18
+ export declare function createStorageManager(adapter: StorageAdapter): StorageManager;
19
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/storage/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG/D,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC5D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,CACV,WAAW,EAAE,oBAAoB,EACjC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,gBAAgB,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IAC7D,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAClD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACzE,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACpC,YAAY,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAC/C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAClC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAiJ5E"}
@@ -0,0 +1,17 @@
1
+ export declare enum SessionType {
2
+ READ_ONLY = "SESSION_TYPE_READ_ONLY",
3
+ READ_WRITE = "SESSION_TYPE_READ_WRITE"
4
+ }
5
+ export type StamperType = 'iframe' | 'indexedDb' | 'passkey';
6
+ export type ZeroDevWalletSession = {
7
+ id: string;
8
+ userId: string;
9
+ organizationId: string;
10
+ stamperType: StamperType;
11
+ sessionType?: SessionType;
12
+ token?: string;
13
+ publicKey?: string;
14
+ expiry: number;
15
+ createdAt: number;
16
+ };
17
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/types/session.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,SAAS,2BAA2B;IACpC,UAAU,4BAA4B;CACvC;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import type { IndexedDbStamper } from '../stampers/types.js';
2
+ export type BuildClientSignatureParams = {
3
+ /** The verification token JWT from Auth Proxy's verifyOtp */
4
+ verificationToken: string;
5
+ /** The compressed public key hex */
6
+ publicKey: string;
7
+ /** The IndexedDB stamper for signing */
8
+ stamper: IndexedDbStamper;
9
+ };
10
+ /**
11
+ * Builds a client signature for OTP login.
12
+ *
13
+ * Steps:
14
+ * 1. Decode verificationToken JWT to extract `id` field as tokenId
15
+ * 2. Build message: JSON.stringify({ login: { publicKey }, tokenId, type: "USAGE_TYPE_LOGIN" })
16
+ * 3. Sign message with stamper → get stampHeaderValue
17
+ * 4. Parse stampHeaderValue → extract DER signature hex
18
+ * 5. Convert DER to raw r||s format
19
+ * 6. Return raw signature hex
20
+ *
21
+ * @param params - The parameters for building the client signature
22
+ * @returns The raw r||s signature hex (64 bytes = 128 chars)
23
+ */
24
+ export declare function buildClientSignature(params: BuildClientSignatureParams): Promise<string>;
25
+ //# sourceMappingURL=buildClientSignature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildClientSignature.d.ts","sourceRoot":"","sources":["../../../src/utils/buildClientSignature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,MAAM,MAAM,0BAA0B,GAAG;IACvC,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAA;IACzB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,wCAAwC;IACxC,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,MAAM,CAAC,CA2BjB"}