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