@juicedollar/jusd 3.0.1 → 4.0.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 (47) hide show
  1. package/contracts/Leadrate.sol +1 -1
  2. package/contracts/{MintingHubV2 → MintingHubV3}/MintingHub.sol +93 -100
  3. package/contracts/{MintingHubV2 → MintingHubV3}/Position.sol +20 -13
  4. package/contracts/{MintingHubV2 → MintingHubV3}/PositionRoller.sol +17 -37
  5. package/contracts/{MintingHubV2 → MintingHubV3}/interface/IMintingHub.sol +2 -2
  6. package/contracts/{MintingHubV2 → MintingHubV3}/interface/IPosition.sol +3 -3
  7. package/contracts/Savings.sol +36 -6
  8. package/contracts/interface/ISavingsJUSD.sol +10 -1
  9. package/contracts/test/PositionExpirationTest.sol +17 -38
  10. package/contracts/test/PositionRollingTest.sol +3 -3
  11. package/contracts/test/ReentrantAttacker.sol +1 -1
  12. package/dist/index.d.mts +5609 -3568
  13. package/dist/index.d.ts +5609 -3568
  14. package/dist/index.js +9361 -6680
  15. package/dist/index.mjs +9351 -6674
  16. package/exports/abis/shared/Equity.ts +1286 -0
  17. package/exports/abis/shared/JuiceDollar.ts +1366 -0
  18. package/exports/abis/shared/StablecoinBridge.ts +279 -0
  19. package/exports/abis/utils/StartUSD.ts +213 -213
  20. package/exports/abis/{core → v2}/FrontendGateway.ts +1 -1
  21. package/exports/abis/{core → v2}/MintingHubGateway.ts +1 -1
  22. package/exports/abis/{MintingHubV2 → v2}/PositionRoller.ts +1 -1
  23. package/exports/abis/{core → v2}/SavingsGateway.ts +1 -1
  24. package/exports/abis/{core → v2}/SavingsVaultJUSD.ts +1 -1
  25. package/exports/abis/v3/MintingHub.ts +1024 -0
  26. package/exports/abis/v3/Position.ts +1142 -0
  27. package/exports/abis/v3/PositionFactory.ts +90 -0
  28. package/exports/abis/v3/PositionRoller.ts +255 -0
  29. package/exports/abis/v3/Savings.ts +553 -0
  30. package/exports/abis/v3/SavingsVaultJUSD.ts +925 -0
  31. package/exports/address.config.ts +44 -16
  32. package/exports/index.ts +22 -14
  33. package/package.json +7 -9
  34. package/contracts/gateway/FrontendGateway.sol +0 -224
  35. package/contracts/gateway/MintingHubGateway.sol +0 -82
  36. package/contracts/gateway/SavingsGateway.sol +0 -51
  37. package/contracts/gateway/interface/IFrontendGateway.sol +0 -49
  38. package/contracts/gateway/interface/IMintingHubGateway.sol +0 -12
  39. package/exports/abis/core/Equity.ts +0 -1286
  40. package/exports/abis/core/JuiceDollar.ts +0 -1366
  41. package/exports/abis/utils/MintingHubV2.ts +0 -888
  42. package/exports/abis/utils/Savings.ts +0 -453
  43. package/exports/abis/utils/StablecoinBridge.ts +0 -279
  44. /package/contracts/{MintingHubV2 → MintingHubV3}/PositionFactory.sol +0 -0
  45. /package/contracts/{MintingHubV2 → MintingHubV3}/interface/IPositionFactory.sol +0 -0
  46. /package/exports/abis/{MintingHubV2 → v2}/PositionFactoryV2.ts +0 -0
  47. /package/exports/abis/{MintingHubV2 → v2}/PositionV2.ts +0 -0
@@ -0,0 +1,1286 @@
1
+ export const EquityABI = [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "contract JuiceDollar",
6
+ "name": "JUSD_",
7
+ "type": "address"
8
+ }
9
+ ],
10
+ "stateMutability": "nonpayable",
11
+ "type": "constructor"
12
+ },
13
+ {
14
+ "inputs": [],
15
+ "name": "ECDSAInvalidSignature",
16
+ "type": "error"
17
+ },
18
+ {
19
+ "inputs": [
20
+ {
21
+ "internalType": "uint256",
22
+ "name": "length",
23
+ "type": "uint256"
24
+ }
25
+ ],
26
+ "name": "ECDSAInvalidSignatureLength",
27
+ "type": "error"
28
+ },
29
+ {
30
+ "inputs": [
31
+ {
32
+ "internalType": "bytes32",
33
+ "name": "s",
34
+ "type": "bytes32"
35
+ }
36
+ ],
37
+ "name": "ECDSAInvalidSignatureS",
38
+ "type": "error"
39
+ },
40
+ {
41
+ "inputs": [
42
+ {
43
+ "internalType": "address",
44
+ "name": "spender",
45
+ "type": "address"
46
+ },
47
+ {
48
+ "internalType": "uint256",
49
+ "name": "allowance",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "internalType": "uint256",
54
+ "name": "needed",
55
+ "type": "uint256"
56
+ }
57
+ ],
58
+ "name": "ERC20InsufficientAllowance",
59
+ "type": "error"
60
+ },
61
+ {
62
+ "inputs": [
63
+ {
64
+ "internalType": "address",
65
+ "name": "sender",
66
+ "type": "address"
67
+ },
68
+ {
69
+ "internalType": "uint256",
70
+ "name": "balance",
71
+ "type": "uint256"
72
+ },
73
+ {
74
+ "internalType": "uint256",
75
+ "name": "needed",
76
+ "type": "uint256"
77
+ }
78
+ ],
79
+ "name": "ERC20InsufficientBalance",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "address",
86
+ "name": "approver",
87
+ "type": "address"
88
+ }
89
+ ],
90
+ "name": "ERC20InvalidApprover",
91
+ "type": "error"
92
+ },
93
+ {
94
+ "inputs": [
95
+ {
96
+ "internalType": "address",
97
+ "name": "receiver",
98
+ "type": "address"
99
+ }
100
+ ],
101
+ "name": "ERC20InvalidReceiver",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [
106
+ {
107
+ "internalType": "address",
108
+ "name": "sender",
109
+ "type": "address"
110
+ }
111
+ ],
112
+ "name": "ERC20InvalidSender",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [
117
+ {
118
+ "internalType": "address",
119
+ "name": "spender",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "name": "ERC20InvalidSpender",
124
+ "type": "error"
125
+ },
126
+ {
127
+ "inputs": [
128
+ {
129
+ "internalType": "uint256",
130
+ "name": "deadline",
131
+ "type": "uint256"
132
+ }
133
+ ],
134
+ "name": "ERC2612ExpiredSignature",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [
139
+ {
140
+ "internalType": "address",
141
+ "name": "signer",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "internalType": "address",
146
+ "name": "owner",
147
+ "type": "address"
148
+ }
149
+ ],
150
+ "name": "ERC2612InvalidSigner",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [],
155
+ "name": "InsufficientEquity",
156
+ "type": "error"
157
+ },
158
+ {
159
+ "inputs": [
160
+ {
161
+ "internalType": "address",
162
+ "name": "account",
163
+ "type": "address"
164
+ },
165
+ {
166
+ "internalType": "uint256",
167
+ "name": "currentNonce",
168
+ "type": "uint256"
169
+ }
170
+ ],
171
+ "name": "InvalidAccountNonce",
172
+ "type": "error"
173
+ },
174
+ {
175
+ "inputs": [],
176
+ "name": "InvalidShortString",
177
+ "type": "error"
178
+ },
179
+ {
180
+ "inputs": [],
181
+ "name": "NotMinter",
182
+ "type": "error"
183
+ },
184
+ {
185
+ "inputs": [],
186
+ "name": "NotQualified",
187
+ "type": "error"
188
+ },
189
+ {
190
+ "inputs": [],
191
+ "name": "SameBlockRedemption",
192
+ "type": "error"
193
+ },
194
+ {
195
+ "inputs": [
196
+ {
197
+ "internalType": "string",
198
+ "name": "str",
199
+ "type": "string"
200
+ }
201
+ ],
202
+ "name": "StringTooLong",
203
+ "type": "error"
204
+ },
205
+ {
206
+ "inputs": [],
207
+ "name": "TooManyShares",
208
+ "type": "error"
209
+ },
210
+ {
211
+ "inputs": [],
212
+ "name": "TotalSupplyExceeded",
213
+ "type": "error"
214
+ },
215
+ {
216
+ "anonymous": false,
217
+ "inputs": [
218
+ {
219
+ "indexed": true,
220
+ "internalType": "address",
221
+ "name": "owner",
222
+ "type": "address"
223
+ },
224
+ {
225
+ "indexed": true,
226
+ "internalType": "address",
227
+ "name": "spender",
228
+ "type": "address"
229
+ },
230
+ {
231
+ "indexed": false,
232
+ "internalType": "uint256",
233
+ "name": "value",
234
+ "type": "uint256"
235
+ }
236
+ ],
237
+ "name": "Approval",
238
+ "type": "event"
239
+ },
240
+ {
241
+ "anonymous": false,
242
+ "inputs": [
243
+ {
244
+ "indexed": true,
245
+ "internalType": "address",
246
+ "name": "authorizer",
247
+ "type": "address"
248
+ },
249
+ {
250
+ "indexed": true,
251
+ "internalType": "bytes32",
252
+ "name": "nonce",
253
+ "type": "bytes32"
254
+ }
255
+ ],
256
+ "name": "AuthorizationCanceled",
257
+ "type": "event"
258
+ },
259
+ {
260
+ "anonymous": false,
261
+ "inputs": [
262
+ {
263
+ "indexed": true,
264
+ "internalType": "address",
265
+ "name": "authorizer",
266
+ "type": "address"
267
+ },
268
+ {
269
+ "indexed": true,
270
+ "internalType": "bytes32",
271
+ "name": "nonce",
272
+ "type": "bytes32"
273
+ }
274
+ ],
275
+ "name": "AuthorizationUsed",
276
+ "type": "event"
277
+ },
278
+ {
279
+ "anonymous": false,
280
+ "inputs": [
281
+ {
282
+ "indexed": true,
283
+ "internalType": "address",
284
+ "name": "from",
285
+ "type": "address"
286
+ },
287
+ {
288
+ "indexed": true,
289
+ "internalType": "address",
290
+ "name": "to",
291
+ "type": "address"
292
+ }
293
+ ],
294
+ "name": "Delegation",
295
+ "type": "event"
296
+ },
297
+ {
298
+ "anonymous": false,
299
+ "inputs": [],
300
+ "name": "EIP712DomainChanged",
301
+ "type": "event"
302
+ },
303
+ {
304
+ "anonymous": false,
305
+ "inputs": [
306
+ {
307
+ "indexed": false,
308
+ "internalType": "address",
309
+ "name": "who",
310
+ "type": "address"
311
+ },
312
+ {
313
+ "indexed": false,
314
+ "internalType": "int256",
315
+ "name": "amount",
316
+ "type": "int256"
317
+ },
318
+ {
319
+ "indexed": false,
320
+ "internalType": "uint256",
321
+ "name": "totPrice",
322
+ "type": "uint256"
323
+ },
324
+ {
325
+ "indexed": false,
326
+ "internalType": "uint256",
327
+ "name": "newprice",
328
+ "type": "uint256"
329
+ }
330
+ ],
331
+ "name": "Trade",
332
+ "type": "event"
333
+ },
334
+ {
335
+ "anonymous": false,
336
+ "inputs": [
337
+ {
338
+ "indexed": true,
339
+ "internalType": "address",
340
+ "name": "from",
341
+ "type": "address"
342
+ },
343
+ {
344
+ "indexed": true,
345
+ "internalType": "address",
346
+ "name": "to",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "indexed": false,
351
+ "internalType": "uint256",
352
+ "name": "value",
353
+ "type": "uint256"
354
+ }
355
+ ],
356
+ "name": "Transfer",
357
+ "type": "event"
358
+ },
359
+ {
360
+ "inputs": [],
361
+ "name": "CANCEL_AUTHORIZATION_TYPEHASH",
362
+ "outputs": [
363
+ {
364
+ "internalType": "bytes32",
365
+ "name": "",
366
+ "type": "bytes32"
367
+ }
368
+ ],
369
+ "stateMutability": "view",
370
+ "type": "function"
371
+ },
372
+ {
373
+ "inputs": [],
374
+ "name": "DOMAIN_SEPARATOR",
375
+ "outputs": [
376
+ {
377
+ "internalType": "bytes32",
378
+ "name": "",
379
+ "type": "bytes32"
380
+ }
381
+ ],
382
+ "stateMutability": "view",
383
+ "type": "function"
384
+ },
385
+ {
386
+ "inputs": [],
387
+ "name": "JUSD",
388
+ "outputs": [
389
+ {
390
+ "internalType": "contract JuiceDollar",
391
+ "name": "",
392
+ "type": "address"
393
+ }
394
+ ],
395
+ "stateMutability": "view",
396
+ "type": "function"
397
+ },
398
+ {
399
+ "inputs": [],
400
+ "name": "RECEIVE_WITH_AUTHORIZATION_TYPEHASH",
401
+ "outputs": [
402
+ {
403
+ "internalType": "bytes32",
404
+ "name": "",
405
+ "type": "bytes32"
406
+ }
407
+ ],
408
+ "stateMutability": "view",
409
+ "type": "function"
410
+ },
411
+ {
412
+ "inputs": [],
413
+ "name": "TRANSFER_WITH_AUTHORIZATION_TYPEHASH",
414
+ "outputs": [
415
+ {
416
+ "internalType": "bytes32",
417
+ "name": "",
418
+ "type": "bytes32"
419
+ }
420
+ ],
421
+ "stateMutability": "view",
422
+ "type": "function"
423
+ },
424
+ {
425
+ "inputs": [],
426
+ "name": "VALUATION_FACTOR",
427
+ "outputs": [
428
+ {
429
+ "internalType": "uint32",
430
+ "name": "",
431
+ "type": "uint32"
432
+ }
433
+ ],
434
+ "stateMutability": "view",
435
+ "type": "function"
436
+ },
437
+ {
438
+ "inputs": [
439
+ {
440
+ "internalType": "address",
441
+ "name": "owner",
442
+ "type": "address"
443
+ },
444
+ {
445
+ "internalType": "address",
446
+ "name": "spender",
447
+ "type": "address"
448
+ }
449
+ ],
450
+ "name": "allowance",
451
+ "outputs": [
452
+ {
453
+ "internalType": "uint256",
454
+ "name": "",
455
+ "type": "uint256"
456
+ }
457
+ ],
458
+ "stateMutability": "view",
459
+ "type": "function"
460
+ },
461
+ {
462
+ "inputs": [
463
+ {
464
+ "internalType": "address",
465
+ "name": "spender",
466
+ "type": "address"
467
+ },
468
+ {
469
+ "internalType": "uint256",
470
+ "name": "value",
471
+ "type": "uint256"
472
+ }
473
+ ],
474
+ "name": "approve",
475
+ "outputs": [
476
+ {
477
+ "internalType": "bool",
478
+ "name": "",
479
+ "type": "bool"
480
+ }
481
+ ],
482
+ "stateMutability": "nonpayable",
483
+ "type": "function"
484
+ },
485
+ {
486
+ "inputs": [
487
+ {
488
+ "internalType": "address",
489
+ "name": "authorizer",
490
+ "type": "address"
491
+ },
492
+ {
493
+ "internalType": "bytes32",
494
+ "name": "nonce",
495
+ "type": "bytes32"
496
+ }
497
+ ],
498
+ "name": "authorizationState",
499
+ "outputs": [
500
+ {
501
+ "internalType": "bool",
502
+ "name": "",
503
+ "type": "bool"
504
+ }
505
+ ],
506
+ "stateMutability": "view",
507
+ "type": "function"
508
+ },
509
+ {
510
+ "inputs": [
511
+ {
512
+ "internalType": "address",
513
+ "name": "account",
514
+ "type": "address"
515
+ }
516
+ ],
517
+ "name": "balanceOf",
518
+ "outputs": [
519
+ {
520
+ "internalType": "uint256",
521
+ "name": "",
522
+ "type": "uint256"
523
+ }
524
+ ],
525
+ "stateMutability": "view",
526
+ "type": "function"
527
+ },
528
+ {
529
+ "inputs": [
530
+ {
531
+ "internalType": "uint256",
532
+ "name": "shares",
533
+ "type": "uint256"
534
+ }
535
+ ],
536
+ "name": "calculateProceeds",
537
+ "outputs": [
538
+ {
539
+ "internalType": "uint256",
540
+ "name": "",
541
+ "type": "uint256"
542
+ }
543
+ ],
544
+ "stateMutability": "view",
545
+ "type": "function"
546
+ },
547
+ {
548
+ "inputs": [
549
+ {
550
+ "internalType": "uint256",
551
+ "name": "investment",
552
+ "type": "uint256"
553
+ }
554
+ ],
555
+ "name": "calculateShares",
556
+ "outputs": [
557
+ {
558
+ "internalType": "uint256",
559
+ "name": "",
560
+ "type": "uint256"
561
+ }
562
+ ],
563
+ "stateMutability": "view",
564
+ "type": "function"
565
+ },
566
+ {
567
+ "inputs": [
568
+ {
569
+ "internalType": "address",
570
+ "name": "authorizer",
571
+ "type": "address"
572
+ },
573
+ {
574
+ "internalType": "bytes32",
575
+ "name": "nonce",
576
+ "type": "bytes32"
577
+ },
578
+ {
579
+ "internalType": "uint8",
580
+ "name": "v",
581
+ "type": "uint8"
582
+ },
583
+ {
584
+ "internalType": "bytes32",
585
+ "name": "r",
586
+ "type": "bytes32"
587
+ },
588
+ {
589
+ "internalType": "bytes32",
590
+ "name": "s",
591
+ "type": "bytes32"
592
+ }
593
+ ],
594
+ "name": "cancelAuthorization",
595
+ "outputs": [],
596
+ "stateMutability": "nonpayable",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [
601
+ {
602
+ "internalType": "address",
603
+ "name": "sender",
604
+ "type": "address"
605
+ },
606
+ {
607
+ "internalType": "address[]",
608
+ "name": "helpers",
609
+ "type": "address[]"
610
+ }
611
+ ],
612
+ "name": "checkQualified",
613
+ "outputs": [],
614
+ "stateMutability": "view",
615
+ "type": "function"
616
+ },
617
+ {
618
+ "inputs": [],
619
+ "name": "decimals",
620
+ "outputs": [
621
+ {
622
+ "internalType": "uint8",
623
+ "name": "",
624
+ "type": "uint8"
625
+ }
626
+ ],
627
+ "stateMutability": "view",
628
+ "type": "function"
629
+ },
630
+ {
631
+ "inputs": [
632
+ {
633
+ "internalType": "address",
634
+ "name": "delegate",
635
+ "type": "address"
636
+ }
637
+ ],
638
+ "name": "delegateVoteTo",
639
+ "outputs": [],
640
+ "stateMutability": "nonpayable",
641
+ "type": "function"
642
+ },
643
+ {
644
+ "inputs": [
645
+ {
646
+ "internalType": "address",
647
+ "name": "owner",
648
+ "type": "address"
649
+ }
650
+ ],
651
+ "name": "delegates",
652
+ "outputs": [
653
+ {
654
+ "internalType": "address",
655
+ "name": "delegate",
656
+ "type": "address"
657
+ }
658
+ ],
659
+ "stateMutability": "view",
660
+ "type": "function"
661
+ },
662
+ {
663
+ "inputs": [],
664
+ "name": "eip712Domain",
665
+ "outputs": [
666
+ {
667
+ "internalType": "bytes1",
668
+ "name": "fields",
669
+ "type": "bytes1"
670
+ },
671
+ {
672
+ "internalType": "string",
673
+ "name": "name",
674
+ "type": "string"
675
+ },
676
+ {
677
+ "internalType": "string",
678
+ "name": "version",
679
+ "type": "string"
680
+ },
681
+ {
682
+ "internalType": "uint256",
683
+ "name": "chainId",
684
+ "type": "uint256"
685
+ },
686
+ {
687
+ "internalType": "address",
688
+ "name": "verifyingContract",
689
+ "type": "address"
690
+ },
691
+ {
692
+ "internalType": "bytes32",
693
+ "name": "salt",
694
+ "type": "bytes32"
695
+ },
696
+ {
697
+ "internalType": "uint256[]",
698
+ "name": "extensions",
699
+ "type": "uint256[]"
700
+ }
701
+ ],
702
+ "stateMutability": "view",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [
707
+ {
708
+ "internalType": "address",
709
+ "name": "holder",
710
+ "type": "address"
711
+ }
712
+ ],
713
+ "name": "holdingDuration",
714
+ "outputs": [
715
+ {
716
+ "internalType": "uint256",
717
+ "name": "",
718
+ "type": "uint256"
719
+ }
720
+ ],
721
+ "stateMutability": "view",
722
+ "type": "function"
723
+ },
724
+ {
725
+ "inputs": [
726
+ {
727
+ "internalType": "uint256",
728
+ "name": "amount",
729
+ "type": "uint256"
730
+ },
731
+ {
732
+ "internalType": "uint256",
733
+ "name": "expectedShares",
734
+ "type": "uint256"
735
+ }
736
+ ],
737
+ "name": "invest",
738
+ "outputs": [
739
+ {
740
+ "internalType": "uint256",
741
+ "name": "",
742
+ "type": "uint256"
743
+ }
744
+ ],
745
+ "stateMutability": "nonpayable",
746
+ "type": "function"
747
+ },
748
+ {
749
+ "inputs": [
750
+ {
751
+ "internalType": "address",
752
+ "name": "investor",
753
+ "type": "address"
754
+ },
755
+ {
756
+ "internalType": "uint256",
757
+ "name": "amount",
758
+ "type": "uint256"
759
+ },
760
+ {
761
+ "internalType": "uint256",
762
+ "name": "expectedShares",
763
+ "type": "uint256"
764
+ }
765
+ ],
766
+ "name": "investFor",
767
+ "outputs": [
768
+ {
769
+ "internalType": "uint256",
770
+ "name": "",
771
+ "type": "uint256"
772
+ }
773
+ ],
774
+ "stateMutability": "nonpayable",
775
+ "type": "function"
776
+ },
777
+ {
778
+ "inputs": [
779
+ {
780
+ "internalType": "address[]",
781
+ "name": "targets",
782
+ "type": "address[]"
783
+ },
784
+ {
785
+ "internalType": "uint256",
786
+ "name": "votesToDestroy",
787
+ "type": "uint256"
788
+ }
789
+ ],
790
+ "name": "kamikaze",
791
+ "outputs": [],
792
+ "stateMutability": "nonpayable",
793
+ "type": "function"
794
+ },
795
+ {
796
+ "inputs": [
797
+ {
798
+ "internalType": "address",
799
+ "name": "owner",
800
+ "type": "address"
801
+ }
802
+ ],
803
+ "name": "lastInboundBlock",
804
+ "outputs": [
805
+ {
806
+ "internalType": "uint256",
807
+ "name": "blockNumber",
808
+ "type": "uint256"
809
+ }
810
+ ],
811
+ "stateMutability": "view",
812
+ "type": "function"
813
+ },
814
+ {
815
+ "inputs": [],
816
+ "name": "name",
817
+ "outputs": [
818
+ {
819
+ "internalType": "string",
820
+ "name": "",
821
+ "type": "string"
822
+ }
823
+ ],
824
+ "stateMutability": "view",
825
+ "type": "function"
826
+ },
827
+ {
828
+ "inputs": [
829
+ {
830
+ "internalType": "address",
831
+ "name": "owner",
832
+ "type": "address"
833
+ }
834
+ ],
835
+ "name": "nonces",
836
+ "outputs": [
837
+ {
838
+ "internalType": "uint256",
839
+ "name": "",
840
+ "type": "uint256"
841
+ }
842
+ ],
843
+ "stateMutability": "view",
844
+ "type": "function"
845
+ },
846
+ {
847
+ "inputs": [
848
+ {
849
+ "internalType": "address",
850
+ "name": "owner",
851
+ "type": "address"
852
+ },
853
+ {
854
+ "internalType": "address",
855
+ "name": "spender",
856
+ "type": "address"
857
+ },
858
+ {
859
+ "internalType": "uint256",
860
+ "name": "value",
861
+ "type": "uint256"
862
+ },
863
+ {
864
+ "internalType": "uint256",
865
+ "name": "deadline",
866
+ "type": "uint256"
867
+ },
868
+ {
869
+ "internalType": "uint8",
870
+ "name": "v",
871
+ "type": "uint8"
872
+ },
873
+ {
874
+ "internalType": "bytes32",
875
+ "name": "r",
876
+ "type": "bytes32"
877
+ },
878
+ {
879
+ "internalType": "bytes32",
880
+ "name": "s",
881
+ "type": "bytes32"
882
+ }
883
+ ],
884
+ "name": "permit",
885
+ "outputs": [],
886
+ "stateMutability": "nonpayable",
887
+ "type": "function"
888
+ },
889
+ {
890
+ "inputs": [],
891
+ "name": "price",
892
+ "outputs": [
893
+ {
894
+ "internalType": "uint256",
895
+ "name": "",
896
+ "type": "uint256"
897
+ }
898
+ ],
899
+ "stateMutability": "view",
900
+ "type": "function"
901
+ },
902
+ {
903
+ "inputs": [
904
+ {
905
+ "internalType": "address",
906
+ "name": "from",
907
+ "type": "address"
908
+ },
909
+ {
910
+ "internalType": "address",
911
+ "name": "to",
912
+ "type": "address"
913
+ },
914
+ {
915
+ "internalType": "uint256",
916
+ "name": "value",
917
+ "type": "uint256"
918
+ },
919
+ {
920
+ "internalType": "uint256",
921
+ "name": "validAfter",
922
+ "type": "uint256"
923
+ },
924
+ {
925
+ "internalType": "uint256",
926
+ "name": "validBefore",
927
+ "type": "uint256"
928
+ },
929
+ {
930
+ "internalType": "bytes32",
931
+ "name": "nonce",
932
+ "type": "bytes32"
933
+ },
934
+ {
935
+ "internalType": "uint8",
936
+ "name": "v",
937
+ "type": "uint8"
938
+ },
939
+ {
940
+ "internalType": "bytes32",
941
+ "name": "r",
942
+ "type": "bytes32"
943
+ },
944
+ {
945
+ "internalType": "bytes32",
946
+ "name": "s",
947
+ "type": "bytes32"
948
+ }
949
+ ],
950
+ "name": "receiveWithAuthorization",
951
+ "outputs": [],
952
+ "stateMutability": "nonpayable",
953
+ "type": "function"
954
+ },
955
+ {
956
+ "inputs": [
957
+ {
958
+ "internalType": "address",
959
+ "name": "target",
960
+ "type": "address"
961
+ },
962
+ {
963
+ "internalType": "uint256",
964
+ "name": "shares",
965
+ "type": "uint256"
966
+ }
967
+ ],
968
+ "name": "redeem",
969
+ "outputs": [
970
+ {
971
+ "internalType": "uint256",
972
+ "name": "",
973
+ "type": "uint256"
974
+ }
975
+ ],
976
+ "stateMutability": "nonpayable",
977
+ "type": "function"
978
+ },
979
+ {
980
+ "inputs": [
981
+ {
982
+ "internalType": "address",
983
+ "name": "target",
984
+ "type": "address"
985
+ },
986
+ {
987
+ "internalType": "uint256",
988
+ "name": "shares",
989
+ "type": "uint256"
990
+ },
991
+ {
992
+ "internalType": "uint256",
993
+ "name": "expectedProceeds",
994
+ "type": "uint256"
995
+ }
996
+ ],
997
+ "name": "redeemExpected",
998
+ "outputs": [
999
+ {
1000
+ "internalType": "uint256",
1001
+ "name": "",
1002
+ "type": "uint256"
1003
+ }
1004
+ ],
1005
+ "stateMutability": "nonpayable",
1006
+ "type": "function"
1007
+ },
1008
+ {
1009
+ "inputs": [
1010
+ {
1011
+ "internalType": "address",
1012
+ "name": "owner",
1013
+ "type": "address"
1014
+ },
1015
+ {
1016
+ "internalType": "address",
1017
+ "name": "target",
1018
+ "type": "address"
1019
+ },
1020
+ {
1021
+ "internalType": "uint256",
1022
+ "name": "shares",
1023
+ "type": "uint256"
1024
+ },
1025
+ {
1026
+ "internalType": "uint256",
1027
+ "name": "expectedProceeds",
1028
+ "type": "uint256"
1029
+ }
1030
+ ],
1031
+ "name": "redeemFrom",
1032
+ "outputs": [
1033
+ {
1034
+ "internalType": "uint256",
1035
+ "name": "",
1036
+ "type": "uint256"
1037
+ }
1038
+ ],
1039
+ "stateMutability": "nonpayable",
1040
+ "type": "function"
1041
+ },
1042
+ {
1043
+ "inputs": [
1044
+ {
1045
+ "internalType": "address",
1046
+ "name": "holder",
1047
+ "type": "address"
1048
+ }
1049
+ ],
1050
+ "name": "relativeVotes",
1051
+ "outputs": [
1052
+ {
1053
+ "internalType": "uint256",
1054
+ "name": "",
1055
+ "type": "uint256"
1056
+ }
1057
+ ],
1058
+ "stateMutability": "view",
1059
+ "type": "function"
1060
+ },
1061
+ {
1062
+ "inputs": [
1063
+ {
1064
+ "internalType": "address[]",
1065
+ "name": "helpers",
1066
+ "type": "address[]"
1067
+ },
1068
+ {
1069
+ "internalType": "address[]",
1070
+ "name": "addressesToWipe",
1071
+ "type": "address[]"
1072
+ }
1073
+ ],
1074
+ "name": "restructureCapTable",
1075
+ "outputs": [],
1076
+ "stateMutability": "nonpayable",
1077
+ "type": "function"
1078
+ },
1079
+ {
1080
+ "inputs": [
1081
+ {
1082
+ "internalType": "bytes4",
1083
+ "name": "interfaceId",
1084
+ "type": "bytes4"
1085
+ }
1086
+ ],
1087
+ "name": "supportsInterface",
1088
+ "outputs": [
1089
+ {
1090
+ "internalType": "bool",
1091
+ "name": "",
1092
+ "type": "bool"
1093
+ }
1094
+ ],
1095
+ "stateMutability": "view",
1096
+ "type": "function"
1097
+ },
1098
+ {
1099
+ "inputs": [],
1100
+ "name": "symbol",
1101
+ "outputs": [
1102
+ {
1103
+ "internalType": "string",
1104
+ "name": "",
1105
+ "type": "string"
1106
+ }
1107
+ ],
1108
+ "stateMutability": "view",
1109
+ "type": "function"
1110
+ },
1111
+ {
1112
+ "inputs": [],
1113
+ "name": "totalSupply",
1114
+ "outputs": [
1115
+ {
1116
+ "internalType": "uint256",
1117
+ "name": "",
1118
+ "type": "uint256"
1119
+ }
1120
+ ],
1121
+ "stateMutability": "view",
1122
+ "type": "function"
1123
+ },
1124
+ {
1125
+ "inputs": [],
1126
+ "name": "totalVotes",
1127
+ "outputs": [
1128
+ {
1129
+ "internalType": "uint256",
1130
+ "name": "",
1131
+ "type": "uint256"
1132
+ }
1133
+ ],
1134
+ "stateMutability": "view",
1135
+ "type": "function"
1136
+ },
1137
+ {
1138
+ "inputs": [
1139
+ {
1140
+ "internalType": "address",
1141
+ "name": "to",
1142
+ "type": "address"
1143
+ },
1144
+ {
1145
+ "internalType": "uint256",
1146
+ "name": "value",
1147
+ "type": "uint256"
1148
+ }
1149
+ ],
1150
+ "name": "transfer",
1151
+ "outputs": [
1152
+ {
1153
+ "internalType": "bool",
1154
+ "name": "",
1155
+ "type": "bool"
1156
+ }
1157
+ ],
1158
+ "stateMutability": "nonpayable",
1159
+ "type": "function"
1160
+ },
1161
+ {
1162
+ "inputs": [
1163
+ {
1164
+ "internalType": "address",
1165
+ "name": "from",
1166
+ "type": "address"
1167
+ },
1168
+ {
1169
+ "internalType": "address",
1170
+ "name": "to",
1171
+ "type": "address"
1172
+ },
1173
+ {
1174
+ "internalType": "uint256",
1175
+ "name": "value",
1176
+ "type": "uint256"
1177
+ }
1178
+ ],
1179
+ "name": "transferFrom",
1180
+ "outputs": [
1181
+ {
1182
+ "internalType": "bool",
1183
+ "name": "",
1184
+ "type": "bool"
1185
+ }
1186
+ ],
1187
+ "stateMutability": "nonpayable",
1188
+ "type": "function"
1189
+ },
1190
+ {
1191
+ "inputs": [
1192
+ {
1193
+ "internalType": "address",
1194
+ "name": "from",
1195
+ "type": "address"
1196
+ },
1197
+ {
1198
+ "internalType": "address",
1199
+ "name": "to",
1200
+ "type": "address"
1201
+ },
1202
+ {
1203
+ "internalType": "uint256",
1204
+ "name": "value",
1205
+ "type": "uint256"
1206
+ },
1207
+ {
1208
+ "internalType": "uint256",
1209
+ "name": "validAfter",
1210
+ "type": "uint256"
1211
+ },
1212
+ {
1213
+ "internalType": "uint256",
1214
+ "name": "validBefore",
1215
+ "type": "uint256"
1216
+ },
1217
+ {
1218
+ "internalType": "bytes32",
1219
+ "name": "nonce",
1220
+ "type": "bytes32"
1221
+ },
1222
+ {
1223
+ "internalType": "uint8",
1224
+ "name": "v",
1225
+ "type": "uint8"
1226
+ },
1227
+ {
1228
+ "internalType": "bytes32",
1229
+ "name": "r",
1230
+ "type": "bytes32"
1231
+ },
1232
+ {
1233
+ "internalType": "bytes32",
1234
+ "name": "s",
1235
+ "type": "bytes32"
1236
+ }
1237
+ ],
1238
+ "name": "transferWithAuthorization",
1239
+ "outputs": [],
1240
+ "stateMutability": "nonpayable",
1241
+ "type": "function"
1242
+ },
1243
+ {
1244
+ "inputs": [
1245
+ {
1246
+ "internalType": "address",
1247
+ "name": "holder",
1248
+ "type": "address"
1249
+ }
1250
+ ],
1251
+ "name": "votes",
1252
+ "outputs": [
1253
+ {
1254
+ "internalType": "uint256",
1255
+ "name": "",
1256
+ "type": "uint256"
1257
+ }
1258
+ ],
1259
+ "stateMutability": "view",
1260
+ "type": "function"
1261
+ },
1262
+ {
1263
+ "inputs": [
1264
+ {
1265
+ "internalType": "address",
1266
+ "name": "sender",
1267
+ "type": "address"
1268
+ },
1269
+ {
1270
+ "internalType": "address[]",
1271
+ "name": "helpers",
1272
+ "type": "address[]"
1273
+ }
1274
+ ],
1275
+ "name": "votesDelegated",
1276
+ "outputs": [
1277
+ {
1278
+ "internalType": "uint256",
1279
+ "name": "",
1280
+ "type": "uint256"
1281
+ }
1282
+ ],
1283
+ "stateMutability": "view",
1284
+ "type": "function"
1285
+ }
1286
+ ] as const;