@zerodev/sdk 4.0.17 → 4.0.19

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 (147) hide show
  1. package/README.md +109 -0
  2. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.d.ts +15 -0
  3. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js +24 -0
  4. package/dist/cjs/kernel-zerodev/abis/RecoveryActionAbi.js.map +1 -0
  5. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +296 -0
  6. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js +389 -0
  7. package/dist/cjs/kernel-zerodev/abis/WeightedValidatorAbi.js.map +1 -0
  8. package/dist/cjs/kernel-zerodev/account.d.ts +2 -0
  9. package/dist/cjs/kernel-zerodev/account.js +30 -0
  10. package/dist/cjs/kernel-zerodev/account.js.map +1 -1
  11. package/dist/cjs/kernel-zerodev/api/index.d.ts +2 -0
  12. package/dist/cjs/kernel-zerodev/api/index.js +28 -1
  13. package/dist/cjs/kernel-zerodev/api/index.js.map +1 -1
  14. package/dist/cjs/kernel-zerodev/constants.d.ts +2 -0
  15. package/dist/cjs/kernel-zerodev/constants.js +3 -1
  16. package/dist/cjs/kernel-zerodev/constants.js.map +1 -1
  17. package/dist/cjs/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  18. package/dist/cjs/kernel-zerodev/owner/passkey/utils.js +1 -1
  19. package/dist/cjs/kernel-zerodev/owner/passkey/utils.js.map +1 -1
  20. package/dist/cjs/kernel-zerodev/provider.js.map +1 -1
  21. package/dist/cjs/kernel-zerodev/validator/base.d.ts +2 -0
  22. package/dist/cjs/kernel-zerodev/validator/base.js +9 -0
  23. package/dist/cjs/kernel-zerodev/validator/base.js.map +1 -1
  24. package/dist/cjs/kernel-zerodev/validator/index.d.ts +2 -1
  25. package/dist/cjs/kernel-zerodev/validator/index.js +4 -1
  26. package/dist/cjs/kernel-zerodev/validator/index.js.map +1 -1
  27. package/dist/cjs/kernel-zerodev/validator/recovery-validator.d.ts +52 -0
  28. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js +302 -0
  29. package/dist/cjs/kernel-zerodev/validator/recovery-validator.js.map +1 -0
  30. package/dist/cjs/kernel-zerodev/validator/session-key-validator.js.map +1 -1
  31. package/dist/cjs/kernel-zerodev/validator/types.d.ts +7 -1
  32. package/dist/cjs/kernel-zerodev/validator/types.js.map +1 -1
  33. package/dist/cjs/kernel-zerodev/validator-provider/base.d.ts +2 -2
  34. package/dist/cjs/kernel-zerodev/validator-provider/base.js +7 -3
  35. package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +1 -1
  36. package/dist/cjs/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +1 -1
  37. package/dist/cjs/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +1 -1
  38. package/dist/cjs/kernel-zerodev/validator-provider/index.d.ts +2 -1
  39. package/dist/cjs/kernel-zerodev/validator-provider/index.js +4 -1
  40. package/dist/cjs/kernel-zerodev/validator-provider/index.js.map +1 -1
  41. package/dist/cjs/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +1 -1
  42. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.d.ts +26 -0
  43. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js +278 -0
  44. package/dist/cjs/kernel-zerodev/validator-provider/recovery-provider.js.map +1 -0
  45. package/dist/cjs/kernel-zerodev/validator-provider/session-key-provider.d.ts +1 -1
  46. package/dist/cjs/kernel-zerodev/validator-provider/types.d.ts +3 -0
  47. package/dist/cjs/kernel-zerodev/validator-provider/types.js.map +1 -1
  48. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.d.ts +15 -0
  49. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js +21 -0
  50. package/dist/esm/kernel-zerodev/abis/RecoveryActionAbi.js.map +1 -0
  51. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +296 -0
  52. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js +386 -0
  53. package/dist/esm/kernel-zerodev/abis/WeightedValidatorAbi.js.map +1 -0
  54. package/dist/esm/kernel-zerodev/account.d.ts +2 -0
  55. package/dist/esm/kernel-zerodev/account.js +30 -0
  56. package/dist/esm/kernel-zerodev/account.js.map +1 -1
  57. package/dist/esm/kernel-zerodev/api/index.d.ts +2 -0
  58. package/dist/esm/kernel-zerodev/api/index.js +25 -0
  59. package/dist/esm/kernel-zerodev/api/index.js.map +1 -1
  60. package/dist/esm/kernel-zerodev/constants.d.ts +2 -0
  61. package/dist/esm/kernel-zerodev/constants.js +2 -0
  62. package/dist/esm/kernel-zerodev/constants.js.map +1 -1
  63. package/dist/esm/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  64. package/dist/esm/kernel-zerodev/owner/passkey/utils.js +1 -1
  65. package/dist/esm/kernel-zerodev/owner/passkey/utils.js.map +1 -1
  66. package/dist/esm/kernel-zerodev/provider.js.map +1 -1
  67. package/dist/esm/kernel-zerodev/validator/base.d.ts +2 -0
  68. package/dist/esm/kernel-zerodev/validator/base.js +9 -0
  69. package/dist/esm/kernel-zerodev/validator/base.js.map +1 -1
  70. package/dist/esm/kernel-zerodev/validator/index.d.ts +2 -1
  71. package/dist/esm/kernel-zerodev/validator/index.js +3 -1
  72. package/dist/esm/kernel-zerodev/validator/index.js.map +1 -1
  73. package/dist/esm/kernel-zerodev/validator/recovery-validator.d.ts +52 -0
  74. package/dist/esm/kernel-zerodev/validator/recovery-validator.js +296 -0
  75. package/dist/esm/kernel-zerodev/validator/recovery-validator.js.map +1 -0
  76. package/dist/esm/kernel-zerodev/validator/session-key-validator.js.map +1 -1
  77. package/dist/esm/kernel-zerodev/validator/types.d.ts +7 -1
  78. package/dist/esm/kernel-zerodev/validator/types.js.map +1 -1
  79. package/dist/esm/kernel-zerodev/validator-provider/base.d.ts +2 -2
  80. package/dist/esm/kernel-zerodev/validator-provider/base.js +7 -3
  81. package/dist/esm/kernel-zerodev/validator-provider/base.js.map +1 -1
  82. package/dist/esm/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +1 -1
  83. package/dist/esm/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +1 -1
  84. package/dist/esm/kernel-zerodev/validator-provider/index.d.ts +2 -1
  85. package/dist/esm/kernel-zerodev/validator-provider/index.js +3 -1
  86. package/dist/esm/kernel-zerodev/validator-provider/index.js.map +1 -1
  87. package/dist/esm/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +1 -1
  88. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.d.ts +26 -0
  89. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js +271 -0
  90. package/dist/esm/kernel-zerodev/validator-provider/recovery-provider.js.map +1 -0
  91. package/dist/esm/kernel-zerodev/validator-provider/session-key-provider.d.ts +1 -1
  92. package/dist/esm/kernel-zerodev/validator-provider/types.d.ts +3 -0
  93. package/dist/esm/kernel-zerodev/validator-provider/types.js.map +1 -1
  94. package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts +16 -0
  95. package/dist/types/kernel-zerodev/abis/RecoveryActionAbi.d.ts.map +1 -0
  96. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts +297 -0
  97. package/dist/types/kernel-zerodev/abis/WeightedValidatorAbi.d.ts.map +1 -0
  98. package/dist/types/kernel-zerodev/account.d.ts +2 -0
  99. package/dist/types/kernel-zerodev/account.d.ts.map +1 -1
  100. package/dist/types/kernel-zerodev/api/index.d.ts +2 -0
  101. package/dist/types/kernel-zerodev/api/index.d.ts.map +1 -1
  102. package/dist/types/kernel-zerodev/constants.d.ts +2 -0
  103. package/dist/types/kernel-zerodev/constants.d.ts.map +1 -1
  104. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts +1 -1
  105. package/dist/types/kernel-zerodev/ethers-provider/account-signer.d.ts.map +1 -1
  106. package/dist/types/kernel-zerodev/validator/base.d.ts +2 -0
  107. package/dist/types/kernel-zerodev/validator/base.d.ts.map +1 -1
  108. package/dist/types/kernel-zerodev/validator/index.d.ts +2 -1
  109. package/dist/types/kernel-zerodev/validator/index.d.ts.map +1 -1
  110. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts +53 -0
  111. package/dist/types/kernel-zerodev/validator/recovery-validator.d.ts.map +1 -0
  112. package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts.map +1 -1
  113. package/dist/types/kernel-zerodev/validator/types.d.ts +7 -1
  114. package/dist/types/kernel-zerodev/validator/types.d.ts.map +1 -1
  115. package/dist/types/kernel-zerodev/validator-provider/base.d.ts +2 -2
  116. package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +1 -1
  117. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts +1 -1
  118. package/dist/types/kernel-zerodev/validator-provider/ecdsa-provider.d.ts.map +1 -1
  119. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts +1 -1
  120. package/dist/types/kernel-zerodev/validator-provider/erc165-session-key-provider.d.ts.map +1 -1
  121. package/dist/types/kernel-zerodev/validator-provider/index.d.ts +2 -1
  122. package/dist/types/kernel-zerodev/validator-provider/index.d.ts.map +1 -1
  123. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts +1 -1
  124. package/dist/types/kernel-zerodev/validator-provider/kill-switch-provider.d.ts.map +1 -1
  125. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts +27 -0
  126. package/dist/types/kernel-zerodev/validator-provider/recovery-provider.d.ts.map +1 -0
  127. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts +1 -1
  128. package/dist/types/kernel-zerodev/validator-provider/session-key-provider.d.ts.map +1 -1
  129. package/dist/types/kernel-zerodev/validator-provider/types.d.ts +3 -0
  130. package/dist/types/kernel-zerodev/validator-provider/types.d.ts.map +1 -1
  131. package/package.json +1 -1
  132. package/src/kernel-zerodev/abis/RecoveryActionAbi.ts +20 -0
  133. package/src/kernel-zerodev/abis/WeightedValidatorAbi.ts +385 -0
  134. package/src/kernel-zerodev/account.ts +33 -0
  135. package/src/kernel-zerodev/api/index.ts +32 -0
  136. package/src/kernel-zerodev/constants.ts +3 -0
  137. package/src/kernel-zerodev/owner/passkey/utils.ts +2 -2
  138. package/src/kernel-zerodev/provider.ts +1 -1
  139. package/src/kernel-zerodev/validator/base.ts +11 -0
  140. package/src/kernel-zerodev/validator/index.ts +3 -0
  141. package/src/kernel-zerodev/validator/recovery-validator.ts +370 -0
  142. package/src/kernel-zerodev/validator/session-key-validator.ts +23 -25
  143. package/src/kernel-zerodev/validator/types.ts +10 -1
  144. package/src/kernel-zerodev/validator-provider/base.ts +7 -3
  145. package/src/kernel-zerodev/validator-provider/index.ts +3 -0
  146. package/src/kernel-zerodev/validator-provider/recovery-provider.ts +350 -0
  147. package/src/kernel-zerodev/validator-provider/types.ts +6 -0
@@ -0,0 +1,389 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WeightedValidatorAbi = void 0;
4
+ exports.WeightedValidatorAbi = [
5
+ {
6
+ inputs: [
7
+ {
8
+ internalType: "bytes32",
9
+ name: "_callDataAndNonceHash",
10
+ type: "bytes32",
11
+ },
12
+ {
13
+ internalType: "address",
14
+ name: "_kernel",
15
+ type: "address",
16
+ },
17
+ ],
18
+ name: "approve",
19
+ outputs: [],
20
+ stateMutability: "nonpayable",
21
+ type: "function",
22
+ },
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "bytes32",
27
+ name: "_callDataAndNonceHash",
28
+ type: "bytes32",
29
+ },
30
+ {
31
+ internalType: "address",
32
+ name: "_kernel",
33
+ type: "address",
34
+ },
35
+ {
36
+ internalType: "bytes",
37
+ name: "sigs",
38
+ type: "bytes",
39
+ },
40
+ ],
41
+ name: "approveWithSig",
42
+ outputs: [],
43
+ stateMutability: "nonpayable",
44
+ type: "function",
45
+ },
46
+ {
47
+ inputs: [
48
+ {
49
+ internalType: "bytes",
50
+ name: "",
51
+ type: "bytes",
52
+ },
53
+ ],
54
+ name: "disable",
55
+ outputs: [],
56
+ stateMutability: "payable",
57
+ type: "function",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "eip712Domain",
62
+ outputs: [
63
+ {
64
+ internalType: "bytes1",
65
+ name: "fields",
66
+ type: "bytes1",
67
+ },
68
+ {
69
+ internalType: "string",
70
+ name: "name",
71
+ type: "string",
72
+ },
73
+ {
74
+ internalType: "string",
75
+ name: "version",
76
+ type: "string",
77
+ },
78
+ {
79
+ internalType: "uint256",
80
+ name: "chainId",
81
+ type: "uint256",
82
+ },
83
+ {
84
+ internalType: "address",
85
+ name: "verifyingContract",
86
+ type: "address",
87
+ },
88
+ {
89
+ internalType: "bytes32",
90
+ name: "salt",
91
+ type: "bytes32",
92
+ },
93
+ {
94
+ internalType: "uint256[]",
95
+ name: "extensions",
96
+ type: "uint256[]",
97
+ },
98
+ ],
99
+ stateMutability: "view",
100
+ type: "function",
101
+ },
102
+ {
103
+ inputs: [
104
+ {
105
+ internalType: "bytes",
106
+ name: "_data",
107
+ type: "bytes",
108
+ },
109
+ ],
110
+ name: "enable",
111
+ outputs: [],
112
+ stateMutability: "payable",
113
+ type: "function",
114
+ },
115
+ {
116
+ inputs: [
117
+ {
118
+ internalType: "address",
119
+ name: "guardian",
120
+ type: "address",
121
+ },
122
+ {
123
+ internalType: "address",
124
+ name: "kernel",
125
+ type: "address",
126
+ },
127
+ ],
128
+ name: "guardian",
129
+ outputs: [
130
+ {
131
+ internalType: "uint24",
132
+ name: "weight",
133
+ type: "uint24",
134
+ },
135
+ {
136
+ internalType: "address",
137
+ name: "nextGuardian",
138
+ type: "address",
139
+ },
140
+ ],
141
+ stateMutability: "view",
142
+ type: "function",
143
+ },
144
+ {
145
+ inputs: [
146
+ {
147
+ internalType: "bytes32",
148
+ name: "callDataAndNonceHash",
149
+ type: "bytes32",
150
+ },
151
+ {
152
+ internalType: "address",
153
+ name: "kernel",
154
+ type: "address",
155
+ },
156
+ ],
157
+ name: "proposalStatus",
158
+ outputs: [
159
+ {
160
+ internalType: "enum ProposalStatus",
161
+ name: "status",
162
+ type: "uint8",
163
+ },
164
+ {
165
+ internalType: "ValidAfter",
166
+ name: "validAfter",
167
+ type: "uint48",
168
+ },
169
+ {
170
+ internalType: "uint24",
171
+ name: "weightApproved",
172
+ type: "uint24",
173
+ },
174
+ ],
175
+ stateMutability: "view",
176
+ type: "function",
177
+ },
178
+ {
179
+ inputs: [
180
+ {
181
+ internalType: "address",
182
+ name: "",
183
+ type: "address",
184
+ },
185
+ {
186
+ internalType: "bytes",
187
+ name: "",
188
+ type: "bytes",
189
+ },
190
+ ],
191
+ name: "validCaller",
192
+ outputs: [
193
+ {
194
+ internalType: "bool",
195
+ name: "",
196
+ type: "bool",
197
+ },
198
+ ],
199
+ stateMutability: "view",
200
+ type: "function",
201
+ },
202
+ {
203
+ inputs: [
204
+ {
205
+ internalType: "bytes32",
206
+ name: "hash",
207
+ type: "bytes32",
208
+ },
209
+ {
210
+ internalType: "bytes",
211
+ name: "signature",
212
+ type: "bytes",
213
+ },
214
+ ],
215
+ name: "validateSignature",
216
+ outputs: [
217
+ {
218
+ internalType: "ValidationData",
219
+ name: "",
220
+ type: "uint256",
221
+ },
222
+ ],
223
+ stateMutability: "view",
224
+ type: "function",
225
+ },
226
+ {
227
+ inputs: [
228
+ {
229
+ components: [
230
+ {
231
+ internalType: "address",
232
+ name: "sender",
233
+ type: "address",
234
+ },
235
+ {
236
+ internalType: "uint256",
237
+ name: "nonce",
238
+ type: "uint256",
239
+ },
240
+ {
241
+ internalType: "bytes",
242
+ name: "initCode",
243
+ type: "bytes",
244
+ },
245
+ {
246
+ internalType: "bytes",
247
+ name: "callData",
248
+ type: "bytes",
249
+ },
250
+ {
251
+ internalType: "uint256",
252
+ name: "callGasLimit",
253
+ type: "uint256",
254
+ },
255
+ {
256
+ internalType: "uint256",
257
+ name: "verificationGasLimit",
258
+ type: "uint256",
259
+ },
260
+ {
261
+ internalType: "uint256",
262
+ name: "preVerificationGas",
263
+ type: "uint256",
264
+ },
265
+ {
266
+ internalType: "uint256",
267
+ name: "maxFeePerGas",
268
+ type: "uint256",
269
+ },
270
+ {
271
+ internalType: "uint256",
272
+ name: "maxPriorityFeePerGas",
273
+ type: "uint256",
274
+ },
275
+ {
276
+ internalType: "bytes",
277
+ name: "paymasterAndData",
278
+ type: "bytes",
279
+ },
280
+ {
281
+ internalType: "bytes",
282
+ name: "signature",
283
+ type: "bytes",
284
+ },
285
+ ],
286
+ internalType: "struct UserOperation",
287
+ name: "userOp",
288
+ type: "tuple",
289
+ },
290
+ {
291
+ internalType: "bytes32",
292
+ name: "userOpHash",
293
+ type: "bytes32",
294
+ },
295
+ {
296
+ internalType: "uint256",
297
+ name: "missingFunds",
298
+ type: "uint256",
299
+ },
300
+ ],
301
+ name: "validateUserOp",
302
+ outputs: [
303
+ {
304
+ internalType: "ValidationData",
305
+ name: "validationData",
306
+ type: "uint256",
307
+ },
308
+ ],
309
+ stateMutability: "payable",
310
+ type: "function",
311
+ },
312
+ {
313
+ inputs: [
314
+ {
315
+ internalType: "bytes32",
316
+ name: "_callDataAndNonceHash",
317
+ type: "bytes32",
318
+ },
319
+ ],
320
+ name: "veto",
321
+ outputs: [],
322
+ stateMutability: "nonpayable",
323
+ type: "function",
324
+ },
325
+ {
326
+ inputs: [
327
+ {
328
+ internalType: "bytes32",
329
+ name: "callDataAndNonceHash",
330
+ type: "bytes32",
331
+ },
332
+ {
333
+ internalType: "address",
334
+ name: "guardian",
335
+ type: "address",
336
+ },
337
+ {
338
+ internalType: "address",
339
+ name: "kernel",
340
+ type: "address",
341
+ },
342
+ ],
343
+ name: "voteStatus",
344
+ outputs: [
345
+ {
346
+ internalType: "enum VoteStatus",
347
+ name: "status",
348
+ type: "uint8",
349
+ },
350
+ ],
351
+ stateMutability: "view",
352
+ type: "function",
353
+ },
354
+ {
355
+ inputs: [
356
+ {
357
+ internalType: "address",
358
+ name: "kernel",
359
+ type: "address",
360
+ },
361
+ ],
362
+ name: "weightedStorage",
363
+ outputs: [
364
+ {
365
+ internalType: "uint24",
366
+ name: "totalWeight",
367
+ type: "uint24",
368
+ },
369
+ {
370
+ internalType: "uint24",
371
+ name: "threshold",
372
+ type: "uint24",
373
+ },
374
+ {
375
+ internalType: "uint48",
376
+ name: "delay",
377
+ type: "uint48",
378
+ },
379
+ {
380
+ internalType: "address",
381
+ name: "firstGuardian",
382
+ type: "address",
383
+ },
384
+ ],
385
+ stateMutability: "view",
386
+ type: "function",
387
+ },
388
+ ];
389
+ //# sourceMappingURL=WeightedValidatorAbi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeightedValidatorAbi.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/abis/WeightedValidatorAbi.ts"],"names":[],"mappings":"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","sourcesContent":["export const WeightedValidatorAbi = [\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"_callDataAndNonceHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"_kernel\",\n type: \"address\",\n },\n ],\n name: \"approve\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"_callDataAndNonceHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"_kernel\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"sigs\",\n type: \"bytes\",\n },\n ],\n name: \"approveWithSig\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n name: \"disable\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"eip712Domain\",\n outputs: [\n {\n internalType: \"bytes1\",\n name: \"fields\",\n type: \"bytes1\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"string\",\n name: \"version\",\n type: \"string\",\n },\n {\n internalType: \"uint256\",\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"verifyingContract\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"salt\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256[]\",\n name: \"extensions\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\",\n },\n ],\n name: \"enable\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"guardian\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"kernel\",\n type: \"address\",\n },\n ],\n name: \"guardian\",\n outputs: [\n {\n internalType: \"uint24\",\n name: \"weight\",\n type: \"uint24\",\n },\n {\n internalType: \"address\",\n name: \"nextGuardian\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"callDataAndNonceHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"kernel\",\n type: \"address\",\n },\n ],\n name: \"proposalStatus\",\n outputs: [\n {\n internalType: \"enum ProposalStatus\",\n name: \"status\",\n type: \"uint8\",\n },\n {\n internalType: \"ValidAfter\",\n name: \"validAfter\",\n type: \"uint48\",\n },\n {\n internalType: \"uint24\",\n name: \"weightApproved\",\n type: \"uint24\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n name: \"validCaller\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hash\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"validateSignature\",\n outputs: [\n {\n internalType: \"ValidationData\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"missingFunds\",\n type: \"uint256\",\n },\n ],\n name: \"validateUserOp\",\n outputs: [\n {\n internalType: \"ValidationData\",\n name: \"validationData\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"_callDataAndNonceHash\",\n type: \"bytes32\",\n },\n ],\n name: \"veto\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"callDataAndNonceHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"guardian\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"kernel\",\n type: \"address\",\n },\n ],\n name: \"voteStatus\",\n outputs: [\n {\n internalType: \"enum VoteStatus\",\n name: \"status\",\n type: \"uint8\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"kernel\",\n type: \"address\",\n },\n ],\n name: \"weightedStorage\",\n outputs: [\n {\n internalType: \"uint24\",\n name: \"totalWeight\",\n type: \"uint24\",\n },\n {\n internalType: \"uint24\",\n name: \"threshold\",\n type: \"uint24\",\n },\n {\n internalType: \"uint48\",\n name: \"delay\",\n type: \"uint48\",\n },\n {\n internalType: \"address\",\n name: \"firstGuardian\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n] as const;\n"]}
@@ -35,11 +35,13 @@ export declare class KernelSmartContractAccount<TTransport extends Transport | F
35
35
  encodeExecute(target: Hex, value: bigint, data: Hex): Promise<Hex>;
36
36
  encodeBatchExecute(_txs: BatchUserOperationCallData): Promise<`0x${string}`>;
37
37
  encodeExecuteDelegate(target: Hex, value: bigint, data: Hex): Promise<Hex>;
38
+ encodeSetExection(): Promise<`0x${string}`>;
38
39
  signWithEip6492(msg: string | Uint8Array): Promise<Hex>;
39
40
  signMessage(msg: Uint8Array | string): Promise<Hex>;
40
41
  signTypedData(params: SignTypedDataParams): Promise<Hex>;
41
42
  signUserOp(userOp: UserOperationRequest): Promise<Hex>;
42
43
  protected encodeExecuteAction(target: Hex, value: bigint, data: Hex, code: number): Hex;
43
44
  protected getAccountInitCode(): Promise<Hex>;
45
+ getNonce(): Promise<bigint>;
44
46
  protected getFactoryInitCode(): Promise<Hex>;
45
47
  }
@@ -150,6 +150,25 @@ class KernelSmartContractAccount extends aa_core_1.BaseSmartContractAccount {
150
150
  async encodeExecuteDelegate(target, value, data) {
151
151
  return this.encodeExecuteAction(target, value, data, 1);
152
152
  }
153
+ async encodeSetExection() {
154
+ if (!this.validator) {
155
+ throw new Error("Validator not connected");
156
+ }
157
+ const { executor, selector, validAfter, validUntil } = await this.validator.getPluginValidatorData();
158
+ const enableData = await this.validator.getEnableData();
159
+ return (0, viem_1.encodeFunctionData)({
160
+ abi: KernelAccountAbi_js_1.KernelAccountAbi,
161
+ functionName: "setExecution",
162
+ args: [
163
+ selector,
164
+ executor,
165
+ this.validator.validatorAddress,
166
+ validUntil,
167
+ validAfter,
168
+ enableData,
169
+ ],
170
+ });
171
+ }
153
172
  async signWithEip6492(msg) {
154
173
  try {
155
174
  if (!this.validator) {
@@ -197,6 +216,17 @@ class KernelSmartContractAccount extends aa_core_1.BaseSmartContractAccount {
197
216
  async getAccountInitCode() {
198
217
  return (0, viem_1.concatHex)([this.factoryAddress, await this.getFactoryInitCode()]);
199
218
  }
219
+ async getNonce() {
220
+ if (!(await this.isAccountDeployed())) {
221
+ return 0n;
222
+ }
223
+ if (!this.validator) {
224
+ throw Error("Validator unintialized");
225
+ }
226
+ const address = await this.getAddress();
227
+ const key = this.validator.getNonceKey();
228
+ return this.entryPoint.read.getNonce([address, key]);
229
+ }
200
230
  async getFactoryInitCode() {
201
231
  const validator = this.defaultValidator ?? this.validator;
202
232
  if (!validator) {
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/kernel-zerodev/account.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Address } from \"abitype\";\nimport {\n concatHex,\n encodeAbiParameters,\n encodeFunctionData,\n type FallbackTransport,\n hashMessage,\n type Hex,\n toBytes,\n type Transport,\n} from \"viem\";\nimport { parseAbiParameters } from \"abitype\";\nimport { KernelBaseValidator } from \"./validator/base.js\";\nimport { KernelAccountAbi } from \"./abis/KernelAccountAbi.js\";\nimport { KernelFactoryAbi } from \"./abis/KernelFactoryAbi.js\";\nimport {\n type BaseSmartAccountParams,\n BaseSmartContractAccount,\n type BatchUserOperationCallData,\n type UserOperationRequest,\n defineReadOnly,\n getChain,\n type SignTypedDataParams,\n} from \"@alchemy/aa-core\";\nimport {\n BUNDLER_URL,\n ENTRYPOINT_ADDRESS,\n KERNEL_FACTORY_ADDRESS,\n KERNEL_IMPL_ADDRESS,\n MULTISEND_ADDR,\n} from \"./constants.js\";\nimport { encodeMultiSend } from \"./utils.js\";\nimport { MultiSendAbi } from \"./abis/MultiSendAbi.js\";\nimport { polygonMumbai } from \"viem/chains\";\nimport { getChainId } from \"./api/index.js\";\nimport { createZeroDevPublicErc4337Client } from \"./client/create-client.js\";\nimport type { PaymasterAndBundlerProviders } from \"./paymaster/types.js\";\n\nexport enum DeploymentState {\n UNDEFINED = \"0x0\",\n NOT_DEPLOYED = \"0x1\",\n DEPLOYED = \"0x2\",\n}\nexport interface KernelSmartAccountParams<\n TTransport extends Transport | FallbackTransport = Transport\n> extends Partial<BaseSmartAccountParams<TTransport>> {\n projectId: string;\n factoryAddress?: Address;\n index?: bigint;\n validator?: KernelBaseValidator;\n bundlerProvider?: PaymasterAndBundlerProviders;\n defaultValidator?: KernelBaseValidator;\n initCode?: Hex;\n}\n\nexport function isKernelAccount(\n account: any\n): account is KernelSmartContractAccount {\n return account && account.connectValidator !== undefined;\n}\n\nexport class KernelSmartContractAccount<\n TTransport extends Transport | FallbackTransport = Transport\n> extends BaseSmartContractAccount<TTransport> {\n private readonly factoryAddress: Address;\n private readonly index: bigint;\n private initCode?: Hex;\n validator?: KernelBaseValidator;\n defaultValidator?: KernelBaseValidator;\n\n constructor(params: KernelSmartAccountParams) {\n super({\n ...params,\n entryPointAddress: params.entryPointAddress ?? ENTRYPOINT_ADDRESS,\n chain: params.chain ?? polygonMumbai,\n rpcClient: params.rpcClient ?? BUNDLER_URL,\n });\n this.index = params.index ?? 0n;\n this.factoryAddress = params.factoryAddress ?? KERNEL_FACTORY_ADDRESS;\n this.validator = params.validator;\n this.defaultValidator = params.defaultValidator;\n this.initCode = params.initCode;\n }\n\n public static async init(\n params: KernelSmartAccountParams\n ): Promise<KernelSmartContractAccount> {\n const chainId = await getChainId(params.projectId);\n if (!chainId) {\n throw new Error(\"ChainId not found\");\n }\n const chain = getChain(chainId);\n const rpcClient =\n typeof params.rpcClient === \"string\"\n ? createZeroDevPublicErc4337Client({\n chain,\n rpcUrl: params.rpcClient ?? BUNDLER_URL,\n projectId: params.projectId,\n bundlerProvider: params.bundlerProvider,\n })\n : params.rpcClient;\n const instance = new KernelSmartContractAccount({\n ...params,\n chain,\n rpcClient,\n });\n return instance;\n }\n\n connectValidator(validator: KernelBaseValidator): this {\n defineReadOnly(this, \"validator\", validator);\n return this;\n }\n\n getValidator(): KernelBaseValidator {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n return this.validator;\n }\n\n getDummySignature(): Hex {\n return \"0x00000000870fe151d548a1c527c3804866fab30abf28ed17b79d5fc5149f19ca0819fefc3c57f3da4fdf9b10fab3f2f3dca536467ae44943b9dbb8433efe7760ddd72aaa1c\";\n }\n\n async getInitCode(): Promise<Hex> {\n if (this.deploymentState === DeploymentState.DEPLOYED) {\n return \"0x\";\n }\n const contractCode = await this.rpcProvider.getContractCode(\n await this.getAddress()\n );\n\n if ((contractCode?.length ?? 0) > 2) {\n this.deploymentState = DeploymentState.DEPLOYED;\n return \"0x\";\n } else {\n this.deploymentState = DeploymentState.NOT_DEPLOYED;\n }\n\n return this.initCode ?? this.getAccountInitCode();\n }\n\n getIndex(): bigint {\n return this.index;\n }\n\n async approvePlugin() {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n if (this.defaultValidator && !this.validator.getEnableSignature()) {\n const { executor, selector, validAfter, validUntil } =\n this.validator.getPluginValidatorData();\n const enableSig = await this.defaultValidator.approveExecutor(\n await this.getAddress(),\n selector,\n executor,\n validUntil,\n validAfter,\n this.validator\n );\n this.validator.setEnableSignature(enableSig);\n }\n }\n\n async encodeExecute(target: Hex, value: bigint, data: Hex): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n if (\n target.toLowerCase() === (await this.getAddress()).toLowerCase() &&\n this.validator.shouldDelegateViaFallback()\n ) {\n return data;\n } else {\n return this.encodeExecuteAction(target, value, data, 0);\n }\n }\n\n async encodeBatchExecute(\n _txs: BatchUserOperationCallData\n ): Promise<`0x${string}`> {\n const multiSendCalldata = encodeFunctionData({\n abi: MultiSendAbi,\n functionName: \"multiSend\",\n args: [encodeMultiSend(_txs)],\n });\n return await this.encodeExecuteDelegate(\n MULTISEND_ADDR,\n BigInt(0),\n multiSendCalldata\n );\n }\n\n async encodeExecuteDelegate(\n target: Hex,\n value: bigint,\n data: Hex\n ): Promise<Hex> {\n return this.encodeExecuteAction(target, value, data, 1);\n }\n\n async signWithEip6492(msg: string | Uint8Array): Promise<Hex> {\n try {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n const formattedMessage = typeof msg === \"string\" ? toBytes(msg) : msg;\n let sig = await this.validator.signMessage(\n toBytes(hashMessage({ raw: formattedMessage }))\n );\n // If the account is undeployed, use ERC-6492\n if (!(await this.isAccountDeployed())) {\n sig = (encodeAbiParameters(\n parseAbiParameters(\"address, bytes, bytes\"),\n [this.factoryAddress, await this.getFactoryInitCode(), sig]\n ) +\n \"6492649264926492649264926492649264926492649264926492649264926492\") as Hex; // magic suffix\n }\n\n return sig;\n } catch (err: any) {\n console.error(\"Got Error - \", err.message);\n throw new Error(\"Message Signing with EIP6492 failed\");\n }\n }\n\n async signMessage(msg: Uint8Array | string): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n const formattedMessage = typeof msg === \"string\" ? toBytes(msg) : msg;\n return await this.validator.signMessage(formattedMessage);\n }\n\n async signTypedData(params: SignTypedDataParams): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n return await this.validator.signTypedData(params);\n }\n\n signUserOp(userOp: UserOperationRequest): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n return this.validator.signUserOp(userOp);\n }\n\n protected encodeExecuteAction(\n target: Hex,\n value: bigint,\n data: Hex,\n code: number\n ): Hex {\n return encodeFunctionData({\n abi: KernelAccountAbi,\n functionName: \"execute\",\n args: [target, value, data, code],\n });\n }\n protected async getAccountInitCode(): Promise<Hex> {\n return concatHex([this.factoryAddress, await this.getFactoryInitCode()]);\n }\n\n protected async getFactoryInitCode(): Promise<Hex> {\n const validator = this.defaultValidator ?? this.validator;\n if (!validator) {\n throw new Error(\"Validator not connected\");\n }\n try {\n return encodeFunctionData({\n abi: KernelFactoryAbi,\n functionName: \"createAccount\",\n args: [\n KERNEL_IMPL_ADDRESS,\n encodeFunctionData({\n abi: KernelAccountAbi,\n functionName: \"initialize\",\n args: [validator.getAddress(), await validator.getEnableData()],\n }),\n this.index,\n ],\n });\n } catch (err: any) {\n console.error(\"err occurred:\", err.message);\n throw new Error(\"Factory Code generation failed\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/kernel-zerodev/account.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Address } from \"abitype\";\nimport {\n concatHex,\n encodeAbiParameters,\n encodeFunctionData,\n type FallbackTransport,\n hashMessage,\n type Hex,\n toBytes,\n type Transport,\n} from \"viem\";\nimport { parseAbiParameters } from \"abitype\";\nimport { KernelBaseValidator } from \"./validator/base.js\";\nimport { KernelAccountAbi } from \"./abis/KernelAccountAbi.js\";\nimport { KernelFactoryAbi } from \"./abis/KernelFactoryAbi.js\";\nimport {\n type BaseSmartAccountParams,\n BaseSmartContractAccount,\n type BatchUserOperationCallData,\n type UserOperationRequest,\n defineReadOnly,\n getChain,\n type SignTypedDataParams,\n} from \"@alchemy/aa-core\";\nimport {\n BUNDLER_URL,\n ENTRYPOINT_ADDRESS,\n KERNEL_FACTORY_ADDRESS,\n KERNEL_IMPL_ADDRESS,\n MULTISEND_ADDR,\n} from \"./constants.js\";\nimport { encodeMultiSend } from \"./utils.js\";\nimport { MultiSendAbi } from \"./abis/MultiSendAbi.js\";\nimport { polygonMumbai } from \"viem/chains\";\nimport { getChainId } from \"./api/index.js\";\nimport { createZeroDevPublicErc4337Client } from \"./client/create-client.js\";\nimport type { PaymasterAndBundlerProviders } from \"./paymaster/types.js\";\n\nexport enum DeploymentState {\n UNDEFINED = \"0x0\",\n NOT_DEPLOYED = \"0x1\",\n DEPLOYED = \"0x2\",\n}\nexport interface KernelSmartAccountParams<\n TTransport extends Transport | FallbackTransport = Transport\n> extends Partial<BaseSmartAccountParams<TTransport>> {\n projectId: string;\n factoryAddress?: Address;\n index?: bigint;\n validator?: KernelBaseValidator;\n bundlerProvider?: PaymasterAndBundlerProviders;\n defaultValidator?: KernelBaseValidator;\n initCode?: Hex;\n}\n\nexport function isKernelAccount(\n account: any\n): account is KernelSmartContractAccount {\n return account && account.connectValidator !== undefined;\n}\n\nexport class KernelSmartContractAccount<\n TTransport extends Transport | FallbackTransport = Transport\n> extends BaseSmartContractAccount<TTransport> {\n private readonly factoryAddress: Address;\n private readonly index: bigint;\n private initCode?: Hex;\n validator?: KernelBaseValidator;\n defaultValidator?: KernelBaseValidator;\n\n constructor(params: KernelSmartAccountParams) {\n super({\n ...params,\n entryPointAddress: params.entryPointAddress ?? ENTRYPOINT_ADDRESS,\n chain: params.chain ?? polygonMumbai,\n rpcClient: params.rpcClient ?? BUNDLER_URL,\n });\n this.index = params.index ?? 0n;\n this.factoryAddress = params.factoryAddress ?? KERNEL_FACTORY_ADDRESS;\n this.validator = params.validator;\n this.defaultValidator = params.defaultValidator;\n this.initCode = params.initCode;\n }\n\n public static async init(\n params: KernelSmartAccountParams\n ): Promise<KernelSmartContractAccount> {\n const chainId = await getChainId(params.projectId);\n if (!chainId) {\n throw new Error(\"ChainId not found\");\n }\n const chain = getChain(chainId);\n const rpcClient =\n typeof params.rpcClient === \"string\"\n ? createZeroDevPublicErc4337Client({\n chain,\n rpcUrl: params.rpcClient ?? BUNDLER_URL,\n projectId: params.projectId,\n bundlerProvider: params.bundlerProvider,\n })\n : params.rpcClient;\n const instance = new KernelSmartContractAccount({\n ...params,\n chain,\n rpcClient,\n });\n return instance;\n }\n\n connectValidator(validator: KernelBaseValidator): this {\n defineReadOnly(this, \"validator\", validator);\n return this;\n }\n\n getValidator(): KernelBaseValidator {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n return this.validator;\n }\n\n getDummySignature(): Hex {\n return \"0x00000000870fe151d548a1c527c3804866fab30abf28ed17b79d5fc5149f19ca0819fefc3c57f3da4fdf9b10fab3f2f3dca536467ae44943b9dbb8433efe7760ddd72aaa1c\";\n }\n\n async getInitCode(): Promise<Hex> {\n if (this.deploymentState === DeploymentState.DEPLOYED) {\n return \"0x\";\n }\n const contractCode = await this.rpcProvider.getContractCode(\n await this.getAddress()\n );\n\n if ((contractCode?.length ?? 0) > 2) {\n this.deploymentState = DeploymentState.DEPLOYED;\n return \"0x\";\n } else {\n this.deploymentState = DeploymentState.NOT_DEPLOYED;\n }\n\n return this.initCode ?? this.getAccountInitCode();\n }\n\n getIndex(): bigint {\n return this.index;\n }\n\n async approvePlugin() {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n if (this.defaultValidator && !this.validator.getEnableSignature()) {\n const { executor, selector, validAfter, validUntil } =\n this.validator.getPluginValidatorData();\n const enableSig = await this.defaultValidator.approveExecutor(\n await this.getAddress(),\n selector,\n executor,\n validUntil,\n validAfter,\n this.validator\n );\n this.validator.setEnableSignature(enableSig);\n }\n }\n\n async encodeExecute(target: Hex, value: bigint, data: Hex): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n if (\n target.toLowerCase() === (await this.getAddress()).toLowerCase() &&\n this.validator.shouldDelegateViaFallback()\n ) {\n return data;\n } else {\n return this.encodeExecuteAction(target, value, data, 0);\n }\n }\n\n async encodeBatchExecute(\n _txs: BatchUserOperationCallData\n ): Promise<`0x${string}`> {\n const multiSendCalldata = encodeFunctionData({\n abi: MultiSendAbi,\n functionName: \"multiSend\",\n args: [encodeMultiSend(_txs)],\n });\n return await this.encodeExecuteDelegate(\n MULTISEND_ADDR,\n BigInt(0),\n multiSendCalldata\n );\n }\n\n async encodeExecuteDelegate(\n target: Hex,\n value: bigint,\n data: Hex\n ): Promise<Hex> {\n return this.encodeExecuteAction(target, value, data, 1);\n }\n\n async encodeSetExection() {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n const { executor, selector, validAfter, validUntil } =\n await this.validator.getPluginValidatorData();\n const enableData = await this.validator.getEnableData();\n return encodeFunctionData({\n abi: KernelAccountAbi,\n functionName: \"setExecution\",\n args: [\n selector,\n executor,\n this.validator.validatorAddress,\n validUntil,\n validAfter,\n enableData,\n ],\n });\n }\n\n async signWithEip6492(msg: string | Uint8Array): Promise<Hex> {\n try {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n const formattedMessage = typeof msg === \"string\" ? toBytes(msg) : msg;\n let sig = await this.validator.signMessage(\n toBytes(hashMessage({ raw: formattedMessage }))\n );\n // If the account is undeployed, use ERC-6492\n if (!(await this.isAccountDeployed())) {\n sig = (encodeAbiParameters(\n parseAbiParameters(\"address, bytes, bytes\"),\n [this.factoryAddress, await this.getFactoryInitCode(), sig]\n ) +\n \"6492649264926492649264926492649264926492649264926492649264926492\") as Hex; // magic suffix\n }\n\n return sig;\n } catch (err: any) {\n console.error(\"Got Error - \", err.message);\n throw new Error(\"Message Signing with EIP6492 failed\");\n }\n }\n\n async signMessage(msg: Uint8Array | string): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n const formattedMessage = typeof msg === \"string\" ? toBytes(msg) : msg;\n return await this.validator.signMessage(formattedMessage);\n }\n\n async signTypedData(params: SignTypedDataParams): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n return await this.validator.signTypedData(params);\n }\n\n signUserOp(userOp: UserOperationRequest): Promise<Hex> {\n if (!this.validator) {\n throw new Error(\"Validator not connected\");\n }\n return this.validator.signUserOp(userOp);\n }\n\n protected encodeExecuteAction(\n target: Hex,\n value: bigint,\n data: Hex,\n code: number\n ): Hex {\n return encodeFunctionData({\n abi: KernelAccountAbi,\n functionName: \"execute\",\n args: [target, value, data, code],\n });\n }\n protected async getAccountInitCode(): Promise<Hex> {\n return concatHex([this.factoryAddress, await this.getFactoryInitCode()]);\n }\n\n async getNonce(): Promise<bigint> {\n if (!(await this.isAccountDeployed())) {\n return 0n;\n }\n if (!this.validator) {\n throw Error(\"Validator unintialized\");\n }\n const address = await this.getAddress();\n const key = this.validator.getNonceKey();\n return this.entryPoint.read.getNonce([address, key]);\n }\n\n protected async getFactoryInitCode(): Promise<Hex> {\n const validator = this.defaultValidator ?? this.validator;\n if (!validator) {\n throw new Error(\"Validator not connected\");\n }\n try {\n return encodeFunctionData({\n abi: KernelFactoryAbi,\n functionName: \"createAccount\",\n args: [\n KERNEL_IMPL_ADDRESS,\n encodeFunctionData({\n abi: KernelAccountAbi,\n functionName: \"initialize\",\n args: [validator.getAddress(), await validator.getEnableData()],\n }),\n this.index,\n ],\n });\n } catch (err: any) {\n console.error(\"err occurred:\", err.message);\n throw new Error(\"Factory Code generation failed\");\n }\n }\n}\n"]}
@@ -1 +1,3 @@
1
1
  export declare const getChainId: (projectId: string, backendUrl?: string) => Promise<number | undefined>;
2
+ export declare const getRecoveryData: (recoveryId: string) => Promise<any>;
3
+ export declare const setSignatures: (recoveryId: string, signatures: string) => Promise<any>;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getChainId = void 0;
6
+ exports.setSignatures = exports.getRecoveryData = exports.getChainId = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const constants_js_1 = require("../constants.js");
9
9
  const getChainId = async (projectId, backendUrl) => {
@@ -21,4 +21,31 @@ const getChainId = async (projectId, backendUrl) => {
21
21
  }
22
22
  };
23
23
  exports.getChainId = getChainId;
24
+ const getRecoveryData = async (recoveryId) => {
25
+ try {
26
+ const { data } = await axios_1.default.get(`${constants_js_1.BACKEND_URL}/v1/recovery/${recoveryId}`, {
27
+ headers: { "Content-Type": "application/json" },
28
+ });
29
+ return data;
30
+ }
31
+ catch (error) {
32
+ console.log(error);
33
+ return undefined;
34
+ }
35
+ };
36
+ exports.getRecoveryData = getRecoveryData;
37
+ const setSignatures = async (recoveryId, signatures) => {
38
+ try {
39
+ const { data } = await axios_1.default.patch(`${constants_js_1.BACKEND_URL}/v1/recovery/${recoveryId}`, {
40
+ signatures,
41
+ }, {
42
+ headers: { "Content-Type": "application/json" },
43
+ });
44
+ return data;
45
+ }
46
+ catch (error) {
47
+ console.log(error);
48
+ }
49
+ };
50
+ exports.setSignatures = setSignatures;
24
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/api/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kDAA8C;AAEvC,MAAM,UAAU,GAAG,KAAK,EAC7B,SAAiB,EACjB,UAAmB,EACU,EAAE;IAC/B,IAAI;QACF,MAAM,EACJ,IAAI,EAAE,EAAE,OAAO,EAAE,GAClB,GAAG,MAAM,eAAK,CAAC,IAAI,CAClB,GAAG,UAAU,IAAI,0BAAW,2BAA2B,EACvD;YACE,SAAS;SACV,EACD;YACE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CACF,CAAC;QACF,OAAO,OAAO,CAAC;KAChB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AArBW,QAAA,UAAU,cAqBrB","sourcesContent":["import axios from \"axios\";\nimport { BACKEND_URL } from \"../constants.js\";\n\nexport const getChainId = async (\n projectId: string,\n backendUrl?: string\n): Promise<number | undefined> => {\n try {\n const {\n data: { chainId },\n } = await axios.post(\n `${backendUrl ?? BACKEND_URL}/v1/projects/get-chain-id`,\n {\n projectId,\n },\n {\n headers: { \"Content-Type\": \"application/json\" },\n }\n );\n return chainId;\n } catch (error) {\n console.log(error);\n return undefined;\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kernel-zerodev/api/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kDAA8C;AAEvC,MAAM,UAAU,GAAG,KAAK,EAC7B,SAAiB,EACjB,UAAmB,EACU,EAAE;IAC/B,IAAI;QACF,MAAM,EACJ,IAAI,EAAE,EAAE,OAAO,EAAE,GAClB,GAAG,MAAM,eAAK,CAAC,IAAI,CAClB,GAAG,UAAU,IAAI,0BAAW,2BAA2B,EACvD;YACE,SAAS;SACV,EACD;YACE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CACF,CAAC;QACF,OAAO,OAAO,CAAC;KAChB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AArBW,QAAA,UAAU,cAqBrB;AAEK,MAAM,eAAe,GAAG,KAAK,EAAE,UAAkB,EAAE,EAAE;IAC1D,IAAI;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAK,CAAC,GAAG,CAC9B,GAAG,0BAAW,gBAAgB,UAAU,EAAE,EAC1C;YACE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CACF,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,UAAkB,EAAE,UAAkB,EAAE,EAAE;IAC5E,IAAI;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAK,CAAC,KAAK,CAChC,GAAG,0BAAW,gBAAgB,UAAU,EAAE,EAC1C;YACE,UAAU;SACX,EACD;YACE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CACF,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB","sourcesContent":["import axios from \"axios\";\nimport { BACKEND_URL } from \"../constants.js\";\n\nexport const getChainId = async (\n projectId: string,\n backendUrl?: string\n): Promise<number | undefined> => {\n try {\n const {\n data: { chainId },\n } = await axios.post(\n `${backendUrl ?? BACKEND_URL}/v1/projects/get-chain-id`,\n {\n projectId,\n },\n {\n headers: { \"Content-Type\": \"application/json\" },\n }\n );\n return chainId;\n } catch (error) {\n console.log(error);\n return undefined;\n }\n};\n\nexport const getRecoveryData = async (recoveryId: string) => {\n try {\n const { data } = await axios.get(\n `${BACKEND_URL}/v1/recovery/${recoveryId}`,\n {\n headers: { \"Content-Type\": \"application/json\" },\n }\n );\n return data;\n } catch (error) {\n console.log(error);\n return undefined;\n }\n};\n\nexport const setSignatures = async (recoveryId: string, signatures: string) => {\n try {\n const { data } = await axios.patch(\n `${BACKEND_URL}/v1/recovery/${recoveryId}`,\n {\n signatures,\n },\n {\n headers: { \"Content-Type\": \"application/json\" },\n }\n );\n return data;\n } catch (error) {\n console.log(error);\n }\n};\n"]}
@@ -17,6 +17,8 @@ export declare const DUMMY_ECDSA_SIG = "0xfffffffffffffffffffffffffffffff0000000
17
17
  export declare const ERC165_SESSION_KEY_VALIDATOR_ADDRESS = "0xe149290800De29D4b0BF9dB82c508255D81902E6";
18
18
  export declare const TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
19
19
  export declare const SESSION_KEY_VALIDATOR_ADDRESS = "0x1C1D5b70aD6e0c04366aab100261A6Bcc251EA3f";
20
+ export declare const RECOVERY_VALIDATOR_ADDRESS = "0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d";
21
+ export declare const RECOVERY_ACTION = "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1";
20
22
  export declare const oneAddress = "0x0000000000000000000000000000000000000001";
21
23
  export declare const gasTokenChainAddresses: IGasTokenAddresses;
22
24
  export declare const ERC20_APPROVAL_AMOUNT: {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CHAIN_ID_TO_NODE = exports.INFURA_API_KEY = exports.minPriorityFeePerBidDefaults = exports.ERC20_APPROVAL_AMOUNT = exports.gasTokenChainAddresses = exports.oneAddress = exports.SESSION_KEY_VALIDATOR_ADDRESS = exports.TOKEN_ACTION = exports.ERC165_SESSION_KEY_VALIDATOR_ADDRESS = exports.DUMMY_ECDSA_SIG = exports.KILL_SWITCH_ACTION = exports.KILL_SWITCH_VALIDATOR_ADDRESS = exports.KERNEL_IMPL_ADDRESS = exports.KERNEL_FACTORY_ADDRESS = exports.ECDSA_VALIDATOR_ADDRESS = exports.API_URL = exports.BACKEND_URL = exports.MULTISEND_ADDR = exports.ENTRYPOINT_ADDRESS = exports.PAYMASTER_URL = exports.BUNDLER_URL = exports.DEFAULT_SEND_TX_RETRY_INTERVAL_MS = exports.DEFAULT_SEND_TX_MAX_RETRIES = void 0;
3
+ exports.CHAIN_ID_TO_NODE = exports.INFURA_API_KEY = exports.minPriorityFeePerBidDefaults = exports.ERC20_APPROVAL_AMOUNT = exports.gasTokenChainAddresses = exports.oneAddress = exports.RECOVERY_ACTION = exports.RECOVERY_VALIDATOR_ADDRESS = exports.SESSION_KEY_VALIDATOR_ADDRESS = exports.TOKEN_ACTION = exports.ERC165_SESSION_KEY_VALIDATOR_ADDRESS = exports.DUMMY_ECDSA_SIG = exports.KILL_SWITCH_ACTION = exports.KILL_SWITCH_VALIDATOR_ADDRESS = exports.KERNEL_IMPL_ADDRESS = exports.KERNEL_FACTORY_ADDRESS = exports.ECDSA_VALIDATOR_ADDRESS = exports.API_URL = exports.BACKEND_URL = exports.MULTISEND_ADDR = exports.ENTRYPOINT_ADDRESS = exports.PAYMASTER_URL = exports.BUNDLER_URL = exports.DEFAULT_SEND_TX_RETRY_INTERVAL_MS = exports.DEFAULT_SEND_TX_MAX_RETRIES = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const chains_1 = require("viem/chains");
6
6
  exports.DEFAULT_SEND_TX_MAX_RETRIES = 3;
@@ -20,6 +20,8 @@ exports.DUMMY_ECDSA_SIG = "0xfffffffffffffffffffffffffffffff00000000000000000000
20
20
  exports.ERC165_SESSION_KEY_VALIDATOR_ADDRESS = "0xe149290800De29D4b0BF9dB82c508255D81902E6";
21
21
  exports.TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
22
22
  exports.SESSION_KEY_VALIDATOR_ADDRESS = "0x1C1D5b70aD6e0c04366aab100261A6Bcc251EA3f";
23
+ exports.RECOVERY_VALIDATOR_ADDRESS = "0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d";
24
+ exports.RECOVERY_ACTION = "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1";
23
25
  exports.oneAddress = "0x0000000000000000000000000000000000000001";
24
26
  exports.gasTokenChainAddresses = {
25
27
  USDC: {