@openzeppelin/confidential-contracts 0.2.0 → 0.3.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/build/contracts/Checkpoints.json +2 -2
  2. package/build/contracts/CheckpointsConfidential.json +2 -2
  3. package/build/contracts/{ConfidentialFungibleToken.json → ERC7984.json} +28 -33
  4. package/build/contracts/{ConfidentialFungibleTokenERC20Wrapper.json → ERC7984ERC20Wrapper.json} +34 -39
  5. package/build/contracts/ERC7984Freezable.json +666 -0
  6. package/build/contracts/ERC7984ObserverAccess.json +676 -0
  7. package/build/contracts/ERC7984Omnibus.json +994 -0
  8. package/build/contracts/ERC7984Restricted.json +677 -0
  9. package/build/contracts/ERC7984Rwa.json +1370 -0
  10. package/build/contracts/{ConfidentialFungibleTokenUtils.json → ERC7984Utils.json} +4 -4
  11. package/build/contracts/{ConfidentialFungibleTokenVotes.json → ERC7984Votes.json} +76 -81
  12. package/build/contracts/FHESafeMath.json +2 -2
  13. package/build/contracts/{IConfidentialFungibleToken.json → IERC7984.json} +15 -15
  14. package/build/contracts/{IConfidentialFungibleTokenReceiver.json → IERC7984Receiver.json} +2 -2
  15. package/build/contracts/IERC7984Rwa.json +797 -0
  16. package/build/contracts/VestingWalletConfidentialFactory.json +2 -2
  17. package/finance/VestingWalletConfidential.sol +6 -9
  18. package/finance/VestingWalletConfidentialFactory.sol +7 -12
  19. package/interfaces/{IConfidentialFungibleToken.sol → IERC7984.sol} +5 -5
  20. package/interfaces/{IConfidentialFungibleTokenReceiver.sol → IERC7984Receiver.sol} +3 -3
  21. package/interfaces/IERC7984Rwa.sol +64 -0
  22. package/package.json +4 -4
  23. package/token/{ConfidentialFungibleToken.sol → ERC7984/ERC7984.sol} +68 -76
  24. package/token/{extensions/ConfidentialFungibleTokenERC20Wrapper.sol → ERC7984/extensions/ERC7984ERC20Wrapper.sol} +18 -20
  25. package/token/ERC7984/extensions/ERC7984Freezable.sol +66 -0
  26. package/token/ERC7984/extensions/ERC7984ObserverAccess.sol +63 -0
  27. package/token/ERC7984/extensions/ERC7984Omnibus.sol +209 -0
  28. package/token/ERC7984/extensions/ERC7984Restricted.sol +118 -0
  29. package/token/ERC7984/extensions/ERC7984Rwa.sol +236 -0
  30. package/token/{extensions/ConfidentialFungibleTokenVotes.sol → ERC7984/extensions/ERC7984Votes.sol} +8 -14
  31. package/token/{utils/ConfidentialFungibleTokenUtils.sol → ERC7984/utils/ERC7984Utils.sol} +12 -12
  32. package/utils/FHESafeMath.sol +42 -7
  33. package/utils/structs/temporary-Checkpoints.sol +2 -2
@@ -0,0 +1,1370 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC7984Rwa",
4
+ "sourceName": "contracts/token/ERC7984/extensions/ERC7984Rwa.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "AccessControlBadConfirmation",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "account",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "bytes32",
20
+ "name": "neededRole",
21
+ "type": "bytes32"
22
+ }
23
+ ],
24
+ "name": "AccessControlUnauthorizedAccount",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "address",
31
+ "name": "target",
32
+ "type": "address"
33
+ }
34
+ ],
35
+ "name": "AddressEmptyCode",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [
40
+ {
41
+ "internalType": "uint256",
42
+ "name": "requestId",
43
+ "type": "uint256"
44
+ }
45
+ ],
46
+ "name": "ERC7984InvalidGatewayRequest",
47
+ "type": "error"
48
+ },
49
+ {
50
+ "inputs": [
51
+ {
52
+ "internalType": "address",
53
+ "name": "receiver",
54
+ "type": "address"
55
+ }
56
+ ],
57
+ "name": "ERC7984InvalidReceiver",
58
+ "type": "error"
59
+ },
60
+ {
61
+ "inputs": [
62
+ {
63
+ "internalType": "address",
64
+ "name": "sender",
65
+ "type": "address"
66
+ }
67
+ ],
68
+ "name": "ERC7984InvalidSender",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [
73
+ {
74
+ "internalType": "address",
75
+ "name": "caller",
76
+ "type": "address"
77
+ }
78
+ ],
79
+ "name": "ERC7984UnauthorizedCaller",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "address",
86
+ "name": "holder",
87
+ "type": "address"
88
+ },
89
+ {
90
+ "internalType": "address",
91
+ "name": "spender",
92
+ "type": "address"
93
+ }
94
+ ],
95
+ "name": "ERC7984UnauthorizedSpender",
96
+ "type": "error"
97
+ },
98
+ {
99
+ "inputs": [
100
+ {
101
+ "internalType": "euint64",
102
+ "name": "amount",
103
+ "type": "bytes32"
104
+ },
105
+ {
106
+ "internalType": "address",
107
+ "name": "user",
108
+ "type": "address"
109
+ }
110
+ ],
111
+ "name": "ERC7984UnauthorizedUseOfEncryptedAmount",
112
+ "type": "error"
113
+ },
114
+ {
115
+ "inputs": [
116
+ {
117
+ "internalType": "address",
118
+ "name": "holder",
119
+ "type": "address"
120
+ }
121
+ ],
122
+ "name": "ERC7984ZeroBalance",
123
+ "type": "error"
124
+ },
125
+ {
126
+ "inputs": [],
127
+ "name": "EnforcedPause",
128
+ "type": "error"
129
+ },
130
+ {
131
+ "inputs": [],
132
+ "name": "ExpectedPause",
133
+ "type": "error"
134
+ },
135
+ {
136
+ "inputs": [],
137
+ "name": "FailedCall",
138
+ "type": "error"
139
+ },
140
+ {
141
+ "inputs": [],
142
+ "name": "HandlesAlreadySavedForRequestID",
143
+ "type": "error"
144
+ },
145
+ {
146
+ "inputs": [],
147
+ "name": "InvalidKMSSignatures",
148
+ "type": "error"
149
+ },
150
+ {
151
+ "inputs": [],
152
+ "name": "NoHandleFoundForRequestID",
153
+ "type": "error"
154
+ },
155
+ {
156
+ "inputs": [
157
+ {
158
+ "internalType": "address",
159
+ "name": "account",
160
+ "type": "address"
161
+ }
162
+ ],
163
+ "name": "UserRestricted",
164
+ "type": "error"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": true,
171
+ "internalType": "euint64",
172
+ "name": "encryptedAmount",
173
+ "type": "bytes32"
174
+ },
175
+ {
176
+ "indexed": false,
177
+ "internalType": "uint64",
178
+ "name": "amount",
179
+ "type": "uint64"
180
+ }
181
+ ],
182
+ "name": "AmountDisclosed",
183
+ "type": "event"
184
+ },
185
+ {
186
+ "anonymous": false,
187
+ "inputs": [
188
+ {
189
+ "indexed": true,
190
+ "internalType": "address",
191
+ "name": "from",
192
+ "type": "address"
193
+ },
194
+ {
195
+ "indexed": true,
196
+ "internalType": "address",
197
+ "name": "to",
198
+ "type": "address"
199
+ },
200
+ {
201
+ "indexed": true,
202
+ "internalType": "euint64",
203
+ "name": "amount",
204
+ "type": "bytes32"
205
+ }
206
+ ],
207
+ "name": "ConfidentialTransfer",
208
+ "type": "event"
209
+ },
210
+ {
211
+ "anonymous": false,
212
+ "inputs": [
213
+ {
214
+ "indexed": true,
215
+ "internalType": "uint256",
216
+ "name": "requestID",
217
+ "type": "uint256"
218
+ }
219
+ ],
220
+ "name": "DecryptionFulfilled",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": true,
228
+ "internalType": "address",
229
+ "name": "holder",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "indexed": true,
234
+ "internalType": "address",
235
+ "name": "operator",
236
+ "type": "address"
237
+ },
238
+ {
239
+ "indexed": false,
240
+ "internalType": "uint48",
241
+ "name": "until",
242
+ "type": "uint48"
243
+ }
244
+ ],
245
+ "name": "OperatorSet",
246
+ "type": "event"
247
+ },
248
+ {
249
+ "anonymous": false,
250
+ "inputs": [
251
+ {
252
+ "indexed": false,
253
+ "internalType": "address",
254
+ "name": "account",
255
+ "type": "address"
256
+ }
257
+ ],
258
+ "name": "Paused",
259
+ "type": "event"
260
+ },
261
+ {
262
+ "anonymous": false,
263
+ "inputs": [
264
+ {
265
+ "indexed": true,
266
+ "internalType": "bytes32",
267
+ "name": "role",
268
+ "type": "bytes32"
269
+ },
270
+ {
271
+ "indexed": true,
272
+ "internalType": "bytes32",
273
+ "name": "previousAdminRole",
274
+ "type": "bytes32"
275
+ },
276
+ {
277
+ "indexed": true,
278
+ "internalType": "bytes32",
279
+ "name": "newAdminRole",
280
+ "type": "bytes32"
281
+ }
282
+ ],
283
+ "name": "RoleAdminChanged",
284
+ "type": "event"
285
+ },
286
+ {
287
+ "anonymous": false,
288
+ "inputs": [
289
+ {
290
+ "indexed": true,
291
+ "internalType": "bytes32",
292
+ "name": "role",
293
+ "type": "bytes32"
294
+ },
295
+ {
296
+ "indexed": true,
297
+ "internalType": "address",
298
+ "name": "account",
299
+ "type": "address"
300
+ },
301
+ {
302
+ "indexed": true,
303
+ "internalType": "address",
304
+ "name": "sender",
305
+ "type": "address"
306
+ }
307
+ ],
308
+ "name": "RoleGranted",
309
+ "type": "event"
310
+ },
311
+ {
312
+ "anonymous": false,
313
+ "inputs": [
314
+ {
315
+ "indexed": true,
316
+ "internalType": "bytes32",
317
+ "name": "role",
318
+ "type": "bytes32"
319
+ },
320
+ {
321
+ "indexed": true,
322
+ "internalType": "address",
323
+ "name": "account",
324
+ "type": "address"
325
+ },
326
+ {
327
+ "indexed": true,
328
+ "internalType": "address",
329
+ "name": "sender",
330
+ "type": "address"
331
+ }
332
+ ],
333
+ "name": "RoleRevoked",
334
+ "type": "event"
335
+ },
336
+ {
337
+ "anonymous": false,
338
+ "inputs": [
339
+ {
340
+ "indexed": true,
341
+ "internalType": "address",
342
+ "name": "account",
343
+ "type": "address"
344
+ },
345
+ {
346
+ "indexed": false,
347
+ "internalType": "euint64",
348
+ "name": "encryptedAmount",
349
+ "type": "bytes32"
350
+ }
351
+ ],
352
+ "name": "TokensFrozen",
353
+ "type": "event"
354
+ },
355
+ {
356
+ "anonymous": false,
357
+ "inputs": [
358
+ {
359
+ "indexed": false,
360
+ "internalType": "address",
361
+ "name": "account",
362
+ "type": "address"
363
+ }
364
+ ],
365
+ "name": "Unpaused",
366
+ "type": "event"
367
+ },
368
+ {
369
+ "anonymous": false,
370
+ "inputs": [
371
+ {
372
+ "indexed": true,
373
+ "internalType": "address",
374
+ "name": "account",
375
+ "type": "address"
376
+ },
377
+ {
378
+ "indexed": false,
379
+ "internalType": "enum ERC7984Restricted.Restriction",
380
+ "name": "restriction",
381
+ "type": "uint8"
382
+ }
383
+ ],
384
+ "name": "UserRestrictionUpdated",
385
+ "type": "event"
386
+ },
387
+ {
388
+ "inputs": [],
389
+ "name": "AGENT_ROLE",
390
+ "outputs": [
391
+ {
392
+ "internalType": "bytes32",
393
+ "name": "",
394
+ "type": "bytes32"
395
+ }
396
+ ],
397
+ "stateMutability": "view",
398
+ "type": "function"
399
+ },
400
+ {
401
+ "inputs": [],
402
+ "name": "DEFAULT_ADMIN_ROLE",
403
+ "outputs": [
404
+ {
405
+ "internalType": "bytes32",
406
+ "name": "",
407
+ "type": "bytes32"
408
+ }
409
+ ],
410
+ "stateMutability": "view",
411
+ "type": "function"
412
+ },
413
+ {
414
+ "inputs": [
415
+ {
416
+ "internalType": "address",
417
+ "name": "account",
418
+ "type": "address"
419
+ }
420
+ ],
421
+ "name": "addAgent",
422
+ "outputs": [],
423
+ "stateMutability": "nonpayable",
424
+ "type": "function"
425
+ },
426
+ {
427
+ "inputs": [
428
+ {
429
+ "internalType": "address",
430
+ "name": "account",
431
+ "type": "address"
432
+ }
433
+ ],
434
+ "name": "blockUser",
435
+ "outputs": [],
436
+ "stateMutability": "nonpayable",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [
441
+ {
442
+ "internalType": "address",
443
+ "name": "account",
444
+ "type": "address"
445
+ }
446
+ ],
447
+ "name": "confidentialAvailable",
448
+ "outputs": [
449
+ {
450
+ "internalType": "euint64",
451
+ "name": "",
452
+ "type": "bytes32"
453
+ }
454
+ ],
455
+ "stateMutability": "nonpayable",
456
+ "type": "function"
457
+ },
458
+ {
459
+ "inputs": [
460
+ {
461
+ "internalType": "address",
462
+ "name": "account",
463
+ "type": "address"
464
+ }
465
+ ],
466
+ "name": "confidentialBalanceOf",
467
+ "outputs": [
468
+ {
469
+ "internalType": "euint64",
470
+ "name": "",
471
+ "type": "bytes32"
472
+ }
473
+ ],
474
+ "stateMutability": "view",
475
+ "type": "function"
476
+ },
477
+ {
478
+ "inputs": [
479
+ {
480
+ "internalType": "address",
481
+ "name": "account",
482
+ "type": "address"
483
+ },
484
+ {
485
+ "internalType": "euint64",
486
+ "name": "encryptedAmount",
487
+ "type": "bytes32"
488
+ }
489
+ ],
490
+ "name": "confidentialBurn",
491
+ "outputs": [
492
+ {
493
+ "internalType": "euint64",
494
+ "name": "",
495
+ "type": "bytes32"
496
+ }
497
+ ],
498
+ "stateMutability": "nonpayable",
499
+ "type": "function"
500
+ },
501
+ {
502
+ "inputs": [
503
+ {
504
+ "internalType": "address",
505
+ "name": "account",
506
+ "type": "address"
507
+ },
508
+ {
509
+ "internalType": "externalEuint64",
510
+ "name": "encryptedAmount",
511
+ "type": "bytes32"
512
+ },
513
+ {
514
+ "internalType": "bytes",
515
+ "name": "inputProof",
516
+ "type": "bytes"
517
+ }
518
+ ],
519
+ "name": "confidentialBurn",
520
+ "outputs": [
521
+ {
522
+ "internalType": "euint64",
523
+ "name": "",
524
+ "type": "bytes32"
525
+ }
526
+ ],
527
+ "stateMutability": "nonpayable",
528
+ "type": "function"
529
+ },
530
+ {
531
+ "inputs": [
532
+ {
533
+ "internalType": "address",
534
+ "name": "account",
535
+ "type": "address"
536
+ }
537
+ ],
538
+ "name": "confidentialFrozen",
539
+ "outputs": [
540
+ {
541
+ "internalType": "euint64",
542
+ "name": "",
543
+ "type": "bytes32"
544
+ }
545
+ ],
546
+ "stateMutability": "view",
547
+ "type": "function"
548
+ },
549
+ {
550
+ "inputs": [
551
+ {
552
+ "internalType": "address",
553
+ "name": "to",
554
+ "type": "address"
555
+ },
556
+ {
557
+ "internalType": "externalEuint64",
558
+ "name": "encryptedAmount",
559
+ "type": "bytes32"
560
+ },
561
+ {
562
+ "internalType": "bytes",
563
+ "name": "inputProof",
564
+ "type": "bytes"
565
+ }
566
+ ],
567
+ "name": "confidentialMint",
568
+ "outputs": [
569
+ {
570
+ "internalType": "euint64",
571
+ "name": "",
572
+ "type": "bytes32"
573
+ }
574
+ ],
575
+ "stateMutability": "nonpayable",
576
+ "type": "function"
577
+ },
578
+ {
579
+ "inputs": [
580
+ {
581
+ "internalType": "address",
582
+ "name": "to",
583
+ "type": "address"
584
+ },
585
+ {
586
+ "internalType": "euint64",
587
+ "name": "encryptedAmount",
588
+ "type": "bytes32"
589
+ }
590
+ ],
591
+ "name": "confidentialMint",
592
+ "outputs": [
593
+ {
594
+ "internalType": "euint64",
595
+ "name": "",
596
+ "type": "bytes32"
597
+ }
598
+ ],
599
+ "stateMutability": "nonpayable",
600
+ "type": "function"
601
+ },
602
+ {
603
+ "inputs": [],
604
+ "name": "confidentialTotalSupply",
605
+ "outputs": [
606
+ {
607
+ "internalType": "euint64",
608
+ "name": "",
609
+ "type": "bytes32"
610
+ }
611
+ ],
612
+ "stateMutability": "view",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [
617
+ {
618
+ "internalType": "address",
619
+ "name": "to",
620
+ "type": "address"
621
+ },
622
+ {
623
+ "internalType": "externalEuint64",
624
+ "name": "encryptedAmount",
625
+ "type": "bytes32"
626
+ },
627
+ {
628
+ "internalType": "bytes",
629
+ "name": "inputProof",
630
+ "type": "bytes"
631
+ }
632
+ ],
633
+ "name": "confidentialTransfer",
634
+ "outputs": [
635
+ {
636
+ "internalType": "euint64",
637
+ "name": "",
638
+ "type": "bytes32"
639
+ }
640
+ ],
641
+ "stateMutability": "nonpayable",
642
+ "type": "function"
643
+ },
644
+ {
645
+ "inputs": [
646
+ {
647
+ "internalType": "address",
648
+ "name": "to",
649
+ "type": "address"
650
+ },
651
+ {
652
+ "internalType": "euint64",
653
+ "name": "amount",
654
+ "type": "bytes32"
655
+ }
656
+ ],
657
+ "name": "confidentialTransfer",
658
+ "outputs": [
659
+ {
660
+ "internalType": "euint64",
661
+ "name": "",
662
+ "type": "bytes32"
663
+ }
664
+ ],
665
+ "stateMutability": "nonpayable",
666
+ "type": "function"
667
+ },
668
+ {
669
+ "inputs": [
670
+ {
671
+ "internalType": "address",
672
+ "name": "to",
673
+ "type": "address"
674
+ },
675
+ {
676
+ "internalType": "euint64",
677
+ "name": "amount",
678
+ "type": "bytes32"
679
+ },
680
+ {
681
+ "internalType": "bytes",
682
+ "name": "data",
683
+ "type": "bytes"
684
+ }
685
+ ],
686
+ "name": "confidentialTransferAndCall",
687
+ "outputs": [
688
+ {
689
+ "internalType": "euint64",
690
+ "name": "transferred",
691
+ "type": "bytes32"
692
+ }
693
+ ],
694
+ "stateMutability": "nonpayable",
695
+ "type": "function"
696
+ },
697
+ {
698
+ "inputs": [
699
+ {
700
+ "internalType": "address",
701
+ "name": "to",
702
+ "type": "address"
703
+ },
704
+ {
705
+ "internalType": "externalEuint64",
706
+ "name": "encryptedAmount",
707
+ "type": "bytes32"
708
+ },
709
+ {
710
+ "internalType": "bytes",
711
+ "name": "inputProof",
712
+ "type": "bytes"
713
+ },
714
+ {
715
+ "internalType": "bytes",
716
+ "name": "data",
717
+ "type": "bytes"
718
+ }
719
+ ],
720
+ "name": "confidentialTransferAndCall",
721
+ "outputs": [
722
+ {
723
+ "internalType": "euint64",
724
+ "name": "transferred",
725
+ "type": "bytes32"
726
+ }
727
+ ],
728
+ "stateMutability": "nonpayable",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [
733
+ {
734
+ "internalType": "address",
735
+ "name": "from",
736
+ "type": "address"
737
+ },
738
+ {
739
+ "internalType": "address",
740
+ "name": "to",
741
+ "type": "address"
742
+ },
743
+ {
744
+ "internalType": "externalEuint64",
745
+ "name": "encryptedAmount",
746
+ "type": "bytes32"
747
+ },
748
+ {
749
+ "internalType": "bytes",
750
+ "name": "inputProof",
751
+ "type": "bytes"
752
+ }
753
+ ],
754
+ "name": "confidentialTransferFrom",
755
+ "outputs": [
756
+ {
757
+ "internalType": "euint64",
758
+ "name": "transferred",
759
+ "type": "bytes32"
760
+ }
761
+ ],
762
+ "stateMutability": "nonpayable",
763
+ "type": "function"
764
+ },
765
+ {
766
+ "inputs": [
767
+ {
768
+ "internalType": "address",
769
+ "name": "from",
770
+ "type": "address"
771
+ },
772
+ {
773
+ "internalType": "address",
774
+ "name": "to",
775
+ "type": "address"
776
+ },
777
+ {
778
+ "internalType": "euint64",
779
+ "name": "amount",
780
+ "type": "bytes32"
781
+ }
782
+ ],
783
+ "name": "confidentialTransferFrom",
784
+ "outputs": [
785
+ {
786
+ "internalType": "euint64",
787
+ "name": "transferred",
788
+ "type": "bytes32"
789
+ }
790
+ ],
791
+ "stateMutability": "nonpayable",
792
+ "type": "function"
793
+ },
794
+ {
795
+ "inputs": [
796
+ {
797
+ "internalType": "address",
798
+ "name": "from",
799
+ "type": "address"
800
+ },
801
+ {
802
+ "internalType": "address",
803
+ "name": "to",
804
+ "type": "address"
805
+ },
806
+ {
807
+ "internalType": "externalEuint64",
808
+ "name": "encryptedAmount",
809
+ "type": "bytes32"
810
+ },
811
+ {
812
+ "internalType": "bytes",
813
+ "name": "inputProof",
814
+ "type": "bytes"
815
+ },
816
+ {
817
+ "internalType": "bytes",
818
+ "name": "data",
819
+ "type": "bytes"
820
+ }
821
+ ],
822
+ "name": "confidentialTransferFromAndCall",
823
+ "outputs": [
824
+ {
825
+ "internalType": "euint64",
826
+ "name": "transferred",
827
+ "type": "bytes32"
828
+ }
829
+ ],
830
+ "stateMutability": "nonpayable",
831
+ "type": "function"
832
+ },
833
+ {
834
+ "inputs": [
835
+ {
836
+ "internalType": "address",
837
+ "name": "from",
838
+ "type": "address"
839
+ },
840
+ {
841
+ "internalType": "address",
842
+ "name": "to",
843
+ "type": "address"
844
+ },
845
+ {
846
+ "internalType": "euint64",
847
+ "name": "amount",
848
+ "type": "bytes32"
849
+ },
850
+ {
851
+ "internalType": "bytes",
852
+ "name": "data",
853
+ "type": "bytes"
854
+ }
855
+ ],
856
+ "name": "confidentialTransferFromAndCall",
857
+ "outputs": [
858
+ {
859
+ "internalType": "euint64",
860
+ "name": "transferred",
861
+ "type": "bytes32"
862
+ }
863
+ ],
864
+ "stateMutability": "nonpayable",
865
+ "type": "function"
866
+ },
867
+ {
868
+ "inputs": [],
869
+ "name": "contractURI",
870
+ "outputs": [
871
+ {
872
+ "internalType": "string",
873
+ "name": "",
874
+ "type": "string"
875
+ }
876
+ ],
877
+ "stateMutability": "view",
878
+ "type": "function"
879
+ },
880
+ {
881
+ "inputs": [],
882
+ "name": "decimals",
883
+ "outputs": [
884
+ {
885
+ "internalType": "uint8",
886
+ "name": "",
887
+ "type": "uint8"
888
+ }
889
+ ],
890
+ "stateMutability": "view",
891
+ "type": "function"
892
+ },
893
+ {
894
+ "inputs": [
895
+ {
896
+ "internalType": "euint64",
897
+ "name": "encryptedAmount",
898
+ "type": "bytes32"
899
+ }
900
+ ],
901
+ "name": "discloseEncryptedAmount",
902
+ "outputs": [],
903
+ "stateMutability": "nonpayable",
904
+ "type": "function"
905
+ },
906
+ {
907
+ "inputs": [
908
+ {
909
+ "internalType": "uint256",
910
+ "name": "requestId",
911
+ "type": "uint256"
912
+ },
913
+ {
914
+ "internalType": "bytes",
915
+ "name": "cleartexts",
916
+ "type": "bytes"
917
+ },
918
+ {
919
+ "internalType": "bytes",
920
+ "name": "decryptionProof",
921
+ "type": "bytes"
922
+ }
923
+ ],
924
+ "name": "finalizeDiscloseEncryptedAmount",
925
+ "outputs": [],
926
+ "stateMutability": "nonpayable",
927
+ "type": "function"
928
+ },
929
+ {
930
+ "inputs": [
931
+ {
932
+ "internalType": "address",
933
+ "name": "from",
934
+ "type": "address"
935
+ },
936
+ {
937
+ "internalType": "address",
938
+ "name": "to",
939
+ "type": "address"
940
+ },
941
+ {
942
+ "internalType": "euint64",
943
+ "name": "encryptedAmount",
944
+ "type": "bytes32"
945
+ }
946
+ ],
947
+ "name": "forceConfidentialTransferFrom",
948
+ "outputs": [
949
+ {
950
+ "internalType": "euint64",
951
+ "name": "transferred",
952
+ "type": "bytes32"
953
+ }
954
+ ],
955
+ "stateMutability": "nonpayable",
956
+ "type": "function"
957
+ },
958
+ {
959
+ "inputs": [
960
+ {
961
+ "internalType": "address",
962
+ "name": "from",
963
+ "type": "address"
964
+ },
965
+ {
966
+ "internalType": "address",
967
+ "name": "to",
968
+ "type": "address"
969
+ },
970
+ {
971
+ "internalType": "externalEuint64",
972
+ "name": "encryptedAmount",
973
+ "type": "bytes32"
974
+ },
975
+ {
976
+ "internalType": "bytes",
977
+ "name": "inputProof",
978
+ "type": "bytes"
979
+ }
980
+ ],
981
+ "name": "forceConfidentialTransferFrom",
982
+ "outputs": [
983
+ {
984
+ "internalType": "euint64",
985
+ "name": "",
986
+ "type": "bytes32"
987
+ }
988
+ ],
989
+ "stateMutability": "nonpayable",
990
+ "type": "function"
991
+ },
992
+ {
993
+ "inputs": [
994
+ {
995
+ "internalType": "address",
996
+ "name": "account",
997
+ "type": "address"
998
+ }
999
+ ],
1000
+ "name": "getRestriction",
1001
+ "outputs": [
1002
+ {
1003
+ "internalType": "enum ERC7984Restricted.Restriction",
1004
+ "name": "",
1005
+ "type": "uint8"
1006
+ }
1007
+ ],
1008
+ "stateMutability": "view",
1009
+ "type": "function"
1010
+ },
1011
+ {
1012
+ "inputs": [
1013
+ {
1014
+ "internalType": "bytes32",
1015
+ "name": "role",
1016
+ "type": "bytes32"
1017
+ }
1018
+ ],
1019
+ "name": "getRoleAdmin",
1020
+ "outputs": [
1021
+ {
1022
+ "internalType": "bytes32",
1023
+ "name": "",
1024
+ "type": "bytes32"
1025
+ }
1026
+ ],
1027
+ "stateMutability": "view",
1028
+ "type": "function"
1029
+ },
1030
+ {
1031
+ "inputs": [
1032
+ {
1033
+ "internalType": "bytes32",
1034
+ "name": "role",
1035
+ "type": "bytes32"
1036
+ },
1037
+ {
1038
+ "internalType": "address",
1039
+ "name": "account",
1040
+ "type": "address"
1041
+ }
1042
+ ],
1043
+ "name": "grantRole",
1044
+ "outputs": [],
1045
+ "stateMutability": "nonpayable",
1046
+ "type": "function"
1047
+ },
1048
+ {
1049
+ "inputs": [
1050
+ {
1051
+ "internalType": "bytes32",
1052
+ "name": "role",
1053
+ "type": "bytes32"
1054
+ },
1055
+ {
1056
+ "internalType": "address",
1057
+ "name": "account",
1058
+ "type": "address"
1059
+ }
1060
+ ],
1061
+ "name": "hasRole",
1062
+ "outputs": [
1063
+ {
1064
+ "internalType": "bool",
1065
+ "name": "",
1066
+ "type": "bool"
1067
+ }
1068
+ ],
1069
+ "stateMutability": "view",
1070
+ "type": "function"
1071
+ },
1072
+ {
1073
+ "inputs": [
1074
+ {
1075
+ "internalType": "address",
1076
+ "name": "account",
1077
+ "type": "address"
1078
+ }
1079
+ ],
1080
+ "name": "isAdmin",
1081
+ "outputs": [
1082
+ {
1083
+ "internalType": "bool",
1084
+ "name": "",
1085
+ "type": "bool"
1086
+ }
1087
+ ],
1088
+ "stateMutability": "view",
1089
+ "type": "function"
1090
+ },
1091
+ {
1092
+ "inputs": [
1093
+ {
1094
+ "internalType": "address",
1095
+ "name": "account",
1096
+ "type": "address"
1097
+ }
1098
+ ],
1099
+ "name": "isAgent",
1100
+ "outputs": [
1101
+ {
1102
+ "internalType": "bool",
1103
+ "name": "",
1104
+ "type": "bool"
1105
+ }
1106
+ ],
1107
+ "stateMutability": "view",
1108
+ "type": "function"
1109
+ },
1110
+ {
1111
+ "inputs": [
1112
+ {
1113
+ "internalType": "address",
1114
+ "name": "holder",
1115
+ "type": "address"
1116
+ },
1117
+ {
1118
+ "internalType": "address",
1119
+ "name": "spender",
1120
+ "type": "address"
1121
+ }
1122
+ ],
1123
+ "name": "isOperator",
1124
+ "outputs": [
1125
+ {
1126
+ "internalType": "bool",
1127
+ "name": "",
1128
+ "type": "bool"
1129
+ }
1130
+ ],
1131
+ "stateMutability": "view",
1132
+ "type": "function"
1133
+ },
1134
+ {
1135
+ "inputs": [
1136
+ {
1137
+ "internalType": "address",
1138
+ "name": "account",
1139
+ "type": "address"
1140
+ }
1141
+ ],
1142
+ "name": "isUserAllowed",
1143
+ "outputs": [
1144
+ {
1145
+ "internalType": "bool",
1146
+ "name": "",
1147
+ "type": "bool"
1148
+ }
1149
+ ],
1150
+ "stateMutability": "view",
1151
+ "type": "function"
1152
+ },
1153
+ {
1154
+ "inputs": [
1155
+ {
1156
+ "internalType": "bytes[]",
1157
+ "name": "data",
1158
+ "type": "bytes[]"
1159
+ }
1160
+ ],
1161
+ "name": "multicall",
1162
+ "outputs": [
1163
+ {
1164
+ "internalType": "bytes[]",
1165
+ "name": "results",
1166
+ "type": "bytes[]"
1167
+ }
1168
+ ],
1169
+ "stateMutability": "nonpayable",
1170
+ "type": "function"
1171
+ },
1172
+ {
1173
+ "inputs": [],
1174
+ "name": "name",
1175
+ "outputs": [
1176
+ {
1177
+ "internalType": "string",
1178
+ "name": "",
1179
+ "type": "string"
1180
+ }
1181
+ ],
1182
+ "stateMutability": "view",
1183
+ "type": "function"
1184
+ },
1185
+ {
1186
+ "inputs": [],
1187
+ "name": "pause",
1188
+ "outputs": [],
1189
+ "stateMutability": "nonpayable",
1190
+ "type": "function"
1191
+ },
1192
+ {
1193
+ "inputs": [],
1194
+ "name": "paused",
1195
+ "outputs": [
1196
+ {
1197
+ "internalType": "bool",
1198
+ "name": "",
1199
+ "type": "bool"
1200
+ }
1201
+ ],
1202
+ "stateMutability": "view",
1203
+ "type": "function"
1204
+ },
1205
+ {
1206
+ "inputs": [
1207
+ {
1208
+ "internalType": "address",
1209
+ "name": "account",
1210
+ "type": "address"
1211
+ }
1212
+ ],
1213
+ "name": "removeAgent",
1214
+ "outputs": [],
1215
+ "stateMutability": "nonpayable",
1216
+ "type": "function"
1217
+ },
1218
+ {
1219
+ "inputs": [
1220
+ {
1221
+ "internalType": "bytes32",
1222
+ "name": "role",
1223
+ "type": "bytes32"
1224
+ },
1225
+ {
1226
+ "internalType": "address",
1227
+ "name": "callerConfirmation",
1228
+ "type": "address"
1229
+ }
1230
+ ],
1231
+ "name": "renounceRole",
1232
+ "outputs": [],
1233
+ "stateMutability": "nonpayable",
1234
+ "type": "function"
1235
+ },
1236
+ {
1237
+ "inputs": [
1238
+ {
1239
+ "internalType": "bytes32",
1240
+ "name": "role",
1241
+ "type": "bytes32"
1242
+ },
1243
+ {
1244
+ "internalType": "address",
1245
+ "name": "account",
1246
+ "type": "address"
1247
+ }
1248
+ ],
1249
+ "name": "revokeRole",
1250
+ "outputs": [],
1251
+ "stateMutability": "nonpayable",
1252
+ "type": "function"
1253
+ },
1254
+ {
1255
+ "inputs": [
1256
+ {
1257
+ "internalType": "address",
1258
+ "name": "account",
1259
+ "type": "address"
1260
+ },
1261
+ {
1262
+ "internalType": "externalEuint64",
1263
+ "name": "encryptedAmount",
1264
+ "type": "bytes32"
1265
+ },
1266
+ {
1267
+ "internalType": "bytes",
1268
+ "name": "inputProof",
1269
+ "type": "bytes"
1270
+ }
1271
+ ],
1272
+ "name": "setConfidentialFrozen",
1273
+ "outputs": [],
1274
+ "stateMutability": "nonpayable",
1275
+ "type": "function"
1276
+ },
1277
+ {
1278
+ "inputs": [
1279
+ {
1280
+ "internalType": "address",
1281
+ "name": "account",
1282
+ "type": "address"
1283
+ },
1284
+ {
1285
+ "internalType": "euint64",
1286
+ "name": "encryptedAmount",
1287
+ "type": "bytes32"
1288
+ }
1289
+ ],
1290
+ "name": "setConfidentialFrozen",
1291
+ "outputs": [],
1292
+ "stateMutability": "nonpayable",
1293
+ "type": "function"
1294
+ },
1295
+ {
1296
+ "inputs": [
1297
+ {
1298
+ "internalType": "address",
1299
+ "name": "operator",
1300
+ "type": "address"
1301
+ },
1302
+ {
1303
+ "internalType": "uint48",
1304
+ "name": "until",
1305
+ "type": "uint48"
1306
+ }
1307
+ ],
1308
+ "name": "setOperator",
1309
+ "outputs": [],
1310
+ "stateMutability": "nonpayable",
1311
+ "type": "function"
1312
+ },
1313
+ {
1314
+ "inputs": [
1315
+ {
1316
+ "internalType": "bytes4",
1317
+ "name": "interfaceId",
1318
+ "type": "bytes4"
1319
+ }
1320
+ ],
1321
+ "name": "supportsInterface",
1322
+ "outputs": [
1323
+ {
1324
+ "internalType": "bool",
1325
+ "name": "",
1326
+ "type": "bool"
1327
+ }
1328
+ ],
1329
+ "stateMutability": "view",
1330
+ "type": "function"
1331
+ },
1332
+ {
1333
+ "inputs": [],
1334
+ "name": "symbol",
1335
+ "outputs": [
1336
+ {
1337
+ "internalType": "string",
1338
+ "name": "",
1339
+ "type": "string"
1340
+ }
1341
+ ],
1342
+ "stateMutability": "view",
1343
+ "type": "function"
1344
+ },
1345
+ {
1346
+ "inputs": [
1347
+ {
1348
+ "internalType": "address",
1349
+ "name": "account",
1350
+ "type": "address"
1351
+ }
1352
+ ],
1353
+ "name": "unblockUser",
1354
+ "outputs": [],
1355
+ "stateMutability": "nonpayable",
1356
+ "type": "function"
1357
+ },
1358
+ {
1359
+ "inputs": [],
1360
+ "name": "unpause",
1361
+ "outputs": [],
1362
+ "stateMutability": "nonpayable",
1363
+ "type": "function"
1364
+ }
1365
+ ],
1366
+ "bytecode": "0x",
1367
+ "deployedBytecode": "0x",
1368
+ "linkReferences": {},
1369
+ "deployedLinkReferences": {}
1370
+ }