@ensuro/core 1.2.7 → 2.0.0-beta10

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 (109) hide show
  1. package/README.md +63 -27
  2. package/build/contracts/AccessManager.sol/AccessManager.json +559 -0
  3. package/build/contracts/ERC4626AssetManager.sol/ERC4626AssetManager.json +219 -0
  4. package/build/contracts/EToken.sol/EToken.json +217 -190
  5. package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +17 -4
  6. package/build/contracts/{extras/IPriceRiskModule.sol/IPriceRiskModule.json → LiquidityThresholdAssetManager.sol/LiquidityThresholdAssetManager.json} +81 -131
  7. package/build/contracts/Policy.sol/Policy.json +2 -2
  8. package/build/contracts/PolicyPool.sol/PolicyPool.json +425 -295
  9. package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +15 -2
  10. package/build/contracts/PremiumsAccount.sol/PremiumsAccount.json +868 -0
  11. package/build/contracts/{BaseAssetManager.sol/BaseAssetManager.json → Reserve.sol/Reserve.json} +37 -166
  12. package/build/contracts/RiskModule.sol/RiskModule.json +85 -312
  13. package/build/contracts/SignedQuoteRiskModule.sol/SignedQuoteRiskModule.json +960 -0
  14. package/build/contracts/{DataTypes.sol/DataTypes.json → TimeScaled.sol/TimeScaled.json} +4 -4
  15. package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +134 -336
  16. package/build/contracts/dependencies/ERC1967Proxy.sol/ERC1967Proxy.json +64 -0
  17. package/build/{interfaces/IExchange.sol/IExchange.json → contracts/dependencies/IERC20Metadata.sol/IERC20Metadata.json} +83 -79
  18. package/build/contracts/{WadRayMath.sol → dependencies/WadRayMath.sol}/WadRayMath.json +3 -3
  19. package/build/{interfaces/IPolicyPoolConfig.sol/IPolicyPoolConfig.json → contracts/interfaces/IAccessManager.sol/IAccessManager.json} +79 -77
  20. package/build/contracts/interfaces/IAssetManager.sol/IAssetManager.json +109 -0
  21. package/build/{interfaces → contracts/interfaces}/IEToken.sol/IEToken.json +39 -91
  22. package/build/{interfaces → contracts/interfaces}/ILPWhitelist.sol/ILPWhitelist.json +1 -1
  23. package/build/{interfaces → contracts/interfaces}/IPolicyHolder.sol/IPolicyHolder.json +1 -1
  24. package/build/{interfaces → contracts/interfaces}/IPolicyPool.sol/IPolicyPool.json +137 -100
  25. package/build/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol/IPolicyPoolComponent.json +1 -1
  26. package/build/contracts/interfaces/IPremiumsAccount.sol/IPremiumsAccount.json +315 -0
  27. package/build/{interfaces → contracts/interfaces}/IRiskModule.sol/IRiskModule.json +58 -34
  28. package/build/contracts/mocks/FixedRateVault.sol/FixedRateVault.json +736 -0
  29. package/build/contracts/mocks/ForwardProxy.sol/ForwardProxy.json +43 -0
  30. package/build/{interfaces/IInsolvencyHook.sol/IInsolvencyHook.json → contracts/mocks/IMintableERC20.sol/IMintableERC20.json} +13 -8
  31. package/build/contracts/mocks/PolicyHolderMock.sol/PolicyHolderMock.json +228 -0
  32. package/build/contracts/mocks/PolicyPoolComponentMock.sol/PolicyPoolComponentMock.json +35 -0
  33. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMock.json +702 -0
  34. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMockForward.json +92 -0
  35. package/build/contracts/mocks/RiskModuleMock.sol/RiskModuleMock.json +764 -0
  36. package/build/contracts/mocks/TestCurrency.sol/TestCurrency.json +343 -0
  37. package/build/contracts/mocks/TestNFT.sol/TestNFT.json +388 -0
  38. package/contracts/AccessManager.sol +103 -0
  39. package/contracts/ERC4626AssetManager.sol +52 -0
  40. package/contracts/EToken.sol +254 -299
  41. package/contracts/LPManualWhitelist.sol +4 -4
  42. package/contracts/LiquidityThresholdAssetManager.sol +160 -0
  43. package/contracts/Policy.sol +49 -45
  44. package/contracts/PolicyPool.sol +379 -514
  45. package/contracts/PolicyPoolComponent.sol +41 -41
  46. package/contracts/PremiumsAccount.sol +480 -0
  47. package/contracts/Reserve.sol +213 -0
  48. package/contracts/RiskModule.sol +233 -174
  49. package/contracts/SignedQuoteRiskModule.sol +241 -0
  50. package/contracts/TimeScaled.sol +138 -0
  51. package/contracts/TrustfulRiskModule.sol +85 -23
  52. package/contracts/dependencies/ERC1967Proxy.sol +19 -0
  53. package/contracts/dependencies/IERC20Metadata.sol +19 -0
  54. package/contracts/dependencies/WadRayMath.sol +126 -0
  55. package/contracts/interfaces/IAccessManager.sol +148 -0
  56. package/contracts/interfaces/IAssetManager.sol +84 -0
  57. package/contracts/interfaces/IEToken.sol +195 -0
  58. package/contracts/interfaces/ILPWhitelist.sol +40 -0
  59. package/{interfaces → contracts/interfaces}/IPolicyHolder.sol +0 -0
  60. package/contracts/interfaces/IPolicyPool.sol +145 -0
  61. package/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol +3 -0
  62. package/contracts/interfaces/IPremiumsAccount.sol +76 -0
  63. package/contracts/interfaces/IRiskModule.sol +123 -0
  64. package/contracts/mocks/FixedRateVault.sol +85 -0
  65. package/contracts/mocks/ForwardProxy.sol +66 -0
  66. package/contracts/mocks/IMintableERC20.sol +13 -0
  67. package/contracts/mocks/PolicyHolderMock.sol +89 -0
  68. package/contracts/mocks/PolicyPoolComponentMock.sol +17 -0
  69. package/contracts/mocks/PolicyPoolMock.sol +148 -0
  70. package/contracts/mocks/RiskModuleMock.sol +75 -0
  71. package/contracts/mocks/TestCurrency.sol +35 -0
  72. package/contracts/mocks/TestNFT.sol +23 -0
  73. package/js/test-utils.js +356 -0
  74. package/package.json +2 -2
  75. package/build/contracts/AaveAssetManager.sol/AaveAssetManager.json +0 -742
  76. package/build/contracts/Exchange.sol/Exchange.json +0 -591
  77. package/build/contracts/FlightDelayRiskModule.sol/FlightDelayRiskModule.json +0 -1112
  78. package/build/contracts/PolicyNFT.sol/PolicyNFT.json +0 -570
  79. package/build/contracts/PolicyPoolConfig.sol/PolicyPoolConfig.json +0 -686
  80. package/build/contracts/dependencies/ChainlinkClientUpgradeable.sol/ChainlinkClientUpgradeable.json +0 -50
  81. package/build/contracts/extras/PriceRiskModule.sol/PriceRiskModule.json +0 -1055
  82. package/build/contracts/upgraded/IPolicyNFTv1.sol/IPolicyNFTv1.json +0 -322
  83. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1.json +0 -571
  84. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1_Upgrade.json +0 -602
  85. package/build/interfaces/IAssetManager.sol/IAssetManager.json +0 -31
  86. package/build/interfaces/IExchange.sol/IPriceOracle.json +0 -30
  87. package/build/interfaces/IPolicyNFT.sol/IPolicyNFT.json +0 -321
  88. package/contracts/AaveAssetManager.sol +0 -298
  89. package/contracts/BaseAssetManager.sol +0 -301
  90. package/contracts/DataTypes.sol +0 -287
  91. package/contracts/Exchange.sol +0 -189
  92. package/contracts/FlightDelayRiskModule.sol +0 -208
  93. package/contracts/PolicyNFT.sol +0 -96
  94. package/contracts/PolicyPoolConfig.sol +0 -247
  95. package/contracts/WadRayMath.sol +0 -135
  96. package/contracts/dependencies/ChainlinkClientUpgradeable.sol +0 -371
  97. package/contracts/extras/IPriceRiskModule.sol +0 -41
  98. package/contracts/extras/PriceRiskModule.sol +0 -243
  99. package/contracts/upgraded/IPolicyNFTv1.sol +0 -15
  100. package/contracts/upgraded/PolicyNFTv1.sol +0 -126
  101. package/interfaces/IAssetManager.sol +0 -23
  102. package/interfaces/IEToken.sol +0 -48
  103. package/interfaces/IExchange.sol +0 -59
  104. package/interfaces/IInsolvencyHook.sol +0 -27
  105. package/interfaces/ILPWhitelist.sol +0 -23
  106. package/interfaces/IPolicyNFT.sol +0 -15
  107. package/interfaces/IPolicyPool.sol +0 -44
  108. package/interfaces/IPolicyPoolConfig.sol +0 -87
  109. package/interfaces/IRiskModule.sol +0 -29
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "BaseAssetManager",
4
- "sourceName": "contracts/BaseAssetManager.sol",
3
+ "contractName": "Reserve",
4
+ "sourceName": "contracts/Reserve.sol",
5
5
  "abi": [
6
6
  {
7
7
  "anonymous": false,
@@ -40,7 +40,7 @@
40
40
  "inputs": [
41
41
  {
42
42
  "indexed": true,
43
- "internalType": "enum IPolicyPoolConfig.GovernanceActions",
43
+ "internalType": "enum IAccessManager.GovernanceActions",
44
44
  "name": "action",
45
45
  "type": "uint8"
46
46
  },
@@ -54,31 +54,12 @@
54
54
  "name": "ComponentChanged",
55
55
  "type": "event"
56
56
  },
57
- {
58
- "anonymous": false,
59
- "inputs": [
60
- {
61
- "indexed": false,
62
- "internalType": "bool",
63
- "name": "positive",
64
- "type": "bool"
65
- },
66
- {
67
- "indexed": false,
68
- "internalType": "uint256",
69
- "name": "amount",
70
- "type": "uint256"
71
- }
72
- ],
73
- "name": "EarningsDistributed",
74
- "type": "event"
75
- },
76
57
  {
77
58
  "anonymous": false,
78
59
  "inputs": [
79
60
  {
80
61
  "indexed": true,
81
- "internalType": "enum IPolicyPoolConfig.GovernanceActions",
62
+ "internalType": "enum IAccessManager.GovernanceActions",
82
63
  "name": "action",
83
64
  "type": "uint8"
84
65
  },
@@ -97,25 +78,12 @@
97
78
  "inputs": [
98
79
  {
99
80
  "indexed": false,
100
- "internalType": "uint256",
101
- "name": "amount",
102
- "type": "uint256"
103
- }
104
- ],
105
- "name": "MoneyDeinvested",
106
- "type": "event"
107
- },
108
- {
109
- "anonymous": false,
110
- "inputs": [
111
- {
112
- "indexed": false,
113
- "internalType": "uint256",
114
- "name": "amount",
115
- "type": "uint256"
81
+ "internalType": "uint8",
82
+ "name": "version",
83
+ "type": "uint8"
116
84
  }
117
85
  ],
118
- "name": "MoneyInvested",
86
+ "name": "Initialized",
119
87
  "type": "event"
120
88
  },
121
89
  {
@@ -224,17 +192,10 @@
224
192
  },
225
193
  {
226
194
  "inputs": [],
227
- "name": "checkpoint",
228
- "outputs": [],
229
- "stateMutability": "nonpayable",
230
- "type": "function"
231
- },
232
- {
233
- "inputs": [],
234
- "name": "currency",
195
+ "name": "assetManager",
235
196
  "outputs": [
236
197
  {
237
- "internalType": "contract IERC20Metadata",
198
+ "internalType": "contract IAssetManager",
238
199
  "name": "",
239
200
  "type": "address"
240
201
  }
@@ -244,83 +205,56 @@
244
205
  },
245
206
  {
246
207
  "inputs": [],
247
- "name": "deinvestAll",
248
- "outputs": [],
249
- "stateMutability": "nonpayable",
250
- "type": "function"
251
- },
252
- {
253
- "inputs": [],
254
- "name": "distributeEarnings",
208
+ "name": "checkpoint",
255
209
  "outputs": [],
256
210
  "stateMutability": "nonpayable",
257
211
  "type": "function"
258
212
  },
259
213
  {
260
214
  "inputs": [],
261
- "name": "getInvestmentValue",
215
+ "name": "currency",
262
216
  "outputs": [
263
217
  {
264
- "internalType": "uint256",
218
+ "internalType": "contract IERC20Metadata",
265
219
  "name": "",
266
- "type": "uint256"
220
+ "type": "address"
267
221
  }
268
222
  ],
269
223
  "stateMutability": "view",
270
224
  "type": "function"
271
225
  },
272
226
  {
273
- "inputs": [],
274
- "name": "lastTweak",
275
- "outputs": [
276
- {
277
- "internalType": "uint40",
278
- "name": "",
279
- "type": "uint40"
280
- },
227
+ "inputs": [
281
228
  {
282
- "internalType": "uint56",
283
- "name": "",
284
- "type": "uint56"
229
+ "internalType": "bytes",
230
+ "name": "functionCall",
231
+ "type": "bytes"
285
232
  }
286
233
  ],
287
- "stateMutability": "view",
288
- "type": "function"
289
- },
290
- {
291
- "inputs": [],
292
- "name": "liquidityMax",
234
+ "name": "forwardToAssetManager",
293
235
  "outputs": [
294
236
  {
295
- "internalType": "uint256",
237
+ "internalType": "bytes",
296
238
  "name": "",
297
- "type": "uint256"
239
+ "type": "bytes"
298
240
  }
299
241
  ],
300
- "stateMutability": "view",
242
+ "stateMutability": "nonpayable",
301
243
  "type": "function"
302
244
  },
303
245
  {
304
246
  "inputs": [],
305
- "name": "liquidityMiddle",
247
+ "name": "lastTweak",
306
248
  "outputs": [
307
249
  {
308
- "internalType": "uint256",
250
+ "internalType": "uint40",
309
251
  "name": "",
310
- "type": "uint256"
311
- }
312
- ],
313
- "stateMutability": "view",
314
- "type": "function"
315
- },
316
- {
317
- "inputs": [],
318
- "name": "liquidityMin",
319
- "outputs": [
252
+ "type": "uint40"
253
+ },
320
254
  {
321
- "internalType": "uint256",
255
+ "internalType": "uint56",
322
256
  "name": "",
323
- "type": "uint256"
257
+ "type": "uint56"
324
258
  }
325
259
  ],
326
260
  "stateMutability": "view",
@@ -380,53 +314,8 @@
380
314
  "type": "function"
381
315
  },
382
316
  {
383
- "inputs": [
384
- {
385
- "internalType": "uint256",
386
- "name": "paymentAmount",
387
- "type": "uint256"
388
- }
389
- ],
390
- "name": "refillWallet",
391
- "outputs": [],
392
- "stateMutability": "nonpayable",
393
- "type": "function"
394
- },
395
- {
396
- "inputs": [
397
- {
398
- "internalType": "uint256",
399
- "name": "newValue",
400
- "type": "uint256"
401
- }
402
- ],
403
- "name": "setLiquidityMax",
404
- "outputs": [],
405
- "stateMutability": "nonpayable",
406
- "type": "function"
407
- },
408
- {
409
- "inputs": [
410
- {
411
- "internalType": "uint256",
412
- "name": "newValue",
413
- "type": "uint256"
414
- }
415
- ],
416
- "name": "setLiquidityMiddle",
417
- "outputs": [],
418
- "stateMutability": "nonpayable",
419
- "type": "function"
420
- },
421
- {
422
- "inputs": [
423
- {
424
- "internalType": "uint256",
425
- "name": "newValue",
426
- "type": "uint256"
427
- }
428
- ],
429
- "name": "setLiquidityMin",
317
+ "inputs": [],
318
+ "name": "recordEarnings",
430
319
  "outputs": [],
431
320
  "stateMutability": "nonpayable",
432
321
  "type": "function"
@@ -434,39 +323,21 @@
434
323
  {
435
324
  "inputs": [
436
325
  {
437
- "internalType": "uint256",
438
- "name": "min",
439
- "type": "uint256"
440
- },
441
- {
442
- "internalType": "uint256",
443
- "name": "middle",
444
- "type": "uint256"
326
+ "internalType": "contract IAssetManager",
327
+ "name": "newAM",
328
+ "type": "address"
445
329
  },
446
330
  {
447
- "internalType": "uint256",
448
- "name": "max",
449
- "type": "uint256"
331
+ "internalType": "bool",
332
+ "name": "force",
333
+ "type": "bool"
450
334
  }
451
335
  ],
452
- "name": "setLiquidityMultiple",
336
+ "name": "setAssetManager",
453
337
  "outputs": [],
454
338
  "stateMutability": "nonpayable",
455
339
  "type": "function"
456
340
  },
457
- {
458
- "inputs": [],
459
- "name": "totalInvestable",
460
- "outputs": [
461
- {
462
- "internalType": "uint256",
463
- "name": "",
464
- "type": "uint256"
465
- }
466
- ],
467
- "stateMutability": "view",
468
- "type": "function"
469
- },
470
341
  {
471
342
  "inputs": [],
472
343
  "name": "unpause",