@@ -41,6 +41,12 @@ interface IHTLC {
4141/// @author LI.FI (https://li.fi)
4242/// @custom:version 1.0.0
4343contract MockHTLC is IHTLC {
44+ error OrderDoesNotExist ();
45+ error OrderAlreadyCompleted ();
46+ error OrderAlreadyRefunded ();
47+ error TimelockNotExpired ();
48+ error OnlyInitiatorCanRefund ();
49+
4450 struct Order {
4551 address initiator;
4652 address redeemer;
@@ -57,11 +63,11 @@ contract MockHTLC is IHTLC {
5763 /// @param orderID The ID of the HTLC order
5864 function refund (bytes32 orderID ) external {
5965 Order storage order = orders[orderID];
60- require (order.initiator != address (0 ), " Order does not exist " );
61- require ( ! order.completed, " Order already completed " );
62- require ( ! order.refunded, " Order already refunded " );
63- require (block .number >= order.timelock, " Timelock not expired " );
64- require (msg .sender == order.initiator, " Only initiator can refund " );
66+ if (order.initiator == address (0 )) revert OrderDoesNotExist ( );
67+ if ( order.completed) revert OrderAlreadyCompleted ( );
68+ if ( order.refunded) revert OrderAlreadyRefunded ( );
69+ if (block .number < order.timelock) revert TimelockNotExpired ( );
70+ if (msg .sender != order.initiator) revert OnlyInitiatorCanRefund ( );
6571
6672 order.refunded = true ;
6773 // In a real implementation, this would transfer funds
@@ -93,4 +99,4 @@ contract MockHTLC is IHTLC {
9399 refunded: false
94100 });
95101 }
96- }
102+ }
0 commit comments