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