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