@pimlico/mock-paymaster 0.0.2 → 0.0.4

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 (58) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/constants.js +61 -0
  3. package/_cjs/constants.js.map +1 -0
  4. package/_cjs/helpers/abi.js +728 -727
  5. package/_cjs/helpers/abi.js.map +1 -1
  6. package/_cjs/helpers/erc20-utils.js +15 -14
  7. package/_cjs/helpers/erc20-utils.js.map +1 -1
  8. package/_cjs/helpers/schema.js +39 -6
  9. package/_cjs/helpers/schema.js.map +1 -1
  10. package/_cjs/helpers/utils.js +29 -7
  11. package/_cjs/helpers/utils.js.map +1 -1
  12. package/_cjs/index.js +13 -12
  13. package/_cjs/index.js.map +1 -1
  14. package/_cjs/relay.js +92 -100
  15. package/_cjs/relay.js.map +1 -1
  16. package/_cjs/singletonPaymasters.js +161 -207
  17. package/_cjs/singletonPaymasters.js.map +1 -1
  18. package/_esm/constants.js +55 -0
  19. package/_esm/constants.js.map +1 -0
  20. package/_esm/helpers/abi.js +727 -726
  21. package/_esm/helpers/abi.js.map +1 -1
  22. package/_esm/helpers/erc20-utils.js +14 -13
  23. package/_esm/helpers/erc20-utils.js.map +1 -1
  24. package/_esm/helpers/schema.js +39 -6
  25. package/_esm/helpers/schema.js.map +1 -1
  26. package/_esm/helpers/utils.js +29 -8
  27. package/_esm/helpers/utils.js.map +1 -1
  28. package/_esm/index.js +15 -14
  29. package/_esm/index.js.map +1 -1
  30. package/_esm/relay.js +98 -103
  31. package/_esm/relay.js.map +1 -1
  32. package/_esm/singletonPaymasters.js +171 -213
  33. package/_esm/singletonPaymasters.js.map +1 -1
  34. package/_types/constants.d.ts +18 -0
  35. package/_types/constants.d.ts.map +1 -0
  36. package/_types/helpers/abi.d.ts +917 -435
  37. package/_types/helpers/abi.d.ts.map +1 -1
  38. package/_types/helpers/erc20-utils.d.ts +1 -1
  39. package/_types/helpers/erc20-utils.d.ts.map +1 -1
  40. package/_types/helpers/schema.d.ts +1716 -68
  41. package/_types/helpers/schema.d.ts.map +1 -1
  42. package/_types/helpers/utils.d.ts +3 -2
  43. package/_types/helpers/utils.d.ts.map +1 -1
  44. package/_types/index.d.ts +1 -0
  45. package/_types/index.d.ts.map +1 -1
  46. package/_types/relay.d.ts +38 -27
  47. package/_types/relay.d.ts.map +1 -1
  48. package/_types/singletonPaymasters.d.ts +25 -93259
  49. package/_types/singletonPaymasters.d.ts.map +1 -1
  50. package/constants.ts +84 -0
  51. package/helpers/abi.ts +728 -726
  52. package/helpers/erc20-utils.ts +16 -15
  53. package/helpers/schema.ts +41 -6
  54. package/helpers/utils.ts +38 -13
  55. package/index.ts +16 -28
  56. package/package.json +4 -4
  57. package/relay.ts +164 -192
  58. package/singletonPaymasters.ts +218 -280
@@ -1,1046 +1,1047 @@
1
- export const SINGLETON_PAYMASTER_V07_ABI = [
1
+ export const singletonPaymaster06Abi = [
2
2
  {
3
- type: "constructor",
3
+ inputs: [
4
+ { internalType: "address", name: "_entryPoint", type: "address" },
5
+ { internalType: "address", name: "_owner", type: "address" },
6
+ { internalType: "address[]", name: "_signers", type: "address[]" }
7
+ ],
8
+ stateMutability: "nonpayable",
9
+ type: "constructor"
10
+ },
11
+ { inputs: [], name: "ECDSAInvalidSignature", type: "error" },
12
+ {
13
+ inputs: [{ internalType: "uint256", name: "length", type: "uint256" }],
14
+ name: "ECDSAInvalidSignatureLength",
15
+ type: "error"
16
+ },
17
+ {
18
+ inputs: [{ internalType: "bytes32", name: "s", type: "bytes32" }],
19
+ name: "ECDSAInvalidSignatureS",
20
+ type: "error"
21
+ },
22
+ { inputs: [], name: "ExchangeRateInvalid", type: "error" },
23
+ {
24
+ inputs: [{ internalType: "address", name: "owner", type: "address" }],
25
+ name: "OwnableInvalidOwner",
26
+ type: "error"
27
+ },
28
+ {
29
+ inputs: [{ internalType: "address", name: "account", type: "address" }],
30
+ name: "OwnableUnauthorizedAccount",
31
+ type: "error"
32
+ },
33
+ { inputs: [], name: "PaymasterAndDataLengthInvalid", type: "error" },
34
+ { inputs: [], name: "PaymasterConfigLengthInvalid", type: "error" },
35
+ { inputs: [], name: "PaymasterModeInvalid", type: "error" },
36
+ { inputs: [], name: "PaymasterSignatureLengthInvalid", type: "error" },
37
+ {
38
+ inputs: [{ internalType: "string", name: "msg", type: "string" }],
39
+ name: "PostOpTransferFromFailed",
40
+ type: "error"
41
+ },
42
+ { inputs: [], name: "TokenAddressInvalid", type: "error" },
43
+ {
44
+ anonymous: false,
4
45
  inputs: [
5
46
  {
6
- name: "_entryPoint",
7
- type: "address",
8
- internalType: "address"
9
- },
10
- {
11
- name: "_owner",
12
- type: "address",
13
- internalType: "address"
47
+ indexed: true,
48
+ internalType: "address",
49
+ name: "previousOwner",
50
+ type: "address"
14
51
  },
15
52
  {
16
- name: "_signers",
17
- type: "address[]",
18
- internalType: "address[]"
53
+ indexed: true,
54
+ internalType: "address",
55
+ name: "newOwner",
56
+ type: "address"
19
57
  }
20
58
  ],
21
- stateMutability: "nonpayable"
59
+ name: "OwnershipTransferred",
60
+ type: "event"
22
61
  },
23
62
  {
24
- type: "function",
25
- name: "addSigner",
63
+ anonymous: false,
26
64
  inputs: [
27
65
  {
28
- name: "_signer",
29
- type: "address",
30
- internalType: "address"
66
+ indexed: false,
67
+ internalType: "address",
68
+ name: "signer",
69
+ type: "address"
31
70
  }
32
71
  ],
33
- outputs: [],
34
- stateMutability: "nonpayable"
72
+ name: "SignerAdded",
73
+ type: "event"
35
74
  },
36
75
  {
37
- type: "function",
38
- name: "addStake",
76
+ anonymous: false,
39
77
  inputs: [
40
78
  {
41
- name: "unstakeDelaySec",
42
- type: "uint32",
43
- internalType: "uint32"
79
+ indexed: false,
80
+ internalType: "address",
81
+ name: "signer",
82
+ type: "address"
44
83
  }
45
84
  ],
46
- outputs: [],
47
- stateMutability: "payable"
48
- },
49
- {
50
- type: "function",
51
- name: "deposit",
52
- inputs: [],
53
- outputs: [],
54
- stateMutability: "payable"
85
+ name: "SignerRemoved",
86
+ type: "event"
55
87
  },
56
88
  {
57
- type: "function",
58
- name: "entryPoint",
59
- inputs: [],
60
- outputs: [
89
+ anonymous: false,
90
+ inputs: [
61
91
  {
62
- name: "",
63
- type: "address",
64
- internalType: "contract IEntryPoint"
92
+ indexed: false,
93
+ internalType: "address",
94
+ name: "oldTreasury",
95
+ type: "address"
96
+ },
97
+ {
98
+ indexed: false,
99
+ internalType: "address",
100
+ name: "newTreasury",
101
+ type: "address"
65
102
  }
66
103
  ],
67
- stateMutability: "view"
104
+ name: "TreasuryUpdated",
105
+ type: "event"
68
106
  },
69
107
  {
70
- type: "function",
71
- name: "getCostInToken",
108
+ anonymous: false,
72
109
  inputs: [
73
110
  {
74
- name: "_actualGasCost",
75
- type: "uint256",
76
- internalType: "uint256"
111
+ indexed: true,
112
+ internalType: "bytes32",
113
+ name: "userOpHash",
114
+ type: "bytes32"
77
115
  },
78
116
  {
79
- name: "_postOpGas",
80
- type: "uint256",
81
- internalType: "uint256"
117
+ indexed: true,
118
+ internalType: "address",
119
+ name: "user",
120
+ type: "address"
82
121
  },
83
122
  {
84
- name: "_actualUserOpFeePerGas",
85
- type: "uint256",
86
- internalType: "uint256"
123
+ indexed: false,
124
+ internalType: "uint8",
125
+ name: "paymasterMode",
126
+ type: "uint8"
87
127
  },
88
128
  {
89
- name: "_exchangeRate",
90
- type: "uint256",
91
- internalType: "uint256"
92
- }
93
- ],
94
- outputs: [
129
+ indexed: false,
130
+ internalType: "address",
131
+ name: "token",
132
+ type: "address"
133
+ },
95
134
  {
96
- name: "",
97
- type: "uint256",
98
- internalType: "uint256"
135
+ indexed: false,
136
+ internalType: "uint256",
137
+ name: "tokenAmountPaid",
138
+ type: "uint256"
139
+ },
140
+ {
141
+ indexed: false,
142
+ internalType: "uint256",
143
+ name: "exchangeRate",
144
+ type: "uint256"
99
145
  }
100
146
  ],
101
- stateMutability: "pure"
147
+ name: "UserOperationSponsored",
148
+ type: "event"
149
+ },
150
+ {
151
+ inputs: [{ internalType: "address", name: "_signer", type: "address" }],
152
+ name: "addSigner",
153
+ outputs: [],
154
+ stateMutability: "nonpayable",
155
+ type: "function"
156
+ },
157
+ {
158
+ inputs: [
159
+ { internalType: "uint32", name: "unstakeDelaySec", type: "uint32" }
160
+ ],
161
+ name: "addStake",
162
+ outputs: [],
163
+ stateMutability: "payable",
164
+ type: "function"
165
+ },
166
+ {
167
+ inputs: [],
168
+ name: "deposit",
169
+ outputs: [],
170
+ stateMutability: "payable",
171
+ type: "function"
102
172
  },
103
173
  {
104
- type: "function",
105
- name: "getDeposit",
106
174
  inputs: [],
175
+ name: "entryPoint",
107
176
  outputs: [
108
- {
109
- name: "",
110
- type: "uint256",
111
- internalType: "uint256"
112
- }
177
+ { internalType: "contract IEntryPoint", name: "", type: "address" }
113
178
  ],
114
- stateMutability: "view"
179
+ stateMutability: "view",
180
+ type: "function"
115
181
  },
116
182
  {
117
- type: "function",
118
- name: "getHash",
119
183
  inputs: [
120
184
  {
121
- name: "_mode",
122
- type: "uint8",
123
- internalType: "uint8"
185
+ internalType: "uint256",
186
+ name: "_actualGasCost",
187
+ type: "uint256"
124
188
  },
189
+ { internalType: "uint256", name: "_postOpGas", type: "uint256" },
190
+ {
191
+ internalType: "uint256",
192
+ name: "_actualUserOpFeePerGas",
193
+ type: "uint256"
194
+ },
195
+ { internalType: "uint256", name: "_exchangeRate", type: "uint256" }
196
+ ],
197
+ name: "getCostInToken",
198
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
199
+ stateMutability: "pure",
200
+ type: "function"
201
+ },
202
+ {
203
+ inputs: [],
204
+ name: "getDeposit",
205
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
206
+ stateMutability: "view",
207
+ type: "function"
208
+ },
209
+ {
210
+ inputs: [
211
+ { internalType: "uint8", name: "_mode", type: "uint8" },
125
212
  {
126
- name: "_userOp",
127
- type: "tuple",
128
- internalType: "struct PackedUserOperation",
129
213
  components: [
130
214
  {
215
+ internalType: "address",
131
216
  name: "sender",
132
- type: "address",
133
- internalType: "address"
217
+ type: "address"
134
218
  },
219
+ { internalType: "uint256", name: "nonce", type: "uint256" },
220
+ { internalType: "bytes", name: "initCode", type: "bytes" },
221
+ { internalType: "bytes", name: "callData", type: "bytes" },
135
222
  {
136
- name: "nonce",
137
- type: "uint256",
138
- internalType: "uint256"
223
+ internalType: "uint256",
224
+ name: "callGasLimit",
225
+ type: "uint256"
139
226
  },
140
227
  {
141
- name: "initCode",
142
- type: "bytes",
143
- internalType: "bytes"
144
- },
145
- {
146
- name: "callData",
147
- type: "bytes",
148
- internalType: "bytes"
228
+ internalType: "uint256",
229
+ name: "verificationGasLimit",
230
+ type: "uint256"
149
231
  },
150
232
  {
151
- name: "accountGasLimits",
152
- type: "bytes32",
153
- internalType: "bytes32"
233
+ internalType: "uint256",
234
+ name: "preVerificationGas",
235
+ type: "uint256"
154
236
  },
155
237
  {
156
- name: "preVerificationGas",
157
- type: "uint256",
158
- internalType: "uint256"
238
+ internalType: "uint256",
239
+ name: "maxFeePerGas",
240
+ type: "uint256"
159
241
  },
160
242
  {
161
- name: "gasFees",
162
- type: "bytes32",
163
- internalType: "bytes32"
243
+ internalType: "uint256",
244
+ name: "maxPriorityFeePerGas",
245
+ type: "uint256"
164
246
  },
165
247
  {
248
+ internalType: "bytes",
166
249
  name: "paymasterAndData",
167
- type: "bytes",
168
- internalType: "bytes"
250
+ type: "bytes"
169
251
  },
170
- {
171
- name: "signature",
172
- type: "bytes",
173
- internalType: "bytes"
174
- }
175
- ]
176
- }
177
- ],
178
- outputs: [
179
- {
180
- name: "",
181
- type: "bytes32",
182
- internalType: "bytes32"
252
+ { internalType: "bytes", name: "signature", type: "bytes" }
253
+ ],
254
+ internalType: "struct UserOperation",
255
+ name: "_userOp",
256
+ type: "tuple"
183
257
  }
184
258
  ],
185
- stateMutability: "view"
259
+ name: "getHash",
260
+ outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }],
261
+ stateMutability: "view",
262
+ type: "function"
186
263
  },
187
264
  {
188
- type: "function",
189
- name: "owner",
190
265
  inputs: [],
191
- outputs: [
192
- {
193
- name: "",
194
- type: "address",
195
- internalType: "address"
196
- }
197
- ],
198
- stateMutability: "view"
266
+ name: "owner",
267
+ outputs: [{ internalType: "address", name: "", type: "address" }],
268
+ stateMutability: "view",
269
+ type: "function"
199
270
  },
200
271
  {
201
- type: "function",
202
- name: "postOp",
203
272
  inputs: [
204
- {
205
- name: "mode",
206
- type: "uint8",
207
- internalType: "enum PostOpMode"
208
- },
209
- {
210
- name: "context",
211
- type: "bytes",
212
- internalType: "bytes"
213
- },
214
- {
215
- name: "actualGasCost",
216
- type: "uint256",
217
- internalType: "uint256"
218
- },
219
- {
220
- name: "actualUserOpFeePerGas",
221
- type: "uint256",
222
- internalType: "uint256"
223
- }
273
+ { internalType: "enum PostOpMode", name: "mode", type: "uint8" },
274
+ { internalType: "bytes", name: "context", type: "bytes" },
275
+ { internalType: "uint256", name: "actualGasCost", type: "uint256" }
224
276
  ],
277
+ name: "postOp",
225
278
  outputs: [],
226
- stateMutability: "nonpayable"
279
+ stateMutability: "nonpayable",
280
+ type: "function"
227
281
  },
228
282
  {
229
- type: "function",
283
+ inputs: [{ internalType: "address", name: "_signer", type: "address" }],
230
284
  name: "removeSigner",
231
- inputs: [
232
- {
233
- name: "_signer",
234
- type: "address",
235
- internalType: "address"
236
- }
237
- ],
238
285
  outputs: [],
239
- stateMutability: "nonpayable"
286
+ stateMutability: "nonpayable",
287
+ type: "function"
240
288
  },
241
289
  {
242
- type: "function",
243
- name: "renounceOwnership",
244
290
  inputs: [],
291
+ name: "renounceOwnership",
245
292
  outputs: [],
246
- stateMutability: "nonpayable"
293
+ stateMutability: "nonpayable",
294
+ type: "function"
247
295
  },
248
296
  {
249
- type: "function",
250
- name: "setTreasury",
251
297
  inputs: [
252
- {
253
- name: "_treasury",
254
- type: "address",
255
- internalType: "address"
256
- }
298
+ { internalType: "address", name: "_treasury", type: "address" }
257
299
  ],
300
+ name: "setTreasury",
258
301
  outputs: [],
259
- stateMutability: "nonpayable"
302
+ stateMutability: "nonpayable",
303
+ type: "function"
260
304
  },
261
305
  {
262
- type: "function",
306
+ inputs: [{ internalType: "address", name: "account", type: "address" }],
263
307
  name: "signers",
264
- inputs: [
265
- {
266
- name: "account",
267
- type: "address",
268
- internalType: "address"
269
- }
270
- ],
271
308
  outputs: [
272
- {
273
- name: "isValidSigner",
274
- type: "bool",
275
- internalType: "bool"
276
- }
309
+ { internalType: "bool", name: "isValidSigner", type: "bool" }
277
310
  ],
278
- stateMutability: "view"
311
+ stateMutability: "view",
312
+ type: "function"
279
313
  },
280
314
  {
281
- type: "function",
282
- name: "transferOwnership",
283
315
  inputs: [
284
- {
285
- name: "newOwner",
286
- type: "address",
287
- internalType: "address"
288
- }
316
+ { internalType: "address", name: "newOwner", type: "address" }
289
317
  ],
318
+ name: "transferOwnership",
290
319
  outputs: [],
291
- stateMutability: "nonpayable"
320
+ stateMutability: "nonpayable",
321
+ type: "function"
292
322
  },
293
323
  {
294
- type: "function",
295
- name: "treasury",
296
324
  inputs: [],
297
- outputs: [
298
- {
299
- name: "",
300
- type: "address",
301
- internalType: "address"
302
- }
303
- ],
304
- stateMutability: "view"
325
+ name: "treasury",
326
+ outputs: [{ internalType: "address", name: "", type: "address" }],
327
+ stateMutability: "view",
328
+ type: "function"
305
329
  },
306
330
  {
307
- type: "function",
308
- name: "unlockStake",
309
331
  inputs: [],
332
+ name: "unlockStake",
310
333
  outputs: [],
311
- stateMutability: "nonpayable"
334
+ stateMutability: "nonpayable",
335
+ type: "function"
312
336
  },
313
337
  {
314
- type: "function",
315
- name: "validatePaymasterUserOp",
316
338
  inputs: [
317
339
  {
318
- name: "userOp",
319
- type: "tuple",
320
- internalType: "struct PackedUserOperation",
321
340
  components: [
322
341
  {
342
+ internalType: "address",
323
343
  name: "sender",
324
- type: "address",
325
- internalType: "address"
326
- },
327
- {
328
- name: "nonce",
329
- type: "uint256",
330
- internalType: "uint256"
344
+ type: "address"
331
345
  },
346
+ { internalType: "uint256", name: "nonce", type: "uint256" },
347
+ { internalType: "bytes", name: "initCode", type: "bytes" },
348
+ { internalType: "bytes", name: "callData", type: "bytes" },
332
349
  {
333
- name: "initCode",
334
- type: "bytes",
335
- internalType: "bytes"
350
+ internalType: "uint256",
351
+ name: "callGasLimit",
352
+ type: "uint256"
336
353
  },
337
354
  {
338
- name: "callData",
339
- type: "bytes",
340
- internalType: "bytes"
355
+ internalType: "uint256",
356
+ name: "verificationGasLimit",
357
+ type: "uint256"
341
358
  },
342
359
  {
343
- name: "accountGasLimits",
344
- type: "bytes32",
345
- internalType: "bytes32"
360
+ internalType: "uint256",
361
+ name: "preVerificationGas",
362
+ type: "uint256"
346
363
  },
347
364
  {
348
- name: "preVerificationGas",
349
- type: "uint256",
350
- internalType: "uint256"
365
+ internalType: "uint256",
366
+ name: "maxFeePerGas",
367
+ type: "uint256"
351
368
  },
352
369
  {
353
- name: "gasFees",
354
- type: "bytes32",
355
- internalType: "bytes32"
370
+ internalType: "uint256",
371
+ name: "maxPriorityFeePerGas",
372
+ type: "uint256"
356
373
  },
357
374
  {
375
+ internalType: "bytes",
358
376
  name: "paymasterAndData",
359
- type: "bytes",
360
- internalType: "bytes"
377
+ type: "bytes"
361
378
  },
362
- {
363
- name: "signature",
364
- type: "bytes",
365
- internalType: "bytes"
366
- }
367
- ]
368
- },
369
- {
370
- name: "userOpHash",
371
- type: "bytes32",
372
- internalType: "bytes32"
379
+ { internalType: "bytes", name: "signature", type: "bytes" }
380
+ ],
381
+ internalType: "struct UserOperation",
382
+ name: "userOp",
383
+ type: "tuple"
373
384
  },
374
- {
375
- name: "maxCost",
376
- type: "uint256",
377
- internalType: "uint256"
378
- }
385
+ { internalType: "bytes32", name: "userOpHash", type: "bytes32" },
386
+ { internalType: "uint256", name: "maxCost", type: "uint256" }
379
387
  ],
388
+ name: "validatePaymasterUserOp",
380
389
  outputs: [
381
- {
382
- name: "context",
383
- type: "bytes",
384
- internalType: "bytes"
385
- },
386
- {
387
- name: "validationData",
388
- type: "uint256",
389
- internalType: "uint256"
390
- }
390
+ { internalType: "bytes", name: "context", type: "bytes" },
391
+ { internalType: "uint256", name: "validationData", type: "uint256" }
391
392
  ],
392
- stateMutability: "nonpayable"
393
+ stateMutability: "nonpayable",
394
+ type: "function"
393
395
  },
394
396
  {
395
- type: "function",
396
- name: "withdrawStake",
397
397
  inputs: [
398
398
  {
399
+ internalType: "address payable",
399
400
  name: "withdrawAddress",
400
- type: "address",
401
- internalType: "address payable"
401
+ type: "address"
402
402
  }
403
403
  ],
404
+ name: "withdrawStake",
404
405
  outputs: [],
405
- stateMutability: "nonpayable"
406
+ stateMutability: "nonpayable",
407
+ type: "function"
406
408
  },
407
409
  {
408
- type: "function",
409
- name: "withdrawTo",
410
410
  inputs: [
411
411
  {
412
+ internalType: "address payable",
412
413
  name: "withdrawAddress",
413
- type: "address",
414
- internalType: "address payable"
414
+ type: "address"
415
415
  },
416
- {
417
- name: "amount",
418
- type: "uint256",
419
- internalType: "uint256"
420
- }
416
+ { internalType: "uint256", name: "amount", type: "uint256" }
421
417
  ],
418
+ name: "withdrawTo",
422
419
  outputs: [],
423
- stateMutability: "nonpayable"
424
- },
420
+ stateMutability: "nonpayable",
421
+ type: "function"
422
+ }
423
+ ];
424
+ export const singletonPaymaster07Abi = [
425
425
  {
426
- type: "event",
427
- name: "OwnershipTransferred",
426
+ type: "constructor",
428
427
  inputs: [
429
428
  {
430
- name: "previousOwner",
429
+ name: "_entryPoint",
431
430
  type: "address",
432
- indexed: true,
433
431
  internalType: "address"
434
432
  },
435
433
  {
436
- name: "newOwner",
434
+ name: "_owner",
437
435
  type: "address",
438
- indexed: true,
439
436
  internalType: "address"
437
+ },
438
+ {
439
+ name: "_signers",
440
+ type: "address[]",
441
+ internalType: "address[]"
440
442
  }
441
443
  ],
442
- anonymous: false
444
+ stateMutability: "nonpayable"
443
445
  },
444
446
  {
445
- type: "event",
446
- name: "SignerAdded",
447
+ type: "function",
448
+ name: "addSigner",
447
449
  inputs: [
448
450
  {
449
- name: "signer",
451
+ name: "_signer",
450
452
  type: "address",
451
- indexed: false,
452
453
  internalType: "address"
453
454
  }
454
455
  ],
455
- anonymous: false
456
+ outputs: [],
457
+ stateMutability: "nonpayable"
456
458
  },
457
459
  {
458
- type: "event",
459
- name: "SignerRemoved",
460
+ type: "function",
461
+ name: "addStake",
460
462
  inputs: [
461
463
  {
462
- name: "signer",
463
- type: "address",
464
- indexed: false,
465
- internalType: "address"
464
+ name: "unstakeDelaySec",
465
+ type: "uint32",
466
+ internalType: "uint32"
466
467
  }
467
468
  ],
468
- anonymous: false
469
+ outputs: [],
470
+ stateMutability: "payable"
469
471
  },
470
472
  {
471
- type: "event",
472
- name: "TreasuryUpdated",
473
- inputs: [
474
- {
475
- name: "oldTreasury",
476
- type: "address",
477
- indexed: false,
478
- internalType: "address"
479
- },
473
+ type: "function",
474
+ name: "deposit",
475
+ inputs: [],
476
+ outputs: [],
477
+ stateMutability: "payable"
478
+ },
479
+ {
480
+ type: "function",
481
+ name: "entryPoint",
482
+ inputs: [],
483
+ outputs: [
480
484
  {
481
- name: "newTreasury",
485
+ name: "",
482
486
  type: "address",
483
- indexed: false,
484
- internalType: "address"
487
+ internalType: "contract IEntryPoint"
485
488
  }
486
489
  ],
487
- anonymous: false
490
+ stateMutability: "view"
488
491
  },
489
492
  {
490
- type: "event",
491
- name: "UserOperationSponsored",
493
+ type: "function",
494
+ name: "getCostInToken",
492
495
  inputs: [
493
496
  {
494
- name: "userOpHash",
495
- type: "bytes32",
496
- indexed: true,
497
- internalType: "bytes32"
498
- },
499
- {
500
- name: "user",
501
- type: "address",
502
- indexed: true,
503
- internalType: "address"
497
+ name: "_actualGasCost",
498
+ type: "uint256",
499
+ internalType: "uint256"
504
500
  },
505
501
  {
506
- name: "paymasterMode",
507
- type: "uint8",
508
- indexed: false,
509
- internalType: "uint8"
502
+ name: "_postOpGas",
503
+ type: "uint256",
504
+ internalType: "uint256"
510
505
  },
511
506
  {
512
- name: "token",
513
- type: "address",
514
- indexed: false,
515
- internalType: "address"
507
+ name: "_actualUserOpFeePerGas",
508
+ type: "uint256",
509
+ internalType: "uint256"
516
510
  },
517
511
  {
518
- name: "tokenAmountPaid",
512
+ name: "_exchangeRate",
519
513
  type: "uint256",
520
- indexed: false,
521
514
  internalType: "uint256"
522
- },
515
+ }
516
+ ],
517
+ outputs: [
523
518
  {
524
- name: "exchangeRate",
519
+ name: "",
525
520
  type: "uint256",
526
- indexed: false,
527
521
  internalType: "uint256"
528
522
  }
529
523
  ],
530
- anonymous: false
531
- },
532
- {
533
- type: "error",
534
- name: "ECDSAInvalidSignature",
535
- inputs: []
524
+ stateMutability: "pure"
536
525
  },
537
526
  {
538
- type: "error",
539
- name: "ECDSAInvalidSignatureLength",
540
- inputs: [
527
+ type: "function",
528
+ name: "getDeposit",
529
+ inputs: [],
530
+ outputs: [
541
531
  {
542
- name: "length",
532
+ name: "",
543
533
  type: "uint256",
544
534
  internalType: "uint256"
545
535
  }
546
- ]
536
+ ],
537
+ stateMutability: "view"
547
538
  },
548
539
  {
549
- type: "error",
550
- name: "ECDSAInvalidSignatureS",
540
+ type: "function",
541
+ name: "getHash",
551
542
  inputs: [
552
543
  {
553
- name: "s",
544
+ name: "_mode",
545
+ type: "uint8",
546
+ internalType: "uint8"
547
+ },
548
+ {
549
+ name: "_userOp",
550
+ type: "tuple",
551
+ internalType: "struct PackedUserOperation",
552
+ components: [
553
+ {
554
+ name: "sender",
555
+ type: "address",
556
+ internalType: "address"
557
+ },
558
+ {
559
+ name: "nonce",
560
+ type: "uint256",
561
+ internalType: "uint256"
562
+ },
563
+ {
564
+ name: "initCode",
565
+ type: "bytes",
566
+ internalType: "bytes"
567
+ },
568
+ {
569
+ name: "callData",
570
+ type: "bytes",
571
+ internalType: "bytes"
572
+ },
573
+ {
574
+ name: "accountGasLimits",
575
+ type: "bytes32",
576
+ internalType: "bytes32"
577
+ },
578
+ {
579
+ name: "preVerificationGas",
580
+ type: "uint256",
581
+ internalType: "uint256"
582
+ },
583
+ {
584
+ name: "gasFees",
585
+ type: "bytes32",
586
+ internalType: "bytes32"
587
+ },
588
+ {
589
+ name: "paymasterAndData",
590
+ type: "bytes",
591
+ internalType: "bytes"
592
+ },
593
+ {
594
+ name: "signature",
595
+ type: "bytes",
596
+ internalType: "bytes"
597
+ }
598
+ ]
599
+ }
600
+ ],
601
+ outputs: [
602
+ {
603
+ name: "",
554
604
  type: "bytes32",
555
605
  internalType: "bytes32"
556
606
  }
557
- ]
558
- },
559
- {
560
- type: "error",
561
- name: "ExchangeRateInvalid",
562
- inputs: []
607
+ ],
608
+ stateMutability: "view"
563
609
  },
564
610
  {
565
- type: "error",
566
- name: "OwnableInvalidOwner",
567
- inputs: [
611
+ type: "function",
612
+ name: "owner",
613
+ inputs: [],
614
+ outputs: [
568
615
  {
569
- name: "owner",
616
+ name: "",
570
617
  type: "address",
571
618
  internalType: "address"
572
619
  }
573
- ]
620
+ ],
621
+ stateMutability: "view"
574
622
  },
575
623
  {
576
- type: "error",
577
- name: "OwnableUnauthorizedAccount",
578
- inputs: [
579
- {
580
- name: "account",
581
- type: "address",
582
- internalType: "address"
583
- }
584
- ]
585
- },
586
- {
587
- type: "error",
588
- name: "PaymasterAndDataLengthInvalid",
589
- inputs: []
590
- },
591
- {
592
- type: "error",
593
- name: "PaymasterConfigLengthInvalid",
594
- inputs: []
595
- },
596
- {
597
- type: "error",
598
- name: "PaymasterModeInvalid",
599
- inputs: []
600
- },
601
- {
602
- type: "error",
603
- name: "PaymasterSignatureLengthInvalid",
604
- inputs: []
605
- },
606
- {
607
- type: "error",
608
- name: "PostOpTransferFromFailed",
624
+ type: "function",
625
+ name: "postOp",
609
626
  inputs: [
610
627
  {
611
- name: "msg",
612
- type: "string",
613
- internalType: "string"
614
- }
615
- ]
616
- },
617
- {
618
- type: "error",
619
- name: "TokenAddressInvalid",
620
- inputs: []
621
- }
622
- ];
623
- export const SINGLETON_PAYMASTER_V06_ABI = [
624
- {
625
- inputs: [
626
- { internalType: "address", name: "_entryPoint", type: "address" },
627
- { internalType: "address", name: "_owner", type: "address" },
628
- { internalType: "address[]", name: "_signers", type: "address[]" }
629
- ],
630
- stateMutability: "nonpayable",
631
- type: "constructor"
632
- },
633
- { inputs: [], name: "ECDSAInvalidSignature", type: "error" },
634
- {
635
- inputs: [{ internalType: "uint256", name: "length", type: "uint256" }],
636
- name: "ECDSAInvalidSignatureLength",
637
- type: "error"
638
- },
639
- {
640
- inputs: [{ internalType: "bytes32", name: "s", type: "bytes32" }],
641
- name: "ECDSAInvalidSignatureS",
642
- type: "error"
643
- },
644
- { inputs: [], name: "ExchangeRateInvalid", type: "error" },
645
- {
646
- inputs: [{ internalType: "address", name: "owner", type: "address" }],
647
- name: "OwnableInvalidOwner",
648
- type: "error"
649
- },
650
- {
651
- inputs: [{ internalType: "address", name: "account", type: "address" }],
652
- name: "OwnableUnauthorizedAccount",
653
- type: "error"
654
- },
655
- { inputs: [], name: "PaymasterAndDataLengthInvalid", type: "error" },
656
- { inputs: [], name: "PaymasterConfigLengthInvalid", type: "error" },
657
- { inputs: [], name: "PaymasterModeInvalid", type: "error" },
658
- { inputs: [], name: "PaymasterSignatureLengthInvalid", type: "error" },
659
- {
660
- inputs: [{ internalType: "string", name: "msg", type: "string" }],
661
- name: "PostOpTransferFromFailed",
662
- type: "error"
663
- },
664
- { inputs: [], name: "TokenAddressInvalid", type: "error" },
665
- {
666
- anonymous: false,
667
- inputs: [
628
+ name: "mode",
629
+ type: "uint8",
630
+ internalType: "enum PostOpMode"
631
+ },
668
632
  {
669
- indexed: true,
670
- internalType: "address",
671
- name: "previousOwner",
672
- type: "address"
633
+ name: "context",
634
+ type: "bytes",
635
+ internalType: "bytes"
673
636
  },
674
637
  {
675
- indexed: true,
676
- internalType: "address",
677
- name: "newOwner",
678
- type: "address"
638
+ name: "actualGasCost",
639
+ type: "uint256",
640
+ internalType: "uint256"
641
+ },
642
+ {
643
+ name: "actualUserOpFeePerGas",
644
+ type: "uint256",
645
+ internalType: "uint256"
679
646
  }
680
647
  ],
681
- name: "OwnershipTransferred",
682
- type: "event"
648
+ outputs: [],
649
+ stateMutability: "nonpayable"
683
650
  },
684
651
  {
685
- anonymous: false,
652
+ type: "function",
653
+ name: "removeSigner",
686
654
  inputs: [
687
655
  {
688
- indexed: false,
689
- internalType: "address",
690
- name: "signer",
691
- type: "address"
656
+ name: "_signer",
657
+ type: "address",
658
+ internalType: "address"
692
659
  }
693
660
  ],
694
- name: "SignerAdded",
695
- type: "event"
661
+ outputs: [],
662
+ stateMutability: "nonpayable"
696
663
  },
697
664
  {
698
- anonymous: false,
665
+ type: "function",
666
+ name: "renounceOwnership",
667
+ inputs: [],
668
+ outputs: [],
669
+ stateMutability: "nonpayable"
670
+ },
671
+ {
672
+ type: "function",
673
+ name: "setTreasury",
699
674
  inputs: [
700
675
  {
701
- indexed: false,
702
- internalType: "address",
703
- name: "signer",
704
- type: "address"
676
+ name: "_treasury",
677
+ type: "address",
678
+ internalType: "address"
705
679
  }
706
680
  ],
707
- name: "SignerRemoved",
708
- type: "event"
681
+ outputs: [],
682
+ stateMutability: "nonpayable"
709
683
  },
710
684
  {
711
- anonymous: false,
685
+ type: "function",
686
+ name: "signers",
712
687
  inputs: [
713
688
  {
714
- indexed: false,
715
- internalType: "address",
716
- name: "oldTreasury",
717
- type: "address"
718
- },
689
+ name: "account",
690
+ type: "address",
691
+ internalType: "address"
692
+ }
693
+ ],
694
+ outputs: [
719
695
  {
720
- indexed: false,
721
- internalType: "address",
722
- name: "newTreasury",
723
- type: "address"
696
+ name: "isValidSigner",
697
+ type: "bool",
698
+ internalType: "bool"
724
699
  }
725
700
  ],
726
- name: "TreasuryUpdated",
727
- type: "event"
701
+ stateMutability: "view"
728
702
  },
729
703
  {
730
- anonymous: false,
704
+ type: "function",
705
+ name: "transferOwnership",
731
706
  inputs: [
732
707
  {
733
- indexed: true,
734
- internalType: "bytes32",
735
- name: "userOpHash",
736
- type: "bytes32"
737
- },
738
- {
739
- indexed: true,
740
- internalType: "address",
741
- name: "user",
742
- type: "address"
743
- },
744
- {
745
- indexed: false,
746
- internalType: "uint8",
747
- name: "paymasterMode",
748
- type: "uint8"
749
- },
750
- {
751
- indexed: false,
752
- internalType: "address",
753
- name: "token",
754
- type: "address"
755
- },
756
- {
757
- indexed: false,
758
- internalType: "uint256",
759
- name: "tokenAmountPaid",
760
- type: "uint256"
761
- },
762
- {
763
- indexed: false,
764
- internalType: "uint256",
765
- name: "exchangeRate",
766
- type: "uint256"
708
+ name: "newOwner",
709
+ type: "address",
710
+ internalType: "address"
767
711
  }
768
712
  ],
769
- name: "UserOperationSponsored",
770
- type: "event"
771
- },
772
- {
773
- inputs: [{ internalType: "address", name: "_signer", type: "address" }],
774
- name: "addSigner",
775
713
  outputs: [],
776
- stateMutability: "nonpayable",
777
- type: "function"
714
+ stateMutability: "nonpayable"
778
715
  },
779
716
  {
780
- inputs: [
781
- { internalType: "uint32", name: "unstakeDelaySec", type: "uint32" }
717
+ type: "function",
718
+ name: "treasury",
719
+ inputs: [],
720
+ outputs: [
721
+ {
722
+ name: "",
723
+ type: "address",
724
+ internalType: "address"
725
+ }
782
726
  ],
783
- name: "addStake",
784
- outputs: [],
785
- stateMutability: "payable",
786
- type: "function"
727
+ stateMutability: "view"
787
728
  },
788
729
  {
730
+ type: "function",
731
+ name: "unlockStake",
789
732
  inputs: [],
790
- name: "deposit",
791
733
  outputs: [],
792
- stateMutability: "payable",
793
- type: "function"
794
- },
795
- {
796
- inputs: [],
797
- name: "entryPoint",
798
- outputs: [
799
- { internalType: "contract IEntryPoint", name: "", type: "address" }
800
- ],
801
- stateMutability: "view",
802
- type: "function"
734
+ stateMutability: "nonpayable"
803
735
  },
804
736
  {
737
+ type: "function",
738
+ name: "validatePaymasterUserOp",
805
739
  inputs: [
806
740
  {
807
- internalType: "uint256",
808
- name: "_actualGasCost",
809
- type: "uint256"
810
- },
811
- { internalType: "uint256", name: "_postOpGas", type: "uint256" },
812
- {
813
- internalType: "uint256",
814
- name: "_actualUserOpFeePerGas",
815
- type: "uint256"
816
- },
817
- { internalType: "uint256", name: "_exchangeRate", type: "uint256" }
818
- ],
819
- name: "getCostInToken",
820
- outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
821
- stateMutability: "pure",
822
- type: "function"
823
- },
824
- {
825
- inputs: [],
826
- name: "getDeposit",
827
- outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
828
- stateMutability: "view",
829
- type: "function"
830
- },
831
- {
832
- inputs: [
833
- { internalType: "uint8", name: "_mode", type: "uint8" },
834
- {
741
+ name: "userOp",
742
+ type: "tuple",
743
+ internalType: "struct PackedUserOperation",
835
744
  components: [
836
745
  {
837
- internalType: "address",
838
746
  name: "sender",
839
- type: "address"
747
+ type: "address",
748
+ internalType: "address"
840
749
  },
841
- { internalType: "uint256", name: "nonce", type: "uint256" },
842
- { internalType: "bytes", name: "initCode", type: "bytes" },
843
- { internalType: "bytes", name: "callData", type: "bytes" },
844
750
  {
845
- internalType: "uint256",
846
- name: "callGasLimit",
847
- type: "uint256"
751
+ name: "nonce",
752
+ type: "uint256",
753
+ internalType: "uint256"
848
754
  },
849
755
  {
850
- internalType: "uint256",
851
- name: "verificationGasLimit",
852
- type: "uint256"
756
+ name: "initCode",
757
+ type: "bytes",
758
+ internalType: "bytes"
853
759
  },
854
760
  {
855
- internalType: "uint256",
856
- name: "preVerificationGas",
857
- type: "uint256"
761
+ name: "callData",
762
+ type: "bytes",
763
+ internalType: "bytes"
858
764
  },
859
765
  {
860
- internalType: "uint256",
861
- name: "maxFeePerGas",
862
- type: "uint256"
766
+ name: "accountGasLimits",
767
+ type: "bytes32",
768
+ internalType: "bytes32"
863
769
  },
864
770
  {
865
- internalType: "uint256",
866
- name: "maxPriorityFeePerGas",
867
- type: "uint256"
771
+ name: "preVerificationGas",
772
+ type: "uint256",
773
+ internalType: "uint256"
774
+ },
775
+ {
776
+ name: "gasFees",
777
+ type: "bytes32",
778
+ internalType: "bytes32"
868
779
  },
869
780
  {
870
- internalType: "bytes",
871
781
  name: "paymasterAndData",
872
- type: "bytes"
782
+ type: "bytes",
783
+ internalType: "bytes"
873
784
  },
874
- { internalType: "bytes", name: "signature", type: "bytes" }
875
- ],
876
- internalType: "struct UserOperation",
877
- name: "_userOp",
878
- type: "tuple"
785
+ {
786
+ name: "signature",
787
+ type: "bytes",
788
+ internalType: "bytes"
789
+ }
790
+ ]
791
+ },
792
+ {
793
+ name: "userOpHash",
794
+ type: "bytes32",
795
+ internalType: "bytes32"
796
+ },
797
+ {
798
+ name: "maxCost",
799
+ type: "uint256",
800
+ internalType: "uint256"
879
801
  }
880
802
  ],
881
- name: "getHash",
882
- outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }],
883
- stateMutability: "view",
884
- type: "function"
803
+ outputs: [
804
+ {
805
+ name: "context",
806
+ type: "bytes",
807
+ internalType: "bytes"
808
+ },
809
+ {
810
+ name: "validationData",
811
+ type: "uint256",
812
+ internalType: "uint256"
813
+ }
814
+ ],
815
+ stateMutability: "nonpayable"
885
816
  },
886
817
  {
887
- inputs: [],
888
- name: "owner",
889
- outputs: [{ internalType: "address", name: "", type: "address" }],
890
- stateMutability: "view",
891
- type: "function"
818
+ type: "function",
819
+ name: "withdrawStake",
820
+ inputs: [
821
+ {
822
+ name: "withdrawAddress",
823
+ type: "address",
824
+ internalType: "address payable"
825
+ }
826
+ ],
827
+ outputs: [],
828
+ stateMutability: "nonpayable"
892
829
  },
893
830
  {
831
+ type: "function",
832
+ name: "withdrawTo",
894
833
  inputs: [
895
- { internalType: "enum PostOpMode", name: "mode", type: "uint8" },
896
- { internalType: "bytes", name: "context", type: "bytes" },
897
- { internalType: "uint256", name: "actualGasCost", type: "uint256" }
834
+ {
835
+ name: "withdrawAddress",
836
+ type: "address",
837
+ internalType: "address payable"
838
+ },
839
+ {
840
+ name: "amount",
841
+ type: "uint256",
842
+ internalType: "uint256"
843
+ }
898
844
  ],
899
- name: "postOp",
900
845
  outputs: [],
901
- stateMutability: "nonpayable",
902
- type: "function"
846
+ stateMutability: "nonpayable"
903
847
  },
904
848
  {
905
- inputs: [{ internalType: "address", name: "_signer", type: "address" }],
906
- name: "removeSigner",
907
- outputs: [],
908
- stateMutability: "nonpayable",
909
- type: "function"
849
+ type: "event",
850
+ name: "OwnershipTransferred",
851
+ inputs: [
852
+ {
853
+ name: "previousOwner",
854
+ type: "address",
855
+ indexed: true,
856
+ internalType: "address"
857
+ },
858
+ {
859
+ name: "newOwner",
860
+ type: "address",
861
+ indexed: true,
862
+ internalType: "address"
863
+ }
864
+ ],
865
+ anonymous: false
910
866
  },
911
867
  {
912
- inputs: [],
913
- name: "renounceOwnership",
914
- outputs: [],
915
- stateMutability: "nonpayable",
916
- type: "function"
868
+ type: "event",
869
+ name: "SignerAdded",
870
+ inputs: [
871
+ {
872
+ name: "signer",
873
+ type: "address",
874
+ indexed: false,
875
+ internalType: "address"
876
+ }
877
+ ],
878
+ anonymous: false
917
879
  },
918
880
  {
881
+ type: "event",
882
+ name: "SignerRemoved",
919
883
  inputs: [
920
- { internalType: "address", name: "_treasury", type: "address" }
884
+ {
885
+ name: "signer",
886
+ type: "address",
887
+ indexed: false,
888
+ internalType: "address"
889
+ }
921
890
  ],
922
- name: "setTreasury",
923
- outputs: [],
924
- stateMutability: "nonpayable",
925
- type: "function"
891
+ anonymous: false
926
892
  },
927
893
  {
928
- inputs: [{ internalType: "address", name: "account", type: "address" }],
929
- name: "signers",
930
- outputs: [
931
- { internalType: "bool", name: "isValidSigner", type: "bool" }
894
+ type: "event",
895
+ name: "TreasuryUpdated",
896
+ inputs: [
897
+ {
898
+ name: "oldTreasury",
899
+ type: "address",
900
+ indexed: false,
901
+ internalType: "address"
902
+ },
903
+ {
904
+ name: "newTreasury",
905
+ type: "address",
906
+ indexed: false,
907
+ internalType: "address"
908
+ }
932
909
  ],
933
- stateMutability: "view",
934
- type: "function"
910
+ anonymous: false
935
911
  },
936
912
  {
913
+ type: "event",
914
+ name: "UserOperationSponsored",
937
915
  inputs: [
938
- { internalType: "address", name: "newOwner", type: "address" }
916
+ {
917
+ name: "userOpHash",
918
+ type: "bytes32",
919
+ indexed: true,
920
+ internalType: "bytes32"
921
+ },
922
+ {
923
+ name: "user",
924
+ type: "address",
925
+ indexed: true,
926
+ internalType: "address"
927
+ },
928
+ {
929
+ name: "paymasterMode",
930
+ type: "uint8",
931
+ indexed: false,
932
+ internalType: "uint8"
933
+ },
934
+ {
935
+ name: "token",
936
+ type: "address",
937
+ indexed: false,
938
+ internalType: "address"
939
+ },
940
+ {
941
+ name: "tokenAmountPaid",
942
+ type: "uint256",
943
+ indexed: false,
944
+ internalType: "uint256"
945
+ },
946
+ {
947
+ name: "exchangeRate",
948
+ type: "uint256",
949
+ indexed: false,
950
+ internalType: "uint256"
951
+ }
939
952
  ],
940
- name: "transferOwnership",
941
- outputs: [],
942
- stateMutability: "nonpayable",
943
- type: "function"
953
+ anonymous: false
944
954
  },
945
955
  {
946
- inputs: [],
947
- name: "treasury",
948
- outputs: [{ internalType: "address", name: "", type: "address" }],
949
- stateMutability: "view",
950
- type: "function"
956
+ type: "error",
957
+ name: "ECDSAInvalidSignature",
958
+ inputs: []
951
959
  },
952
960
  {
953
- inputs: [],
954
- name: "unlockStake",
955
- outputs: [],
956
- stateMutability: "nonpayable",
957
- type: "function"
961
+ type: "error",
962
+ name: "ECDSAInvalidSignatureLength",
963
+ inputs: [
964
+ {
965
+ name: "length",
966
+ type: "uint256",
967
+ internalType: "uint256"
968
+ }
969
+ ]
958
970
  },
959
971
  {
972
+ type: "error",
973
+ name: "ECDSAInvalidSignatureS",
960
974
  inputs: [
961
975
  {
962
- components: [
963
- {
964
- internalType: "address",
965
- name: "sender",
966
- type: "address"
967
- },
968
- { internalType: "uint256", name: "nonce", type: "uint256" },
969
- { internalType: "bytes", name: "initCode", type: "bytes" },
970
- { internalType: "bytes", name: "callData", type: "bytes" },
971
- {
972
- internalType: "uint256",
973
- name: "callGasLimit",
974
- type: "uint256"
975
- },
976
- {
977
- internalType: "uint256",
978
- name: "verificationGasLimit",
979
- type: "uint256"
980
- },
981
- {
982
- internalType: "uint256",
983
- name: "preVerificationGas",
984
- type: "uint256"
985
- },
986
- {
987
- internalType: "uint256",
988
- name: "maxFeePerGas",
989
- type: "uint256"
990
- },
991
- {
992
- internalType: "uint256",
993
- name: "maxPriorityFeePerGas",
994
- type: "uint256"
995
- },
996
- {
997
- internalType: "bytes",
998
- name: "paymasterAndData",
999
- type: "bytes"
1000
- },
1001
- { internalType: "bytes", name: "signature", type: "bytes" }
1002
- ],
1003
- internalType: "struct UserOperation",
1004
- name: "userOp",
1005
- type: "tuple"
1006
- },
1007
- { internalType: "bytes32", name: "userOpHash", type: "bytes32" },
1008
- { internalType: "uint256", name: "maxCost", type: "uint256" }
1009
- ],
1010
- name: "validatePaymasterUserOp",
1011
- outputs: [
1012
- { internalType: "bytes", name: "context", type: "bytes" },
1013
- { internalType: "uint256", name: "validationData", type: "uint256" }
1014
- ],
1015
- stateMutability: "nonpayable",
1016
- type: "function"
976
+ name: "s",
977
+ type: "bytes32",
978
+ internalType: "bytes32"
979
+ }
980
+ ]
1017
981
  },
1018
982
  {
983
+ type: "error",
984
+ name: "ExchangeRateInvalid",
985
+ inputs: []
986
+ },
987
+ {
988
+ type: "error",
989
+ name: "OwnableInvalidOwner",
1019
990
  inputs: [
1020
991
  {
1021
- internalType: "address payable",
1022
- name: "withdrawAddress",
1023
- type: "address"
992
+ name: "owner",
993
+ type: "address",
994
+ internalType: "address"
1024
995
  }
1025
- ],
1026
- name: "withdrawStake",
1027
- outputs: [],
1028
- stateMutability: "nonpayable",
1029
- type: "function"
996
+ ]
1030
997
  },
1031
998
  {
999
+ type: "error",
1000
+ name: "OwnableUnauthorizedAccount",
1032
1001
  inputs: [
1033
1002
  {
1034
- internalType: "address payable",
1035
- name: "withdrawAddress",
1036
- type: "address"
1037
- },
1038
- { internalType: "uint256", name: "amount", type: "uint256" }
1039
- ],
1040
- name: "withdrawTo",
1041
- outputs: [],
1042
- stateMutability: "nonpayable",
1043
- type: "function"
1003
+ name: "account",
1004
+ type: "address",
1005
+ internalType: "address"
1006
+ }
1007
+ ]
1008
+ },
1009
+ {
1010
+ type: "error",
1011
+ name: "PaymasterAndDataLengthInvalid",
1012
+ inputs: []
1013
+ },
1014
+ {
1015
+ type: "error",
1016
+ name: "PaymasterConfigLengthInvalid",
1017
+ inputs: []
1018
+ },
1019
+ {
1020
+ type: "error",
1021
+ name: "PaymasterModeInvalid",
1022
+ inputs: []
1023
+ },
1024
+ {
1025
+ type: "error",
1026
+ name: "PaymasterSignatureLengthInvalid",
1027
+ inputs: []
1028
+ },
1029
+ {
1030
+ type: "error",
1031
+ name: "PostOpTransferFromFailed",
1032
+ inputs: [
1033
+ {
1034
+ name: "msg",
1035
+ type: "string",
1036
+ internalType: "string"
1037
+ }
1038
+ ]
1039
+ },
1040
+ {
1041
+ type: "error",
1042
+ name: "TokenAddressInvalid",
1043
+ inputs: []
1044
1044
  }
1045
1045
  ];
1046
+ export const singletonPaymaster08Abi = singletonPaymaster07Abi;
1046
1047
  //# sourceMappingURL=abi.js.map