Skip to content

Commit d942f73

Browse files
add claim closing, refine payout handling
1 parent af18849 commit d942f73

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

contracts/components/Product.sol

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,6 @@ abstract contract Product is
174174
data);
175175
}
176176

177-
function _declineClaim(bytes32 processId, uint256 claimId) internal {
178-
_productService.declineClaim(processId, claimId);
179-
}
180-
181177
function _confirmClaim(
182178
bytes32 processId,
183179
uint256 claimId,
@@ -194,6 +190,14 @@ abstract contract Product is
194190
data);
195191
}
196192

193+
function _declineClaim(bytes32 processId, uint256 claimId) internal {
194+
_productService.declineClaim(processId, claimId);
195+
}
196+
197+
function _closeClaim(bytes32 processId, uint256 claimId) internal {
198+
_productService.closeClaim(processId, claimId);
199+
}
200+
197201
function _newPayout(
198202
bytes32 processId,
199203
uint256 claimId,

contracts/modules/IPolicy.sol

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,26 +32,23 @@ interface IPolicy {
3232

3333
event LogPremiumCollected(bytes32 processId, uint256 amount);
3434

35-
event LogClaimCreated(bytes32 processId, uint256 claimId);
36-
event LogClaimConfirmed(bytes32 processId, uint256 claimId);
35+
event LogClaimCreated(bytes32 processId, uint256 claimId, uint256 claimAmount);
36+
event LogClaimConfirmed(bytes32 processId, uint256 claimId, uint256 confirmedAmount);
3737
event LogClaimDeclined(bytes32 processId, uint256 claimId);
38+
event LogClaimClosed(bytes32 processId, uint256 claimId);
3839

3940
event LogPayoutCreated(
4041
bytes32 processId,
4142
uint256 claimId,
42-
uint256 payoutId
43+
uint256 payoutId,
44+
uint256 amount
4345
);
4446

4547
event LogPayoutProcessed(
4648
bytes32 processId,
4749
uint256 payoutId
4850
);
4951

50-
event LogPayoutCompleted(
51-
bytes32 processId,
52-
uint256 payoutId
53-
);
54-
5552
// States
5653
enum PolicyFlowState {Started, Paused, Finished}
5754
enum ApplicationState {Applied, Revoked, Underwritten, Declined}
@@ -145,6 +142,7 @@ interface IPolicy {
145142

146143
function confirmClaim(bytes32 processId, uint256 claimId) external;
147144
function declineClaim(bytes32 processId, uint256 claimId) external;
145+
function closeClaim(bytes32 processId, uint256 claimId) external;
148146

149147
function createPayout(
150148
bytes32 processId,
@@ -155,8 +153,6 @@ interface IPolicy {
155153

156154
function processPayout(
157155
bytes32 processId,
158-
uint256 payoutId,
159-
bool isComplete,
160-
bytes calldata data
156+
uint256 payoutId
161157
) external;
162158
}

contracts/services/IProductService.sol

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,16 @@ interface IProductService {
3131
bytes calldata data
3232
) external returns(uint256 claimId);
3333

34-
function declineClaim(bytes32 processId, uint256 claimId) external;
35-
3634
function confirmClaim(
3735
bytes32 processId,
3836
uint256 claimId,
3937
uint256 payoutAmount,
4038
bytes calldata data
4139
) external returns(uint256 payoutId);
4240

41+
function declineClaim(bytes32 processId, uint256 claimId) external;
42+
function closeClaim(bytes32 processId, uint256 claimId) external;
43+
4344
function newPayout(
4445
bytes32 processId,
4546
uint256 claimId,

0 commit comments

Comments
 (0)