@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
@@ -0,0 +1,64 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC1967Proxy",
4
+ "sourceName": "contracts/dependencies/ERC1967Proxy.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "address",
12
+ "name": "previousAdmin",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "address",
18
+ "name": "newAdmin",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "AdminChanged",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "address",
31
+ "name": "beacon",
32
+ "type": "address"
33
+ }
34
+ ],
35
+ "name": "BeaconUpgraded",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "anonymous": false,
40
+ "inputs": [
41
+ {
42
+ "indexed": true,
43
+ "internalType": "address",
44
+ "name": "implementation",
45
+ "type": "address"
46
+ }
47
+ ],
48
+ "name": "Upgraded",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "stateMutability": "payable",
53
+ "type": "fallback"
54
+ },
55
+ {
56
+ "stateMutability": "payable",
57
+ "type": "receive"
58
+ }
59
+ ],
60
+ "bytecode": "0x",
61
+ "deployedBytecode": "0x",
62
+ "linkReferences": {},
63
+ "deployedLinkReferences": {}
64
+ }
@@ -1,66 +1,72 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "IExchange",
4
- "sourceName": "interfaces/IExchange.sol",
3
+ "contractName": "IERC20Metadata",
4
+ "sourceName": "contracts/dependencies/IERC20Metadata.sol",
5
5
  "abi": [
6
6
  {
7
+ "anonymous": false,
7
8
  "inputs": [
8
9
  {
10
+ "indexed": true,
9
11
  "internalType": "address",
10
- "name": "assetIn",
12
+ "name": "owner",
11
13
  "type": "address"
12
14
  },
13
15
  {
16
+ "indexed": true,
14
17
  "internalType": "address",
15
- "name": "assetOut",
18
+ "name": "spender",
16
19
  "type": "address"
17
20
  },
18
21
  {
22
+ "indexed": false,
19
23
  "internalType": "uint256",
20
- "name": "amountOutExact",
24
+ "name": "value",
21
25
  "type": "uint256"
26
+ }
27
+ ],
28
+ "name": "Approval",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "anonymous": false,
33
+ "inputs": [
34
+ {
35
+ "indexed": true,
36
+ "internalType": "address",
37
+ "name": "from",
38
+ "type": "address"
22
39
  },
23
40
  {
41
+ "indexed": true,
24
42
  "internalType": "address",
25
- "name": "outAddr",
43
+ "name": "to",
26
44
  "type": "address"
27
45
  },
28
46
  {
47
+ "indexed": false,
29
48
  "internalType": "uint256",
30
- "name": "deadline",
49
+ "name": "value",
31
50
  "type": "uint256"
32
51
  }
33
52
  ],
34
- "name": "buy",
35
- "outputs": [
36
- {
37
- "internalType": "bytes",
38
- "name": "",
39
- "type": "bytes"
40
- }
41
- ],
42
- "stateMutability": "view",
43
- "type": "function"
53
+ "name": "Transfer",
54
+ "type": "event"
44
55
  },
45
56
  {
46
57
  "inputs": [
47
58
  {
48
59
  "internalType": "address",
49
- "name": "assetFrom",
60
+ "name": "owner",
50
61
  "type": "address"
51
62
  },
52
63
  {
53
64
  "internalType": "address",
54
- "name": "assetTo",
65
+ "name": "spender",
55
66
  "type": "address"
56
- },
57
- {
58
- "internalType": "uint256",
59
- "name": "amount",
60
- "type": "uint256"
61
67
  }
62
68
  ],
63
- "name": "convert",
69
+ "name": "allowance",
64
70
  "outputs": [
65
71
  {
66
72
  "internalType": "uint256",
@@ -74,41 +80,36 @@
74
80
  {
75
81
  "inputs": [
76
82
  {
77
- "internalType": "bytes",
78
- "name": "responseData",
79
- "type": "bytes"
83
+ "internalType": "address",
84
+ "name": "spender",
85
+ "type": "address"
86
+ },
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "amount",
90
+ "type": "uint256"
80
91
  }
81
92
  ],
82
- "name": "decodeSwapOut",
93
+ "name": "approve",
83
94
  "outputs": [
84
95
  {
85
- "internalType": "uint256",
96
+ "internalType": "bool",
86
97
  "name": "",
87
- "type": "uint256"
98
+ "type": "bool"
88
99
  }
89
100
  ],
90
- "stateMutability": "view",
101
+ "stateMutability": "nonpayable",
91
102
  "type": "function"
92
103
  },
93
104
  {
94
105
  "inputs": [
95
106
  {
96
107
  "internalType": "address",
97
- "name": "assetIn",
98
- "type": "address"
99
- },
100
- {
101
- "internalType": "address",
102
- "name": "assetOut",
108
+ "name": "account",
103
109
  "type": "address"
104
- },
105
- {
106
- "internalType": "uint256",
107
- "name": "amountOut",
108
- "type": "uint256"
109
110
  }
110
111
  ],
111
- "name": "getAmountIn",
112
+ "name": "balanceOf",
112
113
  "outputs": [
113
114
  {
114
115
  "internalType": "uint256",
@@ -120,24 +121,13 @@
120
121
  "type": "function"
121
122
  },
122
123
  {
123
- "inputs": [
124
- {
125
- "internalType": "address",
126
- "name": "asset",
127
- "type": "address"
128
- },
129
- {
130
- "internalType": "address",
131
- "name": "expressedInAsset",
132
- "type": "address"
133
- }
134
- ],
135
- "name": "getExchangeRate",
124
+ "inputs": [],
125
+ "name": "decimals",
136
126
  "outputs": [
137
127
  {
138
- "internalType": "uint256",
128
+ "internalType": "uint8",
139
129
  "name": "",
140
- "type": "uint256"
130
+ "type": "uint8"
141
131
  }
142
132
  ],
143
133
  "stateMutability": "view",
@@ -145,12 +135,12 @@
145
135
  },
146
136
  {
147
137
  "inputs": [],
148
- "name": "getPriceOracle",
138
+ "name": "name",
149
139
  "outputs": [
150
140
  {
151
- "internalType": "contract IPriceOracle",
141
+ "internalType": "string",
152
142
  "name": "",
153
- "type": "address"
143
+ "type": "string"
154
144
  }
155
145
  ],
156
146
  "stateMutability": "view",
@@ -158,12 +148,12 @@
158
148
  },
159
149
  {
160
150
  "inputs": [],
161
- "name": "getSwapRouter",
151
+ "name": "symbol",
162
152
  "outputs": [
163
153
  {
164
- "internalType": "address",
154
+ "internalType": "string",
165
155
  "name": "",
166
- "type": "address"
156
+ "type": "string"
167
157
  }
168
158
  ],
169
159
  "stateMutability": "view",
@@ -171,7 +161,7 @@
171
161
  },
172
162
  {
173
163
  "inputs": [],
174
- "name": "maxSlippage",
164
+ "name": "totalSupply",
175
165
  "outputs": [
176
166
  {
177
167
  "internalType": "uint256",
@@ -186,39 +176,53 @@
186
176
  "inputs": [
187
177
  {
188
178
  "internalType": "address",
189
- "name": "assetIn",
190
- "type": "address"
191
- },
192
- {
193
- "internalType": "address",
194
- "name": "assetOut",
179
+ "name": "to",
195
180
  "type": "address"
196
181
  },
197
182
  {
198
183
  "internalType": "uint256",
199
- "name": "amountInExact",
184
+ "name": "amount",
200
185
  "type": "uint256"
186
+ }
187
+ ],
188
+ "name": "transfer",
189
+ "outputs": [
190
+ {
191
+ "internalType": "bool",
192
+ "name": "",
193
+ "type": "bool"
194
+ }
195
+ ],
196
+ "stateMutability": "nonpayable",
197
+ "type": "function"
198
+ },
199
+ {
200
+ "inputs": [
201
+ {
202
+ "internalType": "address",
203
+ "name": "from",
204
+ "type": "address"
201
205
  },
202
206
  {
203
207
  "internalType": "address",
204
- "name": "outAddr",
208
+ "name": "to",
205
209
  "type": "address"
206
210
  },
207
211
  {
208
212
  "internalType": "uint256",
209
- "name": "deadline",
213
+ "name": "amount",
210
214
  "type": "uint256"
211
215
  }
212
216
  ],
213
- "name": "sell",
217
+ "name": "transferFrom",
214
218
  "outputs": [
215
219
  {
216
- "internalType": "bytes",
220
+ "internalType": "bool",
217
221
  "name": "",
218
- "type": "bytes"
222
+ "type": "bool"
219
223
  }
220
224
  ],
221
- "stateMutability": "view",
225
+ "stateMutability": "nonpayable",
222
226
  "type": "function"
223
227
  }
224
228
  ],
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "WadRayMath",
4
- "sourceName": "contracts/WadRayMath.sol",
4
+ "sourceName": "contracts/dependencies/WadRayMath.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122060d4e1e111ec8e458baf4cfaac58ceb50a2ef7162fd01959d8220690183dcb4164736f6c63430008060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122060d4e1e111ec8e458baf4cfaac58ceb50a2ef7162fd01959d8220690183dcb4164736f6c63430008060033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122098260f414a27025b6f7f555d7a60361c4aa493b4e35fedb2f56332d9026e11cb64736f6c63430008100033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122098260f414a27025b6f7f555d7a60361c4aa493b4e35fedb2f56332d9026e11cb64736f6c63430008100033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,27 +1,8 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "IPolicyPoolConfig",
4
- "sourceName": "interfaces/IPolicyPoolConfig.sol",
3
+ "contractName": "IAccessManager",
4
+ "sourceName": "contracts/interfaces/IAccessManager.sol",
5
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
- "indexed": false,
17
- "internalType": "enum IPolicyPoolConfig.RiskModuleStatus",
18
- "name": "newStatus",
19
- "type": "uint8"
20
- }
21
- ],
22
- "name": "RiskModuleStatusChanged",
23
- "type": "event"
24
- },
25
6
  {
26
7
  "anonymous": false,
27
8
  "inputs": [
@@ -98,27 +79,29 @@
98
79
  "type": "event"
99
80
  },
100
81
  {
101
- "inputs": [],
102
- "name": "assetManager",
103
- "outputs": [
82
+ "inputs": [
104
83
  {
105
- "internalType": "contract IAssetManager",
106
- "name": "",
84
+ "internalType": "address",
85
+ "name": "component",
107
86
  "type": "address"
108
- }
109
- ],
110
- "stateMutability": "view",
111
- "type": "function"
112
- },
113
- {
114
- "inputs": [
87
+ },
88
+ {
89
+ "internalType": "bytes32",
90
+ "name": "role",
91
+ "type": "bytes32"
92
+ },
115
93
  {
116
- "internalType": "contract IRiskModule",
117
- "name": "riskModule",
94
+ "internalType": "address",
95
+ "name": "account",
118
96
  "type": "address"
97
+ },
98
+ {
99
+ "internalType": "bool",
100
+ "name": "alsoGlobal",
101
+ "type": "bool"
119
102
  }
120
103
  ],
121
- "name": "checkAcceptsNewPolicy",
104
+ "name": "checkComponentRole",
122
105
  "outputs": [],
123
106
  "stateMutability": "view",
124
107
  "type": "function"
@@ -126,12 +109,32 @@
126
109
  {
127
110
  "inputs": [
128
111
  {
129
- "internalType": "contract IRiskModule",
130
- "name": "riskModule",
112
+ "internalType": "address",
113
+ "name": "component",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "internalType": "bytes32",
118
+ "name": "role1",
119
+ "type": "bytes32"
120
+ },
121
+ {
122
+ "internalType": "bytes32",
123
+ "name": "role2",
124
+ "type": "bytes32"
125
+ },
126
+ {
127
+ "internalType": "address",
128
+ "name": "account",
131
129
  "type": "address"
130
+ },
131
+ {
132
+ "internalType": "bool",
133
+ "name": "alsoGlobal",
134
+ "type": "bool"
132
135
  }
133
136
  ],
134
- "name": "checkAcceptsResolvePolicy",
137
+ "name": "checkComponentRole2",
135
138
  "outputs": [],
136
139
  "stateMutability": "view",
137
140
  "type": "function"
@@ -178,20 +181,24 @@
178
181
  "type": "function"
179
182
  },
180
183
  {
181
- "inputs": [],
182
- "name": "connect",
183
- "outputs": [],
184
- "stateMutability": "nonpayable",
185
- "type": "function"
186
- },
187
- {
188
- "inputs": [],
189
- "name": "exchange",
184
+ "inputs": [
185
+ {
186
+ "internalType": "address",
187
+ "name": "component",
188
+ "type": "address"
189
+ },
190
+ {
191
+ "internalType": "bytes32",
192
+ "name": "role",
193
+ "type": "bytes32"
194
+ }
195
+ ],
196
+ "name": "getComponentRole",
190
197
  "outputs": [
191
198
  {
192
- "internalType": "contract IExchange",
199
+ "internalType": "bytes32",
193
200
  "name": "",
194
- "type": "address"
201
+ "type": "bytes32"
195
202
  }
196
203
  ],
197
204
  "stateMutability": "view",
@@ -236,6 +243,11 @@
236
243
  },
237
244
  {
238
245
  "inputs": [
246
+ {
247
+ "internalType": "address",
248
+ "name": "component",
249
+ "type": "address"
250
+ },
239
251
  {
240
252
  "internalType": "bytes32",
241
253
  "name": "role",
@@ -245,9 +257,14 @@
245
257
  "internalType": "address",
246
258
  "name": "account",
247
259
  "type": "address"
260
+ },
261
+ {
262
+ "internalType": "bool",
263
+ "name": "alsoGlobal",
264
+ "type": "bool"
248
265
  }
249
266
  ],
250
- "name": "hasRole",
267
+ "name": "hasComponentRole",
251
268
  "outputs": [
252
269
  {
253
270
  "internalType": "bool",
@@ -259,26 +276,24 @@
259
276
  "type": "function"
260
277
  },
261
278
  {
262
- "inputs": [],
263
- "name": "insolvencyHook",
264
- "outputs": [
279
+ "inputs": [
265
280
  {
266
- "internalType": "contract IInsolvencyHook",
267
- "name": "",
281
+ "internalType": "bytes32",
282
+ "name": "role",
283
+ "type": "bytes32"
284
+ },
285
+ {
286
+ "internalType": "address",
287
+ "name": "account",
268
288
  "type": "address"
269
289
  }
270
290
  ],
271
- "stateMutability": "view",
272
- "type": "function"
273
- },
274
- {
275
- "inputs": [],
276
- "name": "lpWhitelist",
291
+ "name": "hasRole",
277
292
  "outputs": [
278
293
  {
279
- "internalType": "contract ILPWhitelist",
294
+ "internalType": "bool",
280
295
  "name": "",
281
- "type": "address"
296
+ "type": "bool"
282
297
  }
283
298
  ],
284
299
  "stateMutability": "view",
@@ -319,19 +334,6 @@
319
334
  "outputs": [],
320
335
  "stateMutability": "nonpayable",
321
336
  "type": "function"
322
- },
323
- {
324
- "inputs": [],
325
- "name": "treasury",
326
- "outputs": [
327
- {
328
- "internalType": "address",
329
- "name": "",
330
- "type": "address"
331
- }
332
- ],
333
- "stateMutability": "view",
334
- "type": "function"
335
337
  }
336
338
  ],
337
339
  "bytecode": "0x",