@cofhe/mock-contracts 0.7.1 → 1.0.0-alpha.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cofhe/mock-contracts",
3
- "version": "0.7.1",
3
+ "version": "1.0.0-alpha.0",
4
4
  "description": "Mock smart contracts for testing CoFHE with FHE primitives locally",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -18,7 +18,8 @@
18
18
  "contracts/**/*.sol",
19
19
  "foundry.toml",
20
20
  "remappings.txt",
21
- "CHANGELOG.md"
21
+ "CHANGELOG.md",
22
+ "contracts/cofhe-contracts.json"
22
23
  ],
23
24
  "keywords": [
24
25
  "blockchain",
@@ -33,7 +34,7 @@
33
34
  "cofhe"
34
35
  ],
35
36
  "dependencies": {
36
- "@fhenixprotocol/cofhe-contracts": "0.2.0",
37
+ "@fhenixprotocol/cofhe-contracts": "1.0.0",
37
38
  "@openzeppelin/contracts": "5.4.0",
38
39
  "@openzeppelin/contracts-upgradeable": "5.4.0"
39
40
  },
@@ -46,7 +47,7 @@
46
47
  "tsx": "4.21.0",
47
48
  "tsup": "8.5.0",
48
49
  "typechain": "8.3.2",
49
- "@cofhe/sdk": "0.7.1",
50
+ "@cofhe/sdk": "1.0.0-alpha.0",
50
51
  "@cofhe/tsconfig": "0.1.2"
51
52
  },
52
53
  "publishConfig": {
@@ -55,11 +56,12 @@
55
56
  },
56
57
  "scripts": {
57
58
  "build": "node scripts/build.mjs",
58
- "test": "forge build -q && forge test -vvv",
59
+ "test": "node scripts/cofhe-contracts.mjs --check && forge build -q && forge test -vvv",
59
60
  "test:coverage": "forge coverage",
60
61
  "anvil": "anvil --code-size-limit 100000",
61
62
  "lint": "echo 'No linting configured for Solidity'",
62
63
  "clean": "rm -rf out && rm -rf cache",
63
- "dev": "anvil --code-size-limit 100000"
64
+ "dev": "anvil --code-size-limit 100000",
65
+ "update:cofhe-contracts": "node scripts/cofhe-contracts.mjs --update"
64
66
  }
65
67
  }
package/remappings.txt CHANGED
@@ -1,5 +1,6 @@
1
1
  forge-std/=node_modules/forge-std/src/
2
2
  hardhat/=node_modules/hardhat/
3
3
  @openzeppelin/contracts/=node_modules/@openzeppelin/contracts/
4
+ @openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/
4
5
  @fhenixprotocol/cofhe-contracts/=node_modules/@fhenixprotocol/cofhe-contracts/
5
6
  @cofhe/mock-contracts/=node_modules/@cofhe/mock-contracts/contracts/
@@ -5,6 +5,69 @@ export const ACPShareRegistryArtifact = {
5
5
  contractName: 'ACPShareRegistry',
6
6
  isFixed: false,
7
7
  abi: [
8
+ {
9
+ type: 'constructor',
10
+ inputs: [],
11
+ stateMutability: 'nonpayable',
12
+ },
13
+ {
14
+ type: 'function',
15
+ name: 'DEFAULT_ADMIN_ROLE',
16
+ inputs: [],
17
+ outputs: [
18
+ {
19
+ name: '',
20
+ type: 'bytes32',
21
+ internalType: 'bytes32',
22
+ },
23
+ ],
24
+ stateMutability: 'view',
25
+ },
26
+ {
27
+ type: 'function',
28
+ name: 'UPGRADER_ROLE',
29
+ inputs: [],
30
+ outputs: [
31
+ {
32
+ name: '',
33
+ type: 'bytes32',
34
+ internalType: 'bytes32',
35
+ },
36
+ ],
37
+ stateMutability: 'view',
38
+ },
39
+ {
40
+ type: 'function',
41
+ name: 'UPGRADE_INTERFACE_VERSION',
42
+ inputs: [],
43
+ outputs: [
44
+ {
45
+ name: '',
46
+ type: 'string',
47
+ internalType: 'string',
48
+ },
49
+ ],
50
+ stateMutability: 'view',
51
+ },
52
+ {
53
+ type: 'function',
54
+ name: 'getRoleAdmin',
55
+ inputs: [
56
+ {
57
+ name: 'role',
58
+ type: 'bytes32',
59
+ internalType: 'bytes32',
60
+ },
61
+ ],
62
+ outputs: [
63
+ {
64
+ name: '',
65
+ type: 'bytes32',
66
+ internalType: 'bytes32',
67
+ },
68
+ ],
69
+ stateMutability: 'view',
70
+ },
8
71
  {
9
72
  type: 'function',
10
73
  name: 'getShare',
@@ -19,7 +82,7 @@ export const ACPShareRegistryArtifact = {
19
82
  {
20
83
  name: '',
21
84
  type: 'tuple',
22
- internalType: 'struct ACP',
85
+ internalType: 'struct ACPShareRegistry.ShareHeader',
23
86
  components: [
24
87
  {
25
88
  name: 'issuer',
@@ -37,9 +100,9 @@ export const ACPShareRegistryArtifact = {
37
100
  internalType: 'address',
38
101
  },
39
102
  {
40
- name: 'revokerData',
41
- type: 'uint256',
42
- internalType: 'uint256',
103
+ name: 'blockNumber',
104
+ type: 'uint64',
105
+ internalType: 'uint64',
43
106
  },
44
107
  {
45
108
  name: 'revokerContract',
@@ -47,40 +110,70 @@ export const ACPShareRegistryArtifact = {
47
110
  internalType: 'address',
48
111
  },
49
112
  {
50
- name: 'scope',
51
- type: 'uint8',
52
- internalType: 'uint8',
53
- },
54
- {
55
- name: 'contracts',
56
- type: 'address[]',
57
- internalType: 'address[]',
58
- },
59
- {
60
- name: 'handles',
61
- type: 'bytes32[]',
62
- internalType: 'bytes32[]',
63
- },
64
- {
65
- name: 'sealingKey',
66
- type: 'bytes32',
67
- internalType: 'bytes32',
68
- },
69
- {
70
- name: 'issuerSignature',
71
- type: 'bytes',
72
- internalType: 'bytes',
73
- },
74
- {
75
- name: 'recipientSignature',
76
- type: 'bytes',
77
- internalType: 'bytes',
113
+ name: 'revokerData',
114
+ type: 'uint256',
115
+ internalType: 'uint256',
78
116
  },
79
117
  ],
80
118
  },
81
119
  ],
82
120
  stateMutability: 'view',
83
121
  },
122
+ {
123
+ type: 'function',
124
+ name: 'grantRole',
125
+ inputs: [
126
+ {
127
+ name: 'role',
128
+ type: 'bytes32',
129
+ internalType: 'bytes32',
130
+ },
131
+ {
132
+ name: 'account',
133
+ type: 'address',
134
+ internalType: 'address',
135
+ },
136
+ ],
137
+ outputs: [],
138
+ stateMutability: 'nonpayable',
139
+ },
140
+ {
141
+ type: 'function',
142
+ name: 'hasRole',
143
+ inputs: [
144
+ {
145
+ name: 'role',
146
+ type: 'bytes32',
147
+ internalType: 'bytes32',
148
+ },
149
+ {
150
+ name: 'account',
151
+ type: 'address',
152
+ internalType: 'address',
153
+ },
154
+ ],
155
+ outputs: [
156
+ {
157
+ name: '',
158
+ type: 'bool',
159
+ internalType: 'bool',
160
+ },
161
+ ],
162
+ stateMutability: 'view',
163
+ },
164
+ {
165
+ type: 'function',
166
+ name: 'initialize',
167
+ inputs: [
168
+ {
169
+ name: 'initialAdmin',
170
+ type: 'address',
171
+ internalType: 'address',
172
+ },
173
+ ],
174
+ outputs: [],
175
+ stateMutability: 'nonpayable',
176
+ },
84
177
  {
85
178
  type: 'function',
86
179
  name: 'isShareValid',
@@ -100,6 +193,19 @@ export const ACPShareRegistryArtifact = {
100
193
  ],
101
194
  stateMutability: 'view',
102
195
  },
196
+ {
197
+ type: 'function',
198
+ name: 'proxiableUUID',
199
+ inputs: [],
200
+ outputs: [
201
+ {
202
+ name: '',
203
+ type: 'bytes32',
204
+ internalType: 'bytes32',
205
+ },
206
+ ],
207
+ stateMutability: 'view',
208
+ },
103
209
  {
104
210
  type: 'function',
105
211
  name: 'removeShare',
@@ -113,6 +219,42 @@ export const ACPShareRegistryArtifact = {
113
219
  outputs: [],
114
220
  stateMutability: 'nonpayable',
115
221
  },
222
+ {
223
+ type: 'function',
224
+ name: 'renounceRole',
225
+ inputs: [
226
+ {
227
+ name: 'role',
228
+ type: 'bytes32',
229
+ internalType: 'bytes32',
230
+ },
231
+ {
232
+ name: 'callerConfirmation',
233
+ type: 'address',
234
+ internalType: 'address',
235
+ },
236
+ ],
237
+ outputs: [],
238
+ stateMutability: 'nonpayable',
239
+ },
240
+ {
241
+ type: 'function',
242
+ name: 'revokeRole',
243
+ inputs: [
244
+ {
245
+ name: 'role',
246
+ type: 'bytes32',
247
+ internalType: 'bytes32',
248
+ },
249
+ {
250
+ name: 'account',
251
+ type: 'address',
252
+ internalType: 'address',
253
+ },
254
+ ],
255
+ outputs: [],
256
+ stateMutability: 'nonpayable',
257
+ },
116
258
  {
117
259
  type: 'function',
118
260
  name: 'share',
@@ -179,6 +321,11 @@ export const ACPShareRegistryArtifact = {
179
321
  },
180
322
  ],
181
323
  },
324
+ {
325
+ name: 'metadata',
326
+ type: 'bytes',
327
+ internalType: 'bytes',
328
+ },
182
329
  ],
183
330
  outputs: [
184
331
  {
@@ -201,9 +348,227 @@ export const ACPShareRegistryArtifact = {
201
348
  ],
202
349
  outputs: [
203
350
  {
204
- name: 'acps',
351
+ name: 'shareIds',
352
+ type: 'bytes32[]',
353
+ internalType: 'bytes32[]',
354
+ },
355
+ {
356
+ name: 'headers',
205
357
  type: 'tuple[]',
206
- internalType: 'struct ACP[]',
358
+ internalType: 'struct ACPShareRegistry.ShareHeader[]',
359
+ components: [
360
+ {
361
+ name: 'issuer',
362
+ type: 'address',
363
+ internalType: 'address',
364
+ },
365
+ {
366
+ name: 'expiration',
367
+ type: 'uint64',
368
+ internalType: 'uint64',
369
+ },
370
+ {
371
+ name: 'recipient',
372
+ type: 'address',
373
+ internalType: 'address',
374
+ },
375
+ {
376
+ name: 'blockNumber',
377
+ type: 'uint64',
378
+ internalType: 'uint64',
379
+ },
380
+ {
381
+ name: 'revokerContract',
382
+ type: 'address',
383
+ internalType: 'address',
384
+ },
385
+ {
386
+ name: 'revokerData',
387
+ type: 'uint256',
388
+ internalType: 'uint256',
389
+ },
390
+ ],
391
+ },
392
+ ],
393
+ stateMutability: 'view',
394
+ },
395
+ {
396
+ type: 'function',
397
+ name: 'supportsInterface',
398
+ inputs: [
399
+ {
400
+ name: 'interfaceId',
401
+ type: 'bytes4',
402
+ internalType: 'bytes4',
403
+ },
404
+ ],
405
+ outputs: [
406
+ {
407
+ name: '',
408
+ type: 'bool',
409
+ internalType: 'bool',
410
+ },
411
+ ],
412
+ stateMutability: 'view',
413
+ },
414
+ {
415
+ type: 'function',
416
+ name: 'upgradeToAndCall',
417
+ inputs: [
418
+ {
419
+ name: 'newImplementation',
420
+ type: 'address',
421
+ internalType: 'address',
422
+ },
423
+ {
424
+ name: 'data',
425
+ type: 'bytes',
426
+ internalType: 'bytes',
427
+ },
428
+ ],
429
+ outputs: [],
430
+ stateMutability: 'payable',
431
+ },
432
+ {
433
+ type: 'event',
434
+ name: 'Initialized',
435
+ inputs: [
436
+ {
437
+ name: 'version',
438
+ type: 'uint64',
439
+ indexed: false,
440
+ internalType: 'uint64',
441
+ },
442
+ ],
443
+ anonymous: false,
444
+ },
445
+ {
446
+ type: 'event',
447
+ name: 'RoleAdminChanged',
448
+ inputs: [
449
+ {
450
+ name: 'role',
451
+ type: 'bytes32',
452
+ indexed: true,
453
+ internalType: 'bytes32',
454
+ },
455
+ {
456
+ name: 'previousAdminRole',
457
+ type: 'bytes32',
458
+ indexed: true,
459
+ internalType: 'bytes32',
460
+ },
461
+ {
462
+ name: 'newAdminRole',
463
+ type: 'bytes32',
464
+ indexed: true,
465
+ internalType: 'bytes32',
466
+ },
467
+ ],
468
+ anonymous: false,
469
+ },
470
+ {
471
+ type: 'event',
472
+ name: 'RoleGranted',
473
+ inputs: [
474
+ {
475
+ name: 'role',
476
+ type: 'bytes32',
477
+ indexed: true,
478
+ internalType: 'bytes32',
479
+ },
480
+ {
481
+ name: 'account',
482
+ type: 'address',
483
+ indexed: true,
484
+ internalType: 'address',
485
+ },
486
+ {
487
+ name: 'sender',
488
+ type: 'address',
489
+ indexed: true,
490
+ internalType: 'address',
491
+ },
492
+ ],
493
+ anonymous: false,
494
+ },
495
+ {
496
+ type: 'event',
497
+ name: 'RoleRevoked',
498
+ inputs: [
499
+ {
500
+ name: 'role',
501
+ type: 'bytes32',
502
+ indexed: true,
503
+ internalType: 'bytes32',
504
+ },
505
+ {
506
+ name: 'account',
507
+ type: 'address',
508
+ indexed: true,
509
+ internalType: 'address',
510
+ },
511
+ {
512
+ name: 'sender',
513
+ type: 'address',
514
+ indexed: true,
515
+ internalType: 'address',
516
+ },
517
+ ],
518
+ anonymous: false,
519
+ },
520
+ {
521
+ type: 'event',
522
+ name: 'ShareRemoved',
523
+ inputs: [
524
+ {
525
+ name: 'recipient',
526
+ type: 'address',
527
+ indexed: true,
528
+ internalType: 'address',
529
+ },
530
+ {
531
+ name: 'issuer',
532
+ type: 'address',
533
+ indexed: true,
534
+ internalType: 'address',
535
+ },
536
+ {
537
+ name: 'shareId',
538
+ type: 'bytes32',
539
+ indexed: true,
540
+ internalType: 'bytes32',
541
+ },
542
+ ],
543
+ anonymous: false,
544
+ },
545
+ {
546
+ type: 'event',
547
+ name: 'Shared',
548
+ inputs: [
549
+ {
550
+ name: 'recipient',
551
+ type: 'address',
552
+ indexed: true,
553
+ internalType: 'address',
554
+ },
555
+ {
556
+ name: 'issuer',
557
+ type: 'address',
558
+ indexed: true,
559
+ internalType: 'address',
560
+ },
561
+ {
562
+ name: 'shareId',
563
+ type: 'bytes32',
564
+ indexed: true,
565
+ internalType: 'bytes32',
566
+ },
567
+ {
568
+ name: 'acp',
569
+ type: 'tuple',
570
+ indexed: false,
571
+ internalType: 'struct ACP',
207
572
  components: [
208
573
  {
209
574
  name: 'issuer',
@@ -262,62 +627,89 @@ export const ACPShareRegistryArtifact = {
262
627
  },
263
628
  ],
264
629
  },
630
+ {
631
+ name: 'metadata',
632
+ type: 'bytes',
633
+ indexed: false,
634
+ internalType: 'bytes',
635
+ },
265
636
  ],
266
- stateMutability: 'view',
637
+ anonymous: false,
267
638
  },
268
639
  {
269
640
  type: 'event',
270
- name: 'ShareRemoved',
641
+ name: 'Upgraded',
271
642
  inputs: [
272
643
  {
273
- name: 'recipient',
644
+ name: 'implementation',
274
645
  type: 'address',
275
646
  indexed: true,
276
647
  internalType: 'address',
277
648
  },
649
+ ],
650
+ anonymous: false,
651
+ },
652
+ {
653
+ type: 'error',
654
+ name: 'AccessControlBadConfirmation',
655
+ inputs: [],
656
+ },
657
+ {
658
+ type: 'error',
659
+ name: 'AccessControlUnauthorizedAccount',
660
+ inputs: [
278
661
  {
279
- name: 'issuer',
662
+ name: 'account',
280
663
  type: 'address',
281
- indexed: true,
282
664
  internalType: 'address',
283
665
  },
284
666
  {
285
- name: 'shareId',
667
+ name: 'neededRole',
286
668
  type: 'bytes32',
287
- indexed: false,
288
669
  internalType: 'bytes32',
289
670
  },
290
671
  ],
291
- anonymous: false,
292
672
  },
293
673
  {
294
- type: 'event',
295
- name: 'Shared',
674
+ type: 'error',
675
+ name: 'AddressEmptyCode',
296
676
  inputs: [
297
677
  {
298
- name: 'recipient',
678
+ name: 'target',
299
679
  type: 'address',
300
- indexed: true,
301
680
  internalType: 'address',
302
681
  },
682
+ ],
683
+ },
684
+ {
685
+ type: 'error',
686
+ name: 'AlreadyShared',
687
+ inputs: [],
688
+ },
689
+ {
690
+ type: 'error',
691
+ name: 'ERC1967InvalidImplementation',
692
+ inputs: [
303
693
  {
304
- name: 'issuer',
694
+ name: 'implementation',
305
695
  type: 'address',
306
- indexed: true,
307
696
  internalType: 'address',
308
697
  },
309
- {
310
- name: 'shareId',
311
- type: 'bytes32',
312
- indexed: false,
313
- internalType: 'bytes32',
314
- },
315
698
  ],
316
- anonymous: false,
317
699
  },
318
700
  {
319
701
  type: 'error',
320
- name: 'AlreadyShared',
702
+ name: 'ERC1967NonPayable',
703
+ inputs: [],
704
+ },
705
+ {
706
+ type: 'error',
707
+ name: 'FailedCall',
708
+ inputs: [],
709
+ },
710
+ {
711
+ type: 'error',
712
+ name: 'InvalidInitialization',
321
713
  inputs: [],
322
714
  },
323
715
  {
@@ -325,6 +717,11 @@ export const ACPShareRegistryArtifact = {
325
717
  name: 'IssuerSignatureMissing',
326
718
  inputs: [],
327
719
  },
720
+ {
721
+ type: 'error',
722
+ name: 'NotInitializing',
723
+ inputs: [],
724
+ },
328
725
  {
329
726
  type: 'error',
330
727
  name: 'NotIssuer',
@@ -350,6 +747,22 @@ export const ACPShareRegistryArtifact = {
350
747
  name: 'ShareExpired',
351
748
  inputs: [],
352
749
  },
750
+ {
751
+ type: 'error',
752
+ name: 'UUPSUnauthorizedCallContext',
753
+ inputs: [],
754
+ },
755
+ {
756
+ type: 'error',
757
+ name: 'UUPSUnsupportedProxiableUUID',
758
+ inputs: [
759
+ {
760
+ name: 'slot',
761
+ type: 'bytes32',
762
+ internalType: 'bytes32',
763
+ },
764
+ ],
765
+ },
353
766
  {
354
767
  type: 'error',
355
768
  name: 'UnknownShare',