@ensuro/core 2.8.1 → 2.8.3

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 (44) hide show
  1. package/build/contracts/AccessManager.sol/AccessManager.json +618 -0
  2. package/build/contracts/ERC4626AssetManager.sol/ERC4626AssetManager.json +238 -0
  3. package/build/contracts/ERC4626PlusVaultAssetManager.sol/ERC4626PlusVaultAssetManager.json +269 -0
  4. package/build/contracts/EToken.sol/EToken.json +1287 -0
  5. package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +657 -0
  6. package/build/contracts/LiquidityThresholdAssetManager.sol/LiquidityThresholdAssetManager.json +222 -0
  7. package/build/contracts/Policy.sol/Policy.json +10 -0
  8. package/build/contracts/PolicyPool.sol/PolicyPool.json +1775 -0
  9. package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +342 -0
  10. package/build/contracts/PremiumsAccount.sol/PremiumsAccount.json +1142 -0
  11. package/build/contracts/Reserve.sol/Reserve.json +413 -0
  12. package/build/contracts/RiskModule.sol/RiskModule.json +589 -0
  13. package/build/contracts/SignedBucketRiskModule.sol/SignedBucketRiskModule.json +1251 -0
  14. package/build/contracts/SignedQuoteRiskModule.sol/SignedQuoteRiskModule.json +1145 -0
  15. package/build/contracts/TimeScaled.sol/TimeScaled.json +10 -0
  16. package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +1143 -0
  17. package/build/contracts/dependencies/WadRayMath.sol/WadRayMath.json +10 -0
  18. package/build/contracts/interfaces/IAccessManager.sol/IAccessManager.json +343 -0
  19. package/build/contracts/interfaces/IAssetManager.sol/IAssetManager.json +128 -0
  20. package/build/contracts/interfaces/IEToken.sol/IEToken.json +460 -0
  21. package/build/contracts/interfaces/ILPWhitelist.sol/ILPWhitelist.json +103 -0
  22. package/build/contracts/interfaces/IPolicyHolder.sol/IPolicyHolder.json +108 -0
  23. package/build/contracts/interfaces/IPolicyHolderV2.sol/IPolicyHolderV2.json +142 -0
  24. package/build/contracts/interfaces/IPolicyPool.sol/IPolicyPool.json +820 -0
  25. package/build/contracts/interfaces/IPolicyPoolComponent.sol/IPolicyPoolComponent.json +43 -0
  26. package/build/contracts/interfaces/IPremiumsAccount.sol/IPremiumsAccount.json +477 -0
  27. package/build/contracts/interfaces/IRiskModule.sol/IRiskModule.json +165 -0
  28. package/build/contracts/migration/LPManualWhitelistV20.sol/LPManualWhitelistV20.json +491 -0
  29. package/build/contracts/migration/LPManualWhitelistV20Upgraded.sol/LPManualWhitelistV20Upgraded.json +502 -0
  30. package/build/contracts/mocks/FixedRateVault.sol/FixedRateVault.json +736 -0
  31. package/build/contracts/mocks/ForwardProxy.sol/ForwardProxy.json +43 -0
  32. package/build/contracts/mocks/IMintableERC20.sol/IMintableERC20.json +47 -0
  33. package/build/contracts/mocks/InterfaceIdCalculator.sol/InterfaceIdCalculator.json +193 -0
  34. package/build/contracts/mocks/PolicyHolderMock.sol/PolicyHolderMock.json +457 -0
  35. package/build/contracts/mocks/PolicyPoolComponentMock.sol/PolicyPoolComponentMock.json +54 -0
  36. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMock.json +929 -0
  37. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMockForward.json +92 -0
  38. package/build/contracts/mocks/RiskModuleMock.sol/RiskModuleMock.json +1316 -0
  39. package/build/contracts/mocks/TestCurrency.sol/TestCurrency.json +343 -0
  40. package/build/contracts/mocks/TestNFT.sol/TestNFT.json +388 -0
  41. package/contracts/ERC4626AssetManager.sol +6 -5
  42. package/contracts/ERC4626PlusVaultAssetManager.sol +105 -0
  43. package/js/deploy.js +6 -25
  44. package/package.json +3 -5
@@ -0,0 +1,820 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IPolicyPool",
4
+ "sourceName": "contracts/interfaces/IPolicyPool.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "contract IRiskModule",
12
+ "name": "riskModule",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "components": [
17
+ {
18
+ "internalType": "uint256",
19
+ "name": "id",
20
+ "type": "uint256"
21
+ },
22
+ {
23
+ "internalType": "uint256",
24
+ "name": "payout",
25
+ "type": "uint256"
26
+ },
27
+ {
28
+ "internalType": "uint256",
29
+ "name": "premium",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "internalType": "uint256",
34
+ "name": "jrScr",
35
+ "type": "uint256"
36
+ },
37
+ {
38
+ "internalType": "uint256",
39
+ "name": "srScr",
40
+ "type": "uint256"
41
+ },
42
+ {
43
+ "internalType": "uint256",
44
+ "name": "lossProb",
45
+ "type": "uint256"
46
+ },
47
+ {
48
+ "internalType": "uint256",
49
+ "name": "purePremium",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "internalType": "uint256",
54
+ "name": "ensuroCommission",
55
+ "type": "uint256"
56
+ },
57
+ {
58
+ "internalType": "uint256",
59
+ "name": "partnerCommission",
60
+ "type": "uint256"
61
+ },
62
+ {
63
+ "internalType": "uint256",
64
+ "name": "jrCoc",
65
+ "type": "uint256"
66
+ },
67
+ {
68
+ "internalType": "uint256",
69
+ "name": "srCoc",
70
+ "type": "uint256"
71
+ },
72
+ {
73
+ "internalType": "contract IRiskModule",
74
+ "name": "riskModule",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "internalType": "uint40",
79
+ "name": "start",
80
+ "type": "uint40"
81
+ },
82
+ {
83
+ "internalType": "uint40",
84
+ "name": "expiration",
85
+ "type": "uint40"
86
+ }
87
+ ],
88
+ "indexed": false,
89
+ "internalType": "struct Policy.PolicyData",
90
+ "name": "policy",
91
+ "type": "tuple"
92
+ }
93
+ ],
94
+ "name": "NewPolicy",
95
+ "type": "event"
96
+ },
97
+ {
98
+ "anonymous": false,
99
+ "inputs": [
100
+ {
101
+ "indexed": true,
102
+ "internalType": "contract IRiskModule",
103
+ "name": "riskModule",
104
+ "type": "address"
105
+ },
106
+ {
107
+ "indexed": true,
108
+ "internalType": "uint256",
109
+ "name": "oldPolicyId",
110
+ "type": "uint256"
111
+ },
112
+ {
113
+ "indexed": true,
114
+ "internalType": "uint256",
115
+ "name": "newPolicyId",
116
+ "type": "uint256"
117
+ }
118
+ ],
119
+ "name": "PolicyReplaced",
120
+ "type": "event"
121
+ },
122
+ {
123
+ "anonymous": false,
124
+ "inputs": [
125
+ {
126
+ "indexed": true,
127
+ "internalType": "contract IRiskModule",
128
+ "name": "riskModule",
129
+ "type": "address"
130
+ },
131
+ {
132
+ "indexed": true,
133
+ "internalType": "uint256",
134
+ "name": "policyId",
135
+ "type": "uint256"
136
+ },
137
+ {
138
+ "indexed": false,
139
+ "internalType": "uint256",
140
+ "name": "payout",
141
+ "type": "uint256"
142
+ }
143
+ ],
144
+ "name": "PolicyResolved",
145
+ "type": "event"
146
+ },
147
+ {
148
+ "inputs": [],
149
+ "name": "access",
150
+ "outputs": [
151
+ {
152
+ "internalType": "contract IAccessManager",
153
+ "name": "",
154
+ "type": "address"
155
+ }
156
+ ],
157
+ "stateMutability": "view",
158
+ "type": "function"
159
+ },
160
+ {
161
+ "inputs": [],
162
+ "name": "currency",
163
+ "outputs": [
164
+ {
165
+ "internalType": "contract IERC20Metadata",
166
+ "name": "",
167
+ "type": "address"
168
+ }
169
+ ],
170
+ "stateMutability": "view",
171
+ "type": "function"
172
+ },
173
+ {
174
+ "inputs": [
175
+ {
176
+ "internalType": "contract IEToken",
177
+ "name": "eToken",
178
+ "type": "address"
179
+ },
180
+ {
181
+ "internalType": "uint256",
182
+ "name": "amount",
183
+ "type": "uint256"
184
+ }
185
+ ],
186
+ "name": "deposit",
187
+ "outputs": [],
188
+ "stateMutability": "nonpayable",
189
+ "type": "function"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "components": [
195
+ {
196
+ "internalType": "uint256",
197
+ "name": "id",
198
+ "type": "uint256"
199
+ },
200
+ {
201
+ "internalType": "uint256",
202
+ "name": "payout",
203
+ "type": "uint256"
204
+ },
205
+ {
206
+ "internalType": "uint256",
207
+ "name": "premium",
208
+ "type": "uint256"
209
+ },
210
+ {
211
+ "internalType": "uint256",
212
+ "name": "jrScr",
213
+ "type": "uint256"
214
+ },
215
+ {
216
+ "internalType": "uint256",
217
+ "name": "srScr",
218
+ "type": "uint256"
219
+ },
220
+ {
221
+ "internalType": "uint256",
222
+ "name": "lossProb",
223
+ "type": "uint256"
224
+ },
225
+ {
226
+ "internalType": "uint256",
227
+ "name": "purePremium",
228
+ "type": "uint256"
229
+ },
230
+ {
231
+ "internalType": "uint256",
232
+ "name": "ensuroCommission",
233
+ "type": "uint256"
234
+ },
235
+ {
236
+ "internalType": "uint256",
237
+ "name": "partnerCommission",
238
+ "type": "uint256"
239
+ },
240
+ {
241
+ "internalType": "uint256",
242
+ "name": "jrCoc",
243
+ "type": "uint256"
244
+ },
245
+ {
246
+ "internalType": "uint256",
247
+ "name": "srCoc",
248
+ "type": "uint256"
249
+ },
250
+ {
251
+ "internalType": "contract IRiskModule",
252
+ "name": "riskModule",
253
+ "type": "address"
254
+ },
255
+ {
256
+ "internalType": "uint40",
257
+ "name": "start",
258
+ "type": "uint40"
259
+ },
260
+ {
261
+ "internalType": "uint40",
262
+ "name": "expiration",
263
+ "type": "uint40"
264
+ }
265
+ ],
266
+ "internalType": "struct Policy.PolicyData",
267
+ "name": "policy",
268
+ "type": "tuple"
269
+ }
270
+ ],
271
+ "name": "expirePolicy",
272
+ "outputs": [],
273
+ "stateMutability": "nonpayable",
274
+ "type": "function"
275
+ },
276
+ {
277
+ "inputs": [
278
+ {
279
+ "internalType": "uint256",
280
+ "name": "policyId",
281
+ "type": "uint256"
282
+ }
283
+ ],
284
+ "name": "getPolicyHash",
285
+ "outputs": [
286
+ {
287
+ "internalType": "bytes32",
288
+ "name": "",
289
+ "type": "bytes32"
290
+ }
291
+ ],
292
+ "stateMutability": "view",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [
297
+ {
298
+ "internalType": "uint256",
299
+ "name": "policyId",
300
+ "type": "uint256"
301
+ }
302
+ ],
303
+ "name": "isActive",
304
+ "outputs": [
305
+ {
306
+ "internalType": "bool",
307
+ "name": "",
308
+ "type": "bool"
309
+ }
310
+ ],
311
+ "stateMutability": "view",
312
+ "type": "function"
313
+ },
314
+ {
315
+ "inputs": [
316
+ {
317
+ "components": [
318
+ {
319
+ "internalType": "uint256",
320
+ "name": "id",
321
+ "type": "uint256"
322
+ },
323
+ {
324
+ "internalType": "uint256",
325
+ "name": "payout",
326
+ "type": "uint256"
327
+ },
328
+ {
329
+ "internalType": "uint256",
330
+ "name": "premium",
331
+ "type": "uint256"
332
+ },
333
+ {
334
+ "internalType": "uint256",
335
+ "name": "jrScr",
336
+ "type": "uint256"
337
+ },
338
+ {
339
+ "internalType": "uint256",
340
+ "name": "srScr",
341
+ "type": "uint256"
342
+ },
343
+ {
344
+ "internalType": "uint256",
345
+ "name": "lossProb",
346
+ "type": "uint256"
347
+ },
348
+ {
349
+ "internalType": "uint256",
350
+ "name": "purePremium",
351
+ "type": "uint256"
352
+ },
353
+ {
354
+ "internalType": "uint256",
355
+ "name": "ensuroCommission",
356
+ "type": "uint256"
357
+ },
358
+ {
359
+ "internalType": "uint256",
360
+ "name": "partnerCommission",
361
+ "type": "uint256"
362
+ },
363
+ {
364
+ "internalType": "uint256",
365
+ "name": "jrCoc",
366
+ "type": "uint256"
367
+ },
368
+ {
369
+ "internalType": "uint256",
370
+ "name": "srCoc",
371
+ "type": "uint256"
372
+ },
373
+ {
374
+ "internalType": "contract IRiskModule",
375
+ "name": "riskModule",
376
+ "type": "address"
377
+ },
378
+ {
379
+ "internalType": "uint40",
380
+ "name": "start",
381
+ "type": "uint40"
382
+ },
383
+ {
384
+ "internalType": "uint40",
385
+ "name": "expiration",
386
+ "type": "uint40"
387
+ }
388
+ ],
389
+ "internalType": "struct Policy.PolicyData",
390
+ "name": "policy",
391
+ "type": "tuple"
392
+ },
393
+ {
394
+ "internalType": "address",
395
+ "name": "payer",
396
+ "type": "address"
397
+ },
398
+ {
399
+ "internalType": "address",
400
+ "name": "policyHolder",
401
+ "type": "address"
402
+ },
403
+ {
404
+ "internalType": "uint96",
405
+ "name": "internalId",
406
+ "type": "uint96"
407
+ }
408
+ ],
409
+ "name": "newPolicy",
410
+ "outputs": [
411
+ {
412
+ "internalType": "uint256",
413
+ "name": "",
414
+ "type": "uint256"
415
+ }
416
+ ],
417
+ "stateMutability": "nonpayable",
418
+ "type": "function"
419
+ },
420
+ {
421
+ "inputs": [
422
+ {
423
+ "components": [
424
+ {
425
+ "internalType": "uint256",
426
+ "name": "id",
427
+ "type": "uint256"
428
+ },
429
+ {
430
+ "internalType": "uint256",
431
+ "name": "payout",
432
+ "type": "uint256"
433
+ },
434
+ {
435
+ "internalType": "uint256",
436
+ "name": "premium",
437
+ "type": "uint256"
438
+ },
439
+ {
440
+ "internalType": "uint256",
441
+ "name": "jrScr",
442
+ "type": "uint256"
443
+ },
444
+ {
445
+ "internalType": "uint256",
446
+ "name": "srScr",
447
+ "type": "uint256"
448
+ },
449
+ {
450
+ "internalType": "uint256",
451
+ "name": "lossProb",
452
+ "type": "uint256"
453
+ },
454
+ {
455
+ "internalType": "uint256",
456
+ "name": "purePremium",
457
+ "type": "uint256"
458
+ },
459
+ {
460
+ "internalType": "uint256",
461
+ "name": "ensuroCommission",
462
+ "type": "uint256"
463
+ },
464
+ {
465
+ "internalType": "uint256",
466
+ "name": "partnerCommission",
467
+ "type": "uint256"
468
+ },
469
+ {
470
+ "internalType": "uint256",
471
+ "name": "jrCoc",
472
+ "type": "uint256"
473
+ },
474
+ {
475
+ "internalType": "uint256",
476
+ "name": "srCoc",
477
+ "type": "uint256"
478
+ },
479
+ {
480
+ "internalType": "contract IRiskModule",
481
+ "name": "riskModule",
482
+ "type": "address"
483
+ },
484
+ {
485
+ "internalType": "uint40",
486
+ "name": "start",
487
+ "type": "uint40"
488
+ },
489
+ {
490
+ "internalType": "uint40",
491
+ "name": "expiration",
492
+ "type": "uint40"
493
+ }
494
+ ],
495
+ "internalType": "struct Policy.PolicyData",
496
+ "name": "oldPolicy",
497
+ "type": "tuple"
498
+ },
499
+ {
500
+ "components": [
501
+ {
502
+ "internalType": "uint256",
503
+ "name": "id",
504
+ "type": "uint256"
505
+ },
506
+ {
507
+ "internalType": "uint256",
508
+ "name": "payout",
509
+ "type": "uint256"
510
+ },
511
+ {
512
+ "internalType": "uint256",
513
+ "name": "premium",
514
+ "type": "uint256"
515
+ },
516
+ {
517
+ "internalType": "uint256",
518
+ "name": "jrScr",
519
+ "type": "uint256"
520
+ },
521
+ {
522
+ "internalType": "uint256",
523
+ "name": "srScr",
524
+ "type": "uint256"
525
+ },
526
+ {
527
+ "internalType": "uint256",
528
+ "name": "lossProb",
529
+ "type": "uint256"
530
+ },
531
+ {
532
+ "internalType": "uint256",
533
+ "name": "purePremium",
534
+ "type": "uint256"
535
+ },
536
+ {
537
+ "internalType": "uint256",
538
+ "name": "ensuroCommission",
539
+ "type": "uint256"
540
+ },
541
+ {
542
+ "internalType": "uint256",
543
+ "name": "partnerCommission",
544
+ "type": "uint256"
545
+ },
546
+ {
547
+ "internalType": "uint256",
548
+ "name": "jrCoc",
549
+ "type": "uint256"
550
+ },
551
+ {
552
+ "internalType": "uint256",
553
+ "name": "srCoc",
554
+ "type": "uint256"
555
+ },
556
+ {
557
+ "internalType": "contract IRiskModule",
558
+ "name": "riskModule",
559
+ "type": "address"
560
+ },
561
+ {
562
+ "internalType": "uint40",
563
+ "name": "start",
564
+ "type": "uint40"
565
+ },
566
+ {
567
+ "internalType": "uint40",
568
+ "name": "expiration",
569
+ "type": "uint40"
570
+ }
571
+ ],
572
+ "internalType": "struct Policy.PolicyData",
573
+ "name": "newPolicy_",
574
+ "type": "tuple"
575
+ },
576
+ {
577
+ "internalType": "address",
578
+ "name": "payer",
579
+ "type": "address"
580
+ },
581
+ {
582
+ "internalType": "uint96",
583
+ "name": "internalId",
584
+ "type": "uint96"
585
+ }
586
+ ],
587
+ "name": "replacePolicy",
588
+ "outputs": [
589
+ {
590
+ "internalType": "uint256",
591
+ "name": "",
592
+ "type": "uint256"
593
+ }
594
+ ],
595
+ "stateMutability": "nonpayable",
596
+ "type": "function"
597
+ },
598
+ {
599
+ "inputs": [
600
+ {
601
+ "components": [
602
+ {
603
+ "internalType": "uint256",
604
+ "name": "id",
605
+ "type": "uint256"
606
+ },
607
+ {
608
+ "internalType": "uint256",
609
+ "name": "payout",
610
+ "type": "uint256"
611
+ },
612
+ {
613
+ "internalType": "uint256",
614
+ "name": "premium",
615
+ "type": "uint256"
616
+ },
617
+ {
618
+ "internalType": "uint256",
619
+ "name": "jrScr",
620
+ "type": "uint256"
621
+ },
622
+ {
623
+ "internalType": "uint256",
624
+ "name": "srScr",
625
+ "type": "uint256"
626
+ },
627
+ {
628
+ "internalType": "uint256",
629
+ "name": "lossProb",
630
+ "type": "uint256"
631
+ },
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "purePremium",
635
+ "type": "uint256"
636
+ },
637
+ {
638
+ "internalType": "uint256",
639
+ "name": "ensuroCommission",
640
+ "type": "uint256"
641
+ },
642
+ {
643
+ "internalType": "uint256",
644
+ "name": "partnerCommission",
645
+ "type": "uint256"
646
+ },
647
+ {
648
+ "internalType": "uint256",
649
+ "name": "jrCoc",
650
+ "type": "uint256"
651
+ },
652
+ {
653
+ "internalType": "uint256",
654
+ "name": "srCoc",
655
+ "type": "uint256"
656
+ },
657
+ {
658
+ "internalType": "contract IRiskModule",
659
+ "name": "riskModule",
660
+ "type": "address"
661
+ },
662
+ {
663
+ "internalType": "uint40",
664
+ "name": "start",
665
+ "type": "uint40"
666
+ },
667
+ {
668
+ "internalType": "uint40",
669
+ "name": "expiration",
670
+ "type": "uint40"
671
+ }
672
+ ],
673
+ "internalType": "struct Policy.PolicyData",
674
+ "name": "policy",
675
+ "type": "tuple"
676
+ },
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "payout",
680
+ "type": "uint256"
681
+ }
682
+ ],
683
+ "name": "resolvePolicy",
684
+ "outputs": [],
685
+ "stateMutability": "nonpayable",
686
+ "type": "function"
687
+ },
688
+ {
689
+ "inputs": [
690
+ {
691
+ "components": [
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "id",
695
+ "type": "uint256"
696
+ },
697
+ {
698
+ "internalType": "uint256",
699
+ "name": "payout",
700
+ "type": "uint256"
701
+ },
702
+ {
703
+ "internalType": "uint256",
704
+ "name": "premium",
705
+ "type": "uint256"
706
+ },
707
+ {
708
+ "internalType": "uint256",
709
+ "name": "jrScr",
710
+ "type": "uint256"
711
+ },
712
+ {
713
+ "internalType": "uint256",
714
+ "name": "srScr",
715
+ "type": "uint256"
716
+ },
717
+ {
718
+ "internalType": "uint256",
719
+ "name": "lossProb",
720
+ "type": "uint256"
721
+ },
722
+ {
723
+ "internalType": "uint256",
724
+ "name": "purePremium",
725
+ "type": "uint256"
726
+ },
727
+ {
728
+ "internalType": "uint256",
729
+ "name": "ensuroCommission",
730
+ "type": "uint256"
731
+ },
732
+ {
733
+ "internalType": "uint256",
734
+ "name": "partnerCommission",
735
+ "type": "uint256"
736
+ },
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "jrCoc",
740
+ "type": "uint256"
741
+ },
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "srCoc",
745
+ "type": "uint256"
746
+ },
747
+ {
748
+ "internalType": "contract IRiskModule",
749
+ "name": "riskModule",
750
+ "type": "address"
751
+ },
752
+ {
753
+ "internalType": "uint40",
754
+ "name": "start",
755
+ "type": "uint40"
756
+ },
757
+ {
758
+ "internalType": "uint40",
759
+ "name": "expiration",
760
+ "type": "uint40"
761
+ }
762
+ ],
763
+ "internalType": "struct Policy.PolicyData",
764
+ "name": "policy",
765
+ "type": "tuple"
766
+ },
767
+ {
768
+ "internalType": "bool",
769
+ "name": "customerWon",
770
+ "type": "bool"
771
+ }
772
+ ],
773
+ "name": "resolvePolicyFullPayout",
774
+ "outputs": [],
775
+ "stateMutability": "nonpayable",
776
+ "type": "function"
777
+ },
778
+ {
779
+ "inputs": [],
780
+ "name": "treasury",
781
+ "outputs": [
782
+ {
783
+ "internalType": "address",
784
+ "name": "",
785
+ "type": "address"
786
+ }
787
+ ],
788
+ "stateMutability": "view",
789
+ "type": "function"
790
+ },
791
+ {
792
+ "inputs": [
793
+ {
794
+ "internalType": "contract IEToken",
795
+ "name": "eToken",
796
+ "type": "address"
797
+ },
798
+ {
799
+ "internalType": "uint256",
800
+ "name": "amount",
801
+ "type": "uint256"
802
+ }
803
+ ],
804
+ "name": "withdraw",
805
+ "outputs": [
806
+ {
807
+ "internalType": "uint256",
808
+ "name": "",
809
+ "type": "uint256"
810
+ }
811
+ ],
812
+ "stateMutability": "nonpayable",
813
+ "type": "function"
814
+ }
815
+ ],
816
+ "bytecode": "0x",
817
+ "deployedBytecode": "0x",
818
+ "linkReferences": {},
819
+ "deployedLinkReferences": {}
820
+ }