@bloxchain/contracts 1.0.0-alpha.6 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +8 -9
  3. package/abi/BaseStateMachine.abi.json +773 -822
  4. package/abi/EngineBlox.abi.json +562 -552
  5. package/abi/GuardController.abi.json +1597 -1609
  6. package/abi/GuardControllerDefinitions.abi.json +257 -120
  7. package/abi/IDefinition.abi.json +57 -47
  8. package/abi/RuntimeRBAC.abi.json +841 -842
  9. package/abi/RuntimeRBACDefinitions.abi.json +265 -99
  10. package/abi/SecureOwnable.abi.json +1365 -1349
  11. package/abi/SecureOwnableDefinitions.abi.json +174 -164
  12. package/components/README.md +8 -0
  13. package/core/AUDIT.md +45 -0
  14. package/core/access/RuntimeRBAC.sol +130 -61
  15. package/core/access/interface/IRuntimeRBAC.sol +3 -3
  16. package/core/access/lib/definitions/RuntimeRBACDefinitions.sol +67 -3
  17. package/core/base/BaseStateMachine.sol +971 -967
  18. package/core/base/interface/IBaseStateMachine.sol +153 -160
  19. package/core/execution/GuardController.sol +89 -75
  20. package/core/execution/interface/IGuardController.sol +146 -160
  21. package/core/execution/lib/definitions/GuardControllerDefinitions.sol +180 -24
  22. package/core/lib/EngineBlox.sol +577 -327
  23. package/core/lib/interfaces/IDefinition.sol +49 -49
  24. package/core/lib/interfaces/IEventForwarder.sol +4 -2
  25. package/core/lib/utils/SharedValidation.sol +534 -487
  26. package/core/pattern/Account.sol +84 -65
  27. package/core/security/SecureOwnable.sol +446 -390
  28. package/core/security/interface/ISecureOwnable.sol +105 -105
  29. package/core/security/lib/definitions/SecureOwnableDefinitions.sol +49 -17
  30. package/package.json +11 -7
  31. package/standards/README.md +12 -0
  32. package/{core/research → standards/behavior}/ICopyable.sol +3 -11
  33. package/standards/hooks/IOnActionHook.sol +21 -0
  34. package/abi/AccountBlox.abi.json +0 -3916
  35. package/abi/BareBlox.abi.json +0 -1378
  36. package/abi/RoleBlox.abi.json +0 -2983
  37. package/abi/SecureBlox.abi.json +0 -2753
  38. package/abi/SimpleRWA20.abi.json +0 -4032
  39. package/abi/SimpleRWA20Definitions.abi.json +0 -191
  40. package/abi/SimpleVault.abi.json +0 -3407
  41. package/abi/SimpleVaultDefinitions.abi.json +0 -269
  42. package/core/research/BloxchainWallet.sol +0 -292
  43. package/core/research/FactoryBlox/FactoryBlox.sol +0 -346
  44. package/core/research/FactoryBlox/FactoryBloxDefinitions.sol +0 -143
  45. package/core/research/erc1155-blox/ERC1155Blox.sol +0 -169
  46. package/core/research/erc1155-blox/lib/definitions/ERC1155BloxDefinitions.sol +0 -203
  47. package/core/research/erc20-blox/ERC20Blox.sol +0 -167
  48. package/core/research/erc20-blox/lib/definitions/ERC20BloxDefinitions.sol +0 -185
  49. package/core/research/erc721-blox/ERC721Blox.sol +0 -131
  50. package/core/research/erc721-blox/lib/definitions/ERC721BloxDefinitions.sol +0 -172
  51. package/core/research/lending-blox/.gitkeep +0 -1
  52. package/core/research/p2p-blox/P2PBlox.sol +0 -266
  53. package/core/research/p2p-blox/README.md +0 -85
  54. package/core/research/p2p-blox/lib/definitions/P2PBloxDefinitions.sol +0 -19
@@ -1,2367 +1,2355 @@
1
1
  [
2
2
  {
3
+ "type": "function",
4
+ "name": "approveTimeLockExecution",
3
5
  "inputs": [
4
6
  {
5
- "internalType": "uint256",
6
- "name": "array1Length",
7
- "type": "uint256"
8
- },
9
- {
10
- "internalType": "uint256",
11
- "name": "array2Length",
12
- "type": "uint256"
13
- }
14
- ],
15
- "name": "ArrayLengthMismatch",
16
- "type": "error"
17
- },
18
- {
19
- "inputs": [
20
- {
21
- "internalType": "uint256",
22
- "name": "currentSize",
23
- "type": "uint256"
24
- },
25
- {
26
- "internalType": "uint256",
27
- "name": "maxSize",
28
- "type": "uint256"
29
- }
30
- ],
31
- "name": "BatchSizeExceeded",
32
- "type": "error"
33
- },
34
- {
35
- "inputs": [
36
- {
37
- "internalType": "bytes32",
38
- "name": "resourceId",
39
- "type": "bytes32"
40
- }
41
- ],
42
- "name": "CannotModifyProtected",
43
- "type": "error"
44
- },
45
- {
46
- "inputs": [
47
- {
48
- "internalType": "bytes4",
49
- "name": "functionSelector",
50
- "type": "bytes4"
51
- }
52
- ],
53
- "name": "InternalFunctionNotAccessible",
54
- "type": "error"
55
- },
56
- {
57
- "inputs": [],
58
- "name": "InvalidInitialization",
59
- "type": "error"
60
- },
61
- {
62
- "inputs": [
63
- {
64
- "internalType": "uint256",
65
- "name": "from",
66
- "type": "uint256"
67
- },
68
- {
69
- "internalType": "uint256",
70
- "name": "to",
71
- "type": "uint256"
72
- }
73
- ],
74
- "name": "InvalidRange",
75
- "type": "error"
76
- },
77
- {
78
- "inputs": [
79
- {
80
- "internalType": "address",
81
- "name": "caller",
82
- "type": "address"
83
- }
84
- ],
85
- "name": "NoPermission",
86
- "type": "error"
87
- },
88
- {
89
- "inputs": [],
90
- "name": "NotInitializing",
91
- "type": "error"
92
- },
93
- {
94
- "inputs": [],
95
- "name": "NotSupported",
96
- "type": "error"
97
- },
98
- {
99
- "inputs": [
100
- {
101
- "internalType": "address",
102
- "name": "caller",
103
- "type": "address"
104
- },
105
- {
106
- "internalType": "address",
107
- "name": "contractAddress",
108
- "type": "address"
109
- }
110
- ],
111
- "name": "OnlyCallableByContract",
112
- "type": "error"
113
- },
114
- {
115
- "inputs": [
116
- {
117
- "internalType": "uint256",
118
- "name": "rangeSize",
119
- "type": "uint256"
120
- },
121
- {
122
- "internalType": "uint256",
123
- "name": "maxRangeSize",
124
- "type": "uint256"
125
- }
126
- ],
127
- "name": "RangeSizeExceeded",
128
- "type": "error"
129
- },
130
- {
131
- "inputs": [],
132
- "name": "ReentrancyGuardReentrantCall",
133
- "type": "error"
134
- },
135
- {
136
- "inputs": [
137
- {
138
- "internalType": "bytes32",
139
- "name": "resourceId",
140
- "type": "bytes32"
141
- }
142
- ],
143
- "name": "ResourceNotFound",
144
- "type": "error"
145
- },
146
- {
147
- "anonymous": false,
148
- "inputs": [
149
- {
150
- "indexed": true,
151
- "internalType": "bytes4",
152
- "name": "functionSelector",
153
- "type": "bytes4"
154
- },
155
- {
156
- "indexed": false,
157
- "internalType": "bytes",
158
- "name": "data",
159
- "type": "bytes"
160
- }
161
- ],
162
- "name": "ComponentEvent",
163
- "type": "event"
164
- },
165
- {
166
- "anonymous": false,
167
- "inputs": [
168
- {
169
- "indexed": false,
170
- "internalType": "uint64",
171
- "name": "version",
172
- "type": "uint64"
173
- }
174
- ],
175
- "name": "Initialized",
176
- "type": "event"
177
- },
178
- {
179
- "inputs": [
180
- {
181
- "internalType": "address",
182
- "name": "handlerContract",
183
- "type": "address"
184
- },
185
- {
186
- "internalType": "bytes4",
187
- "name": "handlerSelector",
188
- "type": "bytes4"
189
- },
190
- {
191
- "internalType": "enum EngineBlox.TxAction",
192
- "name": "action",
193
- "type": "uint8"
194
- },
195
- {
196
- "internalType": "uint256",
197
- "name": "deadline",
198
- "type": "uint256"
199
- },
200
- {
201
- "internalType": "uint256",
202
- "name": "maxGasPrice",
203
- "type": "uint256"
204
- },
205
- {
206
- "internalType": "address",
207
- "name": "signer",
208
- "type": "address"
209
- }
210
- ],
211
- "name": "createMetaTxParams",
212
- "outputs": [
213
- {
214
- "components": [
215
- {
216
- "internalType": "uint256",
217
- "name": "chainId",
218
- "type": "uint256"
219
- },
220
- {
221
- "internalType": "uint256",
222
- "name": "nonce",
223
- "type": "uint256"
224
- },
225
- {
226
- "internalType": "address",
227
- "name": "handlerContract",
228
- "type": "address"
229
- },
230
- {
231
- "internalType": "bytes4",
232
- "name": "handlerSelector",
233
- "type": "bytes4"
234
- },
235
- {
236
- "internalType": "enum EngineBlox.TxAction",
237
- "name": "action",
238
- "type": "uint8"
239
- },
240
- {
241
- "internalType": "uint256",
242
- "name": "deadline",
243
- "type": "uint256"
244
- },
245
- {
246
- "internalType": "uint256",
247
- "name": "maxGasPrice",
248
- "type": "uint256"
249
- },
250
- {
251
- "internalType": "address",
252
- "name": "signer",
253
- "type": "address"
254
- }
255
- ],
256
- "internalType": "struct EngineBlox.MetaTxParams",
257
- "name": "",
258
- "type": "tuple"
259
- }
260
- ],
261
- "stateMutability": "view",
262
- "type": "function"
263
- },
264
- {
265
- "inputs": [
266
- {
267
- "internalType": "bytes4",
268
- "name": "functionSelector",
269
- "type": "bytes4"
7
+ "name": "txId",
8
+ "type": "uint256",
9
+ "internalType": "uint256"
270
10
  }
271
11
  ],
272
- "name": "functionSchemaExists",
273
12
  "outputs": [
274
13
  {
275
- "internalType": "bool",
276
14
  "name": "",
277
- "type": "bool"
15
+ "type": "uint256",
16
+ "internalType": "uint256"
278
17
  }
279
18
  ],
280
- "stateMutability": "view",
281
- "type": "function"
19
+ "stateMutability": "nonpayable"
282
20
  },
283
21
  {
22
+ "type": "function",
23
+ "name": "approveTimeLockExecutionWithMetaTx",
284
24
  "inputs": [
285
25
  {
286
- "internalType": "uint256",
287
- "name": "txId",
288
- "type": "uint256"
289
- },
290
- {
291
- "components": [
292
- {
293
- "internalType": "uint256",
294
- "name": "chainId",
295
- "type": "uint256"
296
- },
297
- {
298
- "internalType": "uint256",
299
- "name": "nonce",
300
- "type": "uint256"
301
- },
302
- {
303
- "internalType": "address",
304
- "name": "handlerContract",
305
- "type": "address"
306
- },
307
- {
308
- "internalType": "bytes4",
309
- "name": "handlerSelector",
310
- "type": "bytes4"
311
- },
312
- {
313
- "internalType": "enum EngineBlox.TxAction",
314
- "name": "action",
315
- "type": "uint8"
316
- },
317
- {
318
- "internalType": "uint256",
319
- "name": "deadline",
320
- "type": "uint256"
321
- },
322
- {
323
- "internalType": "uint256",
324
- "name": "maxGasPrice",
325
- "type": "uint256"
326
- },
327
- {
328
- "internalType": "address",
329
- "name": "signer",
330
- "type": "address"
331
- }
332
- ],
333
- "internalType": "struct EngineBlox.MetaTxParams",
334
- "name": "metaTxParams",
335
- "type": "tuple"
336
- }
337
- ],
338
- "name": "generateUnsignedMetaTransactionForExisting",
339
- "outputs": [
340
- {
26
+ "name": "metaTx",
27
+ "type": "tuple",
28
+ "internalType": "struct EngineBlox.MetaTransaction",
341
29
  "components": [
342
30
  {
31
+ "name": "txRecord",
32
+ "type": "tuple",
33
+ "internalType": "struct EngineBlox.TxRecord",
343
34
  "components": [
344
35
  {
345
- "internalType": "uint256",
346
36
  "name": "txId",
347
- "type": "uint256"
37
+ "type": "uint256",
38
+ "internalType": "uint256"
348
39
  },
349
40
  {
350
- "internalType": "uint256",
351
41
  "name": "releaseTime",
352
- "type": "uint256"
42
+ "type": "uint256",
43
+ "internalType": "uint256"
353
44
  },
354
45
  {
355
- "internalType": "enum EngineBlox.TxStatus",
356
46
  "name": "status",
357
- "type": "uint8"
47
+ "type": "uint8",
48
+ "internalType": "enum EngineBlox.TxStatus"
358
49
  },
359
50
  {
51
+ "name": "params",
52
+ "type": "tuple",
53
+ "internalType": "struct EngineBlox.TxParams",
360
54
  "components": [
361
55
  {
362
- "internalType": "address",
363
56
  "name": "requester",
364
- "type": "address"
57
+ "type": "address",
58
+ "internalType": "address"
365
59
  },
366
60
  {
367
- "internalType": "address",
368
61
  "name": "target",
369
- "type": "address"
62
+ "type": "address",
63
+ "internalType": "address"
370
64
  },
371
65
  {
372
- "internalType": "uint256",
373
66
  "name": "value",
374
- "type": "uint256"
67
+ "type": "uint256",
68
+ "internalType": "uint256"
375
69
  },
376
70
  {
377
- "internalType": "uint256",
378
71
  "name": "gasLimit",
379
- "type": "uint256"
72
+ "type": "uint256",
73
+ "internalType": "uint256"
380
74
  },
381
75
  {
382
- "internalType": "bytes32",
383
76
  "name": "operationType",
384
- "type": "bytes32"
77
+ "type": "bytes32",
78
+ "internalType": "bytes32"
385
79
  },
386
80
  {
387
- "internalType": "bytes4",
388
81
  "name": "executionSelector",
389
- "type": "bytes4"
82
+ "type": "bytes4",
83
+ "internalType": "bytes4"
390
84
  },
391
85
  {
392
- "internalType": "bytes",
393
86
  "name": "executionParams",
394
- "type": "bytes"
87
+ "type": "bytes",
88
+ "internalType": "bytes"
395
89
  }
396
- ],
397
- "internalType": "struct EngineBlox.TxParams",
398
- "name": "params",
399
- "type": "tuple"
90
+ ]
400
91
  },
401
92
  {
402
- "internalType": "bytes32",
403
93
  "name": "message",
404
- "type": "bytes32"
94
+ "type": "bytes32",
95
+ "internalType": "bytes32"
405
96
  },
406
97
  {
407
- "internalType": "bytes",
408
- "name": "result",
409
- "type": "bytes"
98
+ "name": "resultHash",
99
+ "type": "bytes32",
100
+ "internalType": "bytes32"
410
101
  },
411
102
  {
103
+ "name": "payment",
104
+ "type": "tuple",
105
+ "internalType": "struct EngineBlox.PaymentDetails",
412
106
  "components": [
413
107
  {
414
- "internalType": "address",
415
108
  "name": "recipient",
416
- "type": "address"
109
+ "type": "address",
110
+ "internalType": "address"
417
111
  },
418
112
  {
419
- "internalType": "uint256",
420
113
  "name": "nativeTokenAmount",
421
- "type": "uint256"
114
+ "type": "uint256",
115
+ "internalType": "uint256"
422
116
  },
423
117
  {
424
- "internalType": "address",
425
118
  "name": "erc20TokenAddress",
426
- "type": "address"
119
+ "type": "address",
120
+ "internalType": "address"
427
121
  },
428
122
  {
429
- "internalType": "uint256",
430
123
  "name": "erc20TokenAmount",
431
- "type": "uint256"
124
+ "type": "uint256",
125
+ "internalType": "uint256"
432
126
  }
433
- ],
434
- "internalType": "struct EngineBlox.PaymentDetails",
435
- "name": "payment",
436
- "type": "tuple"
127
+ ]
437
128
  }
438
- ],
439
- "internalType": "struct EngineBlox.TxRecord",
440
- "name": "txRecord",
441
- "type": "tuple"
129
+ ]
442
130
  },
443
131
  {
132
+ "name": "params",
133
+ "type": "tuple",
134
+ "internalType": "struct EngineBlox.MetaTxParams",
444
135
  "components": [
445
136
  {
446
- "internalType": "uint256",
447
137
  "name": "chainId",
448
- "type": "uint256"
138
+ "type": "uint256",
139
+ "internalType": "uint256"
449
140
  },
450
141
  {
451
- "internalType": "uint256",
452
142
  "name": "nonce",
453
- "type": "uint256"
143
+ "type": "uint256",
144
+ "internalType": "uint256"
454
145
  },
455
146
  {
456
- "internalType": "address",
457
147
  "name": "handlerContract",
458
- "type": "address"
148
+ "type": "address",
149
+ "internalType": "address"
459
150
  },
460
151
  {
461
- "internalType": "bytes4",
462
152
  "name": "handlerSelector",
463
- "type": "bytes4"
153
+ "type": "bytes4",
154
+ "internalType": "bytes4"
464
155
  },
465
156
  {
466
- "internalType": "enum EngineBlox.TxAction",
467
157
  "name": "action",
468
- "type": "uint8"
158
+ "type": "uint8",
159
+ "internalType": "enum EngineBlox.TxAction"
469
160
  },
470
161
  {
471
- "internalType": "uint256",
472
162
  "name": "deadline",
473
- "type": "uint256"
163
+ "type": "uint256",
164
+ "internalType": "uint256"
474
165
  },
475
166
  {
476
- "internalType": "uint256",
477
167
  "name": "maxGasPrice",
478
- "type": "uint256"
168
+ "type": "uint256",
169
+ "internalType": "uint256"
479
170
  },
480
171
  {
481
- "internalType": "address",
482
172
  "name": "signer",
483
- "type": "address"
173
+ "type": "address",
174
+ "internalType": "address"
484
175
  }
485
- ],
486
- "internalType": "struct EngineBlox.MetaTxParams",
487
- "name": "params",
488
- "type": "tuple"
176
+ ]
489
177
  },
490
178
  {
491
- "internalType": "bytes32",
492
179
  "name": "message",
493
- "type": "bytes32"
180
+ "type": "bytes32",
181
+ "internalType": "bytes32"
494
182
  },
495
183
  {
496
- "internalType": "bytes",
497
184
  "name": "signature",
498
- "type": "bytes"
185
+ "type": "bytes",
186
+ "internalType": "bytes"
499
187
  },
500
188
  {
501
- "internalType": "bytes",
502
189
  "name": "data",
503
- "type": "bytes"
190
+ "type": "bytes",
191
+ "internalType": "bytes"
504
192
  }
505
- ],
506
- "internalType": "struct EngineBlox.MetaTransaction",
193
+ ]
194
+ }
195
+ ],
196
+ "outputs": [
197
+ {
507
198
  "name": "",
508
- "type": "tuple"
199
+ "type": "uint256",
200
+ "internalType": "uint256"
509
201
  }
510
202
  ],
511
- "stateMutability": "view",
512
- "type": "function"
203
+ "stateMutability": "nonpayable"
513
204
  },
514
205
  {
206
+ "type": "function",
207
+ "name": "cancelTimeLockExecution",
515
208
  "inputs": [
516
209
  {
517
- "internalType": "address",
518
- "name": "requester",
519
- "type": "address"
520
- },
521
- {
522
- "internalType": "address",
523
- "name": "target",
524
- "type": "address"
525
- },
210
+ "name": "txId",
211
+ "type": "uint256",
212
+ "internalType": "uint256"
213
+ }
214
+ ],
215
+ "outputs": [
526
216
  {
527
- "internalType": "uint256",
528
- "name": "value",
529
- "type": "uint256"
530
- },
531
- {
532
- "internalType": "uint256",
533
- "name": "gasLimit",
534
- "type": "uint256"
535
- },
536
- {
537
- "internalType": "bytes32",
538
- "name": "operationType",
539
- "type": "bytes32"
540
- },
541
- {
542
- "internalType": "bytes4",
543
- "name": "executionSelector",
544
- "type": "bytes4"
545
- },
546
- {
547
- "internalType": "bytes",
548
- "name": "executionParams",
549
- "type": "bytes"
550
- },
551
- {
552
- "components": [
553
- {
554
- "internalType": "uint256",
555
- "name": "chainId",
556
- "type": "uint256"
557
- },
558
- {
559
- "internalType": "uint256",
560
- "name": "nonce",
561
- "type": "uint256"
562
- },
563
- {
564
- "internalType": "address",
565
- "name": "handlerContract",
566
- "type": "address"
567
- },
568
- {
569
- "internalType": "bytes4",
570
- "name": "handlerSelector",
571
- "type": "bytes4"
572
- },
573
- {
574
- "internalType": "enum EngineBlox.TxAction",
575
- "name": "action",
576
- "type": "uint8"
577
- },
578
- {
579
- "internalType": "uint256",
580
- "name": "deadline",
581
- "type": "uint256"
582
- },
583
- {
584
- "internalType": "uint256",
585
- "name": "maxGasPrice",
586
- "type": "uint256"
587
- },
588
- {
589
- "internalType": "address",
590
- "name": "signer",
591
- "type": "address"
592
- }
593
- ],
594
- "internalType": "struct EngineBlox.MetaTxParams",
595
- "name": "metaTxParams",
596
- "type": "tuple"
597
- }
598
- ],
599
- "name": "generateUnsignedMetaTransactionForNew",
600
- "outputs": [
217
+ "name": "",
218
+ "type": "uint256",
219
+ "internalType": "uint256"
220
+ }
221
+ ],
222
+ "stateMutability": "nonpayable"
223
+ },
224
+ {
225
+ "type": "function",
226
+ "name": "cancelTimeLockExecutionWithMetaTx",
227
+ "inputs": [
601
228
  {
229
+ "name": "metaTx",
230
+ "type": "tuple",
231
+ "internalType": "struct EngineBlox.MetaTransaction",
602
232
  "components": [
603
233
  {
234
+ "name": "txRecord",
235
+ "type": "tuple",
236
+ "internalType": "struct EngineBlox.TxRecord",
604
237
  "components": [
605
238
  {
606
- "internalType": "uint256",
607
239
  "name": "txId",
608
- "type": "uint256"
240
+ "type": "uint256",
241
+ "internalType": "uint256"
609
242
  },
610
243
  {
611
- "internalType": "uint256",
612
244
  "name": "releaseTime",
613
- "type": "uint256"
245
+ "type": "uint256",
246
+ "internalType": "uint256"
614
247
  },
615
248
  {
616
- "internalType": "enum EngineBlox.TxStatus",
617
249
  "name": "status",
618
- "type": "uint8"
250
+ "type": "uint8",
251
+ "internalType": "enum EngineBlox.TxStatus"
619
252
  },
620
253
  {
254
+ "name": "params",
255
+ "type": "tuple",
256
+ "internalType": "struct EngineBlox.TxParams",
621
257
  "components": [
622
258
  {
623
- "internalType": "address",
624
259
  "name": "requester",
625
- "type": "address"
260
+ "type": "address",
261
+ "internalType": "address"
626
262
  },
627
263
  {
628
- "internalType": "address",
629
264
  "name": "target",
630
- "type": "address"
265
+ "type": "address",
266
+ "internalType": "address"
631
267
  },
632
268
  {
633
- "internalType": "uint256",
634
269
  "name": "value",
635
- "type": "uint256"
270
+ "type": "uint256",
271
+ "internalType": "uint256"
636
272
  },
637
273
  {
638
- "internalType": "uint256",
639
274
  "name": "gasLimit",
640
- "type": "uint256"
275
+ "type": "uint256",
276
+ "internalType": "uint256"
641
277
  },
642
278
  {
643
- "internalType": "bytes32",
644
279
  "name": "operationType",
645
- "type": "bytes32"
280
+ "type": "bytes32",
281
+ "internalType": "bytes32"
646
282
  },
647
283
  {
648
- "internalType": "bytes4",
649
284
  "name": "executionSelector",
650
- "type": "bytes4"
285
+ "type": "bytes4",
286
+ "internalType": "bytes4"
651
287
  },
652
288
  {
653
- "internalType": "bytes",
654
289
  "name": "executionParams",
655
- "type": "bytes"
290
+ "type": "bytes",
291
+ "internalType": "bytes"
656
292
  }
657
- ],
658
- "internalType": "struct EngineBlox.TxParams",
659
- "name": "params",
660
- "type": "tuple"
293
+ ]
661
294
  },
662
295
  {
663
- "internalType": "bytes32",
664
296
  "name": "message",
665
- "type": "bytes32"
297
+ "type": "bytes32",
298
+ "internalType": "bytes32"
666
299
  },
667
300
  {
668
- "internalType": "bytes",
669
- "name": "result",
670
- "type": "bytes"
301
+ "name": "resultHash",
302
+ "type": "bytes32",
303
+ "internalType": "bytes32"
671
304
  },
672
305
  {
306
+ "name": "payment",
307
+ "type": "tuple",
308
+ "internalType": "struct EngineBlox.PaymentDetails",
673
309
  "components": [
674
310
  {
675
- "internalType": "address",
676
311
  "name": "recipient",
677
- "type": "address"
312
+ "type": "address",
313
+ "internalType": "address"
678
314
  },
679
315
  {
680
- "internalType": "uint256",
681
316
  "name": "nativeTokenAmount",
682
- "type": "uint256"
317
+ "type": "uint256",
318
+ "internalType": "uint256"
683
319
  },
684
320
  {
685
- "internalType": "address",
686
321
  "name": "erc20TokenAddress",
687
- "type": "address"
322
+ "type": "address",
323
+ "internalType": "address"
688
324
  },
689
325
  {
690
- "internalType": "uint256",
691
326
  "name": "erc20TokenAmount",
692
- "type": "uint256"
327
+ "type": "uint256",
328
+ "internalType": "uint256"
693
329
  }
694
- ],
695
- "internalType": "struct EngineBlox.PaymentDetails",
696
- "name": "payment",
697
- "type": "tuple"
330
+ ]
698
331
  }
699
- ],
700
- "internalType": "struct EngineBlox.TxRecord",
701
- "name": "txRecord",
702
- "type": "tuple"
332
+ ]
703
333
  },
704
334
  {
335
+ "name": "params",
336
+ "type": "tuple",
337
+ "internalType": "struct EngineBlox.MetaTxParams",
705
338
  "components": [
706
339
  {
707
- "internalType": "uint256",
708
340
  "name": "chainId",
709
- "type": "uint256"
341
+ "type": "uint256",
342
+ "internalType": "uint256"
710
343
  },
711
344
  {
712
- "internalType": "uint256",
713
345
  "name": "nonce",
714
- "type": "uint256"
346
+ "type": "uint256",
347
+ "internalType": "uint256"
715
348
  },
716
349
  {
717
- "internalType": "address",
718
350
  "name": "handlerContract",
719
- "type": "address"
351
+ "type": "address",
352
+ "internalType": "address"
720
353
  },
721
354
  {
722
- "internalType": "bytes4",
723
355
  "name": "handlerSelector",
724
- "type": "bytes4"
356
+ "type": "bytes4",
357
+ "internalType": "bytes4"
725
358
  },
726
359
  {
727
- "internalType": "enum EngineBlox.TxAction",
728
360
  "name": "action",
729
- "type": "uint8"
361
+ "type": "uint8",
362
+ "internalType": "enum EngineBlox.TxAction"
730
363
  },
731
364
  {
732
- "internalType": "uint256",
733
365
  "name": "deadline",
734
- "type": "uint256"
366
+ "type": "uint256",
367
+ "internalType": "uint256"
735
368
  },
736
369
  {
737
- "internalType": "uint256",
738
370
  "name": "maxGasPrice",
739
- "type": "uint256"
371
+ "type": "uint256",
372
+ "internalType": "uint256"
740
373
  },
741
374
  {
742
- "internalType": "address",
743
375
  "name": "signer",
744
- "type": "address"
376
+ "type": "address",
377
+ "internalType": "address"
745
378
  }
746
- ],
747
- "internalType": "struct EngineBlox.MetaTxParams",
748
- "name": "params",
749
- "type": "tuple"
379
+ ]
750
380
  },
751
381
  {
752
- "internalType": "bytes32",
753
382
  "name": "message",
754
- "type": "bytes32"
383
+ "type": "bytes32",
384
+ "internalType": "bytes32"
755
385
  },
756
386
  {
757
- "internalType": "bytes",
758
387
  "name": "signature",
759
- "type": "bytes"
388
+ "type": "bytes",
389
+ "internalType": "bytes"
760
390
  },
761
391
  {
762
- "internalType": "bytes",
763
392
  "name": "data",
764
- "type": "bytes"
765
- }
766
- ],
767
- "internalType": "struct EngineBlox.MetaTransaction",
768
- "name": "",
769
- "type": "tuple"
770
- }
771
- ],
772
- "stateMutability": "view",
773
- "type": "function"
774
- },
775
- {
776
- "inputs": [
777
- {
778
- "internalType": "bytes32",
779
- "name": "roleHash",
780
- "type": "bytes32"
781
- }
782
- ],
783
- "name": "getActiveRolePermissions",
784
- "outputs": [
785
- {
786
- "components": [
787
- {
788
- "internalType": "bytes4",
789
- "name": "functionSelector",
790
- "type": "bytes4"
791
- },
792
- {
793
- "internalType": "uint16",
794
- "name": "grantedActionsBitmap",
795
- "type": "uint16"
796
- },
797
- {
798
- "internalType": "bytes4[]",
799
- "name": "handlerForSelectors",
800
- "type": "bytes4[]"
393
+ "type": "bytes",
394
+ "internalType": "bytes"
801
395
  }
802
- ],
803
- "internalType": "struct EngineBlox.FunctionPermission[]",
804
- "name": "",
805
- "type": "tuple[]"
396
+ ]
806
397
  }
807
398
  ],
808
- "stateMutability": "view",
809
- "type": "function"
810
- },
811
- {
812
- "inputs": [],
813
- "name": "getBroadcasters",
814
399
  "outputs": [
815
400
  {
816
- "internalType": "address[]",
817
401
  "name": "",
818
- "type": "address[]"
402
+ "type": "uint256",
403
+ "internalType": "uint256"
819
404
  }
820
405
  ],
821
- "stateMutability": "view",
822
- "type": "function"
406
+ "stateMutability": "nonpayable"
823
407
  },
824
408
  {
409
+ "type": "function",
410
+ "name": "createMetaTxParams",
825
411
  "inputs": [
826
412
  {
827
- "internalType": "bytes4",
828
- "name": "functionSelector",
829
- "type": "bytes4"
413
+ "name": "handlerContract",
414
+ "type": "address",
415
+ "internalType": "address"
416
+ },
417
+ {
418
+ "name": "handlerSelector",
419
+ "type": "bytes4",
420
+ "internalType": "bytes4"
421
+ },
422
+ {
423
+ "name": "action",
424
+ "type": "uint8",
425
+ "internalType": "enum EngineBlox.TxAction"
426
+ },
427
+ {
428
+ "name": "deadline",
429
+ "type": "uint256",
430
+ "internalType": "uint256"
431
+ },
432
+ {
433
+ "name": "maxGasPrice",
434
+ "type": "uint256",
435
+ "internalType": "uint256"
436
+ },
437
+ {
438
+ "name": "signer",
439
+ "type": "address",
440
+ "internalType": "address"
830
441
  }
831
442
  ],
832
- "name": "getFunctionSchema",
833
443
  "outputs": [
834
444
  {
445
+ "name": "",
446
+ "type": "tuple",
447
+ "internalType": "struct EngineBlox.MetaTxParams",
835
448
  "components": [
836
449
  {
837
- "internalType": "string",
838
- "name": "functionSignature",
839
- "type": "string"
450
+ "name": "chainId",
451
+ "type": "uint256",
452
+ "internalType": "uint256"
840
453
  },
841
454
  {
842
- "internalType": "bytes4",
843
- "name": "functionSelector",
844
- "type": "bytes4"
455
+ "name": "nonce",
456
+ "type": "uint256",
457
+ "internalType": "uint256"
845
458
  },
846
459
  {
847
- "internalType": "bytes32",
848
- "name": "operationType",
849
- "type": "bytes32"
460
+ "name": "handlerContract",
461
+ "type": "address",
462
+ "internalType": "address"
850
463
  },
851
464
  {
852
- "internalType": "string",
853
- "name": "operationName",
854
- "type": "string"
465
+ "name": "handlerSelector",
466
+ "type": "bytes4",
467
+ "internalType": "bytes4"
855
468
  },
856
469
  {
857
- "internalType": "uint16",
858
- "name": "supportedActionsBitmap",
859
- "type": "uint16"
470
+ "name": "action",
471
+ "type": "uint8",
472
+ "internalType": "enum EngineBlox.TxAction"
860
473
  },
861
474
  {
862
- "internalType": "bool",
863
- "name": "isProtected",
864
- "type": "bool"
475
+ "name": "deadline",
476
+ "type": "uint256",
477
+ "internalType": "uint256"
865
478
  },
866
479
  {
867
- "internalType": "bytes4[]",
868
- "name": "handlerForSelectors",
869
- "type": "bytes4[]"
480
+ "name": "maxGasPrice",
481
+ "type": "uint256",
482
+ "internalType": "uint256"
483
+ },
484
+ {
485
+ "name": "signer",
486
+ "type": "address",
487
+ "internalType": "address"
870
488
  }
871
- ],
872
- "internalType": "struct EngineBlox.FunctionSchema",
873
- "name": "",
874
- "type": "tuple"
489
+ ]
875
490
  }
876
491
  ],
877
- "stateMutability": "view",
878
- "type": "function"
492
+ "stateMutability": "view"
879
493
  },
880
494
  {
495
+ "type": "function",
496
+ "name": "executeGuardConfigBatch",
881
497
  "inputs": [
882
498
  {
883
- "internalType": "bytes4",
884
- "name": "functionSelector",
885
- "type": "bytes4"
886
- }
887
- ],
888
- "name": "getFunctionWhitelistTargets",
889
- "outputs": [
890
- {
891
- "internalType": "address[]",
892
- "name": "",
893
- "type": "address[]"
499
+ "name": "actions",
500
+ "type": "tuple[]",
501
+ "internalType": "struct IGuardController.GuardConfigAction[]",
502
+ "components": [
503
+ {
504
+ "name": "actionType",
505
+ "type": "uint8",
506
+ "internalType": "enum IGuardController.GuardConfigActionType"
507
+ },
508
+ {
509
+ "name": "data",
510
+ "type": "bytes",
511
+ "internalType": "bytes"
512
+ }
513
+ ]
894
514
  }
895
515
  ],
896
- "stateMutability": "view",
897
- "type": "function"
516
+ "outputs": [],
517
+ "stateMutability": "nonpayable"
898
518
  },
899
519
  {
520
+ "type": "function",
521
+ "name": "executeWithPayment",
900
522
  "inputs": [
901
523
  {
902
- "internalType": "bytes4",
524
+ "name": "target",
525
+ "type": "address",
526
+ "internalType": "address"
527
+ },
528
+ {
529
+ "name": "value",
530
+ "type": "uint256",
531
+ "internalType": "uint256"
532
+ },
533
+ {
903
534
  "name": "functionSelector",
904
- "type": "bytes4"
905
- }
906
- ],
907
- "name": "getHooks",
908
- "outputs": [
535
+ "type": "bytes4",
536
+ "internalType": "bytes4"
537
+ },
909
538
  {
910
- "internalType": "address[]",
911
- "name": "hooks",
912
- "type": "address[]"
913
- }
914
- ],
915
- "stateMutability": "view",
916
- "type": "function"
917
- },
918
- {
919
- "inputs": [],
920
- "name": "getPendingTransactions",
921
- "outputs": [
539
+ "name": "params",
540
+ "type": "bytes",
541
+ "internalType": "bytes"
542
+ },
922
543
  {
923
- "internalType": "uint256[]",
924
- "name": "",
925
- "type": "uint256[]"
544
+ "name": "gasLimit",
545
+ "type": "uint256",
546
+ "internalType": "uint256"
547
+ },
548
+ {
549
+ "name": "operationType",
550
+ "type": "bytes32",
551
+ "internalType": "bytes32"
552
+ },
553
+ {
554
+ "name": "paymentDetails",
555
+ "type": "tuple",
556
+ "internalType": "struct EngineBlox.PaymentDetails",
557
+ "components": [
558
+ {
559
+ "name": "recipient",
560
+ "type": "address",
561
+ "internalType": "address"
562
+ },
563
+ {
564
+ "name": "nativeTokenAmount",
565
+ "type": "uint256",
566
+ "internalType": "uint256"
567
+ },
568
+ {
569
+ "name": "erc20TokenAddress",
570
+ "type": "address",
571
+ "internalType": "address"
572
+ },
573
+ {
574
+ "name": "erc20TokenAmount",
575
+ "type": "uint256",
576
+ "internalType": "uint256"
577
+ }
578
+ ]
926
579
  }
927
580
  ],
928
- "stateMutability": "view",
929
- "type": "function"
930
- },
931
- {
932
- "inputs": [],
933
- "name": "getRecovery",
934
581
  "outputs": [
935
582
  {
936
- "internalType": "address",
937
- "name": "",
938
- "type": "address"
583
+ "name": "txId",
584
+ "type": "uint256",
585
+ "internalType": "uint256"
939
586
  }
940
587
  ],
941
- "stateMutability": "view",
942
- "type": "function"
588
+ "stateMutability": "nonpayable"
943
589
  },
944
590
  {
591
+ "type": "function",
592
+ "name": "executeWithTimeLock",
945
593
  "inputs": [
946
594
  {
947
- "internalType": "bytes32",
948
- "name": "roleHash",
949
- "type": "bytes32"
950
- }
951
- ],
952
- "name": "getRole",
953
- "outputs": [
595
+ "name": "target",
596
+ "type": "address",
597
+ "internalType": "address"
598
+ },
954
599
  {
955
- "internalType": "string",
956
- "name": "roleName",
957
- "type": "string"
600
+ "name": "value",
601
+ "type": "uint256",
602
+ "internalType": "uint256"
958
603
  },
959
604
  {
960
- "internalType": "bytes32",
961
- "name": "roleHashReturn",
962
- "type": "bytes32"
605
+ "name": "functionSelector",
606
+ "type": "bytes4",
607
+ "internalType": "bytes4"
963
608
  },
964
609
  {
965
- "internalType": "uint256",
966
- "name": "maxWallets",
967
- "type": "uint256"
610
+ "name": "params",
611
+ "type": "bytes",
612
+ "internalType": "bytes"
968
613
  },
969
614
  {
970
- "internalType": "uint256",
971
- "name": "walletCount",
972
- "type": "uint256"
615
+ "name": "gasLimit",
616
+ "type": "uint256",
617
+ "internalType": "uint256"
973
618
  },
974
619
  {
975
- "internalType": "bool",
976
- "name": "isProtected",
977
- "type": "bool"
620
+ "name": "operationType",
621
+ "type": "bytes32",
622
+ "internalType": "bytes32"
623
+ }
624
+ ],
625
+ "outputs": [
626
+ {
627
+ "name": "txId",
628
+ "type": "uint256",
629
+ "internalType": "uint256"
978
630
  }
979
631
  ],
980
- "stateMutability": "view",
981
- "type": "function"
632
+ "stateMutability": "nonpayable"
982
633
  },
983
634
  {
635
+ "type": "function",
636
+ "name": "generateUnsignedMetaTransactionForExisting",
984
637
  "inputs": [
985
638
  {
986
- "internalType": "address",
987
- "name": "signer",
988
- "type": "address"
639
+ "name": "txId",
640
+ "type": "uint256",
641
+ "internalType": "uint256"
642
+ },
643
+ {
644
+ "name": "metaTxParams",
645
+ "type": "tuple",
646
+ "internalType": "struct EngineBlox.MetaTxParams",
647
+ "components": [
648
+ {
649
+ "name": "chainId",
650
+ "type": "uint256",
651
+ "internalType": "uint256"
652
+ },
653
+ {
654
+ "name": "nonce",
655
+ "type": "uint256",
656
+ "internalType": "uint256"
657
+ },
658
+ {
659
+ "name": "handlerContract",
660
+ "type": "address",
661
+ "internalType": "address"
662
+ },
663
+ {
664
+ "name": "handlerSelector",
665
+ "type": "bytes4",
666
+ "internalType": "bytes4"
667
+ },
668
+ {
669
+ "name": "action",
670
+ "type": "uint8",
671
+ "internalType": "enum EngineBlox.TxAction"
672
+ },
673
+ {
674
+ "name": "deadline",
675
+ "type": "uint256",
676
+ "internalType": "uint256"
677
+ },
678
+ {
679
+ "name": "maxGasPrice",
680
+ "type": "uint256",
681
+ "internalType": "uint256"
682
+ },
683
+ {
684
+ "name": "signer",
685
+ "type": "address",
686
+ "internalType": "address"
687
+ }
688
+ ]
989
689
  }
990
690
  ],
991
- "name": "getSignerNonce",
992
691
  "outputs": [
993
692
  {
994
- "internalType": "uint256",
995
693
  "name": "",
996
- "type": "uint256"
997
- }
998
- ],
999
- "stateMutability": "view",
1000
- "type": "function"
1001
- },
1002
- {
1003
- "inputs": [],
1004
- "name": "getSupportedFunctions",
1005
- "outputs": [
1006
- {
1007
- "internalType": "bytes4[]",
1008
- "name": "",
1009
- "type": "bytes4[]"
1010
- }
1011
- ],
1012
- "stateMutability": "view",
1013
- "type": "function"
1014
- },
1015
- {
1016
- "inputs": [],
1017
- "name": "getSupportedOperationTypes",
1018
- "outputs": [
1019
- {
1020
- "internalType": "bytes32[]",
1021
- "name": "",
1022
- "type": "bytes32[]"
1023
- }
1024
- ],
1025
- "stateMutability": "view",
1026
- "type": "function"
1027
- },
1028
- {
1029
- "inputs": [],
1030
- "name": "getSupportedRoles",
1031
- "outputs": [
1032
- {
1033
- "internalType": "bytes32[]",
1034
- "name": "",
1035
- "type": "bytes32[]"
1036
- }
1037
- ],
1038
- "stateMutability": "view",
1039
- "type": "function"
1040
- },
1041
- {
1042
- "inputs": [],
1043
- "name": "getTimeLockPeriodSec",
1044
- "outputs": [
1045
- {
1046
- "internalType": "uint256",
1047
- "name": "",
1048
- "type": "uint256"
1049
- }
1050
- ],
1051
- "stateMutability": "view",
1052
- "type": "function"
1053
- },
1054
- {
1055
- "inputs": [
1056
- {
1057
- "internalType": "uint256",
1058
- "name": "txId",
1059
- "type": "uint256"
1060
- }
1061
- ],
1062
- "name": "getTransaction",
1063
- "outputs": [
1064
- {
694
+ "type": "tuple",
695
+ "internalType": "struct EngineBlox.MetaTransaction",
1065
696
  "components": [
1066
697
  {
1067
- "internalType": "uint256",
1068
- "name": "txId",
1069
- "type": "uint256"
1070
- },
1071
- {
1072
- "internalType": "uint256",
1073
- "name": "releaseTime",
1074
- "type": "uint256"
1075
- },
1076
- {
1077
- "internalType": "enum EngineBlox.TxStatus",
1078
- "name": "status",
1079
- "type": "uint8"
1080
- },
1081
- {
698
+ "name": "txRecord",
699
+ "type": "tuple",
700
+ "internalType": "struct EngineBlox.TxRecord",
1082
701
  "components": [
1083
702
  {
1084
- "internalType": "address",
1085
- "name": "requester",
1086
- "type": "address"
703
+ "name": "txId",
704
+ "type": "uint256",
705
+ "internalType": "uint256"
1087
706
  },
1088
707
  {
1089
- "internalType": "address",
1090
- "name": "target",
1091
- "type": "address"
708
+ "name": "releaseTime",
709
+ "type": "uint256",
710
+ "internalType": "uint256"
1092
711
  },
1093
712
  {
1094
- "internalType": "uint256",
1095
- "name": "value",
1096
- "type": "uint256"
713
+ "name": "status",
714
+ "type": "uint8",
715
+ "internalType": "enum EngineBlox.TxStatus"
1097
716
  },
1098
717
  {
1099
- "internalType": "uint256",
1100
- "name": "gasLimit",
1101
- "type": "uint256"
718
+ "name": "params",
719
+ "type": "tuple",
720
+ "internalType": "struct EngineBlox.TxParams",
721
+ "components": [
722
+ {
723
+ "name": "requester",
724
+ "type": "address",
725
+ "internalType": "address"
726
+ },
727
+ {
728
+ "name": "target",
729
+ "type": "address",
730
+ "internalType": "address"
731
+ },
732
+ {
733
+ "name": "value",
734
+ "type": "uint256",
735
+ "internalType": "uint256"
736
+ },
737
+ {
738
+ "name": "gasLimit",
739
+ "type": "uint256",
740
+ "internalType": "uint256"
741
+ },
742
+ {
743
+ "name": "operationType",
744
+ "type": "bytes32",
745
+ "internalType": "bytes32"
746
+ },
747
+ {
748
+ "name": "executionSelector",
749
+ "type": "bytes4",
750
+ "internalType": "bytes4"
751
+ },
752
+ {
753
+ "name": "executionParams",
754
+ "type": "bytes",
755
+ "internalType": "bytes"
756
+ }
757
+ ]
1102
758
  },
1103
759
  {
1104
- "internalType": "bytes32",
1105
- "name": "operationType",
1106
- "type": "bytes32"
760
+ "name": "message",
761
+ "type": "bytes32",
762
+ "internalType": "bytes32"
1107
763
  },
1108
764
  {
1109
- "internalType": "bytes4",
1110
- "name": "executionSelector",
1111
- "type": "bytes4"
765
+ "name": "resultHash",
766
+ "type": "bytes32",
767
+ "internalType": "bytes32"
1112
768
  },
1113
769
  {
1114
- "internalType": "bytes",
1115
- "name": "executionParams",
1116
- "type": "bytes"
770
+ "name": "payment",
771
+ "type": "tuple",
772
+ "internalType": "struct EngineBlox.PaymentDetails",
773
+ "components": [
774
+ {
775
+ "name": "recipient",
776
+ "type": "address",
777
+ "internalType": "address"
778
+ },
779
+ {
780
+ "name": "nativeTokenAmount",
781
+ "type": "uint256",
782
+ "internalType": "uint256"
783
+ },
784
+ {
785
+ "name": "erc20TokenAddress",
786
+ "type": "address",
787
+ "internalType": "address"
788
+ },
789
+ {
790
+ "name": "erc20TokenAmount",
791
+ "type": "uint256",
792
+ "internalType": "uint256"
793
+ }
794
+ ]
1117
795
  }
1118
- ],
1119
- "internalType": "struct EngineBlox.TxParams",
1120
- "name": "params",
1121
- "type": "tuple"
1122
- },
1123
- {
1124
- "internalType": "bytes32",
1125
- "name": "message",
1126
- "type": "bytes32"
1127
- },
1128
- {
1129
- "internalType": "bytes",
1130
- "name": "result",
1131
- "type": "bytes"
796
+ ]
1132
797
  },
1133
798
  {
799
+ "name": "params",
800
+ "type": "tuple",
801
+ "internalType": "struct EngineBlox.MetaTxParams",
1134
802
  "components": [
1135
803
  {
1136
- "internalType": "address",
1137
- "name": "recipient",
1138
- "type": "address"
804
+ "name": "chainId",
805
+ "type": "uint256",
806
+ "internalType": "uint256"
1139
807
  },
1140
808
  {
1141
- "internalType": "uint256",
1142
- "name": "nativeTokenAmount",
1143
- "type": "uint256"
809
+ "name": "nonce",
810
+ "type": "uint256",
811
+ "internalType": "uint256"
1144
812
  },
1145
813
  {
1146
- "internalType": "address",
1147
- "name": "erc20TokenAddress",
1148
- "type": "address"
814
+ "name": "handlerContract",
815
+ "type": "address",
816
+ "internalType": "address"
1149
817
  },
1150
818
  {
1151
- "internalType": "uint256",
1152
- "name": "erc20TokenAmount",
1153
- "type": "uint256"
819
+ "name": "handlerSelector",
820
+ "type": "bytes4",
821
+ "internalType": "bytes4"
822
+ },
823
+ {
824
+ "name": "action",
825
+ "type": "uint8",
826
+ "internalType": "enum EngineBlox.TxAction"
827
+ },
828
+ {
829
+ "name": "deadline",
830
+ "type": "uint256",
831
+ "internalType": "uint256"
832
+ },
833
+ {
834
+ "name": "maxGasPrice",
835
+ "type": "uint256",
836
+ "internalType": "uint256"
837
+ },
838
+ {
839
+ "name": "signer",
840
+ "type": "address",
841
+ "internalType": "address"
1154
842
  }
1155
- ],
1156
- "internalType": "struct EngineBlox.PaymentDetails",
1157
- "name": "payment",
1158
- "type": "tuple"
843
+ ]
844
+ },
845
+ {
846
+ "name": "message",
847
+ "type": "bytes32",
848
+ "internalType": "bytes32"
849
+ },
850
+ {
851
+ "name": "signature",
852
+ "type": "bytes",
853
+ "internalType": "bytes"
854
+ },
855
+ {
856
+ "name": "data",
857
+ "type": "bytes",
858
+ "internalType": "bytes"
1159
859
  }
1160
- ],
1161
- "internalType": "struct EngineBlox.TxRecord",
1162
- "name": "",
1163
- "type": "tuple"
860
+ ]
1164
861
  }
1165
862
  ],
1166
- "stateMutability": "view",
1167
- "type": "function"
863
+ "stateMutability": "view"
1168
864
  },
1169
865
  {
866
+ "type": "function",
867
+ "name": "generateUnsignedMetaTransactionForNew",
1170
868
  "inputs": [
1171
869
  {
1172
- "internalType": "uint256",
1173
- "name": "fromTxId",
1174
- "type": "uint256"
870
+ "name": "requester",
871
+ "type": "address",
872
+ "internalType": "address"
1175
873
  },
1176
874
  {
1177
- "internalType": "uint256",
1178
- "name": "toTxId",
1179
- "type": "uint256"
1180
- }
1181
- ],
1182
- "name": "getTransactionHistory",
1183
- "outputs": [
875
+ "name": "target",
876
+ "type": "address",
877
+ "internalType": "address"
878
+ },
879
+ {
880
+ "name": "value",
881
+ "type": "uint256",
882
+ "internalType": "uint256"
883
+ },
884
+ {
885
+ "name": "gasLimit",
886
+ "type": "uint256",
887
+ "internalType": "uint256"
888
+ },
889
+ {
890
+ "name": "operationType",
891
+ "type": "bytes32",
892
+ "internalType": "bytes32"
893
+ },
894
+ {
895
+ "name": "executionSelector",
896
+ "type": "bytes4",
897
+ "internalType": "bytes4"
898
+ },
899
+ {
900
+ "name": "executionParams",
901
+ "type": "bytes",
902
+ "internalType": "bytes"
903
+ },
1184
904
  {
905
+ "name": "metaTxParams",
906
+ "type": "tuple",
907
+ "internalType": "struct EngineBlox.MetaTxParams",
1185
908
  "components": [
1186
909
  {
1187
- "internalType": "uint256",
1188
- "name": "txId",
1189
- "type": "uint256"
910
+ "name": "chainId",
911
+ "type": "uint256",
912
+ "internalType": "uint256"
1190
913
  },
1191
914
  {
1192
- "internalType": "uint256",
1193
- "name": "releaseTime",
1194
- "type": "uint256"
915
+ "name": "nonce",
916
+ "type": "uint256",
917
+ "internalType": "uint256"
1195
918
  },
1196
919
  {
1197
- "internalType": "enum EngineBlox.TxStatus",
1198
- "name": "status",
1199
- "type": "uint8"
920
+ "name": "handlerContract",
921
+ "type": "address",
922
+ "internalType": "address"
923
+ },
924
+ {
925
+ "name": "handlerSelector",
926
+ "type": "bytes4",
927
+ "internalType": "bytes4"
1200
928
  },
1201
929
  {
930
+ "name": "action",
931
+ "type": "uint8",
932
+ "internalType": "enum EngineBlox.TxAction"
933
+ },
934
+ {
935
+ "name": "deadline",
936
+ "type": "uint256",
937
+ "internalType": "uint256"
938
+ },
939
+ {
940
+ "name": "maxGasPrice",
941
+ "type": "uint256",
942
+ "internalType": "uint256"
943
+ },
944
+ {
945
+ "name": "signer",
946
+ "type": "address",
947
+ "internalType": "address"
948
+ }
949
+ ]
950
+ }
951
+ ],
952
+ "outputs": [
953
+ {
954
+ "name": "",
955
+ "type": "tuple",
956
+ "internalType": "struct EngineBlox.MetaTransaction",
957
+ "components": [
958
+ {
959
+ "name": "txRecord",
960
+ "type": "tuple",
961
+ "internalType": "struct EngineBlox.TxRecord",
1202
962
  "components": [
1203
963
  {
1204
- "internalType": "address",
1205
- "name": "requester",
1206
- "type": "address"
964
+ "name": "txId",
965
+ "type": "uint256",
966
+ "internalType": "uint256"
1207
967
  },
1208
968
  {
1209
- "internalType": "address",
1210
- "name": "target",
1211
- "type": "address"
969
+ "name": "releaseTime",
970
+ "type": "uint256",
971
+ "internalType": "uint256"
1212
972
  },
1213
973
  {
1214
- "internalType": "uint256",
1215
- "name": "value",
1216
- "type": "uint256"
974
+ "name": "status",
975
+ "type": "uint8",
976
+ "internalType": "enum EngineBlox.TxStatus"
1217
977
  },
1218
978
  {
1219
- "internalType": "uint256",
1220
- "name": "gasLimit",
1221
- "type": "uint256"
979
+ "name": "params",
980
+ "type": "tuple",
981
+ "internalType": "struct EngineBlox.TxParams",
982
+ "components": [
983
+ {
984
+ "name": "requester",
985
+ "type": "address",
986
+ "internalType": "address"
987
+ },
988
+ {
989
+ "name": "target",
990
+ "type": "address",
991
+ "internalType": "address"
992
+ },
993
+ {
994
+ "name": "value",
995
+ "type": "uint256",
996
+ "internalType": "uint256"
997
+ },
998
+ {
999
+ "name": "gasLimit",
1000
+ "type": "uint256",
1001
+ "internalType": "uint256"
1002
+ },
1003
+ {
1004
+ "name": "operationType",
1005
+ "type": "bytes32",
1006
+ "internalType": "bytes32"
1007
+ },
1008
+ {
1009
+ "name": "executionSelector",
1010
+ "type": "bytes4",
1011
+ "internalType": "bytes4"
1012
+ },
1013
+ {
1014
+ "name": "executionParams",
1015
+ "type": "bytes",
1016
+ "internalType": "bytes"
1017
+ }
1018
+ ]
1222
1019
  },
1223
1020
  {
1224
- "internalType": "bytes32",
1225
- "name": "operationType",
1226
- "type": "bytes32"
1021
+ "name": "message",
1022
+ "type": "bytes32",
1023
+ "internalType": "bytes32"
1227
1024
  },
1228
1025
  {
1229
- "internalType": "bytes4",
1230
- "name": "executionSelector",
1231
- "type": "bytes4"
1026
+ "name": "resultHash",
1027
+ "type": "bytes32",
1028
+ "internalType": "bytes32"
1232
1029
  },
1233
1030
  {
1234
- "internalType": "bytes",
1235
- "name": "executionParams",
1236
- "type": "bytes"
1031
+ "name": "payment",
1032
+ "type": "tuple",
1033
+ "internalType": "struct EngineBlox.PaymentDetails",
1034
+ "components": [
1035
+ {
1036
+ "name": "recipient",
1037
+ "type": "address",
1038
+ "internalType": "address"
1039
+ },
1040
+ {
1041
+ "name": "nativeTokenAmount",
1042
+ "type": "uint256",
1043
+ "internalType": "uint256"
1044
+ },
1045
+ {
1046
+ "name": "erc20TokenAddress",
1047
+ "type": "address",
1048
+ "internalType": "address"
1049
+ },
1050
+ {
1051
+ "name": "erc20TokenAmount",
1052
+ "type": "uint256",
1053
+ "internalType": "uint256"
1054
+ }
1055
+ ]
1237
1056
  }
1238
- ],
1239
- "internalType": "struct EngineBlox.TxParams",
1240
- "name": "params",
1241
- "type": "tuple"
1242
- },
1243
- {
1244
- "internalType": "bytes32",
1245
- "name": "message",
1246
- "type": "bytes32"
1247
- },
1248
- {
1249
- "internalType": "bytes",
1250
- "name": "result",
1251
- "type": "bytes"
1057
+ ]
1252
1058
  },
1253
1059
  {
1060
+ "name": "params",
1061
+ "type": "tuple",
1062
+ "internalType": "struct EngineBlox.MetaTxParams",
1254
1063
  "components": [
1255
1064
  {
1256
- "internalType": "address",
1257
- "name": "recipient",
1258
- "type": "address"
1065
+ "name": "chainId",
1066
+ "type": "uint256",
1067
+ "internalType": "uint256"
1259
1068
  },
1260
1069
  {
1261
- "internalType": "uint256",
1262
- "name": "nativeTokenAmount",
1263
- "type": "uint256"
1070
+ "name": "nonce",
1071
+ "type": "uint256",
1072
+ "internalType": "uint256"
1264
1073
  },
1265
1074
  {
1266
- "internalType": "address",
1267
- "name": "erc20TokenAddress",
1268
- "type": "address"
1075
+ "name": "handlerContract",
1076
+ "type": "address",
1077
+ "internalType": "address"
1269
1078
  },
1270
1079
  {
1271
- "internalType": "uint256",
1272
- "name": "erc20TokenAmount",
1273
- "type": "uint256"
1080
+ "name": "handlerSelector",
1081
+ "type": "bytes4",
1082
+ "internalType": "bytes4"
1083
+ },
1084
+ {
1085
+ "name": "action",
1086
+ "type": "uint8",
1087
+ "internalType": "enum EngineBlox.TxAction"
1088
+ },
1089
+ {
1090
+ "name": "deadline",
1091
+ "type": "uint256",
1092
+ "internalType": "uint256"
1093
+ },
1094
+ {
1095
+ "name": "maxGasPrice",
1096
+ "type": "uint256",
1097
+ "internalType": "uint256"
1098
+ },
1099
+ {
1100
+ "name": "signer",
1101
+ "type": "address",
1102
+ "internalType": "address"
1274
1103
  }
1275
- ],
1276
- "internalType": "struct EngineBlox.PaymentDetails",
1277
- "name": "payment",
1278
- "type": "tuple"
1104
+ ]
1105
+ },
1106
+ {
1107
+ "name": "message",
1108
+ "type": "bytes32",
1109
+ "internalType": "bytes32"
1110
+ },
1111
+ {
1112
+ "name": "signature",
1113
+ "type": "bytes",
1114
+ "internalType": "bytes"
1115
+ },
1116
+ {
1117
+ "name": "data",
1118
+ "type": "bytes",
1119
+ "internalType": "bytes"
1279
1120
  }
1280
- ],
1281
- "internalType": "struct EngineBlox.TxRecord[]",
1282
- "name": "",
1283
- "type": "tuple[]"
1121
+ ]
1284
1122
  }
1285
1123
  ],
1286
- "stateMutability": "view",
1287
- "type": "function"
1288
- },
1289
- {
1290
- "inputs": [
1291
- {
1292
- "internalType": "address",
1293
- "name": "wallet",
1294
- "type": "address"
1295
- }
1296
- ],
1297
- "name": "getWalletRoles",
1298
- "outputs": [
1299
- {
1300
- "internalType": "bytes32[]",
1301
- "name": "",
1302
- "type": "bytes32[]"
1303
- }
1304
- ],
1305
- "stateMutability": "view",
1306
- "type": "function"
1124
+ "stateMutability": "view"
1307
1125
  },
1308
1126
  {
1127
+ "type": "function",
1128
+ "name": "getActiveRolePermissions",
1309
1129
  "inputs": [
1310
1130
  {
1311
- "internalType": "bytes32",
1312
1131
  "name": "roleHash",
1313
- "type": "bytes32"
1132
+ "type": "bytes32",
1133
+ "internalType": "bytes32"
1314
1134
  }
1315
1135
  ],
1316
- "name": "getWalletsInRole",
1317
1136
  "outputs": [
1318
1137
  {
1319
- "internalType": "address[]",
1320
1138
  "name": "",
1321
- "type": "address[]"
1139
+ "type": "tuple[]",
1140
+ "internalType": "struct EngineBlox.FunctionPermission[]",
1141
+ "components": [
1142
+ {
1143
+ "name": "functionSelector",
1144
+ "type": "bytes4",
1145
+ "internalType": "bytes4"
1146
+ },
1147
+ {
1148
+ "name": "grantedActionsBitmap",
1149
+ "type": "uint16",
1150
+ "internalType": "uint16"
1151
+ },
1152
+ {
1153
+ "name": "handlerForSelectors",
1154
+ "type": "bytes4[]",
1155
+ "internalType": "bytes4[]"
1156
+ }
1157
+ ]
1322
1158
  }
1323
1159
  ],
1324
- "stateMutability": "view",
1325
- "type": "function"
1160
+ "stateMutability": "view"
1326
1161
  },
1327
1162
  {
1163
+ "type": "function",
1164
+ "name": "getAuthorizedWallets",
1328
1165
  "inputs": [
1329
1166
  {
1330
- "internalType": "bytes32",
1331
1167
  "name": "roleHash",
1332
- "type": "bytes32"
1333
- },
1334
- {
1335
- "internalType": "address",
1336
- "name": "wallet",
1337
- "type": "address"
1168
+ "type": "bytes32",
1169
+ "internalType": "bytes32"
1338
1170
  }
1339
1171
  ],
1340
- "name": "hasRole",
1341
1172
  "outputs": [
1342
1173
  {
1343
- "internalType": "bool",
1344
1174
  "name": "",
1345
- "type": "bool"
1175
+ "type": "address[]",
1176
+ "internalType": "address[]"
1346
1177
  }
1347
1178
  ],
1348
- "stateMutability": "view",
1349
- "type": "function"
1179
+ "stateMutability": "view"
1350
1180
  },
1351
1181
  {
1182
+ "type": "function",
1183
+ "name": "getBroadcasters",
1352
1184
  "inputs": [],
1353
- "name": "initialized",
1354
1185
  "outputs": [
1355
1186
  {
1356
- "internalType": "bool",
1357
1187
  "name": "",
1358
- "type": "bool"
1188
+ "type": "address[]",
1189
+ "internalType": "address[]"
1359
1190
  }
1360
1191
  ],
1361
- "stateMutability": "view",
1362
- "type": "function"
1192
+ "stateMutability": "view"
1363
1193
  },
1364
1194
  {
1195
+ "type": "function",
1196
+ "name": "getFunctionSchema",
1365
1197
  "inputs": [
1366
1198
  {
1367
- "internalType": "bytes4",
1368
1199
  "name": "functionSelector",
1369
- "type": "bytes4"
1370
- },
1371
- {
1372
- "internalType": "enum EngineBlox.TxAction",
1373
- "name": "action",
1374
- "type": "uint8"
1200
+ "type": "bytes4",
1201
+ "internalType": "bytes4"
1375
1202
  }
1376
1203
  ],
1377
- "name": "isActionSupportedByFunction",
1378
1204
  "outputs": [
1379
1205
  {
1380
- "internalType": "bool",
1381
1206
  "name": "",
1382
- "type": "bool"
1207
+ "type": "tuple",
1208
+ "internalType": "struct EngineBlox.FunctionSchema",
1209
+ "components": [
1210
+ {
1211
+ "name": "functionSignature",
1212
+ "type": "string",
1213
+ "internalType": "string"
1214
+ },
1215
+ {
1216
+ "name": "functionSelector",
1217
+ "type": "bytes4",
1218
+ "internalType": "bytes4"
1219
+ },
1220
+ {
1221
+ "name": "operationType",
1222
+ "type": "bytes32",
1223
+ "internalType": "bytes32"
1224
+ },
1225
+ {
1226
+ "name": "operationName",
1227
+ "type": "string",
1228
+ "internalType": "string"
1229
+ },
1230
+ {
1231
+ "name": "supportedActionsBitmap",
1232
+ "type": "uint16",
1233
+ "internalType": "uint16"
1234
+ },
1235
+ {
1236
+ "name": "enforceHandlerRelations",
1237
+ "type": "bool",
1238
+ "internalType": "bool"
1239
+ },
1240
+ {
1241
+ "name": "isProtected",
1242
+ "type": "bool",
1243
+ "internalType": "bool"
1244
+ },
1245
+ {
1246
+ "name": "isGrantRevocable",
1247
+ "type": "bool",
1248
+ "internalType": "bool"
1249
+ },
1250
+ {
1251
+ "name": "handlerForSelectors",
1252
+ "type": "bytes4[]",
1253
+ "internalType": "bytes4[]"
1254
+ }
1255
+ ]
1383
1256
  }
1384
1257
  ],
1385
- "stateMutability": "view",
1386
- "type": "function"
1258
+ "stateMutability": "view"
1387
1259
  },
1388
1260
  {
1389
- "inputs": [],
1390
- "name": "owner",
1391
- "outputs": [
1261
+ "type": "function",
1262
+ "name": "getFunctionWhitelistTargets",
1263
+ "inputs": [
1392
1264
  {
1393
- "internalType": "address",
1394
- "name": "",
1395
- "type": "address"
1265
+ "name": "functionSelector",
1266
+ "type": "bytes4",
1267
+ "internalType": "bytes4"
1396
1268
  }
1397
1269
  ],
1398
- "stateMutability": "view",
1399
- "type": "function"
1400
- },
1401
- {
1402
- "inputs": [
1403
- {
1404
- "internalType": "address",
1405
- "name": "initialOwner",
1406
- "type": "address"
1407
- },
1408
- {
1409
- "internalType": "address",
1410
- "name": "broadcaster",
1411
- "type": "address"
1412
- },
1413
- {
1414
- "internalType": "address",
1415
- "name": "recovery",
1416
- "type": "address"
1417
- },
1418
- {
1419
- "internalType": "uint256",
1420
- "name": "timeLockPeriodSec",
1421
- "type": "uint256"
1422
- },
1270
+ "outputs": [
1423
1271
  {
1424
- "internalType": "address",
1425
- "name": "eventForwarder",
1426
- "type": "address"
1272
+ "name": "",
1273
+ "type": "address[]",
1274
+ "internalType": "address[]"
1427
1275
  }
1428
1276
  ],
1429
- "name": "initialize",
1430
- "outputs": [],
1431
- "stateMutability": "nonpayable",
1432
- "type": "function"
1277
+ "stateMutability": "view"
1433
1278
  },
1434
1279
  {
1280
+ "type": "function",
1281
+ "name": "getHooks",
1435
1282
  "inputs": [
1436
1283
  {
1437
- "internalType": "bytes4",
1438
- "name": "interfaceId",
1439
- "type": "bytes4"
1284
+ "name": "functionSelector",
1285
+ "type": "bytes4",
1286
+ "internalType": "bytes4"
1440
1287
  }
1441
1288
  ],
1442
- "name": "supportsInterface",
1443
1289
  "outputs": [
1444
1290
  {
1445
- "internalType": "bool",
1446
- "name": "",
1447
- "type": "bool"
1291
+ "name": "hooks",
1292
+ "type": "address[]",
1293
+ "internalType": "address[]"
1448
1294
  }
1449
1295
  ],
1450
- "stateMutability": "view",
1451
- "type": "function"
1296
+ "stateMutability": "view"
1452
1297
  },
1453
1298
  {
1454
- "inputs": [
1455
- {
1456
- "internalType": "address",
1457
- "name": "target",
1458
- "type": "address"
1459
- },
1460
- {
1461
- "internalType": "uint256",
1462
- "name": "value",
1463
- "type": "uint256"
1464
- },
1465
- {
1466
- "internalType": "bytes4",
1467
- "name": "functionSelector",
1468
- "type": "bytes4"
1469
- },
1470
- {
1471
- "internalType": "bytes",
1472
- "name": "params",
1473
- "type": "bytes"
1474
- },
1475
- {
1476
- "internalType": "uint256",
1477
- "name": "gasLimit",
1478
- "type": "uint256"
1479
- },
1299
+ "type": "function",
1300
+ "name": "getPendingTransactions",
1301
+ "inputs": [],
1302
+ "outputs": [
1480
1303
  {
1481
- "internalType": "bytes32",
1482
- "name": "operationType",
1483
- "type": "bytes32"
1304
+ "name": "",
1305
+ "type": "uint256[]",
1306
+ "internalType": "uint256[]"
1484
1307
  }
1485
1308
  ],
1486
- "name": "executeWithTimeLock",
1309
+ "stateMutability": "view"
1310
+ },
1311
+ {
1312
+ "type": "function",
1313
+ "name": "getRecovery",
1314
+ "inputs": [],
1487
1315
  "outputs": [
1488
1316
  {
1489
- "internalType": "uint256",
1490
- "name": "txId",
1491
- "type": "uint256"
1317
+ "name": "",
1318
+ "type": "address",
1319
+ "internalType": "address"
1492
1320
  }
1493
1321
  ],
1494
- "stateMutability": "nonpayable",
1495
- "type": "function"
1322
+ "stateMutability": "view"
1496
1323
  },
1497
1324
  {
1325
+ "type": "function",
1326
+ "name": "getRole",
1498
1327
  "inputs": [
1499
1328
  {
1500
- "internalType": "address",
1501
- "name": "target",
1502
- "type": "address"
1503
- },
1504
- {
1505
- "internalType": "uint256",
1506
- "name": "value",
1507
- "type": "uint256"
1508
- },
1509
- {
1510
- "internalType": "bytes4",
1511
- "name": "functionSelector",
1512
- "type": "bytes4"
1513
- },
1329
+ "name": "roleHash",
1330
+ "type": "bytes32",
1331
+ "internalType": "bytes32"
1332
+ }
1333
+ ],
1334
+ "outputs": [
1514
1335
  {
1515
- "internalType": "bytes",
1516
- "name": "params",
1517
- "type": "bytes"
1336
+ "name": "roleName",
1337
+ "type": "string",
1338
+ "internalType": "string"
1518
1339
  },
1519
1340
  {
1520
- "internalType": "uint256",
1521
- "name": "gasLimit",
1522
- "type": "uint256"
1341
+ "name": "hash",
1342
+ "type": "bytes32",
1343
+ "internalType": "bytes32"
1523
1344
  },
1524
1345
  {
1525
- "internalType": "bytes32",
1526
- "name": "operationType",
1527
- "type": "bytes32"
1346
+ "name": "maxWallets",
1347
+ "type": "uint256",
1348
+ "internalType": "uint256"
1528
1349
  },
1529
- {
1530
- "components": [
1531
- {
1532
- "internalType": "address",
1533
- "name": "recipient",
1534
- "type": "address"
1535
- },
1536
- {
1537
- "internalType": "uint256",
1538
- "name": "nativeTokenAmount",
1539
- "type": "uint256"
1540
- },
1541
- {
1542
- "internalType": "address",
1543
- "name": "erc20TokenAddress",
1544
- "type": "address"
1545
- },
1546
- {
1547
- "internalType": "uint256",
1548
- "name": "erc20TokenAmount",
1549
- "type": "uint256"
1550
- }
1551
- ],
1552
- "internalType": "struct EngineBlox.PaymentDetails",
1553
- "name": "paymentDetails",
1554
- "type": "tuple"
1350
+ {
1351
+ "name": "walletCount",
1352
+ "type": "uint256",
1353
+ "internalType": "uint256"
1354
+ },
1355
+ {
1356
+ "name": "isProtected",
1357
+ "type": "bool",
1358
+ "internalType": "bool"
1359
+ }
1360
+ ],
1361
+ "stateMutability": "view"
1362
+ },
1363
+ {
1364
+ "type": "function",
1365
+ "name": "getSignerNonce",
1366
+ "inputs": [
1367
+ {
1368
+ "name": "signer",
1369
+ "type": "address",
1370
+ "internalType": "address"
1555
1371
  }
1556
1372
  ],
1557
- "name": "executeWithPayment",
1558
1373
  "outputs": [
1559
1374
  {
1560
- "internalType": "uint256",
1561
- "name": "txId",
1562
- "type": "uint256"
1375
+ "name": "",
1376
+ "type": "uint256",
1377
+ "internalType": "uint256"
1563
1378
  }
1564
1379
  ],
1565
- "stateMutability": "nonpayable",
1566
- "type": "function"
1380
+ "stateMutability": "view"
1567
1381
  },
1568
1382
  {
1569
- "inputs": [
1383
+ "type": "function",
1384
+ "name": "getSupportedFunctions",
1385
+ "inputs": [],
1386
+ "outputs": [
1570
1387
  {
1571
- "internalType": "uint256",
1572
- "name": "txId",
1573
- "type": "uint256"
1388
+ "name": "",
1389
+ "type": "bytes4[]",
1390
+ "internalType": "bytes4[]"
1574
1391
  }
1575
1392
  ],
1576
- "name": "approveTimeLockExecution",
1393
+ "stateMutability": "view"
1394
+ },
1395
+ {
1396
+ "type": "function",
1397
+ "name": "getSupportedOperationTypes",
1398
+ "inputs": [],
1577
1399
  "outputs": [
1578
1400
  {
1579
- "internalType": "uint256",
1580
1401
  "name": "",
1581
- "type": "uint256"
1402
+ "type": "bytes32[]",
1403
+ "internalType": "bytes32[]"
1582
1404
  }
1583
1405
  ],
1584
- "stateMutability": "nonpayable",
1585
- "type": "function"
1406
+ "stateMutability": "view"
1586
1407
  },
1587
1408
  {
1588
- "inputs": [
1409
+ "type": "function",
1410
+ "name": "getSupportedRoles",
1411
+ "inputs": [],
1412
+ "outputs": [
1589
1413
  {
1590
- "internalType": "uint256",
1591
- "name": "txId",
1592
- "type": "uint256"
1414
+ "name": "",
1415
+ "type": "bytes32[]",
1416
+ "internalType": "bytes32[]"
1593
1417
  }
1594
1418
  ],
1595
- "name": "cancelTimeLockExecution",
1419
+ "stateMutability": "view"
1420
+ },
1421
+ {
1422
+ "type": "function",
1423
+ "name": "getTimeLockPeriodSec",
1424
+ "inputs": [],
1596
1425
  "outputs": [
1597
1426
  {
1598
- "internalType": "uint256",
1599
1427
  "name": "",
1600
- "type": "uint256"
1428
+ "type": "uint256",
1429
+ "internalType": "uint256"
1601
1430
  }
1602
1431
  ],
1603
- "stateMutability": "nonpayable",
1604
- "type": "function"
1432
+ "stateMutability": "view"
1605
1433
  },
1606
1434
  {
1435
+ "type": "function",
1436
+ "name": "getTransaction",
1607
1437
  "inputs": [
1608
1438
  {
1439
+ "name": "txId",
1440
+ "type": "uint256",
1441
+ "internalType": "uint256"
1442
+ }
1443
+ ],
1444
+ "outputs": [
1445
+ {
1446
+ "name": "",
1447
+ "type": "tuple",
1448
+ "internalType": "struct EngineBlox.TxRecord",
1609
1449
  "components": [
1610
1450
  {
1451
+ "name": "txId",
1452
+ "type": "uint256",
1453
+ "internalType": "uint256"
1454
+ },
1455
+ {
1456
+ "name": "releaseTime",
1457
+ "type": "uint256",
1458
+ "internalType": "uint256"
1459
+ },
1460
+ {
1461
+ "name": "status",
1462
+ "type": "uint8",
1463
+ "internalType": "enum EngineBlox.TxStatus"
1464
+ },
1465
+ {
1466
+ "name": "params",
1467
+ "type": "tuple",
1468
+ "internalType": "struct EngineBlox.TxParams",
1611
1469
  "components": [
1612
1470
  {
1613
- "internalType": "uint256",
1614
- "name": "txId",
1615
- "type": "uint256"
1471
+ "name": "requester",
1472
+ "type": "address",
1473
+ "internalType": "address"
1616
1474
  },
1617
1475
  {
1618
- "internalType": "uint256",
1619
- "name": "releaseTime",
1620
- "type": "uint256"
1476
+ "name": "target",
1477
+ "type": "address",
1478
+ "internalType": "address"
1621
1479
  },
1622
1480
  {
1623
- "internalType": "enum EngineBlox.TxStatus",
1624
- "name": "status",
1625
- "type": "uint8"
1481
+ "name": "value",
1482
+ "type": "uint256",
1483
+ "internalType": "uint256"
1626
1484
  },
1627
1485
  {
1628
- "components": [
1629
- {
1630
- "internalType": "address",
1631
- "name": "requester",
1632
- "type": "address"
1633
- },
1634
- {
1635
- "internalType": "address",
1636
- "name": "target",
1637
- "type": "address"
1638
- },
1639
- {
1640
- "internalType": "uint256",
1641
- "name": "value",
1642
- "type": "uint256"
1643
- },
1644
- {
1645
- "internalType": "uint256",
1646
- "name": "gasLimit",
1647
- "type": "uint256"
1648
- },
1649
- {
1650
- "internalType": "bytes32",
1651
- "name": "operationType",
1652
- "type": "bytes32"
1653
- },
1654
- {
1655
- "internalType": "bytes4",
1656
- "name": "executionSelector",
1657
- "type": "bytes4"
1658
- },
1659
- {
1660
- "internalType": "bytes",
1661
- "name": "executionParams",
1662
- "type": "bytes"
1663
- }
1664
- ],
1665
- "internalType": "struct EngineBlox.TxParams",
1666
- "name": "params",
1667
- "type": "tuple"
1486
+ "name": "gasLimit",
1487
+ "type": "uint256",
1488
+ "internalType": "uint256"
1668
1489
  },
1669
1490
  {
1670
- "internalType": "bytes32",
1671
- "name": "message",
1672
- "type": "bytes32"
1491
+ "name": "operationType",
1492
+ "type": "bytes32",
1493
+ "internalType": "bytes32"
1673
1494
  },
1674
1495
  {
1675
- "internalType": "bytes",
1676
- "name": "result",
1677
- "type": "bytes"
1496
+ "name": "executionSelector",
1497
+ "type": "bytes4",
1498
+ "internalType": "bytes4"
1678
1499
  },
1679
1500
  {
1680
- "components": [
1681
- {
1682
- "internalType": "address",
1683
- "name": "recipient",
1684
- "type": "address"
1685
- },
1686
- {
1687
- "internalType": "uint256",
1688
- "name": "nativeTokenAmount",
1689
- "type": "uint256"
1690
- },
1691
- {
1692
- "internalType": "address",
1693
- "name": "erc20TokenAddress",
1694
- "type": "address"
1695
- },
1696
- {
1697
- "internalType": "uint256",
1698
- "name": "erc20TokenAmount",
1699
- "type": "uint256"
1700
- }
1701
- ],
1702
- "internalType": "struct EngineBlox.PaymentDetails",
1703
- "name": "payment",
1704
- "type": "tuple"
1501
+ "name": "executionParams",
1502
+ "type": "bytes",
1503
+ "internalType": "bytes"
1705
1504
  }
1706
- ],
1707
- "internalType": "struct EngineBlox.TxRecord",
1708
- "name": "txRecord",
1709
- "type": "tuple"
1505
+ ]
1506
+ },
1507
+ {
1508
+ "name": "message",
1509
+ "type": "bytes32",
1510
+ "internalType": "bytes32"
1710
1511
  },
1711
1512
  {
1513
+ "name": "resultHash",
1514
+ "type": "bytes32",
1515
+ "internalType": "bytes32"
1516
+ },
1517
+ {
1518
+ "name": "payment",
1519
+ "type": "tuple",
1520
+ "internalType": "struct EngineBlox.PaymentDetails",
1712
1521
  "components": [
1713
1522
  {
1714
- "internalType": "uint256",
1715
- "name": "chainId",
1716
- "type": "uint256"
1717
- },
1718
- {
1719
- "internalType": "uint256",
1720
- "name": "nonce",
1721
- "type": "uint256"
1722
- },
1723
- {
1724
- "internalType": "address",
1725
- "name": "handlerContract",
1726
- "type": "address"
1727
- },
1728
- {
1729
- "internalType": "bytes4",
1730
- "name": "handlerSelector",
1731
- "type": "bytes4"
1732
- },
1733
- {
1734
- "internalType": "enum EngineBlox.TxAction",
1735
- "name": "action",
1736
- "type": "uint8"
1523
+ "name": "recipient",
1524
+ "type": "address",
1525
+ "internalType": "address"
1737
1526
  },
1738
1527
  {
1739
- "internalType": "uint256",
1740
- "name": "deadline",
1741
- "type": "uint256"
1528
+ "name": "nativeTokenAmount",
1529
+ "type": "uint256",
1530
+ "internalType": "uint256"
1742
1531
  },
1743
1532
  {
1744
- "internalType": "uint256",
1745
- "name": "maxGasPrice",
1746
- "type": "uint256"
1533
+ "name": "erc20TokenAddress",
1534
+ "type": "address",
1535
+ "internalType": "address"
1747
1536
  },
1748
1537
  {
1749
- "internalType": "address",
1750
- "name": "signer",
1751
- "type": "address"
1538
+ "name": "erc20TokenAmount",
1539
+ "type": "uint256",
1540
+ "internalType": "uint256"
1752
1541
  }
1753
- ],
1754
- "internalType": "struct EngineBlox.MetaTxParams",
1755
- "name": "params",
1756
- "type": "tuple"
1757
- },
1758
- {
1759
- "internalType": "bytes32",
1760
- "name": "message",
1761
- "type": "bytes32"
1762
- },
1763
- {
1764
- "internalType": "bytes",
1765
- "name": "signature",
1766
- "type": "bytes"
1767
- },
1768
- {
1769
- "internalType": "bytes",
1770
- "name": "data",
1771
- "type": "bytes"
1542
+ ]
1772
1543
  }
1773
- ],
1774
- "internalType": "struct EngineBlox.MetaTransaction",
1775
- "name": "metaTx",
1776
- "type": "tuple"
1777
- }
1778
- ],
1779
- "name": "approveTimeLockExecutionWithMetaTx",
1780
- "outputs": [
1781
- {
1782
- "internalType": "uint256",
1783
- "name": "",
1784
- "type": "uint256"
1544
+ ]
1785
1545
  }
1786
1546
  ],
1787
- "stateMutability": "nonpayable",
1788
- "type": "function"
1547
+ "stateMutability": "view"
1789
1548
  },
1790
1549
  {
1550
+ "type": "function",
1551
+ "name": "getTransactionHistory",
1791
1552
  "inputs": [
1792
1553
  {
1554
+ "name": "fromTxId",
1555
+ "type": "uint256",
1556
+ "internalType": "uint256"
1557
+ },
1558
+ {
1559
+ "name": "toTxId",
1560
+ "type": "uint256",
1561
+ "internalType": "uint256"
1562
+ }
1563
+ ],
1564
+ "outputs": [
1565
+ {
1566
+ "name": "",
1567
+ "type": "tuple[]",
1568
+ "internalType": "struct EngineBlox.TxRecord[]",
1793
1569
  "components": [
1794
1570
  {
1571
+ "name": "txId",
1572
+ "type": "uint256",
1573
+ "internalType": "uint256"
1574
+ },
1575
+ {
1576
+ "name": "releaseTime",
1577
+ "type": "uint256",
1578
+ "internalType": "uint256"
1579
+ },
1580
+ {
1581
+ "name": "status",
1582
+ "type": "uint8",
1583
+ "internalType": "enum EngineBlox.TxStatus"
1584
+ },
1585
+ {
1586
+ "name": "params",
1587
+ "type": "tuple",
1588
+ "internalType": "struct EngineBlox.TxParams",
1795
1589
  "components": [
1796
1590
  {
1797
- "internalType": "uint256",
1798
- "name": "txId",
1799
- "type": "uint256"
1591
+ "name": "requester",
1592
+ "type": "address",
1593
+ "internalType": "address"
1800
1594
  },
1801
1595
  {
1802
- "internalType": "uint256",
1803
- "name": "releaseTime",
1804
- "type": "uint256"
1596
+ "name": "target",
1597
+ "type": "address",
1598
+ "internalType": "address"
1805
1599
  },
1806
1600
  {
1807
- "internalType": "enum EngineBlox.TxStatus",
1808
- "name": "status",
1809
- "type": "uint8"
1601
+ "name": "value",
1602
+ "type": "uint256",
1603
+ "internalType": "uint256"
1810
1604
  },
1811
1605
  {
1812
- "components": [
1813
- {
1814
- "internalType": "address",
1815
- "name": "requester",
1816
- "type": "address"
1817
- },
1818
- {
1819
- "internalType": "address",
1820
- "name": "target",
1821
- "type": "address"
1822
- },
1823
- {
1824
- "internalType": "uint256",
1825
- "name": "value",
1826
- "type": "uint256"
1827
- },
1828
- {
1829
- "internalType": "uint256",
1830
- "name": "gasLimit",
1831
- "type": "uint256"
1832
- },
1833
- {
1834
- "internalType": "bytes32",
1835
- "name": "operationType",
1836
- "type": "bytes32"
1837
- },
1838
- {
1839
- "internalType": "bytes4",
1840
- "name": "executionSelector",
1841
- "type": "bytes4"
1842
- },
1843
- {
1844
- "internalType": "bytes",
1845
- "name": "executionParams",
1846
- "type": "bytes"
1847
- }
1848
- ],
1849
- "internalType": "struct EngineBlox.TxParams",
1850
- "name": "params",
1851
- "type": "tuple"
1606
+ "name": "gasLimit",
1607
+ "type": "uint256",
1608
+ "internalType": "uint256"
1852
1609
  },
1853
1610
  {
1854
- "internalType": "bytes32",
1855
- "name": "message",
1856
- "type": "bytes32"
1611
+ "name": "operationType",
1612
+ "type": "bytes32",
1613
+ "internalType": "bytes32"
1857
1614
  },
1858
1615
  {
1859
- "internalType": "bytes",
1860
- "name": "result",
1861
- "type": "bytes"
1616
+ "name": "executionSelector",
1617
+ "type": "bytes4",
1618
+ "internalType": "bytes4"
1862
1619
  },
1863
1620
  {
1864
- "components": [
1865
- {
1866
- "internalType": "address",
1867
- "name": "recipient",
1868
- "type": "address"
1869
- },
1870
- {
1871
- "internalType": "uint256",
1872
- "name": "nativeTokenAmount",
1873
- "type": "uint256"
1874
- },
1875
- {
1876
- "internalType": "address",
1877
- "name": "erc20TokenAddress",
1878
- "type": "address"
1879
- },
1880
- {
1881
- "internalType": "uint256",
1882
- "name": "erc20TokenAmount",
1883
- "type": "uint256"
1884
- }
1885
- ],
1886
- "internalType": "struct EngineBlox.PaymentDetails",
1887
- "name": "payment",
1888
- "type": "tuple"
1621
+ "name": "executionParams",
1622
+ "type": "bytes",
1623
+ "internalType": "bytes"
1889
1624
  }
1890
- ],
1891
- "internalType": "struct EngineBlox.TxRecord",
1892
- "name": "txRecord",
1893
- "type": "tuple"
1625
+ ]
1626
+ },
1627
+ {
1628
+ "name": "message",
1629
+ "type": "bytes32",
1630
+ "internalType": "bytes32"
1894
1631
  },
1895
1632
  {
1633
+ "name": "resultHash",
1634
+ "type": "bytes32",
1635
+ "internalType": "bytes32"
1636
+ },
1637
+ {
1638
+ "name": "payment",
1639
+ "type": "tuple",
1640
+ "internalType": "struct EngineBlox.PaymentDetails",
1896
1641
  "components": [
1897
1642
  {
1898
- "internalType": "uint256",
1899
- "name": "chainId",
1900
- "type": "uint256"
1901
- },
1902
- {
1903
- "internalType": "uint256",
1904
- "name": "nonce",
1905
- "type": "uint256"
1906
- },
1907
- {
1908
- "internalType": "address",
1909
- "name": "handlerContract",
1910
- "type": "address"
1911
- },
1912
- {
1913
- "internalType": "bytes4",
1914
- "name": "handlerSelector",
1915
- "type": "bytes4"
1916
- },
1917
- {
1918
- "internalType": "enum EngineBlox.TxAction",
1919
- "name": "action",
1920
- "type": "uint8"
1643
+ "name": "recipient",
1644
+ "type": "address",
1645
+ "internalType": "address"
1921
1646
  },
1922
1647
  {
1923
- "internalType": "uint256",
1924
- "name": "deadline",
1925
- "type": "uint256"
1648
+ "name": "nativeTokenAmount",
1649
+ "type": "uint256",
1650
+ "internalType": "uint256"
1926
1651
  },
1927
1652
  {
1928
- "internalType": "uint256",
1929
- "name": "maxGasPrice",
1930
- "type": "uint256"
1653
+ "name": "erc20TokenAddress",
1654
+ "type": "address",
1655
+ "internalType": "address"
1931
1656
  },
1932
1657
  {
1933
- "internalType": "address",
1934
- "name": "signer",
1935
- "type": "address"
1658
+ "name": "erc20TokenAmount",
1659
+ "type": "uint256",
1660
+ "internalType": "uint256"
1936
1661
  }
1937
- ],
1938
- "internalType": "struct EngineBlox.MetaTxParams",
1939
- "name": "params",
1940
- "type": "tuple"
1941
- },
1942
- {
1943
- "internalType": "bytes32",
1944
- "name": "message",
1945
- "type": "bytes32"
1946
- },
1947
- {
1948
- "internalType": "bytes",
1949
- "name": "signature",
1950
- "type": "bytes"
1951
- },
1952
- {
1953
- "internalType": "bytes",
1954
- "name": "data",
1955
- "type": "bytes"
1662
+ ]
1956
1663
  }
1957
- ],
1958
- "internalType": "struct EngineBlox.MetaTransaction",
1959
- "name": "metaTx",
1960
- "type": "tuple"
1664
+ ]
1665
+ }
1666
+ ],
1667
+ "stateMutability": "view"
1668
+ },
1669
+ {
1670
+ "type": "function",
1671
+ "name": "getWalletRoles",
1672
+ "inputs": [
1673
+ {
1674
+ "name": "wallet",
1675
+ "type": "address",
1676
+ "internalType": "address"
1961
1677
  }
1962
1678
  ],
1963
- "name": "cancelTimeLockExecutionWithMetaTx",
1964
1679
  "outputs": [
1965
1680
  {
1966
- "internalType": "uint256",
1967
1681
  "name": "",
1968
- "type": "uint256"
1682
+ "type": "bytes32[]",
1683
+ "internalType": "bytes32[]"
1969
1684
  }
1970
1685
  ],
1971
- "stateMutability": "nonpayable",
1972
- "type": "function"
1686
+ "stateMutability": "view"
1973
1687
  },
1974
1688
  {
1689
+ "type": "function",
1690
+ "name": "guardConfigBatchRequestAndApprove",
1975
1691
  "inputs": [
1976
1692
  {
1693
+ "name": "metaTx",
1694
+ "type": "tuple",
1695
+ "internalType": "struct EngineBlox.MetaTransaction",
1977
1696
  "components": [
1978
1697
  {
1698
+ "name": "txRecord",
1699
+ "type": "tuple",
1700
+ "internalType": "struct EngineBlox.TxRecord",
1979
1701
  "components": [
1980
1702
  {
1981
- "internalType": "uint256",
1982
1703
  "name": "txId",
1983
- "type": "uint256"
1704
+ "type": "uint256",
1705
+ "internalType": "uint256"
1984
1706
  },
1985
1707
  {
1986
- "internalType": "uint256",
1987
1708
  "name": "releaseTime",
1988
- "type": "uint256"
1709
+ "type": "uint256",
1710
+ "internalType": "uint256"
1989
1711
  },
1990
1712
  {
1991
- "internalType": "enum EngineBlox.TxStatus",
1992
1713
  "name": "status",
1993
- "type": "uint8"
1714
+ "type": "uint8",
1715
+ "internalType": "enum EngineBlox.TxStatus"
1994
1716
  },
1995
1717
  {
1718
+ "name": "params",
1719
+ "type": "tuple",
1720
+ "internalType": "struct EngineBlox.TxParams",
1996
1721
  "components": [
1997
1722
  {
1998
- "internalType": "address",
1999
1723
  "name": "requester",
2000
- "type": "address"
1724
+ "type": "address",
1725
+ "internalType": "address"
2001
1726
  },
2002
1727
  {
2003
- "internalType": "address",
2004
1728
  "name": "target",
2005
- "type": "address"
1729
+ "type": "address",
1730
+ "internalType": "address"
2006
1731
  },
2007
1732
  {
2008
- "internalType": "uint256",
2009
1733
  "name": "value",
2010
- "type": "uint256"
1734
+ "type": "uint256",
1735
+ "internalType": "uint256"
2011
1736
  },
2012
1737
  {
2013
- "internalType": "uint256",
2014
1738
  "name": "gasLimit",
2015
- "type": "uint256"
1739
+ "type": "uint256",
1740
+ "internalType": "uint256"
2016
1741
  },
2017
1742
  {
2018
- "internalType": "bytes32",
2019
1743
  "name": "operationType",
2020
- "type": "bytes32"
1744
+ "type": "bytes32",
1745
+ "internalType": "bytes32"
2021
1746
  },
2022
1747
  {
2023
- "internalType": "bytes4",
2024
1748
  "name": "executionSelector",
2025
- "type": "bytes4"
1749
+ "type": "bytes4",
1750
+ "internalType": "bytes4"
2026
1751
  },
2027
1752
  {
2028
- "internalType": "bytes",
2029
1753
  "name": "executionParams",
2030
- "type": "bytes"
1754
+ "type": "bytes",
1755
+ "internalType": "bytes"
2031
1756
  }
2032
- ],
2033
- "internalType": "struct EngineBlox.TxParams",
2034
- "name": "params",
2035
- "type": "tuple"
1757
+ ]
2036
1758
  },
2037
1759
  {
2038
- "internalType": "bytes32",
2039
1760
  "name": "message",
2040
- "type": "bytes32"
1761
+ "type": "bytes32",
1762
+ "internalType": "bytes32"
2041
1763
  },
2042
1764
  {
2043
- "internalType": "bytes",
2044
- "name": "result",
2045
- "type": "bytes"
1765
+ "name": "resultHash",
1766
+ "type": "bytes32",
1767
+ "internalType": "bytes32"
2046
1768
  },
2047
1769
  {
1770
+ "name": "payment",
1771
+ "type": "tuple",
1772
+ "internalType": "struct EngineBlox.PaymentDetails",
2048
1773
  "components": [
2049
1774
  {
2050
- "internalType": "address",
2051
1775
  "name": "recipient",
2052
- "type": "address"
1776
+ "type": "address",
1777
+ "internalType": "address"
2053
1778
  },
2054
1779
  {
2055
- "internalType": "uint256",
2056
1780
  "name": "nativeTokenAmount",
2057
- "type": "uint256"
1781
+ "type": "uint256",
1782
+ "internalType": "uint256"
2058
1783
  },
2059
1784
  {
2060
- "internalType": "address",
2061
1785
  "name": "erc20TokenAddress",
2062
- "type": "address"
1786
+ "type": "address",
1787
+ "internalType": "address"
2063
1788
  },
2064
1789
  {
2065
- "internalType": "uint256",
2066
1790
  "name": "erc20TokenAmount",
2067
- "type": "uint256"
1791
+ "type": "uint256",
1792
+ "internalType": "uint256"
2068
1793
  }
2069
- ],
2070
- "internalType": "struct EngineBlox.PaymentDetails",
2071
- "name": "payment",
2072
- "type": "tuple"
1794
+ ]
2073
1795
  }
2074
- ],
2075
- "internalType": "struct EngineBlox.TxRecord",
2076
- "name": "txRecord",
2077
- "type": "tuple"
1796
+ ]
2078
1797
  },
2079
1798
  {
1799
+ "name": "params",
1800
+ "type": "tuple",
1801
+ "internalType": "struct EngineBlox.MetaTxParams",
2080
1802
  "components": [
2081
1803
  {
2082
- "internalType": "uint256",
2083
1804
  "name": "chainId",
2084
- "type": "uint256"
1805
+ "type": "uint256",
1806
+ "internalType": "uint256"
2085
1807
  },
2086
1808
  {
2087
- "internalType": "uint256",
2088
1809
  "name": "nonce",
2089
- "type": "uint256"
1810
+ "type": "uint256",
1811
+ "internalType": "uint256"
2090
1812
  },
2091
1813
  {
2092
- "internalType": "address",
2093
1814
  "name": "handlerContract",
2094
- "type": "address"
1815
+ "type": "address",
1816
+ "internalType": "address"
2095
1817
  },
2096
1818
  {
2097
- "internalType": "bytes4",
2098
1819
  "name": "handlerSelector",
2099
- "type": "bytes4"
1820
+ "type": "bytes4",
1821
+ "internalType": "bytes4"
2100
1822
  },
2101
1823
  {
2102
- "internalType": "enum EngineBlox.TxAction",
2103
1824
  "name": "action",
2104
- "type": "uint8"
1825
+ "type": "uint8",
1826
+ "internalType": "enum EngineBlox.TxAction"
2105
1827
  },
2106
1828
  {
2107
- "internalType": "uint256",
2108
1829
  "name": "deadline",
2109
- "type": "uint256"
1830
+ "type": "uint256",
1831
+ "internalType": "uint256"
2110
1832
  },
2111
1833
  {
2112
- "internalType": "uint256",
2113
1834
  "name": "maxGasPrice",
2114
- "type": "uint256"
1835
+ "type": "uint256",
1836
+ "internalType": "uint256"
2115
1837
  },
2116
1838
  {
2117
- "internalType": "address",
2118
1839
  "name": "signer",
2119
- "type": "address"
1840
+ "type": "address",
1841
+ "internalType": "address"
2120
1842
  }
2121
- ],
2122
- "internalType": "struct EngineBlox.MetaTxParams",
2123
- "name": "params",
2124
- "type": "tuple"
1843
+ ]
2125
1844
  },
2126
1845
  {
2127
- "internalType": "bytes32",
2128
1846
  "name": "message",
2129
- "type": "bytes32"
1847
+ "type": "bytes32",
1848
+ "internalType": "bytes32"
2130
1849
  },
2131
1850
  {
2132
- "internalType": "bytes",
2133
1851
  "name": "signature",
2134
- "type": "bytes"
1852
+ "type": "bytes",
1853
+ "internalType": "bytes"
2135
1854
  },
2136
1855
  {
2137
- "internalType": "bytes",
2138
1856
  "name": "data",
2139
- "type": "bytes"
1857
+ "type": "bytes",
1858
+ "internalType": "bytes"
2140
1859
  }
2141
- ],
2142
- "internalType": "struct EngineBlox.MetaTransaction",
2143
- "name": "metaTx",
2144
- "type": "tuple"
1860
+ ]
2145
1861
  }
2146
1862
  ],
2147
- "name": "requestAndApproveExecution",
2148
1863
  "outputs": [
2149
1864
  {
2150
- "internalType": "uint256",
2151
1865
  "name": "",
2152
- "type": "uint256"
1866
+ "type": "uint256",
1867
+ "internalType": "uint256"
1868
+ }
1869
+ ],
1870
+ "stateMutability": "nonpayable"
1871
+ },
1872
+ {
1873
+ "type": "function",
1874
+ "name": "hasRole",
1875
+ "inputs": [
1876
+ {
1877
+ "name": "roleHash",
1878
+ "type": "bytes32",
1879
+ "internalType": "bytes32"
1880
+ },
1881
+ {
1882
+ "name": "wallet",
1883
+ "type": "address",
1884
+ "internalType": "address"
1885
+ }
1886
+ ],
1887
+ "outputs": [
1888
+ {
1889
+ "name": "",
1890
+ "type": "bool",
1891
+ "internalType": "bool"
1892
+ }
1893
+ ],
1894
+ "stateMutability": "view"
1895
+ },
1896
+ {
1897
+ "type": "function",
1898
+ "name": "initialize",
1899
+ "inputs": [
1900
+ {
1901
+ "name": "initialOwner",
1902
+ "type": "address",
1903
+ "internalType": "address"
1904
+ },
1905
+ {
1906
+ "name": "broadcaster",
1907
+ "type": "address",
1908
+ "internalType": "address"
1909
+ },
1910
+ {
1911
+ "name": "recovery",
1912
+ "type": "address",
1913
+ "internalType": "address"
1914
+ },
1915
+ {
1916
+ "name": "timeLockPeriodSec",
1917
+ "type": "uint256",
1918
+ "internalType": "uint256"
1919
+ },
1920
+ {
1921
+ "name": "eventForwarder",
1922
+ "type": "address",
1923
+ "internalType": "address"
1924
+ }
1925
+ ],
1926
+ "outputs": [],
1927
+ "stateMutability": "nonpayable"
1928
+ },
1929
+ {
1930
+ "type": "function",
1931
+ "name": "initialized",
1932
+ "inputs": [],
1933
+ "outputs": [
1934
+ {
1935
+ "name": "",
1936
+ "type": "bool",
1937
+ "internalType": "bool"
1938
+ }
1939
+ ],
1940
+ "stateMutability": "view"
1941
+ },
1942
+ {
1943
+ "type": "function",
1944
+ "name": "owner",
1945
+ "inputs": [],
1946
+ "outputs": [
1947
+ {
1948
+ "name": "",
1949
+ "type": "address",
1950
+ "internalType": "address"
2153
1951
  }
2154
1952
  ],
2155
- "stateMutability": "nonpayable",
2156
- "type": "function"
1953
+ "stateMutability": "view"
2157
1954
  },
2158
1955
  {
1956
+ "type": "function",
1957
+ "name": "requestAndApproveExecution",
2159
1958
  "inputs": [
2160
1959
  {
1960
+ "name": "metaTx",
1961
+ "type": "tuple",
1962
+ "internalType": "struct EngineBlox.MetaTransaction",
2161
1963
  "components": [
2162
1964
  {
1965
+ "name": "txRecord",
1966
+ "type": "tuple",
1967
+ "internalType": "struct EngineBlox.TxRecord",
2163
1968
  "components": [
2164
1969
  {
2165
- "internalType": "uint256",
2166
1970
  "name": "txId",
2167
- "type": "uint256"
1971
+ "type": "uint256",
1972
+ "internalType": "uint256"
2168
1973
  },
2169
1974
  {
2170
- "internalType": "uint256",
2171
1975
  "name": "releaseTime",
2172
- "type": "uint256"
1976
+ "type": "uint256",
1977
+ "internalType": "uint256"
2173
1978
  },
2174
1979
  {
2175
- "internalType": "enum EngineBlox.TxStatus",
2176
1980
  "name": "status",
2177
- "type": "uint8"
1981
+ "type": "uint8",
1982
+ "internalType": "enum EngineBlox.TxStatus"
2178
1983
  },
2179
1984
  {
1985
+ "name": "params",
1986
+ "type": "tuple",
1987
+ "internalType": "struct EngineBlox.TxParams",
2180
1988
  "components": [
2181
1989
  {
2182
- "internalType": "address",
2183
1990
  "name": "requester",
2184
- "type": "address"
1991
+ "type": "address",
1992
+ "internalType": "address"
2185
1993
  },
2186
1994
  {
2187
- "internalType": "address",
2188
1995
  "name": "target",
2189
- "type": "address"
1996
+ "type": "address",
1997
+ "internalType": "address"
2190
1998
  },
2191
1999
  {
2192
- "internalType": "uint256",
2193
2000
  "name": "value",
2194
- "type": "uint256"
2001
+ "type": "uint256",
2002
+ "internalType": "uint256"
2195
2003
  },
2196
2004
  {
2197
- "internalType": "uint256",
2198
2005
  "name": "gasLimit",
2199
- "type": "uint256"
2006
+ "type": "uint256",
2007
+ "internalType": "uint256"
2200
2008
  },
2201
2009
  {
2202
- "internalType": "bytes32",
2203
2010
  "name": "operationType",
2204
- "type": "bytes32"
2011
+ "type": "bytes32",
2012
+ "internalType": "bytes32"
2205
2013
  },
2206
2014
  {
2207
- "internalType": "bytes4",
2208
2015
  "name": "executionSelector",
2209
- "type": "bytes4"
2016
+ "type": "bytes4",
2017
+ "internalType": "bytes4"
2210
2018
  },
2211
2019
  {
2212
- "internalType": "bytes",
2213
2020
  "name": "executionParams",
2214
- "type": "bytes"
2021
+ "type": "bytes",
2022
+ "internalType": "bytes"
2215
2023
  }
2216
- ],
2217
- "internalType": "struct EngineBlox.TxParams",
2218
- "name": "params",
2219
- "type": "tuple"
2024
+ ]
2220
2025
  },
2221
2026
  {
2222
- "internalType": "bytes32",
2223
2027
  "name": "message",
2224
- "type": "bytes32"
2028
+ "type": "bytes32",
2029
+ "internalType": "bytes32"
2225
2030
  },
2226
2031
  {
2227
- "internalType": "bytes",
2228
- "name": "result",
2229
- "type": "bytes"
2032
+ "name": "resultHash",
2033
+ "type": "bytes32",
2034
+ "internalType": "bytes32"
2230
2035
  },
2231
2036
  {
2037
+ "name": "payment",
2038
+ "type": "tuple",
2039
+ "internalType": "struct EngineBlox.PaymentDetails",
2232
2040
  "components": [
2233
2041
  {
2234
- "internalType": "address",
2235
2042
  "name": "recipient",
2236
- "type": "address"
2043
+ "type": "address",
2044
+ "internalType": "address"
2237
2045
  },
2238
2046
  {
2239
- "internalType": "uint256",
2240
2047
  "name": "nativeTokenAmount",
2241
- "type": "uint256"
2048
+ "type": "uint256",
2049
+ "internalType": "uint256"
2242
2050
  },
2243
2051
  {
2244
- "internalType": "address",
2245
2052
  "name": "erc20TokenAddress",
2246
- "type": "address"
2053
+ "type": "address",
2054
+ "internalType": "address"
2247
2055
  },
2248
2056
  {
2249
- "internalType": "uint256",
2250
2057
  "name": "erc20TokenAmount",
2251
- "type": "uint256"
2058
+ "type": "uint256",
2059
+ "internalType": "uint256"
2252
2060
  }
2253
- ],
2254
- "internalType": "struct EngineBlox.PaymentDetails",
2255
- "name": "payment",
2256
- "type": "tuple"
2061
+ ]
2257
2062
  }
2258
- ],
2259
- "internalType": "struct EngineBlox.TxRecord",
2260
- "name": "txRecord",
2261
- "type": "tuple"
2063
+ ]
2262
2064
  },
2263
2065
  {
2066
+ "name": "params",
2067
+ "type": "tuple",
2068
+ "internalType": "struct EngineBlox.MetaTxParams",
2264
2069
  "components": [
2265
2070
  {
2266
- "internalType": "uint256",
2267
2071
  "name": "chainId",
2268
- "type": "uint256"
2072
+ "type": "uint256",
2073
+ "internalType": "uint256"
2269
2074
  },
2270
2075
  {
2271
- "internalType": "uint256",
2272
2076
  "name": "nonce",
2273
- "type": "uint256"
2077
+ "type": "uint256",
2078
+ "internalType": "uint256"
2274
2079
  },
2275
2080
  {
2276
- "internalType": "address",
2277
2081
  "name": "handlerContract",
2278
- "type": "address"
2082
+ "type": "address",
2083
+ "internalType": "address"
2279
2084
  },
2280
2085
  {
2281
- "internalType": "bytes4",
2282
2086
  "name": "handlerSelector",
2283
- "type": "bytes4"
2087
+ "type": "bytes4",
2088
+ "internalType": "bytes4"
2284
2089
  },
2285
2090
  {
2286
- "internalType": "enum EngineBlox.TxAction",
2287
2091
  "name": "action",
2288
- "type": "uint8"
2092
+ "type": "uint8",
2093
+ "internalType": "enum EngineBlox.TxAction"
2289
2094
  },
2290
2095
  {
2291
- "internalType": "uint256",
2292
2096
  "name": "deadline",
2293
- "type": "uint256"
2097
+ "type": "uint256",
2098
+ "internalType": "uint256"
2294
2099
  },
2295
2100
  {
2296
- "internalType": "uint256",
2297
2101
  "name": "maxGasPrice",
2298
- "type": "uint256"
2102
+ "type": "uint256",
2103
+ "internalType": "uint256"
2299
2104
  },
2300
2105
  {
2301
- "internalType": "address",
2302
2106
  "name": "signer",
2303
- "type": "address"
2107
+ "type": "address",
2108
+ "internalType": "address"
2304
2109
  }
2305
- ],
2306
- "internalType": "struct EngineBlox.MetaTxParams",
2307
- "name": "params",
2308
- "type": "tuple"
2110
+ ]
2309
2111
  },
2310
2112
  {
2311
- "internalType": "bytes32",
2312
2113
  "name": "message",
2313
- "type": "bytes32"
2114
+ "type": "bytes32",
2115
+ "internalType": "bytes32"
2314
2116
  },
2315
2117
  {
2316
- "internalType": "bytes",
2317
2118
  "name": "signature",
2318
- "type": "bytes"
2119
+ "type": "bytes",
2120
+ "internalType": "bytes"
2319
2121
  },
2320
2122
  {
2321
- "internalType": "bytes",
2322
2123
  "name": "data",
2323
- "type": "bytes"
2124
+ "type": "bytes",
2125
+ "internalType": "bytes"
2324
2126
  }
2325
- ],
2326
- "internalType": "struct EngineBlox.MetaTransaction",
2327
- "name": "metaTx",
2328
- "type": "tuple"
2127
+ ]
2329
2128
  }
2330
2129
  ],
2331
- "name": "guardConfigBatchRequestAndApprove",
2332
2130
  "outputs": [
2333
2131
  {
2334
- "internalType": "uint256",
2335
2132
  "name": "",
2336
- "type": "uint256"
2133
+ "type": "uint256",
2134
+ "internalType": "uint256"
2337
2135
  }
2338
2136
  ],
2339
- "stateMutability": "nonpayable",
2340
- "type": "function"
2137
+ "stateMutability": "nonpayable"
2341
2138
  },
2342
2139
  {
2140
+ "type": "function",
2141
+ "name": "supportsInterface",
2343
2142
  "inputs": [
2344
2143
  {
2345
- "components": [
2346
- {
2347
- "internalType": "enum IGuardController.GuardConfigActionType",
2348
- "name": "actionType",
2349
- "type": "uint8"
2350
- },
2351
- {
2352
- "internalType": "bytes",
2353
- "name": "data",
2354
- "type": "bytes"
2355
- }
2356
- ],
2357
- "internalType": "struct IGuardController.GuardConfigAction[]",
2358
- "name": "actions",
2359
- "type": "tuple[]"
2144
+ "name": "interfaceId",
2145
+ "type": "bytes4",
2146
+ "internalType": "bytes4"
2360
2147
  }
2361
2148
  ],
2362
- "name": "executeGuardConfigBatch",
2363
- "outputs": [],
2364
- "stateMutability": "nonpayable",
2365
- "type": "function"
2149
+ "outputs": [
2150
+ {
2151
+ "name": "",
2152
+ "type": "bool",
2153
+ "internalType": "bool"
2154
+ }
2155
+ ],
2156
+ "stateMutability": "view"
2157
+ },
2158
+ {
2159
+ "type": "event",
2160
+ "name": "ComponentEvent",
2161
+ "inputs": [
2162
+ {
2163
+ "name": "functionSelector",
2164
+ "type": "bytes4",
2165
+ "indexed": true,
2166
+ "internalType": "bytes4"
2167
+ },
2168
+ {
2169
+ "name": "data",
2170
+ "type": "bytes",
2171
+ "indexed": false,
2172
+ "internalType": "bytes"
2173
+ }
2174
+ ],
2175
+ "anonymous": false
2176
+ },
2177
+ {
2178
+ "type": "event",
2179
+ "name": "Initialized",
2180
+ "inputs": [
2181
+ {
2182
+ "name": "version",
2183
+ "type": "uint64",
2184
+ "indexed": false,
2185
+ "internalType": "uint64"
2186
+ }
2187
+ ],
2188
+ "anonymous": false
2189
+ },
2190
+ {
2191
+ "type": "error",
2192
+ "name": "ArrayLengthMismatch",
2193
+ "inputs": [
2194
+ {
2195
+ "name": "array1Length",
2196
+ "type": "uint256",
2197
+ "internalType": "uint256"
2198
+ },
2199
+ {
2200
+ "name": "array2Length",
2201
+ "type": "uint256",
2202
+ "internalType": "uint256"
2203
+ }
2204
+ ]
2205
+ },
2206
+ {
2207
+ "type": "error",
2208
+ "name": "BatchSizeExceeded",
2209
+ "inputs": [
2210
+ {
2211
+ "name": "currentSize",
2212
+ "type": "uint256",
2213
+ "internalType": "uint256"
2214
+ },
2215
+ {
2216
+ "name": "maxSize",
2217
+ "type": "uint256",
2218
+ "internalType": "uint256"
2219
+ }
2220
+ ]
2221
+ },
2222
+ {
2223
+ "type": "error",
2224
+ "name": "ContractFunctionMustBeProtected",
2225
+ "inputs": [
2226
+ {
2227
+ "name": "functionSelector",
2228
+ "type": "bytes4",
2229
+ "internalType": "bytes4"
2230
+ }
2231
+ ]
2232
+ },
2233
+ {
2234
+ "type": "error",
2235
+ "name": "InternalFunctionNotAccessible",
2236
+ "inputs": [
2237
+ {
2238
+ "name": "functionSelector",
2239
+ "type": "bytes4",
2240
+ "internalType": "bytes4"
2241
+ }
2242
+ ]
2243
+ },
2244
+ {
2245
+ "type": "error",
2246
+ "name": "InvalidInitialization",
2247
+ "inputs": []
2248
+ },
2249
+ {
2250
+ "type": "error",
2251
+ "name": "InvalidPayment",
2252
+ "inputs": []
2253
+ },
2254
+ {
2255
+ "type": "error",
2256
+ "name": "MetaTxHandlerContractMismatch",
2257
+ "inputs": [
2258
+ {
2259
+ "name": "signedContract",
2260
+ "type": "address",
2261
+ "internalType": "address"
2262
+ },
2263
+ {
2264
+ "name": "entryContract",
2265
+ "type": "address",
2266
+ "internalType": "address"
2267
+ }
2268
+ ]
2269
+ },
2270
+ {
2271
+ "type": "error",
2272
+ "name": "MetaTxHandlerSelectorMismatch",
2273
+ "inputs": [
2274
+ {
2275
+ "name": "signedSelector",
2276
+ "type": "bytes4",
2277
+ "internalType": "bytes4"
2278
+ },
2279
+ {
2280
+ "name": "entrySelector",
2281
+ "type": "bytes4",
2282
+ "internalType": "bytes4"
2283
+ }
2284
+ ]
2285
+ },
2286
+ {
2287
+ "type": "error",
2288
+ "name": "NoPermission",
2289
+ "inputs": [
2290
+ {
2291
+ "name": "caller",
2292
+ "type": "address",
2293
+ "internalType": "address"
2294
+ }
2295
+ ]
2296
+ },
2297
+ {
2298
+ "type": "error",
2299
+ "name": "NotInitializing",
2300
+ "inputs": []
2301
+ },
2302
+ {
2303
+ "type": "error",
2304
+ "name": "NotSupported",
2305
+ "inputs": []
2306
+ },
2307
+ {
2308
+ "type": "error",
2309
+ "name": "OnlyCallableByContract",
2310
+ "inputs": [
2311
+ {
2312
+ "name": "caller",
2313
+ "type": "address",
2314
+ "internalType": "address"
2315
+ },
2316
+ {
2317
+ "name": "contractAddress",
2318
+ "type": "address",
2319
+ "internalType": "address"
2320
+ }
2321
+ ]
2322
+ },
2323
+ {
2324
+ "type": "error",
2325
+ "name": "RangeSizeExceeded",
2326
+ "inputs": [
2327
+ {
2328
+ "name": "rangeSize",
2329
+ "type": "uint256",
2330
+ "internalType": "uint256"
2331
+ },
2332
+ {
2333
+ "name": "maxRangeSize",
2334
+ "type": "uint256",
2335
+ "internalType": "uint256"
2336
+ }
2337
+ ]
2338
+ },
2339
+ {
2340
+ "type": "error",
2341
+ "name": "ReentrancyGuardReentrantCall",
2342
+ "inputs": []
2343
+ },
2344
+ {
2345
+ "type": "error",
2346
+ "name": "ResourceNotFound",
2347
+ "inputs": [
2348
+ {
2349
+ "name": "resourceId",
2350
+ "type": "bytes32",
2351
+ "internalType": "bytes32"
2352
+ }
2353
+ ]
2366
2354
  }
2367
2355
  ]