@@ -5,15 +5,16 @@ import {IERC20} from "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
5
5
6
6
/// @notice Contract capable of processing fulfillment of intent-based Orders.
7
7
abstract contract OrderDestination {
8
- /// @notice Emitted when an Order output is fulfilled.
8
+ /// @notice Emitted when an Order's Output is sent to the recipient.
9
+ /// @dev There may be multiple Outputs per Order.
10
+ /// @param recipient - The recipient of the token.
9
11
/// @param token - The address of the token transferred to the recipient. address(0) corresponds to native Ether.
10
12
/// @param amount - The amount of the token transferred to the recipient.
11
- /// @param recipient - The recipient of the token.
12
- event OrderFulfilled (address indexed recipient , address indexed token , uint256 amount );
13
+ event OutputFilled (address indexed recipient , address indexed token , uint256 amount );
13
14
14
- /// @notice Fulfill a rollup Swap order .
15
- /// The user calls `initiate` on a rollup; the Builder calls `fill` on the target chain.
16
- /// @custom:emits OrderFulfilled
15
+ /// @notice Send the Output(s) of an Order to fulfill it .
16
+ /// The user calls `initiate` on a rollup; the Builder calls `fill` on the target chain for each Output .
17
+ /// @custom:emits OutputFilled
17
18
/// @param recipient - The recipient of the token.
18
19
/// @param token - The address of the token to be transferred to the recipient.
19
20
/// address(0) corresponds to native Ether.
@@ -25,7 +26,7 @@ abstract contract OrderDestination {
25
26
} else {
26
27
IERC20 (token).transferFrom (msg .sender , recipient, amount);
27
28
}
28
- emit OrderFulfilled (recipient, token, amount);
29
+ emit OutputFilled (recipient, token, amount);
29
30
}
30
31
}
31
32
0 commit comments