zksync-sso 0.0.0-beta.1 → 0.0.0-beta.11

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 (315) hide show
  1. package/.npmignore +7 -0
  2. package/README.md +97 -2
  3. package/dist/_cjs/abi/{Factory.js → AAFactory.js} +31 -89
  4. package/dist/_cjs/abi/AAFactory.js.map +1 -0
  5. package/dist/_cjs/abi/{SessionKeyModule.js → SessionKeyValidator.js} +223 -195
  6. package/dist/_cjs/abi/SessionKeyValidator.js.map +1 -0
  7. package/dist/_cjs/abi/WebAuthValidator.js +381 -0
  8. package/dist/_cjs/abi/WebAuthValidator.js.map +1 -0
  9. package/dist/_cjs/abi/index.js +10 -0
  10. package/dist/_cjs/abi/index.js.map +1 -0
  11. package/dist/_cjs/client/index.js +2 -2
  12. package/dist/_cjs/client/index.js.map +1 -1
  13. package/dist/_cjs/client/{smart-account.js → passkey/account.js} +5 -6
  14. package/dist/_cjs/client/passkey/account.js.map +1 -0
  15. package/dist/_cjs/client/{actions → passkey/actions}/account.js +36 -35
  16. package/dist/_cjs/client/passkey/actions/account.js.map +1 -0
  17. package/dist/_cjs/client/{actions → passkey/actions}/passkey.js +2 -0
  18. package/dist/_cjs/client/passkey/actions/passkey.js.map +1 -0
  19. package/dist/_cjs/client/{clients/passkey.js → passkey/client.js} +10 -10
  20. package/dist/_cjs/client/passkey/client.js.map +1 -0
  21. package/dist/_cjs/client/{decorators → passkey/decorators}/passkey.js +7 -1
  22. package/dist/_cjs/client/passkey/decorators/passkey.js.map +1 -0
  23. package/dist/_cjs/client/passkey/decorators/wallet.js +47 -0
  24. package/dist/_cjs/client/passkey/decorators/wallet.js.map +1 -0
  25. package/dist/_cjs/client/{passkey.js → passkey/index.js} +3 -2
  26. package/dist/_cjs/client/passkey/index.js.map +1 -0
  27. package/dist/_cjs/client/session/account.js +44 -0
  28. package/dist/_cjs/client/session/account.js.map +1 -0
  29. package/dist/_cjs/client/session/actions/sendEip712Transaction.js +45 -0
  30. package/dist/_cjs/client/session/actions/sendEip712Transaction.js.map +1 -0
  31. package/dist/_cjs/client/session/actions/session.js +64 -0
  32. package/dist/_cjs/client/session/actions/session.js.map +1 -0
  33. package/dist/_cjs/client/session/client.js +75 -0
  34. package/dist/_cjs/client/session/client.js.map +1 -0
  35. package/dist/_cjs/client/session/decorators/publicActionsRewrite.js +58 -0
  36. package/dist/_cjs/client/session/decorators/publicActionsRewrite.js.map +1 -0
  37. package/dist/_cjs/client/session/decorators/wallet.js +47 -0
  38. package/dist/_cjs/client/session/decorators/wallet.js.map +1 -0
  39. package/dist/_cjs/client-auth-server/Signer.js +64 -19
  40. package/dist/_cjs/client-auth-server/Signer.js.map +1 -1
  41. package/dist/_cjs/client-auth-server/WalletProvider.js +6 -1
  42. package/dist/_cjs/client-auth-server/WalletProvider.js.map +1 -1
  43. package/dist/_cjs/client-auth-server/index.js +1 -1
  44. package/dist/_cjs/client-auth-server/index.js.map +1 -1
  45. package/dist/_cjs/client-auth-server/session/index.js +152 -0
  46. package/dist/_cjs/client-auth-server/session/index.js.map +1 -0
  47. package/dist/_cjs/client-auth-server/session/type-utils.js +3 -0
  48. package/dist/_cjs/client-auth-server/session/type-utils.js.map +1 -0
  49. package/dist/_cjs/client-auth-server/session/utils.js +140 -0
  50. package/dist/_cjs/client-auth-server/session/utils.js.map +1 -0
  51. package/dist/_cjs/connector/index.js +38 -9
  52. package/dist/_cjs/connector/index.js.map +1 -1
  53. package/dist/_cjs/errors/errors.js +2 -1
  54. package/dist/_cjs/errors/errors.js.map +1 -1
  55. package/dist/_cjs/paymaster/handlers/general.js +13 -0
  56. package/dist/_cjs/paymaster/handlers/general.js.map +1 -0
  57. package/dist/_cjs/{client/actions → paymaster/handlers}/index.js +2 -2
  58. package/dist/_cjs/paymaster/handlers/index.js.map +1 -0
  59. package/dist/_cjs/paymaster/handlers/zyfi.js +57 -0
  60. package/dist/_cjs/paymaster/handlers/zyfi.js.map +1 -0
  61. package/dist/_cjs/paymaster/index.js +54 -0
  62. package/dist/_cjs/paymaster/index.js.map +1 -0
  63. package/dist/_cjs/utils/encoding.js +35 -11
  64. package/dist/_cjs/utils/encoding.js.map +1 -1
  65. package/dist/_cjs/utils/passkey.js +4 -2
  66. package/dist/_cjs/utils/passkey.js.map +1 -1
  67. package/dist/_cjs/utils/session.js +35 -1
  68. package/dist/_cjs/utils/session.js.map +1 -1
  69. package/dist/_esm/abi/{Factory.js → AAFactory.js} +30 -88
  70. package/dist/_esm/abi/AAFactory.js.map +1 -0
  71. package/dist/_esm/abi/{SessionKeyModule.js → SessionKeyValidator.js} +222 -194
  72. package/dist/_esm/abi/SessionKeyValidator.js.map +1 -0
  73. package/dist/_esm/abi/WebAuthValidator.js +378 -0
  74. package/dist/_esm/abi/WebAuthValidator.js.map +1 -0
  75. package/dist/_esm/abi/index.js +4 -0
  76. package/dist/_esm/abi/index.js.map +1 -0
  77. package/dist/_esm/client/index.js +2 -2
  78. package/dist/_esm/client/index.js.map +1 -1
  79. package/dist/_esm/client/{smart-account.js → passkey/account.js} +4 -9
  80. package/dist/_esm/client/passkey/account.js.map +1 -0
  81. package/dist/_esm/client/{actions → passkey/actions}/account.js +37 -36
  82. package/dist/_esm/client/passkey/actions/account.js.map +1 -0
  83. package/dist/_esm/client/{actions → passkey/actions}/passkey.js +2 -0
  84. package/dist/_esm/client/passkey/actions/passkey.js.map +1 -0
  85. package/dist/_esm/client/{clients/passkey.js → passkey/client.js} +10 -10
  86. package/dist/_esm/client/passkey/client.js.map +1 -0
  87. package/dist/_esm/client/passkey/decorators/passkey.js +19 -0
  88. package/dist/_esm/client/passkey/decorators/passkey.js.map +1 -0
  89. package/dist/_esm/client/passkey/decorators/wallet.js +47 -0
  90. package/dist/_esm/client/passkey/decorators/wallet.js.map +1 -0
  91. package/dist/_esm/client/passkey/index.js +5 -0
  92. package/dist/_esm/client/passkey/index.js.map +1 -0
  93. package/dist/_esm/client/session/account.js +41 -0
  94. package/dist/_esm/client/session/account.js.map +1 -0
  95. package/dist/_esm/client/session/actions/sendEip712Transaction.js +93 -0
  96. package/dist/_esm/client/session/actions/sendEip712Transaction.js.map +1 -0
  97. package/dist/_esm/client/session/actions/session.js +61 -0
  98. package/dist/_esm/client/session/actions/session.js.map +1 -0
  99. package/dist/_esm/client/session/client.js +72 -0
  100. package/dist/_esm/client/session/client.js.map +1 -0
  101. package/dist/_esm/client/session/decorators/publicActionsRewrite.js +55 -0
  102. package/dist/_esm/client/session/decorators/publicActionsRewrite.js.map +1 -0
  103. package/dist/_esm/client/{decorators/session_wallet.js → session/decorators/wallet.js} +32 -28
  104. package/dist/_esm/client/session/decorators/wallet.js.map +1 -0
  105. package/dist/_esm/client-auth-server/Signer.js +70 -21
  106. package/dist/_esm/client-auth-server/Signer.js.map +1 -1
  107. package/dist/_esm/client-auth-server/WalletProvider.js +6 -1
  108. package/dist/_esm/client-auth-server/WalletProvider.js.map +1 -1
  109. package/dist/_esm/client-auth-server/index.js +1 -1
  110. package/dist/_esm/client-auth-server/index.js.map +1 -1
  111. package/dist/_esm/client-auth-server/session/index.js +151 -0
  112. package/dist/_esm/client-auth-server/session/index.js.map +1 -0
  113. package/dist/_esm/client-auth-server/session/type-utils.js +2 -0
  114. package/dist/_esm/client-auth-server/session/type-utils.js.map +1 -0
  115. package/dist/_esm/client-auth-server/session/utils.js +135 -0
  116. package/dist/_esm/client-auth-server/session/utils.js.map +1 -0
  117. package/dist/_esm/connector/index.js +34 -9
  118. package/dist/_esm/connector/index.js.map +1 -1
  119. package/dist/_esm/errors/errors.js +1 -1
  120. package/dist/_esm/errors/errors.js.map +1 -1
  121. package/dist/_esm/paymaster/handlers/general.js +11 -0
  122. package/dist/_esm/paymaster/handlers/general.js.map +1 -0
  123. package/dist/_esm/paymaster/handlers/index.js +3 -0
  124. package/dist/_esm/paymaster/handlers/index.js.map +1 -0
  125. package/dist/_esm/paymaster/handlers/zyfi.js +54 -0
  126. package/dist/_esm/paymaster/handlers/zyfi.js.map +1 -0
  127. package/dist/_esm/paymaster/index.js +37 -0
  128. package/dist/_esm/paymaster/index.js.map +1 -0
  129. package/dist/_esm/utils/encoding.js +34 -11
  130. package/dist/_esm/utils/encoding.js.map +1 -1
  131. package/dist/_esm/utils/passkey.js +5 -3
  132. package/dist/_esm/utils/passkey.js.map +1 -1
  133. package/dist/_esm/utils/session.js +33 -1
  134. package/dist/_esm/utils/session.js.map +1 -1
  135. package/dist/_types/abi/{Factory.d.ts → AAFactory.d.ts} +29 -75
  136. package/dist/_types/abi/AAFactory.d.ts.map +1 -0
  137. package/dist/_types/abi/{SessionKeyModule.d.ts → SessionKeyValidator.d.ts} +171 -153
  138. package/dist/_types/abi/{SessionKeyModule.d.ts.map → SessionKeyValidator.d.ts.map} +1 -1
  139. package/dist/_types/abi/WebAuthValidator.d.ts +291 -0
  140. package/dist/_types/abi/WebAuthValidator.d.ts.map +1 -0
  141. package/dist/_types/abi/index.d.ts +4 -0
  142. package/dist/_types/abi/index.d.ts.map +1 -0
  143. package/dist/_types/client/index.d.ts +2 -2
  144. package/dist/_types/client/index.d.ts.map +1 -1
  145. package/dist/_types/client/passkey/account.d.ts +14 -0
  146. package/dist/_types/client/passkey/account.d.ts.map +1 -0
  147. package/dist/_types/client/{actions → passkey/actions}/account.d.ts +2 -2
  148. package/dist/_types/client/passkey/actions/account.d.ts.map +1 -0
  149. package/dist/_types/client/passkey/actions/passkey.d.ts.map +1 -0
  150. package/dist/_types/client/{clients/passkey.d.ts → passkey/client.d.ts} +5 -7
  151. package/dist/_types/client/passkey/client.d.ts.map +1 -0
  152. package/dist/_types/client/{decorators → passkey/decorators}/passkey.d.ts +3 -2
  153. package/dist/_types/client/passkey/decorators/passkey.d.ts.map +1 -0
  154. package/dist/_types/client/passkey/decorators/wallet.d.ts +5 -0
  155. package/dist/_types/client/passkey/decorators/wallet.d.ts.map +1 -0
  156. package/dist/_types/client/passkey/index.d.ts +5 -0
  157. package/dist/_types/client/passkey/index.d.ts.map +1 -0
  158. package/dist/_types/client/session/account.d.ts +16 -0
  159. package/dist/_types/client/session/account.d.ts.map +1 -0
  160. package/dist/_types/client/session/actions/sendEip712Transaction.d.ts +60 -0
  161. package/dist/_types/client/session/actions/sendEip712Transaction.d.ts.map +1 -0
  162. package/dist/_types/client/session/actions/session.d.ts +36 -0
  163. package/dist/_types/client/session/actions/session.d.ts.map +1 -0
  164. package/dist/_types/client/{clients/session.d.ts → session/client.d.ts} +14 -4
  165. package/dist/_types/client/session/client.d.ts.map +1 -0
  166. package/dist/_types/client/session/decorators/publicActionsRewrite.d.ts +4 -0
  167. package/dist/_types/client/session/decorators/publicActionsRewrite.d.ts.map +1 -0
  168. package/dist/_types/client/{decorators/session_wallet.d.ts → session/decorators/wallet.d.ts} +4 -4
  169. package/dist/_types/client/session/decorators/wallet.d.ts.map +1 -0
  170. package/dist/_types/client-auth-server/Signer.d.ts +4850 -4
  171. package/dist/_types/client-auth-server/Signer.d.ts.map +1 -1
  172. package/dist/_types/client-auth-server/WalletProvider.d.ts +4842 -2
  173. package/dist/_types/client-auth-server/WalletProvider.d.ts.map +1 -1
  174. package/dist/_types/client-auth-server/index.d.ts +1 -1
  175. package/dist/_types/client-auth-server/index.d.ts.map +1 -1
  176. package/dist/_types/client-auth-server/interface.d.ts +6 -1
  177. package/dist/_types/client-auth-server/interface.d.ts.map +1 -1
  178. package/dist/_types/client-auth-server/rpc.d.ts +3 -3
  179. package/dist/_types/client-auth-server/rpc.d.ts.map +1 -1
  180. package/dist/_types/client-auth-server/session/index.d.ts +56 -0
  181. package/dist/_types/client-auth-server/session/index.d.ts.map +1 -0
  182. package/dist/_types/client-auth-server/session/type-utils.d.ts +15 -0
  183. package/dist/_types/client-auth-server/session/type-utils.d.ts.map +1 -0
  184. package/dist/_types/client-auth-server/session/utils.d.ts +11 -0
  185. package/dist/_types/client-auth-server/session/utils.d.ts.map +1 -0
  186. package/dist/_types/connector/index.d.ts +13 -0
  187. package/dist/_types/connector/index.d.ts.map +1 -1
  188. package/dist/_types/errors/errors.d.ts +1 -1
  189. package/dist/_types/errors/errors.d.ts.map +1 -1
  190. package/dist/_types/index.d.ts +1 -1
  191. package/dist/_types/index.d.ts.map +1 -1
  192. package/dist/_types/paymaster/handlers/general.d.ts +4 -0
  193. package/dist/_types/paymaster/handlers/general.d.ts.map +1 -0
  194. package/dist/_types/paymaster/handlers/index.d.ts +3 -0
  195. package/dist/_types/paymaster/handlers/index.d.ts.map +1 -0
  196. package/dist/_types/paymaster/handlers/zyfi.d.ts +18 -0
  197. package/dist/_types/paymaster/handlers/zyfi.d.ts.map +1 -0
  198. package/dist/_types/paymaster/index.d.ts +29 -0
  199. package/dist/_types/paymaster/index.d.ts.map +1 -0
  200. package/dist/_types/utils/encoding.d.ts +8 -1
  201. package/dist/_types/utils/encoding.d.ts.map +1 -1
  202. package/dist/_types/utils/passkey.d.ts +2 -2
  203. package/dist/_types/utils/passkey.d.ts.map +1 -1
  204. package/dist/_types/utils/session.d.ts +34 -1
  205. package/dist/_types/utils/session.d.ts.map +1 -1
  206. package/package.json +29 -22
  207. package/prepare-package.mjs +2 -6
  208. package/src/abi/{Factory.ts → AAFactory.ts} +29 -87
  209. package/src/abi/{SessionKeyModule.ts → SessionKeyValidator.ts} +221 -193
  210. package/src/abi/WebAuthValidator.ts +377 -0
  211. package/src/abi/index.ts +3 -0
  212. package/src/client/index.ts +2 -2
  213. package/src/client/{smart-account.ts → passkey/account.ts} +8 -17
  214. package/src/client/{actions → passkey/actions}/account.ts +41 -39
  215. package/src/client/{actions → passkey/actions}/passkey.ts +2 -0
  216. package/src/client/{clients/passkey.ts → passkey/client.ts} +15 -14
  217. package/src/client/{decorators → passkey/decorators}/passkey.ts +12 -2
  218. package/src/client/passkey/decorators/wallet.ts +73 -0
  219. package/src/client/{passkey.ts → passkey/index.ts} +2 -1
  220. package/src/client/session/account.ts +59 -0
  221. package/src/client/session/actions/sendEip712Transaction.ts +149 -0
  222. package/src/client/session/actions/session.ts +121 -0
  223. package/src/client/{clients/session.ts → session/client.ts} +64 -23
  224. package/src/client/session/decorators/publicActionsRewrite.ts +63 -0
  225. package/src/client/{decorators/session_wallet.ts → session/decorators/wallet.ts} +56 -32
  226. package/src/client-auth-server/Signer.ts +78 -23
  227. package/src/client-auth-server/WalletProvider.ts +10 -2
  228. package/src/client-auth-server/index.ts +1 -1
  229. package/src/client-auth-server/interface.ts +4 -1
  230. package/src/client-auth-server/rpc.ts +3 -3
  231. package/src/client-auth-server/session/index.ts +229 -0
  232. package/src/client-auth-server/session/type-utils.ts +22 -0
  233. package/src/client-auth-server/session/utils.ts +149 -0
  234. package/src/connector/index.ts +64 -4
  235. package/src/errors/errors.ts +1 -1
  236. package/src/index.ts +1 -1
  237. package/src/paymaster/handlers/general.ts +14 -0
  238. package/src/paymaster/handlers/index.ts +2 -0
  239. package/src/paymaster/handlers/zyfi.ts +108 -0
  240. package/src/paymaster/index.ts +76 -0
  241. package/src/utils/encoding.ts +47 -13
  242. package/src/utils/passkey.ts +6 -3
  243. package/src/utils/session.ts +67 -1
  244. package/tsconfig.base.json +1 -1
  245. package/dist/_cjs/abi/Factory.js.map +0 -1
  246. package/dist/_cjs/abi/SessionKeyModule.js.map +0 -1
  247. package/dist/_cjs/client/actions/account.js.map +0 -1
  248. package/dist/_cjs/client/actions/index.js.map +0 -1
  249. package/dist/_cjs/client/actions/passkey.js.map +0 -1
  250. package/dist/_cjs/client/actions/session.js +0 -40
  251. package/dist/_cjs/client/actions/session.js.map +0 -1
  252. package/dist/_cjs/client/clients/passkey.js.map +0 -1
  253. package/dist/_cjs/client/clients/session.js +0 -48
  254. package/dist/_cjs/client/clients/session.js.map +0 -1
  255. package/dist/_cjs/client/decorators/index.js +0 -19
  256. package/dist/_cjs/client/decorators/index.js.map +0 -1
  257. package/dist/_cjs/client/decorators/passkey.js.map +0 -1
  258. package/dist/_cjs/client/decorators/session.js +0 -7
  259. package/dist/_cjs/client/decorators/session.js.map +0 -1
  260. package/dist/_cjs/client/decorators/session_wallet.js +0 -32
  261. package/dist/_cjs/client/decorators/session_wallet.js.map +0 -1
  262. package/dist/_cjs/client/passkey.js.map +0 -1
  263. package/dist/_cjs/client/smart-account.js.map +0 -1
  264. package/dist/_cjs/client-auth-server/session.js +0 -90
  265. package/dist/_cjs/client-auth-server/session.js.map +0 -1
  266. package/dist/_esm/abi/Factory.js.map +0 -1
  267. package/dist/_esm/abi/SessionKeyModule.js.map +0 -1
  268. package/dist/_esm/client/actions/account.js.map +0 -1
  269. package/dist/_esm/client/actions/index.js +0 -3
  270. package/dist/_esm/client/actions/index.js.map +0 -1
  271. package/dist/_esm/client/actions/passkey.js.map +0 -1
  272. package/dist/_esm/client/actions/session.js +0 -36
  273. package/dist/_esm/client/actions/session.js.map +0 -1
  274. package/dist/_esm/client/clients/passkey.js.map +0 -1
  275. package/dist/_esm/client/clients/session.js +0 -45
  276. package/dist/_esm/client/clients/session.js.map +0 -1
  277. package/dist/_esm/client/decorators/index.js +0 -3
  278. package/dist/_esm/client/decorators/index.js.map +0 -1
  279. package/dist/_esm/client/decorators/passkey.js +0 -13
  280. package/dist/_esm/client/decorators/passkey.js.map +0 -1
  281. package/dist/_esm/client/decorators/session.js +0 -5
  282. package/dist/_esm/client/decorators/session.js.map +0 -1
  283. package/dist/_esm/client/decorators/session_wallet.js.map +0 -1
  284. package/dist/_esm/client/passkey.js +0 -4
  285. package/dist/_esm/client/passkey.js.map +0 -1
  286. package/dist/_esm/client/smart-account.js.map +0 -1
  287. package/dist/_esm/client-auth-server/session.js +0 -91
  288. package/dist/_esm/client-auth-server/session.js.map +0 -1
  289. package/dist/_types/abi/Factory.d.ts.map +0 -1
  290. package/dist/_types/client/actions/account.d.ts.map +0 -1
  291. package/dist/_types/client/actions/index.d.ts +0 -3
  292. package/dist/_types/client/actions/index.d.ts.map +0 -1
  293. package/dist/_types/client/actions/passkey.d.ts.map +0 -1
  294. package/dist/_types/client/actions/session.d.ts +0 -14
  295. package/dist/_types/client/actions/session.d.ts.map +0 -1
  296. package/dist/_types/client/clients/passkey.d.ts.map +0 -1
  297. package/dist/_types/client/clients/session.d.ts.map +0 -1
  298. package/dist/_types/client/decorators/index.d.ts +0 -3
  299. package/dist/_types/client/decorators/index.d.ts.map +0 -1
  300. package/dist/_types/client/decorators/passkey.d.ts.map +0 -1
  301. package/dist/_types/client/decorators/session.d.ts +0 -5
  302. package/dist/_types/client/decorators/session.d.ts.map +0 -1
  303. package/dist/_types/client/decorators/session_wallet.d.ts.map +0 -1
  304. package/dist/_types/client/passkey.d.ts +0 -4
  305. package/dist/_types/client/passkey.d.ts.map +0 -1
  306. package/dist/_types/client/smart-account.d.ts +0 -24
  307. package/dist/_types/client/smart-account.d.ts.map +0 -1
  308. package/dist/_types/client-auth-server/session.d.ts +0 -45
  309. package/dist/_types/client-auth-server/session.d.ts.map +0 -1
  310. package/src/client/actions/index.ts +0 -2
  311. package/src/client/actions/session.ts +0 -118
  312. package/src/client/decorators/index.ts +0 -2
  313. package/src/client/decorators/session.ts +0 -17
  314. package/src/client-auth-server/session.ts +0 -139
  315. /package/dist/_types/client/{actions → passkey/actions}/passkey.d.ts +0 -0
package/.npmignore CHANGED
@@ -7,4 +7,11 @@
7
7
  !README.md
8
8
 
9
9
  # Ignore unnecessary files
10
+ .gitignore
11
+ .lintstagedrc.js
12
+ eslint.config.js
13
+ prepare-package.mjs
14
+ project.json
15
+ tsconfig.json
16
+ tsconfig.base.json
10
17
  *.tsbuildinfo
package/README.md CHANGED
@@ -1,3 +1,98 @@
1
- # zksync-sso-sdk
1
+ # zksync-sso SDK
2
2
 
3
- ZKsync SSO SDK
3
+ [![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE-MIT)
4
+
5
+ A user & developer friendly modular smart account implementation on ZKsync;
6
+ simplifying user authentication, session management, and transaction processing.
7
+
8
+ ## Features and Goals
9
+
10
+ <!-- prettier-ignore -->
11
+ > ZKsync SSO is under active development and is not yet feature
12
+ > complete. Use it to improve your development applications and tooling. Please
13
+ > do not use it in production environments.
14
+
15
+ - 🧩 Modular smart accounts based on
16
+ [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579#modules)
17
+ - 🔑 Passkey authentication (no seed phrases)
18
+ - ⏰ Sessions w/ easy configuration and management
19
+ - 💰 Integrated paymaster support
20
+ - ❤️‍🩹 Account recovery _(Coming Soon)_
21
+ - 💻 Simple SDKs : JavaScript, iOS/Android _(Coming Soon)_
22
+ - 🤝 Open-source authentication server
23
+ - 🎓 Examples to get started quickly
24
+
25
+ ## Getting started
26
+
27
+ Install the ZKsync SSO SDK package:
28
+
29
+ ```sh
30
+ npm i zksync-sso
31
+ ```
32
+
33
+ Add ZKsync SSO connector to your app (using `wagmi`):
34
+
35
+ ```ts
36
+ import { zksyncSsoConnector, callPolicy } from "zksync-sso/connector";
37
+ import { zksyncSepoliaTestnet } from "viem/chains";
38
+ import { createConfig, connect } from "@wagmi/core";
39
+ import { erc20Abi } from "viem";
40
+
41
+ const ssoConnector = zksyncSsoConnector({
42
+ // Optional session configuration, if omitted user will have to sign every transaction via Auth Server
43
+ session: {
44
+ expiry: "1 day",
45
+
46
+ // Allow up to 0.1 ETH to be spend in gas fees
47
+ feeLimit: parseEther("0.1"),
48
+
49
+ transfers: [
50
+ // Allow ETH transfers of up to 0.1 ETH to specific address
51
+ {
52
+ to: "0x188bd99cd7D4d78d4E605Aeea12C17B32CC3135A",
53
+ valueLimit: parseEther("0.1"),
54
+ },
55
+ ],
56
+
57
+ // Allow calling specific smart contracts (e.g. ERC20 transfer):
58
+ contractCalls: [
59
+ callPolicy({
60
+ address: "0xa1cf087DB965Ab02Fb3CFaCe1f5c63935815f044",
61
+ abi: erc20Abi,
62
+ functionName: "transfer",
63
+ constraints: [
64
+ // Only allow transfers to this address. Or any address if omitted
65
+ {
66
+ index: 0, // First argument of erc20 transfer function, recipient address
67
+ value: "0x6cC8cf7f6b488C58AA909B77E6e65c631c204784",
68
+ },
69
+
70
+ // Allow transfering up to 0.2 tokens per hour
71
+ // until the session expires
72
+ {
73
+ index: 1,
74
+ limit: {
75
+ limit: parseUnits("0.2", TOKEN.decimals),
76
+ period: "1 hour",
77
+ },
78
+ },
79
+ ],
80
+ }),
81
+ ],
82
+ },
83
+ });
84
+
85
+ const wagmiConfig = createConfig({
86
+ connectors: [ssoConnector],
87
+ ..., // your wagmi config https://wagmi.sh/core/api/createConfig
88
+ });
89
+
90
+ const connectWithSSO = () => {
91
+ connect(wagmiConfig, {
92
+ connector: ssoConnector,
93
+ chainId: zksyncSepoliaTestnet.id, // or another chain id that has SSO support
94
+ });
95
+ };
96
+ ```
97
+
98
+ [Find more information here in our docs.](https://docs.zksync.io/build/zksync-sso)
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FactoryAbi = void 0;
4
- exports.FactoryAbi = [
3
+ exports.AAFactoryAbi = void 0;
4
+ exports.AAFactoryAbi = [
5
5
  {
6
6
  inputs: [
7
7
  {
@@ -11,7 +11,7 @@ exports.FactoryAbi = [
11
11
  },
12
12
  {
13
13
  internalType: "address",
14
- name: "implementation",
14
+ name: "_beacon",
15
15
  type: "address",
16
16
  },
17
17
  ],
@@ -19,23 +19,15 @@ exports.FactoryAbi = [
19
19
  type: "constructor",
20
20
  },
21
21
  {
22
- anonymous: false,
23
22
  inputs: [
24
23
  {
25
- indexed: true,
26
- internalType: "address",
27
- name: "previousOwner",
28
- type: "address",
29
- },
30
- {
31
- indexed: true,
32
24
  internalType: "address",
33
- name: "newOwner",
25
+ name: "account",
34
26
  type: "address",
35
27
  },
36
28
  ],
37
- name: "OwnershipTransferred",
38
- type: "event",
29
+ name: "ACCOUNT_ALREADY_EXISTS",
30
+ type: "error",
39
31
  },
40
32
  {
41
33
  anonymous: false,
@@ -43,26 +35,32 @@ exports.FactoryAbi = [
43
35
  {
44
36
  indexed: true,
45
37
  internalType: "address",
46
- name: "implementation",
38
+ name: "accountAddress",
47
39
  type: "address",
48
40
  },
41
+ {
42
+ indexed: false,
43
+ internalType: "bytes32",
44
+ name: "uniqueAccountId",
45
+ type: "bytes32",
46
+ },
49
47
  ],
50
- name: "Upgraded",
48
+ name: "AccountCreated",
51
49
  type: "event",
52
50
  },
53
51
  {
54
52
  inputs: [
55
53
  {
56
- internalType: "string",
57
- name: "",
58
- type: "string",
54
+ internalType: "bytes32",
55
+ name: "accountId",
56
+ type: "bytes32",
59
57
  },
60
58
  ],
61
59
  name: "accountMappings",
62
60
  outputs: [
63
61
  {
64
62
  internalType: "address",
65
- name: "",
63
+ name: "deployedAccount",
66
64
  type: "address",
67
65
  },
68
66
  ],
@@ -70,16 +68,16 @@ exports.FactoryAbi = [
70
68
  type: "function",
71
69
  },
72
70
  {
73
- inputs: [
71
+ inputs: [],
72
+ name: "beacon",
73
+ outputs: [
74
74
  {
75
- internalType: "bytes32",
76
- name: "uniqueAccountId",
77
- type: "bytes32",
75
+ internalType: "address",
76
+ name: "",
77
+ type: "address",
78
78
  },
79
79
  ],
80
- name: "addNewUniqueId",
81
- outputs: [],
82
- stateMutability: "nonpayable",
80
+ stateMutability: "view",
83
81
  type: "function",
84
82
  },
85
83
  {
@@ -99,31 +97,21 @@ exports.FactoryAbi = [
99
97
  inputs: [
100
98
  {
101
99
  internalType: "bytes32",
102
- name: "salt",
100
+ name: "uniqueId",
103
101
  type: "bytes32",
104
102
  },
105
- {
106
- internalType: "string",
107
- name: "uniqueAccountId",
108
- type: "string",
109
- },
110
103
  {
111
104
  internalType: "bytes[]",
112
105
  name: "initialValidators",
113
106
  type: "bytes[]",
114
107
  },
115
- {
116
- internalType: "bytes[]",
117
- name: "initialModules",
118
- type: "bytes[]",
119
- },
120
108
  {
121
109
  internalType: "address[]",
122
110
  name: "initialK1Owners",
123
111
  type: "address[]",
124
112
  },
125
113
  ],
126
- name: "deployProxy7579Account",
114
+ name: "deployProxySsoAccount",
127
115
  outputs: [
128
116
  {
129
117
  internalType: "address",
@@ -136,62 +124,16 @@ exports.FactoryAbi = [
136
124
  },
137
125
  {
138
126
  inputs: [],
139
- name: "implementation",
127
+ name: "getEncodedBeacon",
140
128
  outputs: [
141
129
  {
142
- internalType: "address",
130
+ internalType: "bytes",
143
131
  name: "",
144
- type: "address",
132
+ type: "bytes",
145
133
  },
146
134
  ],
147
135
  stateMutability: "view",
148
136
  type: "function",
149
137
  },
150
- {
151
- inputs: [],
152
- name: "owner",
153
- outputs: [
154
- {
155
- internalType: "address",
156
- name: "",
157
- type: "address",
158
- },
159
- ],
160
- stateMutability: "view",
161
- type: "function",
162
- },
163
- {
164
- inputs: [],
165
- name: "renounceOwnership",
166
- outputs: [],
167
- stateMutability: "nonpayable",
168
- type: "function",
169
- },
170
- {
171
- inputs: [
172
- {
173
- internalType: "address",
174
- name: "newOwner",
175
- type: "address",
176
- },
177
- ],
178
- name: "transferOwnership",
179
- outputs: [],
180
- stateMutability: "nonpayable",
181
- type: "function",
182
- },
183
- {
184
- inputs: [
185
- {
186
- internalType: "address",
187
- name: "newImplementation",
188
- type: "address",
189
- },
190
- ],
191
- name: "upgradeTo",
192
- outputs: [],
193
- stateMutability: "nonpayable",
194
- type: "function",
195
- },
196
138
  ];
197
- //# sourceMappingURL=Factory.js.map
139
+ //# sourceMappingURL=AAFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AAFactory.js","sourceRoot":"","sources":["../../../src/abi/AAFactory.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,WAAW;aAClB;SACF;QACD,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC"}