@openzeppelin/confidential-contracts 0.2.0 → 0.3.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 (35) 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} +87 -58
  4. package/build/contracts/{ConfidentialFungibleTokenERC20Wrapper.json → ERC7984ERC20Wrapper.json} +143 -59
  5. package/build/contracts/ERC7984Freezable.json +700 -0
  6. package/build/contracts/ERC7984ObserverAccess.json +710 -0
  7. package/build/contracts/ERC7984Omnibus.json +1028 -0
  8. package/build/contracts/ERC7984Restricted.json +711 -0
  9. package/build/contracts/ERC7984Rwa.json +1385 -0
  10. package/build/contracts/{ConfidentialFungibleTokenUtils.json → ERC7984Utils.json} +4 -4
  11. package/build/contracts/{ConfidentialFungibleTokenVotes.json → ERC7984Votes.json} +142 -113
  12. package/build/contracts/FHESafeMath.json +2 -2
  13. package/build/contracts/{IConfidentialFungibleToken.json → IERC7984.json} +26 -7
  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/ERC7821WithExecutor.sol +3 -4
  18. package/finance/VestingWalletCliffConfidential.sol +3 -4
  19. package/finance/VestingWalletConfidential.sol +8 -12
  20. package/finance/VestingWalletConfidentialFactory.sol +7 -12
  21. package/interfaces/{IConfidentialFungibleToken.sol → IERC7984.sol} +6 -5
  22. package/interfaces/{IConfidentialFungibleTokenReceiver.sol → IERC7984Receiver.sol} +3 -3
  23. package/interfaces/IERC7984Rwa.sol +63 -0
  24. package/package.json +4 -4
  25. package/token/{ConfidentialFungibleToken.sol → ERC7984/ERC7984.sol} +81 -82
  26. package/token/{extensions/ConfidentialFungibleTokenERC20Wrapper.sol → ERC7984/extensions/ERC7984ERC20Wrapper.sol} +40 -35
  27. package/token/ERC7984/extensions/ERC7984Freezable.sol +75 -0
  28. package/token/ERC7984/extensions/ERC7984ObserverAccess.sol +63 -0
  29. package/token/ERC7984/extensions/ERC7984Omnibus.sol +209 -0
  30. package/token/ERC7984/extensions/ERC7984Restricted.sol +110 -0
  31. package/token/ERC7984/extensions/ERC7984Rwa.sol +248 -0
  32. package/token/{extensions/ConfidentialFungibleTokenVotes.sol → ERC7984/extensions/ERC7984Votes.sol} +8 -14
  33. package/token/{utils/ConfidentialFungibleTokenUtils.sol → ERC7984/utils/ERC7984Utils.sol} +14 -13
  34. package/utils/FHESafeMath.sol +45 -7
  35. package/utils/structs/temporary-Checkpoints.sol +2 -2
@@ -0,0 +1,710 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC7984ObserverAccess",
4
+ "sourceName": "contracts/token/ERC7984/extensions/ERC7984ObserverAccess.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint256",
10
+ "name": "requestId",
11
+ "type": "uint256"
12
+ }
13
+ ],
14
+ "name": "ERC7984InvalidGatewayRequest",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "receiver",
22
+ "type": "address"
23
+ }
24
+ ],
25
+ "name": "ERC7984InvalidReceiver",
26
+ "type": "error"
27
+ },
28
+ {
29
+ "inputs": [
30
+ {
31
+ "internalType": "address",
32
+ "name": "sender",
33
+ "type": "address"
34
+ }
35
+ ],
36
+ "name": "ERC7984InvalidSender",
37
+ "type": "error"
38
+ },
39
+ {
40
+ "inputs": [
41
+ {
42
+ "internalType": "address",
43
+ "name": "caller",
44
+ "type": "address"
45
+ }
46
+ ],
47
+ "name": "ERC7984UnauthorizedCaller",
48
+ "type": "error"
49
+ },
50
+ {
51
+ "inputs": [
52
+ {
53
+ "internalType": "address",
54
+ "name": "holder",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "internalType": "address",
59
+ "name": "spender",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "ERC7984UnauthorizedSpender",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [
68
+ {
69
+ "internalType": "euint64",
70
+ "name": "amount",
71
+ "type": "bytes32"
72
+ },
73
+ {
74
+ "internalType": "address",
75
+ "name": "user",
76
+ "type": "address"
77
+ }
78
+ ],
79
+ "name": "ERC7984UnauthorizedUseOfEncryptedAmount",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "address",
86
+ "name": "holder",
87
+ "type": "address"
88
+ }
89
+ ],
90
+ "name": "ERC7984ZeroBalance",
91
+ "type": "error"
92
+ },
93
+ {
94
+ "inputs": [],
95
+ "name": "InvalidKMSSignatures",
96
+ "type": "error"
97
+ },
98
+ {
99
+ "inputs": [],
100
+ "name": "Unauthorized",
101
+ "type": "error"
102
+ },
103
+ {
104
+ "anonymous": false,
105
+ "inputs": [
106
+ {
107
+ "indexed": true,
108
+ "internalType": "euint64",
109
+ "name": "encryptedAmount",
110
+ "type": "bytes32"
111
+ },
112
+ {
113
+ "indexed": true,
114
+ "internalType": "address",
115
+ "name": "requester",
116
+ "type": "address"
117
+ }
118
+ ],
119
+ "name": "AmountDiscloseRequested",
120
+ "type": "event"
121
+ },
122
+ {
123
+ "anonymous": false,
124
+ "inputs": [
125
+ {
126
+ "indexed": true,
127
+ "internalType": "euint64",
128
+ "name": "encryptedAmount",
129
+ "type": "bytes32"
130
+ },
131
+ {
132
+ "indexed": false,
133
+ "internalType": "uint64",
134
+ "name": "amount",
135
+ "type": "uint64"
136
+ }
137
+ ],
138
+ "name": "AmountDisclosed",
139
+ "type": "event"
140
+ },
141
+ {
142
+ "anonymous": false,
143
+ "inputs": [
144
+ {
145
+ "indexed": true,
146
+ "internalType": "address",
147
+ "name": "from",
148
+ "type": "address"
149
+ },
150
+ {
151
+ "indexed": true,
152
+ "internalType": "address",
153
+ "name": "to",
154
+ "type": "address"
155
+ },
156
+ {
157
+ "indexed": true,
158
+ "internalType": "euint64",
159
+ "name": "amount",
160
+ "type": "bytes32"
161
+ }
162
+ ],
163
+ "name": "ConfidentialTransfer",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": false,
171
+ "internalType": "address",
172
+ "name": "account",
173
+ "type": "address"
174
+ },
175
+ {
176
+ "indexed": false,
177
+ "internalType": "address",
178
+ "name": "oldObserver",
179
+ "type": "address"
180
+ },
181
+ {
182
+ "indexed": false,
183
+ "internalType": "address",
184
+ "name": "newObserver",
185
+ "type": "address"
186
+ }
187
+ ],
188
+ "name": "ERC7984ObserverAccessObserverSet",
189
+ "type": "event"
190
+ },
191
+ {
192
+ "anonymous": false,
193
+ "inputs": [
194
+ {
195
+ "indexed": true,
196
+ "internalType": "address",
197
+ "name": "holder",
198
+ "type": "address"
199
+ },
200
+ {
201
+ "indexed": true,
202
+ "internalType": "address",
203
+ "name": "operator",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "indexed": false,
208
+ "internalType": "uint48",
209
+ "name": "until",
210
+ "type": "uint48"
211
+ }
212
+ ],
213
+ "name": "OperatorSet",
214
+ "type": "event"
215
+ },
216
+ {
217
+ "anonymous": false,
218
+ "inputs": [
219
+ {
220
+ "indexed": false,
221
+ "internalType": "bytes32[]",
222
+ "name": "handlesList",
223
+ "type": "bytes32[]"
224
+ },
225
+ {
226
+ "indexed": false,
227
+ "internalType": "bytes",
228
+ "name": "abiEncodedCleartexts",
229
+ "type": "bytes"
230
+ }
231
+ ],
232
+ "name": "PublicDecryptionVerified",
233
+ "type": "event"
234
+ },
235
+ {
236
+ "inputs": [
237
+ {
238
+ "internalType": "address",
239
+ "name": "account",
240
+ "type": "address"
241
+ }
242
+ ],
243
+ "name": "confidentialBalanceOf",
244
+ "outputs": [
245
+ {
246
+ "internalType": "euint64",
247
+ "name": "",
248
+ "type": "bytes32"
249
+ }
250
+ ],
251
+ "stateMutability": "view",
252
+ "type": "function"
253
+ },
254
+ {
255
+ "inputs": [],
256
+ "name": "confidentialTotalSupply",
257
+ "outputs": [
258
+ {
259
+ "internalType": "euint64",
260
+ "name": "",
261
+ "type": "bytes32"
262
+ }
263
+ ],
264
+ "stateMutability": "view",
265
+ "type": "function"
266
+ },
267
+ {
268
+ "inputs": [
269
+ {
270
+ "internalType": "address",
271
+ "name": "to",
272
+ "type": "address"
273
+ },
274
+ {
275
+ "internalType": "externalEuint64",
276
+ "name": "encryptedAmount",
277
+ "type": "bytes32"
278
+ },
279
+ {
280
+ "internalType": "bytes",
281
+ "name": "inputProof",
282
+ "type": "bytes"
283
+ }
284
+ ],
285
+ "name": "confidentialTransfer",
286
+ "outputs": [
287
+ {
288
+ "internalType": "euint64",
289
+ "name": "",
290
+ "type": "bytes32"
291
+ }
292
+ ],
293
+ "stateMutability": "nonpayable",
294
+ "type": "function"
295
+ },
296
+ {
297
+ "inputs": [
298
+ {
299
+ "internalType": "address",
300
+ "name": "to",
301
+ "type": "address"
302
+ },
303
+ {
304
+ "internalType": "euint64",
305
+ "name": "amount",
306
+ "type": "bytes32"
307
+ }
308
+ ],
309
+ "name": "confidentialTransfer",
310
+ "outputs": [
311
+ {
312
+ "internalType": "euint64",
313
+ "name": "",
314
+ "type": "bytes32"
315
+ }
316
+ ],
317
+ "stateMutability": "nonpayable",
318
+ "type": "function"
319
+ },
320
+ {
321
+ "inputs": [
322
+ {
323
+ "internalType": "address",
324
+ "name": "to",
325
+ "type": "address"
326
+ },
327
+ {
328
+ "internalType": "euint64",
329
+ "name": "amount",
330
+ "type": "bytes32"
331
+ },
332
+ {
333
+ "internalType": "bytes",
334
+ "name": "data",
335
+ "type": "bytes"
336
+ }
337
+ ],
338
+ "name": "confidentialTransferAndCall",
339
+ "outputs": [
340
+ {
341
+ "internalType": "euint64",
342
+ "name": "transferred",
343
+ "type": "bytes32"
344
+ }
345
+ ],
346
+ "stateMutability": "nonpayable",
347
+ "type": "function"
348
+ },
349
+ {
350
+ "inputs": [
351
+ {
352
+ "internalType": "address",
353
+ "name": "to",
354
+ "type": "address"
355
+ },
356
+ {
357
+ "internalType": "externalEuint64",
358
+ "name": "encryptedAmount",
359
+ "type": "bytes32"
360
+ },
361
+ {
362
+ "internalType": "bytes",
363
+ "name": "inputProof",
364
+ "type": "bytes"
365
+ },
366
+ {
367
+ "internalType": "bytes",
368
+ "name": "data",
369
+ "type": "bytes"
370
+ }
371
+ ],
372
+ "name": "confidentialTransferAndCall",
373
+ "outputs": [
374
+ {
375
+ "internalType": "euint64",
376
+ "name": "transferred",
377
+ "type": "bytes32"
378
+ }
379
+ ],
380
+ "stateMutability": "nonpayable",
381
+ "type": "function"
382
+ },
383
+ {
384
+ "inputs": [
385
+ {
386
+ "internalType": "address",
387
+ "name": "from",
388
+ "type": "address"
389
+ },
390
+ {
391
+ "internalType": "address",
392
+ "name": "to",
393
+ "type": "address"
394
+ },
395
+ {
396
+ "internalType": "externalEuint64",
397
+ "name": "encryptedAmount",
398
+ "type": "bytes32"
399
+ },
400
+ {
401
+ "internalType": "bytes",
402
+ "name": "inputProof",
403
+ "type": "bytes"
404
+ }
405
+ ],
406
+ "name": "confidentialTransferFrom",
407
+ "outputs": [
408
+ {
409
+ "internalType": "euint64",
410
+ "name": "transferred",
411
+ "type": "bytes32"
412
+ }
413
+ ],
414
+ "stateMutability": "nonpayable",
415
+ "type": "function"
416
+ },
417
+ {
418
+ "inputs": [
419
+ {
420
+ "internalType": "address",
421
+ "name": "from",
422
+ "type": "address"
423
+ },
424
+ {
425
+ "internalType": "address",
426
+ "name": "to",
427
+ "type": "address"
428
+ },
429
+ {
430
+ "internalType": "euint64",
431
+ "name": "amount",
432
+ "type": "bytes32"
433
+ }
434
+ ],
435
+ "name": "confidentialTransferFrom",
436
+ "outputs": [
437
+ {
438
+ "internalType": "euint64",
439
+ "name": "transferred",
440
+ "type": "bytes32"
441
+ }
442
+ ],
443
+ "stateMutability": "nonpayable",
444
+ "type": "function"
445
+ },
446
+ {
447
+ "inputs": [
448
+ {
449
+ "internalType": "address",
450
+ "name": "from",
451
+ "type": "address"
452
+ },
453
+ {
454
+ "internalType": "address",
455
+ "name": "to",
456
+ "type": "address"
457
+ },
458
+ {
459
+ "internalType": "externalEuint64",
460
+ "name": "encryptedAmount",
461
+ "type": "bytes32"
462
+ },
463
+ {
464
+ "internalType": "bytes",
465
+ "name": "inputProof",
466
+ "type": "bytes"
467
+ },
468
+ {
469
+ "internalType": "bytes",
470
+ "name": "data",
471
+ "type": "bytes"
472
+ }
473
+ ],
474
+ "name": "confidentialTransferFromAndCall",
475
+ "outputs": [
476
+ {
477
+ "internalType": "euint64",
478
+ "name": "transferred",
479
+ "type": "bytes32"
480
+ }
481
+ ],
482
+ "stateMutability": "nonpayable",
483
+ "type": "function"
484
+ },
485
+ {
486
+ "inputs": [
487
+ {
488
+ "internalType": "address",
489
+ "name": "from",
490
+ "type": "address"
491
+ },
492
+ {
493
+ "internalType": "address",
494
+ "name": "to",
495
+ "type": "address"
496
+ },
497
+ {
498
+ "internalType": "euint64",
499
+ "name": "amount",
500
+ "type": "bytes32"
501
+ },
502
+ {
503
+ "internalType": "bytes",
504
+ "name": "data",
505
+ "type": "bytes"
506
+ }
507
+ ],
508
+ "name": "confidentialTransferFromAndCall",
509
+ "outputs": [
510
+ {
511
+ "internalType": "euint64",
512
+ "name": "transferred",
513
+ "type": "bytes32"
514
+ }
515
+ ],
516
+ "stateMutability": "nonpayable",
517
+ "type": "function"
518
+ },
519
+ {
520
+ "inputs": [],
521
+ "name": "contractURI",
522
+ "outputs": [
523
+ {
524
+ "internalType": "string",
525
+ "name": "",
526
+ "type": "string"
527
+ }
528
+ ],
529
+ "stateMutability": "view",
530
+ "type": "function"
531
+ },
532
+ {
533
+ "inputs": [],
534
+ "name": "decimals",
535
+ "outputs": [
536
+ {
537
+ "internalType": "uint8",
538
+ "name": "",
539
+ "type": "uint8"
540
+ }
541
+ ],
542
+ "stateMutability": "view",
543
+ "type": "function"
544
+ },
545
+ {
546
+ "inputs": [
547
+ {
548
+ "internalType": "euint64",
549
+ "name": "encryptedAmount",
550
+ "type": "bytes32"
551
+ },
552
+ {
553
+ "internalType": "uint64",
554
+ "name": "cleartextAmount",
555
+ "type": "uint64"
556
+ },
557
+ {
558
+ "internalType": "bytes",
559
+ "name": "decryptionProof",
560
+ "type": "bytes"
561
+ }
562
+ ],
563
+ "name": "discloseEncryptedAmount",
564
+ "outputs": [],
565
+ "stateMutability": "nonpayable",
566
+ "type": "function"
567
+ },
568
+ {
569
+ "inputs": [
570
+ {
571
+ "internalType": "address",
572
+ "name": "holder",
573
+ "type": "address"
574
+ },
575
+ {
576
+ "internalType": "address",
577
+ "name": "spender",
578
+ "type": "address"
579
+ }
580
+ ],
581
+ "name": "isOperator",
582
+ "outputs": [
583
+ {
584
+ "internalType": "bool",
585
+ "name": "",
586
+ "type": "bool"
587
+ }
588
+ ],
589
+ "stateMutability": "view",
590
+ "type": "function"
591
+ },
592
+ {
593
+ "inputs": [],
594
+ "name": "name",
595
+ "outputs": [
596
+ {
597
+ "internalType": "string",
598
+ "name": "",
599
+ "type": "string"
600
+ }
601
+ ],
602
+ "stateMutability": "view",
603
+ "type": "function"
604
+ },
605
+ {
606
+ "inputs": [
607
+ {
608
+ "internalType": "address",
609
+ "name": "account",
610
+ "type": "address"
611
+ }
612
+ ],
613
+ "name": "observer",
614
+ "outputs": [
615
+ {
616
+ "internalType": "address",
617
+ "name": "",
618
+ "type": "address"
619
+ }
620
+ ],
621
+ "stateMutability": "view",
622
+ "type": "function"
623
+ },
624
+ {
625
+ "inputs": [
626
+ {
627
+ "internalType": "euint64",
628
+ "name": "encryptedAmount",
629
+ "type": "bytes32"
630
+ }
631
+ ],
632
+ "name": "requestDiscloseEncryptedAmount",
633
+ "outputs": [],
634
+ "stateMutability": "nonpayable",
635
+ "type": "function"
636
+ },
637
+ {
638
+ "inputs": [
639
+ {
640
+ "internalType": "address",
641
+ "name": "account",
642
+ "type": "address"
643
+ },
644
+ {
645
+ "internalType": "address",
646
+ "name": "newObserver",
647
+ "type": "address"
648
+ }
649
+ ],
650
+ "name": "setObserver",
651
+ "outputs": [],
652
+ "stateMutability": "nonpayable",
653
+ "type": "function"
654
+ },
655
+ {
656
+ "inputs": [
657
+ {
658
+ "internalType": "address",
659
+ "name": "operator",
660
+ "type": "address"
661
+ },
662
+ {
663
+ "internalType": "uint48",
664
+ "name": "until",
665
+ "type": "uint48"
666
+ }
667
+ ],
668
+ "name": "setOperator",
669
+ "outputs": [],
670
+ "stateMutability": "nonpayable",
671
+ "type": "function"
672
+ },
673
+ {
674
+ "inputs": [
675
+ {
676
+ "internalType": "bytes4",
677
+ "name": "interfaceId",
678
+ "type": "bytes4"
679
+ }
680
+ ],
681
+ "name": "supportsInterface",
682
+ "outputs": [
683
+ {
684
+ "internalType": "bool",
685
+ "name": "",
686
+ "type": "bool"
687
+ }
688
+ ],
689
+ "stateMutability": "view",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [],
694
+ "name": "symbol",
695
+ "outputs": [
696
+ {
697
+ "internalType": "string",
698
+ "name": "",
699
+ "type": "string"
700
+ }
701
+ ],
702
+ "stateMutability": "view",
703
+ "type": "function"
704
+ }
705
+ ],
706
+ "bytecode": "0x",
707
+ "deployedBytecode": "0x",
708
+ "linkReferences": {},
709
+ "deployedLinkReferences": {}
710
+ }