diff --git a/src/core/FlashAccountingCommon.sol b/src/core/FlashAccountingCommon.sol index 148d3039..8ae406a5 100644 --- a/src/core/FlashAccountingCommon.sol +++ b/src/core/FlashAccountingCommon.sol @@ -598,7 +598,7 @@ library Take { } let ptr := mload(0x40) mstore(ptr, selector) - if eq(token, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee) { token := 0x00 } + token := mul(token, iszero(eq(0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, token))) mstore(add(0x20, ptr), token) mstore(add(0x40, ptr), and(0xffffffffffffffffffffffffffffffffffffffff, to)) mstore(add(0x60, ptr), amount) diff --git a/src/core/UniswapV4Types.sol b/src/core/UniswapV4Types.sol index f4a09e6b..196b1702 100644 --- a/src/core/UniswapV4Types.sol +++ b/src/core/UniswapV4Types.sol @@ -122,7 +122,7 @@ library UnsafePoolManager { let ptr := mload(0x40) mstore(ptr, 0xf3cd914c) // selector for `swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)` let token0 := mload(key) - if eq(token0, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee) { token0 := 0x00 } + token0 := mul(token0, iszero(eq(0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, token0))) mstore(add(0x20, ptr), token0) mcopy(add(0x40, ptr), add(0x20, key), 0x80) mcopy(add(0xc0, ptr), params, 0x60)