@bloxchain/contracts 1.0.0-alpha

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