@zerodev/sdk 4.0.2-alpha.23

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 (393) hide show
  1. package/README.md +450 -0
  2. package/dist/cjs/index.d.ts +21 -0
  3. package/dist/cjs/index.js +50 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +162 -0
  6. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js +215 -0
  7. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js.map +1 -0
  8. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.d.ts +39 -0
  9. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.js +157 -0
  10. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.js.map +1 -0
  11. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +158 -0
  12. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js +210 -0
  13. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +1 -0
  14. package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.d.ts +496 -0
  15. package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.js +646 -0
  16. package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.js.map +1 -0
  17. package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.d.ts +293 -0
  18. package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.js +384 -0
  19. package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.js.map +1 -0
  20. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +150 -0
  21. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.js +200 -0
  22. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.js.map +1 -0
  23. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.d.ts +15 -0
  24. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.js +24 -0
  25. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.js.map +1 -0
  26. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.d.ts +39 -0
  27. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js +161 -0
  28. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js.map +1 -0
  29. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.d.ts +287 -0
  30. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.js +377 -0
  31. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.js.map +1 -0
  32. package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.d.ts +63 -0
  33. package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.js +85 -0
  34. package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.js.map +1 -0
  35. package/dist/cjs/kernel-zerodev/abis/index.d.ts +8 -0
  36. package/dist/cjs/kernel-zerodev/abis/index.js +18 -0
  37. package/dist/cjs/kernel-zerodev/abis/index.js.map +1 -0
  38. package/dist/cjs/kernel-zerodev/account.d.ts +36 -0
  39. package/dist/cjs/kernel-zerodev/account.js +239 -0
  40. package/dist/cjs/kernel-zerodev/account.js.map +1 -0
  41. package/dist/cjs/kernel-zerodev/api/index.d.ts +1 -0
  42. package/dist/cjs/kernel-zerodev/api/index.js +24 -0
  43. package/dist/cjs/kernel-zerodev/api/index.js.map +1 -0
  44. package/dist/cjs/kernel-zerodev/client/create-client.d.ts +11 -0
  45. package/dist/cjs/kernel-zerodev/client/create-client.js +21 -0
  46. package/dist/cjs/kernel-zerodev/client/create-client.js.map +1 -0
  47. package/dist/cjs/kernel-zerodev/constants.d.ts +23 -0
  48. package/dist/cjs/kernel-zerodev/constants.js +45 -0
  49. package/dist/cjs/kernel-zerodev/constants.js.map +1 -0
  50. package/dist/cjs/kernel-zerodev/errors.d.ts +5 -0
  51. package/dist/cjs/kernel-zerodev/errors.js +12 -0
  52. package/dist/cjs/kernel-zerodev/errors.js.map +1 -0
  53. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.d.ts +21 -0
  54. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js +94 -0
  55. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js.map +1 -0
  56. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.d.ts +15 -0
  57. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.js +132 -0
  58. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.js.map +1 -0
  59. package/dist/cjs/kernel-zerodev/middleware/paymaster.d.ts +5 -0
  60. package/dist/cjs/kernel-zerodev/middleware/paymaster.js +43 -0
  61. package/dist/cjs/kernel-zerodev/middleware/paymaster.js.map +1 -0
  62. package/dist/cjs/kernel-zerodev/paymaster/base.d.ts +16 -0
  63. package/dist/cjs/kernel-zerodev/paymaster/base.js +58 -0
  64. package/dist/cjs/kernel-zerodev/paymaster/base.js.map +1 -0
  65. package/dist/cjs/kernel-zerodev/paymaster/index.d.ts +3 -0
  66. package/dist/cjs/kernel-zerodev/paymaster/index.js +10 -0
  67. package/dist/cjs/kernel-zerodev/paymaster/index.js.map +1 -0
  68. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.d.ts +14 -0
  69. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js +173 -0
  70. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js.map +1 -0
  71. package/dist/cjs/kernel-zerodev/paymaster/types.d.ts +29 -0
  72. package/dist/cjs/kernel-zerodev/paymaster/types.js +3 -0
  73. package/dist/cjs/kernel-zerodev/paymaster/types.js.map +1 -0
  74. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.d.ts +8 -0
  75. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js +31 -0
  76. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js.map +1 -0
  77. package/dist/cjs/kernel-zerodev/provider.d.ts +41 -0
  78. package/dist/cjs/kernel-zerodev/provider.js +225 -0
  79. package/dist/cjs/kernel-zerodev/provider.js.map +1 -0
  80. package/dist/cjs/kernel-zerodev/signer/zd-local-account.d.ts +13 -0
  81. package/dist/cjs/kernel-zerodev/signer/zd-local-account.js +61 -0
  82. package/dist/cjs/kernel-zerodev/signer/zd-local-account.js.map +1 -0
  83. package/dist/cjs/kernel-zerodev/types.d.ts +7 -0
  84. package/dist/cjs/kernel-zerodev/types.js +3 -0
  85. package/dist/cjs/kernel-zerodev/types.js.map +1 -0
  86. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.d.ts +5 -0
  87. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.js +106 -0
  88. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.js.map +1 -0
  89. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +15 -0
  90. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.js +33 -0
  91. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.js.map +1 -0
  92. package/dist/cjs/kernel-zerodev/utils.d.ts +21 -0
  93. package/dist/cjs/kernel-zerodev/utils.js +108 -0
  94. package/dist/cjs/kernel-zerodev/utils.js.map +1 -0
  95. package/dist/cjs/kernel-zerodev/validator/base.d.ts +53 -0
  96. package/dist/cjs/kernel-zerodev/validator/base.js +248 -0
  97. package/dist/cjs/kernel-zerodev/validator/base.js.map +1 -0
  98. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.d.ts +19 -0
  99. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.js +93 -0
  100. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.js.map +1 -0
  101. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.d.ts +27 -0
  102. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js +103 -0
  103. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js.map +1 -0
  104. package/dist/cjs/kernel-zerodev/validator/index.d.ts +6 -0
  105. package/dist/cjs/kernel-zerodev/validator/index.js +15 -0
  106. package/dist/cjs/kernel-zerodev/validator/index.js.map +1 -0
  107. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.d.ts +21 -0
  108. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js +110 -0
  109. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js.map +1 -0
  110. package/dist/cjs/kernel-zerodev/validator/types.d.ts +17 -0
  111. package/dist/cjs/kernel-zerodev/validator/types.js +3 -0
  112. package/dist/cjs/kernel-zerodev/validator/types.js.map +1 -0
  113. package/dist/cjs/kernel-zerodev/validator-provider/base.d.ts +28 -0
  114. package/dist/cjs/kernel-zerodev/validator-provider/base.js +94 -0
  115. package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +1 -0
  116. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +8 -0
  117. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js +60 -0
  118. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js.map +1 -0
  119. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +8 -0
  120. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js +64 -0
  121. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +1 -0
  122. package/dist/cjs/kernel-zerodev/validator-provider/index.d.ts +6 -0
  123. package/dist/cjs/kernel-zerodev/validator-provider/index.js +15 -0
  124. package/dist/cjs/kernel-zerodev/validator-provider/index.js.map +1 -0
  125. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +8 -0
  126. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js +64 -0
  127. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js.map +1 -0
  128. package/dist/cjs/kernel-zerodev/validator-provider/types.d.ts +21 -0
  129. package/dist/cjs/kernel-zerodev/validator-provider/types.js +3 -0
  130. package/dist/cjs/kernel-zerodev/validator-provider/types.js.map +1 -0
  131. package/dist/cjs/package.json +1 -0
  132. package/dist/esm/index.d.ts +21 -0
  133. package/dist/esm/index.js +13 -0
  134. package/dist/esm/index.js.map +1 -0
  135. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +162 -0
  136. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js +212 -0
  137. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js.map +1 -0
  138. package/dist/esm/kernel-zerodev/abis/ERC20Abi.d.ts +39 -0
  139. package/dist/esm/kernel-zerodev/abis/ERC20Abi.js +154 -0
  140. package/dist/esm/kernel-zerodev/abis/ERC20Abi.js.map +1 -0
  141. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +158 -0
  142. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js +207 -0
  143. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +1 -0
  144. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.d.ts +496 -0
  145. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.js +643 -0
  146. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.js.map +1 -0
  147. package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.d.ts +293 -0
  148. package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.js +381 -0
  149. package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.js.map +1 -0
  150. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +150 -0
  151. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.js +197 -0
  152. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.js.map +1 -0
  153. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.d.ts +15 -0
  154. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.js +21 -0
  155. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.js.map +1 -0
  156. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.d.ts +39 -0
  157. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js +158 -0
  158. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js.map +1 -0
  159. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.d.ts +287 -0
  160. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.js +374 -0
  161. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.js.map +1 -0
  162. package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.d.ts +63 -0
  163. package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.js +82 -0
  164. package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.js.map +1 -0
  165. package/dist/esm/kernel-zerodev/abis/index.d.ts +8 -0
  166. package/dist/esm/kernel-zerodev/abis/index.js +9 -0
  167. package/dist/esm/kernel-zerodev/abis/index.js.map +1 -0
  168. package/dist/esm/kernel-zerodev/account.d.ts +36 -0
  169. package/dist/esm/kernel-zerodev/account.js +234 -0
  170. package/dist/esm/kernel-zerodev/account.js.map +1 -0
  171. package/dist/esm/kernel-zerodev/api/index.d.ts +1 -0
  172. package/dist/esm/kernel-zerodev/api/index.js +17 -0
  173. package/dist/esm/kernel-zerodev/api/index.js.map +1 -0
  174. package/dist/esm/kernel-zerodev/client/create-client.d.ts +11 -0
  175. package/dist/esm/kernel-zerodev/client/create-client.js +17 -0
  176. package/dist/esm/kernel-zerodev/client/create-client.js.map +1 -0
  177. package/dist/esm/kernel-zerodev/constants.d.ts +23 -0
  178. package/dist/esm/kernel-zerodev/constants.js +42 -0
  179. package/dist/esm/kernel-zerodev/constants.js.map +1 -0
  180. package/dist/esm/kernel-zerodev/errors.d.ts +5 -0
  181. package/dist/esm/kernel-zerodev/errors.js +6 -0
  182. package/dist/esm/kernel-zerodev/errors.js.map +1 -0
  183. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.d.ts +21 -0
  184. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js +90 -0
  185. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js.map +1 -0
  186. package/dist/esm/kernel-zerodev/middleware/gas-estimator.d.ts +15 -0
  187. package/dist/esm/kernel-zerodev/middleware/gas-estimator.js +124 -0
  188. package/dist/esm/kernel-zerodev/middleware/gas-estimator.js.map +1 -0
  189. package/dist/esm/kernel-zerodev/middleware/paymaster.d.ts +5 -0
  190. package/dist/esm/kernel-zerodev/middleware/paymaster.js +39 -0
  191. package/dist/esm/kernel-zerodev/middleware/paymaster.js.map +1 -0
  192. package/dist/esm/kernel-zerodev/paymaster/base.d.ts +16 -0
  193. package/dist/esm/kernel-zerodev/paymaster/base.js +51 -0
  194. package/dist/esm/kernel-zerodev/paymaster/base.js.map +1 -0
  195. package/dist/esm/kernel-zerodev/paymaster/index.d.ts +3 -0
  196. package/dist/esm/kernel-zerodev/paymaster/index.js +7 -0
  197. package/dist/esm/kernel-zerodev/paymaster/index.js.map +1 -0
  198. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.d.ts +14 -0
  199. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js +168 -0
  200. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js.map +1 -0
  201. package/dist/esm/kernel-zerodev/paymaster/types.d.ts +29 -0
  202. package/dist/esm/kernel-zerodev/paymaster/types.js +2 -0
  203. package/dist/esm/kernel-zerodev/paymaster/types.js.map +1 -0
  204. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.d.ts +8 -0
  205. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js +27 -0
  206. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js.map +1 -0
  207. package/dist/esm/kernel-zerodev/provider.d.ts +41 -0
  208. package/dist/esm/kernel-zerodev/provider.js +222 -0
  209. package/dist/esm/kernel-zerodev/provider.js.map +1 -0
  210. package/dist/esm/kernel-zerodev/signer/zd-local-account.d.ts +13 -0
  211. package/dist/esm/kernel-zerodev/signer/zd-local-account.js +58 -0
  212. package/dist/esm/kernel-zerodev/signer/zd-local-account.js.map +1 -0
  213. package/dist/esm/kernel-zerodev/types.d.ts +7 -0
  214. package/dist/esm/kernel-zerodev/types.js +2 -0
  215. package/dist/esm/kernel-zerodev/types.js.map +1 -0
  216. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.d.ts +5 -0
  217. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.js +100 -0
  218. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.js.map +1 -0
  219. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +15 -0
  220. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.js +29 -0
  221. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.js.map +1 -0
  222. package/dist/esm/kernel-zerodev/utils.d.ts +21 -0
  223. package/dist/esm/kernel-zerodev/utils.js +96 -0
  224. package/dist/esm/kernel-zerodev/utils.js.map +1 -0
  225. package/dist/esm/kernel-zerodev/validator/base.d.ts +53 -0
  226. package/dist/esm/kernel-zerodev/validator/base.js +245 -0
  227. package/dist/esm/kernel-zerodev/validator/base.js.map +1 -0
  228. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.d.ts +19 -0
  229. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.js +89 -0
  230. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.js.map +1 -0
  231. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.d.ts +27 -0
  232. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js +99 -0
  233. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js.map +1 -0
  234. package/dist/esm/kernel-zerodev/validator/index.d.ts +6 -0
  235. package/dist/esm/kernel-zerodev/validator/index.js +10 -0
  236. package/dist/esm/kernel-zerodev/validator/index.js.map +1 -0
  237. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.d.ts +21 -0
  238. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js +106 -0
  239. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js.map +1 -0
  240. package/dist/esm/kernel-zerodev/validator/types.d.ts +17 -0
  241. package/dist/esm/kernel-zerodev/validator/types.js +2 -0
  242. package/dist/esm/kernel-zerodev/validator/types.js.map +1 -0
  243. package/dist/esm/kernel-zerodev/validator-provider/base.d.ts +28 -0
  244. package/dist/esm/kernel-zerodev/validator-provider/base.js +91 -0
  245. package/dist/esm/kernel-zerodev/validator-provider/base.js.map +1 -0
  246. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +8 -0
  247. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js +56 -0
  248. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js.map +1 -0
  249. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +8 -0
  250. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js +60 -0
  251. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +1 -0
  252. package/dist/esm/kernel-zerodev/validator-provider/index.d.ts +6 -0
  253. package/dist/esm/kernel-zerodev/validator-provider/index.js +10 -0
  254. package/dist/esm/kernel-zerodev/validator-provider/index.js.map +1 -0
  255. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +8 -0
  256. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js +60 -0
  257. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js.map +1 -0
  258. package/dist/esm/kernel-zerodev/validator-provider/types.d.ts +21 -0
  259. package/dist/esm/kernel-zerodev/validator-provider/types.js +2 -0
  260. package/dist/esm/kernel-zerodev/validator-provider/types.js.map +1 -0
  261. package/dist/esm/package.json +1 -0
  262. package/dist/types/index.d.ts +22 -0
  263. package/dist/types/index.d.ts.map +1 -0
  264. package/dist/types/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +163 -0
  265. package/dist/types/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts.map +1 -0
  266. package/dist/types/kernel-zerodev/abis/ERC20Abi.d.ts +40 -0
  267. package/dist/types/kernel-zerodev/abis/ERC20Abi.d.ts.map +1 -0
  268. package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +159 -0
  269. package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts.map +1 -0
  270. package/dist/types/kernel-zerodev/abis/KernelAccountAbi.d.ts +497 -0
  271. package/dist/types/kernel-zerodev/abis/KernelAccountAbi.d.ts.map +1 -0
  272. package/dist/types/kernel-zerodev/abis/KernelFactoryAbi.d.ts +294 -0
  273. package/dist/types/kernel-zerodev/abis/KernelFactoryAbi.d.ts.map +1 -0
  274. package/dist/types/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +151 -0
  275. package/dist/types/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts.map +1 -0
  276. package/dist/types/kernel-zerodev/abis/MultiSendAbi.d.ts +16 -0
  277. package/dist/types/kernel-zerodev/abis/MultiSendAbi.d.ts.map +1 -0
  278. package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts +40 -0
  279. package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts.map +1 -0
  280. package/dist/types/kernel-zerodev/abis/Test_ERC721Abi.d.ts +288 -0
  281. package/dist/types/kernel-zerodev/abis/Test_ERC721Abi.d.ts.map +1 -0
  282. package/dist/types/kernel-zerodev/abis/TokenActionsAbi.d.ts +64 -0
  283. package/dist/types/kernel-zerodev/abis/TokenActionsAbi.d.ts.map +1 -0
  284. package/dist/types/kernel-zerodev/abis/index.d.ts +9 -0
  285. package/dist/types/kernel-zerodev/abis/index.d.ts.map +1 -0
  286. package/dist/types/kernel-zerodev/account.d.ts +37 -0
  287. package/dist/types/kernel-zerodev/account.d.ts.map +1 -0
  288. package/dist/types/kernel-zerodev/api/index.d.ts +2 -0
  289. package/dist/types/kernel-zerodev/api/index.d.ts.map +1 -0
  290. package/dist/types/kernel-zerodev/client/create-client.d.ts +12 -0
  291. package/dist/types/kernel-zerodev/client/create-client.d.ts.map +1 -0
  292. package/dist/types/kernel-zerodev/constants.d.ts +24 -0
  293. package/dist/types/kernel-zerodev/constants.d.ts.map +1 -0
  294. package/dist/types/kernel-zerodev/errors.d.ts +6 -0
  295. package/dist/types/kernel-zerodev/errors.d.ts.map +1 -0
  296. package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts +39 -0
  297. package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts.map +1 -0
  298. package/dist/types/kernel-zerodev/middleware/gas-estimator.d.ts +20 -0
  299. package/dist/types/kernel-zerodev/middleware/gas-estimator.d.ts.map +1 -0
  300. package/dist/types/kernel-zerodev/middleware/paymaster.d.ts +6 -0
  301. package/dist/types/kernel-zerodev/middleware/paymaster.d.ts.map +1 -0
  302. package/dist/types/kernel-zerodev/paymaster/base.d.ts +17 -0
  303. package/dist/types/kernel-zerodev/paymaster/base.d.ts.map +1 -0
  304. package/dist/types/kernel-zerodev/paymaster/index.d.ts +4 -0
  305. package/dist/types/kernel-zerodev/paymaster/index.d.ts.map +1 -0
  306. package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts +15 -0
  307. package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts.map +1 -0
  308. package/dist/types/kernel-zerodev/paymaster/types.d.ts +30 -0
  309. package/dist/types/kernel-zerodev/paymaster/types.d.ts.map +1 -0
  310. package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts +9 -0
  311. package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts.map +1 -0
  312. package/dist/types/kernel-zerodev/provider.d.ts +42 -0
  313. package/dist/types/kernel-zerodev/provider.d.ts.map +1 -0
  314. package/dist/types/kernel-zerodev/signer/zd-local-account.d.ts +14 -0
  315. package/dist/types/kernel-zerodev/signer/zd-local-account.d.ts.map +1 -0
  316. package/dist/types/kernel-zerodev/types.d.ts +8 -0
  317. package/dist/types/kernel-zerodev/types.d.ts.map +1 -0
  318. package/dist/types/kernel-zerodev/utils/ERC4337-utils.d.ts +18 -0
  319. package/dist/types/kernel-zerodev/utils/ERC4337-utils.d.ts.map +1 -0
  320. package/dist/types/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +44 -0
  321. package/dist/types/kernel-zerodev/utils/calc-pre-verification-gas.d.ts.map +1 -0
  322. package/dist/types/kernel-zerodev/utils.d.ts +22 -0
  323. package/dist/types/kernel-zerodev/utils.d.ts.map +1 -0
  324. package/dist/types/kernel-zerodev/validator/base.d.ts +54 -0
  325. package/dist/types/kernel-zerodev/validator/base.d.ts.map +1 -0
  326. package/dist/types/kernel-zerodev/validator/ecdsa-validator.d.ts +20 -0
  327. package/dist/types/kernel-zerodev/validator/ecdsa-validator.d.ts.map +1 -0
  328. package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts +28 -0
  329. package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts.map +1 -0
  330. package/dist/types/kernel-zerodev/validator/index.d.ts +7 -0
  331. package/dist/types/kernel-zerodev/validator/index.d.ts.map +1 -0
  332. package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts +22 -0
  333. package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts.map +1 -0
  334. package/dist/types/kernel-zerodev/validator/types.d.ts +18 -0
  335. package/dist/types/kernel-zerodev/validator/types.d.ts.map +1 -0
  336. package/dist/types/kernel-zerodev/validator-provider/base.d.ts +29 -0
  337. package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +1 -0
  338. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +9 -0
  339. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts.map +1 -0
  340. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +9 -0
  341. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts.map +1 -0
  342. package/dist/types/kernel-zerodev/validator-provider/index.d.ts +7 -0
  343. package/dist/types/kernel-zerodev/validator-provider/index.d.ts.map +1 -0
  344. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +9 -0
  345. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts.map +1 -0
  346. package/dist/types/kernel-zerodev/validator-provider/types.d.ts +22 -0
  347. package/dist/types/kernel-zerodev/validator-provider/types.d.ts.map +1 -0
  348. package/package.json +70 -0
  349. package/src/index.ts +41 -0
  350. package/src/kernel-zerodev/__tests__/mocks/mock-signer-validator.ts +20 -0
  351. package/src/kernel-zerodev/__tests__/mocks/mock-signer.ts +14 -0
  352. package/src/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.ts +211 -0
  353. package/src/kernel-zerodev/abis/ERC20Abi.ts +153 -0
  354. package/src/kernel-zerodev/abis/ESCDAValidatorAbi.ts +206 -0
  355. package/src/kernel-zerodev/abis/KernelAccountAbi.ts +642 -0
  356. package/src/kernel-zerodev/abis/KernelFactoryAbi.ts +380 -0
  357. package/src/kernel-zerodev/abis/KillSwitchValidatorAbi.ts +196 -0
  358. package/src/kernel-zerodev/abis/MultiSendAbi.ts +20 -0
  359. package/src/kernel-zerodev/abis/Test_ERC20Abi.ts +157 -0
  360. package/src/kernel-zerodev/abis/Test_ERC721Abi.ts +373 -0
  361. package/src/kernel-zerodev/abis/TokenActionsAbi.ts +81 -0
  362. package/src/kernel-zerodev/abis/index.ts +17 -0
  363. package/src/kernel-zerodev/account.ts +308 -0
  364. package/src/kernel-zerodev/api/index.ts +25 -0
  365. package/src/kernel-zerodev/client/create-client.ts +37 -0
  366. package/src/kernel-zerodev/constants.ts +71 -0
  367. package/src/kernel-zerodev/errors.ts +13 -0
  368. package/src/kernel-zerodev/ethers-provider/ethers-provider.ts +118 -0
  369. package/src/kernel-zerodev/middleware/gas-estimator.ts +183 -0
  370. package/src/kernel-zerodev/middleware/paymaster.ts +66 -0
  371. package/src/kernel-zerodev/paymaster/base.ts +76 -0
  372. package/src/kernel-zerodev/paymaster/index.ts +9 -0
  373. package/src/kernel-zerodev/paymaster/token-paymaster.ts +209 -0
  374. package/src/kernel-zerodev/paymaster/types.ts +36 -0
  375. package/src/kernel-zerodev/paymaster/verifying-paymaster.ts +38 -0
  376. package/src/kernel-zerodev/provider.ts +307 -0
  377. package/src/kernel-zerodev/signer/zd-local-account.ts +63 -0
  378. package/src/kernel-zerodev/types.ts +8 -0
  379. package/src/kernel-zerodev/utils/ERC4337-utils.ts +161 -0
  380. package/src/kernel-zerodev/utils/calc-pre-verification-gas.ts +88 -0
  381. package/src/kernel-zerodev/utils.ts +166 -0
  382. package/src/kernel-zerodev/validator/base.ts +273 -0
  383. package/src/kernel-zerodev/validator/ecdsa-validator.ts +117 -0
  384. package/src/kernel-zerodev/validator/erc165-session-key-validator.ts +127 -0
  385. package/src/kernel-zerodev/validator/index.ts +12 -0
  386. package/src/kernel-zerodev/validator/kill-switch-validator.ts +142 -0
  387. package/src/kernel-zerodev/validator/types.ts +36 -0
  388. package/src/kernel-zerodev/validator-provider/base.ts +140 -0
  389. package/src/kernel-zerodev/validator-provider/ecdsa-provider.ts +61 -0
  390. package/src/kernel-zerodev/validator-provider/erc165-session-key-provider.ts +68 -0
  391. package/src/kernel-zerodev/validator-provider/index.ts +12 -0
  392. package/src/kernel-zerodev/validator-provider/kill-switch-provider.ts +68 -0
  393. package/src/kernel-zerodev/validator-provider/types.ts +26 -0
@@ -0,0 +1,63 @@
1
+ export declare const TokenActionsAbi: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "address";
4
+ readonly name: "_token";
5
+ readonly type: "address";
6
+ }, {
7
+ readonly internalType: "uint256";
8
+ readonly name: "_amount";
9
+ readonly type: "uint256";
10
+ }, {
11
+ readonly internalType: "address";
12
+ readonly name: "_to";
13
+ readonly type: "address";
14
+ }];
15
+ readonly name: "transfer20Action";
16
+ readonly outputs: readonly [];
17
+ readonly stateMutability: "nonpayable";
18
+ readonly type: "function";
19
+ }, {
20
+ readonly inputs: readonly [{
21
+ readonly internalType: "address";
22
+ readonly name: "_token";
23
+ readonly type: "address";
24
+ }, {
25
+ readonly internalType: "uint256";
26
+ readonly name: "_id";
27
+ readonly type: "uint256";
28
+ }, {
29
+ readonly internalType: "address";
30
+ readonly name: "_to";
31
+ readonly type: "address";
32
+ }, {
33
+ readonly internalType: "uint256";
34
+ readonly name: "amount";
35
+ readonly type: "uint256";
36
+ }, {
37
+ readonly internalType: "bytes";
38
+ readonly name: "data";
39
+ readonly type: "bytes";
40
+ }];
41
+ readonly name: "transferERC1155Action";
42
+ readonly outputs: readonly [];
43
+ readonly stateMutability: "nonpayable";
44
+ readonly type: "function";
45
+ }, {
46
+ readonly inputs: readonly [{
47
+ readonly internalType: "address";
48
+ readonly name: "_token";
49
+ readonly type: "address";
50
+ }, {
51
+ readonly internalType: "uint256";
52
+ readonly name: "_id";
53
+ readonly type: "uint256";
54
+ }, {
55
+ readonly internalType: "address";
56
+ readonly name: "_to";
57
+ readonly type: "address";
58
+ }];
59
+ readonly name: "transferERC721Action";
60
+ readonly outputs: readonly [];
61
+ readonly stateMutability: "nonpayable";
62
+ readonly type: "function";
63
+ }];
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenActionsAbi = void 0;
4
+ exports.TokenActionsAbi = [
5
+ {
6
+ inputs: [
7
+ {
8
+ internalType: "address",
9
+ name: "_token",
10
+ type: "address",
11
+ },
12
+ {
13
+ internalType: "uint256",
14
+ name: "_amount",
15
+ type: "uint256",
16
+ },
17
+ {
18
+ internalType: "address",
19
+ name: "_to",
20
+ type: "address",
21
+ },
22
+ ],
23
+ name: "transfer20Action",
24
+ outputs: [],
25
+ stateMutability: "nonpayable",
26
+ type: "function",
27
+ },
28
+ {
29
+ inputs: [
30
+ {
31
+ internalType: "address",
32
+ name: "_token",
33
+ type: "address",
34
+ },
35
+ {
36
+ internalType: "uint256",
37
+ name: "_id",
38
+ type: "uint256",
39
+ },
40
+ {
41
+ internalType: "address",
42
+ name: "_to",
43
+ type: "address",
44
+ },
45
+ {
46
+ internalType: "uint256",
47
+ name: "amount",
48
+ type: "uint256",
49
+ },
50
+ {
51
+ internalType: "bytes",
52
+ name: "data",
53
+ type: "bytes",
54
+ },
55
+ ],
56
+ name: "transferERC1155Action",
57
+ outputs: [],
58
+ stateMutability: "nonpayable",
59
+ type: "function",
60
+ },
61
+ {
62
+ inputs: [
63
+ {
64
+ internalType: "address",
65
+ name: "_token",
66
+ type: "address",
67
+ },
68
+ {
69
+ internalType: "uint256",
70
+ name: "_id",
71
+ type: "uint256",
72
+ },
73
+ {
74
+ internalType: "address",
75
+ name: "_to",
76
+ type: "address",
77
+ },
78
+ ],
79
+ name: "transferERC721Action",
80
+ outputs: [],
81
+ stateMutability: "nonpayable",
82
+ type: "function",
83
+ },
84
+ ];
85
+ //# sourceMappingURL=TokenActionsAbi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenActionsAbi.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/abis/TokenActionsAbi.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC","sourcesContent":["export const TokenActionsAbi = [\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"_to\",\n type: \"address\",\n },\n ],\n name: \"transfer20Action\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_id\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"_to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"transferERC1155Action\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_id\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"_to\",\n type: \"address\",\n },\n ],\n name: \"transferERC721Action\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n"]}
@@ -0,0 +1,8 @@
1
+ import { ECDSAValidatorAbi } from "./ESCDAValidatorAbi.js";
2
+ import { KernelAccountAbi } from "./KernelAccountAbi.js";
3
+ import { KernelFactoryAbi } from "./KernelFactoryAbi.js";
4
+ import { KillSwitchValidatorAbi } from "./KillSwitchValidatorAbi.js";
5
+ import { MultiSendAbi } from "./MultiSendAbi.js";
6
+ import { TEST_ERC20Abi } from "./Test_ERC20Abi.js";
7
+ import { ERC20Abi } from "./ERC20Abi.js";
8
+ export { ECDSAValidatorAbi, KernelAccountAbi, KernelFactoryAbi, KillSwitchValidatorAbi, MultiSendAbi, TEST_ERC20Abi, ERC20Abi, };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERC20Abi = exports.TEST_ERC20Abi = exports.MultiSendAbi = exports.KillSwitchValidatorAbi = exports.KernelFactoryAbi = exports.KernelAccountAbi = exports.ECDSAValidatorAbi = void 0;
4
+ const ESCDAValidatorAbi_js_1 = require("./ESCDAValidatorAbi.js");
5
+ Object.defineProperty(exports, "ECDSAValidatorAbi", { enumerable: true, get: function () { return ESCDAValidatorAbi_js_1.ECDSAValidatorAbi; } });
6
+ const KernelAccountAbi_js_1 = require("./KernelAccountAbi.js");
7
+ Object.defineProperty(exports, "KernelAccountAbi", { enumerable: true, get: function () { return KernelAccountAbi_js_1.KernelAccountAbi; } });
8
+ const KernelFactoryAbi_js_1 = require("./KernelFactoryAbi.js");
9
+ Object.defineProperty(exports, "KernelFactoryAbi", { enumerable: true, get: function () { return KernelFactoryAbi_js_1.KernelFactoryAbi; } });
10
+ const KillSwitchValidatorAbi_js_1 = require("./KillSwitchValidatorAbi.js");
11
+ Object.defineProperty(exports, "KillSwitchValidatorAbi", { enumerable: true, get: function () { return KillSwitchValidatorAbi_js_1.KillSwitchValidatorAbi; } });
12
+ const MultiSendAbi_js_1 = require("./MultiSendAbi.js");
13
+ Object.defineProperty(exports, "MultiSendAbi", { enumerable: true, get: function () { return MultiSendAbi_js_1.MultiSendAbi; } });
14
+ const Test_ERC20Abi_js_1 = require("./Test_ERC20Abi.js");
15
+ Object.defineProperty(exports, "TEST_ERC20Abi", { enumerable: true, get: function () { return Test_ERC20Abi_js_1.TEST_ERC20Abi; } });
16
+ const ERC20Abi_js_1 = require("./ERC20Abi.js");
17
+ Object.defineProperty(exports, "ERC20Abi", { enumerable: true, get: function () { return ERC20Abi_js_1.ERC20Abi; } });
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/abis/index.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AASzD,kGATO,wCAAiB,OASP;AARnB,+DAAyD;AASvD,iGATO,sCAAgB,OASP;AARlB,+DAAyD;AASvD,iGATO,sCAAgB,OASP;AARlB,2EAAqE;AASnE,uGATO,kDAAsB,OASP;AARxB,uDAAiD;AAS/C,6FATO,8BAAY,OASP;AARd,yDAAmD;AASjD,8FATO,gCAAa,OASP;AARf,+CAAyC;AASvC,yFATO,sBAAQ,OASP","sourcesContent":["import { ECDSAValidatorAbi } from \"./ESCDAValidatorAbi.js\";\nimport { KernelAccountAbi } from \"./KernelAccountAbi.js\";\nimport { KernelFactoryAbi } from \"./KernelFactoryAbi.js\";\nimport { KillSwitchValidatorAbi } from \"./KillSwitchValidatorAbi.js\";\nimport { MultiSendAbi } from \"./MultiSendAbi.js\";\nimport { TEST_ERC20Abi } from \"./Test_ERC20Abi.js\";\nimport { ERC20Abi } from \"./ERC20Abi.js\";\n\nexport {\n ECDSAValidatorAbi,\n KernelAccountAbi,\n KernelFactoryAbi,\n KillSwitchValidatorAbi,\n MultiSendAbi,\n TEST_ERC20Abi,\n ERC20Abi,\n};\n"]}
@@ -0,0 +1,36 @@
1
+ import type { Address } from "abitype";
2
+ import { type FallbackTransport, type Hex, type Transport } from "viem";
3
+ import { KernelBaseValidator } from "./validator/base.js";
4
+ import { type BaseSmartAccountParams, BaseSmartContractAccount, type SmartAccountSigner, type BatchUserOperationCallData, type UserOperationRequest } from "@alchemy/aa-core";
5
+ import type { PaymasterAndBundlerProviders } from "./paymaster/types.js";
6
+ export interface KernelSmartAccountParams<TTransport extends Transport | FallbackTransport = Transport> extends Partial<BaseSmartAccountParams<TTransport>> {
7
+ projectId: string;
8
+ owner: SmartAccountSigner;
9
+ factoryAddress?: Address;
10
+ index?: bigint;
11
+ validator?: KernelBaseValidator;
12
+ bundlerProvider?: PaymasterAndBundlerProviders;
13
+ }
14
+ export declare function isKernelAccount(account: any): account is KernelSmartContractAccount;
15
+ export declare class KernelSmartContractAccount<TTransport extends Transport | FallbackTransport = Transport> extends BaseSmartContractAccount<TTransport> {
16
+ private owner;
17
+ private readonly factoryAddress;
18
+ private readonly index;
19
+ validator?: KernelBaseValidator;
20
+ constructor(params: KernelSmartAccountParams);
21
+ static init(params: KernelSmartAccountParams): Promise<KernelSmartContractAccount>;
22
+ getAddress(): Promise<Address>;
23
+ connectValidator(validator: KernelBaseValidator): this;
24
+ getValidator(): KernelBaseValidator;
25
+ getDummySignature(): Hex;
26
+ getDynamicDummySignature(kernelAccountAddress: Address, calldata: Hex): Promise<Hex>;
27
+ encodeExecute(target: Hex, value: bigint, data: Hex): Promise<Hex>;
28
+ encodeBatchExecute(_txs: BatchUserOperationCallData): Promise<`0x${string}`>;
29
+ encodeExecuteDelegate(target: Hex, value: bigint, data: Hex): Promise<Hex>;
30
+ signWithEip6492(msg: string | Uint8Array): Promise<Hex>;
31
+ signMessage(msg: Uint8Array | string): Promise<Hex>;
32
+ signUserOp(userOp: UserOperationRequest): Promise<Hex>;
33
+ protected encodeExecuteAction(target: Hex, value: bigint, data: Hex, code: number): Hex;
34
+ protected getAccountInitCode(): Promise<Hex>;
35
+ protected getFactoryInitCode(): Promise<Hex>;
36
+ }
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KernelSmartContractAccount = exports.isKernelAccount = void 0;
4
+ const viem_1 = require("viem");
5
+ const abitype_1 = require("abitype");
6
+ const base_js_1 = require("./validator/base.js");
7
+ const KernelAccountAbi_js_1 = require("./abis/KernelAccountAbi.js");
8
+ const KernelFactoryAbi_js_1 = require("./abis/KernelFactoryAbi.js");
9
+ const aa_core_1 = require("@alchemy/aa-core");
10
+ const constants_js_1 = require("./constants.js");
11
+ const utils_js_1 = require("./utils.js");
12
+ const MultiSendAbi_js_1 = require("./abis/MultiSendAbi.js");
13
+ const chains_1 = require("viem/chains");
14
+ const index_js_1 = require("./api/index.js");
15
+ const create_client_js_1 = require("./client/create-client.js");
16
+ function isKernelAccount(account) {
17
+ return account && account.connectValidator !== undefined;
18
+ }
19
+ exports.isKernelAccount = isKernelAccount;
20
+ class KernelSmartContractAccount extends aa_core_1.BaseSmartContractAccount {
21
+ constructor(params) {
22
+ super({
23
+ ...params,
24
+ entryPointAddress: params.entryPointAddress ?? constants_js_1.ENTRYPOINT_ADDRESS,
25
+ chain: params.chain ?? chains_1.polygonMumbai,
26
+ rpcClient: params.rpcClient ?? constants_js_1.BUNDLER_URL,
27
+ });
28
+ Object.defineProperty(this, "owner", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, "factoryAddress", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ Object.defineProperty(this, "index", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ Object.defineProperty(this, "validator", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: void 0
51
+ });
52
+ this.index = params.index ?? 0n;
53
+ this.owner = params.owner;
54
+ this.factoryAddress = params.factoryAddress ?? constants_js_1.KERNEL_FACTORY_ADDRESS;
55
+ this.validator = params.validator;
56
+ }
57
+ static async init(params) {
58
+ const chainId = await (0, index_js_1.getChainId)(params.projectId);
59
+ if (!chainId) {
60
+ throw new Error("ChainId not found");
61
+ }
62
+ const chain = (0, aa_core_1.getChain)(chainId);
63
+ const rpcClient = typeof params.rpcClient === "string"
64
+ ? (0, create_client_js_1.createZeroDevPublicErc4337Client)({
65
+ chain,
66
+ rpcUrl: params.rpcClient ?? constants_js_1.BUNDLER_URL,
67
+ projectId: params.projectId,
68
+ bundlerProvider: params.bundlerProvider,
69
+ })
70
+ : params.rpcClient;
71
+ const instance = new KernelSmartContractAccount({
72
+ ...params,
73
+ chain,
74
+ rpcClient,
75
+ });
76
+ return instance;
77
+ }
78
+ async getAddress() {
79
+ if (!this.validator) {
80
+ throw new Error("Validator not connected");
81
+ }
82
+ if (!this.accountAddress) {
83
+ try {
84
+ const initializeData = (0, viem_1.encodeFunctionData)({
85
+ abi: KernelAccountAbi_js_1.KernelAccountAbi,
86
+ functionName: "initialize",
87
+ args: [
88
+ this.validator.getAddress(),
89
+ await this.validator.getEnableData(),
90
+ ],
91
+ });
92
+ const kernelFactory = (0, viem_1.getContract)({
93
+ abi: KernelFactoryAbi_js_1.KernelFactoryAbi,
94
+ address: constants_js_1.KERNEL_FACTORY_ADDRESS,
95
+ publicClient: this.rpcProvider,
96
+ });
97
+ return await kernelFactory.read.getAccountAddress([
98
+ initializeData,
99
+ this.index,
100
+ ]);
101
+ }
102
+ catch (error) {
103
+ throw new Error(`getCounterFactualAddress failed: ${error}`);
104
+ }
105
+ }
106
+ return this.accountAddress;
107
+ }
108
+ connectValidator(validator) {
109
+ (0, aa_core_1.defineReadOnly)(this, "validator", validator);
110
+ return this;
111
+ }
112
+ getValidator() {
113
+ if (!this.validator) {
114
+ throw new Error("Validator not connected");
115
+ }
116
+ return this.validator;
117
+ }
118
+ getDummySignature() {
119
+ return "0x00000000870fe151d548a1c527c3804866fab30abf28ed17b79d5fc5149f19ca0819fefc3c57f3da4fdf9b10fab3f2f3dca536467ae44943b9dbb8433efe7760ddd72aaa1c";
120
+ }
121
+ async getDynamicDummySignature(kernelAccountAddress, calldata) {
122
+ if (!this.validator) {
123
+ throw new Error("Validator not connected");
124
+ }
125
+ const dummyECDSASig = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
126
+ const validatorMode = await this.validator.resolveValidatorMode(kernelAccountAddress, calldata);
127
+ if (validatorMode === base_js_1.ValidatorMode.enable) {
128
+ const enableData = await this.validator.getEnableData();
129
+ const enableDataLength = enableData.length / 2 - 1;
130
+ const enableSigLength = 65;
131
+ const staticDummySig = (0, viem_1.concatHex)([
132
+ "0x000000000000000000000000",
133
+ this.validator.getAddress(),
134
+ "0x53dd285022D1512635823952d109dB39467a457E",
135
+ ]);
136
+ const pausedUntil = await this.validator.getPausedUntil();
137
+ return (0, viem_1.concatHex)([
138
+ base_js_1.ValidatorMode.enable,
139
+ staticDummySig,
140
+ (0, viem_1.pad)((0, viem_1.toHex)(enableDataLength), { size: 32 }),
141
+ enableData,
142
+ (0, viem_1.pad)((0, viem_1.toHex)(enableSigLength), { size: 32 }),
143
+ dummyECDSASig,
144
+ (0, viem_1.pad)((0, viem_1.toHex)(pausedUntil), { size: 6 }),
145
+ dummyECDSASig,
146
+ ]);
147
+ }
148
+ return (0, viem_1.concatHex)([validatorMode, dummyECDSASig]);
149
+ }
150
+ async encodeExecute(target, value, data) {
151
+ if (!this.validator) {
152
+ throw new Error("Validator not connected");
153
+ }
154
+ if (target.toLowerCase() === this.accountAddress?.toLowerCase()) {
155
+ return data;
156
+ }
157
+ else {
158
+ return this.encodeExecuteAction(target, value, data, 0);
159
+ }
160
+ }
161
+ async encodeBatchExecute(_txs) {
162
+ const multiSendCalldata = (0, viem_1.encodeFunctionData)({
163
+ abi: MultiSendAbi_js_1.MultiSendAbi,
164
+ functionName: "multiSend",
165
+ args: [(0, utils_js_1.encodeMultiSend)(_txs)],
166
+ });
167
+ return await this.encodeExecuteDelegate(constants_js_1.MULTISEND_ADDR, BigInt(0), multiSendCalldata);
168
+ }
169
+ async encodeExecuteDelegate(target, value, data) {
170
+ return this.encodeExecuteAction(target, value, data, 1);
171
+ }
172
+ async signWithEip6492(msg) {
173
+ try {
174
+ const formattedMessage = typeof msg === "string" ? (0, viem_1.toBytes)(msg) : msg;
175
+ let sig = await this.owner.signMessage((0, viem_1.toBytes)((0, viem_1.hashMessage)({ raw: formattedMessage })));
176
+ if (!(await this.isAccountDeployed())) {
177
+ sig = ((0, viem_1.encodeAbiParameters)((0, abitype_1.parseAbiParameters)("address, bytes, bytes"), [this.factoryAddress, await this.getFactoryInitCode(), sig]) +
178
+ "6492649264926492649264926492649264926492649264926492649264926492");
179
+ }
180
+ return sig;
181
+ }
182
+ catch (err) {
183
+ console.error("Got Error - ", err.message);
184
+ throw new Error("Message Signing with EIP6492 failed");
185
+ }
186
+ }
187
+ async signMessage(msg) {
188
+ if (!this.validator) {
189
+ throw new Error("Validator not connected");
190
+ }
191
+ const formattedMessage = typeof msg === "string" ? (0, viem_1.toBytes)(msg) : msg;
192
+ return await this.validator.signMessage(formattedMessage);
193
+ }
194
+ signUserOp(userOp) {
195
+ if (!this.validator) {
196
+ throw new Error("Validator not connected");
197
+ }
198
+ return this.validator.signUserOp(userOp);
199
+ }
200
+ encodeExecuteAction(target, value, data, code) {
201
+ return (0, viem_1.encodeFunctionData)({
202
+ abi: KernelAccountAbi_js_1.KernelAccountAbi,
203
+ functionName: "execute",
204
+ args: [target, value, data, code],
205
+ });
206
+ }
207
+ async getAccountInitCode() {
208
+ return (0, viem_1.concatHex)([this.factoryAddress, await this.getFactoryInitCode()]);
209
+ }
210
+ async getFactoryInitCode() {
211
+ if (!this.validator) {
212
+ throw new Error("Validator not connected");
213
+ }
214
+ try {
215
+ return (0, viem_1.encodeFunctionData)({
216
+ abi: KernelFactoryAbi_js_1.KernelFactoryAbi,
217
+ functionName: "createAccount",
218
+ args: [
219
+ constants_js_1.KERNEL_IMPL_ADDRESS,
220
+ (0, viem_1.encodeFunctionData)({
221
+ abi: KernelAccountAbi_js_1.KernelAccountAbi,
222
+ functionName: "initialize",
223
+ args: [
224
+ this.validator.getAddress(),
225
+ await this.validator.getEnableData(),
226
+ ],
227
+ }),
228
+ this.index,
229
+ ],
230
+ });
231
+ }
232
+ catch (err) {
233
+ console.error("err occurred:", err.message);
234
+ throw new Error("Factory Code generation failed");
235
+ }
236
+ }
237
+ }
238
+ exports.KernelSmartContractAccount = KernelSmartContractAccount;
239
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/kernel-zerodev/account.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Address } from \"abitype\";\nimport {\n concatHex,\n encodeAbiParameters,\n encodeFunctionData,\n type FallbackTransport,\n hashMessage,\n type Hex,\n toBytes,\n type Transport,\n pad,\n toHex,\n getContract,\n type PublicClient,\n} from \"viem\";\nimport { parseAbiParameters } from \"abitype\";\nimport { KernelBaseValidator, ValidatorMode } from \"./validator/base.js\";\nimport { KernelAccountAbi } from \"./abis/KernelAccountAbi.js\";\nimport { KernelFactoryAbi } from \"./abis/KernelFactoryAbi.js\";\nimport {\n type BaseSmartAccountParams,\n BaseSmartContractAccount,\n type SmartAccountSigner,\n type BatchUserOperationCallData,\n type UserOperationRequest,\n defineReadOnly,\n getChain,\n} from \"@alchemy/aa-core\";\nimport {\n BUNDLER_URL,\n ENTRYPOINT_ADDRESS,\n KERNEL_FACTORY_ADDRESS,\n KERNEL_IMPL_ADDRESS,\n MULTISEND_ADDR,\n} from \"./constants.js\";\nimport { encodeMultiSend } from \"./utils.js\";\nimport { MultiSendAbi } from \"./abis/MultiSendAbi.js\";\nimport { polygonMumbai } from \"viem/chains\";\nimport { getChainId } from \"./api/index.js\";\nimport { createZeroDevPublicErc4337Client } from \"./client/create-client.js\";\nimport type { PaymasterAndBundlerProviders } from \"./paymaster/types.js\";\nimport type { KillSwitchValidator } from \"./validator/kill-switch-validator.js\";\n\nexport interface KernelSmartAccountParams<\n TTransport extends Transport | FallbackTransport = Transport\n> extends Partial<BaseSmartAccountParams<TTransport>> {\n projectId: string;\n owner: SmartAccountSigner;\n factoryAddress?: Address;\n index?: bigint;\n validator?: KernelBaseValidator;\n bundlerProvider?: PaymasterAndBundlerProviders;\n}\n\nexport function isKernelAccount(\n account: any\n): account is KernelSmartContractAccount {\n return account && account.connectValidator !== undefined;\n}\n\nexport class KernelSmartContractAccount<\n TTransport extends Transport | FallbackTransport = Transport\n> extends BaseSmartContractAccount<TTransport> {\n private owner: SmartAccountSigner;\n private readonly factoryAddress: Address;\n private readonly index: bigint;\n validator?: KernelBaseValidator;\n\n constructor(params: KernelSmartAccountParams) {\n super({\n ...params,\n entryPointAddress: params.entryPointAddress ?? ENTRYPOINT_ADDRESS,\n chain: params.chain ?? polygonMumbai,\n rpcClient: params.rpcClient ?? BUNDLER_URL,\n });\n this.index = params.index ?? 0n;\n this.owner = params.owner;\n this.factoryAddress = params.factoryAddress ?? KERNEL_FACTORY_ADDRESS;\n this.validator = params.validator;\n }\n\n public static async init(\n params: KernelSmartAccountParams\n ): Promise<KernelSmartContractAccount> {\n const chainId = await getChainId(params.projectId);\n if (!chainId) {\n throw new Error(\"ChainId not found\");\n }\n const chain = getChain(chainId);\n const rpcClient =\n typeof params.rpcClient === \"string\"\n ? createZeroDevPublicErc4337Client({\n chain,\n rpcUrl: params.rpcClient ?? BUNDLER_URL,\n projectId: params.projectId,\n bundlerProvider: params.bundlerProvider,\n })\n : params.rpcClient;\n const instance = new KernelSmartContractAccount({\n ...params,\n chain,\n rpcClient,\n });\n return instance;\n }\n\n async getAddress(): Promise<Address> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n if (!this.accountAddress) {\n try {\n const initializeData = encodeFunctionData({\n abi: KernelAccountAbi,\n functionName: \"initialize\",\n args: [\n this.validator.getAddress(),\n await this.validator.getEnableData(),\n ],\n });\n const kernelFactory = getContract({\n abi: KernelFactoryAbi,\n address: KERNEL_FACTORY_ADDRESS,\n publicClient: this.rpcProvider as PublicClient,\n });\n return await kernelFactory.read.getAccountAddress([\n initializeData,\n this.index,\n ]);\n } catch (error) {\n throw new Error(`getCounterFactualAddress failed: ${error}`);\n }\n }\n\n return this.accountAddress;\n }\n\n connectValidator(validator: KernelBaseValidator): this {\n defineReadOnly(this, \"validator\", validator);\n return this;\n }\n\n getValidator(): KernelBaseValidator {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n return this.validator;\n }\n\n getDummySignature(): Hex {\n return \"0x00000000870fe151d548a1c527c3804866fab30abf28ed17b79d5fc5149f19ca0819fefc3c57f3da4fdf9b10fab3f2f3dca536467ae44943b9dbb8433efe7760ddd72aaa1c\";\n }\n\n async getDynamicDummySignature(\n kernelAccountAddress: Address,\n calldata: Hex\n ): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n\n const dummyECDSASig =\n \"0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c\";\n const validatorMode = await this.validator.resolveValidatorMode(\n kernelAccountAddress,\n calldata\n );\n if (validatorMode === ValidatorMode.enable) {\n const enableData = await this.validator.getEnableData();\n const enableDataLength = enableData.length / 2 - 1;\n const enableSigLength = 65;\n const staticDummySig = concatHex([\n \"0x000000000000000000000000\",\n this.validator.getAddress(),\n \"0x53dd285022D1512635823952d109dB39467a457E\",\n ]);\n const pausedUntil = await (\n this.validator as KillSwitchValidator\n ).getPausedUntil();\n\n return concatHex([\n ValidatorMode.enable,\n staticDummySig,\n pad(toHex(enableDataLength), { size: 32 }),\n enableData,\n pad(toHex(enableSigLength), { size: 32 }),\n dummyECDSASig,\n pad(toHex(pausedUntil), { size: 6 }),\n dummyECDSASig,\n ]);\n }\n return concatHex([validatorMode, dummyECDSASig]);\n }\n\n async encodeExecute(target: Hex, value: bigint, data: Hex): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n if (target.toLowerCase() === this.accountAddress?.toLowerCase()) {\n return data;\n } else {\n return this.encodeExecuteAction(target, value, data, 0);\n }\n }\n\n async encodeBatchExecute(\n _txs: BatchUserOperationCallData\n ): Promise<`0x${string}`> {\n const multiSendCalldata = encodeFunctionData({\n abi: MultiSendAbi,\n functionName: \"multiSend\",\n args: [encodeMultiSend(_txs)],\n });\n return await this.encodeExecuteDelegate(\n MULTISEND_ADDR,\n BigInt(0),\n multiSendCalldata\n );\n }\n\n async encodeExecuteDelegate(\n target: Hex,\n value: bigint,\n data: Hex\n ): Promise<Hex> {\n return this.encodeExecuteAction(target, value, data, 1);\n }\n\n async signWithEip6492(msg: string | Uint8Array): Promise<Hex> {\n try {\n const formattedMessage = typeof msg === \"string\" ? toBytes(msg) : msg;\n let sig = await this.owner.signMessage(\n toBytes(hashMessage({ raw: formattedMessage }))\n );\n // If the account is undeployed, use ERC-6492\n if (!(await this.isAccountDeployed())) {\n sig = (encodeAbiParameters(\n parseAbiParameters(\"address, bytes, bytes\"),\n [this.factoryAddress, await this.getFactoryInitCode(), sig]\n ) +\n \"6492649264926492649264926492649264926492649264926492649264926492\") as Hex; // magic suffix\n }\n\n return sig;\n } catch (err: any) {\n console.error(\"Got Error - \", err.message);\n throw new Error(\"Message Signing with EIP6492 failed\");\n }\n }\n\n async signMessage(msg: Uint8Array | string): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n const formattedMessage = typeof msg === \"string\" ? toBytes(msg) : msg;\n return await this.validator.signMessage(formattedMessage);\n }\n\n signUserOp(userOp: UserOperationRequest): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n return this.validator.signUserOp(userOp);\n }\n\n protected encodeExecuteAction(\n target: Hex,\n value: bigint,\n data: Hex,\n code: number\n ): Hex {\n return encodeFunctionData({\n abi: KernelAccountAbi,\n functionName: \"execute\",\n args: [target, value, data, code],\n });\n }\n protected async getAccountInitCode(): Promise<Hex> {\n return concatHex([this.factoryAddress, await this.getFactoryInitCode()]);\n }\n\n protected async getFactoryInitCode(): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n try {\n return encodeFunctionData({\n abi: KernelFactoryAbi,\n functionName: \"createAccount\",\n args: [\n KERNEL_IMPL_ADDRESS,\n encodeFunctionData({\n abi: KernelAccountAbi,\n functionName: \"initialize\",\n args: [\n this.validator.getAddress(),\n await this.validator.getEnableData(),\n ],\n }),\n this.index,\n ],\n });\n } catch (err: any) {\n console.error(\"err occurred:\", err.message);\n throw new Error(\"Factory Code generation failed\");\n }\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const getChainId: (projectId: string, backendUrl?: string) => Promise<number | undefined>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getChainId = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const constants_js_1 = require("../constants.js");
9
+ const getChainId = async (projectId, backendUrl) => {
10
+ try {
11
+ const { data: { chainId }, } = await axios_1.default.post(`${backendUrl ?? constants_js_1.BACKEND_URL}/v1/projects/get-chain-id`, {
12
+ projectId,
13
+ }, {
14
+ headers: { "Content-Type": "application/json" },
15
+ });
16
+ return chainId;
17
+ }
18
+ catch (error) {
19
+ console.log(error);
20
+ return undefined;
21
+ }
22
+ };
23
+ exports.getChainId = getChainId;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/api/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kDAA8C;AAEvC,MAAM,UAAU,GAAG,KAAK,EAC7B,SAAiB,EACjB,UAAmB,EACU,EAAE;IAC/B,IAAI;QACF,MAAM,EACJ,IAAI,EAAE,EAAE,OAAO,EAAE,GAClB,GAAG,MAAM,eAAK,CAAC,IAAI,CAClB,GAAG,UAAU,IAAI,0BAAW,2BAA2B,EACvD;YACE,SAAS;SACV,EACD;YACE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CACF,CAAC;QACF,OAAO,OAAO,CAAC;KAChB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AArBW,QAAA,UAAU,cAqBrB","sourcesContent":["import axios from \"axios\";\nimport { BACKEND_URL } from \"../constants.js\";\n\nexport const getChainId = async (\n projectId: string,\n backendUrl?: string\n): Promise<number | undefined> => {\n try {\n const {\n data: { chainId },\n } = await axios.post(\n `${backendUrl ?? BACKEND_URL}/v1/projects/get-chain-id`,\n {\n projectId,\n },\n {\n headers: { \"Content-Type\": \"application/json\" },\n }\n );\n return chainId;\n } catch (error) {\n console.log(error);\n return undefined;\n }\n};\n"]}
@@ -0,0 +1,11 @@
1
+ import { type HttpTransport, type PublicErc4337Client } from "@alchemy/aa-core";
2
+ import { type Chain } from "viem";
3
+ import type { PaymasterAndBundlerProviders } from "../paymaster/types.js";
4
+ interface ZeroDevClientConfig {
5
+ chain: Chain;
6
+ projectId: string;
7
+ rpcUrl?: string;
8
+ bundlerProvider?: PaymasterAndBundlerProviders;
9
+ }
10
+ export declare const createZeroDevPublicErc4337Client: ({ chain, rpcUrl, projectId, bundlerProvider, }: ZeroDevClientConfig) => PublicErc4337Client<HttpTransport>;
11
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createZeroDevPublicErc4337Client = void 0;
4
+ const aa_core_1 = require("@alchemy/aa-core");
5
+ const viem_1 = require("viem");
6
+ const constants_js_1 = require("../constants.js");
7
+ const createZeroDevPublicErc4337Client = ({ chain, rpcUrl, projectId, bundlerProvider, }) => {
8
+ let client = (0, aa_core_1.createPublicErc4337FromClient)((0, viem_1.createPublicClient)({
9
+ chain,
10
+ transport: (0, viem_1.http)(rpcUrl, {
11
+ fetchOptions: {
12
+ headers: rpcUrl === constants_js_1.BUNDLER_URL ? { projectId, bundlerProvider } : {},
13
+ },
14
+ name: "Connected bundler network",
15
+ key: "connected-bundler-network",
16
+ }),
17
+ }));
18
+ return client;
19
+ };
20
+ exports.createZeroDevPublicErc4337Client = createZeroDevPublicErc4337Client;
21
+ //# sourceMappingURL=create-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-client.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/client/create-client.ts"],"names":[],"mappings":";;;AAAA,8CAI0B;AAC1B,+BAA4D;AAC5D,kDAA8C;AAUvC,MAAM,gCAAgC,GAAG,CAAC,EAC/C,KAAK,EACL,MAAM,EACN,SAAS,EACT,eAAe,GACK,EAAsC,EAAE;IAC5D,IAAI,MAAM,GAAG,IAAA,uCAA6B,EACxC,IAAA,yBAAkB,EAAC;QACjB,KAAK;QACL,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,EAAE;YACtB,YAAY,EAAE;gBACZ,OAAO,EAAE,MAAM,KAAK,0BAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;aACtE;YACD,IAAI,EAAE,2BAA2B;YACjC,GAAG,EAAE,2BAA2B;SACjC,CAAC;KACH,CAAC,CACH,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AApBW,QAAA,gCAAgC,oCAoB3C","sourcesContent":["import {\n createPublicErc4337FromClient,\n type HttpTransport,\n type PublicErc4337Client,\n} from \"@alchemy/aa-core\";\nimport { http, createPublicClient, type Chain } from \"viem\";\nimport { BUNDLER_URL } from \"../constants.js\";\nimport type { PaymasterAndBundlerProviders } from \"../paymaster/types.js\";\n\ninterface ZeroDevClientConfig {\n chain: Chain;\n projectId: string;\n rpcUrl?: string;\n bundlerProvider?: PaymasterAndBundlerProviders;\n}\n\nexport const createZeroDevPublicErc4337Client = ({\n chain,\n rpcUrl,\n projectId,\n bundlerProvider,\n}: ZeroDevClientConfig): PublicErc4337Client<HttpTransport> => {\n let client = createPublicErc4337FromClient(\n createPublicClient({\n chain,\n transport: http(rpcUrl, {\n fetchOptions: {\n headers: rpcUrl === BUNDLER_URL ? { projectId, bundlerProvider } : {},\n },\n name: \"Connected bundler network\",\n key: \"connected-bundler-network\",\n }),\n })\n );\n\n return client;\n};\n"]}
@@ -0,0 +1,23 @@
1
+ import { type Hex } from "viem";
2
+ import type { IGasTokenAddresses } from "./paymaster/types.js";
3
+ export declare const DEFAULT_SEND_TX_MAX_RETRIES = 3;
4
+ export declare const DEFAULT_SEND_TX_RETRY_INTERVAL_MS = 180000;
5
+ export declare const BUNDLER_URL = "https://v0-6-meta-bundler.onrender.com";
6
+ export declare const PAYMASTER_URL = "https://v0-6-paymaster.onrender.com";
7
+ export declare const ENTRYPOINT_ADDRESS: Hex;
8
+ export declare const MULTISEND_ADDR: Hex;
9
+ export declare const BACKEND_URL = "https://backend-vikp.onrender.com";
10
+ export declare const API_URL = "https://prod-api.zerodev.app";
11
+ export declare const ECDSA_VALIDATOR_ADDRESS = "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390";
12
+ export declare const KERNEL_FACTORY_ADDRESS = "0x85DF6Dc686FBDcAc7da61651D116fc71B2246B50";
13
+ export declare const KERNEL_IMPL_ADDRESS = "0xD2063bE7C610eb55492C05385743edDbf5b6B951";
14
+ export declare const KILL_SWITCH_VALIDATOR_ADDRESS = "0x2db0DbfDf90Dbe2859158Aa71db1FcDCb3E579c8";
15
+ export declare const KILL_SWITCH_ACTION = "0xf5aa34DD2cba311947e143183ED325A4A8C674Af";
16
+ export declare const DUMMY_ECDSA_SIG = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
17
+ export declare const ERC165_SESSION_KEY_VALIDATOR_ADDRESS = "0xe149290800De29D4b0BF9dB82c508255D81902E6";
18
+ export declare const TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
19
+ export declare const gasTokenChainAddresses: IGasTokenAddresses;
20
+ export declare const ERC20_APPROVAL_AMOUNT: {
21
+ [key: string]: bigint;
22
+ };
23
+ export declare const minPriorityFeePerBidDefaults: Map<number, bigint>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.minPriorityFeePerBidDefaults = exports.ERC20_APPROVAL_AMOUNT = exports.gasTokenChainAddresses = exports.TOKEN_ACTION = exports.ERC165_SESSION_KEY_VALIDATOR_ADDRESS = exports.DUMMY_ECDSA_SIG = exports.KILL_SWITCH_ACTION = exports.KILL_SWITCH_VALIDATOR_ADDRESS = exports.KERNEL_IMPL_ADDRESS = exports.KERNEL_FACTORY_ADDRESS = exports.ECDSA_VALIDATOR_ADDRESS = exports.API_URL = exports.BACKEND_URL = exports.MULTISEND_ADDR = exports.ENTRYPOINT_ADDRESS = exports.PAYMASTER_URL = exports.BUNDLER_URL = exports.DEFAULT_SEND_TX_RETRY_INTERVAL_MS = exports.DEFAULT_SEND_TX_MAX_RETRIES = void 0;
4
+ const viem_1 = require("viem");
5
+ const chains_1 = require("viem/chains");
6
+ exports.DEFAULT_SEND_TX_MAX_RETRIES = 3;
7
+ exports.DEFAULT_SEND_TX_RETRY_INTERVAL_MS = 180000;
8
+ exports.BUNDLER_URL = "https://v0-6-meta-bundler.onrender.com";
9
+ exports.PAYMASTER_URL = "https://v0-6-paymaster.onrender.com";
10
+ exports.ENTRYPOINT_ADDRESS = "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789";
11
+ exports.MULTISEND_ADDR = "0x8ae01fcf7c655655ff2c6ef907b8b4718ab4e17c";
12
+ exports.BACKEND_URL = "https://backend-vikp.onrender.com";
13
+ exports.API_URL = "https://prod-api.zerodev.app";
14
+ exports.ECDSA_VALIDATOR_ADDRESS = "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390";
15
+ exports.KERNEL_FACTORY_ADDRESS = "0x85DF6Dc686FBDcAc7da61651D116fc71B2246B50";
16
+ exports.KERNEL_IMPL_ADDRESS = "0xD2063bE7C610eb55492C05385743edDbf5b6B951";
17
+ exports.KILL_SWITCH_VALIDATOR_ADDRESS = "0x2db0DbfDf90Dbe2859158Aa71db1FcDCb3E579c8";
18
+ exports.KILL_SWITCH_ACTION = "0xf5aa34DD2cba311947e143183ED325A4A8C674Af";
19
+ exports.DUMMY_ECDSA_SIG = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
20
+ exports.ERC165_SESSION_KEY_VALIDATOR_ADDRESS = "0xe149290800De29D4b0BF9dB82c508255D81902E6";
21
+ exports.TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
22
+ exports.gasTokenChainAddresses = {
23
+ USDC: {
24
+ 1: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
25
+ 137: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
26
+ 42161: "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8",
27
+ 43114: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
28
+ },
29
+ PEPE: {
30
+ 1: "0x6982508145454Ce325dDbE47a25d4ec3d2311933",
31
+ },
32
+ };
33
+ exports.ERC20_APPROVAL_AMOUNT = {
34
+ [exports.gasTokenChainAddresses["USDC"][1]]: (0, viem_1.parseUnits)("100", 6),
35
+ [exports.gasTokenChainAddresses["USDC"][5]]: (0, viem_1.parseUnits)("100", 6),
36
+ [exports.gasTokenChainAddresses["USDC"][137]]: (0, viem_1.parseUnits)("10", 6),
37
+ [exports.gasTokenChainAddresses["USDC"][42161]]: (0, viem_1.parseUnits)("10", 6),
38
+ [exports.gasTokenChainAddresses["USDC"][43114]]: (0, viem_1.parseUnits)("10", 6),
39
+ [exports.gasTokenChainAddresses["PEPE"][1]]: (0, viem_1.parseUnits)("50000000", 18),
40
+ "0x3870419Ba2BBf0127060bCB37f69A1b1C090992B": (0, viem_1.parseUnits)("100", 18),
41
+ };
42
+ exports.minPriorityFeePerBidDefaults = new Map([
43
+ [chains_1.polygon.id, 30000000000n],
44
+ ]);
45
+ //# sourceMappingURL=constants.js.map