@ensuro/core 2.1.0-beta5 → 2.1.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.
@@ -0,0 +1,481 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LPManualWhitelistV20",
4
+ "sourceName": "contracts/migration/LPManualWhitelistV20.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": "enum IAccessManager.GovernanceActions",
44
+ "name": "action",
45
+ "type": "uint8"
46
+ },
47
+ {
48
+ "indexed": false,
49
+ "internalType": "address",
50
+ "name": "value",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "name": "ComponentChanged",
55
+ "type": "event"
56
+ },
57
+ {
58
+ "anonymous": false,
59
+ "inputs": [
60
+ {
61
+ "indexed": true,
62
+ "internalType": "enum IAccessManager.GovernanceActions",
63
+ "name": "action",
64
+ "type": "uint8"
65
+ },
66
+ {
67
+ "indexed": false,
68
+ "internalType": "uint256",
69
+ "name": "value",
70
+ "type": "uint256"
71
+ }
72
+ ],
73
+ "name": "GovernanceAction",
74
+ "type": "event"
75
+ },
76
+ {
77
+ "anonymous": false,
78
+ "inputs": [
79
+ {
80
+ "indexed": false,
81
+ "internalType": "uint8",
82
+ "name": "version",
83
+ "type": "uint8"
84
+ }
85
+ ],
86
+ "name": "Initialized",
87
+ "type": "event"
88
+ },
89
+ {
90
+ "anonymous": false,
91
+ "inputs": [
92
+ {
93
+ "indexed": false,
94
+ "internalType": "address",
95
+ "name": "provider",
96
+ "type": "address"
97
+ },
98
+ {
99
+ "indexed": false,
100
+ "internalType": "bool",
101
+ "name": "whitelisted",
102
+ "type": "bool"
103
+ }
104
+ ],
105
+ "name": "LPWhitelisted",
106
+ "type": "event"
107
+ },
108
+ {
109
+ "anonymous": false,
110
+ "inputs": [
111
+ {
112
+ "indexed": false,
113
+ "internalType": "address",
114
+ "name": "account",
115
+ "type": "address"
116
+ }
117
+ ],
118
+ "name": "Paused",
119
+ "type": "event"
120
+ },
121
+ {
122
+ "anonymous": false,
123
+ "inputs": [
124
+ {
125
+ "indexed": false,
126
+ "internalType": "address",
127
+ "name": "account",
128
+ "type": "address"
129
+ }
130
+ ],
131
+ "name": "Unpaused",
132
+ "type": "event"
133
+ },
134
+ {
135
+ "anonymous": false,
136
+ "inputs": [
137
+ {
138
+ "indexed": true,
139
+ "internalType": "address",
140
+ "name": "implementation",
141
+ "type": "address"
142
+ }
143
+ ],
144
+ "name": "Upgraded",
145
+ "type": "event"
146
+ },
147
+ {
148
+ "inputs": [],
149
+ "name": "GUARDIAN_ROLE",
150
+ "outputs": [
151
+ {
152
+ "internalType": "bytes32",
153
+ "name": "",
154
+ "type": "bytes32"
155
+ }
156
+ ],
157
+ "stateMutability": "view",
158
+ "type": "function"
159
+ },
160
+ {
161
+ "inputs": [],
162
+ "name": "LEVEL1_ROLE",
163
+ "outputs": [
164
+ {
165
+ "internalType": "bytes32",
166
+ "name": "",
167
+ "type": "bytes32"
168
+ }
169
+ ],
170
+ "stateMutability": "view",
171
+ "type": "function"
172
+ },
173
+ {
174
+ "inputs": [],
175
+ "name": "LEVEL2_ROLE",
176
+ "outputs": [
177
+ {
178
+ "internalType": "bytes32",
179
+ "name": "",
180
+ "type": "bytes32"
181
+ }
182
+ ],
183
+ "stateMutability": "view",
184
+ "type": "function"
185
+ },
186
+ {
187
+ "inputs": [],
188
+ "name": "LEVEL3_ROLE",
189
+ "outputs": [
190
+ {
191
+ "internalType": "bytes32",
192
+ "name": "",
193
+ "type": "bytes32"
194
+ }
195
+ ],
196
+ "stateMutability": "view",
197
+ "type": "function"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "LP_WHITELIST_ROLE",
202
+ "outputs": [
203
+ {
204
+ "internalType": "bytes32",
205
+ "name": "",
206
+ "type": "bytes32"
207
+ }
208
+ ],
209
+ "stateMutability": "view",
210
+ "type": "function"
211
+ },
212
+ {
213
+ "inputs": [],
214
+ "name": "TWEAK_EXPIRATION",
215
+ "outputs": [
216
+ {
217
+ "internalType": "uint40",
218
+ "name": "",
219
+ "type": "uint40"
220
+ }
221
+ ],
222
+ "stateMutability": "view",
223
+ "type": "function"
224
+ },
225
+ {
226
+ "inputs": [
227
+ {
228
+ "internalType": "contract IEToken",
229
+ "name": "",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "internalType": "address",
234
+ "name": "provider",
235
+ "type": "address"
236
+ },
237
+ {
238
+ "internalType": "uint256",
239
+ "name": "",
240
+ "type": "uint256"
241
+ }
242
+ ],
243
+ "name": "acceptsDeposit",
244
+ "outputs": [
245
+ {
246
+ "internalType": "bool",
247
+ "name": "",
248
+ "type": "bool"
249
+ }
250
+ ],
251
+ "stateMutability": "view",
252
+ "type": "function"
253
+ },
254
+ {
255
+ "inputs": [
256
+ {
257
+ "internalType": "contract IEToken",
258
+ "name": "",
259
+ "type": "address"
260
+ },
261
+ {
262
+ "internalType": "address",
263
+ "name": "",
264
+ "type": "address"
265
+ },
266
+ {
267
+ "internalType": "address",
268
+ "name": "providerTo",
269
+ "type": "address"
270
+ },
271
+ {
272
+ "internalType": "uint256",
273
+ "name": "",
274
+ "type": "uint256"
275
+ }
276
+ ],
277
+ "name": "acceptsTransfer",
278
+ "outputs": [
279
+ {
280
+ "internalType": "bool",
281
+ "name": "",
282
+ "type": "bool"
283
+ }
284
+ ],
285
+ "stateMutability": "view",
286
+ "type": "function"
287
+ },
288
+ {
289
+ "inputs": [
290
+ {
291
+ "internalType": "contract IEToken",
292
+ "name": "etoken",
293
+ "type": "address"
294
+ },
295
+ {
296
+ "internalType": "address",
297
+ "name": "provider",
298
+ "type": "address"
299
+ },
300
+ {
301
+ "internalType": "uint256",
302
+ "name": "amount",
303
+ "type": "uint256"
304
+ }
305
+ ],
306
+ "name": "acceptsWithdrawal",
307
+ "outputs": [
308
+ {
309
+ "internalType": "bool",
310
+ "name": "",
311
+ "type": "bool"
312
+ }
313
+ ],
314
+ "stateMutability": "view",
315
+ "type": "function"
316
+ },
317
+ {
318
+ "inputs": [],
319
+ "name": "currency",
320
+ "outputs": [
321
+ {
322
+ "internalType": "contract IERC20Metadata",
323
+ "name": "",
324
+ "type": "address"
325
+ }
326
+ ],
327
+ "stateMutability": "view",
328
+ "type": "function"
329
+ },
330
+ {
331
+ "inputs": [],
332
+ "name": "initialize",
333
+ "outputs": [],
334
+ "stateMutability": "nonpayable",
335
+ "type": "function"
336
+ },
337
+ {
338
+ "inputs": [],
339
+ "name": "lastTweak",
340
+ "outputs": [
341
+ {
342
+ "internalType": "uint40",
343
+ "name": "",
344
+ "type": "uint40"
345
+ },
346
+ {
347
+ "internalType": "uint56",
348
+ "name": "",
349
+ "type": "uint56"
350
+ }
351
+ ],
352
+ "stateMutability": "view",
353
+ "type": "function"
354
+ },
355
+ {
356
+ "inputs": [],
357
+ "name": "pause",
358
+ "outputs": [],
359
+ "stateMutability": "nonpayable",
360
+ "type": "function"
361
+ },
362
+ {
363
+ "inputs": [],
364
+ "name": "paused",
365
+ "outputs": [
366
+ {
367
+ "internalType": "bool",
368
+ "name": "",
369
+ "type": "bool"
370
+ }
371
+ ],
372
+ "stateMutability": "view",
373
+ "type": "function"
374
+ },
375
+ {
376
+ "inputs": [],
377
+ "name": "policyPool",
378
+ "outputs": [
379
+ {
380
+ "internalType": "contract IPolicyPool",
381
+ "name": "",
382
+ "type": "address"
383
+ }
384
+ ],
385
+ "stateMutability": "view",
386
+ "type": "function"
387
+ },
388
+ {
389
+ "inputs": [],
390
+ "name": "proxiableUUID",
391
+ "outputs": [
392
+ {
393
+ "internalType": "bytes32",
394
+ "name": "",
395
+ "type": "bytes32"
396
+ }
397
+ ],
398
+ "stateMutability": "view",
399
+ "type": "function"
400
+ },
401
+ {
402
+ "inputs": [
403
+ {
404
+ "internalType": "bytes4",
405
+ "name": "interfaceId",
406
+ "type": "bytes4"
407
+ }
408
+ ],
409
+ "name": "supportsInterface",
410
+ "outputs": [
411
+ {
412
+ "internalType": "bool",
413
+ "name": "",
414
+ "type": "bool"
415
+ }
416
+ ],
417
+ "stateMutability": "view",
418
+ "type": "function"
419
+ },
420
+ {
421
+ "inputs": [],
422
+ "name": "unpause",
423
+ "outputs": [],
424
+ "stateMutability": "nonpayable",
425
+ "type": "function"
426
+ },
427
+ {
428
+ "inputs": [
429
+ {
430
+ "internalType": "address",
431
+ "name": "newImplementation",
432
+ "type": "address"
433
+ }
434
+ ],
435
+ "name": "upgradeTo",
436
+ "outputs": [],
437
+ "stateMutability": "nonpayable",
438
+ "type": "function"
439
+ },
440
+ {
441
+ "inputs": [
442
+ {
443
+ "internalType": "address",
444
+ "name": "newImplementation",
445
+ "type": "address"
446
+ },
447
+ {
448
+ "internalType": "bytes",
449
+ "name": "data",
450
+ "type": "bytes"
451
+ }
452
+ ],
453
+ "name": "upgradeToAndCall",
454
+ "outputs": [],
455
+ "stateMutability": "payable",
456
+ "type": "function"
457
+ },
458
+ {
459
+ "inputs": [
460
+ {
461
+ "internalType": "address",
462
+ "name": "provider",
463
+ "type": "address"
464
+ },
465
+ {
466
+ "internalType": "bool",
467
+ "name": "whitelisted",
468
+ "type": "bool"
469
+ }
470
+ ],
471
+ "name": "whitelistAddress",
472
+ "outputs": [],
473
+ "stateMutability": "nonpayable",
474
+ "type": "function"
475
+ }
476
+ ],
477
+ "bytecode": "0x",
478
+ "deployedBytecode": "0x",
479
+ "linkReferences": {},
480
+ "deployedLinkReferences": {}
481
+ }
@@ -0,0 +1,492 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LPManualWhitelistV20Upgraded",
4
+ "sourceName": "contracts/migration/LPManualWhitelistV20Upgraded.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 IAccessManager.GovernanceActions",
55
+ "name": "action",
56
+ "type": "uint8"
57
+ },
58
+ {
59
+ "indexed": false,
60
+ "internalType": "address",
61
+ "name": "value",
62
+ "type": "address"
63
+ }
64
+ ],
65
+ "name": "ComponentChanged",
66
+ "type": "event"
67
+ },
68
+ {
69
+ "anonymous": false,
70
+ "inputs": [
71
+ {
72
+ "indexed": true,
73
+ "internalType": "enum IAccessManager.GovernanceActions",
74
+ "name": "action",
75
+ "type": "uint8"
76
+ },
77
+ {
78
+ "indexed": false,
79
+ "internalType": "uint256",
80
+ "name": "value",
81
+ "type": "uint256"
82
+ }
83
+ ],
84
+ "name": "GovernanceAction",
85
+ "type": "event"
86
+ },
87
+ {
88
+ "anonymous": false,
89
+ "inputs": [
90
+ {
91
+ "indexed": false,
92
+ "internalType": "uint8",
93
+ "name": "version",
94
+ "type": "uint8"
95
+ }
96
+ ],
97
+ "name": "Initialized",
98
+ "type": "event"
99
+ },
100
+ {
101
+ "anonymous": false,
102
+ "inputs": [
103
+ {
104
+ "indexed": false,
105
+ "internalType": "address",
106
+ "name": "provider",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "indexed": false,
111
+ "internalType": "bool",
112
+ "name": "whitelisted",
113
+ "type": "bool"
114
+ }
115
+ ],
116
+ "name": "LPWhitelisted",
117
+ "type": "event"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": false,
124
+ "internalType": "address",
125
+ "name": "account",
126
+ "type": "address"
127
+ }
128
+ ],
129
+ "name": "Paused",
130
+ "type": "event"
131
+ },
132
+ {
133
+ "anonymous": false,
134
+ "inputs": [
135
+ {
136
+ "indexed": false,
137
+ "internalType": "address",
138
+ "name": "account",
139
+ "type": "address"
140
+ }
141
+ ],
142
+ "name": "Unpaused",
143
+ "type": "event"
144
+ },
145
+ {
146
+ "anonymous": false,
147
+ "inputs": [
148
+ {
149
+ "indexed": true,
150
+ "internalType": "address",
151
+ "name": "implementation",
152
+ "type": "address"
153
+ }
154
+ ],
155
+ "name": "Upgraded",
156
+ "type": "event"
157
+ },
158
+ {
159
+ "inputs": [],
160
+ "name": "GUARDIAN_ROLE",
161
+ "outputs": [
162
+ {
163
+ "internalType": "bytes32",
164
+ "name": "",
165
+ "type": "bytes32"
166
+ }
167
+ ],
168
+ "stateMutability": "view",
169
+ "type": "function"
170
+ },
171
+ {
172
+ "inputs": [],
173
+ "name": "LEVEL1_ROLE",
174
+ "outputs": [
175
+ {
176
+ "internalType": "bytes32",
177
+ "name": "",
178
+ "type": "bytes32"
179
+ }
180
+ ],
181
+ "stateMutability": "view",
182
+ "type": "function"
183
+ },
184
+ {
185
+ "inputs": [],
186
+ "name": "LEVEL2_ROLE",
187
+ "outputs": [
188
+ {
189
+ "internalType": "bytes32",
190
+ "name": "",
191
+ "type": "bytes32"
192
+ }
193
+ ],
194
+ "stateMutability": "view",
195
+ "type": "function"
196
+ },
197
+ {
198
+ "inputs": [],
199
+ "name": "LEVEL3_ROLE",
200
+ "outputs": [
201
+ {
202
+ "internalType": "bytes32",
203
+ "name": "",
204
+ "type": "bytes32"
205
+ }
206
+ ],
207
+ "stateMutability": "view",
208
+ "type": "function"
209
+ },
210
+ {
211
+ "inputs": [],
212
+ "name": "LP_WHITELIST_ROLE",
213
+ "outputs": [
214
+ {
215
+ "internalType": "bytes32",
216
+ "name": "",
217
+ "type": "bytes32"
218
+ }
219
+ ],
220
+ "stateMutability": "view",
221
+ "type": "function"
222
+ },
223
+ {
224
+ "inputs": [],
225
+ "name": "TWEAK_EXPIRATION",
226
+ "outputs": [
227
+ {
228
+ "internalType": "uint40",
229
+ "name": "",
230
+ "type": "uint40"
231
+ }
232
+ ],
233
+ "stateMutability": "view",
234
+ "type": "function"
235
+ },
236
+ {
237
+ "inputs": [
238
+ {
239
+ "internalType": "contract IEToken",
240
+ "name": "",
241
+ "type": "address"
242
+ },
243
+ {
244
+ "internalType": "address",
245
+ "name": "provider",
246
+ "type": "address"
247
+ },
248
+ {
249
+ "internalType": "uint256",
250
+ "name": "",
251
+ "type": "uint256"
252
+ }
253
+ ],
254
+ "name": "acceptsDeposit",
255
+ "outputs": [
256
+ {
257
+ "internalType": "bool",
258
+ "name": "",
259
+ "type": "bool"
260
+ }
261
+ ],
262
+ "stateMutability": "view",
263
+ "type": "function"
264
+ },
265
+ {
266
+ "inputs": [
267
+ {
268
+ "internalType": "contract IEToken",
269
+ "name": "",
270
+ "type": "address"
271
+ },
272
+ {
273
+ "internalType": "address",
274
+ "name": "",
275
+ "type": "address"
276
+ },
277
+ {
278
+ "internalType": "address",
279
+ "name": "providerTo",
280
+ "type": "address"
281
+ },
282
+ {
283
+ "internalType": "uint256",
284
+ "name": "",
285
+ "type": "uint256"
286
+ }
287
+ ],
288
+ "name": "acceptsTransfer",
289
+ "outputs": [
290
+ {
291
+ "internalType": "bool",
292
+ "name": "",
293
+ "type": "bool"
294
+ }
295
+ ],
296
+ "stateMutability": "view",
297
+ "type": "function"
298
+ },
299
+ {
300
+ "inputs": [
301
+ {
302
+ "internalType": "contract IEToken",
303
+ "name": "etk",
304
+ "type": "address"
305
+ },
306
+ {
307
+ "internalType": "address",
308
+ "name": "provider",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "internalType": "uint256",
313
+ "name": "amount",
314
+ "type": "uint256"
315
+ }
316
+ ],
317
+ "name": "acceptsWithdrawal",
318
+ "outputs": [
319
+ {
320
+ "internalType": "bool",
321
+ "name": "",
322
+ "type": "bool"
323
+ }
324
+ ],
325
+ "stateMutability": "view",
326
+ "type": "function"
327
+ },
328
+ {
329
+ "inputs": [],
330
+ "name": "currency",
331
+ "outputs": [
332
+ {
333
+ "internalType": "contract IERC20Metadata",
334
+ "name": "",
335
+ "type": "address"
336
+ }
337
+ ],
338
+ "stateMutability": "view",
339
+ "type": "function"
340
+ },
341
+ {
342
+ "inputs": [],
343
+ "name": "initialize",
344
+ "outputs": [],
345
+ "stateMutability": "nonpayable",
346
+ "type": "function"
347
+ },
348
+ {
349
+ "inputs": [],
350
+ "name": "lastTweak",
351
+ "outputs": [
352
+ {
353
+ "internalType": "uint40",
354
+ "name": "",
355
+ "type": "uint40"
356
+ },
357
+ {
358
+ "internalType": "uint56",
359
+ "name": "",
360
+ "type": "uint56"
361
+ }
362
+ ],
363
+ "stateMutability": "view",
364
+ "type": "function"
365
+ },
366
+ {
367
+ "inputs": [],
368
+ "name": "pause",
369
+ "outputs": [],
370
+ "stateMutability": "nonpayable",
371
+ "type": "function"
372
+ },
373
+ {
374
+ "inputs": [],
375
+ "name": "paused",
376
+ "outputs": [
377
+ {
378
+ "internalType": "bool",
379
+ "name": "",
380
+ "type": "bool"
381
+ }
382
+ ],
383
+ "stateMutability": "view",
384
+ "type": "function"
385
+ },
386
+ {
387
+ "inputs": [],
388
+ "name": "policyPool",
389
+ "outputs": [
390
+ {
391
+ "internalType": "contract IPolicyPool",
392
+ "name": "",
393
+ "type": "address"
394
+ }
395
+ ],
396
+ "stateMutability": "view",
397
+ "type": "function"
398
+ },
399
+ {
400
+ "inputs": [],
401
+ "name": "proxiableUUID",
402
+ "outputs": [
403
+ {
404
+ "internalType": "bytes32",
405
+ "name": "",
406
+ "type": "bytes32"
407
+ }
408
+ ],
409
+ "stateMutability": "view",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [
414
+ {
415
+ "internalType": "bytes4",
416
+ "name": "interfaceId",
417
+ "type": "bytes4"
418
+ }
419
+ ],
420
+ "name": "supportsInterface",
421
+ "outputs": [
422
+ {
423
+ "internalType": "bool",
424
+ "name": "",
425
+ "type": "bool"
426
+ }
427
+ ],
428
+ "stateMutability": "view",
429
+ "type": "function"
430
+ },
431
+ {
432
+ "inputs": [],
433
+ "name": "unpause",
434
+ "outputs": [],
435
+ "stateMutability": "nonpayable",
436
+ "type": "function"
437
+ },
438
+ {
439
+ "inputs": [
440
+ {
441
+ "internalType": "address",
442
+ "name": "newImplementation",
443
+ "type": "address"
444
+ }
445
+ ],
446
+ "name": "upgradeTo",
447
+ "outputs": [],
448
+ "stateMutability": "nonpayable",
449
+ "type": "function"
450
+ },
451
+ {
452
+ "inputs": [
453
+ {
454
+ "internalType": "address",
455
+ "name": "newImplementation",
456
+ "type": "address"
457
+ },
458
+ {
459
+ "internalType": "bytes",
460
+ "name": "data",
461
+ "type": "bytes"
462
+ }
463
+ ],
464
+ "name": "upgradeToAndCall",
465
+ "outputs": [],
466
+ "stateMutability": "payable",
467
+ "type": "function"
468
+ },
469
+ {
470
+ "inputs": [
471
+ {
472
+ "internalType": "address",
473
+ "name": "provider",
474
+ "type": "address"
475
+ },
476
+ {
477
+ "internalType": "bool",
478
+ "name": "whitelisted",
479
+ "type": "bool"
480
+ }
481
+ ],
482
+ "name": "whitelistAddress",
483
+ "outputs": [],
484
+ "stateMutability": "nonpayable",
485
+ "type": "function"
486
+ }
487
+ ],
488
+ "bytecode": "0x60c0604052306080523480156200001557600080fd5b5060405162001ba338038062001ba383398101604081905262000038916200019a565b80806001600160a01b038116620000bc5760405162461bcd60e51b815260206004820152603660248201527f506f6c696379506f6f6c436f6d706f6e656e743a20706f6c696379506f6f6c2060448201527f63616e6e6f74206265207a65726f20616464726573730000000000000000000060648201526084015b60405180910390fd5b620000c6620000db565b6001600160a01b031660a05250620001cc9050565b600054610100900460ff1615620001455760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608401620000b3565b60005460ff908116101562000198576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b600060208284031215620001ad57600080fd5b81516001600160a01b0381168114620001c557600080fd5b9392505050565b60805160a05161196b620002386000396000818161026a015281816105d10152818161097901528181610b2501528181610cb401528181610da101526110db01526000818161049d015281816104e6015281816106e30152818161072301526107b2015261196b6000f3fe60806040526004361061012a5760003560e01c80635b494dd5116100ab5780638456cb591161006f5780638456cb59146103955780639051c763146103aa578063aad4148c146103ca578063b9a45aac146103fe578063e5a6b10f1461041e578063f67b2bad1461043357600080fd5b80635b494dd5146102ca5780635c975abb146102fe5780635fcdca37146103165780637ed5acfa146103535780638129fc1c1461038057600080fd5b8063468a8c9f116100f2578063468a8c9f146101eb5780634a47a3e0146102275780634d15eb031461025b5780634f1ef286146102a257806352d1902d146102b557600080fd5b806301ffc9a71461012f57806324ea54f4146101645780633659cfe61461019457806337ee20dd146101b65780633f4ba83a146101d6575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611516565b610467565b60405190151581526020015b60405180910390f35b34801561017057600080fd5b5061018660008051602061191683398151915281565b60405190815260200161015b565b3480156101a057600080fd5b506101b46101af366004611555565b610493565b005b3480156101c257600080fd5b5061014f6101d1366004611572565b61057b565b3480156101e257600080fd5b506101b461059f565b3480156101f757600080fd5b5060c9546040805164ffffffffff831681526501000000000090920466ffffffffffffff1660208301520161015b565b34801561023357600080fd5b506101867fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b34801561026757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161015b565b6101b46102b03660046115c9565b6106d9565b3480156102c157600080fd5b506101866107a5565b3480156102d657600080fd5b506101867f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b34801561030a57600080fd5b5060975460ff1661014f565b34801561032257600080fd5b5061014f61033136600461168d565b506001600160a01b0316600090815260fb602052604090205460ff1692915050565b34801561035f57600080fd5b5061036a6201518081565b60405164ffffffffff909116815260200161015b565b34801561038c57600080fd5b506101b4610858565b3480156103a157600080fd5b506101b4610968565b3480156103b657600080fd5b5061014f6103c5366004611572565b610a80565b3480156103d657600080fd5b506101867fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b34801561040a57600080fd5b506101b46104193660046116ec565b610b02565b34801561042a57600080fd5b5061028a610cb0565b34801561043f57600080fd5b506101867fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb281565b600061047282610d39565b8061048d57506001600160e01b0319821663f8722d8960e01b145b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104e45760405162461bcd60e51b81526004016104db90611725565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661052d6000805160206118cf833981519152546001600160a01b031690565b6001600160a01b0316146105535760405162461bcd60e51b81526004016104db90611771565b61055c81610d6f565b6040805160008082526020820190925261057891839190610ea6565b50565b6001600160a01b038216600090815260fb602052604090205460ff165b9392505050565b6000805160206119168339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906117bd565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a480820192600092909190829003018186803b1580156106b557600080fd5b505afa1580156106c9573d6000803e3d6000fd5b505050506106d5611011565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107215760405162461bcd60e51b81526004016104db90611725565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661076a6000805160206118cf833981519152546001600160a01b031690565b6001600160a01b0316146107905760405162461bcd60e51b81526004016104db90611771565b61079982610d6f565b6106d582826001610ea6565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108455760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104db565b506000805160206118cf83398151915290565b600054610100900460ff16158080156108785750600054600160ff909116105b806108925750303b158015610892575060005460ff166001145b6108f55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104db565b6000805460ff191660011790558015610918576000805461ff0019166101001790555b610920611063565b8015610578576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6000805160206119168339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f991906117bd565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201526001606482015260840160006040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b5050505061057861109c565b6040516337ee20dd60e01b81526001600160a01b038085166004830152831660248201526044810182905260009030906337ee20dd90606401602060405180830381865afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa91906117da565b949350505050565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba591906117bd565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201526000606482015260840160006040518083038186803b158015610c0c57600080fd5b505afa158015610c20573d6000803e3d6000fd5b5050506001600160a01b038416600090815260fb602052604090205460ff161515831515149050610cab576001600160a01b038316600081815260fb6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a15b505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3491906117bd565b905090565b60006001600160e01b031982166301ffc9a760e01b148061048d57506001600160e01b03198216634d15eb0360e01b1492915050565b6000805160206119168339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2191906117bd565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a480820192600092909190829003018186803b158015610e8557600080fd5b505afa158015610e99573d6000803e3d6000fd5b50505050610cab836110d9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610ed957610cab836111ca565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f33575060408051601f3d908101601f19168201909252610f30918101906117f7565b60015b610f965760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016104db565b6000805160206118cf83398151915281146110055760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016104db565b50610cab838383611266565b611019611291565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff1661108a5760405162461bcd60e51b81526004016104db90611810565b6110926112da565b61109a611301565b565b6110a4611330565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110463390565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015611141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116591906117bd565b6001600160a01b0316146105785760405162461bcd60e51b815260206004820152602660248201527f43616e27742075706772616465206368616e67696e672074686520506f6c696360448201526579506f6f6c2160d01b60648201526084016104db565b6001600160a01b0381163b6112375760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016104db565b6000805160206118cf83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61126f83611376565b60008251118061127c5750805b15610cab5761128b83836113b6565b50505050565b60975460ff1661109a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016104db565b600054610100900460ff1661109a5760405162461bcd60e51b81526004016104db90611810565b600054610100900460ff166113285760405162461bcd60e51b81526004016104db90611810565b61109a6114aa565b60975460ff161561109a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104db565b61137f816111ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61141e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016104db565b600080846001600160a01b031684604051611439919061187f565b600060405180830381855af49150503d8060008114611474576040519150601f19603f3d011682016040523d82523d6000602084013e611479565b606091505b50915091506114a182826040518060600160405280602781526020016118ef602791396114dd565b95945050505050565b600054610100900460ff166114d15760405162461bcd60e51b81526004016104db90611810565b6097805460ff19169055565b606083156114ec575081610598565b8251156114fc5782518084602001fd5b8160405162461bcd60e51b81526004016104db919061189b565b60006020828403121561152857600080fd5b81356001600160e01b03198116811461059857600080fd5b6001600160a01b038116811461057857600080fd5b60006020828403121561156757600080fd5b813561059881611540565b60008060006060848603121561158757600080fd5b833561159281611540565b925060208401356115a281611540565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156115dc57600080fd5b82356115e781611540565b9150602083013567ffffffffffffffff8082111561160457600080fd5b818501915085601f83011261161857600080fd5b81358181111561162a5761162a6115b3565b604051601f8201601f19908116603f01168101908382118183101715611652576116526115b3565b8160405282815288602084870101111561166b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600080608085870312156116a357600080fd5b84356116ae81611540565b935060208501356116be81611540565b925060408501356116ce81611540565b9396929550929360600135925050565b801515811461057857600080fd5b600080604083850312156116ff57600080fd5b823561170a81611540565b9150602083013561171a816116de565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156117cf57600080fd5b815161059881611540565b6000602082840312156117ec57600080fd5b8151610598816116de565b60006020828403121561180957600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b8381101561187657818101518382015260200161185e565b50506000910152565b6000825161189181846020870161185b565b9190910192915050565b60208152600082518060208401526118ba81604085016020870161185b565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a264697066735822122063840e55feaffff57efcdbc1957c98ca0d216f7744d1c8afcb3f0fcd4244eadb64736f6c63430008100033",
489
+ "deployedBytecode": "0x60806040526004361061012a5760003560e01c80635b494dd5116100ab5780638456cb591161006f5780638456cb59146103955780639051c763146103aa578063aad4148c146103ca578063b9a45aac146103fe578063e5a6b10f1461041e578063f67b2bad1461043357600080fd5b80635b494dd5146102ca5780635c975abb146102fe5780635fcdca37146103165780637ed5acfa146103535780638129fc1c1461038057600080fd5b8063468a8c9f116100f2578063468a8c9f146101eb5780634a47a3e0146102275780634d15eb031461025b5780634f1ef286146102a257806352d1902d146102b557600080fd5b806301ffc9a71461012f57806324ea54f4146101645780633659cfe61461019457806337ee20dd146101b65780633f4ba83a146101d6575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611516565b610467565b60405190151581526020015b60405180910390f35b34801561017057600080fd5b5061018660008051602061191683398151915281565b60405190815260200161015b565b3480156101a057600080fd5b506101b46101af366004611555565b610493565b005b3480156101c257600080fd5b5061014f6101d1366004611572565b61057b565b3480156101e257600080fd5b506101b461059f565b3480156101f757600080fd5b5060c9546040805164ffffffffff831681526501000000000090920466ffffffffffffff1660208301520161015b565b34801561023357600080fd5b506101867fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b34801561026757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161015b565b6101b46102b03660046115c9565b6106d9565b3480156102c157600080fd5b506101866107a5565b3480156102d657600080fd5b506101867f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b34801561030a57600080fd5b5060975460ff1661014f565b34801561032257600080fd5b5061014f61033136600461168d565b506001600160a01b0316600090815260fb602052604090205460ff1692915050565b34801561035f57600080fd5b5061036a6201518081565b60405164ffffffffff909116815260200161015b565b34801561038c57600080fd5b506101b4610858565b3480156103a157600080fd5b506101b4610968565b3480156103b657600080fd5b5061014f6103c5366004611572565b610a80565b3480156103d657600080fd5b506101867fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b34801561040a57600080fd5b506101b46104193660046116ec565b610b02565b34801561042a57600080fd5b5061028a610cb0565b34801561043f57600080fd5b506101867fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb281565b600061047282610d39565b8061048d57506001600160e01b0319821663f8722d8960e01b145b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104e45760405162461bcd60e51b81526004016104db90611725565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661052d6000805160206118cf833981519152546001600160a01b031690565b6001600160a01b0316146105535760405162461bcd60e51b81526004016104db90611771565b61055c81610d6f565b6040805160008082526020820190925261057891839190610ea6565b50565b6001600160a01b038216600090815260fb602052604090205460ff165b9392505050565b6000805160206119168339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906117bd565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a480820192600092909190829003018186803b1580156106b557600080fd5b505afa1580156106c9573d6000803e3d6000fd5b505050506106d5611011565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107215760405162461bcd60e51b81526004016104db90611725565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661076a6000805160206118cf833981519152546001600160a01b031690565b6001600160a01b0316146107905760405162461bcd60e51b81526004016104db90611771565b61079982610d6f565b6106d582826001610ea6565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108455760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104db565b506000805160206118cf83398151915290565b600054610100900460ff16158080156108785750600054600160ff909116105b806108925750303b158015610892575060005460ff166001145b6108f55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104db565b6000805460ff191660011790558015610918576000805461ff0019166101001790555b610920611063565b8015610578576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6000805160206119168339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f991906117bd565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201526001606482015260840160006040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b5050505061057861109c565b6040516337ee20dd60e01b81526001600160a01b038085166004830152831660248201526044810182905260009030906337ee20dd90606401602060405180830381865afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa91906117da565b949350505050565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba591906117bd565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201526000606482015260840160006040518083038186803b158015610c0c57600080fd5b505afa158015610c20573d6000803e3d6000fd5b5050506001600160a01b038416600090815260fb602052604090205460ff161515831515149050610cab576001600160a01b038316600081815260fb6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a15b505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3491906117bd565b905090565b60006001600160e01b031982166301ffc9a760e01b148061048d57506001600160e01b03198216634d15eb0360e01b1492915050565b6000805160206119168339815191527fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2191906117bd565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a480820192600092909190829003018186803b158015610e8557600080fd5b505afa158015610e99573d6000803e3d6000fd5b50505050610cab836110d9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610ed957610cab836111ca565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f33575060408051601f3d908101601f19168201909252610f30918101906117f7565b60015b610f965760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016104db565b6000805160206118cf83398151915281146110055760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016104db565b50610cab838383611266565b611019611291565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff1661108a5760405162461bcd60e51b81526004016104db90611810565b6110926112da565b61109a611301565b565b6110a4611330565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110463390565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015611141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116591906117bd565b6001600160a01b0316146105785760405162461bcd60e51b815260206004820152602660248201527f43616e27742075706772616465206368616e67696e672074686520506f6c696360448201526579506f6f6c2160d01b60648201526084016104db565b6001600160a01b0381163b6112375760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016104db565b6000805160206118cf83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61126f83611376565b60008251118061127c5750805b15610cab5761128b83836113b6565b50505050565b60975460ff1661109a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016104db565b600054610100900460ff1661109a5760405162461bcd60e51b81526004016104db90611810565b600054610100900460ff166113285760405162461bcd60e51b81526004016104db90611810565b61109a6114aa565b60975460ff161561109a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104db565b61137f816111ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61141e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016104db565b600080846001600160a01b031684604051611439919061187f565b600060405180830381855af49150503d8060008114611474576040519150601f19603f3d011682016040523d82523d6000602084013e611479565b606091505b50915091506114a182826040518060600160405280602781526020016118ef602791396114dd565b95945050505050565b600054610100900460ff166114d15760405162461bcd60e51b81526004016104db90611810565b6097805460ff19169055565b606083156114ec575081610598565b8251156114fc5782518084602001fd5b8160405162461bcd60e51b81526004016104db919061189b565b60006020828403121561152857600080fd5b81356001600160e01b03198116811461059857600080fd5b6001600160a01b038116811461057857600080fd5b60006020828403121561156757600080fd5b813561059881611540565b60008060006060848603121561158757600080fd5b833561159281611540565b925060208401356115a281611540565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156115dc57600080fd5b82356115e781611540565b9150602083013567ffffffffffffffff8082111561160457600080fd5b818501915085601f83011261161857600080fd5b81358181111561162a5761162a6115b3565b604051601f8201601f19908116603f01168101908382118183101715611652576116526115b3565b8160405282815288602084870101111561166b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600080608085870312156116a357600080fd5b84356116ae81611540565b935060208501356116be81611540565b925060408501356116ce81611540565b9396929550929360600135925050565b801515811461057857600080fd5b600080604083850312156116ff57600080fd5b823561170a81611540565b9150602083013561171a816116de565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156117cf57600080fd5b815161059881611540565b6000602082840312156117ec57600080fd5b8151610598816116de565b60006020828403121561180957600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b8381101561187657818101518382015260200161185e565b50506000910152565b6000825161189181846020870161185b565b9190910192915050565b60208152600082518060208401526118ba81604085016020870161185b565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a264697066735822122063840e55feaffff57efcdbc1957c98ca0d216f7744d1c8afcb3f0fcd4244eadb64736f6c63430008100033",
490
+ "linkReferences": {},
491
+ "deployedLinkReferences": {}
492
+ }
@@ -0,0 +1,73 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {IPolicyPool} from "../interfaces/IPolicyPool.sol";
5
+ import {PolicyPoolComponent} from "../PolicyPoolComponent.sol";
6
+ import {ILPWhitelist} from "../interfaces/ILPWhitelist.sol";
7
+ import {IEToken} from "../interfaces/IEToken.sol";
8
+
9
+ /**
10
+ * @title Manual Whitelisting contract - V2.0
11
+ * @dev LP addresses are whitelisted (and un-whitelisted) manually with transactions by user with given role
12
+ * @custom:security-contact security@ensuro.co
13
+ * @author Ensuro
14
+ */
15
+ abstract contract LPManualWhitelistV20 is ILPWhitelist, PolicyPoolComponent {
16
+ bytes32 public constant LP_WHITELIST_ROLE = keccak256("LP_WHITELIST_ROLE");
17
+
18
+ mapping(address => bool) private _whitelisted;
19
+
20
+ event LPWhitelisted(address provider, bool whitelisted);
21
+
22
+ /// @custom:oz-upgrades-unsafe-allow constructor
23
+ // solhint-disable-next-line no-empty-blocks
24
+ constructor(IPolicyPool policyPool_) PolicyPoolComponent(policyPool_) {}
25
+
26
+ /**
27
+ * @dev Initializes the Whitelist contract
28
+ */
29
+ function initialize() public initializer {
30
+ __PolicyPoolComponent_init();
31
+ }
32
+
33
+ function whitelistAddress(address provider, bool whitelisted)
34
+ external
35
+ onlyComponentRole(LP_WHITELIST_ROLE)
36
+ {
37
+ if (_whitelisted[provider] != whitelisted) {
38
+ _whitelisted[provider] = whitelisted;
39
+ emit LPWhitelisted(provider, whitelisted);
40
+ }
41
+ }
42
+
43
+ /**
44
+ * @dev See {IERC165-supportsInterface}.
45
+ */
46
+ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
47
+ return super.supportsInterface(interfaceId) || interfaceId == type(ILPWhitelist).interfaceId;
48
+ }
49
+
50
+ function acceptsDeposit(
51
+ IEToken,
52
+ address provider,
53
+ uint256
54
+ ) external view override returns (bool) {
55
+ return _whitelisted[provider];
56
+ }
57
+
58
+ function acceptsTransfer(
59
+ IEToken,
60
+ address,
61
+ address providerTo,
62
+ uint256
63
+ ) external view override returns (bool) {
64
+ return _whitelisted[providerTo];
65
+ }
66
+
67
+ /**
68
+ * @dev This empty reserved space is put in place to allow future versions to add new
69
+ * variables without shifting down storage in the inheritance chain.
70
+ * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
71
+ */
72
+ uint256[49] private __gap;
73
+ }
@@ -0,0 +1,25 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {IPolicyPool} from "../interfaces/IPolicyPool.sol";
5
+ import {IEToken} from "../interfaces/IEToken.sol";
6
+ import {LPManualWhitelistV20} from "./LPManualWhitelistV20.sol";
7
+
8
+ /**
9
+ * @title Manual Whitelisting contract - Migration from 2.0 to 2.1
10
+ * @dev Contract with the same storage as the LPManualWhitelist 2.0 but that complies with the new interface
11
+ * useful for update in place of the current whitelist
12
+ * @custom:security-contact security@ensuro.co
13
+ * @author Ensuro
14
+ */
15
+ contract LPManualWhitelistV20Upgraded is LPManualWhitelistV20 {
16
+ constructor(IPolicyPool policyPool_) LPManualWhitelistV20(policyPool_) {}
17
+
18
+ function acceptsWithdrawal(
19
+ IEToken etk,
20
+ address provider,
21
+ uint256 amount
22
+ ) external view override returns (bool) {
23
+ return this.acceptsDeposit(etk, provider, amount);
24
+ }
25
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ensuro/core",
3
3
  "description": "Ensuro - Decentralized insurance protocol",
4
- "version": "2.1.0-beta5",
4
+ "version": "2.1.0",
5
5
  "files": [
6
6
  "**/*.sol",
7
7
  "/build/contracts/*.json",