@zerodev/sdk 4.0.9 → 4.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/README.md +125 -3
  2. package/dist/cjs/index.d.ts +3 -4
  3. package/dist/cjs/index.js +6 -1
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +2 -2
  6. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js +2 -2
  7. package/dist/cjs/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +1 -1
  8. package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.d.ts +3 -3
  9. package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.js +3 -3
  10. package/dist/cjs/kernel-zerodev/abis/KernelAccountAbi.js.map +1 -1
  11. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +158 -0
  12. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js +210 -0
  13. package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +1 -0
  14. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.d.ts +237 -39
  15. package/dist/cjs/kernel-zerodev/abis/Test_ERC20Abi.js.map +1 -1
  16. package/dist/cjs/kernel-zerodev/account.d.ts +13 -4
  17. package/dist/cjs/kernel-zerodev/account.js +50 -38
  18. package/dist/cjs/kernel-zerodev/account.js.map +1 -1
  19. package/dist/cjs/kernel-zerodev/constants.d.ts +3 -1
  20. package/dist/cjs/kernel-zerodev/constants.js +4 -2
  21. package/dist/cjs/kernel-zerodev/constants.js.map +1 -1
  22. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  23. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.js +1 -1
  24. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.js.map +1 -1
  25. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.d.ts +4 -3
  26. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js +12 -1
  27. package/dist/cjs/kernel-zerodev/ethers-provider/ethers-provider.js.map +1 -1
  28. package/dist/cjs/kernel-zerodev/middleware/paymaster.js +2 -1
  29. package/dist/cjs/kernel-zerodev/middleware/paymaster.js.map +1 -1
  30. package/dist/cjs/kernel-zerodev/paymaster/base.d.ts +3 -2
  31. package/dist/cjs/kernel-zerodev/paymaster/base.js +2 -1
  32. package/dist/cjs/kernel-zerodev/paymaster/base.js.map +1 -1
  33. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.d.ts +1 -1
  34. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js +2 -1
  35. package/dist/cjs/kernel-zerodev/paymaster/token-paymaster.js.map +1 -1
  36. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.d.ts +1 -1
  37. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js +2 -1
  38. package/dist/cjs/kernel-zerodev/paymaster/verifying-paymaster.js.map +1 -1
  39. package/dist/cjs/kernel-zerodev/provider.js +17 -12
  40. package/dist/cjs/kernel-zerodev/provider.js.map +1 -1
  41. package/dist/cjs/kernel-zerodev/signer/empty-account.d.ts +10 -0
  42. package/dist/cjs/kernel-zerodev/signer/empty-account.js +43 -0
  43. package/dist/cjs/kernel-zerodev/signer/empty-account.js.map +1 -0
  44. package/dist/cjs/kernel-zerodev/utils.d.ts +2 -0
  45. package/dist/cjs/kernel-zerodev/utils.js +11 -1
  46. package/dist/cjs/kernel-zerodev/utils.js.map +1 -1
  47. package/dist/cjs/kernel-zerodev/validator/base.d.ts +6 -3
  48. package/dist/cjs/kernel-zerodev/validator/base.js +20 -3
  49. package/dist/cjs/kernel-zerodev/validator/base.js.map +1 -1
  50. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.d.ts +1 -0
  51. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js +11 -0
  52. package/dist/cjs/kernel-zerodev/validator/erc165-session-key-validator.js.map +1 -1
  53. package/dist/cjs/kernel-zerodev/validator/index.d.ts +2 -1
  54. package/dist/cjs/kernel-zerodev/validator/index.js +4 -1
  55. package/dist/cjs/kernel-zerodev/validator/index.js.map +1 -1
  56. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js +1 -0
  57. package/dist/cjs/kernel-zerodev/validator/kill-switch-validator.js.map +1 -1
  58. package/dist/cjs/kernel-zerodev/validator/session-key-validator.d.ts +65 -0
  59. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js +345 -0
  60. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js.map +1 -0
  61. package/dist/cjs/kernel-zerodev/validator/types.d.ts +5 -1
  62. package/dist/cjs/kernel-zerodev/validator/types.js.map +1 -1
  63. package/dist/cjs/kernel-zerodev/validator-provider/base.d.ts +5 -4
  64. package/dist/cjs/kernel-zerodev/validator-provider/base.js +17 -2
  65. package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +1 -1
  66. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +2 -2
  67. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.js.map +1 -1
  68. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +2 -2
  69. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +1 -1
  70. package/dist/cjs/kernel-zerodev/validator-provider/index.d.ts +2 -1
  71. package/dist/cjs/kernel-zerodev/validator-provider/index.js +4 -1
  72. package/dist/cjs/kernel-zerodev/validator-provider/index.js.map +1 -1
  73. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +2 -2
  74. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.js.map +1 -1
  75. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.d.ts +18 -0
  76. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.js +114 -0
  77. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.js.map +1 -0
  78. package/dist/cjs/kernel-zerodev/validator-provider/types.d.ts +5 -0
  79. package/dist/cjs/kernel-zerodev/validator-provider/types.js.map +1 -1
  80. package/dist/esm/index.d.ts +3 -4
  81. package/dist/esm/index.js +3 -1
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +2 -2
  84. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js +2 -2
  85. package/dist/esm/kernel-zerodev/abis/ESCDAValidatorAbi.js.map +1 -1
  86. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.d.ts +3 -3
  87. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.js +3 -3
  88. package/dist/esm/kernel-zerodev/abis/KernelAccountAbi.js.map +1 -1
  89. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +158 -0
  90. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js +207 -0
  91. package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +1 -0
  92. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.d.ts +237 -39
  93. package/dist/esm/kernel-zerodev/abis/Test_ERC20Abi.js.map +1 -1
  94. package/dist/esm/kernel-zerodev/account.d.ts +13 -4
  95. package/dist/esm/kernel-zerodev/account.js +51 -38
  96. package/dist/esm/kernel-zerodev/account.js.map +1 -1
  97. package/dist/esm/kernel-zerodev/constants.d.ts +3 -1
  98. package/dist/esm/kernel-zerodev/constants.js +3 -1
  99. package/dist/esm/kernel-zerodev/constants.js.map +1 -1
  100. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  101. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.js +2 -2
  102. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.js.map +1 -1
  103. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.d.ts +4 -3
  104. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js +13 -2
  105. package/dist/esm/kernel-zerodev/ethers-provider/ethers-provider.js.map +1 -1
  106. package/dist/esm/kernel-zerodev/middleware/paymaster.js +2 -1
  107. package/dist/esm/kernel-zerodev/middleware/paymaster.js.map +1 -1
  108. package/dist/esm/kernel-zerodev/paymaster/base.d.ts +3 -2
  109. package/dist/esm/kernel-zerodev/paymaster/base.js +2 -1
  110. package/dist/esm/kernel-zerodev/paymaster/base.js.map +1 -1
  111. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.d.ts +1 -1
  112. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js +2 -1
  113. package/dist/esm/kernel-zerodev/paymaster/token-paymaster.js.map +1 -1
  114. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.d.ts +1 -1
  115. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js +2 -1
  116. package/dist/esm/kernel-zerodev/paymaster/verifying-paymaster.js.map +1 -1
  117. package/dist/esm/kernel-zerodev/provider.js +17 -12
  118. package/dist/esm/kernel-zerodev/provider.js.map +1 -1
  119. package/dist/esm/kernel-zerodev/signer/empty-account.d.ts +10 -0
  120. package/dist/esm/kernel-zerodev/signer/empty-account.js +40 -0
  121. package/dist/esm/kernel-zerodev/signer/empty-account.js.map +1 -0
  122. package/dist/esm/kernel-zerodev/utils.d.ts +2 -0
  123. package/dist/esm/kernel-zerodev/utils.js +8 -0
  124. package/dist/esm/kernel-zerodev/utils.js.map +1 -1
  125. package/dist/esm/kernel-zerodev/validator/base.d.ts +6 -3
  126. package/dist/esm/kernel-zerodev/validator/base.js +20 -3
  127. package/dist/esm/kernel-zerodev/validator/base.js.map +1 -1
  128. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.d.ts +1 -0
  129. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js +13 -2
  130. package/dist/esm/kernel-zerodev/validator/erc165-session-key-validator.js.map +1 -1
  131. package/dist/esm/kernel-zerodev/validator/index.d.ts +2 -1
  132. package/dist/esm/kernel-zerodev/validator/index.js +3 -1
  133. package/dist/esm/kernel-zerodev/validator/index.js.map +1 -1
  134. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js +2 -1
  135. package/dist/esm/kernel-zerodev/validator/kill-switch-validator.js.map +1 -1
  136. package/dist/esm/kernel-zerodev/validator/session-key-validator.d.ts +65 -0
  137. package/dist/esm/kernel-zerodev/validator/session-key-validator.js +341 -0
  138. package/dist/esm/kernel-zerodev/validator/session-key-validator.js.map +1 -0
  139. package/dist/esm/kernel-zerodev/validator/types.d.ts +5 -1
  140. package/dist/esm/kernel-zerodev/validator/types.js.map +1 -1
  141. package/dist/esm/kernel-zerodev/validator-provider/base.d.ts +5 -4
  142. package/dist/esm/kernel-zerodev/validator-provider/base.js +17 -2
  143. package/dist/esm/kernel-zerodev/validator-provider/base.js.map +1 -1
  144. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +2 -2
  145. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.js.map +1 -1
  146. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +2 -2
  147. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.js.map +1 -1
  148. package/dist/esm/kernel-zerodev/validator-provider/index.d.ts +2 -1
  149. package/dist/esm/kernel-zerodev/validator-provider/index.js +3 -1
  150. package/dist/esm/kernel-zerodev/validator-provider/index.js.map +1 -1
  151. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +2 -2
  152. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.js.map +1 -1
  153. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.d.ts +18 -0
  154. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.js +110 -0
  155. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.js.map +1 -0
  156. package/dist/esm/kernel-zerodev/validator-provider/types.d.ts +5 -0
  157. package/dist/esm/kernel-zerodev/validator-provider/types.js.map +1 -1
  158. package/dist/types/index.d.ts +3 -4
  159. package/dist/types/index.d.ts.map +1 -1
  160. package/dist/types/kernel-zerodev/abis/ESCDAValidatorAbi.d.ts +2 -2
  161. package/dist/types/kernel-zerodev/abis/KernelAccountAbi.d.ts +3 -3
  162. package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +159 -0
  163. package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts.map +1 -0
  164. package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts +237 -39
  165. package/dist/types/kernel-zerodev/abis/Test_ERC20Abi.d.ts.map +1 -1
  166. package/dist/types/kernel-zerodev/account.d.ts +13 -4
  167. package/dist/types/kernel-zerodev/account.d.ts.map +1 -1
  168. package/dist/types/kernel-zerodev/constants.d.ts +3 -1
  169. package/dist/types/kernel-zerodev/constants.d.ts.map +1 -1
  170. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  171. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts.map +1 -1
  172. package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts +4 -3
  173. package/dist/types/kernel-zerodev/ethers-provider/ethers-provider.d.ts.map +1 -1
  174. package/dist/types/kernel-zerodev/middleware/paymaster.d.ts.map +1 -1
  175. package/dist/types/kernel-zerodev/paymaster/base.d.ts +3 -2
  176. package/dist/types/kernel-zerodev/paymaster/base.d.ts.map +1 -1
  177. package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts +1 -1
  178. package/dist/types/kernel-zerodev/paymaster/token-paymaster.d.ts.map +1 -1
  179. package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts +1 -1
  180. package/dist/types/kernel-zerodev/paymaster/verifying-paymaster.d.ts.map +1 -1
  181. package/dist/types/kernel-zerodev/provider.d.ts.map +1 -1
  182. package/dist/types/kernel-zerodev/signer/empty-account.d.ts +11 -0
  183. package/dist/types/kernel-zerodev/signer/empty-account.d.ts.map +1 -0
  184. package/dist/types/kernel-zerodev/utils.d.ts +2 -0
  185. package/dist/types/kernel-zerodev/utils.d.ts.map +1 -1
  186. package/dist/types/kernel-zerodev/validator/base.d.ts +6 -3
  187. package/dist/types/kernel-zerodev/validator/base.d.ts.map +1 -1
  188. package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts +1 -0
  189. package/dist/types/kernel-zerodev/validator/erc165-session-key-validator.d.ts.map +1 -1
  190. package/dist/types/kernel-zerodev/validator/index.d.ts +2 -1
  191. package/dist/types/kernel-zerodev/validator/index.d.ts.map +1 -1
  192. package/dist/types/kernel-zerodev/validator/kill-switch-validator.d.ts.map +1 -1
  193. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts +66 -0
  194. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts.map +1 -0
  195. package/dist/types/kernel-zerodev/validator/types.d.ts +5 -1
  196. package/dist/types/kernel-zerodev/validator/types.d.ts.map +1 -1
  197. package/dist/types/kernel-zerodev/validator-provider/base.d.ts +5 -4
  198. package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +1 -1
  199. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +2 -2
  200. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts.map +1 -1
  201. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +2 -2
  202. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts.map +1 -1
  203. package/dist/types/kernel-zerodev/validator-provider/index.d.ts +2 -1
  204. package/dist/types/kernel-zerodev/validator-provider/index.d.ts.map +1 -1
  205. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +2 -2
  206. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts.map +1 -1
  207. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts +19 -0
  208. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts.map +1 -0
  209. package/dist/types/kernel-zerodev/validator-provider/types.d.ts +5 -0
  210. package/dist/types/kernel-zerodev/validator-provider/types.d.ts.map +1 -1
  211. package/package.json +2 -1
  212. package/src/index.ts +3 -4
  213. package/src/kernel-zerodev/abis/ESCDAValidatorAbi.ts +2 -2
  214. package/src/kernel-zerodev/abis/KernelAccountAbi.ts +3 -3
  215. package/src/kernel-zerodev/abis/SessionKeyValidatorAbi.ts +206 -0
  216. package/src/kernel-zerodev/abis/Test_ERC20Abi.ts +1 -1
  217. package/src/kernel-zerodev/account.ts +58 -50
  218. package/src/kernel-zerodev/constants.ts +4 -1
  219. package/src/kernel-zerodev/ethers-provider/account-signer.ts +3 -3
  220. package/src/kernel-zerodev/ethers-provider/ethers-provider.ts +25 -7
  221. package/src/kernel-zerodev/middleware/paymaster.ts +2 -1
  222. package/src/kernel-zerodev/paymaster/base.ts +5 -1
  223. package/src/kernel-zerodev/paymaster/token-paymaster.ts +3 -1
  224. package/src/kernel-zerodev/paymaster/verifying-paymaster.ts +3 -1
  225. package/src/kernel-zerodev/provider.ts +27 -23
  226. package/src/kernel-zerodev/signer/empty-account.ts +27 -0
  227. package/src/kernel-zerodev/utils.ts +10 -0
  228. package/src/kernel-zerodev/validator/base.ts +32 -6
  229. package/src/kernel-zerodev/validator/erc165-session-key-validator.ts +20 -1
  230. package/src/kernel-zerodev/validator/index.ts +8 -1
  231. package/src/kernel-zerodev/validator/kill-switch-validator.ts +6 -1
  232. package/src/kernel-zerodev/validator/session-key-validator.ts +483 -0
  233. package/src/kernel-zerodev/validator/types.ts +14 -1
  234. package/src/kernel-zerodev/validator-provider/base.ts +24 -13
  235. package/src/kernel-zerodev/validator-provider/ecdsa-provider.ts +4 -1
  236. package/src/kernel-zerodev/validator-provider/erc165-session-key-provider.ts +4 -1
  237. package/src/kernel-zerodev/validator-provider/index.ts +8 -1
  238. package/src/kernel-zerodev/validator-provider/kill-switch-provider.ts +4 -1
  239. package/src/kernel-zerodev/validator-provider/session-key-provider.ts +151 -0
  240. package/src/kernel-zerodev/validator-provider/types.ts +10 -0
@@ -1,6 +1,6 @@
1
1
  import { ValidatorProvider, type ExtendedValidatorProviderParams } from "./base.js";
2
- import { type KillSwitchValidatorParams } from "../validator/kill-switch-validator.js";
3
- export declare class KillSwitchProvider extends ValidatorProvider<KillSwitchValidatorParams> {
2
+ import { KillSwitchValidator, type KillSwitchValidatorParams } from "../validator/kill-switch-validator.js";
3
+ export declare class KillSwitchProvider extends ValidatorProvider<KillSwitchValidator, KillSwitchValidatorParams> {
4
4
  constructor(params: ExtendedValidatorProviderParams<KillSwitchValidatorParams>);
5
5
  static init(params: ExtendedValidatorProviderParams<KillSwitchValidatorParams>): Promise<KillSwitchProvider>;
6
6
  changeGuardian: (enableData: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"kill-switch-provider.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/kill-switch-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAElB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,GAEpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,OAAO,kBAAmB,SAAQ,iBAA4C;IAClF,YACE,MAAkE;QAElE,MAAM,KAAK,GACT,OAAO,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,KAAK,QAAQ;YACpD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,aAAa,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC;YACxC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK;YACL,gBAAgB,EACd,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,gBAAgB;gBAC9C,6BAA6B;YAC/B,GAAG,MAAM,CAAC,IAAI,EAAE,eAAe;SAChC,CAAC,CAAC;QACH,KAAK,CACH;YACE,GAAG,MAAM;YACT,IAAI,EAAE;gBACJ,GAAG,MAAM,CAAC,IAAI;gBACd,cAAc,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;aAC1D;SACF,EACD,SAAS,CACV,CAAC;QAwBJ;;;;mBAAiB,IAAI,CAAC,uBAAuB;WAAC;QAE9C;;;;mBAAuB,IAAI,CAAC,wBAAwB;WAAC;IAzBrD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,MAAkE;QAElE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;YACtC,GAAG,MAAM;YACT,IAAI,EAAE;gBACJ,GAAG,MAAM,CAAC,IAAI;gBACd,cAAc,EAAE;oBACd,KAAK;oBACL,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc;iBAC/B;aACF;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;CAKF","sourcesContent":["import {\n ValidatorProvider,\n type ExtendedValidatorProviderParams,\n} from \"./base.js\";\nimport {\n KillSwitchValidator,\n type KillSwitchValidatorParams,\n} from \"../validator/kill-switch-validator.js\";\nimport { getChain } from \"@alchemy/aa-core\";\nimport { getChainId } from \"../api/index.js\";\nimport { polygonMumbai } from \"viem/chains\";\nimport { KILL_SWITCH_VALIDATOR_ADDRESS } from \"../constants.js\";\n\nexport class KillSwitchProvider extends ValidatorProvider<KillSwitchValidatorParams> {\n constructor(\n params: ExtendedValidatorProviderParams<KillSwitchValidatorParams>\n ) {\n const chain =\n typeof params.opts?.providerConfig?.chain === \"number\"\n ? getChain(params.opts.providerConfig.chain)\n : params.opts?.providerConfig?.chain ?? polygonMumbai;\n const validator = new KillSwitchValidator({\n projectId: params.projectId,\n guardian: params.guardian,\n delaySeconds: params.delaySeconds,\n chain,\n validatorAddress:\n params.opts?.validatorConfig?.validatorAddress ??\n KILL_SWITCH_VALIDATOR_ADDRESS,\n ...params.opts?.validatorConfig,\n });\n super(\n {\n ...params,\n opts: {\n ...params.opts,\n providerConfig: { ...params.opts?.providerConfig, chain },\n },\n },\n validator\n );\n }\n\n public static async init(\n params: ExtendedValidatorProviderParams<KillSwitchValidatorParams>\n ): Promise<KillSwitchProvider> {\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 KillSwitchProvider({\n ...params,\n opts: {\n ...params.opts,\n providerConfig: {\n chain,\n ...params.opts?.providerConfig,\n },\n },\n });\n return instance;\n }\n\n changeGuardian = this.sendEnableUserOperation;\n\n deleteKillSwitchData = this.sendDisableUserOperation;\n}\n"]}
1
+ {"version":3,"file":"kill-switch-provider.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/kill-switch-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAElB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,GAEpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,OAAO,kBAAmB,SAAQ,iBAGvC;IACC,YACE,MAAkE;QAElE,MAAM,KAAK,GACT,OAAO,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,KAAK,QAAQ;YACpD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,aAAa,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC;YACxC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK;YACL,gBAAgB,EACd,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,gBAAgB;gBAC9C,6BAA6B;YAC/B,GAAG,MAAM,CAAC,IAAI,EAAE,eAAe;SAChC,CAAC,CAAC;QACH,KAAK,CACH;YACE,GAAG,MAAM;YACT,IAAI,EAAE;gBACJ,GAAG,MAAM,CAAC,IAAI;gBACd,cAAc,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;aAC1D;SACF,EACD,SAAS,CACV,CAAC;QAwBJ;;;;mBAAiB,IAAI,CAAC,uBAAuB;WAAC;QAE9C;;;;mBAAuB,IAAI,CAAC,wBAAwB;WAAC;IAzBrD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,MAAkE;QAElE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;YACtC,GAAG,MAAM;YACT,IAAI,EAAE;gBACJ,GAAG,MAAM,CAAC,IAAI;gBACd,cAAc,EAAE;oBACd,KAAK;oBACL,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc;iBAC/B;aACF;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;CAKF","sourcesContent":["import {\n ValidatorProvider,\n type ExtendedValidatorProviderParams,\n} from \"./base.js\";\nimport {\n KillSwitchValidator,\n type KillSwitchValidatorParams,\n} from \"../validator/kill-switch-validator.js\";\nimport { getChain } from \"@alchemy/aa-core\";\nimport { getChainId } from \"../api/index.js\";\nimport { polygonMumbai } from \"viem/chains\";\nimport { KILL_SWITCH_VALIDATOR_ADDRESS } from \"../constants.js\";\n\nexport class KillSwitchProvider extends ValidatorProvider<\n KillSwitchValidator,\n KillSwitchValidatorParams\n> {\n constructor(\n params: ExtendedValidatorProviderParams<KillSwitchValidatorParams>\n ) {\n const chain =\n typeof params.opts?.providerConfig?.chain === \"number\"\n ? getChain(params.opts.providerConfig.chain)\n : params.opts?.providerConfig?.chain ?? polygonMumbai;\n const validator = new KillSwitchValidator({\n projectId: params.projectId,\n guardian: params.guardian,\n delaySeconds: params.delaySeconds,\n chain,\n validatorAddress:\n params.opts?.validatorConfig?.validatorAddress ??\n KILL_SWITCH_VALIDATOR_ADDRESS,\n ...params.opts?.validatorConfig,\n });\n super(\n {\n ...params,\n opts: {\n ...params.opts,\n providerConfig: { ...params.opts?.providerConfig, chain },\n },\n },\n validator\n );\n }\n\n public static async init(\n params: ExtendedValidatorProviderParams<KillSwitchValidatorParams>\n ): Promise<KillSwitchProvider> {\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 KillSwitchProvider({\n ...params,\n opts: {\n ...params.opts,\n providerConfig: {\n chain,\n ...params.opts?.providerConfig,\n },\n },\n });\n return instance;\n }\n\n changeGuardian = this.sendEnableUserOperation;\n\n deleteKillSwitchData = this.sendDisableUserOperation;\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { ValidatorProvider, type ExtendedValidatorProviderParams, type ValidatorProviderParams } from "./base.js";
2
+ import { SessionKeyValidator, type SessionKeyParams, type SessionKeyValidatorParams } from "../validator/session-key-validator.js";
3
+ import { type Hex, type SmartAccountSigner } from "@alchemy/aa-core";
4
+ import type { RequiredProps, WithRequired } from "../types.js";
5
+ import type { KernelBaseValidatorParams } from "../validator/base.js";
6
+ export type PrefillSessionData = {
7
+ sessionKeyParams: SessionKeyParams & WithRequired<SessionKeyParams, "sessionPrivateKey">;
8
+ };
9
+ export type SessionKeyProviderParams = PrefillSessionData & ValidatorProviderParams<SessionKeyValidatorParams> & Partial<SessionKeyValidatorParams> & RequiredProps<KernelBaseValidatorParams>;
10
+ export declare class SessionKeyProvider extends ValidatorProvider<SessionKeyValidator, SessionKeyValidatorParams> {
11
+ constructor(params: ExtendedValidatorProviderParams<SessionKeyValidatorParams>);
12
+ static init(params: ExtendedValidatorProviderParams<SessionKeyValidatorParams>): Promise<SessionKeyProvider>;
13
+ static fromSessionKeyParams(params: SessionKeyProviderParams, signer?: SmartAccountSigner): Promise<SessionKeyProvider>;
14
+ serializeSessionKeyParams(sessionPrivateKey?: Hex): Promise<string>;
15
+ static deserializeSessionKeyParams(sessionKeyParams: string): PrefillSessionData["sessionKeyParams"];
16
+ changeSessionKeyData: (enableData: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
17
+ deleteSessionKey: (disableData: `0x${string}`) => Promise<import("@alchemy/aa-core").SendUserOperationResult>;
18
+ }
@@ -0,0 +1,110 @@
1
+ import { ValidatorProvider, } from "./base.js";
2
+ import { SessionKeyValidator, } from "../validator/session-key-validator.js";
3
+ import { getChain, LocalAccountSigner, } from "@alchemy/aa-core";
4
+ import { getChainId } from "../api/index.js";
5
+ import { polygonMumbai } from "viem/chains";
6
+ import { SESSION_KEY_VALIDATOR_ADDRESS } from "../constants.js";
7
+ import { base64ToBytes, bytesToBase64 } from "../utils.js";
8
+ export class SessionKeyProvider extends ValidatorProvider {
9
+ constructor(params) {
10
+ const chain = typeof params.opts?.providerConfig?.chain === "number"
11
+ ? getChain(params.opts.providerConfig.chain)
12
+ : params.opts?.providerConfig?.chain ?? polygonMumbai;
13
+ const validator = new SessionKeyValidator({
14
+ projectId: params.projectId,
15
+ sessionKey: params.sessionKey,
16
+ sessionKeyData: params.sessionKeyData,
17
+ chain,
18
+ validatorAddress: params.opts?.validatorConfig?.validatorAddress ??
19
+ SESSION_KEY_VALIDATOR_ADDRESS,
20
+ ...params.opts?.validatorConfig,
21
+ });
22
+ super({
23
+ ...params,
24
+ opts: {
25
+ ...params.opts,
26
+ providerConfig: { ...params.opts?.providerConfig, chain },
27
+ },
28
+ }, validator);
29
+ Object.defineProperty(this, "changeSessionKeyData", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: this.sendEnableUserOperation
34
+ });
35
+ Object.defineProperty(this, "deleteSessionKey", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: this.sendDisableUserOperation
40
+ });
41
+ }
42
+ static async init(params) {
43
+ const chainId = await getChainId(params.projectId);
44
+ if (!chainId) {
45
+ throw new Error("ChainId not found");
46
+ }
47
+ const chain = getChain(chainId);
48
+ const instance = new SessionKeyProvider({
49
+ ...params,
50
+ opts: {
51
+ ...params.opts,
52
+ providerConfig: {
53
+ chain,
54
+ ...params.opts?.providerConfig,
55
+ },
56
+ },
57
+ });
58
+ return instance;
59
+ }
60
+ static async fromSessionKeyParams(params, signer) {
61
+ let sessionKey = signer;
62
+ if (!sessionKey) {
63
+ sessionKey = LocalAccountSigner.privateKeyToAccountSigner(params.sessionKeyParams.sessionPrivateKey);
64
+ }
65
+ return await SessionKeyProvider.init({
66
+ ...params,
67
+ sessionKey,
68
+ sessionKeyData: params.sessionKeyParams.sessionKeyData,
69
+ opts: {
70
+ ...params.opts,
71
+ accountConfig: {
72
+ ...params.opts?.accountConfig,
73
+ accountAddress: params.sessionKeyParams.accountAddress,
74
+ initCode: params.sessionKeyParams.initCode,
75
+ },
76
+ validatorConfig: {
77
+ ...params.opts?.validatorConfig,
78
+ executor: params.sessionKeyParams.executor,
79
+ selector: params.sessionKeyParams.selector,
80
+ enableSignature: params.sessionKeyParams.enableSignature,
81
+ },
82
+ },
83
+ });
84
+ }
85
+ async serializeSessionKeyParams(sessionPrivateKey) {
86
+ await this.getAccount().approvePlugin();
87
+ let sessionKeyParams = this.getValidator().getSessionData();
88
+ const initCode = await this.getAccount().getInitCode();
89
+ const accountAddress = await this.getAddress();
90
+ if (!initCode) {
91
+ throw Error("initCode not set");
92
+ }
93
+ sessionKeyParams = {
94
+ ...sessionKeyParams,
95
+ sessionPrivateKey,
96
+ initCode,
97
+ accountAddress,
98
+ };
99
+ const jsonString = JSON.stringify(sessionKeyParams);
100
+ const uint8Array = new TextEncoder().encode(jsonString);
101
+ const base64String = bytesToBase64(uint8Array);
102
+ return base64String;
103
+ }
104
+ static deserializeSessionKeyParams(sessionKeyParams) {
105
+ const uint8Array = base64ToBytes(sessionKeyParams);
106
+ const jsonString = new TextDecoder().decode(uint8Array);
107
+ return JSON.parse(jsonString);
108
+ }
109
+ }
110
+ //# sourceMappingURL=session-key-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-key-provider.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/session-key-provider.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ValidatorProvider,\n type ExtendedValidatorProviderParams,\n type ValidatorProviderParams,\n} from \"./base.js\";\nimport {\n SessionKeyValidator,\n type SessionKeyParams,\n type SessionKeyValidatorParams,\n} from \"../validator/session-key-validator.js\";\nimport {\n getChain,\n LocalAccountSigner,\n type Hex,\n type SmartAccountSigner,\n} from \"@alchemy/aa-core\";\nimport { getChainId } from \"../api/index.js\";\nimport { polygonMumbai } from \"viem/chains\";\nimport { SESSION_KEY_VALIDATOR_ADDRESS } from \"../constants.js\";\nimport { base64ToBytes, bytesToBase64 } from \"../utils.js\";\nimport type { RequiredProps, WithRequired } from \"../types.js\";\nimport type { KernelBaseValidatorParams } from \"../validator/base.js\";\n\nexport type PrefillSessionData = {\n sessionKeyParams: SessionKeyParams &\n WithRequired<SessionKeyParams, \"sessionPrivateKey\">;\n};\n\nexport type SessionKeyProviderParams = PrefillSessionData &\n ValidatorProviderParams<SessionKeyValidatorParams> &\n Partial<SessionKeyValidatorParams> &\n RequiredProps<KernelBaseValidatorParams>;\n\nexport class SessionKeyProvider extends ValidatorProvider<\n SessionKeyValidator,\n SessionKeyValidatorParams\n> {\n constructor(\n params: ExtendedValidatorProviderParams<SessionKeyValidatorParams>\n ) {\n const chain =\n typeof params.opts?.providerConfig?.chain === \"number\"\n ? getChain(params.opts.providerConfig.chain)\n : params.opts?.providerConfig?.chain ?? polygonMumbai;\n const validator = new SessionKeyValidator({\n projectId: params.projectId,\n sessionKey: params.sessionKey,\n sessionKeyData: params.sessionKeyData,\n chain,\n validatorAddress:\n params.opts?.validatorConfig?.validatorAddress ??\n SESSION_KEY_VALIDATOR_ADDRESS,\n ...params.opts?.validatorConfig,\n });\n super(\n {\n ...params,\n opts: {\n ...params.opts,\n providerConfig: { ...params.opts?.providerConfig, chain },\n },\n },\n validator\n );\n }\n\n public static async init(\n params: ExtendedValidatorProviderParams<SessionKeyValidatorParams>\n ): Promise<SessionKeyProvider> {\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 SessionKeyProvider({\n ...params,\n opts: {\n ...params.opts,\n providerConfig: {\n chain,\n ...params.opts?.providerConfig,\n },\n },\n });\n return instance;\n }\n\n public static async fromSessionKeyParams(\n params: SessionKeyProviderParams,\n signer?: SmartAccountSigner\n ) {\n let sessionKey = signer;\n\n if (!sessionKey) {\n sessionKey = LocalAccountSigner.privateKeyToAccountSigner(\n params.sessionKeyParams.sessionPrivateKey\n );\n }\n return await SessionKeyProvider.init({\n ...params,\n sessionKey,\n sessionKeyData: params.sessionKeyParams.sessionKeyData,\n opts: {\n ...params.opts,\n accountConfig: {\n ...params.opts?.accountConfig,\n accountAddress: params.sessionKeyParams.accountAddress,\n initCode: params.sessionKeyParams.initCode,\n },\n validatorConfig: {\n ...params.opts?.validatorConfig,\n executor: params.sessionKeyParams.executor,\n selector: params.sessionKeyParams.selector,\n enableSignature: params.sessionKeyParams.enableSignature,\n },\n },\n });\n }\n\n async serializeSessionKeyParams(sessionPrivateKey?: Hex): Promise<string> {\n await this.getAccount().approvePlugin();\n let sessionKeyParams = this.getValidator().getSessionData();\n const initCode = await this.getAccount().getInitCode();\n const accountAddress = await this.getAddress();\n if (!initCode) {\n throw Error(\"initCode not set\");\n }\n sessionKeyParams = {\n ...sessionKeyParams,\n sessionPrivateKey,\n initCode,\n accountAddress,\n };\n const jsonString = JSON.stringify(sessionKeyParams);\n const uint8Array = new TextEncoder().encode(jsonString);\n const base64String = bytesToBase64(uint8Array);\n return base64String;\n }\n\n public static deserializeSessionKeyParams(\n sessionKeyParams: string\n ): PrefillSessionData[\"sessionKeyParams\"] {\n const uint8Array = base64ToBytes(sessionKeyParams);\n const jsonString = new TextDecoder().decode(uint8Array);\n return JSON.parse(jsonString) as PrefillSessionData[\"sessionKeyParams\"];\n }\n\n changeSessionKeyData = this.sendEnableUserOperation;\n\n deleteSessionKey = this.sendDisableUserOperation;\n}\n"]}
@@ -1,21 +1,26 @@
1
1
  import type { ECDSAValidatorParams } from "../validator/ecdsa-validator.js";
2
2
  import type { ERC165SessionKeyValidatorParams } from "../validator/erc165-session-key-validator.js";
3
3
  import type { KillSwitchValidatorParams } from "../validator/kill-switch-validator.js";
4
+ import type { SessionKeyValidatorParams } from "../validator/session-key-validator.js";
4
5
  import type { SupportedValidators } from "../validator/types.js";
5
6
  import type { ExtendedValidatorProviderParams } from "./base.js";
6
7
  import type { ECDSAProvider } from "./ecdsa-provider.js";
7
8
  import type { ERC165SessionKeyProvider } from "./erc165-session-key-provider.js";
8
9
  import type { KillSwitchProvider } from "./kill-switch-provider.js";
10
+ import type { SessionKeyProvider, PrefillSessionData, SessionKeyProviderParams } from "./session-key-provider.js";
9
11
  export type ValidatorProviderTypeMap = {
10
12
  ECDSA: ECDSAProvider;
11
13
  KILL_SWITCH: KillSwitchProvider;
12
14
  ERC165_SESSION_KEY: ERC165SessionKeyProvider;
15
+ SESSION_KEY: SessionKeyProvider;
13
16
  };
14
17
  export type ValidatorProviderParamsMap = {
15
18
  ECDSA: ExtendedValidatorProviderParams<ECDSAValidatorParams>;
16
19
  KILL_SWITCH: ExtendedValidatorProviderParams<KillSwitchValidatorParams>;
17
20
  ERC165_SESSION_KEY: ExtendedValidatorProviderParams<ERC165SessionKeyValidatorParams>;
21
+ SESSION_KEY: ExtendedValidatorProviderParams<SessionKeyValidatorParams>;
18
22
  };
19
23
  export type ValidatorProviderMap = {
20
24
  [V in SupportedValidators]: new (params: ValidatorProviderParamsMap[V]) => ValidatorProviderTypeMap[V];
21
25
  };
26
+ export type { PrefillSessionData, SessionKeyProviderParams };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ECDSAValidatorParams } from \"../validator/ecdsa-validator.js\";\nimport type { ERC165SessionKeyValidatorParams } from \"../validator/erc165-session-key-validator.js\";\nimport type { KillSwitchValidatorParams } from \"../validator/kill-switch-validator.js\";\nimport type { SupportedValidators } from \"../validator/types.js\";\nimport type { ExtendedValidatorProviderParams } from \"./base.js\";\nimport type { ECDSAProvider } from \"./ecdsa-provider.js\";\nimport type { ERC165SessionKeyProvider } from \"./erc165-session-key-provider.js\";\nimport type { KillSwitchProvider } from \"./kill-switch-provider.js\";\n\nexport type ValidatorProviderTypeMap = {\n ECDSA: ECDSAProvider;\n KILL_SWITCH: KillSwitchProvider;\n ERC165_SESSION_KEY: ERC165SessionKeyProvider;\n};\n\nexport type ValidatorProviderParamsMap = {\n ECDSA: ExtendedValidatorProviderParams<ECDSAValidatorParams>;\n KILL_SWITCH: ExtendedValidatorProviderParams<KillSwitchValidatorParams>;\n ERC165_SESSION_KEY: ExtendedValidatorProviderParams<ERC165SessionKeyValidatorParams>;\n};\n\nexport type ValidatorProviderMap = {\n [V in SupportedValidators]: new (\n params: ValidatorProviderParamsMap[V]\n ) => ValidatorProviderTypeMap[V];\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ECDSAValidatorParams } from \"../validator/ecdsa-validator.js\";\nimport type { ERC165SessionKeyValidatorParams } from \"../validator/erc165-session-key-validator.js\";\nimport type { KillSwitchValidatorParams } from \"../validator/kill-switch-validator.js\";\nimport type { SessionKeyValidatorParams } from \"../validator/session-key-validator.js\";\nimport type { SupportedValidators } from \"../validator/types.js\";\nimport type { ExtendedValidatorProviderParams } from \"./base.js\";\nimport type { ECDSAProvider } from \"./ecdsa-provider.js\";\nimport type { ERC165SessionKeyProvider } from \"./erc165-session-key-provider.js\";\nimport type { KillSwitchProvider } from \"./kill-switch-provider.js\";\nimport type {\n SessionKeyProvider,\n PrefillSessionData,\n SessionKeyProviderParams,\n} from \"./session-key-provider.js\";\n\nexport type ValidatorProviderTypeMap = {\n ECDSA: ECDSAProvider;\n KILL_SWITCH: KillSwitchProvider;\n ERC165_SESSION_KEY: ERC165SessionKeyProvider;\n SESSION_KEY: SessionKeyProvider;\n};\n\nexport type ValidatorProviderParamsMap = {\n ECDSA: ExtendedValidatorProviderParams<ECDSAValidatorParams>;\n KILL_SWITCH: ExtendedValidatorProviderParams<KillSwitchValidatorParams>;\n ERC165_SESSION_KEY: ExtendedValidatorProviderParams<ERC165SessionKeyValidatorParams>;\n SESSION_KEY: ExtendedValidatorProviderParams<SessionKeyValidatorParams>;\n};\n\nexport type ValidatorProviderMap = {\n [V in SupportedValidators]: new (\n params: ValidatorProviderParamsMap[V]\n ) => ValidatorProviderTypeMap[V];\n};\n\nexport type { PrefillSessionData, SessionKeyProviderParams };\n"]}
@@ -2,10 +2,8 @@ export * from "./kernel-zerodev/abis/index.js";
2
2
  export { ValidatorMode, KernelBaseValidator, } from "./kernel-zerodev/validator/base.js";
3
3
  export * from "./kernel-zerodev/validator/index.js";
4
4
  export type * from "./kernel-zerodev/validator/types.js";
5
- export type { ECDSAValidatorParams } from "./kernel-zerodev/validator/ecdsa-validator.js";
6
- export type { KillSwitchValidatorParams } from "./kernel-zerodev/validator/kill-switch-validator.js";
7
- export type { ERC165SessionKeyValidatorParams } from "./kernel-zerodev/validator/erc165-session-key-validator.js";
8
5
  export type { KernelBaseValidatorParams } from "./kernel-zerodev/validator/base.js";
6
+ export { ParamCondition } from "./kernel-zerodev/validator/session-key-validator.js";
9
7
  export { ValidatorProvider } from "./kernel-zerodev/validator-provider/base.js";
10
8
  export type { ValidatorProviderParams, ValidatorProviderParamsOpts, ExtendedValidatorProviderParams, } from "./kernel-zerodev/validator-provider/base.js";
11
9
  export type * from "./kernel-zerodev/validator-provider/types.js";
@@ -13,11 +11,12 @@ export * from "./kernel-zerodev/validator-provider/index.js";
13
11
  export type * from "./kernel-zerodev/paymaster/types.js";
14
12
  export { KernelSmartContractAccount } from "./kernel-zerodev/account.js";
15
13
  export type { KernelSmartAccountParams } from "./kernel-zerodev/account.js";
16
- export { ZeroDevProvider } from "./kernel-zerodev/provider.js";
14
+ export { ZeroDevProvider, Operation } from "./kernel-zerodev/provider.js";
17
15
  export * from "./kernel-zerodev/utils.js";
18
16
  export { getChainId } from "./kernel-zerodev/api/index.js";
19
17
  export { ZeroDevEthersProvider } from "./kernel-zerodev/ethers-provider/ethers-provider.js";
20
18
  export { ZeroDevAccountSigner } from "./kernel-zerodev/ethers-provider/account-signer.js";
19
+ export { EmptyAccountSigner } from "./kernel-zerodev/signer/empty-account.js";
21
20
  export * as constants from "./kernel-zerodev/constants.js";
22
21
  export * from "./kernel-zerodev/owner/index.js";
23
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gCAAgC,CAAC;AAG/C,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,mBAAmB,qCAAqC,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,YAAY,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,YAAY,EAAE,+BAA+B,EAAE,MAAM,4DAA4D,CAAC;AAClH,YAAY,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,YAAY,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC;AACrD,mBAAmB,8CAA8C,CAAC;AAClE,cAAc,8CAA8C,CAAC;AAG7D,mBAAmB,qCAAqC,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAE1F,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAG3D,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gCAAgC,CAAC;AAG/C,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,mBAAmB,qCAAqC,CAAC;AACzD,YAAY,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,YAAY,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC;AACrD,mBAAmB,8CAA8C,CAAC;AAClE,cAAc,8CAA8C,CAAC;AAG7D,mBAAmB,qCAAqC,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG1E,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAG3D,cAAc,iCAAiC,CAAC"}
@@ -82,7 +82,7 @@ export declare const ECDSAValidatorAbi: readonly [{
82
82
  }];
83
83
  readonly name: "validateSignature";
84
84
  readonly outputs: readonly [{
85
- readonly internalType: "uint256";
85
+ readonly internalType: "ValidationData";
86
86
  readonly name: "";
87
87
  readonly type: "uint256";
88
88
  }];
@@ -149,7 +149,7 @@ export declare const ECDSAValidatorAbi: readonly [{
149
149
  }];
150
150
  readonly name: "validateUserOp";
151
151
  readonly outputs: readonly [{
152
- readonly internalType: "uint256";
152
+ readonly internalType: "ValidationData";
153
153
  readonly name: "validationData";
154
154
  readonly type: "uint256";
155
155
  }];
@@ -175,11 +175,11 @@ export declare const KernelAccountAbi: readonly [{
175
175
  readonly name: "getExecution";
176
176
  readonly outputs: readonly [{
177
177
  readonly components: readonly [{
178
- readonly internalType: "uint48";
178
+ readonly internalType: "ValidAfter";
179
179
  readonly name: "validAfter";
180
180
  readonly type: "uint48";
181
181
  }, {
182
- readonly internalType: "uint48";
182
+ readonly internalType: "ValidUntil";
183
183
  readonly name: "validUntil";
184
184
  readonly type: "uint48";
185
185
  }, {
@@ -474,7 +474,7 @@ export declare const KernelAccountAbi: readonly [{
474
474
  }];
475
475
  readonly name: "validateUserOp";
476
476
  readonly outputs: readonly [{
477
- readonly internalType: "uint256";
477
+ readonly internalType: "ValidationData";
478
478
  readonly name: "validationData";
479
479
  readonly type: "uint256";
480
480
  }];
@@ -0,0 +1,159 @@
1
+ export declare const SessionKeyValidatorAbi: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "bytes";
4
+ readonly name: "_data";
5
+ readonly type: "bytes";
6
+ }];
7
+ readonly name: "disable";
8
+ readonly outputs: readonly [];
9
+ readonly stateMutability: "payable";
10
+ readonly type: "function";
11
+ }, {
12
+ readonly inputs: readonly [{
13
+ readonly internalType: "bytes";
14
+ readonly name: "_data";
15
+ readonly type: "bytes";
16
+ }];
17
+ readonly name: "enable";
18
+ readonly outputs: readonly [];
19
+ readonly stateMutability: "payable";
20
+ readonly type: "function";
21
+ }, {
22
+ readonly inputs: readonly [{
23
+ readonly internalType: "address";
24
+ readonly name: "sessionKey";
25
+ readonly type: "address";
26
+ }, {
27
+ readonly internalType: "address";
28
+ readonly name: "kernel";
29
+ readonly type: "address";
30
+ }];
31
+ readonly name: "sessionData";
32
+ readonly outputs: readonly [{
33
+ readonly internalType: "bytes32";
34
+ readonly name: "merkleRoot";
35
+ readonly type: "bytes32";
36
+ }, {
37
+ readonly internalType: "ValidAfter";
38
+ readonly name: "validAfter";
39
+ readonly type: "uint48";
40
+ }, {
41
+ readonly internalType: "ValidUntil";
42
+ readonly name: "validUntil";
43
+ readonly type: "uint48";
44
+ }, {
45
+ readonly internalType: "address";
46
+ readonly name: "paymaster";
47
+ readonly type: "address";
48
+ }, {
49
+ readonly internalType: "bool";
50
+ readonly name: "enabled";
51
+ readonly type: "bool";
52
+ }];
53
+ readonly stateMutability: "view";
54
+ readonly type: "function";
55
+ }, {
56
+ readonly inputs: readonly [{
57
+ readonly internalType: "address";
58
+ readonly name: "";
59
+ readonly type: "address";
60
+ }, {
61
+ readonly internalType: "bytes";
62
+ readonly name: "";
63
+ readonly type: "bytes";
64
+ }];
65
+ readonly name: "validCaller";
66
+ readonly outputs: readonly [{
67
+ readonly internalType: "bool";
68
+ readonly name: "";
69
+ readonly type: "bool";
70
+ }];
71
+ readonly stateMutability: "pure";
72
+ readonly type: "function";
73
+ }, {
74
+ readonly inputs: readonly [{
75
+ readonly internalType: "bytes32";
76
+ readonly name: "";
77
+ readonly type: "bytes32";
78
+ }, {
79
+ readonly internalType: "bytes";
80
+ readonly name: "";
81
+ readonly type: "bytes";
82
+ }];
83
+ readonly name: "validateSignature";
84
+ readonly outputs: readonly [{
85
+ readonly internalType: "ValidationData";
86
+ readonly name: "";
87
+ readonly type: "uint256";
88
+ }];
89
+ readonly stateMutability: "pure";
90
+ readonly type: "function";
91
+ }, {
92
+ readonly inputs: readonly [{
93
+ readonly components: readonly [{
94
+ readonly internalType: "address";
95
+ readonly name: "sender";
96
+ readonly type: "address";
97
+ }, {
98
+ readonly internalType: "uint256";
99
+ readonly name: "nonce";
100
+ readonly type: "uint256";
101
+ }, {
102
+ readonly internalType: "bytes";
103
+ readonly name: "initCode";
104
+ readonly type: "bytes";
105
+ }, {
106
+ readonly internalType: "bytes";
107
+ readonly name: "callData";
108
+ readonly type: "bytes";
109
+ }, {
110
+ readonly internalType: "uint256";
111
+ readonly name: "callGasLimit";
112
+ readonly type: "uint256";
113
+ }, {
114
+ readonly internalType: "uint256";
115
+ readonly name: "verificationGasLimit";
116
+ readonly type: "uint256";
117
+ }, {
118
+ readonly internalType: "uint256";
119
+ readonly name: "preVerificationGas";
120
+ readonly type: "uint256";
121
+ }, {
122
+ readonly internalType: "uint256";
123
+ readonly name: "maxFeePerGas";
124
+ readonly type: "uint256";
125
+ }, {
126
+ readonly internalType: "uint256";
127
+ readonly name: "maxPriorityFeePerGas";
128
+ readonly type: "uint256";
129
+ }, {
130
+ readonly internalType: "bytes";
131
+ readonly name: "paymasterAndData";
132
+ readonly type: "bytes";
133
+ }, {
134
+ readonly internalType: "bytes";
135
+ readonly name: "signature";
136
+ readonly type: "bytes";
137
+ }];
138
+ readonly internalType: "struct UserOperation";
139
+ readonly name: "userOp";
140
+ readonly type: "tuple";
141
+ }, {
142
+ readonly internalType: "bytes32";
143
+ readonly name: "userOpHash";
144
+ readonly type: "bytes32";
145
+ }, {
146
+ readonly internalType: "uint256";
147
+ readonly name: "";
148
+ readonly type: "uint256";
149
+ }];
150
+ readonly name: "validateUserOp";
151
+ readonly outputs: readonly [{
152
+ readonly internalType: "ValidationData";
153
+ readonly name: "";
154
+ readonly type: "uint256";
155
+ }];
156
+ readonly stateMutability: "payable";
157
+ readonly type: "function";
158
+ }];
159
+ //# sourceMappingURL=SessionKeyValidatorAbi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionKeyValidatorAbi.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/abis/SessionKeyValidatorAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6MzB,CAAC"}