@iexec-nox/nox-protocol-contracts 0.2.1 → 0.2.3

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.
@@ -0,0 +1,4802 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "Common",
4
+ "sourceName": "contracts/modules/Common.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "InvalidEmptyBytes",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "bytes",
15
+ "name": "proof",
16
+ "type": "bytes"
17
+ },
18
+ {
19
+ "internalType": "string",
20
+ "name": "reason",
21
+ "type": "string"
22
+ }
23
+ ],
24
+ "name": "InvalidProof",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "InvalidZeroAddress",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "bytes32",
36
+ "name": "handle",
37
+ "type": "bytes32"
38
+ },
39
+ {
40
+ "internalType": "address",
41
+ "name": "account",
42
+ "type": "address"
43
+ }
44
+ ],
45
+ "name": "NotAllowed",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [
50
+ {
51
+ "internalType": "bytes32",
52
+ "name": "handle",
53
+ "type": "bytes32"
54
+ }
55
+ ],
56
+ "name": "NotPubliclyDecryptable",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [],
61
+ "name": "PublicHandleACLForbidden",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "address",
68
+ "name": "sender",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "name": "UnauthorizedSender",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [],
77
+ "name": "UndefinedHandle",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "anonymous": false,
82
+ "inputs": [
83
+ {
84
+ "indexed": true,
85
+ "internalType": "address",
86
+ "name": "caller",
87
+ "type": "address"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "bytes32",
92
+ "name": "leftHandOperand",
93
+ "type": "bytes32"
94
+ },
95
+ {
96
+ "indexed": false,
97
+ "internalType": "bytes32",
98
+ "name": "rightHandOperand",
99
+ "type": "bytes32"
100
+ },
101
+ {
102
+ "indexed": false,
103
+ "internalType": "bytes32",
104
+ "name": "result",
105
+ "type": "bytes32"
106
+ }
107
+ ],
108
+ "name": "Add",
109
+ "type": "event"
110
+ },
111
+ {
112
+ "anonymous": false,
113
+ "inputs": [
114
+ {
115
+ "indexed": true,
116
+ "internalType": "address",
117
+ "name": "sender",
118
+ "type": "address"
119
+ },
120
+ {
121
+ "indexed": true,
122
+ "internalType": "address",
123
+ "name": "account",
124
+ "type": "address"
125
+ },
126
+ {
127
+ "indexed": true,
128
+ "internalType": "bytes32",
129
+ "name": "handle",
130
+ "type": "bytes32"
131
+ }
132
+ ],
133
+ "name": "Allowed",
134
+ "type": "event"
135
+ },
136
+ {
137
+ "anonymous": false,
138
+ "inputs": [
139
+ {
140
+ "indexed": true,
141
+ "internalType": "address",
142
+ "name": "caller",
143
+ "type": "address"
144
+ },
145
+ {
146
+ "indexed": false,
147
+ "internalType": "bytes32",
148
+ "name": "balanceFrom",
149
+ "type": "bytes32"
150
+ },
151
+ {
152
+ "indexed": false,
153
+ "internalType": "bytes32",
154
+ "name": "amount",
155
+ "type": "bytes32"
156
+ },
157
+ {
158
+ "indexed": false,
159
+ "internalType": "bytes32",
160
+ "name": "totalSupply",
161
+ "type": "bytes32"
162
+ },
163
+ {
164
+ "indexed": false,
165
+ "internalType": "bytes32",
166
+ "name": "success",
167
+ "type": "bytes32"
168
+ },
169
+ {
170
+ "indexed": false,
171
+ "internalType": "bytes32",
172
+ "name": "newBalanceFrom",
173
+ "type": "bytes32"
174
+ },
175
+ {
176
+ "indexed": false,
177
+ "internalType": "bytes32",
178
+ "name": "newTotalSupply",
179
+ "type": "bytes32"
180
+ }
181
+ ],
182
+ "name": "Burn",
183
+ "type": "event"
184
+ },
185
+ {
186
+ "anonymous": false,
187
+ "inputs": [
188
+ {
189
+ "indexed": true,
190
+ "internalType": "address",
191
+ "name": "caller",
192
+ "type": "address"
193
+ },
194
+ {
195
+ "indexed": false,
196
+ "internalType": "bytes32",
197
+ "name": "leftHandOperand",
198
+ "type": "bytes32"
199
+ },
200
+ {
201
+ "indexed": false,
202
+ "internalType": "bytes32",
203
+ "name": "rightHandOperand",
204
+ "type": "bytes32"
205
+ },
206
+ {
207
+ "indexed": false,
208
+ "internalType": "bytes32",
209
+ "name": "result",
210
+ "type": "bytes32"
211
+ }
212
+ ],
213
+ "name": "Div",
214
+ "type": "event"
215
+ },
216
+ {
217
+ "anonymous": false,
218
+ "inputs": [
219
+ {
220
+ "indexed": true,
221
+ "internalType": "address",
222
+ "name": "caller",
223
+ "type": "address"
224
+ },
225
+ {
226
+ "indexed": false,
227
+ "internalType": "bytes32",
228
+ "name": "leftHandOperand",
229
+ "type": "bytes32"
230
+ },
231
+ {
232
+ "indexed": false,
233
+ "internalType": "bytes32",
234
+ "name": "rightHandOperand",
235
+ "type": "bytes32"
236
+ },
237
+ {
238
+ "indexed": false,
239
+ "internalType": "bytes32",
240
+ "name": "result",
241
+ "type": "bytes32"
242
+ }
243
+ ],
244
+ "name": "Eq",
245
+ "type": "event"
246
+ },
247
+ {
248
+ "anonymous": false,
249
+ "inputs": [
250
+ {
251
+ "indexed": true,
252
+ "internalType": "address",
253
+ "name": "newGateway",
254
+ "type": "address"
255
+ }
256
+ ],
257
+ "name": "GatewayUpdated",
258
+ "type": "event"
259
+ },
260
+ {
261
+ "anonymous": false,
262
+ "inputs": [
263
+ {
264
+ "indexed": true,
265
+ "internalType": "address",
266
+ "name": "caller",
267
+ "type": "address"
268
+ },
269
+ {
270
+ "indexed": false,
271
+ "internalType": "bytes32",
272
+ "name": "leftHandOperand",
273
+ "type": "bytes32"
274
+ },
275
+ {
276
+ "indexed": false,
277
+ "internalType": "bytes32",
278
+ "name": "rightHandOperand",
279
+ "type": "bytes32"
280
+ },
281
+ {
282
+ "indexed": false,
283
+ "internalType": "bytes32",
284
+ "name": "result",
285
+ "type": "bytes32"
286
+ }
287
+ ],
288
+ "name": "Ge",
289
+ "type": "event"
290
+ },
291
+ {
292
+ "anonymous": false,
293
+ "inputs": [
294
+ {
295
+ "indexed": true,
296
+ "internalType": "address",
297
+ "name": "caller",
298
+ "type": "address"
299
+ },
300
+ {
301
+ "indexed": false,
302
+ "internalType": "bytes32",
303
+ "name": "leftHandOperand",
304
+ "type": "bytes32"
305
+ },
306
+ {
307
+ "indexed": false,
308
+ "internalType": "bytes32",
309
+ "name": "rightHandOperand",
310
+ "type": "bytes32"
311
+ },
312
+ {
313
+ "indexed": false,
314
+ "internalType": "bytes32",
315
+ "name": "result",
316
+ "type": "bytes32"
317
+ }
318
+ ],
319
+ "name": "Gt",
320
+ "type": "event"
321
+ },
322
+ {
323
+ "anonymous": false,
324
+ "inputs": [
325
+ {
326
+ "indexed": false,
327
+ "internalType": "bytes",
328
+ "name": "newKmsPublicKey",
329
+ "type": "bytes"
330
+ }
331
+ ],
332
+ "name": "KmsPublicKeyUpdated",
333
+ "type": "event"
334
+ },
335
+ {
336
+ "anonymous": false,
337
+ "inputs": [
338
+ {
339
+ "indexed": true,
340
+ "internalType": "address",
341
+ "name": "caller",
342
+ "type": "address"
343
+ },
344
+ {
345
+ "indexed": false,
346
+ "internalType": "bytes32",
347
+ "name": "leftHandOperand",
348
+ "type": "bytes32"
349
+ },
350
+ {
351
+ "indexed": false,
352
+ "internalType": "bytes32",
353
+ "name": "rightHandOperand",
354
+ "type": "bytes32"
355
+ },
356
+ {
357
+ "indexed": false,
358
+ "internalType": "bytes32",
359
+ "name": "result",
360
+ "type": "bytes32"
361
+ }
362
+ ],
363
+ "name": "Le",
364
+ "type": "event"
365
+ },
366
+ {
367
+ "anonymous": false,
368
+ "inputs": [
369
+ {
370
+ "indexed": true,
371
+ "internalType": "address",
372
+ "name": "caller",
373
+ "type": "address"
374
+ },
375
+ {
376
+ "indexed": false,
377
+ "internalType": "bytes32",
378
+ "name": "leftHandOperand",
379
+ "type": "bytes32"
380
+ },
381
+ {
382
+ "indexed": false,
383
+ "internalType": "bytes32",
384
+ "name": "rightHandOperand",
385
+ "type": "bytes32"
386
+ },
387
+ {
388
+ "indexed": false,
389
+ "internalType": "bytes32",
390
+ "name": "result",
391
+ "type": "bytes32"
392
+ }
393
+ ],
394
+ "name": "Lt",
395
+ "type": "event"
396
+ },
397
+ {
398
+ "anonymous": false,
399
+ "inputs": [
400
+ {
401
+ "indexed": true,
402
+ "internalType": "address",
403
+ "name": "sender",
404
+ "type": "address"
405
+ },
406
+ {
407
+ "indexed": true,
408
+ "internalType": "bytes32",
409
+ "name": "handle",
410
+ "type": "bytes32"
411
+ }
412
+ ],
413
+ "name": "MarkedAsPubliclyDecryptable",
414
+ "type": "event"
415
+ },
416
+ {
417
+ "anonymous": false,
418
+ "inputs": [
419
+ {
420
+ "indexed": true,
421
+ "internalType": "address",
422
+ "name": "caller",
423
+ "type": "address"
424
+ },
425
+ {
426
+ "indexed": false,
427
+ "internalType": "bytes32",
428
+ "name": "balanceTo",
429
+ "type": "bytes32"
430
+ },
431
+ {
432
+ "indexed": false,
433
+ "internalType": "bytes32",
434
+ "name": "amount",
435
+ "type": "bytes32"
436
+ },
437
+ {
438
+ "indexed": false,
439
+ "internalType": "bytes32",
440
+ "name": "totalSupply",
441
+ "type": "bytes32"
442
+ },
443
+ {
444
+ "indexed": false,
445
+ "internalType": "bytes32",
446
+ "name": "success",
447
+ "type": "bytes32"
448
+ },
449
+ {
450
+ "indexed": false,
451
+ "internalType": "bytes32",
452
+ "name": "newBalanceTo",
453
+ "type": "bytes32"
454
+ },
455
+ {
456
+ "indexed": false,
457
+ "internalType": "bytes32",
458
+ "name": "newTotalSupply",
459
+ "type": "bytes32"
460
+ }
461
+ ],
462
+ "name": "Mint",
463
+ "type": "event"
464
+ },
465
+ {
466
+ "anonymous": false,
467
+ "inputs": [
468
+ {
469
+ "indexed": true,
470
+ "internalType": "address",
471
+ "name": "caller",
472
+ "type": "address"
473
+ },
474
+ {
475
+ "indexed": false,
476
+ "internalType": "bytes32",
477
+ "name": "leftHandOperand",
478
+ "type": "bytes32"
479
+ },
480
+ {
481
+ "indexed": false,
482
+ "internalType": "bytes32",
483
+ "name": "rightHandOperand",
484
+ "type": "bytes32"
485
+ },
486
+ {
487
+ "indexed": false,
488
+ "internalType": "bytes32",
489
+ "name": "result",
490
+ "type": "bytes32"
491
+ }
492
+ ],
493
+ "name": "Mul",
494
+ "type": "event"
495
+ },
496
+ {
497
+ "anonymous": false,
498
+ "inputs": [
499
+ {
500
+ "indexed": true,
501
+ "internalType": "address",
502
+ "name": "caller",
503
+ "type": "address"
504
+ },
505
+ {
506
+ "indexed": false,
507
+ "internalType": "bytes32",
508
+ "name": "leftHandOperand",
509
+ "type": "bytes32"
510
+ },
511
+ {
512
+ "indexed": false,
513
+ "internalType": "bytes32",
514
+ "name": "rightHandOperand",
515
+ "type": "bytes32"
516
+ },
517
+ {
518
+ "indexed": false,
519
+ "internalType": "bytes32",
520
+ "name": "result",
521
+ "type": "bytes32"
522
+ }
523
+ ],
524
+ "name": "Ne",
525
+ "type": "event"
526
+ },
527
+ {
528
+ "anonymous": false,
529
+ "inputs": [
530
+ {
531
+ "indexed": false,
532
+ "internalType": "uint256",
533
+ "name": "newDuration",
534
+ "type": "uint256"
535
+ }
536
+ ],
537
+ "name": "ProofExpirationDurationUpdated",
538
+ "type": "event"
539
+ },
540
+ {
541
+ "anonymous": false,
542
+ "inputs": [
543
+ {
544
+ "indexed": true,
545
+ "internalType": "address",
546
+ "name": "caller",
547
+ "type": "address"
548
+ },
549
+ {
550
+ "indexed": false,
551
+ "internalType": "bytes32",
552
+ "name": "leftHandOperand",
553
+ "type": "bytes32"
554
+ },
555
+ {
556
+ "indexed": false,
557
+ "internalType": "bytes32",
558
+ "name": "rightHandOperand",
559
+ "type": "bytes32"
560
+ },
561
+ {
562
+ "indexed": false,
563
+ "internalType": "bytes32",
564
+ "name": "success",
565
+ "type": "bytes32"
566
+ },
567
+ {
568
+ "indexed": false,
569
+ "internalType": "bytes32",
570
+ "name": "result",
571
+ "type": "bytes32"
572
+ }
573
+ ],
574
+ "name": "SafeAdd",
575
+ "type": "event"
576
+ },
577
+ {
578
+ "anonymous": false,
579
+ "inputs": [
580
+ {
581
+ "indexed": true,
582
+ "internalType": "address",
583
+ "name": "caller",
584
+ "type": "address"
585
+ },
586
+ {
587
+ "indexed": false,
588
+ "internalType": "bytes32",
589
+ "name": "numerator",
590
+ "type": "bytes32"
591
+ },
592
+ {
593
+ "indexed": false,
594
+ "internalType": "bytes32",
595
+ "name": "denominator",
596
+ "type": "bytes32"
597
+ },
598
+ {
599
+ "indexed": false,
600
+ "internalType": "bytes32",
601
+ "name": "success",
602
+ "type": "bytes32"
603
+ },
604
+ {
605
+ "indexed": false,
606
+ "internalType": "bytes32",
607
+ "name": "result",
608
+ "type": "bytes32"
609
+ }
610
+ ],
611
+ "name": "SafeDiv",
612
+ "type": "event"
613
+ },
614
+ {
615
+ "anonymous": false,
616
+ "inputs": [
617
+ {
618
+ "indexed": true,
619
+ "internalType": "address",
620
+ "name": "caller",
621
+ "type": "address"
622
+ },
623
+ {
624
+ "indexed": false,
625
+ "internalType": "bytes32",
626
+ "name": "leftHandOperand",
627
+ "type": "bytes32"
628
+ },
629
+ {
630
+ "indexed": false,
631
+ "internalType": "bytes32",
632
+ "name": "rightHandOperand",
633
+ "type": "bytes32"
634
+ },
635
+ {
636
+ "indexed": false,
637
+ "internalType": "bytes32",
638
+ "name": "success",
639
+ "type": "bytes32"
640
+ },
641
+ {
642
+ "indexed": false,
643
+ "internalType": "bytes32",
644
+ "name": "result",
645
+ "type": "bytes32"
646
+ }
647
+ ],
648
+ "name": "SafeMul",
649
+ "type": "event"
650
+ },
651
+ {
652
+ "anonymous": false,
653
+ "inputs": [
654
+ {
655
+ "indexed": true,
656
+ "internalType": "address",
657
+ "name": "caller",
658
+ "type": "address"
659
+ },
660
+ {
661
+ "indexed": false,
662
+ "internalType": "bytes32",
663
+ "name": "leftHandOperand",
664
+ "type": "bytes32"
665
+ },
666
+ {
667
+ "indexed": false,
668
+ "internalType": "bytes32",
669
+ "name": "rightHandOperand",
670
+ "type": "bytes32"
671
+ },
672
+ {
673
+ "indexed": false,
674
+ "internalType": "bytes32",
675
+ "name": "success",
676
+ "type": "bytes32"
677
+ },
678
+ {
679
+ "indexed": false,
680
+ "internalType": "bytes32",
681
+ "name": "result",
682
+ "type": "bytes32"
683
+ }
684
+ ],
685
+ "name": "SafeSub",
686
+ "type": "event"
687
+ },
688
+ {
689
+ "anonymous": false,
690
+ "inputs": [
691
+ {
692
+ "indexed": true,
693
+ "internalType": "address",
694
+ "name": "caller",
695
+ "type": "address"
696
+ },
697
+ {
698
+ "indexed": false,
699
+ "internalType": "bytes32",
700
+ "name": "condition",
701
+ "type": "bytes32"
702
+ },
703
+ {
704
+ "indexed": false,
705
+ "internalType": "bytes32",
706
+ "name": "ifTrue",
707
+ "type": "bytes32"
708
+ },
709
+ {
710
+ "indexed": false,
711
+ "internalType": "bytes32",
712
+ "name": "ifFalse",
713
+ "type": "bytes32"
714
+ },
715
+ {
716
+ "indexed": false,
717
+ "internalType": "bytes32",
718
+ "name": "result",
719
+ "type": "bytes32"
720
+ }
721
+ ],
722
+ "name": "Select",
723
+ "type": "event"
724
+ },
725
+ {
726
+ "anonymous": false,
727
+ "inputs": [
728
+ {
729
+ "indexed": true,
730
+ "internalType": "address",
731
+ "name": "caller",
732
+ "type": "address"
733
+ },
734
+ {
735
+ "indexed": false,
736
+ "internalType": "bytes32",
737
+ "name": "leftHandOperand",
738
+ "type": "bytes32"
739
+ },
740
+ {
741
+ "indexed": false,
742
+ "internalType": "bytes32",
743
+ "name": "rightHandOperand",
744
+ "type": "bytes32"
745
+ },
746
+ {
747
+ "indexed": false,
748
+ "internalType": "bytes32",
749
+ "name": "result",
750
+ "type": "bytes32"
751
+ }
752
+ ],
753
+ "name": "Sub",
754
+ "type": "event"
755
+ },
756
+ {
757
+ "anonymous": false,
758
+ "inputs": [
759
+ {
760
+ "indexed": true,
761
+ "internalType": "address",
762
+ "name": "caller",
763
+ "type": "address"
764
+ },
765
+ {
766
+ "indexed": false,
767
+ "internalType": "bytes32",
768
+ "name": "balanceFrom",
769
+ "type": "bytes32"
770
+ },
771
+ {
772
+ "indexed": false,
773
+ "internalType": "bytes32",
774
+ "name": "balanceTo",
775
+ "type": "bytes32"
776
+ },
777
+ {
778
+ "indexed": false,
779
+ "internalType": "bytes32",
780
+ "name": "amount",
781
+ "type": "bytes32"
782
+ },
783
+ {
784
+ "indexed": false,
785
+ "internalType": "bytes32",
786
+ "name": "success",
787
+ "type": "bytes32"
788
+ },
789
+ {
790
+ "indexed": false,
791
+ "internalType": "bytes32",
792
+ "name": "newBalanceFrom",
793
+ "type": "bytes32"
794
+ },
795
+ {
796
+ "indexed": false,
797
+ "internalType": "bytes32",
798
+ "name": "newBalanceTo",
799
+ "type": "bytes32"
800
+ }
801
+ ],
802
+ "name": "Transfer",
803
+ "type": "event"
804
+ },
805
+ {
806
+ "anonymous": false,
807
+ "inputs": [
808
+ {
809
+ "indexed": true,
810
+ "internalType": "address",
811
+ "name": "sender",
812
+ "type": "address"
813
+ },
814
+ {
815
+ "indexed": true,
816
+ "internalType": "address",
817
+ "name": "viewer",
818
+ "type": "address"
819
+ },
820
+ {
821
+ "indexed": true,
822
+ "internalType": "bytes32",
823
+ "name": "handle",
824
+ "type": "bytes32"
825
+ }
826
+ ],
827
+ "name": "ViewerAdded",
828
+ "type": "event"
829
+ },
830
+ {
831
+ "anonymous": false,
832
+ "inputs": [
833
+ {
834
+ "indexed": true,
835
+ "internalType": "address",
836
+ "name": "caller",
837
+ "type": "address"
838
+ },
839
+ {
840
+ "indexed": false,
841
+ "internalType": "bytes32",
842
+ "name": "plaintext",
843
+ "type": "bytes32"
844
+ },
845
+ {
846
+ "indexed": false,
847
+ "internalType": "enum TEEType",
848
+ "name": "toType",
849
+ "type": "uint8"
850
+ },
851
+ {
852
+ "indexed": false,
853
+ "internalType": "bytes32",
854
+ "name": "result",
855
+ "type": "bytes32"
856
+ }
857
+ ],
858
+ "name": "WrapAsPublicHandle",
859
+ "type": "event"
860
+ },
861
+ {
862
+ "inputs": [
863
+ {
864
+ "internalType": "bytes32",
865
+ "name": "leftHandOperand",
866
+ "type": "bytes32"
867
+ },
868
+ {
869
+ "internalType": "bytes32",
870
+ "name": "rightHandOperand",
871
+ "type": "bytes32"
872
+ }
873
+ ],
874
+ "name": "add",
875
+ "outputs": [
876
+ {
877
+ "internalType": "bytes32",
878
+ "name": "result",
879
+ "type": "bytes32"
880
+ }
881
+ ],
882
+ "stateMutability": "nonpayable",
883
+ "type": "function"
884
+ },
885
+ {
886
+ "inputs": [
887
+ {
888
+ "internalType": "bytes32",
889
+ "name": "handle",
890
+ "type": "bytes32"
891
+ },
892
+ {
893
+ "internalType": "address",
894
+ "name": "viewer",
895
+ "type": "address"
896
+ }
897
+ ],
898
+ "name": "addViewer",
899
+ "outputs": [],
900
+ "stateMutability": "nonpayable",
901
+ "type": "function"
902
+ },
903
+ {
904
+ "inputs": [
905
+ {
906
+ "internalType": "bytes32",
907
+ "name": "handle",
908
+ "type": "bytes32"
909
+ },
910
+ {
911
+ "internalType": "address",
912
+ "name": "account",
913
+ "type": "address"
914
+ }
915
+ ],
916
+ "name": "allow",
917
+ "outputs": [],
918
+ "stateMutability": "nonpayable",
919
+ "type": "function"
920
+ },
921
+ {
922
+ "inputs": [
923
+ {
924
+ "internalType": "bytes32",
925
+ "name": "handle",
926
+ "type": "bytes32"
927
+ }
928
+ ],
929
+ "name": "allowPublicDecryption",
930
+ "outputs": [],
931
+ "stateMutability": "nonpayable",
932
+ "type": "function"
933
+ },
934
+ {
935
+ "inputs": [
936
+ {
937
+ "internalType": "bytes32",
938
+ "name": "handle",
939
+ "type": "bytes32"
940
+ },
941
+ {
942
+ "internalType": "address",
943
+ "name": "account",
944
+ "type": "address"
945
+ }
946
+ ],
947
+ "name": "allowTransient",
948
+ "outputs": [],
949
+ "stateMutability": "nonpayable",
950
+ "type": "function"
951
+ },
952
+ {
953
+ "inputs": [
954
+ {
955
+ "internalType": "bytes32",
956
+ "name": "balanceFrom",
957
+ "type": "bytes32"
958
+ },
959
+ {
960
+ "internalType": "bytes32",
961
+ "name": "amount",
962
+ "type": "bytes32"
963
+ },
964
+ {
965
+ "internalType": "bytes32",
966
+ "name": "totalSupply",
967
+ "type": "bytes32"
968
+ }
969
+ ],
970
+ "name": "burn",
971
+ "outputs": [
972
+ {
973
+ "internalType": "bytes32",
974
+ "name": "success",
975
+ "type": "bytes32"
976
+ },
977
+ {
978
+ "internalType": "bytes32",
979
+ "name": "newBalanceFrom",
980
+ "type": "bytes32"
981
+ },
982
+ {
983
+ "internalType": "bytes32",
984
+ "name": "newTotalSupply",
985
+ "type": "bytes32"
986
+ }
987
+ ],
988
+ "stateMutability": "nonpayable",
989
+ "type": "function"
990
+ },
991
+ {
992
+ "inputs": [
993
+ {
994
+ "internalType": "bytes32",
995
+ "name": "handle",
996
+ "type": "bytes32"
997
+ },
998
+ {
999
+ "internalType": "address",
1000
+ "name": "account",
1001
+ "type": "address"
1002
+ }
1003
+ ],
1004
+ "name": "disallowTransient",
1005
+ "outputs": [],
1006
+ "stateMutability": "nonpayable",
1007
+ "type": "function"
1008
+ },
1009
+ {
1010
+ "inputs": [
1011
+ {
1012
+ "internalType": "bytes32",
1013
+ "name": "numerator",
1014
+ "type": "bytes32"
1015
+ },
1016
+ {
1017
+ "internalType": "bytes32",
1018
+ "name": "denominator",
1019
+ "type": "bytes32"
1020
+ }
1021
+ ],
1022
+ "name": "div",
1023
+ "outputs": [
1024
+ {
1025
+ "internalType": "bytes32",
1026
+ "name": "result",
1027
+ "type": "bytes32"
1028
+ }
1029
+ ],
1030
+ "stateMutability": "nonpayable",
1031
+ "type": "function"
1032
+ },
1033
+ {
1034
+ "inputs": [
1035
+ {
1036
+ "internalType": "bytes32",
1037
+ "name": "leftHandOperand",
1038
+ "type": "bytes32"
1039
+ },
1040
+ {
1041
+ "internalType": "bytes32",
1042
+ "name": "rightHandOperand",
1043
+ "type": "bytes32"
1044
+ }
1045
+ ],
1046
+ "name": "eq",
1047
+ "outputs": [
1048
+ {
1049
+ "internalType": "bytes32",
1050
+ "name": "result",
1051
+ "type": "bytes32"
1052
+ }
1053
+ ],
1054
+ "stateMutability": "nonpayable",
1055
+ "type": "function"
1056
+ },
1057
+ {
1058
+ "inputs": [],
1059
+ "name": "gateway",
1060
+ "outputs": [
1061
+ {
1062
+ "internalType": "address",
1063
+ "name": "",
1064
+ "type": "address"
1065
+ }
1066
+ ],
1067
+ "stateMutability": "view",
1068
+ "type": "function"
1069
+ },
1070
+ {
1071
+ "inputs": [
1072
+ {
1073
+ "internalType": "bytes32",
1074
+ "name": "leftHandOperand",
1075
+ "type": "bytes32"
1076
+ },
1077
+ {
1078
+ "internalType": "bytes32",
1079
+ "name": "rightHandOperand",
1080
+ "type": "bytes32"
1081
+ }
1082
+ ],
1083
+ "name": "ge",
1084
+ "outputs": [
1085
+ {
1086
+ "internalType": "bytes32",
1087
+ "name": "result",
1088
+ "type": "bytes32"
1089
+ }
1090
+ ],
1091
+ "stateMutability": "nonpayable",
1092
+ "type": "function"
1093
+ },
1094
+ {
1095
+ "inputs": [
1096
+ {
1097
+ "internalType": "bytes32",
1098
+ "name": "leftHandOperand",
1099
+ "type": "bytes32"
1100
+ },
1101
+ {
1102
+ "internalType": "bytes32",
1103
+ "name": "rightHandOperand",
1104
+ "type": "bytes32"
1105
+ }
1106
+ ],
1107
+ "name": "gt",
1108
+ "outputs": [
1109
+ {
1110
+ "internalType": "bytes32",
1111
+ "name": "result",
1112
+ "type": "bytes32"
1113
+ }
1114
+ ],
1115
+ "stateMutability": "nonpayable",
1116
+ "type": "function"
1117
+ },
1118
+ {
1119
+ "inputs": [
1120
+ {
1121
+ "internalType": "bytes32",
1122
+ "name": "handle",
1123
+ "type": "bytes32"
1124
+ },
1125
+ {
1126
+ "internalType": "address",
1127
+ "name": "account",
1128
+ "type": "address"
1129
+ }
1130
+ ],
1131
+ "name": "isAllowed",
1132
+ "outputs": [
1133
+ {
1134
+ "internalType": "bool",
1135
+ "name": "",
1136
+ "type": "bool"
1137
+ }
1138
+ ],
1139
+ "stateMutability": "view",
1140
+ "type": "function"
1141
+ },
1142
+ {
1143
+ "inputs": [
1144
+ {
1145
+ "internalType": "bytes32",
1146
+ "name": "handle",
1147
+ "type": "bytes32"
1148
+ }
1149
+ ],
1150
+ "name": "isPubliclyDecryptable",
1151
+ "outputs": [
1152
+ {
1153
+ "internalType": "bool",
1154
+ "name": "",
1155
+ "type": "bool"
1156
+ }
1157
+ ],
1158
+ "stateMutability": "view",
1159
+ "type": "function"
1160
+ },
1161
+ {
1162
+ "inputs": [
1163
+ {
1164
+ "internalType": "bytes32",
1165
+ "name": "handle",
1166
+ "type": "bytes32"
1167
+ },
1168
+ {
1169
+ "internalType": "address",
1170
+ "name": "viewer",
1171
+ "type": "address"
1172
+ }
1173
+ ],
1174
+ "name": "isViewer",
1175
+ "outputs": [
1176
+ {
1177
+ "internalType": "bool",
1178
+ "name": "",
1179
+ "type": "bool"
1180
+ }
1181
+ ],
1182
+ "stateMutability": "view",
1183
+ "type": "function"
1184
+ },
1185
+ {
1186
+ "inputs": [],
1187
+ "name": "kmsPublicKey",
1188
+ "outputs": [
1189
+ {
1190
+ "internalType": "bytes",
1191
+ "name": "",
1192
+ "type": "bytes"
1193
+ }
1194
+ ],
1195
+ "stateMutability": "view",
1196
+ "type": "function"
1197
+ },
1198
+ {
1199
+ "inputs": [
1200
+ {
1201
+ "internalType": "bytes32",
1202
+ "name": "leftHandOperand",
1203
+ "type": "bytes32"
1204
+ },
1205
+ {
1206
+ "internalType": "bytes32",
1207
+ "name": "rightHandOperand",
1208
+ "type": "bytes32"
1209
+ }
1210
+ ],
1211
+ "name": "le",
1212
+ "outputs": [
1213
+ {
1214
+ "internalType": "bytes32",
1215
+ "name": "result",
1216
+ "type": "bytes32"
1217
+ }
1218
+ ],
1219
+ "stateMutability": "nonpayable",
1220
+ "type": "function"
1221
+ },
1222
+ {
1223
+ "inputs": [
1224
+ {
1225
+ "internalType": "bytes32",
1226
+ "name": "leftHandOperand",
1227
+ "type": "bytes32"
1228
+ },
1229
+ {
1230
+ "internalType": "bytes32",
1231
+ "name": "rightHandOperand",
1232
+ "type": "bytes32"
1233
+ }
1234
+ ],
1235
+ "name": "lt",
1236
+ "outputs": [
1237
+ {
1238
+ "internalType": "bytes32",
1239
+ "name": "result",
1240
+ "type": "bytes32"
1241
+ }
1242
+ ],
1243
+ "stateMutability": "nonpayable",
1244
+ "type": "function"
1245
+ },
1246
+ {
1247
+ "inputs": [
1248
+ {
1249
+ "internalType": "bytes32",
1250
+ "name": "balanceTo",
1251
+ "type": "bytes32"
1252
+ },
1253
+ {
1254
+ "internalType": "bytes32",
1255
+ "name": "amount",
1256
+ "type": "bytes32"
1257
+ },
1258
+ {
1259
+ "internalType": "bytes32",
1260
+ "name": "totalSupply",
1261
+ "type": "bytes32"
1262
+ }
1263
+ ],
1264
+ "name": "mint",
1265
+ "outputs": [
1266
+ {
1267
+ "internalType": "bytes32",
1268
+ "name": "success",
1269
+ "type": "bytes32"
1270
+ },
1271
+ {
1272
+ "internalType": "bytes32",
1273
+ "name": "newBalanceTo",
1274
+ "type": "bytes32"
1275
+ },
1276
+ {
1277
+ "internalType": "bytes32",
1278
+ "name": "newTotalSupply",
1279
+ "type": "bytes32"
1280
+ }
1281
+ ],
1282
+ "stateMutability": "nonpayable",
1283
+ "type": "function"
1284
+ },
1285
+ {
1286
+ "inputs": [
1287
+ {
1288
+ "internalType": "bytes32",
1289
+ "name": "leftHandOperand",
1290
+ "type": "bytes32"
1291
+ },
1292
+ {
1293
+ "internalType": "bytes32",
1294
+ "name": "rightHandOperand",
1295
+ "type": "bytes32"
1296
+ }
1297
+ ],
1298
+ "name": "mul",
1299
+ "outputs": [
1300
+ {
1301
+ "internalType": "bytes32",
1302
+ "name": "result",
1303
+ "type": "bytes32"
1304
+ }
1305
+ ],
1306
+ "stateMutability": "nonpayable",
1307
+ "type": "function"
1308
+ },
1309
+ {
1310
+ "inputs": [
1311
+ {
1312
+ "internalType": "bytes32",
1313
+ "name": "leftHandOperand",
1314
+ "type": "bytes32"
1315
+ },
1316
+ {
1317
+ "internalType": "bytes32",
1318
+ "name": "rightHandOperand",
1319
+ "type": "bytes32"
1320
+ }
1321
+ ],
1322
+ "name": "ne",
1323
+ "outputs": [
1324
+ {
1325
+ "internalType": "bytes32",
1326
+ "name": "result",
1327
+ "type": "bytes32"
1328
+ }
1329
+ ],
1330
+ "stateMutability": "nonpayable",
1331
+ "type": "function"
1332
+ },
1333
+ {
1334
+ "inputs": [],
1335
+ "name": "proofExpirationDuration",
1336
+ "outputs": [
1337
+ {
1338
+ "internalType": "uint256",
1339
+ "name": "",
1340
+ "type": "uint256"
1341
+ }
1342
+ ],
1343
+ "stateMutability": "view",
1344
+ "type": "function"
1345
+ },
1346
+ {
1347
+ "inputs": [
1348
+ {
1349
+ "internalType": "bytes32",
1350
+ "name": "leftHandOperand",
1351
+ "type": "bytes32"
1352
+ },
1353
+ {
1354
+ "internalType": "bytes32",
1355
+ "name": "rightHandOperand",
1356
+ "type": "bytes32"
1357
+ }
1358
+ ],
1359
+ "name": "safeAdd",
1360
+ "outputs": [
1361
+ {
1362
+ "internalType": "bytes32",
1363
+ "name": "success",
1364
+ "type": "bytes32"
1365
+ },
1366
+ {
1367
+ "internalType": "bytes32",
1368
+ "name": "result",
1369
+ "type": "bytes32"
1370
+ }
1371
+ ],
1372
+ "stateMutability": "nonpayable",
1373
+ "type": "function"
1374
+ },
1375
+ {
1376
+ "inputs": [
1377
+ {
1378
+ "internalType": "bytes32",
1379
+ "name": "numerator",
1380
+ "type": "bytes32"
1381
+ },
1382
+ {
1383
+ "internalType": "bytes32",
1384
+ "name": "denominator",
1385
+ "type": "bytes32"
1386
+ }
1387
+ ],
1388
+ "name": "safeDiv",
1389
+ "outputs": [
1390
+ {
1391
+ "internalType": "bytes32",
1392
+ "name": "success",
1393
+ "type": "bytes32"
1394
+ },
1395
+ {
1396
+ "internalType": "bytes32",
1397
+ "name": "result",
1398
+ "type": "bytes32"
1399
+ }
1400
+ ],
1401
+ "stateMutability": "nonpayable",
1402
+ "type": "function"
1403
+ },
1404
+ {
1405
+ "inputs": [
1406
+ {
1407
+ "internalType": "bytes32",
1408
+ "name": "leftHandOperand",
1409
+ "type": "bytes32"
1410
+ },
1411
+ {
1412
+ "internalType": "bytes32",
1413
+ "name": "rightHandOperand",
1414
+ "type": "bytes32"
1415
+ }
1416
+ ],
1417
+ "name": "safeMul",
1418
+ "outputs": [
1419
+ {
1420
+ "internalType": "bytes32",
1421
+ "name": "success",
1422
+ "type": "bytes32"
1423
+ },
1424
+ {
1425
+ "internalType": "bytes32",
1426
+ "name": "result",
1427
+ "type": "bytes32"
1428
+ }
1429
+ ],
1430
+ "stateMutability": "nonpayable",
1431
+ "type": "function"
1432
+ },
1433
+ {
1434
+ "inputs": [
1435
+ {
1436
+ "internalType": "bytes32",
1437
+ "name": "leftHandOperand",
1438
+ "type": "bytes32"
1439
+ },
1440
+ {
1441
+ "internalType": "bytes32",
1442
+ "name": "rightHandOperand",
1443
+ "type": "bytes32"
1444
+ }
1445
+ ],
1446
+ "name": "safeSub",
1447
+ "outputs": [
1448
+ {
1449
+ "internalType": "bytes32",
1450
+ "name": "success",
1451
+ "type": "bytes32"
1452
+ },
1453
+ {
1454
+ "internalType": "bytes32",
1455
+ "name": "result",
1456
+ "type": "bytes32"
1457
+ }
1458
+ ],
1459
+ "stateMutability": "nonpayable",
1460
+ "type": "function"
1461
+ },
1462
+ {
1463
+ "inputs": [
1464
+ {
1465
+ "internalType": "bytes32",
1466
+ "name": "condition",
1467
+ "type": "bytes32"
1468
+ },
1469
+ {
1470
+ "internalType": "bytes32",
1471
+ "name": "ifTrue",
1472
+ "type": "bytes32"
1473
+ },
1474
+ {
1475
+ "internalType": "bytes32",
1476
+ "name": "ifFalse",
1477
+ "type": "bytes32"
1478
+ }
1479
+ ],
1480
+ "name": "select",
1481
+ "outputs": [
1482
+ {
1483
+ "internalType": "bytes32",
1484
+ "name": "",
1485
+ "type": "bytes32"
1486
+ }
1487
+ ],
1488
+ "stateMutability": "nonpayable",
1489
+ "type": "function"
1490
+ },
1491
+ {
1492
+ "inputs": [
1493
+ {
1494
+ "internalType": "address",
1495
+ "name": "gatewayAddress",
1496
+ "type": "address"
1497
+ }
1498
+ ],
1499
+ "name": "setGateway",
1500
+ "outputs": [],
1501
+ "stateMutability": "nonpayable",
1502
+ "type": "function"
1503
+ },
1504
+ {
1505
+ "inputs": [
1506
+ {
1507
+ "internalType": "bytes",
1508
+ "name": "newKmsPublicKey",
1509
+ "type": "bytes"
1510
+ }
1511
+ ],
1512
+ "name": "setKmsPublicKey",
1513
+ "outputs": [],
1514
+ "stateMutability": "nonpayable",
1515
+ "type": "function"
1516
+ },
1517
+ {
1518
+ "inputs": [
1519
+ {
1520
+ "internalType": "uint256",
1521
+ "name": "newDuration",
1522
+ "type": "uint256"
1523
+ }
1524
+ ],
1525
+ "name": "setProofExpirationDuration",
1526
+ "outputs": [],
1527
+ "stateMutability": "nonpayable",
1528
+ "type": "function"
1529
+ },
1530
+ {
1531
+ "inputs": [
1532
+ {
1533
+ "internalType": "bytes32",
1534
+ "name": "leftHandOperand",
1535
+ "type": "bytes32"
1536
+ },
1537
+ {
1538
+ "internalType": "bytes32",
1539
+ "name": "rightHandOperand",
1540
+ "type": "bytes32"
1541
+ }
1542
+ ],
1543
+ "name": "sub",
1544
+ "outputs": [
1545
+ {
1546
+ "internalType": "bytes32",
1547
+ "name": "result",
1548
+ "type": "bytes32"
1549
+ }
1550
+ ],
1551
+ "stateMutability": "nonpayable",
1552
+ "type": "function"
1553
+ },
1554
+ {
1555
+ "inputs": [
1556
+ {
1557
+ "internalType": "bytes32",
1558
+ "name": "balanceFrom",
1559
+ "type": "bytes32"
1560
+ },
1561
+ {
1562
+ "internalType": "bytes32",
1563
+ "name": "balanceTo",
1564
+ "type": "bytes32"
1565
+ },
1566
+ {
1567
+ "internalType": "bytes32",
1568
+ "name": "amount",
1569
+ "type": "bytes32"
1570
+ }
1571
+ ],
1572
+ "name": "transfer",
1573
+ "outputs": [
1574
+ {
1575
+ "internalType": "bytes32",
1576
+ "name": "success",
1577
+ "type": "bytes32"
1578
+ },
1579
+ {
1580
+ "internalType": "bytes32",
1581
+ "name": "newBalanceFrom",
1582
+ "type": "bytes32"
1583
+ },
1584
+ {
1585
+ "internalType": "bytes32",
1586
+ "name": "newBalanceTo",
1587
+ "type": "bytes32"
1588
+ }
1589
+ ],
1590
+ "stateMutability": "nonpayable",
1591
+ "type": "function"
1592
+ },
1593
+ {
1594
+ "inputs": [
1595
+ {
1596
+ "internalType": "address",
1597
+ "name": "account",
1598
+ "type": "address"
1599
+ },
1600
+ {
1601
+ "internalType": "bytes32[]",
1602
+ "name": "handles",
1603
+ "type": "bytes32[]"
1604
+ }
1605
+ ],
1606
+ "name": "validateAllowedForAll",
1607
+ "outputs": [],
1608
+ "stateMutability": "view",
1609
+ "type": "function"
1610
+ },
1611
+ {
1612
+ "inputs": [
1613
+ {
1614
+ "internalType": "bytes32",
1615
+ "name": "handle",
1616
+ "type": "bytes32"
1617
+ },
1618
+ {
1619
+ "internalType": "bytes",
1620
+ "name": "decryptionProof",
1621
+ "type": "bytes"
1622
+ }
1623
+ ],
1624
+ "name": "validateDecryptionProof",
1625
+ "outputs": [
1626
+ {
1627
+ "internalType": "bytes",
1628
+ "name": "",
1629
+ "type": "bytes"
1630
+ }
1631
+ ],
1632
+ "stateMutability": "view",
1633
+ "type": "function"
1634
+ },
1635
+ {
1636
+ "inputs": [
1637
+ {
1638
+ "internalType": "bytes32",
1639
+ "name": "handle",
1640
+ "type": "bytes32"
1641
+ },
1642
+ {
1643
+ "internalType": "address",
1644
+ "name": "owner",
1645
+ "type": "address"
1646
+ },
1647
+ {
1648
+ "internalType": "bytes",
1649
+ "name": "proof",
1650
+ "type": "bytes"
1651
+ },
1652
+ {
1653
+ "internalType": "enum TEEType",
1654
+ "name": "teeType",
1655
+ "type": "uint8"
1656
+ }
1657
+ ],
1658
+ "name": "validateInputProof",
1659
+ "outputs": [],
1660
+ "stateMutability": "nonpayable",
1661
+ "type": "function"
1662
+ },
1663
+ {
1664
+ "inputs": [
1665
+ {
1666
+ "internalType": "bytes32",
1667
+ "name": "value",
1668
+ "type": "bytes32"
1669
+ },
1670
+ {
1671
+ "internalType": "enum TEEType",
1672
+ "name": "teeType",
1673
+ "type": "uint8"
1674
+ }
1675
+ ],
1676
+ "name": "wrapAsPublicHandle",
1677
+ "outputs": [
1678
+ {
1679
+ "internalType": "bytes32",
1680
+ "name": "",
1681
+ "type": "bytes32"
1682
+ }
1683
+ ],
1684
+ "stateMutability": "nonpayable",
1685
+ "type": "function"
1686
+ }
1687
+ ],
1688
+ "bytecode": "0x",
1689
+ "deployedBytecode": "0x",
1690
+ "linkReferences": {},
1691
+ "deployedLinkReferences": {},
1692
+ "immutableReferences": {},
1693
+ "inputSourceName": "project/contracts/modules/Common.sol",
1694
+ "buildInfoId": "solc-0_8_35-78aaf8749566814c0b5c1b21ccc24b7f1017e498",
1695
+ "ast": {
1696
+ "absolutePath": "project/contracts/modules/Common.sol",
1697
+ "exportedSymbols": {
1698
+ "Common": [
1699
+ 13753
1700
+ ],
1701
+ "INoxCompute": [
1702
+ 10839
1703
+ ]
1704
+ },
1705
+ "id": 13754,
1706
+ "license": "BUSL-1.1",
1707
+ "nodeType": "SourceUnit",
1708
+ "nodes": [
1709
+ {
1710
+ "id": 13686,
1711
+ "literals": [
1712
+ "solidity",
1713
+ "^",
1714
+ "0.8",
1715
+ ".35"
1716
+ ],
1717
+ "nodeType": "PragmaDirective",
1718
+ "src": "37:24:43"
1719
+ },
1720
+ {
1721
+ "absolutePath": "project/contracts/interfaces/INoxCompute.sol",
1722
+ "file": "../interfaces/INoxCompute.sol",
1723
+ "id": 13688,
1724
+ "nameLocation": "-1:-1:-1",
1725
+ "nodeType": "ImportDirective",
1726
+ "scope": 13754,
1727
+ "sourceUnit": 10840,
1728
+ "src": "63:58:43",
1729
+ "symbolAliases": [
1730
+ {
1731
+ "foreign": {
1732
+ "id": 13687,
1733
+ "name": "INoxCompute",
1734
+ "nodeType": "Identifier",
1735
+ "overloadedDeclarations": [],
1736
+ "referencedDeclaration": 10839,
1737
+ "src": "71:11:43",
1738
+ "typeDescriptions": {}
1739
+ },
1740
+ "nameLocation": "-1:-1:-1"
1741
+ }
1742
+ ],
1743
+ "unitAlias": ""
1744
+ },
1745
+ {
1746
+ "abstract": true,
1747
+ "baseContracts": [
1748
+ {
1749
+ "baseName": {
1750
+ "id": 13690,
1751
+ "name": "INoxCompute",
1752
+ "nameLocations": [
1753
+ "330:11:43"
1754
+ ],
1755
+ "nodeType": "IdentifierPath",
1756
+ "referencedDeclaration": 10839,
1757
+ "src": "330:11:43"
1758
+ },
1759
+ "id": 13691,
1760
+ "nodeType": "InheritanceSpecifier",
1761
+ "src": "330:11:43"
1762
+ }
1763
+ ],
1764
+ "canonicalName": "Common",
1765
+ "contractDependencies": [],
1766
+ "contractKind": "contract",
1767
+ "documentation": {
1768
+ "id": 13689,
1769
+ "nodeType": "StructuredDocumentation",
1770
+ "src": "123:178:43",
1771
+ "text": " @title Common\n @notice Shared base for all modules. Defines the ERC7201 storage layout,\n the storage accessor, and virtual declarations for cross-module functions."
1772
+ },
1773
+ "fullyImplemented": false,
1774
+ "id": 13753,
1775
+ "linearizedBaseContracts": [
1776
+ 13753,
1777
+ 10839
1778
+ ],
1779
+ "name": "Common",
1780
+ "nameLocation": "320:6:43",
1781
+ "nodeType": "ContractDefinition",
1782
+ "nodes": [
1783
+ {
1784
+ "constant": true,
1785
+ "id": 13699,
1786
+ "mutability": "constant",
1787
+ "name": "NOX_COMPUTE_STORAGE_LOCATION",
1788
+ "nameLocation": "542:28:43",
1789
+ "nodeType": "VariableDeclaration",
1790
+ "scope": 13753,
1791
+ "src": "517:112:43",
1792
+ "stateVariable": true,
1793
+ "storageLocation": "default",
1794
+ "typeDescriptions": {
1795
+ "typeIdentifier": "t_bytes32",
1796
+ "typeString": "bytes32"
1797
+ },
1798
+ "typeName": {
1799
+ "id": 13692,
1800
+ "name": "bytes32",
1801
+ "nodeType": "ElementaryTypeName",
1802
+ "src": "517:7:43",
1803
+ "typeDescriptions": {
1804
+ "typeIdentifier": "t_bytes32",
1805
+ "typeString": "bytes32"
1806
+ }
1807
+ },
1808
+ "value": {
1809
+ "arguments": [
1810
+ {
1811
+ "arguments": [
1812
+ {
1813
+ "hexValue": "6e6f782e73746f726167652e4e6f78436f6d70757465",
1814
+ "id": 13696,
1815
+ "isConstant": false,
1816
+ "isLValue": false,
1817
+ "isPure": true,
1818
+ "kind": "string",
1819
+ "lValueRequested": false,
1820
+ "nodeType": "Literal",
1821
+ "src": "598:24:43",
1822
+ "typeDescriptions": {
1823
+ "typeIdentifier": "t_stringliteral_db01ae3c7868e120bccadfac5fd368acba4404b8566373a84baf4b5724e814fb",
1824
+ "typeString": "literal_string \"nox.storage.NoxCompute\""
1825
+ },
1826
+ "value": "nox.storage.NoxCompute"
1827
+ }
1828
+ ],
1829
+ "expression": {
1830
+ "argumentTypes": [
1831
+ {
1832
+ "typeIdentifier": "t_stringliteral_db01ae3c7868e120bccadfac5fd368acba4404b8566373a84baf4b5724e814fb",
1833
+ "typeString": "literal_string \"nox.storage.NoxCompute\""
1834
+ }
1835
+ ],
1836
+ "id": 13695,
1837
+ "name": "erc7201",
1838
+ "nodeType": "Identifier",
1839
+ "overloadedDeclarations": [],
1840
+ "referencedDeclaration": -30,
1841
+ "src": "590:7:43",
1842
+ "typeDescriptions": {
1843
+ "typeIdentifier": "t_function_erc7201_pure$_t_string_memory_ptr_$returns$_t_uint256_$",
1844
+ "typeString": "function (string memory) pure returns (uint256)"
1845
+ }
1846
+ },
1847
+ "id": 13697,
1848
+ "isConstant": false,
1849
+ "isLValue": false,
1850
+ "isPure": true,
1851
+ "kind": "functionCall",
1852
+ "lValueRequested": false,
1853
+ "nameLocations": [],
1854
+ "names": [],
1855
+ "nodeType": "FunctionCall",
1856
+ "src": "590:33:43",
1857
+ "tryCall": false,
1858
+ "typeDescriptions": {
1859
+ "typeIdentifier": "t_uint256",
1860
+ "typeString": "uint256"
1861
+ }
1862
+ }
1863
+ ],
1864
+ "expression": {
1865
+ "argumentTypes": [
1866
+ {
1867
+ "typeIdentifier": "t_uint256",
1868
+ "typeString": "uint256"
1869
+ }
1870
+ ],
1871
+ "id": 13694,
1872
+ "isConstant": false,
1873
+ "isLValue": false,
1874
+ "isPure": true,
1875
+ "lValueRequested": false,
1876
+ "nodeType": "ElementaryTypeNameExpression",
1877
+ "src": "573:7:43",
1878
+ "typeDescriptions": {
1879
+ "typeIdentifier": "t_type$_t_bytes32_$",
1880
+ "typeString": "type(bytes32)"
1881
+ },
1882
+ "typeName": {
1883
+ "id": 13693,
1884
+ "name": "bytes32",
1885
+ "nodeType": "ElementaryTypeName",
1886
+ "src": "573:7:43",
1887
+ "typeDescriptions": {}
1888
+ }
1889
+ },
1890
+ "id": 13698,
1891
+ "isConstant": false,
1892
+ "isLValue": false,
1893
+ "isPure": true,
1894
+ "kind": "typeConversion",
1895
+ "lValueRequested": false,
1896
+ "nameLocations": [],
1897
+ "names": [],
1898
+ "nodeType": "FunctionCall",
1899
+ "src": "573:56:43",
1900
+ "tryCall": false,
1901
+ "typeDescriptions": {
1902
+ "typeIdentifier": "t_bytes32",
1903
+ "typeString": "bytes32"
1904
+ }
1905
+ },
1906
+ "visibility": "private"
1907
+ },
1908
+ {
1909
+ "canonicalName": "Common.NoxComputeStorage",
1910
+ "documentation": {
1911
+ "id": 13700,
1912
+ "nodeType": "StructuredDocumentation",
1913
+ "src": "636:59:43",
1914
+ "text": "@custom:storage-location erc7201:nox.storage.NoxCompute"
1915
+ },
1916
+ "id": 13725,
1917
+ "members": [
1918
+ {
1919
+ "constant": false,
1920
+ "id": 13706,
1921
+ "mutability": "mutable",
1922
+ "name": "admins",
1923
+ "nameLocation": "1008:6:43",
1924
+ "nodeType": "VariableDeclaration",
1925
+ "scope": 13725,
1926
+ "src": "954:60:43",
1927
+ "stateVariable": false,
1928
+ "storageLocation": "default",
1929
+ "typeDescriptions": {
1930
+ "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$",
1931
+ "typeString": "mapping(bytes32 => mapping(address => bool))"
1932
+ },
1933
+ "typeName": {
1934
+ "id": 13705,
1935
+ "keyName": "handleId",
1936
+ "keyNameLocation": "970:8:43",
1937
+ "keyType": {
1938
+ "id": 13701,
1939
+ "name": "bytes32",
1940
+ "nodeType": "ElementaryTypeName",
1941
+ "src": "962:7:43",
1942
+ "typeDescriptions": {
1943
+ "typeIdentifier": "t_bytes32",
1944
+ "typeString": "bytes32"
1945
+ }
1946
+ },
1947
+ "nodeType": "Mapping",
1948
+ "src": "954:53:43",
1949
+ "typeDescriptions": {
1950
+ "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$",
1951
+ "typeString": "mapping(bytes32 => mapping(address => bool))"
1952
+ },
1953
+ "valueName": "",
1954
+ "valueNameLocation": "-1:-1:-1",
1955
+ "valueType": {
1956
+ "id": 13704,
1957
+ "keyName": "",
1958
+ "keyNameLocation": "-1:-1:-1",
1959
+ "keyType": {
1960
+ "id": 13702,
1961
+ "name": "address",
1962
+ "nodeType": "ElementaryTypeName",
1963
+ "src": "990:7:43",
1964
+ "typeDescriptions": {
1965
+ "typeIdentifier": "t_address",
1966
+ "typeString": "address"
1967
+ }
1968
+ },
1969
+ "nodeType": "Mapping",
1970
+ "src": "982:24:43",
1971
+ "typeDescriptions": {
1972
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
1973
+ "typeString": "mapping(address => bool)"
1974
+ },
1975
+ "valueName": "",
1976
+ "valueNameLocation": "-1:-1:-1",
1977
+ "valueType": {
1978
+ "id": 13703,
1979
+ "name": "bool",
1980
+ "nodeType": "ElementaryTypeName",
1981
+ "src": "1001:4:43",
1982
+ "typeDescriptions": {
1983
+ "typeIdentifier": "t_bool",
1984
+ "typeString": "bool"
1985
+ }
1986
+ }
1987
+ }
1988
+ },
1989
+ "visibility": "internal"
1990
+ },
1991
+ {
1992
+ "constant": false,
1993
+ "id": 13712,
1994
+ "mutability": "mutable",
1995
+ "name": "viewers",
1996
+ "nameLocation": "1196:7:43",
1997
+ "nodeType": "VariableDeclaration",
1998
+ "scope": 13725,
1999
+ "src": "1142:61:43",
2000
+ "stateVariable": false,
2001
+ "storageLocation": "default",
2002
+ "typeDescriptions": {
2003
+ "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$",
2004
+ "typeString": "mapping(bytes32 => mapping(address => bool))"
2005
+ },
2006
+ "typeName": {
2007
+ "id": 13711,
2008
+ "keyName": "handleId",
2009
+ "keyNameLocation": "1158:8:43",
2010
+ "keyType": {
2011
+ "id": 13707,
2012
+ "name": "bytes32",
2013
+ "nodeType": "ElementaryTypeName",
2014
+ "src": "1150:7:43",
2015
+ "typeDescriptions": {
2016
+ "typeIdentifier": "t_bytes32",
2017
+ "typeString": "bytes32"
2018
+ }
2019
+ },
2020
+ "nodeType": "Mapping",
2021
+ "src": "1142:53:43",
2022
+ "typeDescriptions": {
2023
+ "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$",
2024
+ "typeString": "mapping(bytes32 => mapping(address => bool))"
2025
+ },
2026
+ "valueName": "",
2027
+ "valueNameLocation": "-1:-1:-1",
2028
+ "valueType": {
2029
+ "id": 13710,
2030
+ "keyName": "",
2031
+ "keyNameLocation": "-1:-1:-1",
2032
+ "keyType": {
2033
+ "id": 13708,
2034
+ "name": "address",
2035
+ "nodeType": "ElementaryTypeName",
2036
+ "src": "1178:7:43",
2037
+ "typeDescriptions": {
2038
+ "typeIdentifier": "t_address",
2039
+ "typeString": "address"
2040
+ }
2041
+ },
2042
+ "nodeType": "Mapping",
2043
+ "src": "1170:24:43",
2044
+ "typeDescriptions": {
2045
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
2046
+ "typeString": "mapping(address => bool)"
2047
+ },
2048
+ "valueName": "",
2049
+ "valueNameLocation": "-1:-1:-1",
2050
+ "valueType": {
2051
+ "id": 13709,
2052
+ "name": "bool",
2053
+ "nodeType": "ElementaryTypeName",
2054
+ "src": "1189:4:43",
2055
+ "typeDescriptions": {
2056
+ "typeIdentifier": "t_bool",
2057
+ "typeString": "bool"
2058
+ }
2059
+ }
2060
+ }
2061
+ },
2062
+ "visibility": "internal"
2063
+ },
2064
+ {
2065
+ "constant": false,
2066
+ "id": 13716,
2067
+ "mutability": "mutable",
2068
+ "name": "isPubliclyDecryptable",
2069
+ "nameLocation": "1294:21:43",
2070
+ "nodeType": "VariableDeclaration",
2071
+ "scope": 13725,
2072
+ "src": "1262:53:43",
2073
+ "stateVariable": false,
2074
+ "storageLocation": "default",
2075
+ "typeDescriptions": {
2076
+ "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
2077
+ "typeString": "mapping(bytes32 => bool)"
2078
+ },
2079
+ "typeName": {
2080
+ "id": 13715,
2081
+ "keyName": "handle",
2082
+ "keyNameLocation": "1278:6:43",
2083
+ "keyType": {
2084
+ "id": 13713,
2085
+ "name": "bytes32",
2086
+ "nodeType": "ElementaryTypeName",
2087
+ "src": "1270:7:43",
2088
+ "typeDescriptions": {
2089
+ "typeIdentifier": "t_bytes32",
2090
+ "typeString": "bytes32"
2091
+ }
2092
+ },
2093
+ "nodeType": "Mapping",
2094
+ "src": "1262:31:43",
2095
+ "typeDescriptions": {
2096
+ "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
2097
+ "typeString": "mapping(bytes32 => bool)"
2098
+ },
2099
+ "valueName": "",
2100
+ "valueNameLocation": "-1:-1:-1",
2101
+ "valueType": {
2102
+ "id": 13714,
2103
+ "name": "bool",
2104
+ "nodeType": "ElementaryTypeName",
2105
+ "src": "1288:4:43",
2106
+ "typeDescriptions": {
2107
+ "typeIdentifier": "t_bool",
2108
+ "typeString": "bool"
2109
+ }
2110
+ }
2111
+ },
2112
+ "visibility": "internal"
2113
+ },
2114
+ {
2115
+ "constant": false,
2116
+ "id": 13718,
2117
+ "mutability": "mutable",
2118
+ "name": "kmsPublicKey",
2119
+ "nameLocation": "1331:12:43",
2120
+ "nodeType": "VariableDeclaration",
2121
+ "scope": 13725,
2122
+ "src": "1325:18:43",
2123
+ "stateVariable": false,
2124
+ "storageLocation": "default",
2125
+ "typeDescriptions": {
2126
+ "typeIdentifier": "t_bytes_storage_ptr",
2127
+ "typeString": "bytes"
2128
+ },
2129
+ "typeName": {
2130
+ "id": 13717,
2131
+ "name": "bytes",
2132
+ "nodeType": "ElementaryTypeName",
2133
+ "src": "1325:5:43",
2134
+ "typeDescriptions": {
2135
+ "typeIdentifier": "t_bytes_storage_ptr",
2136
+ "typeString": "bytes"
2137
+ }
2138
+ },
2139
+ "visibility": "internal"
2140
+ },
2141
+ {
2142
+ "constant": false,
2143
+ "id": 13720,
2144
+ "mutability": "mutable",
2145
+ "name": "gateway",
2146
+ "nameLocation": "1361:7:43",
2147
+ "nodeType": "VariableDeclaration",
2148
+ "scope": 13725,
2149
+ "src": "1353:15:43",
2150
+ "stateVariable": false,
2151
+ "storageLocation": "default",
2152
+ "typeDescriptions": {
2153
+ "typeIdentifier": "t_address",
2154
+ "typeString": "address"
2155
+ },
2156
+ "typeName": {
2157
+ "id": 13719,
2158
+ "name": "address",
2159
+ "nodeType": "ElementaryTypeName",
2160
+ "src": "1353:7:43",
2161
+ "stateMutability": "nonpayable",
2162
+ "typeDescriptions": {
2163
+ "typeIdentifier": "t_address",
2164
+ "typeString": "address"
2165
+ }
2166
+ },
2167
+ "visibility": "internal"
2168
+ },
2169
+ {
2170
+ "constant": false,
2171
+ "id": 13722,
2172
+ "mutability": "mutable",
2173
+ "name": "proofExpirationDuration",
2174
+ "nameLocation": "1386:23:43",
2175
+ "nodeType": "VariableDeclaration",
2176
+ "scope": 13725,
2177
+ "src": "1378:31:43",
2178
+ "stateVariable": false,
2179
+ "storageLocation": "default",
2180
+ "typeDescriptions": {
2181
+ "typeIdentifier": "t_uint256",
2182
+ "typeString": "uint256"
2183
+ },
2184
+ "typeName": {
2185
+ "id": 13721,
2186
+ "name": "uint256",
2187
+ "nodeType": "ElementaryTypeName",
2188
+ "src": "1378:7:43",
2189
+ "typeDescriptions": {
2190
+ "typeIdentifier": "t_uint256",
2191
+ "typeString": "uint256"
2192
+ }
2193
+ },
2194
+ "visibility": "internal"
2195
+ },
2196
+ {
2197
+ "constant": false,
2198
+ "id": 13724,
2199
+ "mutability": "mutable",
2200
+ "name": "uniqueSeedCounter",
2201
+ "nameLocation": "1519:17:43",
2202
+ "nodeType": "VariableDeclaration",
2203
+ "scope": 13725,
2204
+ "src": "1511:25:43",
2205
+ "stateVariable": false,
2206
+ "storageLocation": "default",
2207
+ "typeDescriptions": {
2208
+ "typeIdentifier": "t_uint256",
2209
+ "typeString": "uint256"
2210
+ },
2211
+ "typeName": {
2212
+ "id": 13723,
2213
+ "name": "uint256",
2214
+ "nodeType": "ElementaryTypeName",
2215
+ "src": "1511:7:43",
2216
+ "typeDescriptions": {
2217
+ "typeIdentifier": "t_uint256",
2218
+ "typeString": "uint256"
2219
+ }
2220
+ },
2221
+ "visibility": "internal"
2222
+ }
2223
+ ],
2224
+ "name": "NoxComputeStorage",
2225
+ "nameLocation": "707:17:43",
2226
+ "nodeType": "StructDefinition",
2227
+ "scope": 13753,
2228
+ "src": "700:843:43",
2229
+ "visibility": "public"
2230
+ },
2231
+ {
2232
+ "body": {
2233
+ "id": 13736,
2234
+ "nodeType": "Block",
2235
+ "src": "1634:116:43",
2236
+ "statements": [
2237
+ {
2238
+ "assignments": [
2239
+ 13732
2240
+ ],
2241
+ "declarations": [
2242
+ {
2243
+ "constant": false,
2244
+ "id": 13732,
2245
+ "mutability": "mutable",
2246
+ "name": "slot",
2247
+ "nameLocation": "1652:4:43",
2248
+ "nodeType": "VariableDeclaration",
2249
+ "scope": 13736,
2250
+ "src": "1644:12:43",
2251
+ "stateVariable": false,
2252
+ "storageLocation": "default",
2253
+ "typeDescriptions": {
2254
+ "typeIdentifier": "t_bytes32",
2255
+ "typeString": "bytes32"
2256
+ },
2257
+ "typeName": {
2258
+ "id": 13731,
2259
+ "name": "bytes32",
2260
+ "nodeType": "ElementaryTypeName",
2261
+ "src": "1644:7:43",
2262
+ "typeDescriptions": {
2263
+ "typeIdentifier": "t_bytes32",
2264
+ "typeString": "bytes32"
2265
+ }
2266
+ },
2267
+ "visibility": "internal"
2268
+ }
2269
+ ],
2270
+ "id": 13734,
2271
+ "initialValue": {
2272
+ "id": 13733,
2273
+ "name": "NOX_COMPUTE_STORAGE_LOCATION",
2274
+ "nodeType": "Identifier",
2275
+ "overloadedDeclarations": [],
2276
+ "referencedDeclaration": 13699,
2277
+ "src": "1659:28:43",
2278
+ "typeDescriptions": {
2279
+ "typeIdentifier": "t_bytes32",
2280
+ "typeString": "bytes32"
2281
+ }
2282
+ },
2283
+ "nodeType": "VariableDeclarationStatement",
2284
+ "src": "1644:43:43"
2285
+ },
2286
+ {
2287
+ "AST": {
2288
+ "nativeSrc": "1706:38:43",
2289
+ "nodeType": "YulBlock",
2290
+ "src": "1706:38:43",
2291
+ "statements": [
2292
+ {
2293
+ "nativeSrc": "1720:14:43",
2294
+ "nodeType": "YulAssignment",
2295
+ "src": "1720:14:43",
2296
+ "value": {
2297
+ "name": "slot",
2298
+ "nativeSrc": "1730:4:43",
2299
+ "nodeType": "YulIdentifier",
2300
+ "src": "1730:4:43"
2301
+ },
2302
+ "variableNames": [
2303
+ {
2304
+ "name": "$.slot",
2305
+ "nativeSrc": "1720:6:43",
2306
+ "nodeType": "YulIdentifier",
2307
+ "src": "1720:6:43"
2308
+ }
2309
+ ]
2310
+ }
2311
+ ]
2312
+ },
2313
+ "evmVersion": "osaka",
2314
+ "externalReferences": [
2315
+ {
2316
+ "declaration": 13729,
2317
+ "isOffset": false,
2318
+ "isSlot": true,
2319
+ "src": "1720:6:43",
2320
+ "suffix": "slot",
2321
+ "valueSize": 1
2322
+ },
2323
+ {
2324
+ "declaration": 13732,
2325
+ "isOffset": false,
2326
+ "isSlot": false,
2327
+ "src": "1730:4:43",
2328
+ "valueSize": 1
2329
+ }
2330
+ ],
2331
+ "id": 13735,
2332
+ "nodeType": "InlineAssembly",
2333
+ "src": "1697:47:43"
2334
+ }
2335
+ ]
2336
+ },
2337
+ "id": 13737,
2338
+ "implemented": true,
2339
+ "kind": "function",
2340
+ "modifiers": [],
2341
+ "name": "_getNoxComputeStorage",
2342
+ "nameLocation": "1558:21:43",
2343
+ "nodeType": "FunctionDefinition",
2344
+ "parameters": {
2345
+ "id": 13726,
2346
+ "nodeType": "ParameterList",
2347
+ "parameters": [],
2348
+ "src": "1579:2:43"
2349
+ },
2350
+ "returnParameters": {
2351
+ "id": 13730,
2352
+ "nodeType": "ParameterList",
2353
+ "parameters": [
2354
+ {
2355
+ "constant": false,
2356
+ "id": 13729,
2357
+ "mutability": "mutable",
2358
+ "name": "$",
2359
+ "nameLocation": "1631:1:43",
2360
+ "nodeType": "VariableDeclaration",
2361
+ "scope": 13737,
2362
+ "src": "1605:27:43",
2363
+ "stateVariable": false,
2364
+ "storageLocation": "storage",
2365
+ "typeDescriptions": {
2366
+ "typeIdentifier": "t_struct$_NoxComputeStorage_$13725_storage_ptr",
2367
+ "typeString": "struct Common.NoxComputeStorage"
2368
+ },
2369
+ "typeName": {
2370
+ "id": 13728,
2371
+ "nodeType": "UserDefinedTypeName",
2372
+ "pathNode": {
2373
+ "id": 13727,
2374
+ "name": "NoxComputeStorage",
2375
+ "nameLocations": [
2376
+ "1605:17:43"
2377
+ ],
2378
+ "nodeType": "IdentifierPath",
2379
+ "referencedDeclaration": 13725,
2380
+ "src": "1605:17:43"
2381
+ },
2382
+ "referencedDeclaration": 13725,
2383
+ "src": "1605:17:43",
2384
+ "typeDescriptions": {
2385
+ "typeIdentifier": "t_struct$_NoxComputeStorage_$13725_storage_ptr",
2386
+ "typeString": "struct Common.NoxComputeStorage"
2387
+ }
2388
+ },
2389
+ "visibility": "internal"
2390
+ }
2391
+ ],
2392
+ "src": "1604:29:43"
2393
+ },
2394
+ "scope": 13753,
2395
+ "src": "1549:201:43",
2396
+ "stateMutability": "pure",
2397
+ "virtual": false,
2398
+ "visibility": "internal"
2399
+ },
2400
+ {
2401
+ "id": 13744,
2402
+ "implemented": false,
2403
+ "kind": "function",
2404
+ "modifiers": [],
2405
+ "name": "_allowTransient",
2406
+ "nameLocation": "1860:15:43",
2407
+ "nodeType": "FunctionDefinition",
2408
+ "parameters": {
2409
+ "id": 13742,
2410
+ "nodeType": "ParameterList",
2411
+ "parameters": [
2412
+ {
2413
+ "constant": false,
2414
+ "id": 13739,
2415
+ "mutability": "mutable",
2416
+ "name": "handle",
2417
+ "nameLocation": "1884:6:43",
2418
+ "nodeType": "VariableDeclaration",
2419
+ "scope": 13744,
2420
+ "src": "1876:14:43",
2421
+ "stateVariable": false,
2422
+ "storageLocation": "default",
2423
+ "typeDescriptions": {
2424
+ "typeIdentifier": "t_bytes32",
2425
+ "typeString": "bytes32"
2426
+ },
2427
+ "typeName": {
2428
+ "id": 13738,
2429
+ "name": "bytes32",
2430
+ "nodeType": "ElementaryTypeName",
2431
+ "src": "1876:7:43",
2432
+ "typeDescriptions": {
2433
+ "typeIdentifier": "t_bytes32",
2434
+ "typeString": "bytes32"
2435
+ }
2436
+ },
2437
+ "visibility": "internal"
2438
+ },
2439
+ {
2440
+ "constant": false,
2441
+ "id": 13741,
2442
+ "mutability": "mutable",
2443
+ "name": "account",
2444
+ "nameLocation": "1900:7:43",
2445
+ "nodeType": "VariableDeclaration",
2446
+ "scope": 13744,
2447
+ "src": "1892:15:43",
2448
+ "stateVariable": false,
2449
+ "storageLocation": "default",
2450
+ "typeDescriptions": {
2451
+ "typeIdentifier": "t_address",
2452
+ "typeString": "address"
2453
+ },
2454
+ "typeName": {
2455
+ "id": 13740,
2456
+ "name": "address",
2457
+ "nodeType": "ElementaryTypeName",
2458
+ "src": "1892:7:43",
2459
+ "stateMutability": "nonpayable",
2460
+ "typeDescriptions": {
2461
+ "typeIdentifier": "t_address",
2462
+ "typeString": "address"
2463
+ }
2464
+ },
2465
+ "visibility": "internal"
2466
+ }
2467
+ ],
2468
+ "src": "1875:33:43"
2469
+ },
2470
+ "returnParameters": {
2471
+ "id": 13743,
2472
+ "nodeType": "ParameterList",
2473
+ "parameters": [],
2474
+ "src": "1925:0:43"
2475
+ },
2476
+ "scope": 13753,
2477
+ "src": "1851:75:43",
2478
+ "stateMutability": "nonpayable",
2479
+ "virtual": true,
2480
+ "visibility": "internal"
2481
+ },
2482
+ {
2483
+ "id": 13752,
2484
+ "implemented": false,
2485
+ "kind": "function",
2486
+ "modifiers": [],
2487
+ "name": "_validateAllowedForAll",
2488
+ "nameLocation": "1987:22:43",
2489
+ "nodeType": "FunctionDefinition",
2490
+ "parameters": {
2491
+ "id": 13750,
2492
+ "nodeType": "ParameterList",
2493
+ "parameters": [
2494
+ {
2495
+ "constant": false,
2496
+ "id": 13746,
2497
+ "mutability": "mutable",
2498
+ "name": "account",
2499
+ "nameLocation": "2027:7:43",
2500
+ "nodeType": "VariableDeclaration",
2501
+ "scope": 13752,
2502
+ "src": "2019:15:43",
2503
+ "stateVariable": false,
2504
+ "storageLocation": "default",
2505
+ "typeDescriptions": {
2506
+ "typeIdentifier": "t_address",
2507
+ "typeString": "address"
2508
+ },
2509
+ "typeName": {
2510
+ "id": 13745,
2511
+ "name": "address",
2512
+ "nodeType": "ElementaryTypeName",
2513
+ "src": "2019:7:43",
2514
+ "stateMutability": "nonpayable",
2515
+ "typeDescriptions": {
2516
+ "typeIdentifier": "t_address",
2517
+ "typeString": "address"
2518
+ }
2519
+ },
2520
+ "visibility": "internal"
2521
+ },
2522
+ {
2523
+ "constant": false,
2524
+ "id": 13749,
2525
+ "mutability": "mutable",
2526
+ "name": "handles",
2527
+ "nameLocation": "2061:7:43",
2528
+ "nodeType": "VariableDeclaration",
2529
+ "scope": 13752,
2530
+ "src": "2044:24:43",
2531
+ "stateVariable": false,
2532
+ "storageLocation": "memory",
2533
+ "typeDescriptions": {
2534
+ "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
2535
+ "typeString": "bytes32[]"
2536
+ },
2537
+ "typeName": {
2538
+ "baseType": {
2539
+ "id": 13747,
2540
+ "name": "bytes32",
2541
+ "nodeType": "ElementaryTypeName",
2542
+ "src": "2044:7:43",
2543
+ "typeDescriptions": {
2544
+ "typeIdentifier": "t_bytes32",
2545
+ "typeString": "bytes32"
2546
+ }
2547
+ },
2548
+ "id": 13748,
2549
+ "nodeType": "ArrayTypeName",
2550
+ "src": "2044:9:43",
2551
+ "typeDescriptions": {
2552
+ "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
2553
+ "typeString": "bytes32[]"
2554
+ }
2555
+ },
2556
+ "visibility": "internal"
2557
+ }
2558
+ ],
2559
+ "src": "2009:65:43"
2560
+ },
2561
+ "returnParameters": {
2562
+ "id": 13751,
2563
+ "nodeType": "ParameterList",
2564
+ "parameters": [],
2565
+ "src": "2096:0:43"
2566
+ },
2567
+ "scope": 13753,
2568
+ "src": "1978:119:43",
2569
+ "stateMutability": "view",
2570
+ "virtual": true,
2571
+ "visibility": "internal"
2572
+ }
2573
+ ],
2574
+ "scope": 13754,
2575
+ "src": "302:1797:43",
2576
+ "usedErrors": [
2577
+ 10179,
2578
+ 10182,
2579
+ 10187,
2580
+ 10194,
2581
+ 10199,
2582
+ 10202,
2583
+ 10209,
2584
+ 10212
2585
+ ],
2586
+ "usedEvents": [
2587
+ 10221,
2588
+ 10230,
2589
+ 10237,
2590
+ 10241,
2591
+ 10245,
2592
+ 10249,
2593
+ 10260,
2594
+ 10270,
2595
+ 10280,
2596
+ 10290,
2597
+ 10300,
2598
+ 10310,
2599
+ 10320,
2600
+ 10330,
2601
+ 10340,
2602
+ 10350,
2603
+ 10360,
2604
+ 10372,
2605
+ 10384,
2606
+ 10396,
2607
+ 10408,
2608
+ 10420,
2609
+ 10436,
2610
+ 10452,
2611
+ 10468
2612
+ ]
2613
+ }
2614
+ ],
2615
+ "src": "37:2063:43"
2616
+ },
2617
+ "metadata": {
2618
+ "compiler": {
2619
+ "version": "0.8.35+commit.47b9dedd"
2620
+ },
2621
+ "language": "Solidity",
2622
+ "output": {
2623
+ "abi": [
2624
+ {
2625
+ "inputs": [],
2626
+ "name": "InvalidEmptyBytes",
2627
+ "type": "error"
2628
+ },
2629
+ {
2630
+ "inputs": [
2631
+ {
2632
+ "internalType": "bytes",
2633
+ "name": "proof",
2634
+ "type": "bytes"
2635
+ },
2636
+ {
2637
+ "internalType": "string",
2638
+ "name": "reason",
2639
+ "type": "string"
2640
+ }
2641
+ ],
2642
+ "name": "InvalidProof",
2643
+ "type": "error"
2644
+ },
2645
+ {
2646
+ "inputs": [],
2647
+ "name": "InvalidZeroAddress",
2648
+ "type": "error"
2649
+ },
2650
+ {
2651
+ "inputs": [
2652
+ {
2653
+ "internalType": "bytes32",
2654
+ "name": "handle",
2655
+ "type": "bytes32"
2656
+ },
2657
+ {
2658
+ "internalType": "address",
2659
+ "name": "account",
2660
+ "type": "address"
2661
+ }
2662
+ ],
2663
+ "name": "NotAllowed",
2664
+ "type": "error"
2665
+ },
2666
+ {
2667
+ "inputs": [
2668
+ {
2669
+ "internalType": "bytes32",
2670
+ "name": "handle",
2671
+ "type": "bytes32"
2672
+ }
2673
+ ],
2674
+ "name": "NotPubliclyDecryptable",
2675
+ "type": "error"
2676
+ },
2677
+ {
2678
+ "inputs": [],
2679
+ "name": "PublicHandleACLForbidden",
2680
+ "type": "error"
2681
+ },
2682
+ {
2683
+ "inputs": [
2684
+ {
2685
+ "internalType": "address",
2686
+ "name": "sender",
2687
+ "type": "address"
2688
+ }
2689
+ ],
2690
+ "name": "UnauthorizedSender",
2691
+ "type": "error"
2692
+ },
2693
+ {
2694
+ "inputs": [],
2695
+ "name": "UndefinedHandle",
2696
+ "type": "error"
2697
+ },
2698
+ {
2699
+ "anonymous": false,
2700
+ "inputs": [
2701
+ {
2702
+ "indexed": true,
2703
+ "internalType": "address",
2704
+ "name": "caller",
2705
+ "type": "address"
2706
+ },
2707
+ {
2708
+ "indexed": false,
2709
+ "internalType": "bytes32",
2710
+ "name": "leftHandOperand",
2711
+ "type": "bytes32"
2712
+ },
2713
+ {
2714
+ "indexed": false,
2715
+ "internalType": "bytes32",
2716
+ "name": "rightHandOperand",
2717
+ "type": "bytes32"
2718
+ },
2719
+ {
2720
+ "indexed": false,
2721
+ "internalType": "bytes32",
2722
+ "name": "result",
2723
+ "type": "bytes32"
2724
+ }
2725
+ ],
2726
+ "name": "Add",
2727
+ "type": "event"
2728
+ },
2729
+ {
2730
+ "anonymous": false,
2731
+ "inputs": [
2732
+ {
2733
+ "indexed": true,
2734
+ "internalType": "address",
2735
+ "name": "sender",
2736
+ "type": "address"
2737
+ },
2738
+ {
2739
+ "indexed": true,
2740
+ "internalType": "address",
2741
+ "name": "account",
2742
+ "type": "address"
2743
+ },
2744
+ {
2745
+ "indexed": true,
2746
+ "internalType": "bytes32",
2747
+ "name": "handle",
2748
+ "type": "bytes32"
2749
+ }
2750
+ ],
2751
+ "name": "Allowed",
2752
+ "type": "event"
2753
+ },
2754
+ {
2755
+ "anonymous": false,
2756
+ "inputs": [
2757
+ {
2758
+ "indexed": true,
2759
+ "internalType": "address",
2760
+ "name": "caller",
2761
+ "type": "address"
2762
+ },
2763
+ {
2764
+ "indexed": false,
2765
+ "internalType": "bytes32",
2766
+ "name": "balanceFrom",
2767
+ "type": "bytes32"
2768
+ },
2769
+ {
2770
+ "indexed": false,
2771
+ "internalType": "bytes32",
2772
+ "name": "amount",
2773
+ "type": "bytes32"
2774
+ },
2775
+ {
2776
+ "indexed": false,
2777
+ "internalType": "bytes32",
2778
+ "name": "totalSupply",
2779
+ "type": "bytes32"
2780
+ },
2781
+ {
2782
+ "indexed": false,
2783
+ "internalType": "bytes32",
2784
+ "name": "success",
2785
+ "type": "bytes32"
2786
+ },
2787
+ {
2788
+ "indexed": false,
2789
+ "internalType": "bytes32",
2790
+ "name": "newBalanceFrom",
2791
+ "type": "bytes32"
2792
+ },
2793
+ {
2794
+ "indexed": false,
2795
+ "internalType": "bytes32",
2796
+ "name": "newTotalSupply",
2797
+ "type": "bytes32"
2798
+ }
2799
+ ],
2800
+ "name": "Burn",
2801
+ "type": "event"
2802
+ },
2803
+ {
2804
+ "anonymous": false,
2805
+ "inputs": [
2806
+ {
2807
+ "indexed": true,
2808
+ "internalType": "address",
2809
+ "name": "caller",
2810
+ "type": "address"
2811
+ },
2812
+ {
2813
+ "indexed": false,
2814
+ "internalType": "bytes32",
2815
+ "name": "leftHandOperand",
2816
+ "type": "bytes32"
2817
+ },
2818
+ {
2819
+ "indexed": false,
2820
+ "internalType": "bytes32",
2821
+ "name": "rightHandOperand",
2822
+ "type": "bytes32"
2823
+ },
2824
+ {
2825
+ "indexed": false,
2826
+ "internalType": "bytes32",
2827
+ "name": "result",
2828
+ "type": "bytes32"
2829
+ }
2830
+ ],
2831
+ "name": "Div",
2832
+ "type": "event"
2833
+ },
2834
+ {
2835
+ "anonymous": false,
2836
+ "inputs": [
2837
+ {
2838
+ "indexed": true,
2839
+ "internalType": "address",
2840
+ "name": "caller",
2841
+ "type": "address"
2842
+ },
2843
+ {
2844
+ "indexed": false,
2845
+ "internalType": "bytes32",
2846
+ "name": "leftHandOperand",
2847
+ "type": "bytes32"
2848
+ },
2849
+ {
2850
+ "indexed": false,
2851
+ "internalType": "bytes32",
2852
+ "name": "rightHandOperand",
2853
+ "type": "bytes32"
2854
+ },
2855
+ {
2856
+ "indexed": false,
2857
+ "internalType": "bytes32",
2858
+ "name": "result",
2859
+ "type": "bytes32"
2860
+ }
2861
+ ],
2862
+ "name": "Eq",
2863
+ "type": "event"
2864
+ },
2865
+ {
2866
+ "anonymous": false,
2867
+ "inputs": [
2868
+ {
2869
+ "indexed": true,
2870
+ "internalType": "address",
2871
+ "name": "newGateway",
2872
+ "type": "address"
2873
+ }
2874
+ ],
2875
+ "name": "GatewayUpdated",
2876
+ "type": "event"
2877
+ },
2878
+ {
2879
+ "anonymous": false,
2880
+ "inputs": [
2881
+ {
2882
+ "indexed": true,
2883
+ "internalType": "address",
2884
+ "name": "caller",
2885
+ "type": "address"
2886
+ },
2887
+ {
2888
+ "indexed": false,
2889
+ "internalType": "bytes32",
2890
+ "name": "leftHandOperand",
2891
+ "type": "bytes32"
2892
+ },
2893
+ {
2894
+ "indexed": false,
2895
+ "internalType": "bytes32",
2896
+ "name": "rightHandOperand",
2897
+ "type": "bytes32"
2898
+ },
2899
+ {
2900
+ "indexed": false,
2901
+ "internalType": "bytes32",
2902
+ "name": "result",
2903
+ "type": "bytes32"
2904
+ }
2905
+ ],
2906
+ "name": "Ge",
2907
+ "type": "event"
2908
+ },
2909
+ {
2910
+ "anonymous": false,
2911
+ "inputs": [
2912
+ {
2913
+ "indexed": true,
2914
+ "internalType": "address",
2915
+ "name": "caller",
2916
+ "type": "address"
2917
+ },
2918
+ {
2919
+ "indexed": false,
2920
+ "internalType": "bytes32",
2921
+ "name": "leftHandOperand",
2922
+ "type": "bytes32"
2923
+ },
2924
+ {
2925
+ "indexed": false,
2926
+ "internalType": "bytes32",
2927
+ "name": "rightHandOperand",
2928
+ "type": "bytes32"
2929
+ },
2930
+ {
2931
+ "indexed": false,
2932
+ "internalType": "bytes32",
2933
+ "name": "result",
2934
+ "type": "bytes32"
2935
+ }
2936
+ ],
2937
+ "name": "Gt",
2938
+ "type": "event"
2939
+ },
2940
+ {
2941
+ "anonymous": false,
2942
+ "inputs": [
2943
+ {
2944
+ "indexed": false,
2945
+ "internalType": "bytes",
2946
+ "name": "newKmsPublicKey",
2947
+ "type": "bytes"
2948
+ }
2949
+ ],
2950
+ "name": "KmsPublicKeyUpdated",
2951
+ "type": "event"
2952
+ },
2953
+ {
2954
+ "anonymous": false,
2955
+ "inputs": [
2956
+ {
2957
+ "indexed": true,
2958
+ "internalType": "address",
2959
+ "name": "caller",
2960
+ "type": "address"
2961
+ },
2962
+ {
2963
+ "indexed": false,
2964
+ "internalType": "bytes32",
2965
+ "name": "leftHandOperand",
2966
+ "type": "bytes32"
2967
+ },
2968
+ {
2969
+ "indexed": false,
2970
+ "internalType": "bytes32",
2971
+ "name": "rightHandOperand",
2972
+ "type": "bytes32"
2973
+ },
2974
+ {
2975
+ "indexed": false,
2976
+ "internalType": "bytes32",
2977
+ "name": "result",
2978
+ "type": "bytes32"
2979
+ }
2980
+ ],
2981
+ "name": "Le",
2982
+ "type": "event"
2983
+ },
2984
+ {
2985
+ "anonymous": false,
2986
+ "inputs": [
2987
+ {
2988
+ "indexed": true,
2989
+ "internalType": "address",
2990
+ "name": "caller",
2991
+ "type": "address"
2992
+ },
2993
+ {
2994
+ "indexed": false,
2995
+ "internalType": "bytes32",
2996
+ "name": "leftHandOperand",
2997
+ "type": "bytes32"
2998
+ },
2999
+ {
3000
+ "indexed": false,
3001
+ "internalType": "bytes32",
3002
+ "name": "rightHandOperand",
3003
+ "type": "bytes32"
3004
+ },
3005
+ {
3006
+ "indexed": false,
3007
+ "internalType": "bytes32",
3008
+ "name": "result",
3009
+ "type": "bytes32"
3010
+ }
3011
+ ],
3012
+ "name": "Lt",
3013
+ "type": "event"
3014
+ },
3015
+ {
3016
+ "anonymous": false,
3017
+ "inputs": [
3018
+ {
3019
+ "indexed": true,
3020
+ "internalType": "address",
3021
+ "name": "sender",
3022
+ "type": "address"
3023
+ },
3024
+ {
3025
+ "indexed": true,
3026
+ "internalType": "bytes32",
3027
+ "name": "handle",
3028
+ "type": "bytes32"
3029
+ }
3030
+ ],
3031
+ "name": "MarkedAsPubliclyDecryptable",
3032
+ "type": "event"
3033
+ },
3034
+ {
3035
+ "anonymous": false,
3036
+ "inputs": [
3037
+ {
3038
+ "indexed": true,
3039
+ "internalType": "address",
3040
+ "name": "caller",
3041
+ "type": "address"
3042
+ },
3043
+ {
3044
+ "indexed": false,
3045
+ "internalType": "bytes32",
3046
+ "name": "balanceTo",
3047
+ "type": "bytes32"
3048
+ },
3049
+ {
3050
+ "indexed": false,
3051
+ "internalType": "bytes32",
3052
+ "name": "amount",
3053
+ "type": "bytes32"
3054
+ },
3055
+ {
3056
+ "indexed": false,
3057
+ "internalType": "bytes32",
3058
+ "name": "totalSupply",
3059
+ "type": "bytes32"
3060
+ },
3061
+ {
3062
+ "indexed": false,
3063
+ "internalType": "bytes32",
3064
+ "name": "success",
3065
+ "type": "bytes32"
3066
+ },
3067
+ {
3068
+ "indexed": false,
3069
+ "internalType": "bytes32",
3070
+ "name": "newBalanceTo",
3071
+ "type": "bytes32"
3072
+ },
3073
+ {
3074
+ "indexed": false,
3075
+ "internalType": "bytes32",
3076
+ "name": "newTotalSupply",
3077
+ "type": "bytes32"
3078
+ }
3079
+ ],
3080
+ "name": "Mint",
3081
+ "type": "event"
3082
+ },
3083
+ {
3084
+ "anonymous": false,
3085
+ "inputs": [
3086
+ {
3087
+ "indexed": true,
3088
+ "internalType": "address",
3089
+ "name": "caller",
3090
+ "type": "address"
3091
+ },
3092
+ {
3093
+ "indexed": false,
3094
+ "internalType": "bytes32",
3095
+ "name": "leftHandOperand",
3096
+ "type": "bytes32"
3097
+ },
3098
+ {
3099
+ "indexed": false,
3100
+ "internalType": "bytes32",
3101
+ "name": "rightHandOperand",
3102
+ "type": "bytes32"
3103
+ },
3104
+ {
3105
+ "indexed": false,
3106
+ "internalType": "bytes32",
3107
+ "name": "result",
3108
+ "type": "bytes32"
3109
+ }
3110
+ ],
3111
+ "name": "Mul",
3112
+ "type": "event"
3113
+ },
3114
+ {
3115
+ "anonymous": false,
3116
+ "inputs": [
3117
+ {
3118
+ "indexed": true,
3119
+ "internalType": "address",
3120
+ "name": "caller",
3121
+ "type": "address"
3122
+ },
3123
+ {
3124
+ "indexed": false,
3125
+ "internalType": "bytes32",
3126
+ "name": "leftHandOperand",
3127
+ "type": "bytes32"
3128
+ },
3129
+ {
3130
+ "indexed": false,
3131
+ "internalType": "bytes32",
3132
+ "name": "rightHandOperand",
3133
+ "type": "bytes32"
3134
+ },
3135
+ {
3136
+ "indexed": false,
3137
+ "internalType": "bytes32",
3138
+ "name": "result",
3139
+ "type": "bytes32"
3140
+ }
3141
+ ],
3142
+ "name": "Ne",
3143
+ "type": "event"
3144
+ },
3145
+ {
3146
+ "anonymous": false,
3147
+ "inputs": [
3148
+ {
3149
+ "indexed": false,
3150
+ "internalType": "uint256",
3151
+ "name": "newDuration",
3152
+ "type": "uint256"
3153
+ }
3154
+ ],
3155
+ "name": "ProofExpirationDurationUpdated",
3156
+ "type": "event"
3157
+ },
3158
+ {
3159
+ "anonymous": false,
3160
+ "inputs": [
3161
+ {
3162
+ "indexed": true,
3163
+ "internalType": "address",
3164
+ "name": "caller",
3165
+ "type": "address"
3166
+ },
3167
+ {
3168
+ "indexed": false,
3169
+ "internalType": "bytes32",
3170
+ "name": "leftHandOperand",
3171
+ "type": "bytes32"
3172
+ },
3173
+ {
3174
+ "indexed": false,
3175
+ "internalType": "bytes32",
3176
+ "name": "rightHandOperand",
3177
+ "type": "bytes32"
3178
+ },
3179
+ {
3180
+ "indexed": false,
3181
+ "internalType": "bytes32",
3182
+ "name": "success",
3183
+ "type": "bytes32"
3184
+ },
3185
+ {
3186
+ "indexed": false,
3187
+ "internalType": "bytes32",
3188
+ "name": "result",
3189
+ "type": "bytes32"
3190
+ }
3191
+ ],
3192
+ "name": "SafeAdd",
3193
+ "type": "event"
3194
+ },
3195
+ {
3196
+ "anonymous": false,
3197
+ "inputs": [
3198
+ {
3199
+ "indexed": true,
3200
+ "internalType": "address",
3201
+ "name": "caller",
3202
+ "type": "address"
3203
+ },
3204
+ {
3205
+ "indexed": false,
3206
+ "internalType": "bytes32",
3207
+ "name": "numerator",
3208
+ "type": "bytes32"
3209
+ },
3210
+ {
3211
+ "indexed": false,
3212
+ "internalType": "bytes32",
3213
+ "name": "denominator",
3214
+ "type": "bytes32"
3215
+ },
3216
+ {
3217
+ "indexed": false,
3218
+ "internalType": "bytes32",
3219
+ "name": "success",
3220
+ "type": "bytes32"
3221
+ },
3222
+ {
3223
+ "indexed": false,
3224
+ "internalType": "bytes32",
3225
+ "name": "result",
3226
+ "type": "bytes32"
3227
+ }
3228
+ ],
3229
+ "name": "SafeDiv",
3230
+ "type": "event"
3231
+ },
3232
+ {
3233
+ "anonymous": false,
3234
+ "inputs": [
3235
+ {
3236
+ "indexed": true,
3237
+ "internalType": "address",
3238
+ "name": "caller",
3239
+ "type": "address"
3240
+ },
3241
+ {
3242
+ "indexed": false,
3243
+ "internalType": "bytes32",
3244
+ "name": "leftHandOperand",
3245
+ "type": "bytes32"
3246
+ },
3247
+ {
3248
+ "indexed": false,
3249
+ "internalType": "bytes32",
3250
+ "name": "rightHandOperand",
3251
+ "type": "bytes32"
3252
+ },
3253
+ {
3254
+ "indexed": false,
3255
+ "internalType": "bytes32",
3256
+ "name": "success",
3257
+ "type": "bytes32"
3258
+ },
3259
+ {
3260
+ "indexed": false,
3261
+ "internalType": "bytes32",
3262
+ "name": "result",
3263
+ "type": "bytes32"
3264
+ }
3265
+ ],
3266
+ "name": "SafeMul",
3267
+ "type": "event"
3268
+ },
3269
+ {
3270
+ "anonymous": false,
3271
+ "inputs": [
3272
+ {
3273
+ "indexed": true,
3274
+ "internalType": "address",
3275
+ "name": "caller",
3276
+ "type": "address"
3277
+ },
3278
+ {
3279
+ "indexed": false,
3280
+ "internalType": "bytes32",
3281
+ "name": "leftHandOperand",
3282
+ "type": "bytes32"
3283
+ },
3284
+ {
3285
+ "indexed": false,
3286
+ "internalType": "bytes32",
3287
+ "name": "rightHandOperand",
3288
+ "type": "bytes32"
3289
+ },
3290
+ {
3291
+ "indexed": false,
3292
+ "internalType": "bytes32",
3293
+ "name": "success",
3294
+ "type": "bytes32"
3295
+ },
3296
+ {
3297
+ "indexed": false,
3298
+ "internalType": "bytes32",
3299
+ "name": "result",
3300
+ "type": "bytes32"
3301
+ }
3302
+ ],
3303
+ "name": "SafeSub",
3304
+ "type": "event"
3305
+ },
3306
+ {
3307
+ "anonymous": false,
3308
+ "inputs": [
3309
+ {
3310
+ "indexed": true,
3311
+ "internalType": "address",
3312
+ "name": "caller",
3313
+ "type": "address"
3314
+ },
3315
+ {
3316
+ "indexed": false,
3317
+ "internalType": "bytes32",
3318
+ "name": "condition",
3319
+ "type": "bytes32"
3320
+ },
3321
+ {
3322
+ "indexed": false,
3323
+ "internalType": "bytes32",
3324
+ "name": "ifTrue",
3325
+ "type": "bytes32"
3326
+ },
3327
+ {
3328
+ "indexed": false,
3329
+ "internalType": "bytes32",
3330
+ "name": "ifFalse",
3331
+ "type": "bytes32"
3332
+ },
3333
+ {
3334
+ "indexed": false,
3335
+ "internalType": "bytes32",
3336
+ "name": "result",
3337
+ "type": "bytes32"
3338
+ }
3339
+ ],
3340
+ "name": "Select",
3341
+ "type": "event"
3342
+ },
3343
+ {
3344
+ "anonymous": false,
3345
+ "inputs": [
3346
+ {
3347
+ "indexed": true,
3348
+ "internalType": "address",
3349
+ "name": "caller",
3350
+ "type": "address"
3351
+ },
3352
+ {
3353
+ "indexed": false,
3354
+ "internalType": "bytes32",
3355
+ "name": "leftHandOperand",
3356
+ "type": "bytes32"
3357
+ },
3358
+ {
3359
+ "indexed": false,
3360
+ "internalType": "bytes32",
3361
+ "name": "rightHandOperand",
3362
+ "type": "bytes32"
3363
+ },
3364
+ {
3365
+ "indexed": false,
3366
+ "internalType": "bytes32",
3367
+ "name": "result",
3368
+ "type": "bytes32"
3369
+ }
3370
+ ],
3371
+ "name": "Sub",
3372
+ "type": "event"
3373
+ },
3374
+ {
3375
+ "anonymous": false,
3376
+ "inputs": [
3377
+ {
3378
+ "indexed": true,
3379
+ "internalType": "address",
3380
+ "name": "caller",
3381
+ "type": "address"
3382
+ },
3383
+ {
3384
+ "indexed": false,
3385
+ "internalType": "bytes32",
3386
+ "name": "balanceFrom",
3387
+ "type": "bytes32"
3388
+ },
3389
+ {
3390
+ "indexed": false,
3391
+ "internalType": "bytes32",
3392
+ "name": "balanceTo",
3393
+ "type": "bytes32"
3394
+ },
3395
+ {
3396
+ "indexed": false,
3397
+ "internalType": "bytes32",
3398
+ "name": "amount",
3399
+ "type": "bytes32"
3400
+ },
3401
+ {
3402
+ "indexed": false,
3403
+ "internalType": "bytes32",
3404
+ "name": "success",
3405
+ "type": "bytes32"
3406
+ },
3407
+ {
3408
+ "indexed": false,
3409
+ "internalType": "bytes32",
3410
+ "name": "newBalanceFrom",
3411
+ "type": "bytes32"
3412
+ },
3413
+ {
3414
+ "indexed": false,
3415
+ "internalType": "bytes32",
3416
+ "name": "newBalanceTo",
3417
+ "type": "bytes32"
3418
+ }
3419
+ ],
3420
+ "name": "Transfer",
3421
+ "type": "event"
3422
+ },
3423
+ {
3424
+ "anonymous": false,
3425
+ "inputs": [
3426
+ {
3427
+ "indexed": true,
3428
+ "internalType": "address",
3429
+ "name": "sender",
3430
+ "type": "address"
3431
+ },
3432
+ {
3433
+ "indexed": true,
3434
+ "internalType": "address",
3435
+ "name": "viewer",
3436
+ "type": "address"
3437
+ },
3438
+ {
3439
+ "indexed": true,
3440
+ "internalType": "bytes32",
3441
+ "name": "handle",
3442
+ "type": "bytes32"
3443
+ }
3444
+ ],
3445
+ "name": "ViewerAdded",
3446
+ "type": "event"
3447
+ },
3448
+ {
3449
+ "anonymous": false,
3450
+ "inputs": [
3451
+ {
3452
+ "indexed": true,
3453
+ "internalType": "address",
3454
+ "name": "caller",
3455
+ "type": "address"
3456
+ },
3457
+ {
3458
+ "indexed": false,
3459
+ "internalType": "bytes32",
3460
+ "name": "plaintext",
3461
+ "type": "bytes32"
3462
+ },
3463
+ {
3464
+ "indexed": false,
3465
+ "internalType": "enum TEEType",
3466
+ "name": "toType",
3467
+ "type": "uint8"
3468
+ },
3469
+ {
3470
+ "indexed": false,
3471
+ "internalType": "bytes32",
3472
+ "name": "result",
3473
+ "type": "bytes32"
3474
+ }
3475
+ ],
3476
+ "name": "WrapAsPublicHandle",
3477
+ "type": "event"
3478
+ },
3479
+ {
3480
+ "inputs": [
3481
+ {
3482
+ "internalType": "bytes32",
3483
+ "name": "leftHandOperand",
3484
+ "type": "bytes32"
3485
+ },
3486
+ {
3487
+ "internalType": "bytes32",
3488
+ "name": "rightHandOperand",
3489
+ "type": "bytes32"
3490
+ }
3491
+ ],
3492
+ "name": "add",
3493
+ "outputs": [
3494
+ {
3495
+ "internalType": "bytes32",
3496
+ "name": "result",
3497
+ "type": "bytes32"
3498
+ }
3499
+ ],
3500
+ "stateMutability": "nonpayable",
3501
+ "type": "function"
3502
+ },
3503
+ {
3504
+ "inputs": [
3505
+ {
3506
+ "internalType": "bytes32",
3507
+ "name": "handle",
3508
+ "type": "bytes32"
3509
+ },
3510
+ {
3511
+ "internalType": "address",
3512
+ "name": "viewer",
3513
+ "type": "address"
3514
+ }
3515
+ ],
3516
+ "name": "addViewer",
3517
+ "outputs": [],
3518
+ "stateMutability": "nonpayable",
3519
+ "type": "function"
3520
+ },
3521
+ {
3522
+ "inputs": [
3523
+ {
3524
+ "internalType": "bytes32",
3525
+ "name": "handle",
3526
+ "type": "bytes32"
3527
+ },
3528
+ {
3529
+ "internalType": "address",
3530
+ "name": "account",
3531
+ "type": "address"
3532
+ }
3533
+ ],
3534
+ "name": "allow",
3535
+ "outputs": [],
3536
+ "stateMutability": "nonpayable",
3537
+ "type": "function"
3538
+ },
3539
+ {
3540
+ "inputs": [
3541
+ {
3542
+ "internalType": "bytes32",
3543
+ "name": "handle",
3544
+ "type": "bytes32"
3545
+ }
3546
+ ],
3547
+ "name": "allowPublicDecryption",
3548
+ "outputs": [],
3549
+ "stateMutability": "nonpayable",
3550
+ "type": "function"
3551
+ },
3552
+ {
3553
+ "inputs": [
3554
+ {
3555
+ "internalType": "bytes32",
3556
+ "name": "handle",
3557
+ "type": "bytes32"
3558
+ },
3559
+ {
3560
+ "internalType": "address",
3561
+ "name": "account",
3562
+ "type": "address"
3563
+ }
3564
+ ],
3565
+ "name": "allowTransient",
3566
+ "outputs": [],
3567
+ "stateMutability": "nonpayable",
3568
+ "type": "function"
3569
+ },
3570
+ {
3571
+ "inputs": [
3572
+ {
3573
+ "internalType": "bytes32",
3574
+ "name": "balanceFrom",
3575
+ "type": "bytes32"
3576
+ },
3577
+ {
3578
+ "internalType": "bytes32",
3579
+ "name": "amount",
3580
+ "type": "bytes32"
3581
+ },
3582
+ {
3583
+ "internalType": "bytes32",
3584
+ "name": "totalSupply",
3585
+ "type": "bytes32"
3586
+ }
3587
+ ],
3588
+ "name": "burn",
3589
+ "outputs": [
3590
+ {
3591
+ "internalType": "bytes32",
3592
+ "name": "success",
3593
+ "type": "bytes32"
3594
+ },
3595
+ {
3596
+ "internalType": "bytes32",
3597
+ "name": "newBalanceFrom",
3598
+ "type": "bytes32"
3599
+ },
3600
+ {
3601
+ "internalType": "bytes32",
3602
+ "name": "newTotalSupply",
3603
+ "type": "bytes32"
3604
+ }
3605
+ ],
3606
+ "stateMutability": "nonpayable",
3607
+ "type": "function"
3608
+ },
3609
+ {
3610
+ "inputs": [
3611
+ {
3612
+ "internalType": "bytes32",
3613
+ "name": "handle",
3614
+ "type": "bytes32"
3615
+ },
3616
+ {
3617
+ "internalType": "address",
3618
+ "name": "account",
3619
+ "type": "address"
3620
+ }
3621
+ ],
3622
+ "name": "disallowTransient",
3623
+ "outputs": [],
3624
+ "stateMutability": "nonpayable",
3625
+ "type": "function"
3626
+ },
3627
+ {
3628
+ "inputs": [
3629
+ {
3630
+ "internalType": "bytes32",
3631
+ "name": "numerator",
3632
+ "type": "bytes32"
3633
+ },
3634
+ {
3635
+ "internalType": "bytes32",
3636
+ "name": "denominator",
3637
+ "type": "bytes32"
3638
+ }
3639
+ ],
3640
+ "name": "div",
3641
+ "outputs": [
3642
+ {
3643
+ "internalType": "bytes32",
3644
+ "name": "result",
3645
+ "type": "bytes32"
3646
+ }
3647
+ ],
3648
+ "stateMutability": "nonpayable",
3649
+ "type": "function"
3650
+ },
3651
+ {
3652
+ "inputs": [
3653
+ {
3654
+ "internalType": "bytes32",
3655
+ "name": "leftHandOperand",
3656
+ "type": "bytes32"
3657
+ },
3658
+ {
3659
+ "internalType": "bytes32",
3660
+ "name": "rightHandOperand",
3661
+ "type": "bytes32"
3662
+ }
3663
+ ],
3664
+ "name": "eq",
3665
+ "outputs": [
3666
+ {
3667
+ "internalType": "bytes32",
3668
+ "name": "result",
3669
+ "type": "bytes32"
3670
+ }
3671
+ ],
3672
+ "stateMutability": "nonpayable",
3673
+ "type": "function"
3674
+ },
3675
+ {
3676
+ "inputs": [],
3677
+ "name": "gateway",
3678
+ "outputs": [
3679
+ {
3680
+ "internalType": "address",
3681
+ "name": "",
3682
+ "type": "address"
3683
+ }
3684
+ ],
3685
+ "stateMutability": "view",
3686
+ "type": "function"
3687
+ },
3688
+ {
3689
+ "inputs": [
3690
+ {
3691
+ "internalType": "bytes32",
3692
+ "name": "leftHandOperand",
3693
+ "type": "bytes32"
3694
+ },
3695
+ {
3696
+ "internalType": "bytes32",
3697
+ "name": "rightHandOperand",
3698
+ "type": "bytes32"
3699
+ }
3700
+ ],
3701
+ "name": "ge",
3702
+ "outputs": [
3703
+ {
3704
+ "internalType": "bytes32",
3705
+ "name": "result",
3706
+ "type": "bytes32"
3707
+ }
3708
+ ],
3709
+ "stateMutability": "nonpayable",
3710
+ "type": "function"
3711
+ },
3712
+ {
3713
+ "inputs": [
3714
+ {
3715
+ "internalType": "bytes32",
3716
+ "name": "leftHandOperand",
3717
+ "type": "bytes32"
3718
+ },
3719
+ {
3720
+ "internalType": "bytes32",
3721
+ "name": "rightHandOperand",
3722
+ "type": "bytes32"
3723
+ }
3724
+ ],
3725
+ "name": "gt",
3726
+ "outputs": [
3727
+ {
3728
+ "internalType": "bytes32",
3729
+ "name": "result",
3730
+ "type": "bytes32"
3731
+ }
3732
+ ],
3733
+ "stateMutability": "nonpayable",
3734
+ "type": "function"
3735
+ },
3736
+ {
3737
+ "inputs": [
3738
+ {
3739
+ "internalType": "bytes32",
3740
+ "name": "handle",
3741
+ "type": "bytes32"
3742
+ },
3743
+ {
3744
+ "internalType": "address",
3745
+ "name": "account",
3746
+ "type": "address"
3747
+ }
3748
+ ],
3749
+ "name": "isAllowed",
3750
+ "outputs": [
3751
+ {
3752
+ "internalType": "bool",
3753
+ "name": "",
3754
+ "type": "bool"
3755
+ }
3756
+ ],
3757
+ "stateMutability": "view",
3758
+ "type": "function"
3759
+ },
3760
+ {
3761
+ "inputs": [
3762
+ {
3763
+ "internalType": "bytes32",
3764
+ "name": "handle",
3765
+ "type": "bytes32"
3766
+ }
3767
+ ],
3768
+ "name": "isPubliclyDecryptable",
3769
+ "outputs": [
3770
+ {
3771
+ "internalType": "bool",
3772
+ "name": "",
3773
+ "type": "bool"
3774
+ }
3775
+ ],
3776
+ "stateMutability": "view",
3777
+ "type": "function"
3778
+ },
3779
+ {
3780
+ "inputs": [
3781
+ {
3782
+ "internalType": "bytes32",
3783
+ "name": "handle",
3784
+ "type": "bytes32"
3785
+ },
3786
+ {
3787
+ "internalType": "address",
3788
+ "name": "viewer",
3789
+ "type": "address"
3790
+ }
3791
+ ],
3792
+ "name": "isViewer",
3793
+ "outputs": [
3794
+ {
3795
+ "internalType": "bool",
3796
+ "name": "",
3797
+ "type": "bool"
3798
+ }
3799
+ ],
3800
+ "stateMutability": "view",
3801
+ "type": "function"
3802
+ },
3803
+ {
3804
+ "inputs": [],
3805
+ "name": "kmsPublicKey",
3806
+ "outputs": [
3807
+ {
3808
+ "internalType": "bytes",
3809
+ "name": "",
3810
+ "type": "bytes"
3811
+ }
3812
+ ],
3813
+ "stateMutability": "view",
3814
+ "type": "function"
3815
+ },
3816
+ {
3817
+ "inputs": [
3818
+ {
3819
+ "internalType": "bytes32",
3820
+ "name": "leftHandOperand",
3821
+ "type": "bytes32"
3822
+ },
3823
+ {
3824
+ "internalType": "bytes32",
3825
+ "name": "rightHandOperand",
3826
+ "type": "bytes32"
3827
+ }
3828
+ ],
3829
+ "name": "le",
3830
+ "outputs": [
3831
+ {
3832
+ "internalType": "bytes32",
3833
+ "name": "result",
3834
+ "type": "bytes32"
3835
+ }
3836
+ ],
3837
+ "stateMutability": "nonpayable",
3838
+ "type": "function"
3839
+ },
3840
+ {
3841
+ "inputs": [
3842
+ {
3843
+ "internalType": "bytes32",
3844
+ "name": "leftHandOperand",
3845
+ "type": "bytes32"
3846
+ },
3847
+ {
3848
+ "internalType": "bytes32",
3849
+ "name": "rightHandOperand",
3850
+ "type": "bytes32"
3851
+ }
3852
+ ],
3853
+ "name": "lt",
3854
+ "outputs": [
3855
+ {
3856
+ "internalType": "bytes32",
3857
+ "name": "result",
3858
+ "type": "bytes32"
3859
+ }
3860
+ ],
3861
+ "stateMutability": "nonpayable",
3862
+ "type": "function"
3863
+ },
3864
+ {
3865
+ "inputs": [
3866
+ {
3867
+ "internalType": "bytes32",
3868
+ "name": "balanceTo",
3869
+ "type": "bytes32"
3870
+ },
3871
+ {
3872
+ "internalType": "bytes32",
3873
+ "name": "amount",
3874
+ "type": "bytes32"
3875
+ },
3876
+ {
3877
+ "internalType": "bytes32",
3878
+ "name": "totalSupply",
3879
+ "type": "bytes32"
3880
+ }
3881
+ ],
3882
+ "name": "mint",
3883
+ "outputs": [
3884
+ {
3885
+ "internalType": "bytes32",
3886
+ "name": "success",
3887
+ "type": "bytes32"
3888
+ },
3889
+ {
3890
+ "internalType": "bytes32",
3891
+ "name": "newBalanceTo",
3892
+ "type": "bytes32"
3893
+ },
3894
+ {
3895
+ "internalType": "bytes32",
3896
+ "name": "newTotalSupply",
3897
+ "type": "bytes32"
3898
+ }
3899
+ ],
3900
+ "stateMutability": "nonpayable",
3901
+ "type": "function"
3902
+ },
3903
+ {
3904
+ "inputs": [
3905
+ {
3906
+ "internalType": "bytes32",
3907
+ "name": "leftHandOperand",
3908
+ "type": "bytes32"
3909
+ },
3910
+ {
3911
+ "internalType": "bytes32",
3912
+ "name": "rightHandOperand",
3913
+ "type": "bytes32"
3914
+ }
3915
+ ],
3916
+ "name": "mul",
3917
+ "outputs": [
3918
+ {
3919
+ "internalType": "bytes32",
3920
+ "name": "result",
3921
+ "type": "bytes32"
3922
+ }
3923
+ ],
3924
+ "stateMutability": "nonpayable",
3925
+ "type": "function"
3926
+ },
3927
+ {
3928
+ "inputs": [
3929
+ {
3930
+ "internalType": "bytes32",
3931
+ "name": "leftHandOperand",
3932
+ "type": "bytes32"
3933
+ },
3934
+ {
3935
+ "internalType": "bytes32",
3936
+ "name": "rightHandOperand",
3937
+ "type": "bytes32"
3938
+ }
3939
+ ],
3940
+ "name": "ne",
3941
+ "outputs": [
3942
+ {
3943
+ "internalType": "bytes32",
3944
+ "name": "result",
3945
+ "type": "bytes32"
3946
+ }
3947
+ ],
3948
+ "stateMutability": "nonpayable",
3949
+ "type": "function"
3950
+ },
3951
+ {
3952
+ "inputs": [],
3953
+ "name": "proofExpirationDuration",
3954
+ "outputs": [
3955
+ {
3956
+ "internalType": "uint256",
3957
+ "name": "",
3958
+ "type": "uint256"
3959
+ }
3960
+ ],
3961
+ "stateMutability": "view",
3962
+ "type": "function"
3963
+ },
3964
+ {
3965
+ "inputs": [
3966
+ {
3967
+ "internalType": "bytes32",
3968
+ "name": "leftHandOperand",
3969
+ "type": "bytes32"
3970
+ },
3971
+ {
3972
+ "internalType": "bytes32",
3973
+ "name": "rightHandOperand",
3974
+ "type": "bytes32"
3975
+ }
3976
+ ],
3977
+ "name": "safeAdd",
3978
+ "outputs": [
3979
+ {
3980
+ "internalType": "bytes32",
3981
+ "name": "success",
3982
+ "type": "bytes32"
3983
+ },
3984
+ {
3985
+ "internalType": "bytes32",
3986
+ "name": "result",
3987
+ "type": "bytes32"
3988
+ }
3989
+ ],
3990
+ "stateMutability": "nonpayable",
3991
+ "type": "function"
3992
+ },
3993
+ {
3994
+ "inputs": [
3995
+ {
3996
+ "internalType": "bytes32",
3997
+ "name": "numerator",
3998
+ "type": "bytes32"
3999
+ },
4000
+ {
4001
+ "internalType": "bytes32",
4002
+ "name": "denominator",
4003
+ "type": "bytes32"
4004
+ }
4005
+ ],
4006
+ "name": "safeDiv",
4007
+ "outputs": [
4008
+ {
4009
+ "internalType": "bytes32",
4010
+ "name": "success",
4011
+ "type": "bytes32"
4012
+ },
4013
+ {
4014
+ "internalType": "bytes32",
4015
+ "name": "result",
4016
+ "type": "bytes32"
4017
+ }
4018
+ ],
4019
+ "stateMutability": "nonpayable",
4020
+ "type": "function"
4021
+ },
4022
+ {
4023
+ "inputs": [
4024
+ {
4025
+ "internalType": "bytes32",
4026
+ "name": "leftHandOperand",
4027
+ "type": "bytes32"
4028
+ },
4029
+ {
4030
+ "internalType": "bytes32",
4031
+ "name": "rightHandOperand",
4032
+ "type": "bytes32"
4033
+ }
4034
+ ],
4035
+ "name": "safeMul",
4036
+ "outputs": [
4037
+ {
4038
+ "internalType": "bytes32",
4039
+ "name": "success",
4040
+ "type": "bytes32"
4041
+ },
4042
+ {
4043
+ "internalType": "bytes32",
4044
+ "name": "result",
4045
+ "type": "bytes32"
4046
+ }
4047
+ ],
4048
+ "stateMutability": "nonpayable",
4049
+ "type": "function"
4050
+ },
4051
+ {
4052
+ "inputs": [
4053
+ {
4054
+ "internalType": "bytes32",
4055
+ "name": "leftHandOperand",
4056
+ "type": "bytes32"
4057
+ },
4058
+ {
4059
+ "internalType": "bytes32",
4060
+ "name": "rightHandOperand",
4061
+ "type": "bytes32"
4062
+ }
4063
+ ],
4064
+ "name": "safeSub",
4065
+ "outputs": [
4066
+ {
4067
+ "internalType": "bytes32",
4068
+ "name": "success",
4069
+ "type": "bytes32"
4070
+ },
4071
+ {
4072
+ "internalType": "bytes32",
4073
+ "name": "result",
4074
+ "type": "bytes32"
4075
+ }
4076
+ ],
4077
+ "stateMutability": "nonpayable",
4078
+ "type": "function"
4079
+ },
4080
+ {
4081
+ "inputs": [
4082
+ {
4083
+ "internalType": "bytes32",
4084
+ "name": "condition",
4085
+ "type": "bytes32"
4086
+ },
4087
+ {
4088
+ "internalType": "bytes32",
4089
+ "name": "ifTrue",
4090
+ "type": "bytes32"
4091
+ },
4092
+ {
4093
+ "internalType": "bytes32",
4094
+ "name": "ifFalse",
4095
+ "type": "bytes32"
4096
+ }
4097
+ ],
4098
+ "name": "select",
4099
+ "outputs": [
4100
+ {
4101
+ "internalType": "bytes32",
4102
+ "name": "",
4103
+ "type": "bytes32"
4104
+ }
4105
+ ],
4106
+ "stateMutability": "nonpayable",
4107
+ "type": "function"
4108
+ },
4109
+ {
4110
+ "inputs": [
4111
+ {
4112
+ "internalType": "address",
4113
+ "name": "gatewayAddress",
4114
+ "type": "address"
4115
+ }
4116
+ ],
4117
+ "name": "setGateway",
4118
+ "outputs": [],
4119
+ "stateMutability": "nonpayable",
4120
+ "type": "function"
4121
+ },
4122
+ {
4123
+ "inputs": [
4124
+ {
4125
+ "internalType": "bytes",
4126
+ "name": "newKmsPublicKey",
4127
+ "type": "bytes"
4128
+ }
4129
+ ],
4130
+ "name": "setKmsPublicKey",
4131
+ "outputs": [],
4132
+ "stateMutability": "nonpayable",
4133
+ "type": "function"
4134
+ },
4135
+ {
4136
+ "inputs": [
4137
+ {
4138
+ "internalType": "uint256",
4139
+ "name": "newDuration",
4140
+ "type": "uint256"
4141
+ }
4142
+ ],
4143
+ "name": "setProofExpirationDuration",
4144
+ "outputs": [],
4145
+ "stateMutability": "nonpayable",
4146
+ "type": "function"
4147
+ },
4148
+ {
4149
+ "inputs": [
4150
+ {
4151
+ "internalType": "bytes32",
4152
+ "name": "leftHandOperand",
4153
+ "type": "bytes32"
4154
+ },
4155
+ {
4156
+ "internalType": "bytes32",
4157
+ "name": "rightHandOperand",
4158
+ "type": "bytes32"
4159
+ }
4160
+ ],
4161
+ "name": "sub",
4162
+ "outputs": [
4163
+ {
4164
+ "internalType": "bytes32",
4165
+ "name": "result",
4166
+ "type": "bytes32"
4167
+ }
4168
+ ],
4169
+ "stateMutability": "nonpayable",
4170
+ "type": "function"
4171
+ },
4172
+ {
4173
+ "inputs": [
4174
+ {
4175
+ "internalType": "bytes32",
4176
+ "name": "balanceFrom",
4177
+ "type": "bytes32"
4178
+ },
4179
+ {
4180
+ "internalType": "bytes32",
4181
+ "name": "balanceTo",
4182
+ "type": "bytes32"
4183
+ },
4184
+ {
4185
+ "internalType": "bytes32",
4186
+ "name": "amount",
4187
+ "type": "bytes32"
4188
+ }
4189
+ ],
4190
+ "name": "transfer",
4191
+ "outputs": [
4192
+ {
4193
+ "internalType": "bytes32",
4194
+ "name": "success",
4195
+ "type": "bytes32"
4196
+ },
4197
+ {
4198
+ "internalType": "bytes32",
4199
+ "name": "newBalanceFrom",
4200
+ "type": "bytes32"
4201
+ },
4202
+ {
4203
+ "internalType": "bytes32",
4204
+ "name": "newBalanceTo",
4205
+ "type": "bytes32"
4206
+ }
4207
+ ],
4208
+ "stateMutability": "nonpayable",
4209
+ "type": "function"
4210
+ },
4211
+ {
4212
+ "inputs": [
4213
+ {
4214
+ "internalType": "address",
4215
+ "name": "account",
4216
+ "type": "address"
4217
+ },
4218
+ {
4219
+ "internalType": "bytes32[]",
4220
+ "name": "handles",
4221
+ "type": "bytes32[]"
4222
+ }
4223
+ ],
4224
+ "name": "validateAllowedForAll",
4225
+ "outputs": [],
4226
+ "stateMutability": "view",
4227
+ "type": "function"
4228
+ },
4229
+ {
4230
+ "inputs": [
4231
+ {
4232
+ "internalType": "bytes32",
4233
+ "name": "handle",
4234
+ "type": "bytes32"
4235
+ },
4236
+ {
4237
+ "internalType": "bytes",
4238
+ "name": "decryptionProof",
4239
+ "type": "bytes"
4240
+ }
4241
+ ],
4242
+ "name": "validateDecryptionProof",
4243
+ "outputs": [
4244
+ {
4245
+ "internalType": "bytes",
4246
+ "name": "",
4247
+ "type": "bytes"
4248
+ }
4249
+ ],
4250
+ "stateMutability": "view",
4251
+ "type": "function"
4252
+ },
4253
+ {
4254
+ "inputs": [
4255
+ {
4256
+ "internalType": "bytes32",
4257
+ "name": "handle",
4258
+ "type": "bytes32"
4259
+ },
4260
+ {
4261
+ "internalType": "address",
4262
+ "name": "owner",
4263
+ "type": "address"
4264
+ },
4265
+ {
4266
+ "internalType": "bytes",
4267
+ "name": "proof",
4268
+ "type": "bytes"
4269
+ },
4270
+ {
4271
+ "internalType": "enum TEEType",
4272
+ "name": "teeType",
4273
+ "type": "uint8"
4274
+ }
4275
+ ],
4276
+ "name": "validateInputProof",
4277
+ "outputs": [],
4278
+ "stateMutability": "nonpayable",
4279
+ "type": "function"
4280
+ },
4281
+ {
4282
+ "inputs": [
4283
+ {
4284
+ "internalType": "bytes32",
4285
+ "name": "value",
4286
+ "type": "bytes32"
4287
+ },
4288
+ {
4289
+ "internalType": "enum TEEType",
4290
+ "name": "teeType",
4291
+ "type": "uint8"
4292
+ }
4293
+ ],
4294
+ "name": "wrapAsPublicHandle",
4295
+ "outputs": [
4296
+ {
4297
+ "internalType": "bytes32",
4298
+ "name": "",
4299
+ "type": "bytes32"
4300
+ }
4301
+ ],
4302
+ "stateMutability": "nonpayable",
4303
+ "type": "function"
4304
+ }
4305
+ ],
4306
+ "devdoc": {
4307
+ "kind": "dev",
4308
+ "methods": {
4309
+ "add(bytes32,bytes32)": {
4310
+ "params": {
4311
+ "leftHandOperand": "Left-hand side operand handle",
4312
+ "rightHandOperand": "Right-hand side operand handle"
4313
+ },
4314
+ "returns": {
4315
+ "result": "Result handle"
4316
+ }
4317
+ },
4318
+ "addViewer(bytes32,address)": {
4319
+ "details": "Only an admin can add a viewer. The viewer address cannot be address(0).",
4320
+ "params": {
4321
+ "handle": "The handle identifier",
4322
+ "viewer": "The address to grant viewer role"
4323
+ }
4324
+ },
4325
+ "allow(bytes32,address)": {
4326
+ "details": "Caller must have access (transient OR persistent) to the handle",
4327
+ "params": {
4328
+ "account": "The address to grant admin role",
4329
+ "handle": "The handle identifier"
4330
+ }
4331
+ },
4332
+ "allowPublicDecryption(bytes32)": {
4333
+ "details": "The caller must be allowed to use the handle. If not, the function reverts.",
4334
+ "params": {
4335
+ "handle": "Handle to mark as publicly decryptable."
4336
+ }
4337
+ },
4338
+ "allowTransient(bytes32,address)": {
4339
+ "params": {
4340
+ "account": "Address of the account.",
4341
+ "handle": "Handle."
4342
+ }
4343
+ },
4344
+ "burn(bytes32,bytes32,bytes32)": {
4345
+ "params": {
4346
+ "amount": "Amount handle to burn",
4347
+ "balanceFrom": "Sender's current balance handle",
4348
+ "totalSupply": "Current total supply handle"
4349
+ },
4350
+ "returns": {
4351
+ "newBalanceFrom": "Sender's new balance handle",
4352
+ "newTotalSupply": "New total supply handle",
4353
+ "success": "Bool handle indicating if the burn succeeded"
4354
+ }
4355
+ },
4356
+ "disallowTransient(bytes32,address)": {
4357
+ "params": {
4358
+ "account": "Address of the account.",
4359
+ "handle": "Handle."
4360
+ }
4361
+ },
4362
+ "div(bytes32,bytes32)": {
4363
+ "params": {
4364
+ "denominator": "Value to divide by",
4365
+ "numerator": "Value to be divided"
4366
+ },
4367
+ "returns": {
4368
+ "result": "Result handle"
4369
+ }
4370
+ },
4371
+ "eq(bytes32,bytes32)": {
4372
+ "params": {
4373
+ "leftHandOperand": "Left-hand side operand handle",
4374
+ "rightHandOperand": "Right-hand side operand handle"
4375
+ },
4376
+ "returns": {
4377
+ "result": "Bool handle indicating equality"
4378
+ }
4379
+ },
4380
+ "ge(bytes32,bytes32)": {
4381
+ "params": {
4382
+ "leftHandOperand": "Left-hand side operand handle",
4383
+ "rightHandOperand": "Right-hand side operand handle"
4384
+ },
4385
+ "returns": {
4386
+ "result": "Bool handle indicating greater than or equal"
4387
+ }
4388
+ },
4389
+ "gt(bytes32,bytes32)": {
4390
+ "params": {
4391
+ "leftHandOperand": "Left-hand side operand handle",
4392
+ "rightHandOperand": "Right-hand side operand handle"
4393
+ },
4394
+ "returns": {
4395
+ "result": "Bool handle indicating greater than"
4396
+ }
4397
+ },
4398
+ "isAllowed(bytes32,address)": {
4399
+ "params": {
4400
+ "account": "Address of the account.",
4401
+ "handle": "Handle."
4402
+ },
4403
+ "returns": {
4404
+ "_0": "Whether the account can access the handle (persistent or transient)."
4405
+ }
4406
+ },
4407
+ "isPubliclyDecryptable(bytes32)": {
4408
+ "params": {
4409
+ "handle": "Handle."
4410
+ },
4411
+ "returns": {
4412
+ "_0": "Whether the handle is publicly decryptable."
4413
+ }
4414
+ },
4415
+ "isViewer(bytes32,address)": {
4416
+ "details": "Returns true if any of the following conditions are met: - The handle is publicly decryptable - The account was added as a viewer via `addViewer` - The account has persistent access (is allowed) on the handle",
4417
+ "params": {
4418
+ "handle": "Handle.",
4419
+ "viewer": "Address of the viewer."
4420
+ },
4421
+ "returns": {
4422
+ "_0": "Whether the account can view the handle."
4423
+ }
4424
+ },
4425
+ "le(bytes32,bytes32)": {
4426
+ "params": {
4427
+ "leftHandOperand": "Left-hand side operand handle",
4428
+ "rightHandOperand": "Right-hand side operand handle"
4429
+ },
4430
+ "returns": {
4431
+ "result": "Bool handle indicating less than or equal"
4432
+ }
4433
+ },
4434
+ "lt(bytes32,bytes32)": {
4435
+ "params": {
4436
+ "leftHandOperand": "Left-hand side operand handle",
4437
+ "rightHandOperand": "Right-hand side operand handle"
4438
+ },
4439
+ "returns": {
4440
+ "result": "Bool handle indicating less than"
4441
+ }
4442
+ },
4443
+ "mint(bytes32,bytes32,bytes32)": {
4444
+ "params": {
4445
+ "amount": "Amount handle to mint",
4446
+ "balanceTo": "Recipient's current balance handle",
4447
+ "totalSupply": "Current total supply handle"
4448
+ },
4449
+ "returns": {
4450
+ "newBalanceTo": "Recipient's new balance handle",
4451
+ "newTotalSupply": "New total supply handle",
4452
+ "success": "Bool handle indicating if the mint succeeded"
4453
+ }
4454
+ },
4455
+ "mul(bytes32,bytes32)": {
4456
+ "params": {
4457
+ "leftHandOperand": "Left-hand side operand handle",
4458
+ "rightHandOperand": "Right-hand side operand handle"
4459
+ },
4460
+ "returns": {
4461
+ "result": "Result handle"
4462
+ }
4463
+ },
4464
+ "ne(bytes32,bytes32)": {
4465
+ "params": {
4466
+ "leftHandOperand": "Left-hand side operand handle",
4467
+ "rightHandOperand": "Right-hand side operand handle"
4468
+ },
4469
+ "returns": {
4470
+ "result": "Bool handle indicating inequality"
4471
+ }
4472
+ },
4473
+ "safeAdd(bytes32,bytes32)": {
4474
+ "params": {
4475
+ "leftHandOperand": "Left-hand side operand handle",
4476
+ "rightHandOperand": "Right-hand side operand handle"
4477
+ },
4478
+ "returns": {
4479
+ "result": "Result handle",
4480
+ "success": "Whether the operation was successful"
4481
+ }
4482
+ },
4483
+ "safeDiv(bytes32,bytes32)": {
4484
+ "params": {
4485
+ "denominator": "Value to divide by",
4486
+ "numerator": "Value to be divided"
4487
+ },
4488
+ "returns": {
4489
+ "result": "Result handle",
4490
+ "success": "Whether the operation was successful"
4491
+ }
4492
+ },
4493
+ "safeMul(bytes32,bytes32)": {
4494
+ "params": {
4495
+ "leftHandOperand": "Left-hand side operand handle",
4496
+ "rightHandOperand": "Right-hand side operand handle"
4497
+ },
4498
+ "returns": {
4499
+ "result": "Result handle",
4500
+ "success": "Whether the operation was successful"
4501
+ }
4502
+ },
4503
+ "safeSub(bytes32,bytes32)": {
4504
+ "params": {
4505
+ "leftHandOperand": "Left-hand side operand handle",
4506
+ "rightHandOperand": "Right-hand side operand handle"
4507
+ },
4508
+ "returns": {
4509
+ "result": "Result handle",
4510
+ "success": "Whether the operation was successful"
4511
+ }
4512
+ },
4513
+ "select(bytes32,bytes32,bytes32)": {
4514
+ "params": {
4515
+ "condition": "Condition handle",
4516
+ "ifFalse": "Value handle if condition is false",
4517
+ "ifTrue": "Value handle if condition is true"
4518
+ },
4519
+ "returns": {
4520
+ "_0": "result Selected value handle"
4521
+ }
4522
+ },
4523
+ "setGateway(address)": {
4524
+ "params": {
4525
+ "gatewayAddress": "The address of the gateway"
4526
+ }
4527
+ },
4528
+ "setKmsPublicKey(bytes)": {
4529
+ "params": {
4530
+ "newKmsPublicKey": "The compressed SEC1 secp256k1 public key (33 bytes)"
4531
+ }
4532
+ },
4533
+ "setProofExpirationDuration(uint256)": {
4534
+ "params": {
4535
+ "newDuration": "The new expiration duration in seconds"
4536
+ }
4537
+ },
4538
+ "sub(bytes32,bytes32)": {
4539
+ "params": {
4540
+ "leftHandOperand": "Left-hand side operand handle",
4541
+ "rightHandOperand": "Right-hand side operand handle"
4542
+ },
4543
+ "returns": {
4544
+ "result": "Result handle"
4545
+ }
4546
+ },
4547
+ "transfer(bytes32,bytes32,bytes32)": {
4548
+ "params": {
4549
+ "amount": "Amount handle to transfer",
4550
+ "balanceFrom": "Sender's current balance handle",
4551
+ "balanceTo": "Recipient's current balance handle"
4552
+ },
4553
+ "returns": {
4554
+ "newBalanceFrom": "Sender's new balance handle",
4555
+ "newBalanceTo": "Recipient's new balance handle",
4556
+ "success": "Bool handle indicating if the transfer succeeded"
4557
+ }
4558
+ },
4559
+ "validateAllowedForAll(address,bytes32[])": {
4560
+ "params": {
4561
+ "account": "Address of the account.",
4562
+ "handles": "Array of handles to check."
4563
+ }
4564
+ },
4565
+ "validateDecryptionProof(bytes32,bytes)": {
4566
+ "params": {
4567
+ "decryptionProof": "Compact proof: `signature (65 bytes) || decryptedResult (N bytes)`",
4568
+ "handle": "Handle to decrypt"
4569
+ },
4570
+ "returns": {
4571
+ "_0": "decryptedResult The decrypted value extracted from the proof if the proof is valid, or reverts otherwise"
4572
+ }
4573
+ },
4574
+ "validateInputProof(bytes32,address,bytes,uint8)": {
4575
+ "params": {
4576
+ "handle": "handle id",
4577
+ "owner": "The address of the handle owner",
4578
+ "proof": "Proof data"
4579
+ }
4580
+ },
4581
+ "wrapAsPublicHandle(bytes32,uint8)": {
4582
+ "params": {
4583
+ "teeType": "The type of the handle",
4584
+ "value": "The plaintext value"
4585
+ },
4586
+ "returns": {
4587
+ "_0": "The public handle"
4588
+ }
4589
+ }
4590
+ },
4591
+ "title": "Common",
4592
+ "version": 1
4593
+ },
4594
+ "userdoc": {
4595
+ "errors": {
4596
+ "InvalidEmptyBytes()": [
4597
+ {
4598
+ "notice": "Error thrown when bytes parameter is empty"
4599
+ }
4600
+ ],
4601
+ "InvalidProof(bytes,string)": [
4602
+ {
4603
+ "notice": "Error thrown when the input proof is invalid"
4604
+ }
4605
+ ],
4606
+ "InvalidZeroAddress()": [
4607
+ {
4608
+ "notice": "Error thrown when account address is zero"
4609
+ }
4610
+ ],
4611
+ "NotAllowed(bytes32,address)": [
4612
+ {
4613
+ "notice": "Error thrown when an account is not allowed to use a handle"
4614
+ }
4615
+ ],
4616
+ "NotPubliclyDecryptable(bytes32)": [
4617
+ {
4618
+ "notice": "Error thrown when a handle is not publicly decryptable"
4619
+ }
4620
+ ],
4621
+ "PublicHandleACLForbidden()": [
4622
+ {
4623
+ "notice": "Error thrown when attempting an ACL mutation on a public handle"
4624
+ }
4625
+ ],
4626
+ "UnauthorizedSender(address)": [
4627
+ {
4628
+ "notice": "Error thrown when sender doesn't have access to the handle"
4629
+ }
4630
+ ],
4631
+ "UndefinedHandle()": [
4632
+ {
4633
+ "notice": "Error thrown when an operand is bytes32(0), indicating an undefined handle"
4634
+ }
4635
+ ]
4636
+ },
4637
+ "events": {
4638
+ "Allowed(address,address,bytes32)": {
4639
+ "notice": "Emitted when admin role is granted"
4640
+ },
4641
+ "MarkedAsPubliclyDecryptable(address,bytes32)": {
4642
+ "notice": "Emitted when a handle is marked as publicly decryptable"
4643
+ },
4644
+ "ViewerAdded(address,address,bytes32)": {
4645
+ "notice": "Emitted when viewer role is granted"
4646
+ }
4647
+ },
4648
+ "kind": "user",
4649
+ "methods": {
4650
+ "add(bytes32,bytes32)": {
4651
+ "notice": "Performs an addition between two encrypted values without overflow check."
4652
+ },
4653
+ "addViewer(bytes32,address)": {
4654
+ "notice": "Adds a viewer for a specific handle"
4655
+ },
4656
+ "allow(bytes32,address)": {
4657
+ "notice": "Grant admin role to another address for a specific handle"
4658
+ },
4659
+ "allowPublicDecryption(bytes32)": {
4660
+ "notice": "Mark a handle as publicly decryptable."
4661
+ },
4662
+ "allowTransient(bytes32,address)": {
4663
+ "notice": "Allows the use of `handle` by address `account` for this transaction."
4664
+ },
4665
+ "burn(bytes32,bytes32,bytes32)": {
4666
+ "notice": "Computes a confidential burn operation. If the burn operation fails (e.g., due to underflow), the success handle will contain an encrypted `false` and the newBalanceFrom and newTotalSupply handles will contain the same values as the input balanceFrom and totalSupply handles."
4667
+ },
4668
+ "disallowTransient(bytes32,address)": {
4669
+ "notice": "Revokes transient access to `handle` for address `account` within the current transaction."
4670
+ },
4671
+ "div(bytes32,bytes32)": {
4672
+ "notice": "Performs a division between two encrypted values without safety checks. In the case of a division by zero, the result will be as follows: - For unsigned integers uintN: encrypted MAX_UintN (i.e., 2^N - 1) - For signed integers intN: encrypted MAX_IntN (i.e., 2^(N-1) - 1)"
4673
+ },
4674
+ "eq(bytes32,bytes32)": {
4675
+ "notice": "Checks equality between two encrypted values"
4676
+ },
4677
+ "ge(bytes32,bytes32)": {
4678
+ "notice": "Checks if left operand is greater than or equal to right operand"
4679
+ },
4680
+ "gt(bytes32,bytes32)": {
4681
+ "notice": "Checks if left operand is greater than right operand"
4682
+ },
4683
+ "isAllowed(bytes32,address)": {
4684
+ "notice": "Returns whether the account is allowed to use the `handle`, either due to allowTransient() or allow()."
4685
+ },
4686
+ "isPubliclyDecryptable(bytes32)": {
4687
+ "notice": "Checks whether a handle is publicly decryptable."
4688
+ },
4689
+ "isViewer(bytes32,address)": {
4690
+ "notice": "Returns whether the account can view the handle."
4691
+ },
4692
+ "le(bytes32,bytes32)": {
4693
+ "notice": "Checks if left operand is less than or equal to right operand"
4694
+ },
4695
+ "lt(bytes32,bytes32)": {
4696
+ "notice": "Checks if left operand is less than right operand"
4697
+ },
4698
+ "mint(bytes32,bytes32,bytes32)": {
4699
+ "notice": "Computes a confidential mint operation. If the minting operation fails (e.g., due to overflow), the success handle will contain an encrypted `false` and the newBalanceTo and newTotalSupply handles will contain the same values as the input balanceTo and totalSupply handles."
4700
+ },
4701
+ "mul(bytes32,bytes32)": {
4702
+ "notice": "Performs a multiplication between two encrypted values without overflow check."
4703
+ },
4704
+ "ne(bytes32,bytes32)": {
4705
+ "notice": "Checks inequality between two encrypted values"
4706
+ },
4707
+ "safeAdd(bytes32,bytes32)": {
4708
+ "notice": "Performs an addition between two encrypted values with overflow check. If the operation succeeds, the value of the success handle will be an encrypted `true` and the result handle's value will be the encrypted sum. If the operation fails (e.g., due to overflow), the success handle will contain an encrypted `false` and the result handle will contain an encrypted `0`."
4709
+ },
4710
+ "safeDiv(bytes32,bytes32)": {
4711
+ "notice": "Performs a division between two encrypted values with division-by-zero check. If the operation succeeds, the value of the success handle will be an encrypted `true` and the result handle's value will be the encrypted quotient. If the operation fails (e.g., due to division by zero), the success handle will contain an encrypted `false` and the result handle will contain an encrypted `0`."
4712
+ },
4713
+ "safeMul(bytes32,bytes32)": {
4714
+ "notice": "Performs a multiplication between two encrypted values with overflow check. If the operation succeeds, the value of the success handle will be an encrypted `true` and the result handle's value will be the encrypted product. If the operation fails (e.g., due to overflow), the success handle will contain an encrypted `false` and the result handle will contain an encrypted `0`."
4715
+ },
4716
+ "safeSub(bytes32,bytes32)": {
4717
+ "notice": "Performs a subtraction between two encrypted values with underflow check. If the operation succeeds, the value of the success handle will be an encrypted `true` and the result handle's value will be the encrypted difference. If the operation fails (e.g., due to underflow), the success handle will contain an encrypted `false` and the result handle will contain an encrypted `0`."
4718
+ },
4719
+ "select(bytes32,bytes32,bytes32)": {
4720
+ "notice": "Selects between two encrypted values based on a condition"
4721
+ },
4722
+ "setGateway(address)": {
4723
+ "notice": "Sets the gateway address in the contract's config."
4724
+ },
4725
+ "setKmsPublicKey(bytes)": {
4726
+ "notice": "Sets the KMS public key used for ECIES encryption."
4727
+ },
4728
+ "setProofExpirationDuration(uint256)": {
4729
+ "notice": "Sets the proof expiration duration."
4730
+ },
4731
+ "sub(bytes32,bytes32)": {
4732
+ "notice": "Performs a subtraction between two encrypted values without underflow check."
4733
+ },
4734
+ "transfer(bytes32,bytes32,bytes32)": {
4735
+ "notice": "Computes a confidential transfer between two balances. The transfer will succeed if the sender has sufficient balance and fail otherwise. If the transfer fails, the success handle will contain an encrypted `false`, the newBalanceFrom and newBalanceTo handles will contain the same values as the input balanceFrom and balanceTo handles."
4736
+ },
4737
+ "validateAllowedForAll(address,bytes32[])": {
4738
+ "notice": "Checks whether the account is allowed to use all provided handles. Reverts with NotAllowed if any handle is not allowed."
4739
+ },
4740
+ "validateDecryptionProof(bytes32,bytes)": {
4741
+ "notice": "Validates the decryption proof issued by the gateway for a given handle. The proof must be signed by the configured gateway. The proof uses a compact serialization: `signature (65 bytes) || decryptedResult (N bytes)`. The signature is placed first (fixed size) so that `decryptedResult` can be variable-length, supporting all current and future types that may exceed 32 bytes (e.g. encrypted strings)."
4742
+ },
4743
+ "validateInputProof(bytes32,address,bytes,uint8)": {
4744
+ "notice": "Validates that a handle provided by a user is: - of expected type - not expired - issued for the correct app (caller) - issued for the correct owner - issued by the configured gateway (signed by the gateway wallet) or reverts otherwise. Handle format: 1 byte 4 bytes 1 byte 1 byte 25 bytes [0] [1------4] [5] [6] [7-----------31] Version ChainId Type Attrs Pre-handle Proof format: 20 bytes 20 bytes 32 bytes 65 bytes [0-----19] [20-----39] [40--------71] [72------------136] Owner App CreatedAt EIP-712 signature"
4745
+ },
4746
+ "wrapAsPublicHandle(bytes32,uint8)": {
4747
+ "notice": "Wraps a plaintext value into a deterministic public handle. The resulting handle has bit 0 of the attributes byte (byte 30) unset, meaning it can be non unique, it carries no ACL and is accessible by everyone. The same value and type always produce the same handle."
4748
+ }
4749
+ },
4750
+ "notice": "Shared base for all modules. Defines the ERC7201 storage layout, the storage accessor, and virtual declarations for cross-module functions.",
4751
+ "version": 1
4752
+ }
4753
+ },
4754
+ "settings": {
4755
+ "compilationTarget": {
4756
+ "project/contracts/modules/Common.sol": "Common"
4757
+ },
4758
+ "evmVersion": "osaka",
4759
+ "libraries": {},
4760
+ "metadata": {
4761
+ "bytecodeHash": "none"
4762
+ },
4763
+ "optimizer": {
4764
+ "enabled": false,
4765
+ "runs": 200
4766
+ },
4767
+ "remappings": [
4768
+ "npm/@openzeppelin/contracts-upgradeable@5.6.1/:@openzeppelin/contracts/=npm/@openzeppelin/contracts@5.6.1/",
4769
+ "project/:@openzeppelin/contracts-upgradeable/=npm/@openzeppelin/contracts-upgradeable@5.6.1/",
4770
+ "project/:@openzeppelin/contracts/=npm/@openzeppelin/contracts@5.6.1/",
4771
+ "project/:encrypted-types/=npm/encrypted-types@0.0.4/"
4772
+ ]
4773
+ },
4774
+ "sources": {
4775
+ "project/contracts/interfaces/INoxCompute.sol": {
4776
+ "keccak256": "0x662341403552f7d453bc8fcadd86f1855be11b3d9deae84a5e46bbb1106695af",
4777
+ "license": "MIT",
4778
+ "urls": [
4779
+ "bzz-raw://16397ef79b4f4ffc8b6293a970e0fb5c1af11b68a0cd7df9816c15e3f94c70fa",
4780
+ "dweb:/ipfs/QmSNvy1PTiqpoPZYgjMNnpdZVb1nhcoHfZNKEQHB89mGbk"
4781
+ ]
4782
+ },
4783
+ "project/contracts/modules/Common.sol": {
4784
+ "keccak256": "0x3db1131e477ac1055dcdb2118252a1a5253c054abd66f39445544c2698bb8067",
4785
+ "license": "BUSL-1.1",
4786
+ "urls": [
4787
+ "bzz-raw://9fd6f2c78cae438d070a941f5b0c6cb243f8765c547fa54e143e2da7c7a272c1",
4788
+ "dweb:/ipfs/QmewQAAxodtnLdVFGyN8QpWGjmDaaEDerBR2VNH5xUyNDu"
4789
+ ]
4790
+ },
4791
+ "project/contracts/utils/TypeUtils.sol": {
4792
+ "keccak256": "0x44ef3780f8ec4060cf4ecc186cf6fd5948ecdd19ce9a4cb8fd86fad49b844a6f",
4793
+ "license": "MIT",
4794
+ "urls": [
4795
+ "bzz-raw://374c6a552502a8bba83987d8885f7a45685973afb58d429527a3faa69ba20982",
4796
+ "dweb:/ipfs/QmRLraaT8Dq3aJth8ZrXYVZR4TqisZg3hx1gUgJxofSpyL"
4797
+ ]
4798
+ }
4799
+ },
4800
+ "version": 1
4801
+ }
4802
+ }