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