@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,1345 +1,1296 @@
1
1
  [
2
2
  {
3
- "inputs": [],
4
- "name": "InvalidInitialization",
5
- "type": "error"
6
- },
7
- {
8
- "inputs": [
9
- {
10
- "internalType": "uint256",
11
- "name": "from",
12
- "type": "uint256"
13
- },
14
- {
15
- "internalType": "uint256",
16
- "name": "to",
17
- "type": "uint256"
18
- }
19
- ],
20
- "name": "InvalidRange",
21
- "type": "error"
22
- },
23
- {
24
- "inputs": [
25
- {
26
- "internalType": "address",
27
- "name": "caller",
28
- "type": "address"
29
- }
30
- ],
31
- "name": "NoPermission",
32
- "type": "error"
33
- },
34
- {
35
- "inputs": [],
36
- "name": "NotInitializing",
37
- "type": "error"
38
- },
39
- {
40
- "inputs": [
41
- {
42
- "internalType": "uint256",
43
- "name": "rangeSize",
44
- "type": "uint256"
45
- },
46
- {
47
- "internalType": "uint256",
48
- "name": "maxRangeSize",
49
- "type": "uint256"
50
- }
51
- ],
52
- "name": "RangeSizeExceeded",
53
- "type": "error"
54
- },
55
- {
56
- "inputs": [],
57
- "name": "ReentrancyGuardReentrantCall",
58
- "type": "error"
59
- },
60
- {
61
- "inputs": [
62
- {
63
- "internalType": "bytes32",
64
- "name": "resourceId",
65
- "type": "bytes32"
66
- }
67
- ],
68
- "name": "ResourceNotFound",
69
- "type": "error"
70
- },
71
- {
72
- "anonymous": false,
73
- "inputs": [
74
- {
75
- "indexed": true,
76
- "internalType": "bytes4",
77
- "name": "functionSelector",
78
- "type": "bytes4"
79
- },
80
- {
81
- "indexed": false,
82
- "internalType": "bytes",
83
- "name": "data",
84
- "type": "bytes"
85
- }
86
- ],
87
- "name": "ComponentEvent",
88
- "type": "event"
89
- },
90
- {
91
- "anonymous": false,
92
- "inputs": [
93
- {
94
- "indexed": false,
95
- "internalType": "uint64",
96
- "name": "version",
97
- "type": "uint64"
98
- }
99
- ],
100
- "name": "Initialized",
101
- "type": "event"
102
- },
103
- {
104
- "inputs": [],
105
- "name": "owner",
106
- "outputs": [
107
- {
108
- "internalType": "address",
109
- "name": "",
110
- "type": "address"
111
- }
112
- ],
113
- "stateMutability": "view",
114
- "type": "function"
115
- },
116
- {
117
- "inputs": [],
118
- "name": "getBroadcasters",
119
- "outputs": [
120
- {
121
- "internalType": "address[]",
122
- "name": "",
123
- "type": "address[]"
124
- }
125
- ],
126
- "stateMutability": "view",
127
- "type": "function"
128
- },
129
- {
130
- "inputs": [],
131
- "name": "getRecovery",
132
- "outputs": [
133
- {
134
- "internalType": "address",
135
- "name": "",
136
- "type": "address"
137
- }
138
- ],
139
- "stateMutability": "view",
140
- "type": "function"
141
- },
142
- {
143
- "inputs": [
144
- {
145
- "internalType": "bytes4",
146
- "name": "interfaceId",
147
- "type": "bytes4"
148
- }
149
- ],
150
- "name": "supportsInterface",
151
- "outputs": [
152
- {
153
- "internalType": "bool",
154
- "name": "",
155
- "type": "bool"
156
- }
157
- ],
158
- "stateMutability": "view",
159
- "type": "function"
160
- },
161
- {
162
- "inputs": [
163
- {
164
- "internalType": "bytes4",
165
- "name": "functionSelector",
166
- "type": "bytes4"
167
- }
168
- ],
169
- "name": "getHooks",
170
- "outputs": [
171
- {
172
- "internalType": "address[]",
173
- "name": "hooks",
174
- "type": "address[]"
175
- }
176
- ],
177
- "stateMutability": "view",
178
- "type": "function"
179
- },
180
- {
3
+ "type": "function",
4
+ "name": "createMetaTxParams",
181
5
  "inputs": [
182
6
  {
183
- "internalType": "address",
184
7
  "name": "handlerContract",
185
- "type": "address"
8
+ "type": "address",
9
+ "internalType": "address"
186
10
  },
187
11
  {
188
- "internalType": "bytes4",
189
12
  "name": "handlerSelector",
190
- "type": "bytes4"
13
+ "type": "bytes4",
14
+ "internalType": "bytes4"
191
15
  },
192
16
  {
193
- "internalType": "enum EngineBlox.TxAction",
194
17
  "name": "action",
195
- "type": "uint8"
18
+ "type": "uint8",
19
+ "internalType": "enum EngineBlox.TxAction"
196
20
  },
197
21
  {
198
- "internalType": "uint256",
199
22
  "name": "deadline",
200
- "type": "uint256"
23
+ "type": "uint256",
24
+ "internalType": "uint256"
201
25
  },
202
26
  {
203
- "internalType": "uint256",
204
27
  "name": "maxGasPrice",
205
- "type": "uint256"
28
+ "type": "uint256",
29
+ "internalType": "uint256"
206
30
  },
207
31
  {
208
- "internalType": "address",
209
32
  "name": "signer",
210
- "type": "address"
33
+ "type": "address",
34
+ "internalType": "address"
211
35
  }
212
36
  ],
213
- "name": "createMetaTxParams",
214
37
  "outputs": [
215
38
  {
39
+ "name": "",
40
+ "type": "tuple",
41
+ "internalType": "struct EngineBlox.MetaTxParams",
216
42
  "components": [
217
43
  {
218
- "internalType": "uint256",
219
44
  "name": "chainId",
220
- "type": "uint256"
45
+ "type": "uint256",
46
+ "internalType": "uint256"
221
47
  },
222
48
  {
223
- "internalType": "uint256",
224
49
  "name": "nonce",
225
- "type": "uint256"
50
+ "type": "uint256",
51
+ "internalType": "uint256"
226
52
  },
227
53
  {
228
- "internalType": "address",
229
54
  "name": "handlerContract",
230
- "type": "address"
55
+ "type": "address",
56
+ "internalType": "address"
231
57
  },
232
58
  {
233
- "internalType": "bytes4",
234
59
  "name": "handlerSelector",
235
- "type": "bytes4"
60
+ "type": "bytes4",
61
+ "internalType": "bytes4"
236
62
  },
237
63
  {
238
- "internalType": "enum EngineBlox.TxAction",
239
64
  "name": "action",
240
- "type": "uint8"
65
+ "type": "uint8",
66
+ "internalType": "enum EngineBlox.TxAction"
241
67
  },
242
68
  {
243
- "internalType": "uint256",
244
69
  "name": "deadline",
245
- "type": "uint256"
70
+ "type": "uint256",
71
+ "internalType": "uint256"
246
72
  },
247
73
  {
248
- "internalType": "uint256",
249
74
  "name": "maxGasPrice",
250
- "type": "uint256"
75
+ "type": "uint256",
76
+ "internalType": "uint256"
251
77
  },
252
78
  {
253
- "internalType": "address",
254
79
  "name": "signer",
255
- "type": "address"
80
+ "type": "address",
81
+ "internalType": "address"
256
82
  }
257
- ],
258
- "internalType": "struct EngineBlox.MetaTxParams",
259
- "name": "",
260
- "type": "tuple"
83
+ ]
261
84
  }
262
85
  ],
263
- "stateMutability": "view",
264
- "type": "function"
86
+ "stateMutability": "view"
265
87
  },
266
88
  {
89
+ "type": "function",
90
+ "name": "generateUnsignedMetaTransactionForExisting",
267
91
  "inputs": [
268
92
  {
269
- "internalType": "address",
270
- "name": "requester",
271
- "type": "address"
272
- },
273
- {
274
- "internalType": "address",
275
- "name": "target",
276
- "type": "address"
277
- },
278
- {
279
- "internalType": "uint256",
280
- "name": "value",
281
- "type": "uint256"
282
- },
283
- {
284
- "internalType": "uint256",
285
- "name": "gasLimit",
286
- "type": "uint256"
287
- },
288
- {
289
- "internalType": "bytes32",
290
- "name": "operationType",
291
- "type": "bytes32"
292
- },
293
- {
294
- "internalType": "bytes4",
295
- "name": "executionSelector",
296
- "type": "bytes4"
297
- },
298
- {
299
- "internalType": "bytes",
300
- "name": "executionParams",
301
- "type": "bytes"
93
+ "name": "txId",
94
+ "type": "uint256",
95
+ "internalType": "uint256"
302
96
  },
303
97
  {
98
+ "name": "metaTxParams",
99
+ "type": "tuple",
100
+ "internalType": "struct EngineBlox.MetaTxParams",
304
101
  "components": [
305
102
  {
306
- "internalType": "uint256",
307
103
  "name": "chainId",
308
- "type": "uint256"
104
+ "type": "uint256",
105
+ "internalType": "uint256"
309
106
  },
310
107
  {
311
- "internalType": "uint256",
312
108
  "name": "nonce",
313
- "type": "uint256"
109
+ "type": "uint256",
110
+ "internalType": "uint256"
314
111
  },
315
112
  {
316
- "internalType": "address",
317
113
  "name": "handlerContract",
318
- "type": "address"
114
+ "type": "address",
115
+ "internalType": "address"
319
116
  },
320
117
  {
321
- "internalType": "bytes4",
322
118
  "name": "handlerSelector",
323
- "type": "bytes4"
119
+ "type": "bytes4",
120
+ "internalType": "bytes4"
324
121
  },
325
122
  {
326
- "internalType": "enum EngineBlox.TxAction",
327
123
  "name": "action",
328
- "type": "uint8"
124
+ "type": "uint8",
125
+ "internalType": "enum EngineBlox.TxAction"
329
126
  },
330
127
  {
331
- "internalType": "uint256",
332
128
  "name": "deadline",
333
- "type": "uint256"
129
+ "type": "uint256",
130
+ "internalType": "uint256"
334
131
  },
335
132
  {
336
- "internalType": "uint256",
337
133
  "name": "maxGasPrice",
338
- "type": "uint256"
134
+ "type": "uint256",
135
+ "internalType": "uint256"
339
136
  },
340
137
  {
341
- "internalType": "address",
342
138
  "name": "signer",
343
- "type": "address"
139
+ "type": "address",
140
+ "internalType": "address"
344
141
  }
345
- ],
346
- "internalType": "struct EngineBlox.MetaTxParams",
347
- "name": "metaTxParams",
348
- "type": "tuple"
142
+ ]
349
143
  }
350
144
  ],
351
- "name": "generateUnsignedMetaTransactionForNew",
352
145
  "outputs": [
353
146
  {
147
+ "name": "",
148
+ "type": "tuple",
149
+ "internalType": "struct EngineBlox.MetaTransaction",
354
150
  "components": [
355
151
  {
152
+ "name": "txRecord",
153
+ "type": "tuple",
154
+ "internalType": "struct EngineBlox.TxRecord",
356
155
  "components": [
357
156
  {
358
- "internalType": "uint256",
359
157
  "name": "txId",
360
- "type": "uint256"
158
+ "type": "uint256",
159
+ "internalType": "uint256"
361
160
  },
362
161
  {
363
- "internalType": "uint256",
364
162
  "name": "releaseTime",
365
- "type": "uint256"
163
+ "type": "uint256",
164
+ "internalType": "uint256"
366
165
  },
367
166
  {
368
- "internalType": "enum EngineBlox.TxStatus",
369
167
  "name": "status",
370
- "type": "uint8"
168
+ "type": "uint8",
169
+ "internalType": "enum EngineBlox.TxStatus"
371
170
  },
372
171
  {
172
+ "name": "params",
173
+ "type": "tuple",
174
+ "internalType": "struct EngineBlox.TxParams",
373
175
  "components": [
374
176
  {
375
- "internalType": "address",
376
177
  "name": "requester",
377
- "type": "address"
178
+ "type": "address",
179
+ "internalType": "address"
378
180
  },
379
181
  {
380
- "internalType": "address",
381
182
  "name": "target",
382
- "type": "address"
183
+ "type": "address",
184
+ "internalType": "address"
383
185
  },
384
186
  {
385
- "internalType": "uint256",
386
187
  "name": "value",
387
- "type": "uint256"
188
+ "type": "uint256",
189
+ "internalType": "uint256"
388
190
  },
389
191
  {
390
- "internalType": "uint256",
391
192
  "name": "gasLimit",
392
- "type": "uint256"
193
+ "type": "uint256",
194
+ "internalType": "uint256"
393
195
  },
394
196
  {
395
- "internalType": "bytes32",
396
197
  "name": "operationType",
397
- "type": "bytes32"
198
+ "type": "bytes32",
199
+ "internalType": "bytes32"
398
200
  },
399
201
  {
400
- "internalType": "bytes4",
401
202
  "name": "executionSelector",
402
- "type": "bytes4"
203
+ "type": "bytes4",
204
+ "internalType": "bytes4"
403
205
  },
404
206
  {
405
- "internalType": "bytes",
406
207
  "name": "executionParams",
407
- "type": "bytes"
208
+ "type": "bytes",
209
+ "internalType": "bytes"
408
210
  }
409
- ],
410
- "internalType": "struct EngineBlox.TxParams",
411
- "name": "params",
412
- "type": "tuple"
211
+ ]
413
212
  },
414
213
  {
415
- "internalType": "bytes32",
416
214
  "name": "message",
417
- "type": "bytes32"
215
+ "type": "bytes32",
216
+ "internalType": "bytes32"
418
217
  },
419
218
  {
420
- "internalType": "bytes",
421
- "name": "result",
422
- "type": "bytes"
219
+ "name": "resultHash",
220
+ "type": "bytes32",
221
+ "internalType": "bytes32"
423
222
  },
424
223
  {
224
+ "name": "payment",
225
+ "type": "tuple",
226
+ "internalType": "struct EngineBlox.PaymentDetails",
425
227
  "components": [
426
228
  {
427
- "internalType": "address",
428
229
  "name": "recipient",
429
- "type": "address"
230
+ "type": "address",
231
+ "internalType": "address"
430
232
  },
431
233
  {
432
- "internalType": "uint256",
433
234
  "name": "nativeTokenAmount",
434
- "type": "uint256"
235
+ "type": "uint256",
236
+ "internalType": "uint256"
435
237
  },
436
238
  {
437
- "internalType": "address",
438
239
  "name": "erc20TokenAddress",
439
- "type": "address"
240
+ "type": "address",
241
+ "internalType": "address"
440
242
  },
441
243
  {
442
- "internalType": "uint256",
443
244
  "name": "erc20TokenAmount",
444
- "type": "uint256"
245
+ "type": "uint256",
246
+ "internalType": "uint256"
445
247
  }
446
- ],
447
- "internalType": "struct EngineBlox.PaymentDetails",
448
- "name": "payment",
449
- "type": "tuple"
248
+ ]
450
249
  }
451
- ],
452
- "internalType": "struct EngineBlox.TxRecord",
453
- "name": "txRecord",
454
- "type": "tuple"
250
+ ]
455
251
  },
456
252
  {
253
+ "name": "params",
254
+ "type": "tuple",
255
+ "internalType": "struct EngineBlox.MetaTxParams",
457
256
  "components": [
458
257
  {
459
- "internalType": "uint256",
460
258
  "name": "chainId",
461
- "type": "uint256"
259
+ "type": "uint256",
260
+ "internalType": "uint256"
462
261
  },
463
262
  {
464
- "internalType": "uint256",
465
263
  "name": "nonce",
466
- "type": "uint256"
264
+ "type": "uint256",
265
+ "internalType": "uint256"
467
266
  },
468
267
  {
469
- "internalType": "address",
470
268
  "name": "handlerContract",
471
- "type": "address"
269
+ "type": "address",
270
+ "internalType": "address"
472
271
  },
473
272
  {
474
- "internalType": "bytes4",
475
273
  "name": "handlerSelector",
476
- "type": "bytes4"
274
+ "type": "bytes4",
275
+ "internalType": "bytes4"
477
276
  },
478
277
  {
479
- "internalType": "enum EngineBlox.TxAction",
480
278
  "name": "action",
481
- "type": "uint8"
279
+ "type": "uint8",
280
+ "internalType": "enum EngineBlox.TxAction"
482
281
  },
483
282
  {
484
- "internalType": "uint256",
485
283
  "name": "deadline",
486
- "type": "uint256"
284
+ "type": "uint256",
285
+ "internalType": "uint256"
487
286
  },
488
287
  {
489
- "internalType": "uint256",
490
288
  "name": "maxGasPrice",
491
- "type": "uint256"
289
+ "type": "uint256",
290
+ "internalType": "uint256"
492
291
  },
493
292
  {
494
- "internalType": "address",
495
293
  "name": "signer",
496
- "type": "address"
294
+ "type": "address",
295
+ "internalType": "address"
497
296
  }
498
- ],
499
- "internalType": "struct EngineBlox.MetaTxParams",
500
- "name": "params",
501
- "type": "tuple"
297
+ ]
502
298
  },
503
299
  {
504
- "internalType": "bytes32",
505
300
  "name": "message",
506
- "type": "bytes32"
301
+ "type": "bytes32",
302
+ "internalType": "bytes32"
507
303
  },
508
304
  {
509
- "internalType": "bytes",
510
305
  "name": "signature",
511
- "type": "bytes"
306
+ "type": "bytes",
307
+ "internalType": "bytes"
512
308
  },
513
309
  {
514
- "internalType": "bytes",
515
310
  "name": "data",
516
- "type": "bytes"
311
+ "type": "bytes",
312
+ "internalType": "bytes"
517
313
  }
518
- ],
519
- "internalType": "struct EngineBlox.MetaTransaction",
520
- "name": "",
521
- "type": "tuple"
314
+ ]
522
315
  }
523
316
  ],
524
- "stateMutability": "view",
525
- "type": "function"
317
+ "stateMutability": "view"
526
318
  },
527
319
  {
320
+ "type": "function",
321
+ "name": "generateUnsignedMetaTransactionForNew",
528
322
  "inputs": [
529
323
  {
530
- "internalType": "uint256",
531
- "name": "txId",
532
- "type": "uint256"
324
+ "name": "requester",
325
+ "type": "address",
326
+ "internalType": "address"
327
+ },
328
+ {
329
+ "name": "target",
330
+ "type": "address",
331
+ "internalType": "address"
332
+ },
333
+ {
334
+ "name": "value",
335
+ "type": "uint256",
336
+ "internalType": "uint256"
337
+ },
338
+ {
339
+ "name": "gasLimit",
340
+ "type": "uint256",
341
+ "internalType": "uint256"
342
+ },
343
+ {
344
+ "name": "operationType",
345
+ "type": "bytes32",
346
+ "internalType": "bytes32"
347
+ },
348
+ {
349
+ "name": "executionSelector",
350
+ "type": "bytes4",
351
+ "internalType": "bytes4"
533
352
  },
534
353
  {
354
+ "name": "executionParams",
355
+ "type": "bytes",
356
+ "internalType": "bytes"
357
+ },
358
+ {
359
+ "name": "metaTxParams",
360
+ "type": "tuple",
361
+ "internalType": "struct EngineBlox.MetaTxParams",
535
362
  "components": [
536
363
  {
537
- "internalType": "uint256",
538
364
  "name": "chainId",
539
- "type": "uint256"
365
+ "type": "uint256",
366
+ "internalType": "uint256"
540
367
  },
541
368
  {
542
- "internalType": "uint256",
543
369
  "name": "nonce",
544
- "type": "uint256"
370
+ "type": "uint256",
371
+ "internalType": "uint256"
545
372
  },
546
373
  {
547
- "internalType": "address",
548
374
  "name": "handlerContract",
549
- "type": "address"
375
+ "type": "address",
376
+ "internalType": "address"
550
377
  },
551
378
  {
552
- "internalType": "bytes4",
553
379
  "name": "handlerSelector",
554
- "type": "bytes4"
380
+ "type": "bytes4",
381
+ "internalType": "bytes4"
555
382
  },
556
383
  {
557
- "internalType": "enum EngineBlox.TxAction",
558
384
  "name": "action",
559
- "type": "uint8"
385
+ "type": "uint8",
386
+ "internalType": "enum EngineBlox.TxAction"
560
387
  },
561
388
  {
562
- "internalType": "uint256",
563
389
  "name": "deadline",
564
- "type": "uint256"
390
+ "type": "uint256",
391
+ "internalType": "uint256"
565
392
  },
566
393
  {
567
- "internalType": "uint256",
568
394
  "name": "maxGasPrice",
569
- "type": "uint256"
395
+ "type": "uint256",
396
+ "internalType": "uint256"
570
397
  },
571
398
  {
572
- "internalType": "address",
573
399
  "name": "signer",
574
- "type": "address"
400
+ "type": "address",
401
+ "internalType": "address"
575
402
  }
576
- ],
577
- "internalType": "struct EngineBlox.MetaTxParams",
578
- "name": "metaTxParams",
579
- "type": "tuple"
403
+ ]
580
404
  }
581
405
  ],
582
- "name": "generateUnsignedMetaTransactionForExisting",
583
406
  "outputs": [
584
407
  {
408
+ "name": "",
409
+ "type": "tuple",
410
+ "internalType": "struct EngineBlox.MetaTransaction",
585
411
  "components": [
586
412
  {
413
+ "name": "txRecord",
414
+ "type": "tuple",
415
+ "internalType": "struct EngineBlox.TxRecord",
587
416
  "components": [
588
417
  {
589
- "internalType": "uint256",
590
418
  "name": "txId",
591
- "type": "uint256"
419
+ "type": "uint256",
420
+ "internalType": "uint256"
592
421
  },
593
422
  {
594
- "internalType": "uint256",
595
423
  "name": "releaseTime",
596
- "type": "uint256"
424
+ "type": "uint256",
425
+ "internalType": "uint256"
597
426
  },
598
427
  {
599
- "internalType": "enum EngineBlox.TxStatus",
600
428
  "name": "status",
601
- "type": "uint8"
429
+ "type": "uint8",
430
+ "internalType": "enum EngineBlox.TxStatus"
602
431
  },
603
432
  {
433
+ "name": "params",
434
+ "type": "tuple",
435
+ "internalType": "struct EngineBlox.TxParams",
604
436
  "components": [
605
437
  {
606
- "internalType": "address",
607
438
  "name": "requester",
608
- "type": "address"
439
+ "type": "address",
440
+ "internalType": "address"
609
441
  },
610
442
  {
611
- "internalType": "address",
612
443
  "name": "target",
613
- "type": "address"
444
+ "type": "address",
445
+ "internalType": "address"
614
446
  },
615
447
  {
616
- "internalType": "uint256",
617
448
  "name": "value",
618
- "type": "uint256"
449
+ "type": "uint256",
450
+ "internalType": "uint256"
619
451
  },
620
452
  {
621
- "internalType": "uint256",
622
453
  "name": "gasLimit",
623
- "type": "uint256"
454
+ "type": "uint256",
455
+ "internalType": "uint256"
624
456
  },
625
457
  {
626
- "internalType": "bytes32",
627
458
  "name": "operationType",
628
- "type": "bytes32"
459
+ "type": "bytes32",
460
+ "internalType": "bytes32"
629
461
  },
630
462
  {
631
- "internalType": "bytes4",
632
463
  "name": "executionSelector",
633
- "type": "bytes4"
464
+ "type": "bytes4",
465
+ "internalType": "bytes4"
634
466
  },
635
467
  {
636
- "internalType": "bytes",
637
468
  "name": "executionParams",
638
- "type": "bytes"
469
+ "type": "bytes",
470
+ "internalType": "bytes"
639
471
  }
640
- ],
641
- "internalType": "struct EngineBlox.TxParams",
642
- "name": "params",
643
- "type": "tuple"
472
+ ]
644
473
  },
645
474
  {
646
- "internalType": "bytes32",
647
475
  "name": "message",
648
- "type": "bytes32"
476
+ "type": "bytes32",
477
+ "internalType": "bytes32"
649
478
  },
650
479
  {
651
- "internalType": "bytes",
652
- "name": "result",
653
- "type": "bytes"
480
+ "name": "resultHash",
481
+ "type": "bytes32",
482
+ "internalType": "bytes32"
654
483
  },
655
484
  {
485
+ "name": "payment",
486
+ "type": "tuple",
487
+ "internalType": "struct EngineBlox.PaymentDetails",
656
488
  "components": [
657
489
  {
658
- "internalType": "address",
659
490
  "name": "recipient",
660
- "type": "address"
491
+ "type": "address",
492
+ "internalType": "address"
661
493
  },
662
494
  {
663
- "internalType": "uint256",
664
495
  "name": "nativeTokenAmount",
665
- "type": "uint256"
496
+ "type": "uint256",
497
+ "internalType": "uint256"
666
498
  },
667
499
  {
668
- "internalType": "address",
669
500
  "name": "erc20TokenAddress",
670
- "type": "address"
501
+ "type": "address",
502
+ "internalType": "address"
671
503
  },
672
504
  {
673
- "internalType": "uint256",
674
505
  "name": "erc20TokenAmount",
675
- "type": "uint256"
506
+ "type": "uint256",
507
+ "internalType": "uint256"
676
508
  }
677
- ],
678
- "internalType": "struct EngineBlox.PaymentDetails",
679
- "name": "payment",
680
- "type": "tuple"
509
+ ]
681
510
  }
682
- ],
683
- "internalType": "struct EngineBlox.TxRecord",
684
- "name": "txRecord",
685
- "type": "tuple"
511
+ ]
686
512
  },
687
513
  {
514
+ "name": "params",
515
+ "type": "tuple",
516
+ "internalType": "struct EngineBlox.MetaTxParams",
688
517
  "components": [
689
518
  {
690
- "internalType": "uint256",
691
519
  "name": "chainId",
692
- "type": "uint256"
520
+ "type": "uint256",
521
+ "internalType": "uint256"
693
522
  },
694
523
  {
695
- "internalType": "uint256",
696
524
  "name": "nonce",
697
- "type": "uint256"
525
+ "type": "uint256",
526
+ "internalType": "uint256"
698
527
  },
699
528
  {
700
- "internalType": "address",
701
529
  "name": "handlerContract",
702
- "type": "address"
530
+ "type": "address",
531
+ "internalType": "address"
703
532
  },
704
533
  {
705
- "internalType": "bytes4",
706
534
  "name": "handlerSelector",
707
- "type": "bytes4"
535
+ "type": "bytes4",
536
+ "internalType": "bytes4"
708
537
  },
709
538
  {
710
- "internalType": "enum EngineBlox.TxAction",
711
539
  "name": "action",
712
- "type": "uint8"
540
+ "type": "uint8",
541
+ "internalType": "enum EngineBlox.TxAction"
713
542
  },
714
543
  {
715
- "internalType": "uint256",
716
544
  "name": "deadline",
717
- "type": "uint256"
545
+ "type": "uint256",
546
+ "internalType": "uint256"
718
547
  },
719
548
  {
720
- "internalType": "uint256",
721
549
  "name": "maxGasPrice",
722
- "type": "uint256"
550
+ "type": "uint256",
551
+ "internalType": "uint256"
723
552
  },
724
553
  {
725
- "internalType": "address",
726
554
  "name": "signer",
727
- "type": "address"
555
+ "type": "address",
556
+ "internalType": "address"
728
557
  }
729
- ],
730
- "internalType": "struct EngineBlox.MetaTxParams",
731
- "name": "params",
732
- "type": "tuple"
558
+ ]
733
559
  },
734
560
  {
735
- "internalType": "bytes32",
736
561
  "name": "message",
737
- "type": "bytes32"
562
+ "type": "bytes32",
563
+ "internalType": "bytes32"
738
564
  },
739
565
  {
740
- "internalType": "bytes",
741
566
  "name": "signature",
742
- "type": "bytes"
567
+ "type": "bytes",
568
+ "internalType": "bytes"
743
569
  },
744
570
  {
745
- "internalType": "bytes",
746
571
  "name": "data",
747
- "type": "bytes"
572
+ "type": "bytes",
573
+ "internalType": "bytes"
748
574
  }
749
- ],
750
- "internalType": "struct EngineBlox.MetaTransaction",
751
- "name": "",
752
- "type": "tuple"
575
+ ]
753
576
  }
754
577
  ],
755
- "stateMutability": "view",
756
- "type": "function"
578
+ "stateMutability": "view"
757
579
  },
758
580
  {
581
+ "type": "function",
582
+ "name": "getActiveRolePermissions",
759
583
  "inputs": [
760
584
  {
761
- "internalType": "uint256",
762
- "name": "fromTxId",
763
- "type": "uint256"
764
- },
765
- {
766
- "internalType": "uint256",
767
- "name": "toTxId",
768
- "type": "uint256"
585
+ "name": "roleHash",
586
+ "type": "bytes32",
587
+ "internalType": "bytes32"
769
588
  }
770
589
  ],
771
- "name": "getTransactionHistory",
772
590
  "outputs": [
773
591
  {
592
+ "name": "",
593
+ "type": "tuple[]",
594
+ "internalType": "struct EngineBlox.FunctionPermission[]",
774
595
  "components": [
775
596
  {
776
- "internalType": "uint256",
777
- "name": "txId",
778
- "type": "uint256"
779
- },
780
- {
781
- "internalType": "uint256",
782
- "name": "releaseTime",
783
- "type": "uint256"
597
+ "name": "functionSelector",
598
+ "type": "bytes4",
599
+ "internalType": "bytes4"
784
600
  },
785
601
  {
786
- "internalType": "enum EngineBlox.TxStatus",
787
- "name": "status",
788
- "type": "uint8"
602
+ "name": "grantedActionsBitmap",
603
+ "type": "uint16",
604
+ "internalType": "uint16"
789
605
  },
790
606
  {
791
- "components": [
792
- {
793
- "internalType": "address",
794
- "name": "requester",
795
- "type": "address"
796
- },
797
- {
798
- "internalType": "address",
799
- "name": "target",
800
- "type": "address"
801
- },
802
- {
803
- "internalType": "uint256",
804
- "name": "value",
805
- "type": "uint256"
806
- },
807
- {
808
- "internalType": "uint256",
809
- "name": "gasLimit",
810
- "type": "uint256"
811
- },
812
- {
813
- "internalType": "bytes32",
814
- "name": "operationType",
815
- "type": "bytes32"
816
- },
817
- {
818
- "internalType": "bytes4",
819
- "name": "executionSelector",
820
- "type": "bytes4"
821
- },
822
- {
823
- "internalType": "bytes",
824
- "name": "executionParams",
825
- "type": "bytes"
826
- }
827
- ],
828
- "internalType": "struct EngineBlox.TxParams",
829
- "name": "params",
830
- "type": "tuple"
831
- },
832
- {
833
- "internalType": "bytes32",
834
- "name": "message",
835
- "type": "bytes32"
836
- },
837
- {
838
- "internalType": "bytes",
839
- "name": "result",
840
- "type": "bytes"
841
- },
842
- {
843
- "components": [
844
- {
845
- "internalType": "address",
846
- "name": "recipient",
847
- "type": "address"
848
- },
849
- {
850
- "internalType": "uint256",
851
- "name": "nativeTokenAmount",
852
- "type": "uint256"
853
- },
854
- {
855
- "internalType": "address",
856
- "name": "erc20TokenAddress",
857
- "type": "address"
858
- },
859
- {
860
- "internalType": "uint256",
861
- "name": "erc20TokenAmount",
862
- "type": "uint256"
863
- }
864
- ],
865
- "internalType": "struct EngineBlox.PaymentDetails",
866
- "name": "payment",
867
- "type": "tuple"
607
+ "name": "handlerForSelectors",
608
+ "type": "bytes4[]",
609
+ "internalType": "bytes4[]"
868
610
  }
869
- ],
870
- "internalType": "struct EngineBlox.TxRecord[]",
611
+ ]
612
+ }
613
+ ],
614
+ "stateMutability": "view"
615
+ },
616
+ {
617
+ "type": "function",
618
+ "name": "getAuthorizedWallets",
619
+ "inputs": [
620
+ {
621
+ "name": "roleHash",
622
+ "type": "bytes32",
623
+ "internalType": "bytes32"
624
+ }
625
+ ],
626
+ "outputs": [
627
+ {
628
+ "name": "",
629
+ "type": "address[]",
630
+ "internalType": "address[]"
631
+ }
632
+ ],
633
+ "stateMutability": "view"
634
+ },
635
+ {
636
+ "type": "function",
637
+ "name": "getBroadcasters",
638
+ "inputs": [],
639
+ "outputs": [
640
+ {
871
641
  "name": "",
872
- "type": "tuple[]"
642
+ "type": "address[]",
643
+ "internalType": "address[]"
873
644
  }
874
645
  ],
875
- "stateMutability": "view",
876
- "type": "function"
646
+ "stateMutability": "view"
877
647
  },
878
648
  {
649
+ "type": "function",
650
+ "name": "getFunctionSchema",
879
651
  "inputs": [
880
652
  {
881
- "internalType": "uint256",
882
- "name": "txId",
883
- "type": "uint256"
653
+ "name": "functionSelector",
654
+ "type": "bytes4",
655
+ "internalType": "bytes4"
884
656
  }
885
657
  ],
886
- "name": "getTransaction",
887
658
  "outputs": [
888
659
  {
660
+ "name": "",
661
+ "type": "tuple",
662
+ "internalType": "struct EngineBlox.FunctionSchema",
889
663
  "components": [
890
664
  {
891
- "internalType": "uint256",
892
- "name": "txId",
893
- "type": "uint256"
665
+ "name": "functionSignature",
666
+ "type": "string",
667
+ "internalType": "string"
894
668
  },
895
669
  {
896
- "internalType": "uint256",
897
- "name": "releaseTime",
898
- "type": "uint256"
670
+ "name": "functionSelector",
671
+ "type": "bytes4",
672
+ "internalType": "bytes4"
899
673
  },
900
674
  {
901
- "internalType": "enum EngineBlox.TxStatus",
902
- "name": "status",
903
- "type": "uint8"
675
+ "name": "operationType",
676
+ "type": "bytes32",
677
+ "internalType": "bytes32"
904
678
  },
905
679
  {
906
- "components": [
907
- {
908
- "internalType": "address",
909
- "name": "requester",
910
- "type": "address"
911
- },
912
- {
913
- "internalType": "address",
914
- "name": "target",
915
- "type": "address"
916
- },
917
- {
918
- "internalType": "uint256",
919
- "name": "value",
920
- "type": "uint256"
921
- },
922
- {
923
- "internalType": "uint256",
924
- "name": "gasLimit",
925
- "type": "uint256"
926
- },
927
- {
928
- "internalType": "bytes32",
929
- "name": "operationType",
930
- "type": "bytes32"
931
- },
932
- {
933
- "internalType": "bytes4",
934
- "name": "executionSelector",
935
- "type": "bytes4"
936
- },
937
- {
938
- "internalType": "bytes",
939
- "name": "executionParams",
940
- "type": "bytes"
941
- }
942
- ],
943
- "internalType": "struct EngineBlox.TxParams",
944
- "name": "params",
945
- "type": "tuple"
680
+ "name": "operationName",
681
+ "type": "string",
682
+ "internalType": "string"
946
683
  },
947
684
  {
948
- "internalType": "bytes32",
949
- "name": "message",
950
- "type": "bytes32"
685
+ "name": "supportedActionsBitmap",
686
+ "type": "uint16",
687
+ "internalType": "uint16"
951
688
  },
952
689
  {
953
- "internalType": "bytes",
954
- "name": "result",
955
- "type": "bytes"
690
+ "name": "enforceHandlerRelations",
691
+ "type": "bool",
692
+ "internalType": "bool"
956
693
  },
957
694
  {
958
- "components": [
959
- {
960
- "internalType": "address",
961
- "name": "recipient",
962
- "type": "address"
963
- },
964
- {
965
- "internalType": "uint256",
966
- "name": "nativeTokenAmount",
967
- "type": "uint256"
968
- },
969
- {
970
- "internalType": "address",
971
- "name": "erc20TokenAddress",
972
- "type": "address"
973
- },
974
- {
975
- "internalType": "uint256",
976
- "name": "erc20TokenAmount",
977
- "type": "uint256"
978
- }
979
- ],
980
- "internalType": "struct EngineBlox.PaymentDetails",
981
- "name": "payment",
982
- "type": "tuple"
695
+ "name": "isProtected",
696
+ "type": "bool",
697
+ "internalType": "bool"
698
+ },
699
+ {
700
+ "name": "isGrantRevocable",
701
+ "type": "bool",
702
+ "internalType": "bool"
703
+ },
704
+ {
705
+ "name": "handlerForSelectors",
706
+ "type": "bytes4[]",
707
+ "internalType": "bytes4[]"
983
708
  }
984
- ],
985
- "internalType": "struct EngineBlox.TxRecord",
709
+ ]
710
+ }
711
+ ],
712
+ "stateMutability": "view"
713
+ },
714
+ {
715
+ "type": "function",
716
+ "name": "getFunctionWhitelistTargets",
717
+ "inputs": [
718
+ {
719
+ "name": "functionSelector",
720
+ "type": "bytes4",
721
+ "internalType": "bytes4"
722
+ }
723
+ ],
724
+ "outputs": [
725
+ {
986
726
  "name": "",
987
- "type": "tuple"
727
+ "type": "address[]",
728
+ "internalType": "address[]"
988
729
  }
989
730
  ],
990
- "stateMutability": "view",
991
- "type": "function"
731
+ "stateMutability": "view"
992
732
  },
993
733
  {
994
- "inputs": [],
734
+ "type": "function",
735
+ "name": "getHooks",
736
+ "inputs": [
737
+ {
738
+ "name": "functionSelector",
739
+ "type": "bytes4",
740
+ "internalType": "bytes4"
741
+ }
742
+ ],
743
+ "outputs": [
744
+ {
745
+ "name": "hooks",
746
+ "type": "address[]",
747
+ "internalType": "address[]"
748
+ }
749
+ ],
750
+ "stateMutability": "view"
751
+ },
752
+ {
753
+ "type": "function",
995
754
  "name": "getPendingTransactions",
755
+ "inputs": [],
756
+ "outputs": [
757
+ {
758
+ "name": "",
759
+ "type": "uint256[]",
760
+ "internalType": "uint256[]"
761
+ }
762
+ ],
763
+ "stateMutability": "view"
764
+ },
765
+ {
766
+ "type": "function",
767
+ "name": "getRecovery",
768
+ "inputs": [],
996
769
  "outputs": [
997
770
  {
998
- "internalType": "uint256[]",
999
771
  "name": "",
1000
- "type": "uint256[]"
772
+ "type": "address",
773
+ "internalType": "address"
1001
774
  }
1002
775
  ],
1003
- "stateMutability": "view",
1004
- "type": "function"
776
+ "stateMutability": "view"
1005
777
  },
1006
778
  {
779
+ "type": "function",
780
+ "name": "getRole",
1007
781
  "inputs": [
1008
782
  {
1009
- "internalType": "bytes32",
1010
783
  "name": "roleHash",
1011
- "type": "bytes32"
784
+ "type": "bytes32",
785
+ "internalType": "bytes32"
1012
786
  }
1013
787
  ],
1014
- "name": "getRole",
1015
788
  "outputs": [
1016
789
  {
1017
- "internalType": "string",
1018
790
  "name": "roleName",
1019
- "type": "string"
791
+ "type": "string",
792
+ "internalType": "string"
1020
793
  },
1021
794
  {
1022
- "internalType": "bytes32",
1023
- "name": "roleHashReturn",
1024
- "type": "bytes32"
795
+ "name": "hash",
796
+ "type": "bytes32",
797
+ "internalType": "bytes32"
1025
798
  },
1026
799
  {
1027
- "internalType": "uint256",
1028
800
  "name": "maxWallets",
1029
- "type": "uint256"
801
+ "type": "uint256",
802
+ "internalType": "uint256"
1030
803
  },
1031
804
  {
1032
- "internalType": "uint256",
1033
805
  "name": "walletCount",
1034
- "type": "uint256"
806
+ "type": "uint256",
807
+ "internalType": "uint256"
1035
808
  },
1036
809
  {
1037
- "internalType": "bool",
1038
810
  "name": "isProtected",
1039
- "type": "bool"
811
+ "type": "bool",
812
+ "internalType": "bool"
1040
813
  }
1041
814
  ],
1042
- "stateMutability": "view",
1043
- "type": "function"
815
+ "stateMutability": "view"
1044
816
  },
1045
817
  {
818
+ "type": "function",
819
+ "name": "getSignerNonce",
1046
820
  "inputs": [
1047
821
  {
1048
- "internalType": "bytes32",
1049
- "name": "roleHash",
1050
- "type": "bytes32"
1051
- },
1052
- {
1053
- "internalType": "address",
1054
- "name": "wallet",
1055
- "type": "address"
822
+ "name": "signer",
823
+ "type": "address",
824
+ "internalType": "address"
1056
825
  }
1057
826
  ],
1058
- "name": "hasRole",
1059
827
  "outputs": [
1060
828
  {
1061
- "internalType": "bool",
1062
829
  "name": "",
1063
- "type": "bool"
830
+ "type": "uint256",
831
+ "internalType": "uint256"
1064
832
  }
1065
833
  ],
1066
- "stateMutability": "view",
1067
- "type": "function"
834
+ "stateMutability": "view"
1068
835
  },
1069
836
  {
1070
- "inputs": [
1071
- {
1072
- "internalType": "address",
1073
- "name": "wallet",
1074
- "type": "address"
1075
- }
1076
- ],
1077
- "name": "getWalletRoles",
837
+ "type": "function",
838
+ "name": "getSupportedFunctions",
839
+ "inputs": [],
1078
840
  "outputs": [
1079
841
  {
1080
- "internalType": "bytes32[]",
1081
842
  "name": "",
1082
- "type": "bytes32[]"
843
+ "type": "bytes4[]",
844
+ "internalType": "bytes4[]"
1083
845
  }
1084
846
  ],
1085
- "stateMutability": "view",
1086
- "type": "function"
847
+ "stateMutability": "view"
1087
848
  },
1088
849
  {
1089
- "inputs": [
1090
- {
1091
- "internalType": "bytes32",
1092
- "name": "roleHash",
1093
- "type": "bytes32"
1094
- }
1095
- ],
1096
- "name": "getWalletsInRole",
850
+ "type": "function",
851
+ "name": "getSupportedOperationTypes",
852
+ "inputs": [],
1097
853
  "outputs": [
1098
854
  {
1099
- "internalType": "address[]",
1100
855
  "name": "",
1101
- "type": "address[]"
856
+ "type": "bytes32[]",
857
+ "internalType": "bytes32[]"
1102
858
  }
1103
859
  ],
1104
- "stateMutability": "view",
1105
- "type": "function"
860
+ "stateMutability": "view"
1106
861
  },
1107
862
  {
1108
- "inputs": [
1109
- {
1110
- "internalType": "bytes4",
1111
- "name": "functionSelector",
1112
- "type": "bytes4"
1113
- }
1114
- ],
1115
- "name": "functionSchemaExists",
863
+ "type": "function",
864
+ "name": "getSupportedRoles",
865
+ "inputs": [],
1116
866
  "outputs": [
1117
867
  {
1118
- "internalType": "bool",
1119
868
  "name": "",
1120
- "type": "bool"
869
+ "type": "bytes32[]",
870
+ "internalType": "bytes32[]"
1121
871
  }
1122
872
  ],
1123
- "stateMutability": "view",
1124
- "type": "function"
873
+ "stateMutability": "view"
1125
874
  },
1126
875
  {
1127
- "inputs": [
1128
- {
1129
- "internalType": "bytes4",
1130
- "name": "functionSelector",
1131
- "type": "bytes4"
1132
- },
1133
- {
1134
- "internalType": "enum EngineBlox.TxAction",
1135
- "name": "action",
1136
- "type": "uint8"
1137
- }
1138
- ],
1139
- "name": "isActionSupportedByFunction",
876
+ "type": "function",
877
+ "name": "getTimeLockPeriodSec",
878
+ "inputs": [],
1140
879
  "outputs": [
1141
880
  {
1142
- "internalType": "bool",
1143
881
  "name": "",
1144
- "type": "bool"
882
+ "type": "uint256",
883
+ "internalType": "uint256"
1145
884
  }
1146
885
  ],
1147
- "stateMutability": "view",
1148
- "type": "function"
886
+ "stateMutability": "view"
1149
887
  },
1150
888
  {
889
+ "type": "function",
890
+ "name": "getTransaction",
1151
891
  "inputs": [
1152
892
  {
1153
- "internalType": "bytes4",
1154
- "name": "functionSelector",
1155
- "type": "bytes4"
893
+ "name": "txId",
894
+ "type": "uint256",
895
+ "internalType": "uint256"
1156
896
  }
1157
897
  ],
1158
- "name": "getFunctionSchema",
1159
898
  "outputs": [
1160
899
  {
900
+ "name": "",
901
+ "type": "tuple",
902
+ "internalType": "struct EngineBlox.TxRecord",
1161
903
  "components": [
1162
904
  {
1163
- "internalType": "string",
1164
- "name": "functionSignature",
1165
- "type": "string"
905
+ "name": "txId",
906
+ "type": "uint256",
907
+ "internalType": "uint256"
1166
908
  },
1167
909
  {
1168
- "internalType": "bytes4",
1169
- "name": "functionSelector",
1170
- "type": "bytes4"
910
+ "name": "releaseTime",
911
+ "type": "uint256",
912
+ "internalType": "uint256"
1171
913
  },
1172
914
  {
1173
- "internalType": "bytes32",
1174
- "name": "operationType",
1175
- "type": "bytes32"
915
+ "name": "status",
916
+ "type": "uint8",
917
+ "internalType": "enum EngineBlox.TxStatus"
1176
918
  },
1177
919
  {
1178
- "internalType": "string",
1179
- "name": "operationName",
1180
- "type": "string"
920
+ "name": "params",
921
+ "type": "tuple",
922
+ "internalType": "struct EngineBlox.TxParams",
923
+ "components": [
924
+ {
925
+ "name": "requester",
926
+ "type": "address",
927
+ "internalType": "address"
928
+ },
929
+ {
930
+ "name": "target",
931
+ "type": "address",
932
+ "internalType": "address"
933
+ },
934
+ {
935
+ "name": "value",
936
+ "type": "uint256",
937
+ "internalType": "uint256"
938
+ },
939
+ {
940
+ "name": "gasLimit",
941
+ "type": "uint256",
942
+ "internalType": "uint256"
943
+ },
944
+ {
945
+ "name": "operationType",
946
+ "type": "bytes32",
947
+ "internalType": "bytes32"
948
+ },
949
+ {
950
+ "name": "executionSelector",
951
+ "type": "bytes4",
952
+ "internalType": "bytes4"
953
+ },
954
+ {
955
+ "name": "executionParams",
956
+ "type": "bytes",
957
+ "internalType": "bytes"
958
+ }
959
+ ]
1181
960
  },
1182
961
  {
1183
- "internalType": "uint16",
1184
- "name": "supportedActionsBitmap",
1185
- "type": "uint16"
962
+ "name": "message",
963
+ "type": "bytes32",
964
+ "internalType": "bytes32"
1186
965
  },
1187
966
  {
1188
- "internalType": "bool",
1189
- "name": "isProtected",
1190
- "type": "bool"
967
+ "name": "resultHash",
968
+ "type": "bytes32",
969
+ "internalType": "bytes32"
1191
970
  },
1192
971
  {
1193
- "internalType": "bytes4[]",
1194
- "name": "handlerForSelectors",
1195
- "type": "bytes4[]"
972
+ "name": "payment",
973
+ "type": "tuple",
974
+ "internalType": "struct EngineBlox.PaymentDetails",
975
+ "components": [
976
+ {
977
+ "name": "recipient",
978
+ "type": "address",
979
+ "internalType": "address"
980
+ },
981
+ {
982
+ "name": "nativeTokenAmount",
983
+ "type": "uint256",
984
+ "internalType": "uint256"
985
+ },
986
+ {
987
+ "name": "erc20TokenAddress",
988
+ "type": "address",
989
+ "internalType": "address"
990
+ },
991
+ {
992
+ "name": "erc20TokenAmount",
993
+ "type": "uint256",
994
+ "internalType": "uint256"
995
+ }
996
+ ]
1196
997
  }
1197
- ],
1198
- "internalType": "struct EngineBlox.FunctionSchema",
1199
- "name": "",
1200
- "type": "tuple"
998
+ ]
1201
999
  }
1202
1000
  ],
1203
- "stateMutability": "view",
1204
- "type": "function"
1001
+ "stateMutability": "view"
1205
1002
  },
1206
1003
  {
1004
+ "type": "function",
1005
+ "name": "getTransactionHistory",
1207
1006
  "inputs": [
1208
1007
  {
1209
- "internalType": "bytes32",
1210
- "name": "roleHash",
1211
- "type": "bytes32"
1008
+ "name": "fromTxId",
1009
+ "type": "uint256",
1010
+ "internalType": "uint256"
1011
+ },
1012
+ {
1013
+ "name": "toTxId",
1014
+ "type": "uint256",
1015
+ "internalType": "uint256"
1212
1016
  }
1213
1017
  ],
1214
- "name": "getActiveRolePermissions",
1215
1018
  "outputs": [
1216
1019
  {
1020
+ "name": "",
1021
+ "type": "tuple[]",
1022
+ "internalType": "struct EngineBlox.TxRecord[]",
1217
1023
  "components": [
1218
1024
  {
1219
- "internalType": "bytes4",
1220
- "name": "functionSelector",
1221
- "type": "bytes4"
1025
+ "name": "txId",
1026
+ "type": "uint256",
1027
+ "internalType": "uint256"
1222
1028
  },
1223
1029
  {
1224
- "internalType": "uint16",
1225
- "name": "grantedActionsBitmap",
1226
- "type": "uint16"
1030
+ "name": "releaseTime",
1031
+ "type": "uint256",
1032
+ "internalType": "uint256"
1227
1033
  },
1228
1034
  {
1229
- "internalType": "bytes4[]",
1230
- "name": "handlerForSelectors",
1231
- "type": "bytes4[]"
1035
+ "name": "status",
1036
+ "type": "uint8",
1037
+ "internalType": "enum EngineBlox.TxStatus"
1038
+ },
1039
+ {
1040
+ "name": "params",
1041
+ "type": "tuple",
1042
+ "internalType": "struct EngineBlox.TxParams",
1043
+ "components": [
1044
+ {
1045
+ "name": "requester",
1046
+ "type": "address",
1047
+ "internalType": "address"
1048
+ },
1049
+ {
1050
+ "name": "target",
1051
+ "type": "address",
1052
+ "internalType": "address"
1053
+ },
1054
+ {
1055
+ "name": "value",
1056
+ "type": "uint256",
1057
+ "internalType": "uint256"
1058
+ },
1059
+ {
1060
+ "name": "gasLimit",
1061
+ "type": "uint256",
1062
+ "internalType": "uint256"
1063
+ },
1064
+ {
1065
+ "name": "operationType",
1066
+ "type": "bytes32",
1067
+ "internalType": "bytes32"
1068
+ },
1069
+ {
1070
+ "name": "executionSelector",
1071
+ "type": "bytes4",
1072
+ "internalType": "bytes4"
1073
+ },
1074
+ {
1075
+ "name": "executionParams",
1076
+ "type": "bytes",
1077
+ "internalType": "bytes"
1078
+ }
1079
+ ]
1080
+ },
1081
+ {
1082
+ "name": "message",
1083
+ "type": "bytes32",
1084
+ "internalType": "bytes32"
1085
+ },
1086
+ {
1087
+ "name": "resultHash",
1088
+ "type": "bytes32",
1089
+ "internalType": "bytes32"
1090
+ },
1091
+ {
1092
+ "name": "payment",
1093
+ "type": "tuple",
1094
+ "internalType": "struct EngineBlox.PaymentDetails",
1095
+ "components": [
1096
+ {
1097
+ "name": "recipient",
1098
+ "type": "address",
1099
+ "internalType": "address"
1100
+ },
1101
+ {
1102
+ "name": "nativeTokenAmount",
1103
+ "type": "uint256",
1104
+ "internalType": "uint256"
1105
+ },
1106
+ {
1107
+ "name": "erc20TokenAddress",
1108
+ "type": "address",
1109
+ "internalType": "address"
1110
+ },
1111
+ {
1112
+ "name": "erc20TokenAmount",
1113
+ "type": "uint256",
1114
+ "internalType": "uint256"
1115
+ }
1116
+ ]
1232
1117
  }
1233
- ],
1234
- "internalType": "struct EngineBlox.FunctionPermission[]",
1235
- "name": "",
1236
- "type": "tuple[]"
1118
+ ]
1237
1119
  }
1238
1120
  ],
1239
- "stateMutability": "view",
1240
- "type": "function"
1121
+ "stateMutability": "view"
1241
1122
  },
1242
1123
  {
1124
+ "type": "function",
1125
+ "name": "getWalletRoles",
1243
1126
  "inputs": [
1244
1127
  {
1245
- "internalType": "address",
1246
- "name": "signer",
1247
- "type": "address"
1128
+ "name": "wallet",
1129
+ "type": "address",
1130
+ "internalType": "address"
1248
1131
  }
1249
1132
  ],
1250
- "name": "getSignerNonce",
1251
1133
  "outputs": [
1252
1134
  {
1253
- "internalType": "uint256",
1254
1135
  "name": "",
1255
- "type": "uint256"
1136
+ "type": "bytes32[]",
1137
+ "internalType": "bytes32[]"
1256
1138
  }
1257
1139
  ],
1258
- "stateMutability": "view",
1259
- "type": "function"
1140
+ "stateMutability": "view"
1260
1141
  },
1261
1142
  {
1262
- "inputs": [],
1263
- "name": "getSupportedOperationTypes",
1264
- "outputs": [
1143
+ "type": "function",
1144
+ "name": "hasRole",
1145
+ "inputs": [
1265
1146
  {
1266
- "internalType": "bytes32[]",
1267
- "name": "",
1268
- "type": "bytes32[]"
1147
+ "name": "roleHash",
1148
+ "type": "bytes32",
1149
+ "internalType": "bytes32"
1150
+ },
1151
+ {
1152
+ "name": "wallet",
1153
+ "type": "address",
1154
+ "internalType": "address"
1269
1155
  }
1270
1156
  ],
1271
- "stateMutability": "view",
1272
- "type": "function"
1273
- },
1274
- {
1275
- "inputs": [],
1276
- "name": "getSupportedRoles",
1277
1157
  "outputs": [
1278
1158
  {
1279
- "internalType": "bytes32[]",
1280
1159
  "name": "",
1281
- "type": "bytes32[]"
1160
+ "type": "bool",
1161
+ "internalType": "bool"
1282
1162
  }
1283
1163
  ],
1284
- "stateMutability": "view",
1285
- "type": "function"
1164
+ "stateMutability": "view"
1286
1165
  },
1287
1166
  {
1167
+ "type": "function",
1168
+ "name": "initialized",
1288
1169
  "inputs": [],
1289
- "name": "getSupportedFunctions",
1290
1170
  "outputs": [
1291
1171
  {
1292
- "internalType": "bytes4[]",
1293
1172
  "name": "",
1294
- "type": "bytes4[]"
1173
+ "type": "bool",
1174
+ "internalType": "bool"
1295
1175
  }
1296
1176
  ],
1297
- "stateMutability": "view",
1298
- "type": "function"
1177
+ "stateMutability": "view"
1299
1178
  },
1300
1179
  {
1180
+ "type": "function",
1181
+ "name": "owner",
1301
1182
  "inputs": [],
1302
- "name": "getTimeLockPeriodSec",
1303
1183
  "outputs": [
1304
1184
  {
1305
- "internalType": "uint256",
1306
1185
  "name": "",
1307
- "type": "uint256"
1186
+ "type": "address",
1187
+ "internalType": "address"
1308
1188
  }
1309
1189
  ],
1310
- "stateMutability": "view",
1311
- "type": "function"
1190
+ "stateMutability": "view"
1312
1191
  },
1313
1192
  {
1314
- "inputs": [],
1315
- "name": "initialized",
1193
+ "type": "function",
1194
+ "name": "supportsInterface",
1195
+ "inputs": [
1196
+ {
1197
+ "name": "interfaceId",
1198
+ "type": "bytes4",
1199
+ "internalType": "bytes4"
1200
+ }
1201
+ ],
1316
1202
  "outputs": [
1317
1203
  {
1318
- "internalType": "bool",
1319
1204
  "name": "",
1320
- "type": "bool"
1205
+ "type": "bool",
1206
+ "internalType": "bool"
1321
1207
  }
1322
1208
  ],
1323
- "stateMutability": "view",
1324
- "type": "function"
1209
+ "stateMutability": "view"
1325
1210
  },
1326
1211
  {
1212
+ "type": "event",
1213
+ "name": "ComponentEvent",
1327
1214
  "inputs": [
1328
1215
  {
1329
- "internalType": "bytes4",
1330
1216
  "name": "functionSelector",
1331
- "type": "bytes4"
1217
+ "type": "bytes4",
1218
+ "indexed": true,
1219
+ "internalType": "bytes4"
1220
+ },
1221
+ {
1222
+ "name": "data",
1223
+ "type": "bytes",
1224
+ "indexed": false,
1225
+ "internalType": "bytes"
1332
1226
  }
1333
1227
  ],
1334
- "name": "getFunctionWhitelistTargets",
1335
- "outputs": [
1228
+ "anonymous": false
1229
+ },
1230
+ {
1231
+ "type": "event",
1232
+ "name": "Initialized",
1233
+ "inputs": [
1336
1234
  {
1337
- "internalType": "address[]",
1338
- "name": "",
1339
- "type": "address[]"
1235
+ "name": "version",
1236
+ "type": "uint64",
1237
+ "indexed": false,
1238
+ "internalType": "uint64"
1340
1239
  }
1341
1240
  ],
1342
- "stateMutability": "view",
1343
- "type": "function"
1241
+ "anonymous": false
1242
+ },
1243
+ {
1244
+ "type": "error",
1245
+ "name": "InvalidInitialization",
1246
+ "inputs": []
1247
+ },
1248
+ {
1249
+ "type": "error",
1250
+ "name": "NoPermission",
1251
+ "inputs": [
1252
+ {
1253
+ "name": "caller",
1254
+ "type": "address",
1255
+ "internalType": "address"
1256
+ }
1257
+ ]
1258
+ },
1259
+ {
1260
+ "type": "error",
1261
+ "name": "NotInitializing",
1262
+ "inputs": []
1263
+ },
1264
+ {
1265
+ "type": "error",
1266
+ "name": "RangeSizeExceeded",
1267
+ "inputs": [
1268
+ {
1269
+ "name": "rangeSize",
1270
+ "type": "uint256",
1271
+ "internalType": "uint256"
1272
+ },
1273
+ {
1274
+ "name": "maxRangeSize",
1275
+ "type": "uint256",
1276
+ "internalType": "uint256"
1277
+ }
1278
+ ]
1279
+ },
1280
+ {
1281
+ "type": "error",
1282
+ "name": "ReentrancyGuardReentrantCall",
1283
+ "inputs": []
1284
+ },
1285
+ {
1286
+ "type": "error",
1287
+ "name": "ResourceNotFound",
1288
+ "inputs": [
1289
+ {
1290
+ "name": "resourceId",
1291
+ "type": "bytes32",
1292
+ "internalType": "bytes32"
1293
+ }
1294
+ ]
1344
1295
  }
1345
1296
  ]