Skip to content

Commit 6a1dc9a

Browse files
authored
add to (#70)
1 parent 37f386a commit 6a1dc9a

File tree

3 files changed

+15
-18
lines changed

3 files changed

+15
-18
lines changed

.gas-snapshot

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
OrderOriginPermit2Test:test_fillPermit2() (gas: 225289)
22
OrderOriginPermit2Test:test_fillPermit2_multi() (gas: 1019134)
3-
OrderOriginPermit2Test:test_initiatePermit2() (gas: 235752)
4-
OrderOriginPermit2Test:test_initiatePermit2_multi() (gas: 989274)
5-
OrdersTest:test_fill_ERC20() (gas: 70537)
6-
OrdersTest:test_fill_ETH() (gas: 68498)
7-
OrdersTest:test_fill_both() (gas: 166773)
8-
OrdersTest:test_fill_multiETH() (gas: 132119)
9-
OrdersTest:test_fill_underflowETH() (gas: 115403)
3+
OrderOriginPermit2Test:test_initiatePermit2() (gas: 235774)
4+
OrderOriginPermit2Test:test_initiatePermit2_multi() (gas: 992096)
5+
OrdersTest:test_fill_ERC20() (gas: 70559)
6+
OrdersTest:test_fill_ETH() (gas: 68520)
7+
OrdersTest:test_fill_both() (gas: 166795)
8+
OrdersTest:test_fill_multiETH() (gas: 132141)
9+
OrdersTest:test_fill_underflowETH() (gas: 115425)
1010
OrdersTest:test_initiate_ERC20() (gas: 81636)
1111
OrdersTest:test_initiate_ETH() (gas: 45150)
1212
OrdersTest:test_initiate_both() (gas: 118911)
1313
OrdersTest:test_initiate_multiERC20() (gas: 722642)
1414
OrdersTest:test_initiate_multiETH() (gas: 75538)
1515
OrdersTest:test_orderExpired() (gas: 28106)
16-
OrdersTest:test_sweepERC20() (gas: 60491)
17-
OrdersTest:test_sweepETH() (gas: 82186)
16+
OrdersTest:test_sweepERC20() (gas: 59721)
17+
OrdersTest:test_sweepETH() (gas: 82348)
1818
OrdersTest:test_underflowETH() (gas: 63690)
1919
PassagePermit2Test:test_disallowedEnterPermit2() (gas: 699630)
2020
PassagePermit2Test:test_enterTokenPermit2() (gas: 145449)

src/orders/OrderOrigin.sol

+4-7
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,14 @@ abstract contract OrderOrigin is IOrders, OrdersPermit2 {
7474
/// @param token - The token to transfer.
7575
/// @custom:emits Sweep
7676
/// @custom:reverts OnlyBuilder if called by non-block builder
77-
function sweep(address recipient, address token) external {
77+
function sweep(address recipient, address token, uint256 amount) external {
7878
// send ETH or tokens
79-
uint256 balance;
8079
if (token == address(0)) {
81-
balance = address(this).balance;
82-
payable(recipient).transfer(balance);
80+
payable(recipient).transfer(amount);
8381
} else {
84-
balance = IERC20(token).balanceOf(address(this));
85-
IERC20(token).transfer(recipient, balance);
82+
IERC20(token).transfer(recipient, amount);
8683
}
87-
emit Sweep(recipient, token, balance);
84+
emit Sweep(recipient, token, amount);
8885
}
8986

9087
/// @notice Transfer the Order inputs to this contract, where they can be collected by the Order filler via `sweep`.

test/Orders.t.sol

+2-2
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ contract OrdersTest is Test {
157157
// sweep ETH
158158
vm.expectEmit();
159159
emit Sweep(recipient, address(0), amount);
160-
target.sweep(recipient, address(0));
160+
target.sweep(recipient, address(0), amount);
161161

162162
assertEq(recipient.balance, amount);
163163
}
@@ -173,7 +173,7 @@ contract OrdersTest is Test {
173173
vm.expectEmit();
174174
emit Sweep(recipient, token, amount);
175175
vm.expectCall(token, abi.encodeWithSelector(ERC20.transfer.selector, recipient, amount));
176-
target.sweep(recipient, token);
176+
target.sweep(recipient, token, amount);
177177
}
178178

179179
function test_fill_ETH() public {

0 commit comments

Comments
 (0)