@zerodev/sdk 4.7.3 → 5.0.0-alpha-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 (766) 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 +14 -0
  4. package/_cjs/accounts/index.js.map +1 -0
  5. package/{dist/cjs/kernel-zerodev/abis → _cjs/accounts/kernel/abi}/KernelAccountAbi.js +274 -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/abi/kernel_v_3_0_0/KernelAccountAbi.js +738 -0
  12. package/_cjs/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.js.map +1 -0
  13. package/_cjs/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.js +15 -0
  14. package/_cjs/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.js.map +1 -0
  15. package/_cjs/accounts/kernel/createKernelAccount.js +511 -0
  16. package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -0
  17. package/_cjs/accounts/kernel/v1/createKernelV1Account.js +201 -0
  18. package/_cjs/accounts/kernel/v1/createKernelV1Account.js.map +1 -0
  19. package/_cjs/accounts/kernel/v1/multisend.js +31 -0
  20. package/_cjs/accounts/kernel/v1/multisend.js.map +1 -0
  21. package/_cjs/accounts/utils/6492.js +47 -0
  22. package/_cjs/accounts/utils/6492.js.map +1 -0
  23. package/_cjs/accounts/utils/index.js +15 -0
  24. package/_cjs/accounts/utils/index.js.map +1 -0
  25. package/_cjs/accounts/utils/toKernelPluginManager.js +270 -0
  26. package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -0
  27. package/_cjs/actions/account-client/signUserOperation.js +16 -0
  28. package/_cjs/actions/account-client/signUserOperation.js.map +1 -0
  29. package/_cjs/actions/index.js +10 -0
  30. package/_cjs/actions/index.js.map +1 -0
  31. package/_cjs/actions/paymaster/estimateGasInERC20.js +26 -0
  32. package/_cjs/actions/paymaster/estimateGasInERC20.js.map +1 -0
  33. package/_cjs/actions/paymaster/sponsorUserOperation.js +43 -0
  34. package/_cjs/actions/paymaster/sponsorUserOperation.js.map +1 -0
  35. package/_cjs/clients/decorators/index.js +6 -0
  36. package/_cjs/clients/decorators/index.js.map +1 -0
  37. package/_cjs/clients/decorators/kernel.js +24 -0
  38. package/_cjs/clients/decorators/kernel.js.map +1 -0
  39. package/_cjs/clients/index.js +8 -0
  40. package/_cjs/clients/index.js.map +1 -0
  41. package/_cjs/clients/kernelAccountClient.js +20 -0
  42. package/_cjs/clients/kernelAccountClient.js.map +1 -0
  43. package/_cjs/clients/paymasterClient.js +17 -0
  44. package/_cjs/clients/paymasterClient.js.map +1 -0
  45. package/_cjs/constants.js +40 -0
  46. package/_cjs/constants.js.map +1 -0
  47. package/_cjs/gasTokenAddresses.js +358 -0
  48. package/_cjs/gasTokenAddresses.js.map +1 -0
  49. package/_cjs/index.js +38 -0
  50. package/_cjs/index.js.map +1 -0
  51. package/_cjs/package.json +1 -0
  52. package/_cjs/providers/KernelEIP1193Provider.js +62 -0
  53. package/_cjs/providers/KernelEIP1193Provider.js.map +1 -0
  54. package/_cjs/providers/index.js +6 -0
  55. package/_cjs/providers/index.js.map +1 -0
  56. package/_cjs/types/index.js +6 -0
  57. package/_cjs/types/index.js.map +1 -0
  58. package/_cjs/types/kernel.js +10 -0
  59. package/_cjs/types/kernel.js.map +1 -0
  60. package/_cjs/utils.js +84 -0
  61. package/_cjs/utils.js.map +1 -0
  62. package/_esm/accounts/addressToEmptyAccount.js +21 -0
  63. package/_esm/accounts/addressToEmptyAccount.js.map +1 -0
  64. package/_esm/accounts/index.js +5 -0
  65. package/_esm/accounts/index.js.map +1 -0
  66. package/_esm/accounts/kernel/abi/KernelAccountAbi.js +814 -0
  67. package/_esm/accounts/kernel/abi/KernelAccountAbi.js.map +1 -0
  68. package/{dist/esm/kernel-zerodev/abis → _esm/accounts/kernel/abi}/KernelFactoryAbi.js +87 -87
  69. package/_esm/accounts/kernel/abi/KernelFactoryAbi.js.map +1 -0
  70. package/{dist/esm/kernel-zerodev/abis → _esm/accounts/kernel/abi}/TokenActionsAbi.js +18 -18
  71. package/_esm/accounts/kernel/abi/TokenActionsAbi.js.map +1 -0
  72. package/_esm/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.js +735 -0
  73. package/_esm/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.js.map +1 -0
  74. package/_esm/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.js +12 -0
  75. package/_esm/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.js.map +1 -0
  76. package/_esm/accounts/kernel/createKernelAccount.js +559 -0
  77. package/_esm/accounts/kernel/createKernelAccount.js.map +1 -0
  78. package/_esm/accounts/kernel/v1/createKernelV1Account.js +208 -0
  79. package/_esm/accounts/kernel/v1/createKernelV1Account.js.map +1 -0
  80. package/_esm/accounts/kernel/v1/multisend.js +28 -0
  81. package/_esm/accounts/kernel/v1/multisend.js.map +1 -0
  82. package/_esm/accounts/utils/6492.js +50 -0
  83. package/_esm/accounts/utils/6492.js.map +1 -0
  84. package/_esm/accounts/utils/index.js +8 -0
  85. package/_esm/accounts/utils/index.js.map +1 -0
  86. package/_esm/accounts/utils/toKernelPluginManager.js +267 -0
  87. package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -0
  88. package/_esm/actions/account-client/signUserOperation.js +12 -0
  89. package/_esm/actions/account-client/signUserOperation.js.map +1 -0
  90. package/_esm/actions/index.js +4 -0
  91. package/_esm/actions/index.js.map +1 -0
  92. package/_esm/actions/paymaster/estimateGasInERC20.js +25 -0
  93. package/_esm/actions/paymaster/estimateGasInERC20.js.map +1 -0
  94. package/_esm/actions/paymaster/sponsorUserOperation.js +61 -0
  95. package/_esm/actions/paymaster/sponsorUserOperation.js.map +1 -0
  96. package/_esm/clients/decorators/index.js +2 -0
  97. package/_esm/clients/decorators/index.js.map +1 -0
  98. package/_esm/clients/decorators/kernel.js +20 -0
  99. package/_esm/clients/decorators/kernel.js.map +1 -0
  100. package/_esm/clients/index.js +3 -0
  101. package/_esm/clients/index.js.map +1 -0
  102. package/_esm/clients/kernelAccountClient.js +17 -0
  103. package/_esm/clients/kernelAccountClient.js.map +1 -0
  104. package/_esm/clients/paymasterClient.js +30 -0
  105. package/_esm/clients/paymasterClient.js.map +1 -0
  106. package/_esm/constants.js +38 -0
  107. package/_esm/constants.js.map +1 -0
  108. package/_esm/gasTokenAddresses.js +355 -0
  109. package/_esm/gasTokenAddresses.js.map +1 -0
  110. package/_esm/index.js +17 -0
  111. package/_esm/index.js.map +1 -0
  112. package/_esm/package.json +1 -0
  113. package/_esm/providers/KernelEIP1193Provider.js +60 -0
  114. package/_esm/providers/KernelEIP1193Provider.js.map +1 -0
  115. package/_esm/providers/index.js +2 -0
  116. package/_esm/providers/index.js.map +1 -0
  117. package/_esm/types/index.js +2 -0
  118. package/_esm/types/index.js.map +1 -0
  119. package/_esm/types/kernel.js +9 -0
  120. package/_esm/types/kernel.js.map +1 -0
  121. package/_esm/utils.js +76 -0
  122. package/_esm/utils.js.map +1 -0
  123. package/_types/accounts/addressToEmptyAccount.d.ts +4 -0
  124. package/_types/accounts/addressToEmptyAccount.d.ts.map +1 -0
  125. package/_types/accounts/index.d.ts +5 -0
  126. package/_types/accounts/index.d.ts.map +1 -0
  127. package/{dist/cjs/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelAccountAbi.d.ts +96 -0
  128. package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelAccountAbi.d.ts.map +1 -1
  129. package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelFactoryAbi.d.ts.map +1 -1
  130. package/_types/accounts/kernel/abi/TokenActionsAbi.d.ts.map +1 -0
  131. package/_types/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.d.ts +843 -0
  132. package/_types/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.d.ts.map +1 -0
  133. package/_types/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.d.ts +16 -0
  134. package/_types/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.d.ts.map +1 -0
  135. package/_types/accounts/kernel/createKernelAccount.d.ts +92 -0
  136. package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -0
  137. package/_types/accounts/kernel/v1/createKernelV1Account.d.ts +11 -0
  138. package/_types/accounts/kernel/v1/createKernelV1Account.d.ts.map +1 -0
  139. package/_types/accounts/kernel/v1/multisend.d.ts +13 -0
  140. package/_types/accounts/kernel/v1/multisend.d.ts.map +1 -0
  141. package/_types/accounts/utils/6492.d.ts +18 -0
  142. package/_types/accounts/utils/6492.d.ts.map +1 -0
  143. package/_types/accounts/utils/index.d.ts +5 -0
  144. package/_types/accounts/utils/index.d.ts.map +1 -0
  145. package/_types/accounts/utils/toKernelPluginManager.d.ts +6 -0
  146. package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -0
  147. package/_types/actions/account-client/signUserOperation.d.ts +10 -0
  148. package/_types/actions/account-client/signUserOperation.d.ts.map +1 -0
  149. package/_types/actions/index.d.ts +4 -0
  150. package/_types/actions/index.d.ts.map +1 -0
  151. package/_types/actions/paymaster/estimateGasInERC20.d.ts +21 -0
  152. package/_types/actions/paymaster/estimateGasInERC20.d.ts.map +1 -0
  153. package/_types/actions/paymaster/sponsorUserOperation.d.ts +18 -0
  154. package/_types/actions/paymaster/sponsorUserOperation.d.ts.map +1 -0
  155. package/_types/clients/decorators/index.d.ts +2 -0
  156. package/_types/clients/decorators/index.d.ts.map +1 -0
  157. package/_types/clients/decorators/kernel.d.ts +28 -0
  158. package/_types/clients/decorators/kernel.d.ts.map +1 -0
  159. package/_types/clients/index.d.ts +3 -0
  160. package/_types/clients/index.d.ts.map +1 -0
  161. package/_types/clients/kernelAccountClient.d.ts +359 -0
  162. package/_types/clients/kernelAccountClient.d.ts.map +1 -0
  163. package/_types/clients/paymasterClient.d.ts +39 -0
  164. package/_types/clients/paymasterClient.d.ts.map +1 -0
  165. package/_types/constants.d.ts +30 -0
  166. package/_types/constants.d.ts.map +1 -0
  167. package/_types/gasTokenAddresses.d.ts +27 -0
  168. package/_types/gasTokenAddresses.d.ts.map +1 -0
  169. package/_types/index.d.ts +16 -0
  170. package/_types/index.d.ts.map +1 -0
  171. package/_types/providers/KernelEIP1193Provider.d.ts +15 -0
  172. package/_types/providers/KernelEIP1193Provider.d.ts.map +1 -0
  173. package/_types/providers/index.d.ts +2 -0
  174. package/_types/providers/index.d.ts.map +1 -0
  175. package/_types/types/index.d.ts +3 -0
  176. package/_types/types/index.d.ts.map +1 -0
  177. package/_types/types/kernel.d.ts +136 -0
  178. package/_types/types/kernel.d.ts.map +1 -0
  179. package/_types/utils.d.ts +22 -0
  180. package/_types/utils.d.ts.map +1 -0
  181. package/accounts/addressToEmptyAccount.ts +24 -0
  182. package/accounts/index.ts +9 -0
  183. package/{dist/esm/kernel-zerodev/abis/KernelAccountAbi.js → accounts/kernel/abi/KernelAccountAbi.ts} +282 -159
  184. package/accounts/kernel/abi/KernelFactoryAbi.ts +380 -0
  185. package/accounts/kernel/abi/TokenActionsAbi.ts +81 -0
  186. package/accounts/kernel/abi/kernel_v_3_0_0/KernelAccountAbi.ts +736 -0
  187. package/accounts/kernel/abi/kernel_v_3_0_0/KernelModuleAbi.ts +11 -0
  188. package/accounts/kernel/createKernelAccount.ts +842 -0
  189. package/accounts/kernel/v1/createKernelV1Account.ts +315 -0
  190. package/accounts/kernel/v1/multisend.ts +43 -0
  191. package/accounts/utils/6492.ts +96 -0
  192. package/accounts/utils/index.ts +12 -0
  193. package/accounts/utils/toKernelPluginManager.ts +369 -0
  194. package/actions/account-client/signUserOperation.ts +71 -0
  195. package/actions/index.ts +17 -0
  196. package/actions/paymaster/estimateGasInERC20.ts +58 -0
  197. package/actions/paymaster/sponsorUserOperation.ts +143 -0
  198. package/clients/decorators/index.ts +4 -0
  199. package/clients/decorators/kernel.ts +97 -0
  200. package/clients/index.ts +9 -0
  201. package/clients/kernelAccountClient.ts +87 -0
  202. package/clients/paymasterClient.ts +57 -0
  203. package/constants.ts +38 -0
  204. package/gasTokenAddresses.ts +670 -0
  205. package/index.ts +45 -0
  206. package/package.json +95 -71
  207. package/providers/KernelEIP1193Provider.ts +79 -0
  208. package/providers/index.ts +1 -0
  209. package/types/index.ts +12 -0
  210. package/types/kernel.ts +186 -0
  211. package/utils.ts +114 -0
  212. package/README.md +0 -5
  213. package/dist/cjs/index.d.ts +0 -22
  214. package/dist/cjs/index.js +0 -61
  215. package/dist/cjs/index.js.map +0 -1
  216. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -162
  217. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js +0 -215
  218. package/dist/cjs/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js.map +0 -1
  219. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.d.ts +0 -231
  220. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.js +0 -157
  221. package/dist/cjs/kernel-zerodev/abis/ERC20Abi.js.map +0 -1
  222. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -158
  223. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js +0 -210
  224. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +0 -1
  225. package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.js.map +0 -1
  226. package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.d.ts +0 -293
  227. package/dist/cjs/kernel-zerodev/abis/KernelFactoryAbi.js.map +0 -1
  228. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -150
  229. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.js +0 -200
  230. package/dist/cjs/kernel-zerodev/abis/KillSwitchValidatorAbi.js.map +0 -1
  231. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -15
  232. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.js +0 -24
  233. package/dist/cjs/kernel-zerodev/abis/MultiSendAbi.js.map +0 -1
  234. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -15
  235. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js +0 -24
  236. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js.map +0 -1
  237. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -212
  238. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js +0 -281
  239. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +0 -1
  240. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -237
  241. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js +0 -161
  242. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js.map +0 -1
  243. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -287
  244. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.js +0 -377
  245. package/dist/cjs/kernel-zerodev/abis/Test_ERC721Abi.js.map +0 -1
  246. package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.d.ts +0 -63
  247. package/dist/cjs/kernel-zerodev/abis/TokenActionsAbi.js.map +0 -1
  248. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -375
  249. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js +0 -272
  250. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js.map +0 -1
  251. package/dist/cjs/kernel-zerodev/abis/index.d.ts +0 -8
  252. package/dist/cjs/kernel-zerodev/abis/index.js +0 -18
  253. package/dist/cjs/kernel-zerodev/abis/index.js.map +0 -1
  254. package/dist/cjs/kernel-zerodev/account.d.ts +0 -51
  255. package/dist/cjs/kernel-zerodev/account.js +0 -323
  256. package/dist/cjs/kernel-zerodev/account.js.map +0 -1
  257. package/dist/cjs/kernel-zerodev/api/index.d.ts +0 -5
  258. package/dist/cjs/kernel-zerodev/api/index.js +0 -68
  259. package/dist/cjs/kernel-zerodev/api/index.js.map +0 -1
  260. package/dist/cjs/kernel-zerodev/client/create-client.d.ts +0 -12
  261. package/dist/cjs/kernel-zerodev/client/create-client.js +0 -54
  262. package/dist/cjs/kernel-zerodev/client/create-client.js.map +0 -1
  263. package/dist/cjs/kernel-zerodev/constants.d.ts +0 -31
  264. package/dist/cjs/kernel-zerodev/constants.js +0 -79
  265. package/dist/cjs/kernel-zerodev/constants.js.map +0 -1
  266. package/dist/cjs/kernel-zerodev/errors.d.ts +0 -5
  267. package/dist/cjs/kernel-zerodev/errors.js +0 -12
  268. package/dist/cjs/kernel-zerodev/errors.js.map +0 -1
  269. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -31
  270. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.js +0 -147
  271. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.js.map +0 -1
  272. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -22
  273. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js +0 -116
  274. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js.map +0 -1
  275. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.d.ts +0 -24
  276. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.js +0 -160
  277. package/dist/cjs/kernel-zerodev/middleware/gas-estimator.js.map +0 -1
  278. package/dist/cjs/kernel-zerodev/middleware/paymaster.d.ts +0 -5
  279. package/dist/cjs/kernel-zerodev/middleware/paymaster.js +0 -63
  280. package/dist/cjs/kernel-zerodev/middleware/paymaster.js.map +0 -1
  281. package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -11
  282. package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.js +0 -80
  283. package/dist/cjs/kernel-zerodev/owner/getCustodialOwner.js.map +0 -1
  284. package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -2
  285. package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.js +0 -18
  286. package/dist/cjs/kernel-zerodev/owner/getRPCProviderOwner.js.map +0 -1
  287. package/dist/cjs/kernel-zerodev/owner/index.d.ts +0 -2
  288. package/dist/cjs/kernel-zerodev/owner/index.js +0 -8
  289. package/dist/cjs/kernel-zerodev/owner/index.js.map +0 -1
  290. package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -8
  291. package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.js +0 -74
  292. package/dist/cjs/kernel-zerodev/owner/passkey/createPasskeyOwner.js.map +0 -1
  293. package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -3
  294. package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.js +0 -16
  295. package/dist/cjs/kernel-zerodev/owner/passkey/exceptions.js.map +0 -1
  296. package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -6
  297. package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js +0 -48
  298. package/dist/cjs/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js.map +0 -1
  299. package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -7
  300. package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.js +0 -44
  301. package/dist/cjs/kernel-zerodev/owner/passkey/getPasskeyOwner.js.map +0 -1
  302. package/dist/cjs/kernel-zerodev/owner/passkey/index.d.ts +0 -4
  303. package/dist/cjs/kernel-zerodev/owner/passkey/index.js +0 -12
  304. package/dist/cjs/kernel-zerodev/owner/passkey/index.js.map +0 -1
  305. package/dist/cjs/kernel-zerodev/owner/passkey/types.d.ts +0 -12
  306. package/dist/cjs/kernel-zerodev/owner/passkey/types.js +0 -3
  307. package/dist/cjs/kernel-zerodev/owner/passkey/types.js.map +0 -1
  308. package/dist/cjs/kernel-zerodev/owner/passkey/utils.d.ts +0 -14
  309. package/dist/cjs/kernel-zerodev/owner/passkey/utils.js +0 -114
  310. package/dist/cjs/kernel-zerodev/owner/passkey/utils.js.map +0 -1
  311. package/dist/cjs/kernel-zerodev/paymaster/base.d.ts +0 -18
  312. package/dist/cjs/kernel-zerodev/paymaster/base.js +0 -63
  313. package/dist/cjs/kernel-zerodev/paymaster/base.js.map +0 -1
  314. package/dist/cjs/kernel-zerodev/paymaster/index.d.ts +0 -3
  315. package/dist/cjs/kernel-zerodev/paymaster/index.js +0 -10
  316. package/dist/cjs/kernel-zerodev/paymaster/index.js.map +0 -1
  317. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -15
  318. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js +0 -188
  319. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js.map +0 -1
  320. package/dist/cjs/kernel-zerodev/paymaster/types.d.ts +0 -29
  321. package/dist/cjs/kernel-zerodev/paymaster/types.js +0 -3
  322. package/dist/cjs/kernel-zerodev/paymaster/types.js.map +0 -1
  323. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -8
  324. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js +0 -22
  325. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js.map +0 -1
  326. package/dist/cjs/kernel-zerodev/provider.d.ts +0 -57
  327. package/dist/cjs/kernel-zerodev/provider.js +0 -387
  328. package/dist/cjs/kernel-zerodev/provider.js.map +0 -1
  329. package/dist/cjs/kernel-zerodev/signer/empty-account.d.ts +0 -10
  330. package/dist/cjs/kernel-zerodev/signer/empty-account.js +0 -43
  331. package/dist/cjs/kernel-zerodev/signer/empty-account.js.map +0 -1
  332. package/dist/cjs/kernel-zerodev/types.d.ts +0 -7
  333. package/dist/cjs/kernel-zerodev/types.js +0 -3
  334. package/dist/cjs/kernel-zerodev/types.js.map +0 -1
  335. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -5
  336. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.js +0 -106
  337. package/dist/cjs/kernel-zerodev/utils/ERC4337-utils.js.map +0 -1
  338. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -15
  339. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.js +0 -33
  340. package/dist/cjs/kernel-zerodev/utils/calc-pre-verification-gas.js.map +0 -1
  341. package/dist/cjs/kernel-zerodev/utils/custom-chains.d.ts +0 -92
  342. package/dist/cjs/kernel-zerodev/utils/custom-chains.js +0 -84
  343. package/dist/cjs/kernel-zerodev/utils/custom-chains.js.map +0 -1
  344. package/dist/cjs/kernel-zerodev/utils.d.ts +0 -20
  345. package/dist/cjs/kernel-zerodev/utils.js +0 -119
  346. package/dist/cjs/kernel-zerodev/utils.js.map +0 -1
  347. package/dist/cjs/kernel-zerodev/validator/base.d.ts +0 -56
  348. package/dist/cjs/kernel-zerodev/validator/base.js +0 -276
  349. package/dist/cjs/kernel-zerodev/validator/base.js.map +0 -1
  350. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -20
  351. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.js +0 -97
  352. package/dist/cjs/kernel-zerodev/validator/ecdsa-validator.js.map +0 -1
  353. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -29
  354. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js +0 -118
  355. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js.map +0 -1
  356. package/dist/cjs/kernel-zerodev/validator/index.d.ts +0 -8
  357. package/dist/cjs/kernel-zerodev/validator/index.js +0 -21
  358. package/dist/cjs/kernel-zerodev/validator/index.js.map +0 -1
  359. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -22
  360. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js +0 -122
  361. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js.map +0 -1
  362. package/dist/cjs/kernel-zerodev/validator/recovery-validator.d.ts +0 -58
  363. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js +0 -365
  364. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js.map +0 -1
  365. package/dist/cjs/kernel-zerodev/validator/session-key-validator.d.ts +0 -84
  366. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js +0 -501
  367. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js.map +0 -1
  368. package/dist/cjs/kernel-zerodev/validator/types.d.ts +0 -56
  369. package/dist/cjs/kernel-zerodev/validator/types.js +0 -3
  370. package/dist/cjs/kernel-zerodev/validator/types.js.map +0 -1
  371. package/dist/cjs/kernel-zerodev/validator-provider/base.d.ts +0 -29
  372. package/dist/cjs/kernel-zerodev/validator-provider/base.js +0 -129
  373. package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +0 -1
  374. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -8
  375. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js +0 -61
  376. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js.map +0 -1
  377. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -8
  378. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js +0 -65
  379. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +0 -1
  380. package/dist/cjs/kernel-zerodev/validator-provider/index.d.ts +0 -8
  381. package/dist/cjs/kernel-zerodev/validator-provider/index.js +0 -21
  382. package/dist/cjs/kernel-zerodev/validator-provider/index.js.map +0 -1
  383. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -8
  384. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js +0 -65
  385. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js.map +0 -1
  386. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -28
  387. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js +0 -298
  388. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js.map +0 -1
  389. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -18
  390. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.js +0 -115
  391. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.js.map +0 -1
  392. package/dist/cjs/kernel-zerodev/validator-provider/types.d.ts +0 -29
  393. package/dist/cjs/kernel-zerodev/validator-provider/types.js +0 -3
  394. package/dist/cjs/kernel-zerodev/validator-provider/types.js.map +0 -1
  395. package/dist/cjs/package.json +0 -1
  396. package/dist/esm/index.d.ts +0 -22
  397. package/dist/esm/index.js +0 -17
  398. package/dist/esm/index.js.map +0 -1
  399. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -162
  400. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js +0 -212
  401. package/dist/esm/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.js.map +0 -1
  402. package/dist/esm/kernel-zerodev/abis/ERC20Abi.d.ts +0 -231
  403. package/dist/esm/kernel-zerodev/abis/ERC20Abi.js +0 -154
  404. package/dist/esm/kernel-zerodev/abis/ERC20Abi.js.map +0 -1
  405. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -158
  406. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js +0 -207
  407. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +0 -1
  408. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.d.ts +0 -534
  409. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.js.map +0 -1
  410. package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.d.ts +0 -293
  411. package/dist/esm/kernel-zerodev/abis/KernelFactoryAbi.js.map +0 -1
  412. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -150
  413. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.js +0 -197
  414. package/dist/esm/kernel-zerodev/abis/KillSwitchValidatorAbi.js.map +0 -1
  415. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -15
  416. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.js +0 -21
  417. package/dist/esm/kernel-zerodev/abis/MultiSendAbi.js.map +0 -1
  418. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -15
  419. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js +0 -21
  420. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js.map +0 -1
  421. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -212
  422. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js +0 -278
  423. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +0 -1
  424. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -237
  425. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js +0 -158
  426. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js.map +0 -1
  427. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -287
  428. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.js +0 -374
  429. package/dist/esm/kernel-zerodev/abis/Test_ERC721Abi.js.map +0 -1
  430. package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.d.ts +0 -63
  431. package/dist/esm/kernel-zerodev/abis/TokenActionsAbi.js.map +0 -1
  432. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -375
  433. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js +0 -269
  434. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js.map +0 -1
  435. package/dist/esm/kernel-zerodev/abis/index.d.ts +0 -8
  436. package/dist/esm/kernel-zerodev/abis/index.js +0 -9
  437. package/dist/esm/kernel-zerodev/abis/index.js.map +0 -1
  438. package/dist/esm/kernel-zerodev/account.d.ts +0 -51
  439. package/dist/esm/kernel-zerodev/account.js +0 -319
  440. package/dist/esm/kernel-zerodev/account.js.map +0 -1
  441. package/dist/esm/kernel-zerodev/api/index.d.ts +0 -5
  442. package/dist/esm/kernel-zerodev/api/index.js +0 -58
  443. package/dist/esm/kernel-zerodev/api/index.js.map +0 -1
  444. package/dist/esm/kernel-zerodev/client/create-client.d.ts +0 -12
  445. package/dist/esm/kernel-zerodev/client/create-client.js +0 -50
  446. package/dist/esm/kernel-zerodev/client/create-client.js.map +0 -1
  447. package/dist/esm/kernel-zerodev/constants.d.ts +0 -31
  448. package/dist/esm/kernel-zerodev/constants.js +0 -76
  449. package/dist/esm/kernel-zerodev/constants.js.map +0 -1
  450. package/dist/esm/kernel-zerodev/errors.d.ts +0 -5
  451. package/dist/esm/kernel-zerodev/errors.js +0 -6
  452. package/dist/esm/kernel-zerodev/errors.js.map +0 -1
  453. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -31
  454. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.js +0 -145
  455. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.js.map +0 -1
  456. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -22
  457. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js +0 -112
  458. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js.map +0 -1
  459. package/dist/esm/kernel-zerodev/middleware/gas-estimator.d.ts +0 -24
  460. package/dist/esm/kernel-zerodev/middleware/gas-estimator.js +0 -152
  461. package/dist/esm/kernel-zerodev/middleware/gas-estimator.js.map +0 -1
  462. package/dist/esm/kernel-zerodev/middleware/paymaster.d.ts +0 -5
  463. package/dist/esm/kernel-zerodev/middleware/paymaster.js +0 -59
  464. package/dist/esm/kernel-zerodev/middleware/paymaster.js.map +0 -1
  465. package/dist/esm/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -11
  466. package/dist/esm/kernel-zerodev/owner/getCustodialOwner.js +0 -73
  467. package/dist/esm/kernel-zerodev/owner/getCustodialOwner.js.map +0 -1
  468. package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -2
  469. package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.js +0 -15
  470. package/dist/esm/kernel-zerodev/owner/getRPCProviderOwner.js.map +0 -1
  471. package/dist/esm/kernel-zerodev/owner/index.d.ts +0 -2
  472. package/dist/esm/kernel-zerodev/owner/index.js +0 -3
  473. package/dist/esm/kernel-zerodev/owner/index.js.map +0 -1
  474. package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -8
  475. package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.js +0 -67
  476. package/dist/esm/kernel-zerodev/owner/passkey/createPasskeyOwner.js.map +0 -1
  477. package/dist/esm/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -3
  478. package/dist/esm/kernel-zerodev/owner/passkey/exceptions.js +0 -12
  479. package/dist/esm/kernel-zerodev/owner/passkey/exceptions.js.map +0 -1
  480. package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -6
  481. package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js +0 -41
  482. package/dist/esm/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.js.map +0 -1
  483. package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -7
  484. package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.js +0 -37
  485. package/dist/esm/kernel-zerodev/owner/passkey/getPasskeyOwner.js.map +0 -1
  486. package/dist/esm/kernel-zerodev/owner/passkey/index.d.ts +0 -4
  487. package/dist/esm/kernel-zerodev/owner/passkey/index.js +0 -5
  488. package/dist/esm/kernel-zerodev/owner/passkey/index.js.map +0 -1
  489. package/dist/esm/kernel-zerodev/owner/passkey/types.d.ts +0 -12
  490. package/dist/esm/kernel-zerodev/owner/passkey/types.js +0 -2
  491. package/dist/esm/kernel-zerodev/owner/passkey/types.js.map +0 -1
  492. package/dist/esm/kernel-zerodev/owner/passkey/utils.d.ts +0 -14
  493. package/dist/esm/kernel-zerodev/owner/passkey/utils.js +0 -100
  494. package/dist/esm/kernel-zerodev/owner/passkey/utils.js.map +0 -1
  495. package/dist/esm/kernel-zerodev/paymaster/base.d.ts +0 -18
  496. package/dist/esm/kernel-zerodev/paymaster/base.js +0 -56
  497. package/dist/esm/kernel-zerodev/paymaster/base.js.map +0 -1
  498. package/dist/esm/kernel-zerodev/paymaster/index.d.ts +0 -3
  499. package/dist/esm/kernel-zerodev/paymaster/index.js +0 -7
  500. package/dist/esm/kernel-zerodev/paymaster/index.js.map +0 -1
  501. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -15
  502. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js +0 -182
  503. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js.map +0 -1
  504. package/dist/esm/kernel-zerodev/paymaster/types.d.ts +0 -29
  505. package/dist/esm/kernel-zerodev/paymaster/types.js +0 -2
  506. package/dist/esm/kernel-zerodev/paymaster/types.js.map +0 -1
  507. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -8
  508. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js +0 -18
  509. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js.map +0 -1
  510. package/dist/esm/kernel-zerodev/provider.d.ts +0 -57
  511. package/dist/esm/kernel-zerodev/provider.js +0 -383
  512. package/dist/esm/kernel-zerodev/provider.js.map +0 -1
  513. package/dist/esm/kernel-zerodev/signer/empty-account.d.ts +0 -10
  514. package/dist/esm/kernel-zerodev/signer/empty-account.js +0 -40
  515. package/dist/esm/kernel-zerodev/signer/empty-account.js.map +0 -1
  516. package/dist/esm/kernel-zerodev/types.d.ts +0 -7
  517. package/dist/esm/kernel-zerodev/types.js +0 -2
  518. package/dist/esm/kernel-zerodev/types.js.map +0 -1
  519. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -5
  520. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.js +0 -100
  521. package/dist/esm/kernel-zerodev/utils/ERC4337-utils.js.map +0 -1
  522. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -15
  523. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.js +0 -29
  524. package/dist/esm/kernel-zerodev/utils/calc-pre-verification-gas.js.map +0 -1
  525. package/dist/esm/kernel-zerodev/utils/custom-chains.d.ts +0 -92
  526. package/dist/esm/kernel-zerodev/utils/custom-chains.js +0 -81
  527. package/dist/esm/kernel-zerodev/utils/custom-chains.js.map +0 -1
  528. package/dist/esm/kernel-zerodev/utils.d.ts +0 -20
  529. package/dist/esm/kernel-zerodev/utils.js +0 -85
  530. package/dist/esm/kernel-zerodev/utils.js.map +0 -1
  531. package/dist/esm/kernel-zerodev/validator/base.d.ts +0 -56
  532. package/dist/esm/kernel-zerodev/validator/base.js +0 -273
  533. package/dist/esm/kernel-zerodev/validator/base.js.map +0 -1
  534. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -20
  535. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.js +0 -93
  536. package/dist/esm/kernel-zerodev/validator/ecdsa-validator.js.map +0 -1
  537. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -29
  538. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js +0 -114
  539. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js.map +0 -1
  540. package/dist/esm/kernel-zerodev/validator/index.d.ts +0 -8
  541. package/dist/esm/kernel-zerodev/validator/index.js +0 -14
  542. package/dist/esm/kernel-zerodev/validator/index.js.map +0 -1
  543. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -22
  544. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js +0 -118
  545. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js.map +0 -1
  546. package/dist/esm/kernel-zerodev/validator/recovery-validator.d.ts +0 -58
  547. package/dist/esm/kernel-zerodev/validator/recovery-validator.js +0 -359
  548. package/dist/esm/kernel-zerodev/validator/recovery-validator.js.map +0 -1
  549. package/dist/esm/kernel-zerodev/validator/session-key-validator.d.ts +0 -84
  550. package/dist/esm/kernel-zerodev/validator/session-key-validator.js +0 -496
  551. package/dist/esm/kernel-zerodev/validator/session-key-validator.js.map +0 -1
  552. package/dist/esm/kernel-zerodev/validator/types.d.ts +0 -56
  553. package/dist/esm/kernel-zerodev/validator/types.js +0 -3
  554. package/dist/esm/kernel-zerodev/validator/types.js.map +0 -1
  555. package/dist/esm/kernel-zerodev/validator-provider/base.d.ts +0 -29
  556. package/dist/esm/kernel-zerodev/validator-provider/base.js +0 -126
  557. package/dist/esm/kernel-zerodev/validator-provider/base.js.map +0 -1
  558. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -8
  559. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js +0 -57
  560. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js.map +0 -1
  561. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -8
  562. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js +0 -61
  563. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +0 -1
  564. package/dist/esm/kernel-zerodev/validator-provider/index.d.ts +0 -8
  565. package/dist/esm/kernel-zerodev/validator-provider/index.js +0 -14
  566. package/dist/esm/kernel-zerodev/validator-provider/index.js.map +0 -1
  567. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -8
  568. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js +0 -61
  569. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js.map +0 -1
  570. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -28
  571. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js +0 -295
  572. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js.map +0 -1
  573. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -18
  574. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.js +0 -111
  575. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.js.map +0 -1
  576. package/dist/esm/kernel-zerodev/validator-provider/types.d.ts +0 -29
  577. package/dist/esm/kernel-zerodev/validator-provider/types.js +0 -2
  578. package/dist/esm/kernel-zerodev/validator-provider/types.js.map +0 -1
  579. package/dist/esm/package.json +0 -1
  580. package/dist/types/index.d.ts +0 -23
  581. package/dist/types/index.d.ts.map +0 -1
  582. package/dist/types/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts +0 -163
  583. package/dist/types/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.d.ts.map +0 -1
  584. package/dist/types/kernel-zerodev/abis/ERC20Abi.d.ts +0 -232
  585. package/dist/types/kernel-zerodev/abis/ERC20Abi.d.ts.map +0 -1
  586. package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +0 -159
  587. package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts.map +0 -1
  588. package/dist/types/kernel-zerodev/abis/KernelAccountAbi.d.ts +0 -535
  589. package/dist/types/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts +0 -151
  590. package/dist/types/kernel-zerodev/abis/KillSwitchValidatorAbi.d.ts.map +0 -1
  591. package/dist/types/kernel-zerodev/abis/MultiSendAbi.d.ts +0 -16
  592. package/dist/types/kernel-zerodev/abis/MultiSendAbi.d.ts.map +0 -1
  593. package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts +0 -16
  594. package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts.map +0 -1
  595. package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +0 -213
  596. package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts.map +0 -1
  597. package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts +0 -238
  598. package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts.map +0 -1
  599. package/dist/types/kernel-zerodev/abis/Test_ERC721Abi.d.ts +0 -288
  600. package/dist/types/kernel-zerodev/abis/Test_ERC721Abi.d.ts.map +0 -1
  601. package/dist/types/kernel-zerodev/abis/TokenActionsAbi.d.ts.map +0 -1
  602. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +0 -376
  603. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts.map +0 -1
  604. package/dist/types/kernel-zerodev/abis/index.d.ts +0 -9
  605. package/dist/types/kernel-zerodev/abis/index.d.ts.map +0 -1
  606. package/dist/types/kernel-zerodev/account.d.ts +0 -52
  607. package/dist/types/kernel-zerodev/account.d.ts.map +0 -1
  608. package/dist/types/kernel-zerodev/api/index.d.ts +0 -6
  609. package/dist/types/kernel-zerodev/api/index.d.ts.map +0 -1
  610. package/dist/types/kernel-zerodev/client/create-client.d.ts +0 -13
  611. package/dist/types/kernel-zerodev/client/create-client.d.ts.map +0 -1
  612. package/dist/types/kernel-zerodev/constants.d.ts +0 -32
  613. package/dist/types/kernel-zerodev/constants.d.ts.map +0 -1
  614. package/dist/types/kernel-zerodev/errors.d.ts +0 -6
  615. package/dist/types/kernel-zerodev/errors.d.ts.map +0 -1
  616. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts +0 -32
  617. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts.map +0 -1
  618. package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts +0 -23
  619. package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts.map +0 -1
  620. package/dist/types/kernel-zerodev/middleware/gas-estimator.d.ts +0 -25
  621. package/dist/types/kernel-zerodev/middleware/gas-estimator.d.ts.map +0 -1
  622. package/dist/types/kernel-zerodev/middleware/paymaster.d.ts +0 -6
  623. package/dist/types/kernel-zerodev/middleware/paymaster.d.ts.map +0 -1
  624. package/dist/types/kernel-zerodev/owner/getCustodialOwner.d.ts +0 -12
  625. package/dist/types/kernel-zerodev/owner/getCustodialOwner.d.ts.map +0 -1
  626. package/dist/types/kernel-zerodev/owner/getRPCProviderOwner.d.ts +0 -3
  627. package/dist/types/kernel-zerodev/owner/getRPCProviderOwner.d.ts.map +0 -1
  628. package/dist/types/kernel-zerodev/owner/index.d.ts +0 -3
  629. package/dist/types/kernel-zerodev/owner/index.d.ts.map +0 -1
  630. package/dist/types/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts +0 -9
  631. package/dist/types/kernel-zerodev/owner/passkey/createPasskeyOwner.d.ts.map +0 -1
  632. package/dist/types/kernel-zerodev/owner/passkey/exceptions.d.ts +0 -4
  633. package/dist/types/kernel-zerodev/owner/passkey/exceptions.d.ts.map +0 -1
  634. package/dist/types/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts +0 -7
  635. package/dist/types/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.d.ts.map +0 -1
  636. package/dist/types/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts +0 -8
  637. package/dist/types/kernel-zerodev/owner/passkey/getPasskeyOwner.d.ts.map +0 -1
  638. package/dist/types/kernel-zerodev/owner/passkey/index.d.ts +0 -5
  639. package/dist/types/kernel-zerodev/owner/passkey/index.d.ts.map +0 -1
  640. package/dist/types/kernel-zerodev/owner/passkey/types.d.ts +0 -13
  641. package/dist/types/kernel-zerodev/owner/passkey/types.d.ts.map +0 -1
  642. package/dist/types/kernel-zerodev/owner/passkey/utils.d.ts +0 -15
  643. package/dist/types/kernel-zerodev/owner/passkey/utils.d.ts.map +0 -1
  644. package/dist/types/kernel-zerodev/paymaster/base.d.ts +0 -19
  645. package/dist/types/kernel-zerodev/paymaster/base.d.ts.map +0 -1
  646. package/dist/types/kernel-zerodev/paymaster/index.d.ts +0 -4
  647. package/dist/types/kernel-zerodev/paymaster/index.d.ts.map +0 -1
  648. package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts +0 -16
  649. package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts.map +0 -1
  650. package/dist/types/kernel-zerodev/paymaster/types.d.ts +0 -30
  651. package/dist/types/kernel-zerodev/paymaster/types.d.ts.map +0 -1
  652. package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts +0 -9
  653. package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts.map +0 -1
  654. package/dist/types/kernel-zerodev/provider.d.ts +0 -58
  655. package/dist/types/kernel-zerodev/provider.d.ts.map +0 -1
  656. package/dist/types/kernel-zerodev/signer/empty-account.d.ts +0 -11
  657. package/dist/types/kernel-zerodev/signer/empty-account.d.ts.map +0 -1
  658. package/dist/types/kernel-zerodev/types.d.ts +0 -8
  659. package/dist/types/kernel-zerodev/types.d.ts.map +0 -1
  660. package/dist/types/kernel-zerodev/utils/ERC4337-utils.d.ts +0 -6
  661. package/dist/types/kernel-zerodev/utils/ERC4337-utils.d.ts.map +0 -1
  662. package/dist/types/kernel-zerodev/utils/calc-pre-verification-gas.d.ts +0 -16
  663. package/dist/types/kernel-zerodev/utils/calc-pre-verification-gas.d.ts.map +0 -1
  664. package/dist/types/kernel-zerodev/utils/custom-chains.d.ts +0 -93
  665. package/dist/types/kernel-zerodev/utils/custom-chains.d.ts.map +0 -1
  666. package/dist/types/kernel-zerodev/utils.d.ts +0 -21
  667. package/dist/types/kernel-zerodev/utils.d.ts.map +0 -1
  668. package/dist/types/kernel-zerodev/validator/base.d.ts +0 -57
  669. package/dist/types/kernel-zerodev/validator/base.d.ts.map +0 -1
  670. package/dist/types/kernel-zerodev/validator/ecdsa-validator.d.ts +0 -21
  671. package/dist/types/kernel-zerodev/validator/ecdsa-validator.d.ts.map +0 -1
  672. package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts +0 -30
  673. package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts.map +0 -1
  674. package/dist/types/kernel-zerodev/validator/index.d.ts +0 -9
  675. package/dist/types/kernel-zerodev/validator/index.d.ts.map +0 -1
  676. package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts +0 -23
  677. package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts.map +0 -1
  678. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts +0 -59
  679. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts.map +0 -1
  680. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts +0 -85
  681. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts.map +0 -1
  682. package/dist/types/kernel-zerodev/validator/types.d.ts +0 -57
  683. package/dist/types/kernel-zerodev/validator/types.d.ts.map +0 -1
  684. package/dist/types/kernel-zerodev/validator-provider/base.d.ts +0 -30
  685. package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +0 -1
  686. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +0 -9
  687. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts.map +0 -1
  688. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +0 -9
  689. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts.map +0 -1
  690. package/dist/types/kernel-zerodev/validator-provider/index.d.ts +0 -9
  691. package/dist/types/kernel-zerodev/validator-provider/index.d.ts.map +0 -1
  692. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +0 -9
  693. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts.map +0 -1
  694. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts +0 -29
  695. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts.map +0 -1
  696. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts +0 -19
  697. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts.map +0 -1
  698. package/dist/types/kernel-zerodev/validator-provider/types.d.ts +0 -30
  699. package/dist/types/kernel-zerodev/validator-provider/types.d.ts.map +0 -1
  700. package/passkey/package.json +0 -5
  701. package/src/index.ts +0 -50
  702. package/src/kernel-zerodev/__tests__/config/index.ts +0 -19
  703. package/src/kernel-zerodev/__tests__/mocks/mock-signer.ts +0 -24
  704. package/src/kernel-zerodev/abis/ERC165SessionKeyValidatorAbi.ts +0 -211
  705. package/src/kernel-zerodev/abis/ERC20Abi.ts +0 -153
  706. package/src/kernel-zerodev/abis/ESCDAValidatorAbi.ts +0 -206
  707. package/src/kernel-zerodev/abis/KernelAccountAbi.ts +0 -691
  708. package/src/kernel-zerodev/abis/KernelFactoryAbi.ts +0 -380
  709. package/src/kernel-zerodev/abis/KillSwitchValidatorAbi.ts +0 -196
  710. package/src/kernel-zerodev/abis/MultiSendAbi.ts +0 -20
  711. package/src/kernel-zerodev/abis/RecoveryActionAbi.ts +0 -20
  712. package/src/kernel-zerodev/abis/SessionKeyValidatorAbi.ts +0 -277
  713. package/src/kernel-zerodev/abis/Test_ERC20Abi.ts +0 -157
  714. package/src/kernel-zerodev/abis/Test_ERC721Abi.ts +0 -373
  715. package/src/kernel-zerodev/abis/TokenActionsAbi.ts +0 -81
  716. package/src/kernel-zerodev/abis/WeightedValidatorAbi.ts +0 -268
  717. package/src/kernel-zerodev/abis/index.ts +0 -17
  718. package/src/kernel-zerodev/account.ts +0 -394
  719. package/src/kernel-zerodev/api/index.ts +0 -84
  720. package/src/kernel-zerodev/client/create-client.ts +0 -81
  721. package/src/kernel-zerodev/constants.ts +0 -115
  722. package/src/kernel-zerodev/errors.ts +0 -13
  723. package/src/kernel-zerodev/ethers-provider/account-signer.ts +0 -185
  724. package/src/kernel-zerodev/ethers-provider/ethers-provider.ts +0 -149
  725. package/src/kernel-zerodev/middleware/gas-estimator.ts +0 -219
  726. package/src/kernel-zerodev/middleware/paymaster.ts +0 -86
  727. package/src/kernel-zerodev/owner/getCustodialOwner.ts +0 -131
  728. package/src/kernel-zerodev/owner/getRPCProviderOwner.ts +0 -26
  729. package/src/kernel-zerodev/owner/index.ts +0 -2
  730. package/src/kernel-zerodev/owner/passkey/createPasskeyOwner.ts +0 -107
  731. package/src/kernel-zerodev/owner/passkey/exceptions.ts +0 -3
  732. package/src/kernel-zerodev/owner/passkey/getAutocompletePasskeyOwner.ts +0 -81
  733. package/src/kernel-zerodev/owner/passkey/getPasskeyOwner.ts +0 -75
  734. package/src/kernel-zerodev/owner/passkey/index.ts +0 -4
  735. package/src/kernel-zerodev/owner/passkey/types.ts +0 -18
  736. package/src/kernel-zerodev/owner/passkey/utils.ts +0 -174
  737. package/src/kernel-zerodev/paymaster/base.ts +0 -90
  738. package/src/kernel-zerodev/paymaster/index.ts +0 -9
  739. package/src/kernel-zerodev/paymaster/token-paymaster.ts +0 -251
  740. package/src/kernel-zerodev/paymaster/types.ts +0 -40
  741. package/src/kernel-zerodev/paymaster/verifying-paymaster.ts +0 -32
  742. package/src/kernel-zerodev/provider.ts +0 -485
  743. package/src/kernel-zerodev/signer/empty-account.ts +0 -27
  744. package/src/kernel-zerodev/types.ts +0 -8
  745. package/src/kernel-zerodev/utils/ERC4337-utils.ts +0 -161
  746. package/src/kernel-zerodev/utils/calc-pre-verification-gas.ts +0 -88
  747. package/src/kernel-zerodev/utils/custom-chains.ts +0 -83
  748. package/src/kernel-zerodev/utils.ts +0 -159
  749. package/src/kernel-zerodev/validator/base.ts +0 -321
  750. package/src/kernel-zerodev/validator/ecdsa-validator.ts +0 -122
  751. package/src/kernel-zerodev/validator/erc165-session-key-validator.ts +0 -151
  752. package/src/kernel-zerodev/validator/index.ts +0 -22
  753. package/src/kernel-zerodev/validator/kill-switch-validator.ts +0 -160
  754. package/src/kernel-zerodev/validator/recovery-validator.ts +0 -447
  755. package/src/kernel-zerodev/validator/session-key-validator.ts +0 -696
  756. package/src/kernel-zerodev/validator/types.ts +0 -129
  757. package/src/kernel-zerodev/validator-provider/base.ts +0 -178
  758. package/src/kernel-zerodev/validator-provider/ecdsa-provider.ts +0 -65
  759. package/src/kernel-zerodev/validator-provider/erc165-session-key-provider.ts +0 -72
  760. package/src/kernel-zerodev/validator-provider/index.ts +0 -22
  761. package/src/kernel-zerodev/validator-provider/kill-switch-provider.ts +0 -72
  762. package/src/kernel-zerodev/validator-provider/recovery-provider.ts +0 -400
  763. package/src/kernel-zerodev/validator-provider/session-key-provider.ts +0 -151
  764. package/src/kernel-zerodev/validator-provider/types.ts +0 -42
  765. /package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/KernelFactoryAbi.d.ts +0 -0
  766. /package/{dist/types/kernel-zerodev/abis → _types/accounts/kernel/abi}/TokenActionsAbi.d.ts +0 -0
@@ -1,22 +0,0 @@
1
- import { type Address, type Hex, type SmartAccountSigner, type UserOperationRequest, type SignTypedDataParams } from "@alchemy/aa-core";
2
- import { KernelBaseValidator, type KernelBaseValidatorParams } from "./base.js";
3
- export interface KillSwitchValidatorParams extends KernelBaseValidatorParams {
4
- guardian: SmartAccountSigner;
5
- delaySeconds: number;
6
- }
7
- export declare class KillSwitchValidator extends KernelBaseValidator {
8
- protected guardian: SmartAccountSigner;
9
- protected delaySeconds: number;
10
- constructor(params: KillSwitchValidatorParams);
11
- static init(params: KillSwitchValidatorParams): Promise<KillSwitchValidator>;
12
- signer(): Promise<SmartAccountSigner>;
13
- getEnableData(): Promise<Hex>;
14
- getPausedUntil(): number;
15
- encodeEnable(newGuardian: Hex): Hex;
16
- encodeDisable(disableData?: Hex): Hex;
17
- isPluginEnabled(kernelAccountAddress: Address, selector: Hex): Promise<boolean>;
18
- getDummyUserOpSignature(): Promise<Hex>;
19
- signMessage(message: string | Uint8Array): Promise<Hex>;
20
- signTypedData(params: SignTypedDataParams): Promise<Hex>;
21
- signUserOp(userOp: UserOperationRequest): Promise<Hex>;
22
- }
@@ -1,122 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KillSwitchValidator = void 0;
4
- const aa_core_1 = require("@alchemy/aa-core");
5
- const base_js_1 = require("./base.js");
6
- const viem_1 = require("viem");
7
- const KillSwitchValidatorAbi_js_1 = require("../abis/KillSwitchValidatorAbi.js");
8
- const index_js_1 = require("../api/index.js");
9
- const constants_js_1 = require("../constants.js");
10
- const KernelAccountAbi_js_1 = require("../abis/KernelAccountAbi.js");
11
- const utils_js_1 = require("../utils.js");
12
- class KillSwitchValidator extends base_js_1.KernelBaseValidator {
13
- constructor(params) {
14
- super(params);
15
- Object.defineProperty(this, "guardian", {
16
- enumerable: true,
17
- configurable: true,
18
- writable: true,
19
- value: void 0
20
- });
21
- Object.defineProperty(this, "delaySeconds", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: void 0
26
- });
27
- this.guardian = params.guardian;
28
- this.delaySeconds = params.delaySeconds;
29
- this.mode = params.mode ?? base_js_1.ValidatorMode.plugin;
30
- }
31
- static async init(params) {
32
- const chainId = await (0, index_js_1.getChainId)(params.projectId);
33
- if (!chainId) {
34
- throw new Error("ChainId not found");
35
- }
36
- const chain = (0, utils_js_1.getChain)(chainId);
37
- const instance = new KillSwitchValidator({ ...params, chain });
38
- return instance;
39
- }
40
- async signer() {
41
- return await Promise.resolve(this.guardian);
42
- }
43
- async getEnableData() {
44
- return await (await this.signer()).getAddress();
45
- }
46
- getPausedUntil() {
47
- return Math.floor(Date.now() / 1000) + this.delaySeconds;
48
- }
49
- encodeEnable(newGuardian) {
50
- return (0, viem_1.encodeFunctionData)({
51
- abi: KillSwitchValidatorAbi_js_1.KillSwitchValidatorAbi,
52
- functionName: "enable",
53
- args: [newGuardian],
54
- });
55
- }
56
- encodeDisable(disableData = "0x") {
57
- return (0, viem_1.encodeFunctionData)({
58
- abi: KillSwitchValidatorAbi_js_1.KillSwitchValidatorAbi,
59
- functionName: "disable",
60
- args: [disableData],
61
- });
62
- }
63
- async isPluginEnabled(kernelAccountAddress, selector) {
64
- if (!this.publicClient) {
65
- throw new Error("Validator uninitialized: PublicClient missing");
66
- }
67
- const kernel = (0, viem_1.getContract)({
68
- abi: KernelAccountAbi_js_1.KernelAccountAbi,
69
- address: kernelAccountAddress,
70
- publicClient: this.publicClient,
71
- });
72
- const execDetail = await kernel.read.getExecution([selector]);
73
- const enableData = await this.publicClient.readContract({
74
- abi: KillSwitchValidatorAbi_js_1.KillSwitchValidatorAbi,
75
- address: this.validatorAddress,
76
- functionName: "killSwitchValidatorStorage",
77
- args: [kernelAccountAddress],
78
- });
79
- const pausedUntil = Math.floor(Date.now() / 1000) + this.delaySeconds;
80
- return (execDetail.validator.toLowerCase() ===
81
- this.validatorAddress.toLowerCase() &&
82
- enableData[0] === (await this.getEnableData()) &&
83
- enableData[3] === (await kernel.read.getDisabledMode()) &&
84
- enableData[2] === pausedUntil &&
85
- enableData[1].toLowerCase() ===
86
- (await kernel.read.getDefaultValidator()).toLowerCase());
87
- }
88
- async getDummyUserOpSignature() {
89
- if (this.mode === base_js_1.ValidatorMode.sudo) {
90
- return constants_js_1.DUMMY_ECDSA_SIG;
91
- }
92
- return (0, viem_1.concatHex)([(0, viem_1.pad)("0xffffffffffff", { size: 6 }), constants_js_1.DUMMY_ECDSA_SIG]);
93
- }
94
- async signMessage(message) {
95
- return await this.guardian.signMessage(message);
96
- }
97
- async signTypedData(params) {
98
- return (0, utils_js_1.fixSignedData)(await this.guardian.signTypedData(params));
99
- }
100
- async signUserOp(userOp) {
101
- const pausedUntil = this.getPausedUntil();
102
- if (!this.chain) {
103
- throw new Error("Validator uninitialized");
104
- }
105
- const hash = (0, aa_core_1.getUserOperationHash)({
106
- ...userOp,
107
- signature: "0x",
108
- }, this.entryPointAddress, BigInt(this.chain.id));
109
- if (this.mode === base_js_1.ValidatorMode.sudo) {
110
- const formattedMessage = typeof hash === "string" ? (0, viem_1.toBytes)(hash) : hash;
111
- return await this.guardian.signMessage(formattedMessage);
112
- }
113
- const extendedHash = (0, viem_1.keccak256)((0, viem_1.concat)([(0, viem_1.pad)((0, viem_1.toHex)(pausedUntil), { size: 6 }), hash]));
114
- const signature = (0, viem_1.concat)([
115
- (0, viem_1.pad)((0, viem_1.toHex)(pausedUntil), { size: 6 }),
116
- await this.guardian.signMessage((0, viem_1.toBytes)(extendedHash)),
117
- ]);
118
- return signature;
119
- }
120
- }
121
- exports.KillSwitchValidator = KillSwitchValidator;
122
- //# sourceMappingURL=kill-switch-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kill-switch-validator.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/kill-switch-validator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getUserOperationHash,\n type Address,\n type Hex,\n type SmartAccountSigner,\n type UserOperationRequest,\n type SignTypedDataParams,\n} from \"@alchemy/aa-core\";\nimport {\n KernelBaseValidator,\n ValidatorMode,\n type KernelBaseValidatorParams,\n} from \"./base.js\";\nimport {\n concat,\n concatHex,\n encodeFunctionData,\n getContract,\n keccak256,\n pad,\n toBytes,\n toHex,\n} from \"viem\";\nimport { KillSwitchValidatorAbi } from \"../abis/KillSwitchValidatorAbi.js\";\nimport { getChainId } from \"../api/index.js\";\nimport { DUMMY_ECDSA_SIG } from \"../constants.js\";\nimport { KernelAccountAbi } from \"../abis/KernelAccountAbi.js\";\nimport { fixSignedData, getChain } from \"../utils.js\";\n\nexport interface KillSwitchValidatorParams extends KernelBaseValidatorParams {\n guardian: SmartAccountSigner;\n delaySeconds: number;\n}\n\nexport class KillSwitchValidator extends KernelBaseValidator {\n protected guardian: SmartAccountSigner;\n protected delaySeconds: number;\n\n constructor(params: KillSwitchValidatorParams) {\n super(params);\n this.guardian = params.guardian;\n this.delaySeconds = params.delaySeconds;\n this.mode = params.mode ?? ValidatorMode.plugin;\n }\n\n public static async init(\n params: KillSwitchValidatorParams\n ): Promise<KillSwitchValidator> {\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 instance = new KillSwitchValidator({ ...params, chain });\n return instance;\n }\n\n async signer(): Promise<SmartAccountSigner> {\n return await Promise.resolve(this.guardian);\n }\n\n async getEnableData(): Promise<Hex> {\n return await (await this.signer()).getAddress();\n }\n\n getPausedUntil(): number {\n return Math.floor(Date.now() / 1000) + this.delaySeconds;\n }\n\n encodeEnable(newGuardian: Hex): Hex {\n return encodeFunctionData({\n abi: KillSwitchValidatorAbi,\n functionName: \"enable\",\n args: [newGuardian],\n });\n }\n\n encodeDisable(disableData: Hex = \"0x\"): Hex {\n return encodeFunctionData({\n abi: KillSwitchValidatorAbi,\n functionName: \"disable\",\n args: [disableData],\n });\n }\n\n async isPluginEnabled(\n kernelAccountAddress: Address,\n selector: Hex\n ): Promise<boolean> {\n if (!this.publicClient) {\n throw new Error(\"Validator uninitialized: PublicClient missing\");\n }\n const kernel = getContract({\n abi: KernelAccountAbi,\n address: kernelAccountAddress,\n publicClient: this.publicClient,\n });\n const execDetail = await kernel.read.getExecution([selector]);\n const enableData = await this.publicClient.readContract({\n abi: KillSwitchValidatorAbi,\n address: this.validatorAddress,\n functionName: \"killSwitchValidatorStorage\",\n args: [kernelAccountAddress],\n });\n const pausedUntil = Math.floor(Date.now() / 1000) + this.delaySeconds;\n return (\n execDetail.validator.toLowerCase() ===\n this.validatorAddress.toLowerCase() &&\n enableData[0] === (await this.getEnableData()) &&\n enableData[3] === (await kernel.read.getDisabledMode()) &&\n enableData[2] === pausedUntil &&\n enableData[1].toLowerCase() ===\n (await kernel.read.getDefaultValidator()).toLowerCase()\n );\n }\n\n async getDummyUserOpSignature(): Promise<Hex> {\n if (this.mode === ValidatorMode.sudo) {\n return DUMMY_ECDSA_SIG;\n }\n return concatHex([pad(\"0xffffffffffff\", { size: 6 }), DUMMY_ECDSA_SIG]);\n }\n\n async signMessage(message: string | Uint8Array): Promise<Hex> {\n return await this.guardian.signMessage(message);\n }\n\n async signTypedData(params: SignTypedDataParams): Promise<Hex> {\n return fixSignedData(await this.guardian.signTypedData(params));\n }\n\n async signUserOp(userOp: UserOperationRequest): Promise<Hex> {\n const pausedUntil = this.getPausedUntil();\n if (!this.chain) {\n throw new Error(\"Validator uninitialized\");\n }\n const hash = getUserOperationHash(\n {\n ...userOp,\n signature: \"0x\",\n },\n this.entryPointAddress,\n BigInt(this.chain.id)\n ) as Hex;\n\n if (this.mode === ValidatorMode.sudo) {\n const formattedMessage = typeof hash === \"string\" ? toBytes(hash) : hash;\n return await this.guardian.signMessage(formattedMessage);\n }\n\n const extendedHash = keccak256(\n concat([pad(toHex(pausedUntil), { size: 6 }), hash])\n );\n const signature = concat([\n pad(toHex(pausedUntil), { size: 6 }),\n await this.guardian.signMessage(toBytes(extendedHash)),\n ]);\n return signature;\n }\n}\n"]}
@@ -1,58 +0,0 @@
1
- import { type Address, type Hex, type SmartAccountSigner, type UserOperationRequest, type SignTypedDataParams } from "@alchemy/aa-core";
2
- import { KernelBaseValidator, type KernelBaseValidatorParams } from "./base.js";
3
- import { type LocalAccount, type WalletClient, type Transport, type Chain, type Account, type PublicClient } from "viem";
4
- import type { EthereumProvider } from "./types.js";
5
- interface WeightedGuardians {
6
- [guardian: Address]: number;
7
- }
8
- export interface RecoveryValidatorParams extends KernelBaseValidatorParams {
9
- guardians?: WeightedGuardians;
10
- threshold?: number;
11
- delaySeconds?: number;
12
- accountSigner?: SmartAccountSigner;
13
- localAccountOrProvider?: LocalAccount<string> | EthereumProvider;
14
- walletClient?: WalletClient<Transport, Chain>;
15
- signatures?: Hex;
16
- recoveryId?: string;
17
- isSignerSmartContract?: boolean;
18
- }
19
- export type RecoveryConfig = Required<Pick<RecoveryValidatorParams, "guardians" | "threshold" | "delaySeconds">>;
20
- export declare function isLocalAccount(account: any): account is LocalAccount<string>;
21
- export declare function isEthereumProvider(provider: any): provider is EthereumProvider;
22
- type WalletClientAccountType<T> = T extends LocalAccount<string> ? Account : T extends EthereumProvider ? undefined : never;
23
- export declare const recoverySelector: `0x${string}`;
24
- export declare class RecoveryValidator extends KernelBaseValidator {
25
- protected guardians?: WeightedGuardians;
26
- protected threshold?: number;
27
- protected delaySeconds: number;
28
- protected accountSigner?: SmartAccountSigner;
29
- protected localAccountOrProvider?: LocalAccount<string> | EthereumProvider;
30
- protected signatures?: Hex;
31
- protected recoveryId?: string;
32
- protected isSignerSmartContract?: boolean;
33
- walletClient?: WalletClient<Transport, Chain, WalletClientAccountType<typeof this.localAccountOrProvider>>;
34
- constructor(params: RecoveryValidatorParams);
35
- static init(params: RecoveryValidatorParams): Promise<RecoveryValidator>;
36
- getNonceKey(): bigint;
37
- setRecoverySignatures(signatures: Hex): void;
38
- getRecoverySignatures(): Promise<Hex | undefined>;
39
- getRecoveryConfig(): RecoveryConfig;
40
- signer(): Promise<SmartAccountSigner>;
41
- getEnableData(): Promise<Hex>;
42
- encodeEnable(recoveryData: Hex): Hex;
43
- encodeDisable(disableData?: Hex): Hex;
44
- encodeApprove(callDataAndNonceHash: Hex, kernelAccountAddress: Address): Hex;
45
- encodeApproveWithSig(callDataAndNonceHash: Hex, kernelAccountAddress: Address, sigs: Hex): Hex;
46
- encodeVeto(callDataAndNonceHash: Hex): Hex;
47
- encodeRenew(guardians: Address[], weights: number[], threshold: number, delay: number): Hex;
48
- encodeRecoveryAction(enableData: Hex, defaultValidatorAddress: Address): Hex;
49
- static fetchRecoveryConfigFromContract(kernelAccountAddress: Address, publicClient: PublicClient<Transport, Chain>): Promise<RecoveryConfig>;
50
- isPluginEnabled(kernelAccountAddress: Address, selector: Hex): Promise<boolean>;
51
- isGuardiansEnabled(kernelAccountAddress: Address): Promise<boolean>;
52
- getDummyUserOpSignature(): Promise<Hex>;
53
- signMessage(message: string | Uint8Array): Promise<Hex>;
54
- signTypedData(params: SignTypedDataParams): Promise<Hex>;
55
- signRecoveryHash(recoveryHash: Hex): Promise<Hex>;
56
- signUserOp(userOp: UserOperationRequest): Promise<Hex>;
57
- }
58
- export {};
@@ -1,365 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RecoveryValidator = exports.recoverySelector = exports.isEthereumProvider = exports.isLocalAccount = void 0;
4
- const aa_core_1 = require("@alchemy/aa-core");
5
- const base_js_1 = require("./base.js");
6
- const viem_1 = require("viem");
7
- const WeightedValidatorAbi_js_1 = require("../abis/WeightedValidatorAbi.js");
8
- const index_js_1 = require("../api/index.js");
9
- const constants_js_1 = require("../constants.js");
10
- const KernelAccountAbi_js_1 = require("../abis/KernelAccountAbi.js");
11
- const utils_js_1 = require("../utils.js");
12
- const chains_1 = require("viem/chains");
13
- const RecoveryActionAbi_js_1 = require("../abis/RecoveryActionAbi.js");
14
- function isLocalAccount(account) {
15
- return account && account.signTransaction !== undefined;
16
- }
17
- exports.isLocalAccount = isLocalAccount;
18
- function isEthereumProvider(provider) {
19
- return provider && provider.request !== undefined;
20
- }
21
- exports.isEthereumProvider = isEthereumProvider;
22
- exports.recoverySelector = (0, viem_1.getFunctionSelector)("doRecovery(address, bytes)");
23
- class RecoveryValidator extends base_js_1.KernelBaseValidator {
24
- constructor(params) {
25
- super(params);
26
- Object.defineProperty(this, "guardians", {
27
- enumerable: true,
28
- configurable: true,
29
- writable: true,
30
- value: void 0
31
- });
32
- Object.defineProperty(this, "threshold", {
33
- enumerable: true,
34
- configurable: true,
35
- writable: true,
36
- value: void 0
37
- });
38
- Object.defineProperty(this, "delaySeconds", {
39
- enumerable: true,
40
- configurable: true,
41
- writable: true,
42
- value: void 0
43
- });
44
- Object.defineProperty(this, "accountSigner", {
45
- enumerable: true,
46
- configurable: true,
47
- writable: true,
48
- value: void 0
49
- });
50
- Object.defineProperty(this, "localAccountOrProvider", {
51
- enumerable: true,
52
- configurable: true,
53
- writable: true,
54
- value: void 0
55
- });
56
- Object.defineProperty(this, "signatures", {
57
- enumerable: true,
58
- configurable: true,
59
- writable: true,
60
- value: void 0
61
- });
62
- Object.defineProperty(this, "recoveryId", {
63
- enumerable: true,
64
- configurable: true,
65
- writable: true,
66
- value: void 0
67
- });
68
- Object.defineProperty(this, "isSignerSmartContract", {
69
- enumerable: true,
70
- configurable: true,
71
- writable: true,
72
- value: void 0
73
- });
74
- Object.defineProperty(this, "walletClient", {
75
- enumerable: true,
76
- configurable: true,
77
- writable: true,
78
- value: void 0
79
- });
80
- this.guardians = params.guardians;
81
- this.threshold = params.threshold;
82
- this.delaySeconds = params.delaySeconds ?? 0;
83
- this.accountSigner = params.accountSigner;
84
- this.mode = params.mode ?? base_js_1.ValidatorMode.plugin;
85
- this.localAccountOrProvider = params.localAccountOrProvider;
86
- this.signatures = params.signatures;
87
- this.validAfter = params.validAfter ?? 0;
88
- this.validUntil = params.validUntil ?? 0;
89
- this.executor = params.executor ?? constants_js_1.RECOVERY_ACTION;
90
- this.selector = params.selector ?? exports.recoverySelector;
91
- this.recoveryId = params.recoveryId;
92
- this.isSignerSmartContract = params.isSignerSmartContract;
93
- if (isLocalAccount(params.localAccountOrProvider)) {
94
- this.walletClient = (0, viem_1.createWalletClient)({
95
- account: params.localAccountOrProvider,
96
- chain: this.chain ?? chains_1.polygonMumbai,
97
- transport: (0, viem_1.http)(this.rpcUrl ?? constants_js_1.CHAIN_ID_TO_NODE[this.chain?.id ?? chains_1.polygonMumbai.id]),
98
- }).extend(viem_1.publicActions);
99
- }
100
- else if (isEthereumProvider(params.localAccountOrProvider)) {
101
- this.walletClient = (0, viem_1.createWalletClient)({
102
- chain: this.chain ?? chains_1.polygonMumbai,
103
- transport: (0, viem_1.custom)(params.localAccountOrProvider),
104
- }).extend(viem_1.publicActions);
105
- }
106
- else if (params.walletClient) {
107
- this.walletClient = params.walletClient.extend(viem_1.publicActions);
108
- }
109
- else if (params.localAccountOrProvider) {
110
- throw Error("Incorrect localAccountOrProvider type");
111
- }
112
- }
113
- static async init(params) {
114
- const chainId = await (0, index_js_1.getChainId)(params.projectId);
115
- if (!chainId) {
116
- throw new Error("ChainId not found");
117
- }
118
- const chain = (0, utils_js_1.getChain)(chainId);
119
- const instance = new RecoveryValidator({ ...params, chain });
120
- return instance;
121
- }
122
- getNonceKey() {
123
- return BigInt(this.validatorAddress);
124
- }
125
- setRecoverySignatures(signatures) {
126
- this.signatures = signatures;
127
- }
128
- async getRecoverySignatures() {
129
- if (this.recoveryId) {
130
- const { signatures } = await (0, index_js_1.getRecoveryData)(this.recoveryId);
131
- this.setRecoverySignatures(signatures);
132
- }
133
- return this.signatures;
134
- }
135
- getRecoveryConfig() {
136
- if (this.guardians === undefined ||
137
- !this.threshold ||
138
- Object.values(this.guardians).some((v) => v === 0) ||
139
- Object.values(this.guardians).reduce((a, c) => a + c, 0) < this.threshold) {
140
- throw Error("Recovery config uninitialised or unexpected");
141
- }
142
- return {
143
- guardians: this.guardians,
144
- threshold: this.threshold,
145
- delaySeconds: this.delaySeconds,
146
- };
147
- }
148
- async signer() {
149
- if (!this.accountSigner) {
150
- throw Error("AccountSigner not set");
151
- }
152
- return await Promise.resolve(this.accountSigner);
153
- }
154
- async getEnableData() {
155
- if (this.guardians === undefined ||
156
- !this.threshold ||
157
- Object.values(this.guardians).some((v) => v === 0) ||
158
- Object.values(this.guardians).reduce((a, c) => a + c, 0) < this.threshold) {
159
- throw Error("Recovery config uninitialised or unexpected");
160
- }
161
- return (0, viem_1.encodeAbiParameters)((0, viem_1.parseAbiParameters)("address[] guardians, uint24[] weights, uint24 threshold, uint48 delay"), [
162
- Object.keys(this.guardians),
163
- Object.values(this.guardians),
164
- this.threshold,
165
- this.delaySeconds,
166
- ]);
167
- }
168
- encodeEnable(recoveryData) {
169
- return (0, viem_1.encodeFunctionData)({
170
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
171
- functionName: "enable",
172
- args: [recoveryData],
173
- });
174
- }
175
- encodeDisable(disableData = "0x") {
176
- return (0, viem_1.encodeFunctionData)({
177
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
178
- functionName: "disable",
179
- args: [disableData],
180
- });
181
- }
182
- encodeApprove(callDataAndNonceHash, kernelAccountAddress) {
183
- return (0, viem_1.encodeFunctionData)({
184
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
185
- functionName: "approve",
186
- args: [callDataAndNonceHash, kernelAccountAddress],
187
- });
188
- }
189
- encodeApproveWithSig(callDataAndNonceHash, kernelAccountAddress, sigs) {
190
- return (0, viem_1.encodeFunctionData)({
191
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
192
- functionName: "approveWithSig",
193
- args: [callDataAndNonceHash, kernelAccountAddress, sigs],
194
- });
195
- }
196
- encodeVeto(callDataAndNonceHash) {
197
- return (0, viem_1.encodeFunctionData)({
198
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
199
- functionName: "veto",
200
- args: [callDataAndNonceHash],
201
- });
202
- }
203
- encodeRenew(guardians, weights, threshold, delay) {
204
- return (0, viem_1.encodeFunctionData)({
205
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
206
- functionName: "renew",
207
- args: [guardians, weights, threshold, delay],
208
- });
209
- }
210
- encodeRecoveryAction(enableData, defaultValidatorAddress) {
211
- return (0, viem_1.encodeFunctionData)({
212
- abi: RecoveryActionAbi_js_1.RecoveryActionAbi,
213
- functionName: "doRecovery",
214
- args: [defaultValidatorAddress, enableData],
215
- });
216
- }
217
- static async fetchRecoveryConfigFromContract(kernelAccountAddress, publicClient) {
218
- try {
219
- const [, threshold, delaySeconds, firstGuardian] = await publicClient.readContract({
220
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
221
- address: constants_js_1.RECOVERY_VALIDATOR_ADDRESS,
222
- functionName: "weightedStorage",
223
- args: [kernelAccountAddress],
224
- });
225
- const guardians = {};
226
- let nextGuardian = firstGuardian;
227
- const sentinelValue = "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF";
228
- while (nextGuardian.toLowerCase() !== sentinelValue.toLowerCase()) {
229
- const guardianStorage = await publicClient.readContract({
230
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
231
- address: constants_js_1.RECOVERY_VALIDATOR_ADDRESS,
232
- functionName: "guardian",
233
- args: [nextGuardian, kernelAccountAddress],
234
- });
235
- guardians[nextGuardian] = guardianStorage[0];
236
- nextGuardian = guardianStorage[1];
237
- }
238
- return {
239
- threshold,
240
- delaySeconds,
241
- guardians,
242
- };
243
- }
244
- catch (error) {
245
- throw Error("Failed to fetch config from contract");
246
- }
247
- }
248
- async isPluginEnabled(kernelAccountAddress, selector) {
249
- if (this.guardians === undefined ||
250
- !this.threshold ||
251
- Object.values(this.guardians).some((v) => v === 0) ||
252
- Object.values(this.guardians).reduce((a, c) => a + c, 0) < this.threshold) {
253
- throw Error("Recovery config uninitialised or unexpected");
254
- }
255
- if (!this.publicClient) {
256
- throw new Error("Validator uninitialized: PublicClient missing");
257
- }
258
- try {
259
- const kernel = (0, viem_1.getContract)({
260
- abi: KernelAccountAbi_js_1.KernelAccountAbi,
261
- address: kernelAccountAddress,
262
- publicClient: this.publicClient,
263
- });
264
- const execDetail = await kernel.read.getExecution([selector]);
265
- const enableData = await this.publicClient.readContract({
266
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
267
- address: this.validatorAddress,
268
- functionName: "weightedStorage",
269
- args: [kernelAccountAddress],
270
- });
271
- return (execDetail.validator.toLowerCase() ===
272
- this.validatorAddress.toLowerCase() &&
273
- enableData[0] ===
274
- Object.values(this.guardians).reduce((a, c) => a + c, 0) &&
275
- enableData[1] === this.threshold &&
276
- enableData[2] === this.delaySeconds &&
277
- this.isGuardiansEnabled(kernelAccountAddress));
278
- }
279
- catch (error) {
280
- return false;
281
- }
282
- }
283
- async isGuardiansEnabled(kernelAccountAddress) {
284
- if (this.guardians === undefined ||
285
- !this.threshold ||
286
- Object.values(this.guardians).some((v) => v === 0) ||
287
- Object.values(this.guardians).reduce((a, c) => a + c, 0) < this.threshold) {
288
- throw Error("Recovery config uninitialised or unexpected");
289
- }
290
- const weightedValidator = (0, viem_1.getContract)({
291
- abi: WeightedValidatorAbi_js_1.WeightedValidatorAbi,
292
- address: this.validatorAddress,
293
- publicClient: this.publicClient,
294
- });
295
- for (const [addr, weight] of Object.entries(this.guardians)) {
296
- const result = await weightedValidator.read.guardian([
297
- addr,
298
- kernelAccountAddress,
299
- ]);
300
- if (result[0] !== weight) {
301
- return false;
302
- }
303
- }
304
- return true;
305
- }
306
- async getDummyUserOpSignature() {
307
- let dummySignature = "0x";
308
- if (this.signatures) {
309
- const totalSigs = this.signatures.substring(2).length / 130;
310
- for (let i = 0; i < totalSigs; i++) {
311
- dummySignature = (0, viem_1.concatHex)([dummySignature, constants_js_1.DUMMY_ECDSA_SIG]);
312
- }
313
- return this.signatures;
314
- }
315
- return constants_js_1.DUMMY_ECDSA_SIG;
316
- }
317
- async signMessage(message) {
318
- if (!this.accountSigner) {
319
- throw Error("AccountSigner not set");
320
- }
321
- return await this.accountSigner.signMessage(message);
322
- }
323
- async signTypedData(params) {
324
- if (!this.accountSigner) {
325
- throw Error("AccountSigner not set");
326
- }
327
- return (0, utils_js_1.fixSignedData)(await this.accountSigner.signTypedData(params));
328
- }
329
- async signRecoveryHash(recoveryHash) {
330
- if (!this.chain) {
331
- throw new Error("Validator uninitialized");
332
- }
333
- return await this.signTypedData({
334
- domain: {
335
- name: "WeightedECDSAValidator",
336
- version: "0.0.3",
337
- chainId: this.chain.id,
338
- verifyingContract: this.validatorAddress,
339
- },
340
- types: {
341
- Approve: [{ name: "callDataAndNonceHash", type: "bytes32" }],
342
- },
343
- message: {
344
- callDataAndNonceHash: recoveryHash,
345
- },
346
- primaryType: "Approve",
347
- });
348
- }
349
- async signUserOp(userOp) {
350
- if (!this.chain) {
351
- throw new Error("Validator uninitialized");
352
- }
353
- if (this.isSignerSmartContract) {
354
- return this.signatures ?? constants_js_1.DUMMY_ECDSA_SIG;
355
- }
356
- const hash = (0, aa_core_1.getUserOperationHash)({
357
- ...userOp,
358
- signature: "0x",
359
- }, this.entryPointAddress, BigInt(this.chain.id));
360
- const formattedMessage = typeof hash === "string" ? (0, viem_1.toBytes)(hash) : hash;
361
- return await this.signMessage(formattedMessage);
362
- }
363
- }
364
- exports.RecoveryValidator = RecoveryValidator;
365
- //# sourceMappingURL=recovery-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recovery-validator.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/recovery-validator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getUserOperationHash,\n type Address,\n type Hex,\n type SmartAccountSigner,\n type UserOperationRequest,\n type SignTypedDataParams,\n} from \"@alchemy/aa-core\";\nimport {\n KernelBaseValidator,\n ValidatorMode,\n type KernelBaseValidatorParams,\n} from \"./base.js\";\nimport {\n concatHex,\n encodeAbiParameters,\n encodeFunctionData,\n getContract,\n parseAbiParameters,\n type LocalAccount,\n createWalletClient,\n type WalletClient,\n http,\n custom,\n type Transport,\n type Chain,\n type Account,\n publicActions,\n getFunctionSelector,\n type PublicClient,\n toBytes,\n} from \"viem\";\nimport { WeightedValidatorAbi } from \"../abis/WeightedValidatorAbi.js\";\nimport { getChainId, getRecoveryData } from \"../api/index.js\";\nimport {\n CHAIN_ID_TO_NODE,\n DUMMY_ECDSA_SIG,\n RECOVERY_ACTION,\n RECOVERY_VALIDATOR_ADDRESS,\n} from \"../constants.js\";\nimport { KernelAccountAbi } from \"../abis/KernelAccountAbi.js\";\nimport { fixSignedData, getChain } from \"../utils.js\";\nimport type { EthereumProvider } from \"./types.js\";\nimport { polygonMumbai } from \"viem/chains\";\nimport { RecoveryActionAbi } from \"../abis/RecoveryActionAbi.js\";\n\ninterface WeightedGuardians {\n [guardian: Address]: number;\n}\nexport interface RecoveryValidatorParams extends KernelBaseValidatorParams {\n guardians?: WeightedGuardians;\n threshold?: number;\n delaySeconds?: number;\n accountSigner?: SmartAccountSigner;\n localAccountOrProvider?: LocalAccount<string> | EthereumProvider;\n walletClient?: WalletClient<Transport, Chain>;\n signatures?: Hex;\n recoveryId?: string;\n isSignerSmartContract?: boolean;\n}\n\nexport type RecoveryConfig = Required<\n Pick<RecoveryValidatorParams, \"guardians\" | \"threshold\" | \"delaySeconds\">\n>;\n\nexport function isLocalAccount(account: any): account is LocalAccount<string> {\n return account && account.signTransaction !== undefined;\n}\n\nexport function isEthereumProvider(\n provider: any\n): provider is EthereumProvider {\n return provider && provider.request !== undefined;\n}\n\ntype WalletClientAccountType<T> = T extends LocalAccount<string>\n ? Account\n : T extends EthereumProvider\n ? undefined\n : never;\n\nexport const recoverySelector = getFunctionSelector(\n \"doRecovery(address, bytes)\"\n);\n\nexport class RecoveryValidator extends KernelBaseValidator {\n protected guardians?: WeightedGuardians;\n protected threshold?: number;\n protected delaySeconds: number;\n protected accountSigner?: SmartAccountSigner;\n protected localAccountOrProvider?: LocalAccount<string> | EthereumProvider;\n protected signatures?: Hex;\n protected recoveryId?: string;\n protected isSignerSmartContract?: boolean;\n walletClient?: WalletClient<\n Transport,\n Chain,\n WalletClientAccountType<typeof this.localAccountOrProvider>\n >;\n\n constructor(params: RecoveryValidatorParams) {\n super(params);\n this.guardians = params.guardians;\n this.threshold = params.threshold;\n this.delaySeconds = params.delaySeconds ?? 0;\n this.accountSigner = params.accountSigner;\n this.mode = params.mode ?? ValidatorMode.plugin;\n this.localAccountOrProvider = params.localAccountOrProvider;\n this.signatures = params.signatures;\n this.validAfter = params.validAfter ?? 0;\n this.validUntil = params.validUntil ?? 0;\n this.executor = params.executor ?? RECOVERY_ACTION;\n this.selector = params.selector ?? recoverySelector;\n this.recoveryId = params.recoveryId;\n this.isSignerSmartContract = params.isSignerSmartContract;\n if (isLocalAccount(params.localAccountOrProvider)) {\n this.walletClient = createWalletClient({\n account: params.localAccountOrProvider,\n chain: this.chain ?? polygonMumbai,\n transport: http(\n this.rpcUrl ?? CHAIN_ID_TO_NODE[this.chain?.id ?? polygonMumbai.id]\n ),\n }).extend(publicActions);\n } else if (isEthereumProvider(params.localAccountOrProvider)) {\n this.walletClient = createWalletClient({\n chain: this.chain ?? polygonMumbai,\n transport: custom(params.localAccountOrProvider),\n }).extend(publicActions);\n } else if (params.walletClient) {\n this.walletClient = params.walletClient.extend(publicActions);\n } else if (params.localAccountOrProvider) {\n throw Error(\"Incorrect localAccountOrProvider type\");\n }\n }\n\n public static async init(\n params: RecoveryValidatorParams\n ): Promise<RecoveryValidator> {\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 instance = new RecoveryValidator({ ...params, chain });\n return instance;\n }\n\n getNonceKey(): bigint {\n return BigInt(this.validatorAddress);\n }\n\n setRecoverySignatures(signatures: Hex) {\n this.signatures = signatures;\n }\n\n async getRecoverySignatures(): Promise<Hex | undefined> {\n if (this.recoveryId) {\n const { signatures } = await getRecoveryData(this.recoveryId);\n this.setRecoverySignatures(signatures);\n }\n return this.signatures;\n }\n\n getRecoveryConfig(): RecoveryConfig {\n if (\n this.guardians === undefined ||\n !this.threshold ||\n Object.values(this.guardians).some((v) => v === 0) ||\n Object.values(this.guardians).reduce((a, c) => a + c, 0) < this.threshold\n ) {\n throw Error(\"Recovery config uninitialised or unexpected\");\n }\n return {\n guardians: this.guardians,\n threshold: this.threshold,\n delaySeconds: this.delaySeconds,\n };\n }\n\n async signer(): Promise<SmartAccountSigner> {\n if (!this.accountSigner) {\n throw Error(\"AccountSigner not set\");\n }\n return await Promise.resolve(this.accountSigner);\n }\n\n async getEnableData(): Promise<Hex> {\n if (\n this.guardians === undefined ||\n !this.threshold ||\n Object.values(this.guardians).some((v) => v === 0) ||\n Object.values(this.guardians).reduce((a, c) => a + c, 0) < this.threshold\n ) {\n throw Error(\"Recovery config uninitialised or unexpected\");\n }\n return encodeAbiParameters(\n parseAbiParameters(\n \"address[] guardians, uint24[] weights, uint24 threshold, uint48 delay\"\n ),\n [\n Object.keys(this.guardians) as Address[],\n Object.values(this.guardians),\n this.threshold,\n this.delaySeconds,\n ]\n );\n }\n\n encodeEnable(recoveryData: Hex): Hex {\n return encodeFunctionData({\n abi: WeightedValidatorAbi,\n functionName: \"enable\",\n args: [recoveryData],\n });\n }\n\n encodeDisable(disableData: Hex = \"0x\"): Hex {\n return encodeFunctionData({\n abi: WeightedValidatorAbi,\n functionName: \"disable\",\n args: [disableData],\n });\n }\n\n encodeApprove(callDataAndNonceHash: Hex, kernelAccountAddress: Address): Hex {\n return encodeFunctionData({\n abi: WeightedValidatorAbi,\n functionName: \"approve\",\n args: [callDataAndNonceHash, kernelAccountAddress],\n });\n }\n\n encodeApproveWithSig(\n callDataAndNonceHash: Hex,\n kernelAccountAddress: Address,\n sigs: Hex\n ): Hex {\n return encodeFunctionData({\n abi: WeightedValidatorAbi,\n functionName: \"approveWithSig\",\n args: [callDataAndNonceHash, kernelAccountAddress, sigs],\n });\n }\n\n encodeVeto(callDataAndNonceHash: Hex): Hex {\n return encodeFunctionData({\n abi: WeightedValidatorAbi,\n functionName: \"veto\",\n args: [callDataAndNonceHash],\n });\n }\n\n encodeRenew(\n guardians: Address[],\n weights: number[],\n threshold: number,\n delay: number\n ): Hex {\n return encodeFunctionData({\n abi: WeightedValidatorAbi,\n functionName: \"renew\",\n args: [guardians, weights, threshold, delay],\n });\n }\n\n encodeRecoveryAction(enableData: Hex, defaultValidatorAddress: Address): Hex {\n return encodeFunctionData({\n abi: RecoveryActionAbi,\n functionName: \"doRecovery\",\n args: [defaultValidatorAddress, enableData],\n });\n }\n\n static async fetchRecoveryConfigFromContract(\n kernelAccountAddress: Address,\n publicClient: PublicClient<Transport, Chain>\n ): Promise<RecoveryConfig> {\n try {\n const [, threshold, delaySeconds, firstGuardian] =\n await publicClient.readContract({\n abi: WeightedValidatorAbi,\n address: RECOVERY_VALIDATOR_ADDRESS,\n functionName: \"weightedStorage\",\n args: [kernelAccountAddress],\n });\n\n const guardians: WeightedGuardians = {};\n\n let nextGuardian = firstGuardian;\n const sentinelValue = \"0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\";\n while (nextGuardian.toLowerCase() !== sentinelValue.toLowerCase()) {\n const guardianStorage = await publicClient.readContract({\n abi: WeightedValidatorAbi,\n address: RECOVERY_VALIDATOR_ADDRESS,\n functionName: \"guardian\",\n args: [nextGuardian, kernelAccountAddress],\n });\n guardians[nextGuardian] = guardianStorage[0];\n nextGuardian = guardianStorage[1];\n }\n return {\n threshold,\n delaySeconds,\n guardians,\n };\n } catch (error) {\n throw Error(\"Failed to fetch config from contract\");\n }\n }\n\n async isPluginEnabled(\n kernelAccountAddress: Address,\n selector: Hex\n ): Promise<boolean> {\n if (\n this.guardians === undefined ||\n !this.threshold ||\n Object.values(this.guardians).some((v) => v === 0) ||\n Object.values(this.guardians).reduce((a, c) => a + c, 0) < this.threshold\n ) {\n throw Error(\"Recovery config uninitialised or unexpected\");\n }\n if (!this.publicClient) {\n throw new Error(\"Validator uninitialized: PublicClient missing\");\n }\n try {\n const kernel = getContract({\n abi: KernelAccountAbi,\n address: kernelAccountAddress,\n publicClient: this.publicClient,\n });\n const execDetail = await kernel.read.getExecution([selector]);\n const enableData = await this.publicClient.readContract({\n abi: WeightedValidatorAbi,\n address: this.validatorAddress,\n functionName: \"weightedStorage\",\n args: [kernelAccountAddress],\n });\n\n return (\n execDetail.validator.toLowerCase() ===\n this.validatorAddress.toLowerCase() &&\n enableData[0] ===\n Object.values(this.guardians).reduce((a, c) => a + c, 0) &&\n enableData[1] === this.threshold &&\n enableData[2] === this.delaySeconds &&\n this.isGuardiansEnabled(kernelAccountAddress)\n );\n } catch (error) {\n return false;\n }\n }\n\n async isGuardiansEnabled(kernelAccountAddress: Address): Promise<boolean> {\n if (\n this.guardians === undefined ||\n !this.threshold ||\n Object.values(this.guardians).some((v) => v === 0) ||\n Object.values(this.guardians).reduce((a, c) => a + c, 0) < this.threshold\n ) {\n throw Error(\"Recovery config uninitialised or unexpected\");\n }\n const weightedValidator = getContract({\n abi: WeightedValidatorAbi,\n address: this.validatorAddress,\n publicClient: this.publicClient,\n });\n for (const [addr, weight] of Object.entries(this.guardians)) {\n const result = await weightedValidator.read.guardian([\n addr as Address,\n kernelAccountAddress,\n ]);\n if (result[0] !== weight) {\n return false;\n }\n }\n return true;\n }\n\n async getDummyUserOpSignature(): Promise<Hex> {\n let dummySignature: Hex = \"0x\";\n if (this.signatures) {\n const totalSigs = this.signatures.substring(2).length / 130;\n for (let i = 0; i < totalSigs; i++) {\n dummySignature = concatHex([dummySignature, DUMMY_ECDSA_SIG]);\n }\n // Hack - Fix this to not send original signatures\n return this.signatures;\n }\n return DUMMY_ECDSA_SIG;\n }\n\n async signMessage(message: string | Uint8Array): Promise<Hex> {\n if (!this.accountSigner) {\n throw Error(\"AccountSigner not set\");\n }\n return await this.accountSigner.signMessage(message);\n }\n\n async signTypedData(params: SignTypedDataParams): Promise<Hex> {\n if (!this.accountSigner) {\n throw Error(\"AccountSigner not set\");\n }\n return fixSignedData(await this.accountSigner.signTypedData(params));\n }\n\n async signRecoveryHash(recoveryHash: Hex): Promise<Hex> {\n if (!this.chain) {\n throw new Error(\"Validator uninitialized\");\n }\n return await this.signTypedData({\n domain: {\n name: \"WeightedECDSAValidator\",\n version: \"0.0.3\",\n chainId: this.chain.id,\n verifyingContract: this.validatorAddress,\n },\n types: {\n Approve: [{ name: \"callDataAndNonceHash\", type: \"bytes32\" }],\n },\n message: {\n callDataAndNonceHash: recoveryHash,\n },\n primaryType: \"Approve\",\n });\n }\n\n async signUserOp(userOp: UserOperationRequest): Promise<Hex> {\n if (!this.chain) {\n throw new Error(\"Validator uninitialized\");\n }\n if (this.isSignerSmartContract) {\n return this.signatures ?? DUMMY_ECDSA_SIG;\n }\n\n const hash = getUserOperationHash(\n {\n ...userOp,\n signature: \"0x\",\n },\n this.entryPointAddress,\n BigInt(this.chain.id)\n );\n const formattedMessage = typeof hash === \"string\" ? toBytes(hash) : hash;\n return await this.signMessage(formattedMessage);\n }\n}\n"]}