@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,677 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC7984Restricted",
4
+ "sourceName": "contracts/token/ERC7984/extensions/ERC7984Restricted.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": "HandlesAlreadySavedForRequestID",
96
+ "type": "error"
97
+ },
98
+ {
99
+ "inputs": [],
100
+ "name": "InvalidKMSSignatures",
101
+ "type": "error"
102
+ },
103
+ {
104
+ "inputs": [],
105
+ "name": "NoHandleFoundForRequestID",
106
+ "type": "error"
107
+ },
108
+ {
109
+ "inputs": [
110
+ {
111
+ "internalType": "address",
112
+ "name": "account",
113
+ "type": "address"
114
+ }
115
+ ],
116
+ "name": "UserRestricted",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": true,
124
+ "internalType": "euint64",
125
+ "name": "encryptedAmount",
126
+ "type": "bytes32"
127
+ },
128
+ {
129
+ "indexed": false,
130
+ "internalType": "uint64",
131
+ "name": "amount",
132
+ "type": "uint64"
133
+ }
134
+ ],
135
+ "name": "AmountDisclosed",
136
+ "type": "event"
137
+ },
138
+ {
139
+ "anonymous": false,
140
+ "inputs": [
141
+ {
142
+ "indexed": true,
143
+ "internalType": "address",
144
+ "name": "from",
145
+ "type": "address"
146
+ },
147
+ {
148
+ "indexed": true,
149
+ "internalType": "address",
150
+ "name": "to",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "indexed": true,
155
+ "internalType": "euint64",
156
+ "name": "amount",
157
+ "type": "bytes32"
158
+ }
159
+ ],
160
+ "name": "ConfidentialTransfer",
161
+ "type": "event"
162
+ },
163
+ {
164
+ "anonymous": false,
165
+ "inputs": [
166
+ {
167
+ "indexed": true,
168
+ "internalType": "uint256",
169
+ "name": "requestID",
170
+ "type": "uint256"
171
+ }
172
+ ],
173
+ "name": "DecryptionFulfilled",
174
+ "type": "event"
175
+ },
176
+ {
177
+ "anonymous": false,
178
+ "inputs": [
179
+ {
180
+ "indexed": true,
181
+ "internalType": "address",
182
+ "name": "holder",
183
+ "type": "address"
184
+ },
185
+ {
186
+ "indexed": true,
187
+ "internalType": "address",
188
+ "name": "operator",
189
+ "type": "address"
190
+ },
191
+ {
192
+ "indexed": false,
193
+ "internalType": "uint48",
194
+ "name": "until",
195
+ "type": "uint48"
196
+ }
197
+ ],
198
+ "name": "OperatorSet",
199
+ "type": "event"
200
+ },
201
+ {
202
+ "anonymous": false,
203
+ "inputs": [
204
+ {
205
+ "indexed": true,
206
+ "internalType": "address",
207
+ "name": "account",
208
+ "type": "address"
209
+ },
210
+ {
211
+ "indexed": false,
212
+ "internalType": "enum ERC7984Restricted.Restriction",
213
+ "name": "restriction",
214
+ "type": "uint8"
215
+ }
216
+ ],
217
+ "name": "UserRestrictionUpdated",
218
+ "type": "event"
219
+ },
220
+ {
221
+ "inputs": [
222
+ {
223
+ "internalType": "address",
224
+ "name": "account",
225
+ "type": "address"
226
+ }
227
+ ],
228
+ "name": "confidentialBalanceOf",
229
+ "outputs": [
230
+ {
231
+ "internalType": "euint64",
232
+ "name": "",
233
+ "type": "bytes32"
234
+ }
235
+ ],
236
+ "stateMutability": "view",
237
+ "type": "function"
238
+ },
239
+ {
240
+ "inputs": [],
241
+ "name": "confidentialTotalSupply",
242
+ "outputs": [
243
+ {
244
+ "internalType": "euint64",
245
+ "name": "",
246
+ "type": "bytes32"
247
+ }
248
+ ],
249
+ "stateMutability": "view",
250
+ "type": "function"
251
+ },
252
+ {
253
+ "inputs": [
254
+ {
255
+ "internalType": "address",
256
+ "name": "to",
257
+ "type": "address"
258
+ },
259
+ {
260
+ "internalType": "externalEuint64",
261
+ "name": "encryptedAmount",
262
+ "type": "bytes32"
263
+ },
264
+ {
265
+ "internalType": "bytes",
266
+ "name": "inputProof",
267
+ "type": "bytes"
268
+ }
269
+ ],
270
+ "name": "confidentialTransfer",
271
+ "outputs": [
272
+ {
273
+ "internalType": "euint64",
274
+ "name": "",
275
+ "type": "bytes32"
276
+ }
277
+ ],
278
+ "stateMutability": "nonpayable",
279
+ "type": "function"
280
+ },
281
+ {
282
+ "inputs": [
283
+ {
284
+ "internalType": "address",
285
+ "name": "to",
286
+ "type": "address"
287
+ },
288
+ {
289
+ "internalType": "euint64",
290
+ "name": "amount",
291
+ "type": "bytes32"
292
+ }
293
+ ],
294
+ "name": "confidentialTransfer",
295
+ "outputs": [
296
+ {
297
+ "internalType": "euint64",
298
+ "name": "",
299
+ "type": "bytes32"
300
+ }
301
+ ],
302
+ "stateMutability": "nonpayable",
303
+ "type": "function"
304
+ },
305
+ {
306
+ "inputs": [
307
+ {
308
+ "internalType": "address",
309
+ "name": "to",
310
+ "type": "address"
311
+ },
312
+ {
313
+ "internalType": "euint64",
314
+ "name": "amount",
315
+ "type": "bytes32"
316
+ },
317
+ {
318
+ "internalType": "bytes",
319
+ "name": "data",
320
+ "type": "bytes"
321
+ }
322
+ ],
323
+ "name": "confidentialTransferAndCall",
324
+ "outputs": [
325
+ {
326
+ "internalType": "euint64",
327
+ "name": "transferred",
328
+ "type": "bytes32"
329
+ }
330
+ ],
331
+ "stateMutability": "nonpayable",
332
+ "type": "function"
333
+ },
334
+ {
335
+ "inputs": [
336
+ {
337
+ "internalType": "address",
338
+ "name": "to",
339
+ "type": "address"
340
+ },
341
+ {
342
+ "internalType": "externalEuint64",
343
+ "name": "encryptedAmount",
344
+ "type": "bytes32"
345
+ },
346
+ {
347
+ "internalType": "bytes",
348
+ "name": "inputProof",
349
+ "type": "bytes"
350
+ },
351
+ {
352
+ "internalType": "bytes",
353
+ "name": "data",
354
+ "type": "bytes"
355
+ }
356
+ ],
357
+ "name": "confidentialTransferAndCall",
358
+ "outputs": [
359
+ {
360
+ "internalType": "euint64",
361
+ "name": "transferred",
362
+ "type": "bytes32"
363
+ }
364
+ ],
365
+ "stateMutability": "nonpayable",
366
+ "type": "function"
367
+ },
368
+ {
369
+ "inputs": [
370
+ {
371
+ "internalType": "address",
372
+ "name": "from",
373
+ "type": "address"
374
+ },
375
+ {
376
+ "internalType": "address",
377
+ "name": "to",
378
+ "type": "address"
379
+ },
380
+ {
381
+ "internalType": "externalEuint64",
382
+ "name": "encryptedAmount",
383
+ "type": "bytes32"
384
+ },
385
+ {
386
+ "internalType": "bytes",
387
+ "name": "inputProof",
388
+ "type": "bytes"
389
+ }
390
+ ],
391
+ "name": "confidentialTransferFrom",
392
+ "outputs": [
393
+ {
394
+ "internalType": "euint64",
395
+ "name": "transferred",
396
+ "type": "bytes32"
397
+ }
398
+ ],
399
+ "stateMutability": "nonpayable",
400
+ "type": "function"
401
+ },
402
+ {
403
+ "inputs": [
404
+ {
405
+ "internalType": "address",
406
+ "name": "from",
407
+ "type": "address"
408
+ },
409
+ {
410
+ "internalType": "address",
411
+ "name": "to",
412
+ "type": "address"
413
+ },
414
+ {
415
+ "internalType": "euint64",
416
+ "name": "amount",
417
+ "type": "bytes32"
418
+ }
419
+ ],
420
+ "name": "confidentialTransferFrom",
421
+ "outputs": [
422
+ {
423
+ "internalType": "euint64",
424
+ "name": "transferred",
425
+ "type": "bytes32"
426
+ }
427
+ ],
428
+ "stateMutability": "nonpayable",
429
+ "type": "function"
430
+ },
431
+ {
432
+ "inputs": [
433
+ {
434
+ "internalType": "address",
435
+ "name": "from",
436
+ "type": "address"
437
+ },
438
+ {
439
+ "internalType": "address",
440
+ "name": "to",
441
+ "type": "address"
442
+ },
443
+ {
444
+ "internalType": "externalEuint64",
445
+ "name": "encryptedAmount",
446
+ "type": "bytes32"
447
+ },
448
+ {
449
+ "internalType": "bytes",
450
+ "name": "inputProof",
451
+ "type": "bytes"
452
+ },
453
+ {
454
+ "internalType": "bytes",
455
+ "name": "data",
456
+ "type": "bytes"
457
+ }
458
+ ],
459
+ "name": "confidentialTransferFromAndCall",
460
+ "outputs": [
461
+ {
462
+ "internalType": "euint64",
463
+ "name": "transferred",
464
+ "type": "bytes32"
465
+ }
466
+ ],
467
+ "stateMutability": "nonpayable",
468
+ "type": "function"
469
+ },
470
+ {
471
+ "inputs": [
472
+ {
473
+ "internalType": "address",
474
+ "name": "from",
475
+ "type": "address"
476
+ },
477
+ {
478
+ "internalType": "address",
479
+ "name": "to",
480
+ "type": "address"
481
+ },
482
+ {
483
+ "internalType": "euint64",
484
+ "name": "amount",
485
+ "type": "bytes32"
486
+ },
487
+ {
488
+ "internalType": "bytes",
489
+ "name": "data",
490
+ "type": "bytes"
491
+ }
492
+ ],
493
+ "name": "confidentialTransferFromAndCall",
494
+ "outputs": [
495
+ {
496
+ "internalType": "euint64",
497
+ "name": "transferred",
498
+ "type": "bytes32"
499
+ }
500
+ ],
501
+ "stateMutability": "nonpayable",
502
+ "type": "function"
503
+ },
504
+ {
505
+ "inputs": [],
506
+ "name": "contractURI",
507
+ "outputs": [
508
+ {
509
+ "internalType": "string",
510
+ "name": "",
511
+ "type": "string"
512
+ }
513
+ ],
514
+ "stateMutability": "view",
515
+ "type": "function"
516
+ },
517
+ {
518
+ "inputs": [],
519
+ "name": "decimals",
520
+ "outputs": [
521
+ {
522
+ "internalType": "uint8",
523
+ "name": "",
524
+ "type": "uint8"
525
+ }
526
+ ],
527
+ "stateMutability": "view",
528
+ "type": "function"
529
+ },
530
+ {
531
+ "inputs": [
532
+ {
533
+ "internalType": "euint64",
534
+ "name": "encryptedAmount",
535
+ "type": "bytes32"
536
+ }
537
+ ],
538
+ "name": "discloseEncryptedAmount",
539
+ "outputs": [],
540
+ "stateMutability": "nonpayable",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [
545
+ {
546
+ "internalType": "uint256",
547
+ "name": "requestId",
548
+ "type": "uint256"
549
+ },
550
+ {
551
+ "internalType": "bytes",
552
+ "name": "cleartexts",
553
+ "type": "bytes"
554
+ },
555
+ {
556
+ "internalType": "bytes",
557
+ "name": "decryptionProof",
558
+ "type": "bytes"
559
+ }
560
+ ],
561
+ "name": "finalizeDiscloseEncryptedAmount",
562
+ "outputs": [],
563
+ "stateMutability": "nonpayable",
564
+ "type": "function"
565
+ },
566
+ {
567
+ "inputs": [
568
+ {
569
+ "internalType": "address",
570
+ "name": "account",
571
+ "type": "address"
572
+ }
573
+ ],
574
+ "name": "getRestriction",
575
+ "outputs": [
576
+ {
577
+ "internalType": "enum ERC7984Restricted.Restriction",
578
+ "name": "",
579
+ "type": "uint8"
580
+ }
581
+ ],
582
+ "stateMutability": "view",
583
+ "type": "function"
584
+ },
585
+ {
586
+ "inputs": [
587
+ {
588
+ "internalType": "address",
589
+ "name": "holder",
590
+ "type": "address"
591
+ },
592
+ {
593
+ "internalType": "address",
594
+ "name": "spender",
595
+ "type": "address"
596
+ }
597
+ ],
598
+ "name": "isOperator",
599
+ "outputs": [
600
+ {
601
+ "internalType": "bool",
602
+ "name": "",
603
+ "type": "bool"
604
+ }
605
+ ],
606
+ "stateMutability": "view",
607
+ "type": "function"
608
+ },
609
+ {
610
+ "inputs": [
611
+ {
612
+ "internalType": "address",
613
+ "name": "account",
614
+ "type": "address"
615
+ }
616
+ ],
617
+ "name": "isUserAllowed",
618
+ "outputs": [
619
+ {
620
+ "internalType": "bool",
621
+ "name": "",
622
+ "type": "bool"
623
+ }
624
+ ],
625
+ "stateMutability": "view",
626
+ "type": "function"
627
+ },
628
+ {
629
+ "inputs": [],
630
+ "name": "name",
631
+ "outputs": [
632
+ {
633
+ "internalType": "string",
634
+ "name": "",
635
+ "type": "string"
636
+ }
637
+ ],
638
+ "stateMutability": "view",
639
+ "type": "function"
640
+ },
641
+ {
642
+ "inputs": [
643
+ {
644
+ "internalType": "address",
645
+ "name": "operator",
646
+ "type": "address"
647
+ },
648
+ {
649
+ "internalType": "uint48",
650
+ "name": "until",
651
+ "type": "uint48"
652
+ }
653
+ ],
654
+ "name": "setOperator",
655
+ "outputs": [],
656
+ "stateMutability": "nonpayable",
657
+ "type": "function"
658
+ },
659
+ {
660
+ "inputs": [],
661
+ "name": "symbol",
662
+ "outputs": [
663
+ {
664
+ "internalType": "string",
665
+ "name": "",
666
+ "type": "string"
667
+ }
668
+ ],
669
+ "stateMutability": "view",
670
+ "type": "function"
671
+ }
672
+ ],
673
+ "bytecode": "0x",
674
+ "deployedBytecode": "0x",
675
+ "linkReferences": {},
676
+ "deployedLinkReferences": {}
677
+ }