@bloxchain/contracts 1.0.0-alpha.2 → 1.0.0-alpha.20

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