@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,1857 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "uint256",
6
+ "name": "array1Length",
7
+ "type": "uint256"
8
+ },
9
+ {
10
+ "internalType": "uint256",
11
+ "name": "array2Length",
12
+ "type": "uint256"
13
+ }
14
+ ],
15
+ "name": "ArrayLengthMismatch",
16
+ "type": "error"
17
+ },
18
+ {
19
+ "inputs": [
20
+ {
21
+ "internalType": "uint256",
22
+ "name": "currentSize",
23
+ "type": "uint256"
24
+ },
25
+ {
26
+ "internalType": "uint256",
27
+ "name": "maxSize",
28
+ "type": "uint256"
29
+ }
30
+ ],
31
+ "name": "BatchSizeExceeded",
32
+ "type": "error"
33
+ },
34
+ {
35
+ "inputs": [
36
+ {
37
+ "internalType": "bytes32",
38
+ "name": "resourceId",
39
+ "type": "bytes32"
40
+ }
41
+ ],
42
+ "name": "CannotModifyProtected",
43
+ "type": "error"
44
+ },
45
+ {
46
+ "inputs": [],
47
+ "name": "InvalidInitialization",
48
+ "type": "error"
49
+ },
50
+ {
51
+ "inputs": [
52
+ {
53
+ "internalType": "uint256",
54
+ "name": "from",
55
+ "type": "uint256"
56
+ },
57
+ {
58
+ "internalType": "uint256",
59
+ "name": "to",
60
+ "type": "uint256"
61
+ }
62
+ ],
63
+ "name": "InvalidRange",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [
68
+ {
69
+ "internalType": "uint256",
70
+ "name": "provided",
71
+ "type": "uint256"
72
+ }
73
+ ],
74
+ "name": "MaxWalletsZero",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "inputs": [
79
+ {
80
+ "internalType": "address",
81
+ "name": "caller",
82
+ "type": "address"
83
+ }
84
+ ],
85
+ "name": "NoPermission",
86
+ "type": "error"
87
+ },
88
+ {
89
+ "inputs": [],
90
+ "name": "NotInitializing",
91
+ "type": "error"
92
+ },
93
+ {
94
+ "inputs": [],
95
+ "name": "NotSupported",
96
+ "type": "error"
97
+ },
98
+ {
99
+ "inputs": [
100
+ {
101
+ "internalType": "address",
102
+ "name": "caller",
103
+ "type": "address"
104
+ },
105
+ {
106
+ "internalType": "address",
107
+ "name": "contractAddress",
108
+ "type": "address"
109
+ }
110
+ ],
111
+ "name": "OnlyCallableByContract",
112
+ "type": "error"
113
+ },
114
+ {
115
+ "inputs": [
116
+ {
117
+ "internalType": "uint256",
118
+ "name": "rangeSize",
119
+ "type": "uint256"
120
+ },
121
+ {
122
+ "internalType": "uint256",
123
+ "name": "maxRangeSize",
124
+ "type": "uint256"
125
+ }
126
+ ],
127
+ "name": "RangeSizeExceeded",
128
+ "type": "error"
129
+ },
130
+ {
131
+ "inputs": [],
132
+ "name": "ReentrancyGuardReentrantCall",
133
+ "type": "error"
134
+ },
135
+ {
136
+ "inputs": [
137
+ {
138
+ "internalType": "bytes32",
139
+ "name": "resourceId",
140
+ "type": "bytes32"
141
+ }
142
+ ],
143
+ "name": "ResourceNotFound",
144
+ "type": "error"
145
+ },
146
+ {
147
+ "anonymous": false,
148
+ "inputs": [
149
+ {
150
+ "indexed": false,
151
+ "internalType": "uint64",
152
+ "name": "version",
153
+ "type": "uint64"
154
+ }
155
+ ],
156
+ "name": "Initialized",
157
+ "type": "event"
158
+ },
159
+ {
160
+ "anonymous": false,
161
+ "inputs": [
162
+ {
163
+ "indexed": true,
164
+ "internalType": "enum RuntimeRBAC.RoleConfigActionType",
165
+ "name": "actionType",
166
+ "type": "uint8"
167
+ },
168
+ {
169
+ "indexed": true,
170
+ "internalType": "bytes32",
171
+ "name": "roleHash",
172
+ "type": "bytes32"
173
+ },
174
+ {
175
+ "indexed": true,
176
+ "internalType": "bytes4",
177
+ "name": "functionSelector",
178
+ "type": "bytes4"
179
+ },
180
+ {
181
+ "indexed": false,
182
+ "internalType": "bytes",
183
+ "name": "data",
184
+ "type": "bytes"
185
+ }
186
+ ],
187
+ "name": "RoleConfigApplied",
188
+ "type": "event"
189
+ },
190
+ {
191
+ "anonymous": false,
192
+ "inputs": [
193
+ {
194
+ "indexed": true,
195
+ "internalType": "uint256",
196
+ "name": "txId",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "indexed": true,
201
+ "internalType": "bytes32",
202
+ "name": "operationType",
203
+ "type": "bytes32"
204
+ },
205
+ {
206
+ "indexed": true,
207
+ "internalType": "address",
208
+ "name": "approver",
209
+ "type": "address"
210
+ }
211
+ ],
212
+ "name": "TransactionApproved",
213
+ "type": "event"
214
+ },
215
+ {
216
+ "anonymous": false,
217
+ "inputs": [
218
+ {
219
+ "indexed": true,
220
+ "internalType": "uint256",
221
+ "name": "txId",
222
+ "type": "uint256"
223
+ },
224
+ {
225
+ "indexed": true,
226
+ "internalType": "bytes32",
227
+ "name": "operationType",
228
+ "type": "bytes32"
229
+ },
230
+ {
231
+ "indexed": true,
232
+ "internalType": "address",
233
+ "name": "canceller",
234
+ "type": "address"
235
+ }
236
+ ],
237
+ "name": "TransactionCancelled",
238
+ "type": "event"
239
+ },
240
+ {
241
+ "anonymous": false,
242
+ "inputs": [
243
+ {
244
+ "indexed": true,
245
+ "internalType": "uint256",
246
+ "name": "txId",
247
+ "type": "uint256"
248
+ },
249
+ {
250
+ "indexed": true,
251
+ "internalType": "bytes32",
252
+ "name": "operationType",
253
+ "type": "bytes32"
254
+ },
255
+ {
256
+ "indexed": false,
257
+ "internalType": "bool",
258
+ "name": "success",
259
+ "type": "bool"
260
+ }
261
+ ],
262
+ "name": "TransactionExecuted",
263
+ "type": "event"
264
+ },
265
+ {
266
+ "anonymous": false,
267
+ "inputs": [
268
+ {
269
+ "indexed": true,
270
+ "internalType": "uint256",
271
+ "name": "txId",
272
+ "type": "uint256"
273
+ },
274
+ {
275
+ "indexed": true,
276
+ "internalType": "address",
277
+ "name": "requester",
278
+ "type": "address"
279
+ },
280
+ {
281
+ "indexed": true,
282
+ "internalType": "bytes32",
283
+ "name": "operationType",
284
+ "type": "bytes32"
285
+ },
286
+ {
287
+ "indexed": false,
288
+ "internalType": "uint256",
289
+ "name": "releaseTime",
290
+ "type": "uint256"
291
+ }
292
+ ],
293
+ "name": "TransactionRequested",
294
+ "type": "event"
295
+ },
296
+ {
297
+ "inputs": [
298
+ {
299
+ "internalType": "address",
300
+ "name": "handlerContract",
301
+ "type": "address"
302
+ },
303
+ {
304
+ "internalType": "bytes4",
305
+ "name": "handlerSelector",
306
+ "type": "bytes4"
307
+ },
308
+ {
309
+ "internalType": "enum EngineBlox.TxAction",
310
+ "name": "action",
311
+ "type": "uint8"
312
+ },
313
+ {
314
+ "internalType": "uint256",
315
+ "name": "deadline",
316
+ "type": "uint256"
317
+ },
318
+ {
319
+ "internalType": "uint256",
320
+ "name": "maxGasPrice",
321
+ "type": "uint256"
322
+ },
323
+ {
324
+ "internalType": "address",
325
+ "name": "signer",
326
+ "type": "address"
327
+ }
328
+ ],
329
+ "name": "createMetaTxParams",
330
+ "outputs": [
331
+ {
332
+ "components": [
333
+ {
334
+ "internalType": "uint256",
335
+ "name": "chainId",
336
+ "type": "uint256"
337
+ },
338
+ {
339
+ "internalType": "uint256",
340
+ "name": "nonce",
341
+ "type": "uint256"
342
+ },
343
+ {
344
+ "internalType": "address",
345
+ "name": "handlerContract",
346
+ "type": "address"
347
+ },
348
+ {
349
+ "internalType": "bytes4",
350
+ "name": "handlerSelector",
351
+ "type": "bytes4"
352
+ },
353
+ {
354
+ "internalType": "enum EngineBlox.TxAction",
355
+ "name": "action",
356
+ "type": "uint8"
357
+ },
358
+ {
359
+ "internalType": "uint256",
360
+ "name": "deadline",
361
+ "type": "uint256"
362
+ },
363
+ {
364
+ "internalType": "uint256",
365
+ "name": "maxGasPrice",
366
+ "type": "uint256"
367
+ },
368
+ {
369
+ "internalType": "address",
370
+ "name": "signer",
371
+ "type": "address"
372
+ }
373
+ ],
374
+ "internalType": "struct EngineBlox.MetaTxParams",
375
+ "name": "",
376
+ "type": "tuple"
377
+ }
378
+ ],
379
+ "stateMutability": "view",
380
+ "type": "function"
381
+ },
382
+ {
383
+ "inputs": [
384
+ {
385
+ "internalType": "bytes4",
386
+ "name": "functionSelector",
387
+ "type": "bytes4"
388
+ }
389
+ ],
390
+ "name": "functionSchemaExists",
391
+ "outputs": [
392
+ {
393
+ "internalType": "bool",
394
+ "name": "",
395
+ "type": "bool"
396
+ }
397
+ ],
398
+ "stateMutability": "view",
399
+ "type": "function"
400
+ },
401
+ {
402
+ "inputs": [
403
+ {
404
+ "internalType": "uint256",
405
+ "name": "txId",
406
+ "type": "uint256"
407
+ },
408
+ {
409
+ "components": [
410
+ {
411
+ "internalType": "uint256",
412
+ "name": "chainId",
413
+ "type": "uint256"
414
+ },
415
+ {
416
+ "internalType": "uint256",
417
+ "name": "nonce",
418
+ "type": "uint256"
419
+ },
420
+ {
421
+ "internalType": "address",
422
+ "name": "handlerContract",
423
+ "type": "address"
424
+ },
425
+ {
426
+ "internalType": "bytes4",
427
+ "name": "handlerSelector",
428
+ "type": "bytes4"
429
+ },
430
+ {
431
+ "internalType": "enum EngineBlox.TxAction",
432
+ "name": "action",
433
+ "type": "uint8"
434
+ },
435
+ {
436
+ "internalType": "uint256",
437
+ "name": "deadline",
438
+ "type": "uint256"
439
+ },
440
+ {
441
+ "internalType": "uint256",
442
+ "name": "maxGasPrice",
443
+ "type": "uint256"
444
+ },
445
+ {
446
+ "internalType": "address",
447
+ "name": "signer",
448
+ "type": "address"
449
+ }
450
+ ],
451
+ "internalType": "struct EngineBlox.MetaTxParams",
452
+ "name": "metaTxParams",
453
+ "type": "tuple"
454
+ }
455
+ ],
456
+ "name": "generateUnsignedMetaTransactionForExisting",
457
+ "outputs": [
458
+ {
459
+ "components": [
460
+ {
461
+ "components": [
462
+ {
463
+ "internalType": "uint256",
464
+ "name": "txId",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "internalType": "uint256",
469
+ "name": "releaseTime",
470
+ "type": "uint256"
471
+ },
472
+ {
473
+ "internalType": "enum EngineBlox.TxStatus",
474
+ "name": "status",
475
+ "type": "uint8"
476
+ },
477
+ {
478
+ "components": [
479
+ {
480
+ "internalType": "address",
481
+ "name": "requester",
482
+ "type": "address"
483
+ },
484
+ {
485
+ "internalType": "address",
486
+ "name": "target",
487
+ "type": "address"
488
+ },
489
+ {
490
+ "internalType": "uint256",
491
+ "name": "value",
492
+ "type": "uint256"
493
+ },
494
+ {
495
+ "internalType": "uint256",
496
+ "name": "gasLimit",
497
+ "type": "uint256"
498
+ },
499
+ {
500
+ "internalType": "bytes32",
501
+ "name": "operationType",
502
+ "type": "bytes32"
503
+ },
504
+ {
505
+ "internalType": "bytes4",
506
+ "name": "executionSelector",
507
+ "type": "bytes4"
508
+ },
509
+ {
510
+ "internalType": "bytes",
511
+ "name": "executionParams",
512
+ "type": "bytes"
513
+ }
514
+ ],
515
+ "internalType": "struct EngineBlox.TxParams",
516
+ "name": "params",
517
+ "type": "tuple"
518
+ },
519
+ {
520
+ "internalType": "bytes32",
521
+ "name": "message",
522
+ "type": "bytes32"
523
+ },
524
+ {
525
+ "internalType": "bytes",
526
+ "name": "result",
527
+ "type": "bytes"
528
+ },
529
+ {
530
+ "components": [
531
+ {
532
+ "internalType": "address",
533
+ "name": "recipient",
534
+ "type": "address"
535
+ },
536
+ {
537
+ "internalType": "uint256",
538
+ "name": "nativeTokenAmount",
539
+ "type": "uint256"
540
+ },
541
+ {
542
+ "internalType": "address",
543
+ "name": "erc20TokenAddress",
544
+ "type": "address"
545
+ },
546
+ {
547
+ "internalType": "uint256",
548
+ "name": "erc20TokenAmount",
549
+ "type": "uint256"
550
+ }
551
+ ],
552
+ "internalType": "struct EngineBlox.PaymentDetails",
553
+ "name": "payment",
554
+ "type": "tuple"
555
+ }
556
+ ],
557
+ "internalType": "struct EngineBlox.TxRecord",
558
+ "name": "txRecord",
559
+ "type": "tuple"
560
+ },
561
+ {
562
+ "components": [
563
+ {
564
+ "internalType": "uint256",
565
+ "name": "chainId",
566
+ "type": "uint256"
567
+ },
568
+ {
569
+ "internalType": "uint256",
570
+ "name": "nonce",
571
+ "type": "uint256"
572
+ },
573
+ {
574
+ "internalType": "address",
575
+ "name": "handlerContract",
576
+ "type": "address"
577
+ },
578
+ {
579
+ "internalType": "bytes4",
580
+ "name": "handlerSelector",
581
+ "type": "bytes4"
582
+ },
583
+ {
584
+ "internalType": "enum EngineBlox.TxAction",
585
+ "name": "action",
586
+ "type": "uint8"
587
+ },
588
+ {
589
+ "internalType": "uint256",
590
+ "name": "deadline",
591
+ "type": "uint256"
592
+ },
593
+ {
594
+ "internalType": "uint256",
595
+ "name": "maxGasPrice",
596
+ "type": "uint256"
597
+ },
598
+ {
599
+ "internalType": "address",
600
+ "name": "signer",
601
+ "type": "address"
602
+ }
603
+ ],
604
+ "internalType": "struct EngineBlox.MetaTxParams",
605
+ "name": "params",
606
+ "type": "tuple"
607
+ },
608
+ {
609
+ "internalType": "bytes32",
610
+ "name": "message",
611
+ "type": "bytes32"
612
+ },
613
+ {
614
+ "internalType": "bytes",
615
+ "name": "signature",
616
+ "type": "bytes"
617
+ },
618
+ {
619
+ "internalType": "bytes",
620
+ "name": "data",
621
+ "type": "bytes"
622
+ }
623
+ ],
624
+ "internalType": "struct EngineBlox.MetaTransaction",
625
+ "name": "",
626
+ "type": "tuple"
627
+ }
628
+ ],
629
+ "stateMutability": "view",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [
634
+ {
635
+ "internalType": "address",
636
+ "name": "requester",
637
+ "type": "address"
638
+ },
639
+ {
640
+ "internalType": "address",
641
+ "name": "target",
642
+ "type": "address"
643
+ },
644
+ {
645
+ "internalType": "uint256",
646
+ "name": "value",
647
+ "type": "uint256"
648
+ },
649
+ {
650
+ "internalType": "uint256",
651
+ "name": "gasLimit",
652
+ "type": "uint256"
653
+ },
654
+ {
655
+ "internalType": "bytes32",
656
+ "name": "operationType",
657
+ "type": "bytes32"
658
+ },
659
+ {
660
+ "internalType": "bytes4",
661
+ "name": "executionSelector",
662
+ "type": "bytes4"
663
+ },
664
+ {
665
+ "internalType": "bytes",
666
+ "name": "executionParams",
667
+ "type": "bytes"
668
+ },
669
+ {
670
+ "components": [
671
+ {
672
+ "internalType": "uint256",
673
+ "name": "chainId",
674
+ "type": "uint256"
675
+ },
676
+ {
677
+ "internalType": "uint256",
678
+ "name": "nonce",
679
+ "type": "uint256"
680
+ },
681
+ {
682
+ "internalType": "address",
683
+ "name": "handlerContract",
684
+ "type": "address"
685
+ },
686
+ {
687
+ "internalType": "bytes4",
688
+ "name": "handlerSelector",
689
+ "type": "bytes4"
690
+ },
691
+ {
692
+ "internalType": "enum EngineBlox.TxAction",
693
+ "name": "action",
694
+ "type": "uint8"
695
+ },
696
+ {
697
+ "internalType": "uint256",
698
+ "name": "deadline",
699
+ "type": "uint256"
700
+ },
701
+ {
702
+ "internalType": "uint256",
703
+ "name": "maxGasPrice",
704
+ "type": "uint256"
705
+ },
706
+ {
707
+ "internalType": "address",
708
+ "name": "signer",
709
+ "type": "address"
710
+ }
711
+ ],
712
+ "internalType": "struct EngineBlox.MetaTxParams",
713
+ "name": "metaTxParams",
714
+ "type": "tuple"
715
+ }
716
+ ],
717
+ "name": "generateUnsignedMetaTransactionForNew",
718
+ "outputs": [
719
+ {
720
+ "components": [
721
+ {
722
+ "components": [
723
+ {
724
+ "internalType": "uint256",
725
+ "name": "txId",
726
+ "type": "uint256"
727
+ },
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "releaseTime",
731
+ "type": "uint256"
732
+ },
733
+ {
734
+ "internalType": "enum EngineBlox.TxStatus",
735
+ "name": "status",
736
+ "type": "uint8"
737
+ },
738
+ {
739
+ "components": [
740
+ {
741
+ "internalType": "address",
742
+ "name": "requester",
743
+ "type": "address"
744
+ },
745
+ {
746
+ "internalType": "address",
747
+ "name": "target",
748
+ "type": "address"
749
+ },
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "value",
753
+ "type": "uint256"
754
+ },
755
+ {
756
+ "internalType": "uint256",
757
+ "name": "gasLimit",
758
+ "type": "uint256"
759
+ },
760
+ {
761
+ "internalType": "bytes32",
762
+ "name": "operationType",
763
+ "type": "bytes32"
764
+ },
765
+ {
766
+ "internalType": "bytes4",
767
+ "name": "executionSelector",
768
+ "type": "bytes4"
769
+ },
770
+ {
771
+ "internalType": "bytes",
772
+ "name": "executionParams",
773
+ "type": "bytes"
774
+ }
775
+ ],
776
+ "internalType": "struct EngineBlox.TxParams",
777
+ "name": "params",
778
+ "type": "tuple"
779
+ },
780
+ {
781
+ "internalType": "bytes32",
782
+ "name": "message",
783
+ "type": "bytes32"
784
+ },
785
+ {
786
+ "internalType": "bytes",
787
+ "name": "result",
788
+ "type": "bytes"
789
+ },
790
+ {
791
+ "components": [
792
+ {
793
+ "internalType": "address",
794
+ "name": "recipient",
795
+ "type": "address"
796
+ },
797
+ {
798
+ "internalType": "uint256",
799
+ "name": "nativeTokenAmount",
800
+ "type": "uint256"
801
+ },
802
+ {
803
+ "internalType": "address",
804
+ "name": "erc20TokenAddress",
805
+ "type": "address"
806
+ },
807
+ {
808
+ "internalType": "uint256",
809
+ "name": "erc20TokenAmount",
810
+ "type": "uint256"
811
+ }
812
+ ],
813
+ "internalType": "struct EngineBlox.PaymentDetails",
814
+ "name": "payment",
815
+ "type": "tuple"
816
+ }
817
+ ],
818
+ "internalType": "struct EngineBlox.TxRecord",
819
+ "name": "txRecord",
820
+ "type": "tuple"
821
+ },
822
+ {
823
+ "components": [
824
+ {
825
+ "internalType": "uint256",
826
+ "name": "chainId",
827
+ "type": "uint256"
828
+ },
829
+ {
830
+ "internalType": "uint256",
831
+ "name": "nonce",
832
+ "type": "uint256"
833
+ },
834
+ {
835
+ "internalType": "address",
836
+ "name": "handlerContract",
837
+ "type": "address"
838
+ },
839
+ {
840
+ "internalType": "bytes4",
841
+ "name": "handlerSelector",
842
+ "type": "bytes4"
843
+ },
844
+ {
845
+ "internalType": "enum EngineBlox.TxAction",
846
+ "name": "action",
847
+ "type": "uint8"
848
+ },
849
+ {
850
+ "internalType": "uint256",
851
+ "name": "deadline",
852
+ "type": "uint256"
853
+ },
854
+ {
855
+ "internalType": "uint256",
856
+ "name": "maxGasPrice",
857
+ "type": "uint256"
858
+ },
859
+ {
860
+ "internalType": "address",
861
+ "name": "signer",
862
+ "type": "address"
863
+ }
864
+ ],
865
+ "internalType": "struct EngineBlox.MetaTxParams",
866
+ "name": "params",
867
+ "type": "tuple"
868
+ },
869
+ {
870
+ "internalType": "bytes32",
871
+ "name": "message",
872
+ "type": "bytes32"
873
+ },
874
+ {
875
+ "internalType": "bytes",
876
+ "name": "signature",
877
+ "type": "bytes"
878
+ },
879
+ {
880
+ "internalType": "bytes",
881
+ "name": "data",
882
+ "type": "bytes"
883
+ }
884
+ ],
885
+ "internalType": "struct EngineBlox.MetaTransaction",
886
+ "name": "",
887
+ "type": "tuple"
888
+ }
889
+ ],
890
+ "stateMutability": "view",
891
+ "type": "function"
892
+ },
893
+ {
894
+ "inputs": [
895
+ {
896
+ "internalType": "bytes32",
897
+ "name": "roleHash",
898
+ "type": "bytes32"
899
+ }
900
+ ],
901
+ "name": "getActiveRolePermissions",
902
+ "outputs": [
903
+ {
904
+ "components": [
905
+ {
906
+ "internalType": "bytes4",
907
+ "name": "functionSelector",
908
+ "type": "bytes4"
909
+ },
910
+ {
911
+ "internalType": "uint16",
912
+ "name": "grantedActionsBitmap",
913
+ "type": "uint16"
914
+ },
915
+ {
916
+ "internalType": "bytes4[]",
917
+ "name": "handlerForSelectors",
918
+ "type": "bytes4[]"
919
+ }
920
+ ],
921
+ "internalType": "struct EngineBlox.FunctionPermission[]",
922
+ "name": "",
923
+ "type": "tuple[]"
924
+ }
925
+ ],
926
+ "stateMutability": "view",
927
+ "type": "function"
928
+ },
929
+ {
930
+ "inputs": [],
931
+ "name": "getBroadcasters",
932
+ "outputs": [
933
+ {
934
+ "internalType": "address[]",
935
+ "name": "",
936
+ "type": "address[]"
937
+ }
938
+ ],
939
+ "stateMutability": "view",
940
+ "type": "function"
941
+ },
942
+ {
943
+ "inputs": [],
944
+ "name": "getPendingTransactions",
945
+ "outputs": [
946
+ {
947
+ "internalType": "uint256[]",
948
+ "name": "",
949
+ "type": "uint256[]"
950
+ }
951
+ ],
952
+ "stateMutability": "view",
953
+ "type": "function"
954
+ },
955
+ {
956
+ "inputs": [],
957
+ "name": "getRecovery",
958
+ "outputs": [
959
+ {
960
+ "internalType": "address",
961
+ "name": "",
962
+ "type": "address"
963
+ }
964
+ ],
965
+ "stateMutability": "view",
966
+ "type": "function"
967
+ },
968
+ {
969
+ "inputs": [
970
+ {
971
+ "internalType": "bytes32",
972
+ "name": "roleHash",
973
+ "type": "bytes32"
974
+ }
975
+ ],
976
+ "name": "getRole",
977
+ "outputs": [
978
+ {
979
+ "internalType": "string",
980
+ "name": "roleName",
981
+ "type": "string"
982
+ },
983
+ {
984
+ "internalType": "bytes32",
985
+ "name": "roleHashReturn",
986
+ "type": "bytes32"
987
+ },
988
+ {
989
+ "internalType": "uint256",
990
+ "name": "maxWallets",
991
+ "type": "uint256"
992
+ },
993
+ {
994
+ "internalType": "uint256",
995
+ "name": "walletCount",
996
+ "type": "uint256"
997
+ },
998
+ {
999
+ "internalType": "bool",
1000
+ "name": "isProtected",
1001
+ "type": "bool"
1002
+ }
1003
+ ],
1004
+ "stateMutability": "view",
1005
+ "type": "function"
1006
+ },
1007
+ {
1008
+ "inputs": [
1009
+ {
1010
+ "internalType": "address",
1011
+ "name": "signer",
1012
+ "type": "address"
1013
+ }
1014
+ ],
1015
+ "name": "getSignerNonce",
1016
+ "outputs": [
1017
+ {
1018
+ "internalType": "uint256",
1019
+ "name": "",
1020
+ "type": "uint256"
1021
+ }
1022
+ ],
1023
+ "stateMutability": "view",
1024
+ "type": "function"
1025
+ },
1026
+ {
1027
+ "inputs": [],
1028
+ "name": "getSupportedFunctions",
1029
+ "outputs": [
1030
+ {
1031
+ "internalType": "bytes4[]",
1032
+ "name": "",
1033
+ "type": "bytes4[]"
1034
+ }
1035
+ ],
1036
+ "stateMutability": "view",
1037
+ "type": "function"
1038
+ },
1039
+ {
1040
+ "inputs": [],
1041
+ "name": "getSupportedOperationTypes",
1042
+ "outputs": [
1043
+ {
1044
+ "internalType": "bytes32[]",
1045
+ "name": "",
1046
+ "type": "bytes32[]"
1047
+ }
1048
+ ],
1049
+ "stateMutability": "view",
1050
+ "type": "function"
1051
+ },
1052
+ {
1053
+ "inputs": [],
1054
+ "name": "getSupportedRoles",
1055
+ "outputs": [
1056
+ {
1057
+ "internalType": "bytes32[]",
1058
+ "name": "",
1059
+ "type": "bytes32[]"
1060
+ }
1061
+ ],
1062
+ "stateMutability": "view",
1063
+ "type": "function"
1064
+ },
1065
+ {
1066
+ "inputs": [],
1067
+ "name": "getTimeLockPeriodSec",
1068
+ "outputs": [
1069
+ {
1070
+ "internalType": "uint256",
1071
+ "name": "",
1072
+ "type": "uint256"
1073
+ }
1074
+ ],
1075
+ "stateMutability": "view",
1076
+ "type": "function"
1077
+ },
1078
+ {
1079
+ "inputs": [
1080
+ {
1081
+ "internalType": "uint256",
1082
+ "name": "txId",
1083
+ "type": "uint256"
1084
+ }
1085
+ ],
1086
+ "name": "getTransaction",
1087
+ "outputs": [
1088
+ {
1089
+ "components": [
1090
+ {
1091
+ "internalType": "uint256",
1092
+ "name": "txId",
1093
+ "type": "uint256"
1094
+ },
1095
+ {
1096
+ "internalType": "uint256",
1097
+ "name": "releaseTime",
1098
+ "type": "uint256"
1099
+ },
1100
+ {
1101
+ "internalType": "enum EngineBlox.TxStatus",
1102
+ "name": "status",
1103
+ "type": "uint8"
1104
+ },
1105
+ {
1106
+ "components": [
1107
+ {
1108
+ "internalType": "address",
1109
+ "name": "requester",
1110
+ "type": "address"
1111
+ },
1112
+ {
1113
+ "internalType": "address",
1114
+ "name": "target",
1115
+ "type": "address"
1116
+ },
1117
+ {
1118
+ "internalType": "uint256",
1119
+ "name": "value",
1120
+ "type": "uint256"
1121
+ },
1122
+ {
1123
+ "internalType": "uint256",
1124
+ "name": "gasLimit",
1125
+ "type": "uint256"
1126
+ },
1127
+ {
1128
+ "internalType": "bytes32",
1129
+ "name": "operationType",
1130
+ "type": "bytes32"
1131
+ },
1132
+ {
1133
+ "internalType": "bytes4",
1134
+ "name": "executionSelector",
1135
+ "type": "bytes4"
1136
+ },
1137
+ {
1138
+ "internalType": "bytes",
1139
+ "name": "executionParams",
1140
+ "type": "bytes"
1141
+ }
1142
+ ],
1143
+ "internalType": "struct EngineBlox.TxParams",
1144
+ "name": "params",
1145
+ "type": "tuple"
1146
+ },
1147
+ {
1148
+ "internalType": "bytes32",
1149
+ "name": "message",
1150
+ "type": "bytes32"
1151
+ },
1152
+ {
1153
+ "internalType": "bytes",
1154
+ "name": "result",
1155
+ "type": "bytes"
1156
+ },
1157
+ {
1158
+ "components": [
1159
+ {
1160
+ "internalType": "address",
1161
+ "name": "recipient",
1162
+ "type": "address"
1163
+ },
1164
+ {
1165
+ "internalType": "uint256",
1166
+ "name": "nativeTokenAmount",
1167
+ "type": "uint256"
1168
+ },
1169
+ {
1170
+ "internalType": "address",
1171
+ "name": "erc20TokenAddress",
1172
+ "type": "address"
1173
+ },
1174
+ {
1175
+ "internalType": "uint256",
1176
+ "name": "erc20TokenAmount",
1177
+ "type": "uint256"
1178
+ }
1179
+ ],
1180
+ "internalType": "struct EngineBlox.PaymentDetails",
1181
+ "name": "payment",
1182
+ "type": "tuple"
1183
+ }
1184
+ ],
1185
+ "internalType": "struct EngineBlox.TxRecord",
1186
+ "name": "",
1187
+ "type": "tuple"
1188
+ }
1189
+ ],
1190
+ "stateMutability": "view",
1191
+ "type": "function"
1192
+ },
1193
+ {
1194
+ "inputs": [
1195
+ {
1196
+ "internalType": "uint256",
1197
+ "name": "fromTxId",
1198
+ "type": "uint256"
1199
+ },
1200
+ {
1201
+ "internalType": "uint256",
1202
+ "name": "toTxId",
1203
+ "type": "uint256"
1204
+ }
1205
+ ],
1206
+ "name": "getTransactionHistory",
1207
+ "outputs": [
1208
+ {
1209
+ "components": [
1210
+ {
1211
+ "internalType": "uint256",
1212
+ "name": "txId",
1213
+ "type": "uint256"
1214
+ },
1215
+ {
1216
+ "internalType": "uint256",
1217
+ "name": "releaseTime",
1218
+ "type": "uint256"
1219
+ },
1220
+ {
1221
+ "internalType": "enum EngineBlox.TxStatus",
1222
+ "name": "status",
1223
+ "type": "uint8"
1224
+ },
1225
+ {
1226
+ "components": [
1227
+ {
1228
+ "internalType": "address",
1229
+ "name": "requester",
1230
+ "type": "address"
1231
+ },
1232
+ {
1233
+ "internalType": "address",
1234
+ "name": "target",
1235
+ "type": "address"
1236
+ },
1237
+ {
1238
+ "internalType": "uint256",
1239
+ "name": "value",
1240
+ "type": "uint256"
1241
+ },
1242
+ {
1243
+ "internalType": "uint256",
1244
+ "name": "gasLimit",
1245
+ "type": "uint256"
1246
+ },
1247
+ {
1248
+ "internalType": "bytes32",
1249
+ "name": "operationType",
1250
+ "type": "bytes32"
1251
+ },
1252
+ {
1253
+ "internalType": "bytes4",
1254
+ "name": "executionSelector",
1255
+ "type": "bytes4"
1256
+ },
1257
+ {
1258
+ "internalType": "bytes",
1259
+ "name": "executionParams",
1260
+ "type": "bytes"
1261
+ }
1262
+ ],
1263
+ "internalType": "struct EngineBlox.TxParams",
1264
+ "name": "params",
1265
+ "type": "tuple"
1266
+ },
1267
+ {
1268
+ "internalType": "bytes32",
1269
+ "name": "message",
1270
+ "type": "bytes32"
1271
+ },
1272
+ {
1273
+ "internalType": "bytes",
1274
+ "name": "result",
1275
+ "type": "bytes"
1276
+ },
1277
+ {
1278
+ "components": [
1279
+ {
1280
+ "internalType": "address",
1281
+ "name": "recipient",
1282
+ "type": "address"
1283
+ },
1284
+ {
1285
+ "internalType": "uint256",
1286
+ "name": "nativeTokenAmount",
1287
+ "type": "uint256"
1288
+ },
1289
+ {
1290
+ "internalType": "address",
1291
+ "name": "erc20TokenAddress",
1292
+ "type": "address"
1293
+ },
1294
+ {
1295
+ "internalType": "uint256",
1296
+ "name": "erc20TokenAmount",
1297
+ "type": "uint256"
1298
+ }
1299
+ ],
1300
+ "internalType": "struct EngineBlox.PaymentDetails",
1301
+ "name": "payment",
1302
+ "type": "tuple"
1303
+ }
1304
+ ],
1305
+ "internalType": "struct EngineBlox.TxRecord[]",
1306
+ "name": "",
1307
+ "type": "tuple[]"
1308
+ }
1309
+ ],
1310
+ "stateMutability": "view",
1311
+ "type": "function"
1312
+ },
1313
+ {
1314
+ "inputs": [
1315
+ {
1316
+ "internalType": "address",
1317
+ "name": "wallet",
1318
+ "type": "address"
1319
+ }
1320
+ ],
1321
+ "name": "getWalletRoles",
1322
+ "outputs": [
1323
+ {
1324
+ "internalType": "bytes32[]",
1325
+ "name": "",
1326
+ "type": "bytes32[]"
1327
+ }
1328
+ ],
1329
+ "stateMutability": "view",
1330
+ "type": "function"
1331
+ },
1332
+ {
1333
+ "inputs": [
1334
+ {
1335
+ "internalType": "bytes32",
1336
+ "name": "roleHash",
1337
+ "type": "bytes32"
1338
+ },
1339
+ {
1340
+ "internalType": "address",
1341
+ "name": "wallet",
1342
+ "type": "address"
1343
+ }
1344
+ ],
1345
+ "name": "hasRole",
1346
+ "outputs": [
1347
+ {
1348
+ "internalType": "bool",
1349
+ "name": "",
1350
+ "type": "bool"
1351
+ }
1352
+ ],
1353
+ "stateMutability": "view",
1354
+ "type": "function"
1355
+ },
1356
+ {
1357
+ "inputs": [],
1358
+ "name": "initialized",
1359
+ "outputs": [
1360
+ {
1361
+ "internalType": "bool",
1362
+ "name": "",
1363
+ "type": "bool"
1364
+ }
1365
+ ],
1366
+ "stateMutability": "view",
1367
+ "type": "function"
1368
+ },
1369
+ {
1370
+ "inputs": [
1371
+ {
1372
+ "internalType": "bytes4",
1373
+ "name": "functionSelector",
1374
+ "type": "bytes4"
1375
+ },
1376
+ {
1377
+ "internalType": "enum EngineBlox.TxAction",
1378
+ "name": "action",
1379
+ "type": "uint8"
1380
+ }
1381
+ ],
1382
+ "name": "isActionSupportedByFunction",
1383
+ "outputs": [
1384
+ {
1385
+ "internalType": "bool",
1386
+ "name": "",
1387
+ "type": "bool"
1388
+ }
1389
+ ],
1390
+ "stateMutability": "view",
1391
+ "type": "function"
1392
+ },
1393
+ {
1394
+ "inputs": [],
1395
+ "name": "owner",
1396
+ "outputs": [
1397
+ {
1398
+ "internalType": "address",
1399
+ "name": "",
1400
+ "type": "address"
1401
+ }
1402
+ ],
1403
+ "stateMutability": "view",
1404
+ "type": "function"
1405
+ },
1406
+ {
1407
+ "inputs": [
1408
+ {
1409
+ "internalType": "address",
1410
+ "name": "initialOwner",
1411
+ "type": "address"
1412
+ },
1413
+ {
1414
+ "internalType": "address",
1415
+ "name": "broadcaster",
1416
+ "type": "address"
1417
+ },
1418
+ {
1419
+ "internalType": "address",
1420
+ "name": "recovery",
1421
+ "type": "address"
1422
+ },
1423
+ {
1424
+ "internalType": "uint256",
1425
+ "name": "timeLockPeriodSec",
1426
+ "type": "uint256"
1427
+ },
1428
+ {
1429
+ "internalType": "address",
1430
+ "name": "eventForwarder",
1431
+ "type": "address"
1432
+ }
1433
+ ],
1434
+ "name": "initialize",
1435
+ "outputs": [],
1436
+ "stateMutability": "nonpayable",
1437
+ "type": "function"
1438
+ },
1439
+ {
1440
+ "inputs": [
1441
+ {
1442
+ "internalType": "bytes4",
1443
+ "name": "interfaceId",
1444
+ "type": "bytes4"
1445
+ }
1446
+ ],
1447
+ "name": "supportsInterface",
1448
+ "outputs": [
1449
+ {
1450
+ "internalType": "bool",
1451
+ "name": "",
1452
+ "type": "bool"
1453
+ }
1454
+ ],
1455
+ "stateMutability": "view",
1456
+ "type": "function"
1457
+ },
1458
+ {
1459
+ "inputs": [
1460
+ {
1461
+ "components": [
1462
+ {
1463
+ "internalType": "enum RuntimeRBAC.RoleConfigActionType",
1464
+ "name": "actionType",
1465
+ "type": "uint8"
1466
+ },
1467
+ {
1468
+ "internalType": "bytes",
1469
+ "name": "data",
1470
+ "type": "bytes"
1471
+ }
1472
+ ],
1473
+ "internalType": "struct RuntimeRBAC.RoleConfigAction[]",
1474
+ "name": "actions",
1475
+ "type": "tuple[]"
1476
+ }
1477
+ ],
1478
+ "name": "roleConfigBatchExecutionParams",
1479
+ "outputs": [
1480
+ {
1481
+ "internalType": "bytes",
1482
+ "name": "",
1483
+ "type": "bytes"
1484
+ }
1485
+ ],
1486
+ "stateMutability": "pure",
1487
+ "type": "function"
1488
+ },
1489
+ {
1490
+ "inputs": [
1491
+ {
1492
+ "components": [
1493
+ {
1494
+ "components": [
1495
+ {
1496
+ "internalType": "uint256",
1497
+ "name": "txId",
1498
+ "type": "uint256"
1499
+ },
1500
+ {
1501
+ "internalType": "uint256",
1502
+ "name": "releaseTime",
1503
+ "type": "uint256"
1504
+ },
1505
+ {
1506
+ "internalType": "enum EngineBlox.TxStatus",
1507
+ "name": "status",
1508
+ "type": "uint8"
1509
+ },
1510
+ {
1511
+ "components": [
1512
+ {
1513
+ "internalType": "address",
1514
+ "name": "requester",
1515
+ "type": "address"
1516
+ },
1517
+ {
1518
+ "internalType": "address",
1519
+ "name": "target",
1520
+ "type": "address"
1521
+ },
1522
+ {
1523
+ "internalType": "uint256",
1524
+ "name": "value",
1525
+ "type": "uint256"
1526
+ },
1527
+ {
1528
+ "internalType": "uint256",
1529
+ "name": "gasLimit",
1530
+ "type": "uint256"
1531
+ },
1532
+ {
1533
+ "internalType": "bytes32",
1534
+ "name": "operationType",
1535
+ "type": "bytes32"
1536
+ },
1537
+ {
1538
+ "internalType": "bytes4",
1539
+ "name": "executionSelector",
1540
+ "type": "bytes4"
1541
+ },
1542
+ {
1543
+ "internalType": "bytes",
1544
+ "name": "executionParams",
1545
+ "type": "bytes"
1546
+ }
1547
+ ],
1548
+ "internalType": "struct EngineBlox.TxParams",
1549
+ "name": "params",
1550
+ "type": "tuple"
1551
+ },
1552
+ {
1553
+ "internalType": "bytes32",
1554
+ "name": "message",
1555
+ "type": "bytes32"
1556
+ },
1557
+ {
1558
+ "internalType": "bytes",
1559
+ "name": "result",
1560
+ "type": "bytes"
1561
+ },
1562
+ {
1563
+ "components": [
1564
+ {
1565
+ "internalType": "address",
1566
+ "name": "recipient",
1567
+ "type": "address"
1568
+ },
1569
+ {
1570
+ "internalType": "uint256",
1571
+ "name": "nativeTokenAmount",
1572
+ "type": "uint256"
1573
+ },
1574
+ {
1575
+ "internalType": "address",
1576
+ "name": "erc20TokenAddress",
1577
+ "type": "address"
1578
+ },
1579
+ {
1580
+ "internalType": "uint256",
1581
+ "name": "erc20TokenAmount",
1582
+ "type": "uint256"
1583
+ }
1584
+ ],
1585
+ "internalType": "struct EngineBlox.PaymentDetails",
1586
+ "name": "payment",
1587
+ "type": "tuple"
1588
+ }
1589
+ ],
1590
+ "internalType": "struct EngineBlox.TxRecord",
1591
+ "name": "txRecord",
1592
+ "type": "tuple"
1593
+ },
1594
+ {
1595
+ "components": [
1596
+ {
1597
+ "internalType": "uint256",
1598
+ "name": "chainId",
1599
+ "type": "uint256"
1600
+ },
1601
+ {
1602
+ "internalType": "uint256",
1603
+ "name": "nonce",
1604
+ "type": "uint256"
1605
+ },
1606
+ {
1607
+ "internalType": "address",
1608
+ "name": "handlerContract",
1609
+ "type": "address"
1610
+ },
1611
+ {
1612
+ "internalType": "bytes4",
1613
+ "name": "handlerSelector",
1614
+ "type": "bytes4"
1615
+ },
1616
+ {
1617
+ "internalType": "enum EngineBlox.TxAction",
1618
+ "name": "action",
1619
+ "type": "uint8"
1620
+ },
1621
+ {
1622
+ "internalType": "uint256",
1623
+ "name": "deadline",
1624
+ "type": "uint256"
1625
+ },
1626
+ {
1627
+ "internalType": "uint256",
1628
+ "name": "maxGasPrice",
1629
+ "type": "uint256"
1630
+ },
1631
+ {
1632
+ "internalType": "address",
1633
+ "name": "signer",
1634
+ "type": "address"
1635
+ }
1636
+ ],
1637
+ "internalType": "struct EngineBlox.MetaTxParams",
1638
+ "name": "params",
1639
+ "type": "tuple"
1640
+ },
1641
+ {
1642
+ "internalType": "bytes32",
1643
+ "name": "message",
1644
+ "type": "bytes32"
1645
+ },
1646
+ {
1647
+ "internalType": "bytes",
1648
+ "name": "signature",
1649
+ "type": "bytes"
1650
+ },
1651
+ {
1652
+ "internalType": "bytes",
1653
+ "name": "data",
1654
+ "type": "bytes"
1655
+ }
1656
+ ],
1657
+ "internalType": "struct EngineBlox.MetaTransaction",
1658
+ "name": "metaTx",
1659
+ "type": "tuple"
1660
+ }
1661
+ ],
1662
+ "name": "roleConfigBatchRequestAndApprove",
1663
+ "outputs": [
1664
+ {
1665
+ "components": [
1666
+ {
1667
+ "internalType": "uint256",
1668
+ "name": "txId",
1669
+ "type": "uint256"
1670
+ },
1671
+ {
1672
+ "internalType": "uint256",
1673
+ "name": "releaseTime",
1674
+ "type": "uint256"
1675
+ },
1676
+ {
1677
+ "internalType": "enum EngineBlox.TxStatus",
1678
+ "name": "status",
1679
+ "type": "uint8"
1680
+ },
1681
+ {
1682
+ "components": [
1683
+ {
1684
+ "internalType": "address",
1685
+ "name": "requester",
1686
+ "type": "address"
1687
+ },
1688
+ {
1689
+ "internalType": "address",
1690
+ "name": "target",
1691
+ "type": "address"
1692
+ },
1693
+ {
1694
+ "internalType": "uint256",
1695
+ "name": "value",
1696
+ "type": "uint256"
1697
+ },
1698
+ {
1699
+ "internalType": "uint256",
1700
+ "name": "gasLimit",
1701
+ "type": "uint256"
1702
+ },
1703
+ {
1704
+ "internalType": "bytes32",
1705
+ "name": "operationType",
1706
+ "type": "bytes32"
1707
+ },
1708
+ {
1709
+ "internalType": "bytes4",
1710
+ "name": "executionSelector",
1711
+ "type": "bytes4"
1712
+ },
1713
+ {
1714
+ "internalType": "bytes",
1715
+ "name": "executionParams",
1716
+ "type": "bytes"
1717
+ }
1718
+ ],
1719
+ "internalType": "struct EngineBlox.TxParams",
1720
+ "name": "params",
1721
+ "type": "tuple"
1722
+ },
1723
+ {
1724
+ "internalType": "bytes32",
1725
+ "name": "message",
1726
+ "type": "bytes32"
1727
+ },
1728
+ {
1729
+ "internalType": "bytes",
1730
+ "name": "result",
1731
+ "type": "bytes"
1732
+ },
1733
+ {
1734
+ "components": [
1735
+ {
1736
+ "internalType": "address",
1737
+ "name": "recipient",
1738
+ "type": "address"
1739
+ },
1740
+ {
1741
+ "internalType": "uint256",
1742
+ "name": "nativeTokenAmount",
1743
+ "type": "uint256"
1744
+ },
1745
+ {
1746
+ "internalType": "address",
1747
+ "name": "erc20TokenAddress",
1748
+ "type": "address"
1749
+ },
1750
+ {
1751
+ "internalType": "uint256",
1752
+ "name": "erc20TokenAmount",
1753
+ "type": "uint256"
1754
+ }
1755
+ ],
1756
+ "internalType": "struct EngineBlox.PaymentDetails",
1757
+ "name": "payment",
1758
+ "type": "tuple"
1759
+ }
1760
+ ],
1761
+ "internalType": "struct EngineBlox.TxRecord",
1762
+ "name": "",
1763
+ "type": "tuple"
1764
+ }
1765
+ ],
1766
+ "stateMutability": "nonpayable",
1767
+ "type": "function"
1768
+ },
1769
+ {
1770
+ "inputs": [
1771
+ {
1772
+ "components": [
1773
+ {
1774
+ "internalType": "enum RuntimeRBAC.RoleConfigActionType",
1775
+ "name": "actionType",
1776
+ "type": "uint8"
1777
+ },
1778
+ {
1779
+ "internalType": "bytes",
1780
+ "name": "data",
1781
+ "type": "bytes"
1782
+ }
1783
+ ],
1784
+ "internalType": "struct RuntimeRBAC.RoleConfigAction[]",
1785
+ "name": "actions",
1786
+ "type": "tuple[]"
1787
+ }
1788
+ ],
1789
+ "name": "executeRoleConfigBatch",
1790
+ "outputs": [],
1791
+ "stateMutability": "nonpayable",
1792
+ "type": "function"
1793
+ },
1794
+ {
1795
+ "inputs": [
1796
+ {
1797
+ "internalType": "bytes4",
1798
+ "name": "functionSelector",
1799
+ "type": "bytes4"
1800
+ }
1801
+ ],
1802
+ "name": "getFunctionSchema",
1803
+ "outputs": [
1804
+ {
1805
+ "internalType": "string",
1806
+ "name": "functionSignature",
1807
+ "type": "string"
1808
+ },
1809
+ {
1810
+ "internalType": "bytes4",
1811
+ "name": "functionSelectorReturn",
1812
+ "type": "bytes4"
1813
+ },
1814
+ {
1815
+ "internalType": "bytes32",
1816
+ "name": "operationType",
1817
+ "type": "bytes32"
1818
+ },
1819
+ {
1820
+ "internalType": "string",
1821
+ "name": "operationName",
1822
+ "type": "string"
1823
+ },
1824
+ {
1825
+ "internalType": "enum EngineBlox.TxAction[]",
1826
+ "name": "supportedActions",
1827
+ "type": "uint8[]"
1828
+ },
1829
+ {
1830
+ "internalType": "bool",
1831
+ "name": "isProtected",
1832
+ "type": "bool"
1833
+ }
1834
+ ],
1835
+ "stateMutability": "view",
1836
+ "type": "function"
1837
+ },
1838
+ {
1839
+ "inputs": [
1840
+ {
1841
+ "internalType": "bytes32",
1842
+ "name": "roleHash",
1843
+ "type": "bytes32"
1844
+ }
1845
+ ],
1846
+ "name": "getWalletsInRole",
1847
+ "outputs": [
1848
+ {
1849
+ "internalType": "address[]",
1850
+ "name": "",
1851
+ "type": "address[]"
1852
+ }
1853
+ ],
1854
+ "stateMutability": "view",
1855
+ "type": "function"
1856
+ }
1857
+ ]