forked from neptune-mutual-blue/protocol
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathIResolvable.sol
43 lines (36 loc) · 1.17 KB
/
IResolvable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Neptune Mutual Protocol (https://neptunemutual.com)
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
interface IResolvable {
event Resolved(
bytes32 indexed coverKey,
bytes32 indexed productKey,
uint256 incidentDate,
uint256 resolutionDeadline,
bool decision,
bool emergency,
uint256 claimBeginsFrom,
uint256 claimExpiresAt
);
event CooldownPeriodConfigured(bytes32 indexed coverKey, uint256 period);
event ReportClosed(bytes32 indexed coverKey, bytes32 indexed productKey, address indexed closedBy, uint256 incidentDate);
function resolve(
bytes32 coverKey,
bytes32 productKey,
uint256 incidentDate
) external;
function emergencyResolve(
bytes32 coverKey,
bytes32 productKey,
uint256 incidentDate,
bool decision
) external;
function closeReport(
bytes32 coverKey,
bytes32 productKey,
uint256 incidentDate
) external;
function configureCoolDownPeriod(bytes32 coverKey, uint256 period) external;
function getCoolDownPeriod(bytes32 coverKey) external view returns (uint256);
function getResolutionDeadline(bytes32 coverKey, bytes32 productKey) external view returns (uint256);
}