@zerodev/sdk 4.6.1 → 5.0.0

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 (703) hide show
  1. package/_cjs/accounts/addressToEmptyAccount.js +25 -0
  2. package/_cjs/accounts/addressToEmptyAccount.js.map +1 -0
  3. package/_cjs/accounts/index.js +12 -0
  4. package/_cjs/accounts/index.js.map +1 -0
  5. package/{dist/cjs/kernel-zerodev/abis → _cjs/accounts/kernel/abi}/KernelAccountAbi.js +256 -158
  6. package/_cjs/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
  7. package/{dist/cjs/kernel-zerodev/abis → _cjs/accounts/kernel/abi}/KernelFactoryAbi.js +87 -87
  8. package/_cjs/accounts/kernel/abi/KernelFactoryAbi.js.map +1 -0
  9. package/{dist/cjs/kernel-zerodev/abis → _cjs/accounts/kernel/abi}/TokenActionsAbi.js +18 -18
  10. package/_cjs/accounts/kernel/abi/TokenActionsAbi.js.map +1 -0
  11. package/_cjs/accounts/kernel/createKernelAccount.js +299 -0
  12. package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -0
  13. package/_cjs/accounts/utils/index.js +6 -0
  14. package/_cjs/accounts/utils/index.js.map +1 -0
  15. package/_cjs/accounts/utils/toKernelPluginManager.js +124 -0
  16. package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -0
  17. package/_cjs/actions/account-client/signUserOperation.js +16 -0
  18. package/_cjs/actions/account-client/signUserOperation.js.map +1 -0
  19. package/_cjs/actions/index.js +8 -0
  20. package/_cjs/actions/index.js.map +1 -0
  21. package/_cjs/actions/paymaster/sponsorUserOperation.js +42 -0
  22. package/_cjs/actions/paymaster/sponsorUserOperation.js.map +1 -0
  23. package/_cjs/clients/decorators/index.js +6 -0
  24. package/_cjs/clients/decorators/index.js.map +1 -0
  25. package/_cjs/clients/decorators/kernel.js +19 -0
  26. package/_cjs/clients/decorators/kernel.js.map +1 -0
  27. package/_cjs/clients/index.js +8 -0
  28. package/_cjs/clients/index.js.map +1 -0
  29. package/_cjs/clients/kernelAccountClient.js +20 -0
  30. package/_cjs/clients/kernelAccountClient.js.map +1 -0
  31. package/_cjs/clients/paymasterClient.js +17 -0
  32. package/_cjs/clients/paymasterClient.js.map +1 -0
  33. package/_cjs/constants.js +12 -0
  34. package/_cjs/constants.js.map +1 -0
  35. package/_cjs/index.js +27 -0
  36. package/_cjs/index.js.map +1 -0
  37. package/_cjs/package.json +1 -0
  38. package/_cjs/types/index.js +6 -0
  39. package/_cjs/types/index.js.map +1 -0
  40. package/_cjs/types/kernel.js +10 -0
  41. package/_cjs/types/kernel.js.map +1 -0
  42. package/_cjs/utils.js +30 -0
  43. package/_cjs/utils.js.map +1 -0
  44. package/_esm/accounts/addressToEmptyAccount.js +21 -0
  45. package/_esm/accounts/addressToEmptyAccount.js.map +1 -0
  46. package/_esm/accounts/index.js +4 -0
  47. package/_esm/accounts/index.js.map +1 -0
  48. package/_esm/accounts/kernel/abi/KernelAccountAbi.js +796 -0
  49. package/_esm/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
  50. package/{dist/esm/kernel-zerodev/abis → _esm/accounts/kernel/abi}/KernelFactoryAbi.js +87 -87
  51. package/_esm/accounts/kernel/abi/KernelFactoryAbi.js.map +1 -0
  52. package/{dist/esm/kernel-zerodev/abis → _esm/accounts/kernel/abi}/TokenActionsAbi.js +18 -18
  53. package/_esm/accounts/kernel/abi/TokenActionsAbi.js.map +1 -0
  54. package/_esm/accounts/kernel/createKernelAccount.js +344 -0
  55. package/_esm/accounts/kernel/createKernelAccount.js.map +1 -0
  56. package/_esm/accounts/utils/index.js +3 -0
  57. package/_esm/accounts/utils/index.js.map +1 -0
  58. package/_esm/accounts/utils/toKernelPluginManager.js +124 -0
  59. package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -0
  60. package/_esm/actions/account-client/signUserOperation.js +12 -0
  61. package/_esm/actions/account-client/signUserOperation.js.map +1 -0
  62. package/_esm/actions/index.js +3 -0
  63. package/_esm/actions/index.js.map +1 -0
  64. package/_esm/actions/paymaster/sponsorUserOperation.js +41 -0
  65. package/_esm/actions/paymaster/sponsorUserOperation.js.map +1 -0
  66. package/_esm/clients/decorators/index.js +2 -0
  67. package/_esm/clients/decorators/index.js.map +1 -0
  68. package/_esm/clients/decorators/kernel.js +14 -0
  69. package/_esm/clients/decorators/kernel.js.map +1 -0
  70. package/_esm/clients/index.js +3 -0
  71. package/_esm/clients/index.js.map +1 -0
  72. package/_esm/clients/kernelAccountClient.js +17 -0
  73. package/_esm/clients/kernelAccountClient.js.map +1 -0
  74. package/_esm/clients/paymasterClient.js +30 -0
  75. package/_esm/clients/paymasterClient.js.map +1 -0
  76. package/_esm/constants.js +10 -0
  77. package/_esm/constants.js.map +1 -0
  78. package/_esm/index.js +13 -0
  79. package/_esm/index.js.map +1 -0
  80. package/_esm/package.json +1 -0
  81. package/_esm/types/index.js +2 -0
  82. package/_esm/types/index.js.map +1 -0
  83. package/_esm/types/kernel.js +8 -0
  84. package/_esm/types/kernel.js.map +1 -0
  85. package/_esm/utils.js +25 -0
  86. package/_esm/utils.js.map +1 -0
  87. package/_types/accounts/addressToEmptyAccount.d.ts +4 -0
  88. package/_types/accounts/addressToEmptyAccount.d.ts.map +1 -0
  89. package/_types/accounts/index.d.ts +4 -0
  90. package/_types/accounts/index.d.ts.map +1 -0
  91. package/{dist/cjs/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelAccountAbi.d.ts +82 -0
  92. package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelAccountAbi.d.ts.map +1 -1
  93. package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelFactoryAbi.d.ts.map +1 -1
  94. package/_types/accounts/kernel/abi/TokenActionsAbi.d.ts.map +1 -0
  95. package/_types/accounts/kernel/createKernelAccount.d.ts +89 -0
  96. package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -0
  97. package/_types/accounts/utils/index.d.ts +3 -0
  98. package/_types/accounts/utils/index.d.ts.map +1 -0
  99. package/_types/accounts/utils/toKernelPluginManager.d.ts +5 -0
  100. package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -0
  101. package/_types/actions/account-client/signUserOperation.d.ts +10 -0
  102. package/_types/actions/account-client/signUserOperation.d.ts.map +1 -0
  103. package/_types/actions/index.d.ts +3 -0
  104. package/_types/actions/index.d.ts.map +1 -0
  105. package/_types/actions/paymaster/sponsorUserOperation.d.ts +21 -0
  106. package/_types/actions/paymaster/sponsorUserOperation.d.ts.map +1 -0
  107. package/_types/clients/decorators/index.d.ts +2 -0
  108. package/_types/clients/decorators/index.d.ts.map +1 -0
  109. package/_types/clients/decorators/kernel.d.ts +25 -0
  110. package/_types/clients/decorators/kernel.d.ts.map +1 -0
  111. package/_types/clients/index.d.ts +3 -0
  112. package/_types/clients/index.d.ts.map +1 -0
  113. package/_types/clients/kernelAccountClient.d.ts +280 -0
  114. package/_types/clients/kernelAccountClient.d.ts.map +1 -0
  115. package/_types/clients/paymasterClient.d.ts +36 -0
  116. package/_types/clients/paymasterClient.d.ts.map +1 -0
  117. package/_types/constants.d.ts +8 -0
  118. package/_types/constants.d.ts.map +1 -0
  119. package/_types/index.d.ts +12 -0
  120. package/_types/index.d.ts.map +1 -0
  121. package/_types/types/index.d.ts +3 -0
  122. package/_types/types/index.d.ts.map +1 -0
  123. package/_types/types/kernel.d.ts +81 -0
  124. package/_types/types/kernel.d.ts.map +1 -0
  125. package/_types/utils.d.ts +12 -0
  126. package/_types/utils.d.ts.map +1 -0
  127. package/accounts/addressToEmptyAccount.ts +24 -0
  128. package/accounts/index.ts +8 -0
  129. package/{dist/esm/kernel-zerodev/abis/KernelAccountAbi.js → accounts/kernel/abi/KernelAccountAbi.ts} +264 -159
  130. package/accounts/kernel/abi/KernelFactoryAbi.ts +380 -0
  131. package/accounts/kernel/abi/TokenActionsAbi.ts +81 -0
  132. package/accounts/kernel/createKernelAccount.ts +465 -0
  133. package/accounts/utils/index.ts +2 -0
  134. package/accounts/utils/toKernelPluginManager.ts +173 -0
  135. package/actions/account-client/signUserOperation.ts +59 -0
  136. package/actions/index.ts +11 -0
  137. package/actions/paymaster/sponsorUserOperation.ts +85 -0
  138. package/clients/decorators/index.ts +4 -0
  139. package/clients/decorators/kernel.ts +78 -0
  140. package/clients/index.ts +9 -0
  141. package/clients/kernelAccountClient.ts +78 -0
  142. package/clients/paymasterClient.ts +53 -0
  143. package/constants.ts +12 -0
  144. package/index.ts +36 -0
  145. package/package.json +76 -60
  146. package/types/index.ts +12 -0
  147. package/types/kernel.ts +116 -0
  148. package/utils.ts +41 -0
  149. package/README.md +0 -5
  150. package/dist/cjs/index.d.ts +0 -22
  151. package/dist/cjs/index.js +0 -61
  152. package/dist/cjs/index.js.map +0 -1
  153. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -162
  154. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js +0 -215
  155. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js.map +0 -1
  156. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.d.ts +0 -231
  157. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.js +0 -157
  158. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.js.map +0 -1
  159. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -158
  160. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js +0 -210
  161. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +0 -1
  162. package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.js.map +0 -1
  163. package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.d.ts +0 -293
  164. package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.js.map +0 -1
  165. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -150
  166. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.js +0 -200
  167. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.js.map +0 -1
  168. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -15
  169. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.js +0 -24
  170. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.js.map +0 -1
  171. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -15
  172. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js +0 -24
  173. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js.map +0 -1
  174. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -212
  175. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js +0 -281
  176. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +0 -1
  177. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -237
  178. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js +0 -161
  179. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js.map +0 -1
  180. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -287
  181. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.js +0 -377
  182. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.js.map +0 -1
  183. package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.d.ts +0 -63
  184. package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.js.map +0 -1
  185. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -340
  186. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js +0 -446
  187. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js.map +0 -1
  188. package/dist/cjs/kernel-zerodev/abis/index.d.ts +0 -8
  189. package/dist/cjs/kernel-zerodev/abis/index.js +0 -18
  190. package/dist/cjs/kernel-zerodev/abis/index.js.map +0 -1
  191. package/dist/cjs/kernel-zerodev/account.d.ts +0 -51
  192. package/dist/cjs/kernel-zerodev/account.js +0 -321
  193. package/dist/cjs/kernel-zerodev/account.js.map +0 -1
  194. package/dist/cjs/kernel-zerodev/api/index.d.ts +0 -5
  195. package/dist/cjs/kernel-zerodev/api/index.js +0 -68
  196. package/dist/cjs/kernel-zerodev/api/index.js.map +0 -1
  197. package/dist/cjs/kernel-zerodev/client/create-client.d.ts +0 -12
  198. package/dist/cjs/kernel-zerodev/client/create-client.js +0 -54
  199. package/dist/cjs/kernel-zerodev/client/create-client.js.map +0 -1
  200. package/dist/cjs/kernel-zerodev/constants.d.ts +0 -31
  201. package/dist/cjs/kernel-zerodev/constants.js +0 -78
  202. package/dist/cjs/kernel-zerodev/constants.js.map +0 -1
  203. package/dist/cjs/kernel-zerodev/errors.d.ts +0 -5
  204. package/dist/cjs/kernel-zerodev/errors.js +0 -12
  205. package/dist/cjs/kernel-zerodev/errors.js.map +0 -1
  206. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -31
  207. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.js +0 -147
  208. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.js.map +0 -1
  209. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -22
  210. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js +0 -116
  211. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js.map +0 -1
  212. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.d.ts +0 -19
  213. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.js +0 -153
  214. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.js.map +0 -1
  215. package/dist/cjs/kernel-zerodev/middleware/paymaster.d.ts +0 -5
  216. package/dist/cjs/kernel-zerodev/middleware/paymaster.js +0 -63
  217. package/dist/cjs/kernel-zerodev/middleware/paymaster.js.map +0 -1
  218. package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -11
  219. package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.js +0 -80
  220. package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.js.map +0 -1
  221. package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -2
  222. package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.js +0 -18
  223. package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.js.map +0 -1
  224. package/dist/cjs/kernel-zerodev/owner/index.d.ts +0 -2
  225. package/dist/cjs/kernel-zerodev/owner/index.js +0 -8
  226. package/dist/cjs/kernel-zerodev/owner/index.js.map +0 -1
  227. package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -8
  228. package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.js +0 -74
  229. package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.js.map +0 -1
  230. package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -3
  231. package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.js +0 -16
  232. package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.js.map +0 -1
  233. package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -6
  234. package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js +0 -48
  235. package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js.map +0 -1
  236. package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -7
  237. package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.js +0 -44
  238. package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.js.map +0 -1
  239. package/dist/cjs/kernel-zerodev/owner/passkey/index.d.ts +0 -4
  240. package/dist/cjs/kernel-zerodev/owner/passkey/index.js +0 -12
  241. package/dist/cjs/kernel-zerodev/owner/passkey/index.js.map +0 -1
  242. package/dist/cjs/kernel-zerodev/owner/passkey/types.d.ts +0 -12
  243. package/dist/cjs/kernel-zerodev/owner/passkey/types.js +0 -3
  244. package/dist/cjs/kernel-zerodev/owner/passkey/types.js.map +0 -1
  245. package/dist/cjs/kernel-zerodev/owner/passkey/utils.d.ts +0 -14
  246. package/dist/cjs/kernel-zerodev/owner/passkey/utils.js +0 -114
  247. package/dist/cjs/kernel-zerodev/owner/passkey/utils.js.map +0 -1
  248. package/dist/cjs/kernel-zerodev/paymaster/base.d.ts +0 -18
  249. package/dist/cjs/kernel-zerodev/paymaster/base.js +0 -63
  250. package/dist/cjs/kernel-zerodev/paymaster/base.js.map +0 -1
  251. package/dist/cjs/kernel-zerodev/paymaster/index.d.ts +0 -3
  252. package/dist/cjs/kernel-zerodev/paymaster/index.js +0 -10
  253. package/dist/cjs/kernel-zerodev/paymaster/index.js.map +0 -1
  254. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -15
  255. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js +0 -188
  256. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js.map +0 -1
  257. package/dist/cjs/kernel-zerodev/paymaster/types.d.ts +0 -29
  258. package/dist/cjs/kernel-zerodev/paymaster/types.js +0 -3
  259. package/dist/cjs/kernel-zerodev/paymaster/types.js.map +0 -1
  260. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -8
  261. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js +0 -22
  262. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js.map +0 -1
  263. package/dist/cjs/kernel-zerodev/provider.d.ts +0 -57
  264. package/dist/cjs/kernel-zerodev/provider.js +0 -387
  265. package/dist/cjs/kernel-zerodev/provider.js.map +0 -1
  266. package/dist/cjs/kernel-zerodev/signer/empty-account.d.ts +0 -10
  267. package/dist/cjs/kernel-zerodev/signer/empty-account.js +0 -43
  268. package/dist/cjs/kernel-zerodev/signer/empty-account.js.map +0 -1
  269. package/dist/cjs/kernel-zerodev/types.d.ts +0 -7
  270. package/dist/cjs/kernel-zerodev/types.js +0 -3
  271. package/dist/cjs/kernel-zerodev/types.js.map +0 -1
  272. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -5
  273. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.js +0 -106
  274. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.js.map +0 -1
  275. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -15
  276. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.js +0 -33
  277. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.js.map +0 -1
  278. package/dist/cjs/kernel-zerodev/utils/custom-chains.d.ts +0 -58
  279. package/dist/cjs/kernel-zerodev/utils/custom-chains.js +0 -57
  280. package/dist/cjs/kernel-zerodev/utils/custom-chains.js.map +0 -1
  281. package/dist/cjs/kernel-zerodev/utils.d.ts +0 -20
  282. package/dist/cjs/kernel-zerodev/utils.js +0 -119
  283. package/dist/cjs/kernel-zerodev/utils.js.map +0 -1
  284. package/dist/cjs/kernel-zerodev/validator/base.d.ts +0 -57
  285. package/dist/cjs/kernel-zerodev/validator/base.js +0 -285
  286. package/dist/cjs/kernel-zerodev/validator/base.js.map +0 -1
  287. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -20
  288. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.js +0 -97
  289. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.js.map +0 -1
  290. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -29
  291. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js +0 -118
  292. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js.map +0 -1
  293. package/dist/cjs/kernel-zerodev/validator/index.d.ts +0 -8
  294. package/dist/cjs/kernel-zerodev/validator/index.js +0 -21
  295. package/dist/cjs/kernel-zerodev/validator/index.js.map +0 -1
  296. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -22
  297. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js +0 -122
  298. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js.map +0 -1
  299. package/dist/cjs/kernel-zerodev/validator/recovery-validator.d.ts +0 -56
  300. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js +0 -349
  301. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js.map +0 -1
  302. package/dist/cjs/kernel-zerodev/validator/session-key-validator.d.ts +0 -84
  303. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js +0 -501
  304. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js.map +0 -1
  305. package/dist/cjs/kernel-zerodev/validator/types.d.ts +0 -56
  306. package/dist/cjs/kernel-zerodev/validator/types.js +0 -3
  307. package/dist/cjs/kernel-zerodev/validator/types.js.map +0 -1
  308. package/dist/cjs/kernel-zerodev/validator-provider/base.d.ts +0 -29
  309. package/dist/cjs/kernel-zerodev/validator-provider/base.js +0 -129
  310. package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +0 -1
  311. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -8
  312. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js +0 -61
  313. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js.map +0 -1
  314. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -8
  315. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js +0 -65
  316. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +0 -1
  317. package/dist/cjs/kernel-zerodev/validator-provider/index.d.ts +0 -8
  318. package/dist/cjs/kernel-zerodev/validator-provider/index.js +0 -21
  319. package/dist/cjs/kernel-zerodev/validator-provider/index.js.map +0 -1
  320. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -8
  321. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js +0 -65
  322. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js.map +0 -1
  323. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -27
  324. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js +0 -279
  325. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js.map +0 -1
  326. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -18
  327. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.js +0 -115
  328. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.js.map +0 -1
  329. package/dist/cjs/kernel-zerodev/validator-provider/types.d.ts +0 -29
  330. package/dist/cjs/kernel-zerodev/validator-provider/types.js +0 -3
  331. package/dist/cjs/kernel-zerodev/validator-provider/types.js.map +0 -1
  332. package/dist/cjs/package.json +0 -1
  333. package/dist/esm/index.d.ts +0 -22
  334. package/dist/esm/index.js +0 -17
  335. package/dist/esm/index.js.map +0 -1
  336. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -162
  337. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js +0 -212
  338. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js.map +0 -1
  339. package/dist/esm/kernel-zerodev/abis/ERC20Abi.d.ts +0 -231
  340. package/dist/esm/kernel-zerodev/abis/ERC20Abi.js +0 -154
  341. package/dist/esm/kernel-zerodev/abis/ERC20Abi.js.map +0 -1
  342. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -158
  343. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js +0 -207
  344. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +0 -1
  345. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.d.ts +0 -534
  346. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.js.map +0 -1
  347. package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.d.ts +0 -293
  348. package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.js.map +0 -1
  349. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -150
  350. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.js +0 -197
  351. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.js.map +0 -1
  352. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -15
  353. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.js +0 -21
  354. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.js.map +0 -1
  355. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -15
  356. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js +0 -21
  357. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js.map +0 -1
  358. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -212
  359. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js +0 -278
  360. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +0 -1
  361. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -237
  362. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js +0 -158
  363. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js.map +0 -1
  364. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -287
  365. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.js +0 -374
  366. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.js.map +0 -1
  367. package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.d.ts +0 -63
  368. package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.js.map +0 -1
  369. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -340
  370. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js +0 -443
  371. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js.map +0 -1
  372. package/dist/esm/kernel-zerodev/abis/index.d.ts +0 -8
  373. package/dist/esm/kernel-zerodev/abis/index.js +0 -9
  374. package/dist/esm/kernel-zerodev/abis/index.js.map +0 -1
  375. package/dist/esm/kernel-zerodev/account.d.ts +0 -51
  376. package/dist/esm/kernel-zerodev/account.js +0 -317
  377. package/dist/esm/kernel-zerodev/account.js.map +0 -1
  378. package/dist/esm/kernel-zerodev/api/index.d.ts +0 -5
  379. package/dist/esm/kernel-zerodev/api/index.js +0 -58
  380. package/dist/esm/kernel-zerodev/api/index.js.map +0 -1
  381. package/dist/esm/kernel-zerodev/client/create-client.d.ts +0 -12
  382. package/dist/esm/kernel-zerodev/client/create-client.js +0 -50
  383. package/dist/esm/kernel-zerodev/client/create-client.js.map +0 -1
  384. package/dist/esm/kernel-zerodev/constants.d.ts +0 -31
  385. package/dist/esm/kernel-zerodev/constants.js +0 -75
  386. package/dist/esm/kernel-zerodev/constants.js.map +0 -1
  387. package/dist/esm/kernel-zerodev/errors.d.ts +0 -5
  388. package/dist/esm/kernel-zerodev/errors.js +0 -6
  389. package/dist/esm/kernel-zerodev/errors.js.map +0 -1
  390. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -31
  391. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.js +0 -145
  392. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.js.map +0 -1
  393. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -22
  394. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js +0 -112
  395. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js.map +0 -1
  396. package/dist/esm/kernel-zerodev/middleware/gas-estimator.d.ts +0 -19
  397. package/dist/esm/kernel-zerodev/middleware/gas-estimator.js +0 -146
  398. package/dist/esm/kernel-zerodev/middleware/gas-estimator.js.map +0 -1
  399. package/dist/esm/kernel-zerodev/middleware/paymaster.d.ts +0 -5
  400. package/dist/esm/kernel-zerodev/middleware/paymaster.js +0 -59
  401. package/dist/esm/kernel-zerodev/middleware/paymaster.js.map +0 -1
  402. package/dist/esm/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -11
  403. package/dist/esm/kernel-zerodev/owner/getCustodialOwner.js +0 -73
  404. package/dist/esm/kernel-zerodev/owner/getCustodialOwner.js.map +0 -1
  405. package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -2
  406. package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.js +0 -15
  407. package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.js.map +0 -1
  408. package/dist/esm/kernel-zerodev/owner/index.d.ts +0 -2
  409. package/dist/esm/kernel-zerodev/owner/index.js +0 -3
  410. package/dist/esm/kernel-zerodev/owner/index.js.map +0 -1
  411. package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -8
  412. package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.js +0 -67
  413. package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.js.map +0 -1
  414. package/dist/esm/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -3
  415. package/dist/esm/kernel-zerodev/owner/passkey/exceptions.js +0 -12
  416. package/dist/esm/kernel-zerodev/owner/passkey/exceptions.js.map +0 -1
  417. package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -6
  418. package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js +0 -41
  419. package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js.map +0 -1
  420. package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -7
  421. package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.js +0 -37
  422. package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.js.map +0 -1
  423. package/dist/esm/kernel-zerodev/owner/passkey/index.d.ts +0 -4
  424. package/dist/esm/kernel-zerodev/owner/passkey/index.js +0 -5
  425. package/dist/esm/kernel-zerodev/owner/passkey/index.js.map +0 -1
  426. package/dist/esm/kernel-zerodev/owner/passkey/types.d.ts +0 -12
  427. package/dist/esm/kernel-zerodev/owner/passkey/types.js +0 -2
  428. package/dist/esm/kernel-zerodev/owner/passkey/types.js.map +0 -1
  429. package/dist/esm/kernel-zerodev/owner/passkey/utils.d.ts +0 -14
  430. package/dist/esm/kernel-zerodev/owner/passkey/utils.js +0 -100
  431. package/dist/esm/kernel-zerodev/owner/passkey/utils.js.map +0 -1
  432. package/dist/esm/kernel-zerodev/paymaster/base.d.ts +0 -18
  433. package/dist/esm/kernel-zerodev/paymaster/base.js +0 -56
  434. package/dist/esm/kernel-zerodev/paymaster/base.js.map +0 -1
  435. package/dist/esm/kernel-zerodev/paymaster/index.d.ts +0 -3
  436. package/dist/esm/kernel-zerodev/paymaster/index.js +0 -7
  437. package/dist/esm/kernel-zerodev/paymaster/index.js.map +0 -1
  438. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -15
  439. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js +0 -182
  440. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js.map +0 -1
  441. package/dist/esm/kernel-zerodev/paymaster/types.d.ts +0 -29
  442. package/dist/esm/kernel-zerodev/paymaster/types.js +0 -2
  443. package/dist/esm/kernel-zerodev/paymaster/types.js.map +0 -1
  444. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -8
  445. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js +0 -18
  446. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js.map +0 -1
  447. package/dist/esm/kernel-zerodev/provider.d.ts +0 -57
  448. package/dist/esm/kernel-zerodev/provider.js +0 -383
  449. package/dist/esm/kernel-zerodev/provider.js.map +0 -1
  450. package/dist/esm/kernel-zerodev/signer/empty-account.d.ts +0 -10
  451. package/dist/esm/kernel-zerodev/signer/empty-account.js +0 -40
  452. package/dist/esm/kernel-zerodev/signer/empty-account.js.map +0 -1
  453. package/dist/esm/kernel-zerodev/types.d.ts +0 -7
  454. package/dist/esm/kernel-zerodev/types.js +0 -2
  455. package/dist/esm/kernel-zerodev/types.js.map +0 -1
  456. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -5
  457. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.js +0 -100
  458. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.js.map +0 -1
  459. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -15
  460. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.js +0 -29
  461. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.js.map +0 -1
  462. package/dist/esm/kernel-zerodev/utils/custom-chains.d.ts +0 -58
  463. package/dist/esm/kernel-zerodev/utils/custom-chains.js +0 -54
  464. package/dist/esm/kernel-zerodev/utils/custom-chains.js.map +0 -1
  465. package/dist/esm/kernel-zerodev/utils.d.ts +0 -20
  466. package/dist/esm/kernel-zerodev/utils.js +0 -85
  467. package/dist/esm/kernel-zerodev/utils.js.map +0 -1
  468. package/dist/esm/kernel-zerodev/validator/base.d.ts +0 -57
  469. package/dist/esm/kernel-zerodev/validator/base.js +0 -282
  470. package/dist/esm/kernel-zerodev/validator/base.js.map +0 -1
  471. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -20
  472. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.js +0 -93
  473. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.js.map +0 -1
  474. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -29
  475. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js +0 -114
  476. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js.map +0 -1
  477. package/dist/esm/kernel-zerodev/validator/index.d.ts +0 -8
  478. package/dist/esm/kernel-zerodev/validator/index.js +0 -14
  479. package/dist/esm/kernel-zerodev/validator/index.js.map +0 -1
  480. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -22
  481. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js +0 -118
  482. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js.map +0 -1
  483. package/dist/esm/kernel-zerodev/validator/recovery-validator.d.ts +0 -56
  484. package/dist/esm/kernel-zerodev/validator/recovery-validator.js +0 -344
  485. package/dist/esm/kernel-zerodev/validator/recovery-validator.js.map +0 -1
  486. package/dist/esm/kernel-zerodev/validator/session-key-validator.d.ts +0 -84
  487. package/dist/esm/kernel-zerodev/validator/session-key-validator.js +0 -496
  488. package/dist/esm/kernel-zerodev/validator/session-key-validator.js.map +0 -1
  489. package/dist/esm/kernel-zerodev/validator/types.d.ts +0 -56
  490. package/dist/esm/kernel-zerodev/validator/types.js +0 -3
  491. package/dist/esm/kernel-zerodev/validator/types.js.map +0 -1
  492. package/dist/esm/kernel-zerodev/validator-provider/base.d.ts +0 -29
  493. package/dist/esm/kernel-zerodev/validator-provider/base.js +0 -126
  494. package/dist/esm/kernel-zerodev/validator-provider/base.js.map +0 -1
  495. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -8
  496. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js +0 -57
  497. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js.map +0 -1
  498. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -8
  499. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js +0 -61
  500. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +0 -1
  501. package/dist/esm/kernel-zerodev/validator-provider/index.d.ts +0 -8
  502. package/dist/esm/kernel-zerodev/validator-provider/index.js +0 -14
  503. package/dist/esm/kernel-zerodev/validator-provider/index.js.map +0 -1
  504. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -8
  505. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js +0 -61
  506. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js.map +0 -1
  507. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -27
  508. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js +0 -276
  509. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js.map +0 -1
  510. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -18
  511. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.js +0 -111
  512. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.js.map +0 -1
  513. package/dist/esm/kernel-zerodev/validator-provider/types.d.ts +0 -29
  514. package/dist/esm/kernel-zerodev/validator-provider/types.js +0 -2
  515. package/dist/esm/kernel-zerodev/validator-provider/types.js.map +0 -1
  516. package/dist/esm/package.json +0 -1
  517. package/dist/types/index.d.ts +0 -23
  518. package/dist/types/index.d.ts.map +0 -1
  519. package/dist/types/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -163
  520. package/dist/types/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts.map +0 -1
  521. package/dist/types/kernel-zerodev/abis/ERC20Abi.d.ts +0 -232
  522. package/dist/types/kernel-zerodev/abis/ERC20Abi.d.ts.map +0 -1
  523. package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -159
  524. package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts.map +0 -1
  525. package/dist/types/kernel-zerodev/abis/KernelAccountAbi.d.ts +0 -535
  526. package/dist/types/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -151
  527. package/dist/types/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts.map +0 -1
  528. package/dist/types/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -16
  529. package/dist/types/kernel-zerodev/abis/MultiSendAbi.d.ts.map +0 -1
  530. package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -16
  531. package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts.map +0 -1
  532. package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -213
  533. package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts.map +0 -1
  534. package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -238
  535. package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts.map +0 -1
  536. package/dist/types/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -288
  537. package/dist/types/kernel-zerodev/abis/Test_ERC721Abi.d.ts.map +0 -1
  538. package/dist/types/kernel-zerodev/abis/TokenActionsAbi.d.ts.map +0 -1
  539. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -341
  540. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts.map +0 -1
  541. package/dist/types/kernel-zerodev/abis/index.d.ts +0 -9
  542. package/dist/types/kernel-zerodev/abis/index.d.ts.map +0 -1
  543. package/dist/types/kernel-zerodev/account.d.ts +0 -52
  544. package/dist/types/kernel-zerodev/account.d.ts.map +0 -1
  545. package/dist/types/kernel-zerodev/api/index.d.ts +0 -6
  546. package/dist/types/kernel-zerodev/api/index.d.ts.map +0 -1
  547. package/dist/types/kernel-zerodev/client/create-client.d.ts +0 -13
  548. package/dist/types/kernel-zerodev/client/create-client.d.ts.map +0 -1
  549. package/dist/types/kernel-zerodev/constants.d.ts +0 -32
  550. package/dist/types/kernel-zerodev/constants.d.ts.map +0 -1
  551. package/dist/types/kernel-zerodev/errors.d.ts +0 -6
  552. package/dist/types/kernel-zerodev/errors.d.ts.map +0 -1
  553. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -32
  554. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts.map +0 -1
  555. package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -23
  556. package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts.map +0 -1
  557. package/dist/types/kernel-zerodev/middleware/gas-estimator.d.ts +0 -20
  558. package/dist/types/kernel-zerodev/middleware/gas-estimator.d.ts.map +0 -1
  559. package/dist/types/kernel-zerodev/middleware/paymaster.d.ts +0 -6
  560. package/dist/types/kernel-zerodev/middleware/paymaster.d.ts.map +0 -1
  561. package/dist/types/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -12
  562. package/dist/types/kernel-zerodev/owner/getCustodialOwner.d.ts.map +0 -1
  563. package/dist/types/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -3
  564. package/dist/types/kernel-zerodev/owner/getRPCProviderOwner.d.ts.map +0 -1
  565. package/dist/types/kernel-zerodev/owner/index.d.ts +0 -3
  566. package/dist/types/kernel-zerodev/owner/index.d.ts.map +0 -1
  567. package/dist/types/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -9
  568. package/dist/types/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts.map +0 -1
  569. package/dist/types/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -4
  570. package/dist/types/kernel-zerodev/owner/passkey/exceptions.d.ts.map +0 -1
  571. package/dist/types/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -7
  572. package/dist/types/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts.map +0 -1
  573. package/dist/types/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -8
  574. package/dist/types/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts.map +0 -1
  575. package/dist/types/kernel-zerodev/owner/passkey/index.d.ts +0 -5
  576. package/dist/types/kernel-zerodev/owner/passkey/index.d.ts.map +0 -1
  577. package/dist/types/kernel-zerodev/owner/passkey/types.d.ts +0 -13
  578. package/dist/types/kernel-zerodev/owner/passkey/types.d.ts.map +0 -1
  579. package/dist/types/kernel-zerodev/owner/passkey/utils.d.ts +0 -15
  580. package/dist/types/kernel-zerodev/owner/passkey/utils.d.ts.map +0 -1
  581. package/dist/types/kernel-zerodev/paymaster/base.d.ts +0 -19
  582. package/dist/types/kernel-zerodev/paymaster/base.d.ts.map +0 -1
  583. package/dist/types/kernel-zerodev/paymaster/index.d.ts +0 -4
  584. package/dist/types/kernel-zerodev/paymaster/index.d.ts.map +0 -1
  585. package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -16
  586. package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts.map +0 -1
  587. package/dist/types/kernel-zerodev/paymaster/types.d.ts +0 -30
  588. package/dist/types/kernel-zerodev/paymaster/types.d.ts.map +0 -1
  589. package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -9
  590. package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts.map +0 -1
  591. package/dist/types/kernel-zerodev/provider.d.ts +0 -58
  592. package/dist/types/kernel-zerodev/provider.d.ts.map +0 -1
  593. package/dist/types/kernel-zerodev/signer/empty-account.d.ts +0 -11
  594. package/dist/types/kernel-zerodev/signer/empty-account.d.ts.map +0 -1
  595. package/dist/types/kernel-zerodev/types.d.ts +0 -8
  596. package/dist/types/kernel-zerodev/types.d.ts.map +0 -1
  597. package/dist/types/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -6
  598. package/dist/types/kernel-zerodev/utils/ERC4337-utils.d.ts.map +0 -1
  599. package/dist/types/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -16
  600. package/dist/types/kernel-zerodev/utils/calc-pre-verification-gas.d.ts.map +0 -1
  601. package/dist/types/kernel-zerodev/utils/custom-chains.d.ts +0 -59
  602. package/dist/types/kernel-zerodev/utils/custom-chains.d.ts.map +0 -1
  603. package/dist/types/kernel-zerodev/utils.d.ts +0 -21
  604. package/dist/types/kernel-zerodev/utils.d.ts.map +0 -1
  605. package/dist/types/kernel-zerodev/validator/base.d.ts +0 -58
  606. package/dist/types/kernel-zerodev/validator/base.d.ts.map +0 -1
  607. package/dist/types/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -21
  608. package/dist/types/kernel-zerodev/validator/ecdsa-validator.d.ts.map +0 -1
  609. package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -30
  610. package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts.map +0 -1
  611. package/dist/types/kernel-zerodev/validator/index.d.ts +0 -9
  612. package/dist/types/kernel-zerodev/validator/index.d.ts.map +0 -1
  613. package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -23
  614. package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts.map +0 -1
  615. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts +0 -57
  616. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts.map +0 -1
  617. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts +0 -85
  618. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts.map +0 -1
  619. package/dist/types/kernel-zerodev/validator/types.d.ts +0 -57
  620. package/dist/types/kernel-zerodev/validator/types.d.ts.map +0 -1
  621. package/dist/types/kernel-zerodev/validator-provider/base.d.ts +0 -30
  622. package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +0 -1
  623. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -9
  624. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts.map +0 -1
  625. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -9
  626. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts.map +0 -1
  627. package/dist/types/kernel-zerodev/validator-provider/index.d.ts +0 -9
  628. package/dist/types/kernel-zerodev/validator-provider/index.d.ts.map +0 -1
  629. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -9
  630. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts.map +0 -1
  631. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -28
  632. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts.map +0 -1
  633. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -19
  634. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts.map +0 -1
  635. package/dist/types/kernel-zerodev/validator-provider/types.d.ts +0 -30
  636. package/dist/types/kernel-zerodev/validator-provider/types.d.ts.map +0 -1
  637. package/passkey/package.json +0 -5
  638. package/src/index.ts +0 -50
  639. package/src/kernel-zerodev/__tests__/config/index.ts +0 -19
  640. package/src/kernel-zerodev/__tests__/mocks/mock-signer.ts +0 -24
  641. package/src/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.ts +0 -211
  642. package/src/kernel-zerodev/abis/ERC20Abi.ts +0 -153
  643. package/src/kernel-zerodev/abis/ESCDAValidatorAbi.ts +0 -206
  644. package/src/kernel-zerodev/abis/KernelAccountAbi.ts +0 -691
  645. package/src/kernel-zerodev/abis/KernelFactoryAbi.ts +0 -380
  646. package/src/kernel-zerodev/abis/KillSwitchValidatorAbi.ts +0 -196
  647. package/src/kernel-zerodev/abis/MultiSendAbi.ts +0 -20
  648. package/src/kernel-zerodev/abis/RecoveryActionAbi.ts +0 -20
  649. package/src/kernel-zerodev/abis/SessionKeyValidatorAbi.ts +0 -277
  650. package/src/kernel-zerodev/abis/Test_ERC20Abi.ts +0 -157
  651. package/src/kernel-zerodev/abis/Test_ERC721Abi.ts +0 -373
  652. package/src/kernel-zerodev/abis/TokenActionsAbi.ts +0 -81
  653. package/src/kernel-zerodev/abis/WeightedValidatorAbi.ts +0 -442
  654. package/src/kernel-zerodev/abis/index.ts +0 -17
  655. package/src/kernel-zerodev/account.ts +0 -392
  656. package/src/kernel-zerodev/api/index.ts +0 -84
  657. package/src/kernel-zerodev/client/create-client.ts +0 -81
  658. package/src/kernel-zerodev/constants.ts +0 -114
  659. package/src/kernel-zerodev/errors.ts +0 -13
  660. package/src/kernel-zerodev/ethers-provider/account-signer.ts +0 -185
  661. package/src/kernel-zerodev/ethers-provider/ethers-provider.ts +0 -149
  662. package/src/kernel-zerodev/middleware/gas-estimator.ts +0 -213
  663. package/src/kernel-zerodev/middleware/paymaster.ts +0 -86
  664. package/src/kernel-zerodev/owner/getCustodialOwner.ts +0 -131
  665. package/src/kernel-zerodev/owner/getRPCProviderOwner.ts +0 -26
  666. package/src/kernel-zerodev/owner/index.ts +0 -2
  667. package/src/kernel-zerodev/owner/passkey/createPasskeyOwner.ts +0 -107
  668. package/src/kernel-zerodev/owner/passkey/exceptions.ts +0 -3
  669. package/src/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.ts +0 -81
  670. package/src/kernel-zerodev/owner/passkey/getPasskeyOwner.ts +0 -75
  671. package/src/kernel-zerodev/owner/passkey/index.ts +0 -4
  672. package/src/kernel-zerodev/owner/passkey/types.ts +0 -18
  673. package/src/kernel-zerodev/owner/passkey/utils.ts +0 -174
  674. package/src/kernel-zerodev/paymaster/base.ts +0 -90
  675. package/src/kernel-zerodev/paymaster/index.ts +0 -9
  676. package/src/kernel-zerodev/paymaster/token-paymaster.ts +0 -251
  677. package/src/kernel-zerodev/paymaster/types.ts +0 -40
  678. package/src/kernel-zerodev/paymaster/verifying-paymaster.ts +0 -32
  679. package/src/kernel-zerodev/provider.ts +0 -485
  680. package/src/kernel-zerodev/signer/empty-account.ts +0 -27
  681. package/src/kernel-zerodev/types.ts +0 -8
  682. package/src/kernel-zerodev/utils/ERC4337-utils.ts +0 -161
  683. package/src/kernel-zerodev/utils/calc-pre-verification-gas.ts +0 -88
  684. package/src/kernel-zerodev/utils/custom-chains.ts +0 -55
  685. package/src/kernel-zerodev/utils.ts +0 -155
  686. package/src/kernel-zerodev/validator/base.ts +0 -321
  687. package/src/kernel-zerodev/validator/ecdsa-validator.ts +0 -122
  688. package/src/kernel-zerodev/validator/erc165-session-key-validator.ts +0 -151
  689. package/src/kernel-zerodev/validator/index.ts +0 -22
  690. package/src/kernel-zerodev/validator/kill-switch-validator.ts +0 -160
  691. package/src/kernel-zerodev/validator/recovery-validator.ts +0 -431
  692. package/src/kernel-zerodev/validator/session-key-validator.ts +0 -696
  693. package/src/kernel-zerodev/validator/types.ts +0 -129
  694. package/src/kernel-zerodev/validator-provider/base.ts +0 -178
  695. package/src/kernel-zerodev/validator-provider/ecdsa-provider.ts +0 -65
  696. package/src/kernel-zerodev/validator-provider/erc165-session-key-provider.ts +0 -72
  697. package/src/kernel-zerodev/validator-provider/index.ts +0 -22
  698. package/src/kernel-zerodev/validator-provider/kill-switch-provider.ts +0 -72
  699. package/src/kernel-zerodev/validator-provider/recovery-provider.ts +0 -376
  700. package/src/kernel-zerodev/validator-provider/session-key-provider.ts +0 -151
  701. package/src/kernel-zerodev/validator-provider/types.ts +0 -42
  702. /package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelFactoryAbi.d.ts +0 -0
  703. /package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/TokenActionsAbi.d.ts +0 -0
@@ -1,387 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZeroDevProvider = exports.Operation = void 0;
4
- const viem_1 = require("viem");
5
- const aa_core_1 = require("@alchemy/aa-core");
6
- const constants_js_1 = require("./constants.js");
7
- const account_js_1 = require("./account.js");
8
- const gas_estimator_js_1 = require("./middleware/gas-estimator.js");
9
- const ERC4337_utils_js_1 = require("./utils/ERC4337-utils.js");
10
- const errors_js_1 = require("./errors.js");
11
- const paymaster_js_1 = require("./middleware/paymaster.js");
12
- const create_client_js_1 = require("./client/create-client.js");
13
- const utils_js_1 = require("./utils.js");
14
- var Operation;
15
- (function (Operation) {
16
- Operation[Operation["Call"] = 0] = "Call";
17
- Operation[Operation["DelegateCall"] = 1] = "DelegateCall";
18
- })(Operation || (exports.Operation = Operation = {}));
19
- class ZeroDevProvider extends aa_core_1.SmartAccountProvider {
20
- constructor({ projectId, chain, entryPointAddress = constants_js_1.ENTRYPOINT_ADDRESS, rpcUrl, bundlerRpcUrl = constants_js_1.BUNDLER_URL, account, bundlerProvider, opts, }) {
21
- const _chain = typeof chain === "number" ? (0, utils_js_1.getChain)(chain) : chain;
22
- const rpcClient = (0, create_client_js_1.createZeroDevPublicErc4337Client)({
23
- chain: _chain,
24
- rpcUrl,
25
- bundlerRpcUrl,
26
- projectId,
27
- bundlerProvider,
28
- });
29
- super(rpcClient, entryPointAddress, _chain, account, {
30
- ...opts,
31
- txMaxRetries: opts?.txMaxRetries ?? 20,
32
- txRetryIntervalMs: opts?.txRetryIntervalMs ?? 10000,
33
- minPriorityFeePerBid: opts?.minPriorityFeePerBid ??
34
- constants_js_1.minPriorityFeePerBidDefaults.get(_chain.id),
35
- });
36
- Object.defineProperty(this, "projectId", {
37
- enumerable: true,
38
- configurable: true,
39
- writable: true,
40
- value: void 0
41
- });
42
- Object.defineProperty(this, "sendTxMaxRetries", {
43
- enumerable: true,
44
- configurable: true,
45
- writable: true,
46
- value: void 0
47
- });
48
- Object.defineProperty(this, "sendTxRetryIntervalMs", {
49
- enumerable: true,
50
- configurable: true,
51
- writable: true,
52
- value: void 0
53
- });
54
- Object.defineProperty(this, "bundlerProvider", {
55
- enumerable: true,
56
- configurable: true,
57
- writable: true,
58
- value: void 0
59
- });
60
- Object.defineProperty(this, "_txMaxRetries", {
61
- enumerable: true,
62
- configurable: true,
63
- writable: true,
64
- value: void 0
65
- });
66
- Object.defineProperty(this, "_txRetryIntervalMs", {
67
- enumerable: true,
68
- configurable: true,
69
- writable: true,
70
- value: void 0
71
- });
72
- Object.defineProperty(this, "_shouldConsume", {
73
- enumerable: true,
74
- configurable: true,
75
- writable: true,
76
- value: true
77
- });
78
- Object.defineProperty(this, "feeOptions", {
79
- enumerable: true,
80
- configurable: true,
81
- writable: true,
82
- value: void 0
83
- });
84
- Object.defineProperty(this, "getProjectId", {
85
- enumerable: true,
86
- configurable: true,
87
- writable: true,
88
- value: () => this.projectId
89
- });
90
- Object.defineProperty(this, "shouldConsume", {
91
- enumerable: true,
92
- configurable: true,
93
- writable: true,
94
- value: () => this._shouldConsume
95
- });
96
- Object.defineProperty(this, "sendTransaction", {
97
- enumerable: true,
98
- configurable: true,
99
- writable: true,
100
- value: async (request, operation = Operation.Call) => {
101
- if (!request.to) {
102
- throw new Error("transaction is missing to address");
103
- }
104
- const overrides = {};
105
- if (request.maxFeePerGas) {
106
- overrides.maxFeePerGas = request.maxFeePerGas;
107
- }
108
- if (request.maxPriorityFeePerGas) {
109
- overrides.maxPriorityFeePerGas = request.maxPriorityFeePerGas;
110
- }
111
- const { hash } = await this.sendUserOperation({
112
- target: request.to,
113
- data: request.data ?? "0x",
114
- value: request.value ? (0, viem_1.fromHex)(request.value, "bigint") : 0n,
115
- }, overrides, operation);
116
- return await this.waitForUserOperationTransaction(hash);
117
- }
118
- });
119
- Object.defineProperty(this, "buildUserOperation", {
120
- enumerable: true,
121
- configurable: true,
122
- writable: true,
123
- value: async (data, overrides, operation = Operation.Call) => {
124
- this._shouldConsume = false;
125
- if (!(0, account_js_1.isKernelAccount)(this.account)) {
126
- throw new Error("account not connected!");
127
- }
128
- if (!this.account.validator) {
129
- throw new Error("validator not connected!");
130
- }
131
- let callData = "0x";
132
- if (Array.isArray(data)) {
133
- if (operation === Operation.Call) {
134
- callData = await this.account.encodeBatchExecute(data);
135
- }
136
- else {
137
- throw errors_js_1.InvalidOperation;
138
- }
139
- }
140
- else if ((0, account_js_1.isKernelAccount)(this.account)) {
141
- if (operation === Operation.DelegateCall) {
142
- callData = await this.account.encodeExecuteDelegate(data.target, data.value ?? 0n, data.data);
143
- }
144
- else if (operation === Operation.Call) {
145
- callData = await this.account.encodeExecute(data.target, data.value ?? 0n, data.data);
146
- }
147
- else {
148
- throw errors_js_1.InvalidOperation;
149
- }
150
- }
151
- else {
152
- throw errors_js_1.InvalidOperation;
153
- }
154
- const initCode = await this.account.getInitCode();
155
- const nonce = await this.account.getNonce();
156
- const result = await this._runMiddlewareStack({
157
- initCode,
158
- sender: this.getAddress(),
159
- nonce,
160
- callData,
161
- signature: await this.account
162
- .getValidator()
163
- .getDynamicDummySignature(await this.getAddress(), callData),
164
- }, overrides);
165
- this._shouldConsume = true;
166
- return result;
167
- }
168
- });
169
- Object.defineProperty(this, "_runMiddlewareStack", {
170
- enumerable: true,
171
- configurable: true,
172
- writable: true,
173
- value: async (uo, overrides) => {
174
- const result = await (0, aa_core_1.asyncPipe)(this.dummyPaymasterDataMiddleware, this.feeDataGetter, this.paymasterDataMiddleware, this.gasEstimator, this.customMiddleware ?? aa_core_1.noOpMiddleware, async (struct) => ({ ...struct, ...overrides }))(uo);
175
- return (0, aa_core_1.deepHexlify)(await (0, aa_core_1.resolveProperties)(result));
176
- }
177
- });
178
- Object.defineProperty(this, "sendUserOperation", {
179
- enumerable: true,
180
- configurable: true,
181
- writable: true,
182
- value: async (data, overrides, operation = Operation.Call) => {
183
- if (!this._shouldConsume)
184
- throw new Error("Cannot send user operation while building user operation");
185
- if (!(0, account_js_1.isKernelAccount)(this.account)) {
186
- throw new Error("account not connected!");
187
- }
188
- if (!this.account.validator) {
189
- throw new Error("validator not connected!");
190
- }
191
- let callData = "0x";
192
- if (Array.isArray(data)) {
193
- if (operation === Operation.Call) {
194
- callData = await this.account.encodeBatchExecute(data);
195
- }
196
- else {
197
- throw errors_js_1.InvalidOperation;
198
- }
199
- }
200
- else if ((0, account_js_1.isKernelAccount)(this.account)) {
201
- if (operation === Operation.DelegateCall) {
202
- callData = await this.account.encodeExecuteDelegate(data.target, data.value ?? 0n, data.data);
203
- }
204
- else if (operation === Operation.Call) {
205
- callData = await this.account.encodeExecute(data.target, data.value ?? 0n, data.data);
206
- }
207
- else {
208
- throw errors_js_1.InvalidOperation;
209
- }
210
- }
211
- else {
212
- throw errors_js_1.InvalidOperation;
213
- }
214
- const initCode = await this.account.getInitCode();
215
- let hash = "";
216
- let i = 0;
217
- const nonce = await this.account.getNonce();
218
- let uoStruct;
219
- let request;
220
- let maxFeePerGas, maxPriorityFeePerGas;
221
- do {
222
- uoStruct = await (0, aa_core_1.asyncPipe)(this.dummyPaymasterDataMiddleware, this.feeDataGetter, this.paymasterDataMiddleware, this.gasEstimator, this.customMiddleware ?? aa_core_1.noOpMiddleware, async (struct) => ({ ...struct, ...overrides }))({
223
- initCode,
224
- sender: this.getAddress(),
225
- nonce,
226
- callData,
227
- signature: await this.account
228
- .getValidator()
229
- .getDynamicDummySignature(await this.getAddress(), callData),
230
- maxFeePerGas,
231
- maxPriorityFeePerGas,
232
- });
233
- request = (0, aa_core_1.deepHexlify)(await (0, aa_core_1.resolveProperties)(uoStruct));
234
- if (!(0, ERC4337_utils_js_1.isValidRequest)(request)) {
235
- throw new Error(`Request is missing parameters. All properties on UserOperationStruct must be set. uo: ${JSON.stringify(request, null, 2)}`);
236
- }
237
- await this.account.approvePlugin();
238
- request.signature = await this.account.validator.getSignature(request);
239
- try {
240
- hash = await this.rpcClient.sendUserOperation(request, this.entryPointAddress);
241
- }
242
- catch (error) {
243
- if (this.isReplacementOpError(error) && i++ < this.sendTxMaxRetries) {
244
- maxFeePerGas = (BigInt(request.maxFeePerGas) * 113n) / 100n;
245
- maxPriorityFeePerGas =
246
- (BigInt(request.maxPriorityFeePerGas) * 113n) / 100n;
247
- console.log(`After ${this.sendTxRetryIntervalMs / 60000} minutes, resending tx with Increased Gas fees: maxFeePerGas: ${maxFeePerGas}, maxPriorityFeePerGas: ${maxPriorityFeePerGas}`);
248
- await new Promise((resolve) => setTimeout(resolve, this.sendTxRetryIntervalMs));
249
- continue;
250
- }
251
- throw this.unwrapError(error);
252
- }
253
- } while (hash === "");
254
- return {
255
- hash,
256
- request,
257
- };
258
- }
259
- });
260
- Object.defineProperty(this, "waitForUserOperationTransaction", {
261
- enumerable: true,
262
- configurable: true,
263
- writable: true,
264
- value: async (hash) => {
265
- let blockNumber = await this.rpcClient.getBlockNumber();
266
- for (let i = 0; i < this._txMaxRetries; i++) {
267
- if (this.bundlerProvider === "GELATO") {
268
- const receipt = await this.getUserOperationReceipt(hash)
269
- .catch(() => null);
270
- if (receipt) {
271
- return this.getTransaction(receipt.receipt.transactionHash).then((x) => x.hash);
272
- }
273
- }
274
- else {
275
- const logs = await this.rpcClient.getLogs({
276
- address: constants_js_1.ENTRYPOINT_ADDRESS,
277
- event: (0, viem_1.getAbiItem)({ abi: aa_core_1.EntryPointAbi, name: "UserOperationEvent" }),
278
- args: { userOpHash: hash },
279
- fromBlock: blockNumber - 100n,
280
- });
281
- if (logs.length) {
282
- return logs[0].transactionHash;
283
- }
284
- }
285
- await new Promise((resolve) => setTimeout(resolve, this._txRetryIntervalMs));
286
- }
287
- throw new Error("Failed to find transaction for User Operation");
288
- }
289
- });
290
- Object.defineProperty(this, "getAccount", {
291
- enumerable: true,
292
- configurable: true,
293
- writable: true,
294
- value: () => {
295
- if (!(0, account_js_1.isKernelAccount)(this.account)) {
296
- throw new Error("account not connected!");
297
- }
298
- return this.account;
299
- }
300
- });
301
- Object.defineProperty(this, "dummyPaymasterDataMiddleware", {
302
- enumerable: true,
303
- configurable: true,
304
- writable: true,
305
- value: async (struct) => {
306
- struct.paymasterAndData = "0x";
307
- return struct;
308
- }
309
- });
310
- Object.defineProperty(this, "request", {
311
- enumerable: true,
312
- configurable: true,
313
- writable: true,
314
- value: async (args) => {
315
- const { method, params } = args;
316
- switch (method) {
317
- case "eth_chainId":
318
- return this.chain.id;
319
- case "eth_sendTransaction":
320
- const [tx] = params;
321
- return this.sendTransaction(tx);
322
- case "eth_signTypedData_v4":
323
- return this.signTypedData(JSON.parse(params[1]));
324
- case "personal_sign":
325
- if (!this.account) {
326
- throw new Error("account not connected!");
327
- }
328
- const [data, address] = params;
329
- if (address.toLowerCase() !== (await this.getAddress()).toLowerCase()) {
330
- throw new Error("cannot sign for address that is not the current account");
331
- }
332
- return this.account.signMessageWith6492(data);
333
- default:
334
- return this.rpcClient.request(args);
335
- }
336
- }
337
- });
338
- this.feeOptions = {
339
- maxFeePerGasBufferPercentage: opts?.feeOptions?.maxFeePerGasBufferPercentage ?? 0,
340
- maxPriorityFeePerGasBufferPercentage: opts?.feeOptions?.maxPriorityFeePerGasBufferPercentage ?? 13,
341
- };
342
- this._txMaxRetries = opts?.txMaxRetries ?? 20;
343
- this._txRetryIntervalMs = opts?.txRetryIntervalMs ?? 5000;
344
- this.bundlerProvider = bundlerProvider;
345
- this.projectId = projectId;
346
- this.sendTxMaxRetries =
347
- opts?.sendTxMaxRetries ?? constants_js_1.DEFAULT_SEND_TX_MAX_RETRIES;
348
- this.sendTxRetryIntervalMs =
349
- opts?.sendTxRetryIntervalMs ?? constants_js_1.DEFAULT_SEND_TX_RETRY_INTERVAL_MS;
350
- (0, gas_estimator_js_1.withZeroDevGasEstimator)(this);
351
- }
352
- isReplacementOpError(errorIn) {
353
- if (errorIn.cause != null) {
354
- const failedOpMessage = errorIn?.cause?.message;
355
- return ((failedOpMessage?.includes("replacement op must increase maxFeePerGas and MaxPriorityFeePerGas") ||
356
- failedOpMessage?.match(/.*replacement.*underpriced.*/) !== null) ??
357
- false);
358
- }
359
- return false;
360
- }
361
- unwrapError(errorIn) {
362
- if (errorIn?.cause != null) {
363
- let paymasterInfo = "";
364
- let failedOpMessage = errorIn?.cause?.message;
365
- if (failedOpMessage?.includes("FailedOp") === true) {
366
- const matched = failedOpMessage.match(/FailedOp\((.*)\)/);
367
- if (matched != null) {
368
- const split = matched[1].split(",");
369
- paymasterInfo = `(paymaster address: ${split[1]})`;
370
- failedOpMessage = split[2];
371
- }
372
- }
373
- const error = new Error(`The bundler has failed to include UserOperation in a batch: ${failedOpMessage} ${paymasterInfo}`);
374
- error.stack = errorIn.stack;
375
- return error;
376
- }
377
- return errorIn;
378
- }
379
- withZeroDevPaymasterAndData(config) {
380
- if (!this.isConnected()) {
381
- throw new Error("ZeroDevProvider: account is not set, did you call `connect` first?");
382
- }
383
- return (0, paymaster_js_1.withZeroDevPaymasterAndData)(this, config);
384
- }
385
- }
386
- exports.ZeroDevProvider = ZeroDevProvider;
387
- //# sourceMappingURL=provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/kernel-zerodev/provider.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n fromHex,\n type Address,\n type Chain,\n type Hash,\n type Hex,\n type HttpTransport,\n type RpcTransactionRequest,\n getAbiItem,\n} from \"viem\";\nimport {\n deepHexlify,\n resolveProperties,\n type SmartAccountProviderOpts,\n type UserOperationCallData,\n type BatchUserOperationCallData,\n type SendUserOperationResult,\n asyncPipe,\n noOpMiddleware,\n type UserOperationStruct,\n type BytesLike,\n SmartAccountProvider,\n type AccountMiddlewareFn,\n type UserOperationOverrides,\n EntryPointAbi,\n} from \"@alchemy/aa-core\";\nimport {\n BUNDLER_URL,\n DEFAULT_SEND_TX_MAX_RETRIES,\n DEFAULT_SEND_TX_RETRY_INTERVAL_MS,\n ENTRYPOINT_ADDRESS,\n minPriorityFeePerBidDefaults,\n} from \"./constants.js\";\nimport { KernelSmartContractAccount, isKernelAccount } from \"./account.js\";\nimport { withZeroDevGasEstimator } from \"./middleware/gas-estimator.js\";\nimport { isValidRequest } from \"./utils/ERC4337-utils.js\";\nimport { InvalidOperation } from \"./errors.js\";\nimport { withZeroDevPaymasterAndData } from \"./middleware/paymaster.js\";\nimport { createZeroDevPublicErc4337Client } from \"./client/create-client.js\";\nimport type {\n PaymasterAndBundlerProviders,\n PaymasterConfig,\n PaymasterPolicy,\n} from \"./paymaster/types.js\";\nimport { getChain } from \"./utils.js\";\n\nexport type FeeOptions = {\n maxFeePerGasBufferPercentage?: number;\n maxPriorityFeePerGasBufferPercentage?: number;\n};\nexport type ZeroDevProviderConfig = {\n projectId: string;\n chain: Chain | number;\n entryPointAddress?: Address;\n rpcUrl?: string;\n bundlerRpcUrl?: string;\n account?: KernelSmartContractAccount;\n bundlerProvider?: PaymasterAndBundlerProviders;\n opts?: SmartAccountProviderOpts & {\n sendTxMaxRetries?: number;\n sendTxRetryIntervalMs?: number;\n feeOptions?: FeeOptions;\n };\n};\n\nexport enum Operation {\n Call = 0,\n DelegateCall = 1,\n}\n\ntype UserOpDataOperationTypes<T> = T extends UserOperationCallData\n ? Operation.Call | Operation.DelegateCall\n : T extends BatchUserOperationCallData\n ? Operation.Call\n : never;\n\nexport class ZeroDevProvider extends SmartAccountProvider<HttpTransport> {\n protected projectId: string;\n protected sendTxMaxRetries: number;\n protected sendTxRetryIntervalMs: number;\n readonly bundlerProvider?: PaymasterAndBundlerProviders;\n private _txMaxRetries: number;\n private _txRetryIntervalMs: number;\n private _shouldConsume: boolean = true;\n public feeOptions: Required<FeeOptions>;\n\n constructor({\n projectId,\n chain,\n entryPointAddress = ENTRYPOINT_ADDRESS,\n rpcUrl,\n bundlerRpcUrl = BUNDLER_URL,\n account,\n bundlerProvider,\n opts,\n }: ZeroDevProviderConfig) {\n const _chain = typeof chain === \"number\" ? getChain(chain) : chain;\n const rpcClient = createZeroDevPublicErc4337Client({\n chain: _chain,\n rpcUrl,\n bundlerRpcUrl,\n projectId,\n bundlerProvider,\n });\n\n super(rpcClient, entryPointAddress, _chain, account, {\n ...opts,\n txMaxRetries: opts?.txMaxRetries ?? 20,\n txRetryIntervalMs: opts?.txRetryIntervalMs ?? 10000,\n minPriorityFeePerBid:\n opts?.minPriorityFeePerBid ??\n minPriorityFeePerBidDefaults.get(_chain.id),\n });\n\n this.feeOptions = {\n maxFeePerGasBufferPercentage:\n opts?.feeOptions?.maxFeePerGasBufferPercentage ?? 0,\n maxPriorityFeePerGasBufferPercentage:\n opts?.feeOptions?.maxPriorityFeePerGasBufferPercentage ?? 13,\n };\n this._txMaxRetries = opts?.txMaxRetries ?? 20;\n this._txRetryIntervalMs = opts?.txRetryIntervalMs ?? 5000;\n this.bundlerProvider = bundlerProvider;\n this.projectId = projectId;\n this.sendTxMaxRetries =\n opts?.sendTxMaxRetries ?? DEFAULT_SEND_TX_MAX_RETRIES;\n this.sendTxRetryIntervalMs =\n opts?.sendTxRetryIntervalMs ?? DEFAULT_SEND_TX_RETRY_INTERVAL_MS;\n\n withZeroDevGasEstimator(this);\n }\n\n getProjectId = (): string => this.projectId;\n\n shouldConsume = (): boolean => this._shouldConsume;\n\n sendTransaction = async (\n request: RpcTransactionRequest,\n operation: UserOpDataOperationTypes<UserOperationCallData> = Operation.Call\n ): Promise<Hash> => {\n if (!request.to) {\n throw new Error(\"transaction is missing to address\");\n }\n\n const overrides: UserOperationOverrides = {};\n if (request.maxFeePerGas) {\n overrides.maxFeePerGas = request.maxFeePerGas;\n }\n if (request.maxPriorityFeePerGas) {\n overrides.maxPriorityFeePerGas = request.maxPriorityFeePerGas;\n }\n\n const { hash } = await this.sendUserOperation(\n {\n target: request.to,\n data: request.data ?? \"0x\",\n value: request.value ? fromHex(request.value, \"bigint\") : 0n,\n },\n overrides,\n operation\n );\n\n return await this.waitForUserOperationTransaction(hash as Hash);\n };\n\n buildUserOperation = async <\n T extends UserOperationCallData | BatchUserOperationCallData\n >(\n data: T,\n overrides?: UserOperationOverrides,\n operation: UserOpDataOperationTypes<T> = Operation.Call as UserOpDataOperationTypes<T>\n ): Promise<UserOperationStruct> => {\n this._shouldConsume = false;\n if (!isKernelAccount(this.account)) {\n throw new Error(\"account not connected!\");\n }\n if (!this.account.validator) {\n throw new Error(\"validator not connected!\");\n }\n\n let callData: BytesLike = \"0x\";\n\n if (Array.isArray(data)) {\n if (operation === Operation.Call) {\n callData = await this.account.encodeBatchExecute(data);\n } else {\n throw InvalidOperation;\n }\n } else if (isKernelAccount(this.account)) {\n if (operation === Operation.DelegateCall) {\n callData = await this.account.encodeExecuteDelegate(\n data.target,\n data.value ?? 0n,\n data.data\n );\n } else if (operation === Operation.Call) {\n callData = await this.account.encodeExecute(\n data.target,\n data.value ?? 0n,\n data.data\n );\n } else {\n throw InvalidOperation;\n }\n } else {\n throw InvalidOperation;\n }\n\n const initCode = await this.account.getInitCode();\n const nonce = await this.account.getNonce();\n const result = await this._runMiddlewareStack(\n {\n initCode,\n sender: this.getAddress(),\n nonce,\n callData,\n signature: await this.account\n .getValidator()\n .getDynamicDummySignature(await this.getAddress(), callData as Hex),\n } as UserOperationStruct,\n overrides\n );\n this._shouldConsume = true;\n return result;\n };\n\n private _runMiddlewareStack = async (\n uo: UserOperationStruct,\n overrides?: UserOperationOverrides\n ): Promise<UserOperationStruct> => {\n const result = await asyncPipe(\n this.dummyPaymasterDataMiddleware,\n this.feeDataGetter,\n this.paymasterDataMiddleware,\n this.gasEstimator,\n this.customMiddleware ?? noOpMiddleware,\n async (struct) => ({ ...struct, ...overrides })\n )(uo);\n\n return deepHexlify(await resolveProperties<UserOperationStruct>(result));\n };\n\n sendUserOperation = async <\n T extends UserOperationCallData | BatchUserOperationCallData\n >(\n data: T,\n overrides?: UserOperationOverrides,\n operation: UserOpDataOperationTypes<T> = Operation.Call as UserOpDataOperationTypes<T>\n ): Promise<SendUserOperationResult> => {\n if (!this._shouldConsume)\n throw new Error(\n \"Cannot send user operation while building user operation\"\n );\n if (!isKernelAccount(this.account)) {\n throw new Error(\"account not connected!\");\n }\n if (!this.account.validator) {\n throw new Error(\"validator not connected!\");\n }\n\n let callData: BytesLike = \"0x\";\n\n if (Array.isArray(data)) {\n if (operation === Operation.Call) {\n callData = await this.account.encodeBatchExecute(data);\n } else {\n throw InvalidOperation;\n }\n } else if (isKernelAccount(this.account)) {\n if (operation === Operation.DelegateCall) {\n callData = await this.account.encodeExecuteDelegate(\n data.target,\n data.value ?? 0n,\n data.data\n );\n } else if (operation === Operation.Call) {\n callData = await this.account.encodeExecute(\n data.target,\n data.value ?? 0n,\n data.data\n );\n } else {\n throw InvalidOperation;\n }\n } else {\n throw InvalidOperation;\n }\n\n const initCode = await this.account.getInitCode();\n let hash: string = \"\";\n let i = 0;\n const nonce = await this.account.getNonce();\n let uoStruct: UserOperationStruct;\n let request: UserOperationStruct;\n let maxFeePerGas, maxPriorityFeePerGas;\n do {\n uoStruct = await asyncPipe(\n this.dummyPaymasterDataMiddleware,\n this.feeDataGetter,\n this.paymasterDataMiddleware,\n this.gasEstimator,\n this.customMiddleware ?? noOpMiddleware,\n async (struct) => ({ ...struct, ...overrides })\n )({\n initCode,\n sender: this.getAddress(),\n nonce,\n callData,\n signature: await this.account\n .getValidator()\n .getDynamicDummySignature(await this.getAddress(), callData as Hex),\n maxFeePerGas,\n maxPriorityFeePerGas,\n } as UserOperationStruct);\n request = deepHexlify(await resolveProperties(uoStruct));\n\n if (!isValidRequest(request)) {\n // this pretty prints the uo\n throw new Error(\n `Request is missing parameters. All properties on UserOperationStruct must be set. uo: ${JSON.stringify(\n request,\n null,\n 2\n )}`\n );\n }\n\n await this.account.approvePlugin();\n\n request.signature = await this.account.validator.getSignature(request);\n try {\n hash = await this.rpcClient.sendUserOperation(\n request,\n this.entryPointAddress\n );\n } catch (error: any) {\n if (this.isReplacementOpError(error) && i++ < this.sendTxMaxRetries) {\n maxFeePerGas = (BigInt(request.maxFeePerGas) * 113n) / 100n;\n maxPriorityFeePerGas =\n (BigInt(request.maxPriorityFeePerGas) * 113n) / 100n;\n\n console.log(\n `After ${\n this.sendTxRetryIntervalMs / 60000\n } minutes, resending tx with Increased Gas fees: maxFeePerGas: ${maxFeePerGas}, maxPriorityFeePerGas: ${maxPriorityFeePerGas}`\n );\n await new Promise((resolve) =>\n setTimeout(resolve, this.sendTxRetryIntervalMs)\n );\n continue;\n }\n throw this.unwrapError(error);\n }\n } while (hash === \"\");\n\n return {\n hash,\n request,\n };\n };\n\n isReplacementOpError(errorIn: any): boolean {\n if (errorIn.cause != null) {\n const failedOpMessage: string | undefined = errorIn?.cause?.message;\n return (\n (failedOpMessage?.includes(\n \"replacement op must increase maxFeePerGas and MaxPriorityFeePerGas\"\n ) ||\n failedOpMessage?.match(/.*replacement.*underpriced.*/) !== null) ??\n false\n );\n }\n return false;\n }\n\n unwrapError(errorIn: any): Error {\n if (errorIn?.cause != null) {\n let paymasterInfo: string = \"\";\n let failedOpMessage: string | undefined = errorIn?.cause?.message;\n if (failedOpMessage?.includes(\"FailedOp\") === true) {\n // TODO: better error extraction methods will be needed\n const matched = failedOpMessage.match(/FailedOp\\((.*)\\)/);\n if (matched != null) {\n const split = matched[1].split(\",\");\n paymasterInfo = `(paymaster address: ${split[1]})`;\n failedOpMessage = split[2];\n }\n }\n const error = new Error(\n `The bundler has failed to include UserOperation in a batch: ${failedOpMessage} ${paymasterInfo}`\n );\n error.stack = errorIn.stack;\n return error;\n }\n return errorIn;\n }\n\n waitForUserOperationTransaction = async (hash: Hash): Promise<Hash> => {\n let blockNumber = await this.rpcClient.getBlockNumber();\n for (let i = 0; i < this._txMaxRetries; i++) {\n if (this.bundlerProvider === \"GELATO\") {\n const receipt = await this.getUserOperationReceipt(\n hash as `0x${string}`\n )\n // TODO: should maybe log the error?\n .catch(() => null);\n if (receipt) {\n return this.getTransaction(receipt.receipt.transactionHash).then(\n (x) => x.hash\n );\n }\n } else {\n const logs = await this.rpcClient.getLogs({\n address: ENTRYPOINT_ADDRESS,\n event: getAbiItem({ abi: EntryPointAbi, name: \"UserOperationEvent\" }),\n args: { userOpHash: hash },\n fromBlock: blockNumber - 100n,\n });\n if (logs.length) {\n return logs[0].transactionHash;\n }\n }\n await new Promise((resolve) =>\n setTimeout(resolve, this._txRetryIntervalMs)\n );\n }\n\n throw new Error(\"Failed to find transaction for User Operation\");\n };\n\n getAccount: () => KernelSmartContractAccount = () => {\n if (!isKernelAccount(this.account)) {\n throw new Error(\"account not connected!\");\n }\n return this.account;\n };\n\n dummyPaymasterDataMiddleware: AccountMiddlewareFn = async (\n struct: UserOperationStruct\n ): Promise<UserOperationStruct> => {\n struct.paymasterAndData = \"0x\";\n return struct;\n };\n\n withZeroDevPaymasterAndData(config: PaymasterConfig<PaymasterPolicy>) {\n if (!this.isConnected()) {\n throw new Error(\n \"ZeroDevProvider: account is not set, did you call `connect` first?\"\n );\n }\n\n return withZeroDevPaymasterAndData(this, config);\n }\n\n request: (args: { method: string; params?: any[] }) => Promise<any> = async (\n args\n ) => {\n const { method, params } = args;\n switch (method) {\n case \"eth_chainId\":\n return this.chain.id;\n case \"eth_sendTransaction\":\n const [tx] = params as [RpcTransactionRequest];\n return this.sendTransaction(tx);\n case \"eth_signTypedData_v4\":\n //@ts-expect-error\n return this.signTypedData(JSON.parse(params[1]));\n case \"personal_sign\":\n if (!this.account) {\n throw new Error(\"account not connected!\");\n }\n const [data, address] = params!;\n if (address.toLowerCase() !== (await this.getAddress()).toLowerCase()) {\n throw new Error(\n \"cannot sign for address that is not the current account\"\n );\n }\n // @ts-ignore\n return this.account.signMessageWith6492(data);\n default:\n // @ts-ignore\n return this.rpcClient.request(args);\n }\n };\n}\n"]}
@@ -1,10 +0,0 @@
1
- import type { SignTypedDataParams, SmartAccountSigner } from "@alchemy/aa-core";
2
- import { type Hex } from "viem";
3
- export declare class EmptyAccountSigner implements SmartAccountSigner {
4
- private owner;
5
- constructor(owner: Hex);
6
- readonly signMessage: (msg: string | Uint8Array) => Promise<`0x${string}`>;
7
- readonly signTypedData: (_params: SignTypedDataParams) => never;
8
- readonly getAddress: () => Promise<`0x${string}`>;
9
- static addressToAccountSigner(ownerAddress: Hex): EmptyAccountSigner;
10
- }
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EmptyAccountSigner = void 0;
4
- class EmptyAccountSigner {
5
- constructor(owner) {
6
- Object.defineProperty(this, "owner", {
7
- enumerable: true,
8
- configurable: true,
9
- writable: true,
10
- value: void 0
11
- });
12
- Object.defineProperty(this, "signMessage", {
13
- enumerable: true,
14
- configurable: true,
15
- writable: true,
16
- value: (_msg) => {
17
- throw Error("EmptyAccountSigner: method not implemented");
18
- }
19
- });
20
- Object.defineProperty(this, "signTypedData", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: (_params) => {
25
- throw Error("EmptyAccountSigner: method not implemented");
26
- }
27
- });
28
- Object.defineProperty(this, "getAddress", {
29
- enumerable: true,
30
- configurable: true,
31
- writable: true,
32
- value: async () => {
33
- return this.owner;
34
- }
35
- });
36
- this.owner = owner;
37
- }
38
- static addressToAccountSigner(ownerAddress) {
39
- return new EmptyAccountSigner(ownerAddress);
40
- }
41
- }
42
- exports.EmptyAccountSigner = EmptyAccountSigner;
43
- //# sourceMappingURL=empty-account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty-account.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/signer/empty-account.ts"],"names":[],"mappings":";;;AAGA,MAAa,kBAAkB;IAE7B,YAAY,KAAU;QADd;;;;;WAAW;QAKV;;;;mBAAoE,CAC3E,IAAI,EACJ,EAAE;gBACF,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,CAAC;WAAC;QAEO;;;;mBAAgB,CAAC,OAA4B,EAAE,EAAE;gBACxD,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,CAAC;WAAC;QAEO;;;;mBAA2C,KAAK,IAAI,EAAE;gBAC7D,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;WAAC;QAfA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAgBD,MAAM,CAAC,sBAAsB,CAAC,YAAiB;QAC7C,OAAO,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;CACF;AAvBD,gDAuBC","sourcesContent":["import type { SignTypedDataParams, SmartAccountSigner } from \"@alchemy/aa-core\";\nimport { type Hex } from \"viem\";\n\nexport class EmptyAccountSigner implements SmartAccountSigner {\n private owner: Hex;\n constructor(owner: Hex) {\n this.owner = owner;\n }\n\n readonly signMessage: (msg: string | Uint8Array) => Promise<`0x${string}`> = (\n _msg\n ) => {\n throw Error(\"EmptyAccountSigner: method not implemented\");\n };\n\n readonly signTypedData = (_params: SignTypedDataParams) => {\n throw Error(\"EmptyAccountSigner: method not implemented\");\n };\n\n readonly getAddress: () => Promise<`0x${string}`> = async () => {\n return this.owner;\n };\n\n static addressToAccountSigner(ownerAddress: Hex): EmptyAccountSigner {\n return new EmptyAccountSigner(ownerAddress);\n }\n}\n"]}
@@ -1,7 +0,0 @@
1
- export type WithOptional<T, K extends keyof T> = Pick<Partial<T>, K>;
2
- export type WithRequired<T, K extends keyof T> = Required<Pick<T, K>>;
3
- export type MakeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
4
- export type RequiredKeys<T> = {
5
- [K in keyof T]-?: {} extends Pick<T, K> ? never : K;
6
- }[keyof T];
7
- export type RequiredProps<T> = Pick<T, RequiredKeys<T>>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/kernel-zerodev/types.ts"],"names":[],"mappings":"","sourcesContent":["export type WithOptional<T, K extends keyof T> = Pick<Partial<T>, K>;\nexport type WithRequired<T, K extends keyof T> = Required<Pick<T, K>>;\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> &\n Partial<Pick<T, K>>;\nexport type RequiredKeys<T> = {\n [K in keyof T]-?: {} extends Pick<T, K> ? never : K;\n}[keyof T];\nexport type RequiredProps<T> = Pick<T, RequiredKeys<T>>;\n"]}
@@ -1,5 +0,0 @@
1
- import { type UserOperationRequest, type UserOperationStruct } from "@alchemy/aa-core";
2
- import type { NotPromise } from "./calc-pre-verification-gas.js";
3
- export declare function packUserOp(op: NotPromise<UserOperationStruct>, forSignature?: boolean): string;
4
- export declare function isValidRequest(request: UserOperationStruct): request is UserOperationRequest;
5
- export declare const hexifyUserOp: (resolvedUserOp: any) => {};
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hexifyUserOp = exports.isValidRequest = exports.packUserOp = void 0;
4
- const aa_core_1 = require("@alchemy/aa-core");
5
- const viem_1 = require("viem");
6
- const validateUserOpMethod = "simulateValidation";
7
- const UserOpType = aa_core_1.EntryPointAbi.find((entry) => entry.name === validateUserOpMethod)?.inputs[0];
8
- function encode(typevalues, forSignature) {
9
- const types = typevalues
10
- .map((typevalue) => typevalue.type === "bytes" && forSignature ? "bytes32" : typevalue.type)
11
- .join(", ");
12
- const values = typevalues.map((typevalue) => typevalue.type === "bytes" && forSignature
13
- ? (0, viem_1.keccak256)(typevalue.val)
14
- : typevalue.val);
15
- return (0, viem_1.encodeAbiParameters)((0, viem_1.parseAbiParameters)(types), values);
16
- }
17
- function packUserOp(op, forSignature = true) {
18
- if (forSignature) {
19
- const userOpType = {
20
- components: [
21
- {
22
- type: "address",
23
- name: "sender",
24
- },
25
- {
26
- type: "uint256",
27
- name: "nonce",
28
- },
29
- {
30
- type: "bytes",
31
- name: "initCode",
32
- },
33
- {
34
- type: "bytes",
35
- name: "callData",
36
- },
37
- {
38
- type: "uint256",
39
- name: "callGasLimit",
40
- },
41
- {
42
- type: "uint256",
43
- name: "verificationGasLimit",
44
- },
45
- {
46
- type: "uint256",
47
- name: "preVerificationGas",
48
- },
49
- {
50
- type: "uint256",
51
- name: "maxFeePerGas",
52
- },
53
- {
54
- type: "uint256",
55
- name: "maxPriorityFeePerGas",
56
- },
57
- {
58
- type: "bytes",
59
- name: "paymasterAndData",
60
- },
61
- {
62
- type: "bytes",
63
- name: "signature",
64
- },
65
- ],
66
- name: "userOp",
67
- type: "tuple",
68
- };
69
- let encoded = (0, viem_1.encodeAbiParameters)(userOpType.components, Object.values({
70
- ...op,
71
- signature: "0x",
72
- }));
73
- encoded = ("0x" + encoded.slice(66, encoded.length - 64));
74
- return encoded;
75
- }
76
- const typevalues = UserOpType.components.map((c) => ({
77
- type: c.type,
78
- val: op[c.name],
79
- }));
80
- return encode(typevalues, forSignature);
81
- }
82
- exports.packUserOp = packUserOp;
83
- function isValidRequest(request) {
84
- return (!!request.callGasLimit &&
85
- !!request.maxFeePerGas &&
86
- request.maxPriorityFeePerGas != null &&
87
- !!request.preVerificationGas &&
88
- !!request.verificationGasLimit);
89
- }
90
- exports.isValidRequest = isValidRequest;
91
- const hexifyUserOp = (resolvedUserOp) => {
92
- return Object.keys(resolvedUserOp)
93
- .map((key) => {
94
- let val = resolvedUserOp[key];
95
- if (typeof val !== "string" || !val.startsWith("0x")) {
96
- val = (0, viem_1.toHex)(val);
97
- }
98
- return [key, val];
99
- })
100
- .reduce((set, [k, v]) => ({
101
- ...set,
102
- [k]: v,
103
- }), {});
104
- };
105
- exports.hexifyUserOp = hexifyUserOp;
106
- //# sourceMappingURL=ERC4337-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ERC4337-utils.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/utils/ERC4337-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n EntryPointAbi,\n type UserOperationRequest,\n type UserOperationStruct,\n} from \"@alchemy/aa-core\";\nimport type { NotPromise } from \"./calc-pre-verification-gas.js\";\nimport {\n encodeAbiParameters,\n parseAbiParameters,\n type Hex,\n keccak256,\n toHex,\n} from \"viem\";\n\n// UserOperation is the first parameter of validateUseOp\nconst validateUserOpMethod = \"simulateValidation\";\n\nconst UserOpType = EntryPointAbi.find(\n // @ts-ignore\n (entry) => entry.name === validateUserOpMethod\n // @ts-ignore\n)?.inputs[0];\n\nfunction encode(\n typevalues: Array<{ type: string; val: any }>,\n forSignature: boolean\n): string {\n const types = typevalues\n .map((typevalue) =>\n typevalue.type === \"bytes\" && forSignature ? \"bytes32\" : typevalue.type\n )\n .join(\", \");\n const values = typevalues.map((typevalue) =>\n typevalue.type === \"bytes\" && forSignature\n ? keccak256(typevalue.val)\n : typevalue.val\n );\n return encodeAbiParameters(parseAbiParameters(types), values);\n}\n\n/**\n * pack the userOperation\n * @param op\n * @param forSignature \"true\" if the hash is needed to calculate the getUserOpHash()\n * \"false\" to pack entire UserOp, for calculating the calldata cost of putting it on-chain.\n */\nexport function packUserOp(\n op: NotPromise<UserOperationStruct>,\n forSignature = true\n): string {\n if (forSignature) {\n // lighter signature scheme (must match UserOperation#pack): do encode a zero-length signature, but strip afterwards the appended zero-length value\n const userOpType = {\n components: [\n {\n type: \"address\",\n name: \"sender\",\n },\n {\n type: \"uint256\",\n name: \"nonce\",\n },\n {\n type: \"bytes\",\n name: \"initCode\",\n },\n {\n type: \"bytes\",\n name: \"callData\",\n },\n {\n type: \"uint256\",\n name: \"callGasLimit\",\n },\n {\n type: \"uint256\",\n name: \"verificationGasLimit\",\n },\n {\n type: \"uint256\",\n name: \"preVerificationGas\",\n },\n {\n type: \"uint256\",\n name: \"maxFeePerGas\",\n },\n {\n type: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n },\n {\n type: \"bytes\",\n name: \"paymasterAndData\",\n },\n {\n type: \"bytes\",\n name: \"signature\",\n },\n ],\n name: \"userOp\",\n type: \"tuple\",\n };\n // console.log('hard-coded userOpType', userOpType)\n // console.log('from ABI userOpType', UserOpType)\n let encoded = encodeAbiParameters(\n userOpType.components,\n Object.values({\n ...op,\n signature: \"0x\",\n })\n );\n // remove leading word (total length) and trailing word (zero-length signature)\n encoded = (\"0x\" + encoded.slice(66, encoded.length - 64)) as Hex;\n return encoded;\n }\n\n const typevalues = (UserOpType as any).components.map(\n (c: { name: keyof typeof op; type: string }) => ({\n type: c.type,\n val: op[c.name],\n })\n );\n return encode(typevalues, forSignature);\n}\n\n/**\n * Utility method for asserting a {@link UserOperationStruct} is a {@link UserOperationRequest}\n *\n * @param request a {@link UserOperationStruct} to validate\n * @returns a type guard that asserts the {@link UserOperationStruct} is a {@link UserOperationRequest}\n */\nexport function isValidRequest(\n request: UserOperationStruct\n): request is UserOperationRequest {\n // These are the only ones marked as optional in the interface above\n return (\n !!request.callGasLimit &&\n !!request.maxFeePerGas &&\n request.maxPriorityFeePerGas != null &&\n !!request.preVerificationGas &&\n !!request.verificationGasLimit\n );\n}\n\nexport const hexifyUserOp = (resolvedUserOp: any) => {\n return Object.keys(resolvedUserOp)\n .map((key) => {\n let val = resolvedUserOp[key];\n if (typeof val !== \"string\" || !val.startsWith(\"0x\")) {\n val = toHex(val);\n }\n return [key, val];\n })\n .reduce(\n (set, [k, v]) => ({\n ...set,\n [k]: v,\n }),\n {}\n );\n};\n"]}