Skip to content

Commit

Permalink
Prevent Basic flow from interacting with Permit2
Browse files Browse the repository at this point in the history
  • Loading branch information
dekz committed Jul 10, 2023
1 parent 0b36675 commit d258b1b
Show file tree
Hide file tree
Showing 51 changed files with 59 additions and 49 deletions.
2 changes: 1 addition & 1 deletion .forge-snapshots/curveV2Pool_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
293853
361267
2 changes: 1 addition & 1 deletion .forge-snapshots/curveV2Pool_swapRouter_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
364005
431419
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_basic_curve_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
368143
441124
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_curveV2VIP_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
363926
436876
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_curveV2_fee_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
374947
447897
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_metaTxn_uniswapV3_DAI-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
151324
143020
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_metaTxn_uniswapV3_USDC-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
167330
167307
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_metaTxn_uniswapV3_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
157712
157696
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_uniswapV3VIP_DAI-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
121884
113580
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_uniswapV3VIP_USDC-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
134547
134524
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_uniswapV3VIP_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
124845
124829
Original file line number Diff line number Diff line change
@@ -1 +1 @@
138828
130524
Original file line number Diff line number Diff line change
@@ -1 +1 @@
155665
155642
Original file line number Diff line number Diff line change
@@ -1 +1 @@
142901
142885
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_uniswapV3_DAI-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
145396
137092
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_uniswapV3_USDC-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
161402
161379
2 changes: 1 addition & 1 deletion .forge-snapshots/settler_uniswapV3_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
151784
151768
Original file line number Diff line number Diff line change
@@ -1 +1 @@
185256
176952
Original file line number Diff line number Diff line change
@@ -1 +1 @@
201262
201239
Original file line number Diff line number Diff line change
@@ -1 +1 @@
191644
191628
Original file line number Diff line number Diff line change
@@ -1 +1 @@
161032
152728
Original file line number Diff line number Diff line change
@@ -1 +1 @@
173695
173672
Original file line number Diff line number Diff line change
@@ -1 +1 @@
163993
163977
Original file line number Diff line number Diff line change
@@ -1 +1 @@
178819
170883
Original file line number Diff line number Diff line change
@@ -1 +1 @@
198029
197983
Original file line number Diff line number Diff line change
@@ -1 +1 @@
187155
187123
Original file line number Diff line number Diff line change
@@ -1 +1 @@
161889
153585
Original file line number Diff line number Diff line change
@@ -1 +1 @@
182069
182046
Original file line number Diff line number Diff line change
@@ -1 +1 @@
169389
169373
2 changes: 1 addition & 1 deletion .forge-snapshots/uniswapRouter_uniswapV3_DAI-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
104158
105467
2 changes: 1 addition & 1 deletion .forge-snapshots/uniswapRouter_uniswapV3_USDC-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
125460
126411
2 changes: 1 addition & 1 deletion .forge-snapshots/uniswapRouter_uniswapV3_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
116570
116522
2 changes: 1 addition & 1 deletion .forge-snapshots/zeroEx_curveV2VIP_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
405054
472468
Original file line number Diff line number Diff line change
@@ -1 +1 @@
410036
477450
2 changes: 1 addition & 1 deletion .forge-snapshots/zeroEx_metaTxn_uniswapV3_DAI-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
231270
232579
2 changes: 1 addition & 1 deletion .forge-snapshots/zeroEx_metaTxn_uniswapV3_USDC-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
252572
253523
2 changes: 1 addition & 1 deletion .forge-snapshots/zeroEx_metaTxn_uniswapV3_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
243810
243762
2 changes: 1 addition & 1 deletion .forge-snapshots/zeroEx_uniswapV3VIP_DAI-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
102959
104268
2 changes: 1 addition & 1 deletion .forge-snapshots/zeroEx_uniswapV3VIP_USDC-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
124261
125212
2 changes: 1 addition & 1 deletion .forge-snapshots/zeroEx_uniswapV3VIP_USDT-WETH.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
115499
115451
Original file line number Diff line number Diff line change
@@ -1 +1 @@
116475
117784
Original file line number Diff line number Diff line change
@@ -1 +1 @@
137762
138713
Original file line number Diff line number Diff line change
@@ -1 +1 @@
129000
128952
Original file line number Diff line number Diff line change
@@ -1 +1 @@
154293
156911
Original file line number Diff line number Diff line change
@@ -1 +1 @@
179576
181478
Original file line number Diff line number Diff line change
@@ -1 +1 @@
169352
169256
Original file line number Diff line number Diff line change
@@ -1 +1 @@
213732
215041
Original file line number Diff line number Diff line change
@@ -1 +1 @@
245470
246421
Original file line number Diff line number Diff line change
@@ -1 +1 @@
230364
230316
1 change: 1 addition & 0 deletions src/Settler.sol
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ contract Settler is Basic, OtcOrderSettlement, UniswapV3, Permit2Payment, CurveV
uint256 private constant LOWER_255_BITS = HIGH_BIT - 1;

constructor(address permit2, address zeroEx, address uniFactory, bytes32 poolInitCodeHash)
Basic(permit2)
CurveV2()
OtcOrderSettlement(permit2)
Permit2Payment(permit2)
Expand Down
9 changes: 9 additions & 0 deletions src/core/Basic.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ import {SafeTransferLib} from "../utils/SafeTransferLib.sol";
abstract contract Basic {
using SafeTransferLib for ERC20;

/// @dev Permit2 address
address private immutable PERMIT2;

constructor(address permit2) {
PERMIT2 = permit2;
}

/// @dev Sell to a pool with a generic approval, transferFrom interaction.
/// offset in the calldata is used to update the sellAmount given a proportion of the sellToken balance
/// @return buyAmount Amount of tokens bought
Expand All @@ -19,6 +26,8 @@ abstract contract Basic {
uint256 offset,
bytes memory data
) internal returns (uint256 buyAmount) {
require(pool != PERMIT2, "Basic: Pool address invalid");

uint256 beforeBalanceSell = sellToken.balanceOf(address(this));
uint256 proportionSellBalance = (beforeBalanceSell * bips) / 10_000;
// Update the sellAmount given a proportion of the sellToken balance
Expand Down

0 comments on commit d258b1b

Please sign in to comment.