@ensuro/core 1.2.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 (55) hide show
  1. package/README.md +93 -0
  2. package/build/contracts/AaveAssetManager.sol/AaveAssetManager.json +772 -0
  3. package/build/contracts/BaseAssetManager.sol/BaseAssetManager.json +494 -0
  4. package/build/contracts/DataTypes.sol/DataTypes.json +10 -0
  5. package/build/contracts/EToken.sol/EToken.json +1148 -0
  6. package/build/contracts/FlightDelayRiskModule.sol/FlightDelayRiskModule.json +1093 -0
  7. package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +412 -0
  8. package/build/contracts/Policy.sol/Policy.json +10 -0
  9. package/build/contracts/PolicyNFT.sol/PolicyNFT.json +570 -0
  10. package/build/contracts/PolicyPool.sol/PolicyPool.json +1257 -0
  11. package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +281 -0
  12. package/build/contracts/PolicyPoolConfig.sol/PolicyPoolConfig.json +660 -0
  13. package/build/contracts/RiskModule.sol/RiskModule.json +748 -0
  14. package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +1032 -0
  15. package/build/contracts/WadRayMath.sol/WadRayMath.json +10 -0
  16. package/build/contracts/dependencies/ChainlinkClientUpgradeable.sol/ChainlinkClientUpgradeable.json +50 -0
  17. package/build/contracts/upgraded/IPolicyNFTv1.sol/IPolicyNFTv1.json +322 -0
  18. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1.json +571 -0
  19. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1_Upgrade.json +602 -0
  20. package/build/interfaces/IAssetManager.sol/IAssetManager.json +31 -0
  21. package/build/interfaces/IEToken.sol/IEToken.json +491 -0
  22. package/build/interfaces/IInsolvencyHook.sol/IInsolvencyHook.json +42 -0
  23. package/build/interfaces/ILPWhitelist.sol/ILPWhitelist.json +74 -0
  24. package/build/interfaces/IPolicyNFT.sol/IPolicyNFT.json +321 -0
  25. package/build/interfaces/IPolicyPool.sol/IPolicyPool.json +445 -0
  26. package/build/interfaces/IPolicyPoolComponent.sol/IPolicyPoolComponent.json +24 -0
  27. package/build/interfaces/IPolicyPoolConfig.sol/IPolicyPoolConfig.json +328 -0
  28. package/build/interfaces/IRiskModule.sol/IRiskModule.json +141 -0
  29. package/contracts/AaveAssetManager.sol +326 -0
  30. package/contracts/BaseAssetManager.sol +283 -0
  31. package/contracts/DataTypes.sol +287 -0
  32. package/contracts/EToken.sol +773 -0
  33. package/contracts/FlightDelayRiskModule.sol +208 -0
  34. package/contracts/LPManualWhitelist.sol +57 -0
  35. package/contracts/Policy.sol +104 -0
  36. package/contracts/PolicyNFT.sol +96 -0
  37. package/contracts/PolicyPool.sol +716 -0
  38. package/contracts/PolicyPoolComponent.sol +164 -0
  39. package/contracts/PolicyPoolConfig.sol +231 -0
  40. package/contracts/RiskModule.sol +323 -0
  41. package/contracts/TrustfulRiskModule.sol +81 -0
  42. package/contracts/WadRayMath.sol +135 -0
  43. package/contracts/dependencies/ChainlinkClientUpgradeable.sol +371 -0
  44. package/contracts/upgraded/IPolicyNFTv1.sol +15 -0
  45. package/contracts/upgraded/PolicyNFTv1.sol +126 -0
  46. package/interfaces/IAssetManager.sol +23 -0
  47. package/interfaces/IEToken.sol +44 -0
  48. package/interfaces/IInsolvencyHook.sol +27 -0
  49. package/interfaces/ILPWhitelist.sol +23 -0
  50. package/interfaces/IPolicyNFT.sol +15 -0
  51. package/interfaces/IPolicyPool.sol +44 -0
  52. package/interfaces/IPolicyPoolComponent.sol +13 -0
  53. package/interfaces/IPolicyPoolConfig.sol +81 -0
  54. package/interfaces/IRiskModule.sol +29 -0
  55. package/package.json +30 -0
@@ -0,0 +1,412 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LPManualWhitelist",
4
+ "sourceName": "contracts/LPManualWhitelist.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract IPolicyPool",
10
+ "name": "policyPool_",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "previousAdmin",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "address",
29
+ "name": "newAdmin",
30
+ "type": "address"
31
+ }
32
+ ],
33
+ "name": "AdminChanged",
34
+ "type": "event"
35
+ },
36
+ {
37
+ "anonymous": false,
38
+ "inputs": [
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "beacon",
43
+ "type": "address"
44
+ }
45
+ ],
46
+ "name": "BeaconUpgraded",
47
+ "type": "event"
48
+ },
49
+ {
50
+ "anonymous": false,
51
+ "inputs": [
52
+ {
53
+ "indexed": true,
54
+ "internalType": "enum IPolicyPoolConfig.GovernanceActions",
55
+ "name": "action",
56
+ "type": "uint8"
57
+ },
58
+ {
59
+ "indexed": false,
60
+ "internalType": "uint256",
61
+ "name": "value",
62
+ "type": "uint256"
63
+ }
64
+ ],
65
+ "name": "GovernanceAction",
66
+ "type": "event"
67
+ },
68
+ {
69
+ "anonymous": false,
70
+ "inputs": [
71
+ {
72
+ "indexed": false,
73
+ "internalType": "address",
74
+ "name": "provider",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "indexed": false,
79
+ "internalType": "bool",
80
+ "name": "whitelisted",
81
+ "type": "bool"
82
+ }
83
+ ],
84
+ "name": "LPWhitelisted",
85
+ "type": "event"
86
+ },
87
+ {
88
+ "anonymous": false,
89
+ "inputs": [
90
+ {
91
+ "indexed": false,
92
+ "internalType": "address",
93
+ "name": "account",
94
+ "type": "address"
95
+ }
96
+ ],
97
+ "name": "Paused",
98
+ "type": "event"
99
+ },
100
+ {
101
+ "anonymous": false,
102
+ "inputs": [
103
+ {
104
+ "indexed": false,
105
+ "internalType": "address",
106
+ "name": "account",
107
+ "type": "address"
108
+ }
109
+ ],
110
+ "name": "Unpaused",
111
+ "type": "event"
112
+ },
113
+ {
114
+ "anonymous": false,
115
+ "inputs": [
116
+ {
117
+ "indexed": true,
118
+ "internalType": "address",
119
+ "name": "implementation",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "name": "Upgraded",
124
+ "type": "event"
125
+ },
126
+ {
127
+ "inputs": [],
128
+ "name": "GUARDIAN_ROLE",
129
+ "outputs": [
130
+ {
131
+ "internalType": "bytes32",
132
+ "name": "",
133
+ "type": "bytes32"
134
+ }
135
+ ],
136
+ "stateMutability": "view",
137
+ "type": "function"
138
+ },
139
+ {
140
+ "inputs": [],
141
+ "name": "LEVEL1_ROLE",
142
+ "outputs": [
143
+ {
144
+ "internalType": "bytes32",
145
+ "name": "",
146
+ "type": "bytes32"
147
+ }
148
+ ],
149
+ "stateMutability": "view",
150
+ "type": "function"
151
+ },
152
+ {
153
+ "inputs": [],
154
+ "name": "LEVEL2_ROLE",
155
+ "outputs": [
156
+ {
157
+ "internalType": "bytes32",
158
+ "name": "",
159
+ "type": "bytes32"
160
+ }
161
+ ],
162
+ "stateMutability": "view",
163
+ "type": "function"
164
+ },
165
+ {
166
+ "inputs": [],
167
+ "name": "LEVEL3_ROLE",
168
+ "outputs": [
169
+ {
170
+ "internalType": "bytes32",
171
+ "name": "",
172
+ "type": "bytes32"
173
+ }
174
+ ],
175
+ "stateMutability": "view",
176
+ "type": "function"
177
+ },
178
+ {
179
+ "inputs": [],
180
+ "name": "LP_WHITELIST_ROLE",
181
+ "outputs": [
182
+ {
183
+ "internalType": "bytes32",
184
+ "name": "",
185
+ "type": "bytes32"
186
+ }
187
+ ],
188
+ "stateMutability": "view",
189
+ "type": "function"
190
+ },
191
+ {
192
+ "inputs": [],
193
+ "name": "TWEAK_EXPIRATION",
194
+ "outputs": [
195
+ {
196
+ "internalType": "uint40",
197
+ "name": "",
198
+ "type": "uint40"
199
+ }
200
+ ],
201
+ "stateMutability": "view",
202
+ "type": "function"
203
+ },
204
+ {
205
+ "inputs": [
206
+ {
207
+ "internalType": "contract IEToken",
208
+ "name": "",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "internalType": "address",
213
+ "name": "provider",
214
+ "type": "address"
215
+ },
216
+ {
217
+ "internalType": "uint256",
218
+ "name": "",
219
+ "type": "uint256"
220
+ }
221
+ ],
222
+ "name": "acceptsDeposit",
223
+ "outputs": [
224
+ {
225
+ "internalType": "bool",
226
+ "name": "",
227
+ "type": "bool"
228
+ }
229
+ ],
230
+ "stateMutability": "view",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [
235
+ {
236
+ "internalType": "contract IEToken",
237
+ "name": "",
238
+ "type": "address"
239
+ },
240
+ {
241
+ "internalType": "address",
242
+ "name": "",
243
+ "type": "address"
244
+ },
245
+ {
246
+ "internalType": "address",
247
+ "name": "providerTo",
248
+ "type": "address"
249
+ },
250
+ {
251
+ "internalType": "uint256",
252
+ "name": "",
253
+ "type": "uint256"
254
+ }
255
+ ],
256
+ "name": "acceptsTransfer",
257
+ "outputs": [
258
+ {
259
+ "internalType": "bool",
260
+ "name": "",
261
+ "type": "bool"
262
+ }
263
+ ],
264
+ "stateMutability": "view",
265
+ "type": "function"
266
+ },
267
+ {
268
+ "inputs": [],
269
+ "name": "currency",
270
+ "outputs": [
271
+ {
272
+ "internalType": "contract IERC20Metadata",
273
+ "name": "",
274
+ "type": "address"
275
+ }
276
+ ],
277
+ "stateMutability": "view",
278
+ "type": "function"
279
+ },
280
+ {
281
+ "inputs": [],
282
+ "name": "initialize",
283
+ "outputs": [],
284
+ "stateMutability": "nonpayable",
285
+ "type": "function"
286
+ },
287
+ {
288
+ "inputs": [],
289
+ "name": "lastTweak",
290
+ "outputs": [
291
+ {
292
+ "internalType": "uint40",
293
+ "name": "",
294
+ "type": "uint40"
295
+ },
296
+ {
297
+ "internalType": "uint56",
298
+ "name": "",
299
+ "type": "uint56"
300
+ }
301
+ ],
302
+ "stateMutability": "view",
303
+ "type": "function"
304
+ },
305
+ {
306
+ "inputs": [],
307
+ "name": "pause",
308
+ "outputs": [],
309
+ "stateMutability": "nonpayable",
310
+ "type": "function"
311
+ },
312
+ {
313
+ "inputs": [],
314
+ "name": "paused",
315
+ "outputs": [
316
+ {
317
+ "internalType": "bool",
318
+ "name": "",
319
+ "type": "bool"
320
+ }
321
+ ],
322
+ "stateMutability": "view",
323
+ "type": "function"
324
+ },
325
+ {
326
+ "inputs": [],
327
+ "name": "policyPool",
328
+ "outputs": [
329
+ {
330
+ "internalType": "contract IPolicyPool",
331
+ "name": "",
332
+ "type": "address"
333
+ }
334
+ ],
335
+ "stateMutability": "view",
336
+ "type": "function"
337
+ },
338
+ {
339
+ "inputs": [],
340
+ "name": "proxiableUUID",
341
+ "outputs": [
342
+ {
343
+ "internalType": "bytes32",
344
+ "name": "",
345
+ "type": "bytes32"
346
+ }
347
+ ],
348
+ "stateMutability": "view",
349
+ "type": "function"
350
+ },
351
+ {
352
+ "inputs": [],
353
+ "name": "unpause",
354
+ "outputs": [],
355
+ "stateMutability": "nonpayable",
356
+ "type": "function"
357
+ },
358
+ {
359
+ "inputs": [
360
+ {
361
+ "internalType": "address",
362
+ "name": "newImplementation",
363
+ "type": "address"
364
+ }
365
+ ],
366
+ "name": "upgradeTo",
367
+ "outputs": [],
368
+ "stateMutability": "nonpayable",
369
+ "type": "function"
370
+ },
371
+ {
372
+ "inputs": [
373
+ {
374
+ "internalType": "address",
375
+ "name": "newImplementation",
376
+ "type": "address"
377
+ },
378
+ {
379
+ "internalType": "bytes",
380
+ "name": "data",
381
+ "type": "bytes"
382
+ }
383
+ ],
384
+ "name": "upgradeToAndCall",
385
+ "outputs": [],
386
+ "stateMutability": "payable",
387
+ "type": "function"
388
+ },
389
+ {
390
+ "inputs": [
391
+ {
392
+ "internalType": "address",
393
+ "name": "provider",
394
+ "type": "address"
395
+ },
396
+ {
397
+ "internalType": "bool",
398
+ "name": "whitelisted",
399
+ "type": "bool"
400
+ }
401
+ ],
402
+ "name": "whitelistAddress",
403
+ "outputs": [],
404
+ "stateMutability": "nonpayable",
405
+ "type": "function"
406
+ }
407
+ ],
408
+ "bytecode": "0x60c06040523060601b60805234801561001757600080fd5b506040516117873803806117878339810160408190526100369161004b565b60601b6001600160601b03191660a05261007b565b60006020828403121561005d57600080fd5b81516001600160a01b038116811461007457600080fd5b9392505050565b60805160601c60a05160601c6116a26100e560003960008181610234015281816105500152818161085c0152818161097601528181610acd0152610b9301526000818161041c015281816104650152818161065d0152818161069d015261072c01526116a26000f3fe6080604052600436106101145760003560e01c80635b494dd5116100a05780638456cb59116100645780638456cb591461035f578063aad4148c14610374578063b9a45aac146103a8578063e5a6b10f146103c8578063f67b2bad146103dd57600080fd5b80635b494dd5146102945780635c975abb146102c85780635fcdca37146102e05780637ed5acfa1461031d5780638129fc1c1461034a57600080fd5b8063468a8c9f116100e7578063468a8c9f146101b55780634a47a3e0146101f15780634d15eb03146102255780634f1ef2861461026c57806352d1902d1461027f57600080fd5b806324ea54f4146101195780633659cfe61461014e57806337ee20dd146101705780633f4ba83a146101a0575b600080fd5b34801561012557600080fd5b5061013b60008051602061164d83398151915281565b6040519081526020015b60405180910390f35b34801561015a57600080fd5b5061016e610169366004611247565b610411565b005b34801561017c57600080fd5b5061019061018b3660046113ed565b6104fa565b6040519015158152602001610145565b3480156101ac57600080fd5b5061016e61051e565b3480156101c157600080fd5b5060c9546040805164ffffffffff831681526501000000000090920466ffffffffffffff16602083015201610145565b3480156101fd57600080fd5b5061013b7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b34801561023157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610145565b61016e61027a3660046112a2565b610652565b34801561028b57600080fd5b5061013b61071f565b3480156102a057600080fd5b5061013b7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156102d457600080fd5b5060975460ff16610190565b3480156102ec57600080fd5b506101906102fb36600461139c565b506001600160a01b0316600090815260ca602052604090205460ff1692915050565b34801561032957600080fd5b506103346201518081565b60405164ffffffffff9091168152602001610145565b34801561035657600080fd5b5061016e6107d2565b34801561036b57600080fd5b5061016e61084b565b34801561038057600080fd5b5061013b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b3480156103b457600080fd5b5061016e6103c3366004611264565b610953565b3480156103d457600080fd5b50610254610ac9565b3480156103e957600080fd5b5061013b7fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb281565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104635760405162461bcd60e51b815260040161045a9061147d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104ac600080516020611606833981519152546001600160a01b031690565b6001600160a01b0316146104d25760405162461bcd60e51b815260040161045a906114c9565b6104db81610b61565b604080516000808252602082019092526104f791839190610c8e565b50565b6001600160a01b038216600090815260ca602052604090205460ff165b9392505050565b60008051602061164d8339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105df919061137f565b60405163c5b8f5cf60e01b815260048101849052602481018390523360448201526001600160a01b03919091169063c5b8f5cf9060640160006040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b5050505061064e610e0d565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561069b5760405162461bcd60e51b815260040161045a9061147d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e4600080516020611606833981519152546001600160a01b031690565b6001600160a01b03161461070a5760405162461bcd60e51b815260040161045a906114c9565b61071382610b61565b61064e82826001610c8e565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107bf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161045a565b5060008051602061160683398151915290565b600054610100900460ff166107ed5760005460ff16156107f1565b303b155b61080d5760405162461bcd60e51b815260040161045a90611515565b600054610100900460ff1615801561082f576000805461ffff19166101011790555b610837610ea0565b80156104f7576000805461ff001916905550565b60008051602061164d8339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b357600080fd5b505afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb919061137f565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b15801561093357600080fd5b505afa158015610947573d6000803e3d6000fd5b505050506104f7610f0d565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109cd57600080fd5b505afa1580156109e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a05919061137f565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b158015610a4d57600080fd5b505afa158015610a61573d6000803e3d6000fd5b505050506001600160a01b038316600081815260ca6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a1505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2457600080fd5b505afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c919061137f565b905090565b60008051602061164d8339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bea57600080fd5b505afa158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c22919061137f565b60405163c5b8f5cf60e01b815260048101849052602481018390523360448201526001600160a01b03919091169063c5b8f5cf9060640160006040518083038186803b158015610c7157600080fd5b505afa158015610c85573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610cc657610cc183610f88565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cff57600080fd5b505afa925050508015610d2f575060408051601f3d908101601f19168201909252610d2c91810190611366565b60015b610d925760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161045a565b6000805160206116068339815191528114610e015760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161045a565b50610cc1838383611024565b60975460ff16610e565760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161045a565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff16610ebb5760005460ff1615610ebf565b303b155b610edb5760405162461bcd60e51b815260040161045a90611515565b600054610100900460ff16158015610efd576000805461ffff19166101011790555b610f0561104f565b610837611078565b60975460ff1615610f535760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161045a565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610e833390565b6001600160a01b0381163b610ff55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161045a565b60008051602061160683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61102d836110a7565b60008251118061103a5750805b15610cc15761104983836110e7565b50505050565b600054610100900460ff166110765760405162461bcd60e51b815260040161045a90611563565b565b600054610100900460ff1661109f5760405162461bcd60e51b815260040161045a90611563565b6110766111db565b6110b081610f88565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61114f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161045a565b600080846001600160a01b03168460405161116a919061142e565b600060405180830381855af49150503d80600081146111a5576040519150601f19603f3d011682016040523d82523d6000602084013e6111aa565b606091505b50915091506111d282826040518060600160405280602781526020016116266027913961120e565b95945050505050565b600054610100900460ff166112025760405162461bcd60e51b815260040161045a90611563565b6097805460ff19169055565b6060831561121d575081610517565b82511561122d5782518084602001fd5b8160405162461bcd60e51b815260040161045a919061144a565b60006020828403121561125957600080fd5b8135610517816115f0565b6000806040838503121561127757600080fd5b8235611282816115f0565b91506020830135801515811461129757600080fd5b809150509250929050565b600080604083850312156112b557600080fd5b82356112c0816115f0565b9150602083013567ffffffffffffffff808211156112dd57600080fd5b818501915085601f8301126112f157600080fd5b813581811115611303576113036115da565b604051601f8201601f19908116603f0116810190838211818310171561132b5761132b6115da565b8160405282815288602084870101111561134457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561137857600080fd5b5051919050565b60006020828403121561139157600080fd5b8151610517816115f0565b600080600080608085870312156113b257600080fd5b84356113bd816115f0565b935060208501356113cd816115f0565b925060408501356113dd816115f0565b9396929550929360600135925050565b60008060006060848603121561140257600080fd5b833561140d816115f0565b9250602084013561141d816115f0565b929592945050506040919091013590565b600082516114408184602087016115ae565b9190910192915050565b60208152600082518060208401526114698160408501602087016115ae565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156115c95781810151838201526020016115b1565b838111156110495750506000910152565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104f757600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220ee655d768202997c9e32be4ca536b59f27540619149b162c94223bb2c4026c1864736f6c63430008060033",
409
+ "deployedBytecode": "0x6080604052600436106101145760003560e01c80635b494dd5116100a05780638456cb59116100645780638456cb591461035f578063aad4148c14610374578063b9a45aac146103a8578063e5a6b10f146103c8578063f67b2bad146103dd57600080fd5b80635b494dd5146102945780635c975abb146102c85780635fcdca37146102e05780637ed5acfa1461031d5780638129fc1c1461034a57600080fd5b8063468a8c9f116100e7578063468a8c9f146101b55780634a47a3e0146101f15780634d15eb03146102255780634f1ef2861461026c57806352d1902d1461027f57600080fd5b806324ea54f4146101195780633659cfe61461014e57806337ee20dd146101705780633f4ba83a146101a0575b600080fd5b34801561012557600080fd5b5061013b60008051602061164d83398151915281565b6040519081526020015b60405180910390f35b34801561015a57600080fd5b5061016e610169366004611247565b610411565b005b34801561017c57600080fd5b5061019061018b3660046113ed565b6104fa565b6040519015158152602001610145565b3480156101ac57600080fd5b5061016e61051e565b3480156101c157600080fd5b5060c9546040805164ffffffffff831681526501000000000090920466ffffffffffffff16602083015201610145565b3480156101fd57600080fd5b5061013b7fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b34801561023157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610145565b61016e61027a3660046112a2565b610652565b34801561028b57600080fd5b5061013b61071f565b3480156102a057600080fd5b5061013b7f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156102d457600080fd5b5060975460ff16610190565b3480156102ec57600080fd5b506101906102fb36600461139c565b506001600160a01b0316600090815260ca602052604090205460ff1692915050565b34801561032957600080fd5b506103346201518081565b60405164ffffffffff9091168152602001610145565b34801561035657600080fd5b5061016e6107d2565b34801561036b57600080fd5b5061016e61084b565b34801561038057600080fd5b5061013b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b3480156103b457600080fd5b5061016e6103c3366004611264565b610953565b3480156103d457600080fd5b50610254610ac9565b3480156103e957600080fd5b5061013b7fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb281565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104635760405162461bcd60e51b815260040161045a9061147d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104ac600080516020611606833981519152546001600160a01b031690565b6001600160a01b0316146104d25760405162461bcd60e51b815260040161045a906114c9565b6104db81610b61565b604080516000808252602082019092526104f791839190610c8e565b50565b6001600160a01b038216600090815260ca602052604090205460ff165b9392505050565b60008051602061164d8339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105df919061137f565b60405163c5b8f5cf60e01b815260048101849052602481018390523360448201526001600160a01b03919091169063c5b8f5cf9060640160006040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b5050505061064e610e0d565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561069b5760405162461bcd60e51b815260040161045a9061147d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e4600080516020611606833981519152546001600160a01b031690565b6001600160a01b03161461070a5760405162461bcd60e51b815260040161045a906114c9565b61071382610b61565b61064e82826001610c8e565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107bf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161045a565b5060008051602061160683398151915290565b600054610100900460ff166107ed5760005460ff16156107f1565b303b155b61080d5760405162461bcd60e51b815260040161045a90611515565b600054610100900460ff1615801561082f576000805461ffff19166101011790555b610837610ea0565b80156104f7576000805461ff001916905550565b60008051602061164d8339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b357600080fd5b505afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb919061137f565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b15801561093357600080fd5b505afa158015610947573d6000803e3d6000fd5b505050506104f7610f0d565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109cd57600080fd5b505afa1580156109e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a05919061137f565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b158015610a4d57600080fd5b505afa158015610a61573d6000803e3d6000fd5b505050506001600160a01b038316600081815260ca6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a1505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2457600080fd5b505afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c919061137f565b905090565b60008051602061164d8339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bea57600080fd5b505afa158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c22919061137f565b60405163c5b8f5cf60e01b815260048101849052602481018390523360448201526001600160a01b03919091169063c5b8f5cf9060640160006040518083038186803b158015610c7157600080fd5b505afa158015610c85573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610cc657610cc183610f88565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cff57600080fd5b505afa925050508015610d2f575060408051601f3d908101601f19168201909252610d2c91810190611366565b60015b610d925760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161045a565b6000805160206116068339815191528114610e015760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161045a565b50610cc1838383611024565b60975460ff16610e565760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161045a565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff16610ebb5760005460ff1615610ebf565b303b155b610edb5760405162461bcd60e51b815260040161045a90611515565b600054610100900460ff16158015610efd576000805461ffff19166101011790555b610f0561104f565b610837611078565b60975460ff1615610f535760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161045a565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610e833390565b6001600160a01b0381163b610ff55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161045a565b60008051602061160683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61102d836110a7565b60008251118061103a5750805b15610cc15761104983836110e7565b50505050565b600054610100900460ff166110765760405162461bcd60e51b815260040161045a90611563565b565b600054610100900460ff1661109f5760405162461bcd60e51b815260040161045a90611563565b6110766111db565b6110b081610f88565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61114f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161045a565b600080846001600160a01b03168460405161116a919061142e565b600060405180830381855af49150503d80600081146111a5576040519150601f19603f3d011682016040523d82523d6000602084013e6111aa565b606091505b50915091506111d282826040518060600160405280602781526020016116266027913961120e565b95945050505050565b600054610100900460ff166112025760405162461bcd60e51b815260040161045a90611563565b6097805460ff19169055565b6060831561121d575081610517565b82511561122d5782518084602001fd5b8160405162461bcd60e51b815260040161045a919061144a565b60006020828403121561125957600080fd5b8135610517816115f0565b6000806040838503121561127757600080fd5b8235611282816115f0565b91506020830135801515811461129757600080fd5b809150509250929050565b600080604083850312156112b557600080fd5b82356112c0816115f0565b9150602083013567ffffffffffffffff808211156112dd57600080fd5b818501915085601f8301126112f157600080fd5b813581811115611303576113036115da565b604051601f8201601f19908116603f0116810190838211818310171561132b5761132b6115da565b8160405282815288602084870101111561134457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561137857600080fd5b5051919050565b60006020828403121561139157600080fd5b8151610517816115f0565b600080600080608085870312156113b257600080fd5b84356113bd816115f0565b935060208501356113cd816115f0565b925060408501356113dd816115f0565b9396929550929360600135925050565b60008060006060848603121561140257600080fd5b833561140d816115f0565b9250602084013561141d816115f0565b929592945050506040919091013590565b600082516114408184602087016115ae565b9190910192915050565b60208152600082518060208401526114698160408501602087016115ae565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156115c95781810151838201526020016115b1565b838111156110495750506000910152565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104f757600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220ee655d768202997c9e32be4ca536b59f27540619149b162c94223bb2c4026c1864736f6c63430008060033",
410
+ "linkReferences": {},
411
+ "deployedLinkReferences": {}
412
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Policy",
4
+ "sourceName": "contracts/Policy.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cb2ad9fb4c2d45b0c8e3a6cd038b3c15326c1745d62422b9d4e7e729b430892864736f6c63430008060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cb2ad9fb4c2d45b0c8e3a6cd038b3c15326c1745d62422b9d4e7e729b430892864736f6c63430008060033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }