Skip to content

Commit 1cf61b4

Browse files
authored
Merge branch 'main' into get-rid-of-unecessary-using-directives-1
2 parents 6776c10 + ab76d3b commit 1cf61b4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+880
-650
lines changed

foundry.toml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
11
[profile.default]
22
out = 'foundry-out'
33
solc_version = '0.8.26'
4-
optimizer_runs = 1
4+
optimizer_runs = 44444444
55
via_ir = true
66
ffi = true
7-
fs_permissions = [{ access = "read-write", path = ".forge-snapshots/"}]
7+
fs_permissions = [{ access = "read-write", path = ".forge-snapshots/" }, { access = "read", path = "foundry-out/" }]
88
evm_version = "cancun"
99
gas_limit = "3000000000"
1010
fuzz_runs = 10_000
1111
bytecode_hash = "none"
1212

13+
additional_compiler_profiles = [
14+
{ name = "posm", via_ir = true, optimizer_runs = 30000 },
15+
{ name = "descriptor", via_ir = true, optimizer_runs = 1 },
16+
{ name = "test", via_ir = false }
17+
]
18+
19+
compilation_restrictions = [
20+
{ paths = "src/PositionManager.sol", optimizer_runs = 30000 },
21+
{ paths = "src/PositionDescriptor.sol", optimizer_runs = 1 },
22+
{ paths = "test/**", via_ir = false }
23+
]
24+
1325
[profile.debug]
1426
via_ir = false
1527
optimizer_runs = 200

script/DeployPosm.s.sol

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@ import "forge-std/console2.sol";
55
import "forge-std/Script.sol";
66

77
import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol";
8-
import {StateView} from "../src/lens/StateView.sol";
9-
import {PositionManager} from "../src/PositionManager.sol";
108
import {IAllowanceTransfer} from "permit2/src/interfaces/IAllowanceTransfer.sol";
11-
import {IPositionDescriptor} from "../src/interfaces/IPositionDescriptor.sol";
12-
import {PositionDescriptor} from "../src/PositionDescriptor.sol";
9+
import {Deploy, IPositionDescriptor, IPositionManager} from "../test/shared/Deploy.sol";
1310
import {IWETH9} from "../src/interfaces/external/IWETH9.sol";
1411

1512
contract DeployPosmTest is Script {
@@ -21,18 +18,14 @@ contract DeployPosmTest is Script {
2118
uint256 unsubscribeGasLimit,
2219
address wrappedNative,
2320
string memory nativeCurrencyLabel
24-
) public returns (PositionDescriptor positionDescriptor, PositionManager posm) {
21+
) public returns (IPositionDescriptor positionDescriptor, IPositionManager posm) {
2522
vm.startBroadcast();
2623

27-
positionDescriptor = new PositionDescriptor(IPoolManager(poolManager), wrappedNative, nativeCurrencyLabel);
24+
positionDescriptor = Deploy.positionDescriptor(poolManager, wrappedNative, nativeCurrencyLabel, hex"00");
2825
console2.log("PositionDescriptor", address(positionDescriptor));
2926

30-
posm = new PositionManager{salt: hex"03"}(
31-
IPoolManager(poolManager),
32-
IAllowanceTransfer(permit2),
33-
unsubscribeGasLimit,
34-
IPositionDescriptor(address(positionDescriptor)),
35-
IWETH9(wrappedNative)
27+
posm = Deploy.positionManager(
28+
poolManager, permit2, unsubscribeGasLimit, address(positionDescriptor), wrappedNative, hex"03"
3629
);
3730
console2.log("PositionManager", address(posm));
3831

script/DeployStateView.s.sol

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@ pragma solidity ^0.8.20;
44
import "forge-std/console2.sol";
55
import "forge-std/Script.sol";
66

7-
import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol";
8-
import {StateView} from "../src/lens/StateView.sol";
7+
import {Deploy, IStateView} from "../test/shared/Deploy.sol";
98

109
contract DeployStateView is Script {
1110
function setUp() public {}
1211

13-
function run(address poolManager) public returns (StateView state) {
12+
function run(address poolManager) public returns (IStateView state) {
1413
vm.startBroadcast();
1514

1615
// forge script --broadcast --sig 'run(address)' --rpc-url <RPC_URL> --private-key <PRIV_KEY> --verify script/DeployStateView.s.sol:DeployStateView <POOL_MANAGER_ADDR>
17-
state = new StateView(IPoolManager(poolManager));
16+
state = Deploy.stateView(poolManager, hex"00");
1817
console2.log("StateView", address(state));
1918
console2.log("PoolManager", address(state.poolManager()));
2019

script/DeployV4Quoter.s.sol

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@ pragma solidity ^0.8.20;
44
import "forge-std/console2.sol";
55
import "forge-std/Script.sol";
66

7-
import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol";
8-
import {V4Quoter} from "../src/lens/V4Quoter.sol";
7+
import {Deploy, IV4Quoter} from "../test/shared/Deploy.sol";
98

109
contract DeployV4Quoter is Script {
1110
function setUp() public {}
1211

13-
function run(address poolManager) public returns (V4Quoter state) {
12+
function run(address poolManager) public returns (IV4Quoter state) {
1413
vm.startBroadcast();
1514

1615
// forge script --broadcast --sig 'run(address)' --rpc-url <RPC_URL> --private-key <PRIV_KEY> --verify script/DeployV4Quoter.s.sol:DeployV4Quoter <POOL_MANAGER_ADDR>
17-
state = new V4Quoter(IPoolManager(poolManager));
16+
state = Deploy.v4Quoter(poolManager, hex"00");
1817
console2.log("V4Quoter", address(state));
1918
console2.log("PoolManager", address(state.poolManager()));
2019

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"BaseActionsRouter_mock10commands": "61332"
2+
"BaseActionsRouter_mock10commands": "63076"
33
}

snapshots/PaymentsTests.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"Payments_swap_settleFromCaller_takeAllToMsgSender": "132997",
3-
"Payments_swap_settleFromCaller_takeAllToSpecifiedAddress": "134973",
4-
"Payments_swap_settleWithBalance_takeAllToMsgSender": "127102",
5-
"Payments_swap_settleWithBalance_takeAllToSpecifiedAddress": "127212"
2+
"Payments_swap_settleFromCaller_takeAllToMsgSender": "133006",
3+
"Payments_swap_settleFromCaller_takeAllToSpecifiedAddress": "134475",
4+
"Payments_swap_settleWithBalance_takeAllToMsgSender": "126957",
5+
"Payments_swap_settleWithBalance_takeAllToSpecifiedAddress": "127095"
66
}

snapshots/PosMGasTest.json

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,42 @@
11
{
2-
"PositionManager_burn_empty": "51576",
3-
"PositionManager_burn_empty_native": "51576",
4-
"PositionManager_burn_nonEmpty_native_withClose": "128316",
5-
"PositionManager_burn_nonEmpty_native_withTakePair": "127696",
6-
"PositionManager_burn_nonEmpty_withClose": "135236",
7-
"PositionManager_burn_nonEmpty_withTakePair": "134615",
8-
"PositionManager_collect_native": "148571",
9-
"PositionManager_collect_sameRange": "157220",
10-
"PositionManager_collect_withClose": "157220",
11-
"PositionManager_collect_withTakePair": "156456",
12-
"PositionManager_decreaseLiquidity_native": "114165",
13-
"PositionManager_decreaseLiquidity_withClose": "122555",
14-
"PositionManager_decreaseLiquidity_withTakePair": "121791",
15-
"PositionManager_decrease_burnEmpty": "138177",
16-
"PositionManager_decrease_burnEmpty_native": "131258",
17-
"PositionManager_decrease_sameRange_allLiquidity": "135218",
18-
"PositionManager_decrease_take_take": "123169",
19-
"PositionManager_increaseLiquidity_erc20_withClose": "162419",
20-
"PositionManager_increaseLiquidity_erc20_withSettlePair": "161283",
21-
"PositionManager_increaseLiquidity_native": "145296",
22-
"PositionManager_increase_autocompoundExactUnclaimedFees": "138010",
23-
"PositionManager_increase_autocompoundExcessFeesCredit": "180194",
24-
"PositionManager_increase_autocompound_clearExcess": "150782",
25-
"PositionManager_mint_native": "369623",
26-
"PositionManager_mint_nativeWithSweep_withClose": "378280",
27-
"PositionManager_mint_nativeWithSweep_withSettlePair": "377364",
28-
"PositionManager_mint_onSameTickLower": "321205",
29-
"PositionManager_mint_onSameTickUpper": "321875",
30-
"PositionManager_mint_sameRange": "247444",
31-
"PositionManager_mint_settleWithBalance_sweep": "423280",
32-
"PositionManager_mint_warmedPool_differentRange": "327236",
33-
"PositionManager_mint_withClose": "423986",
34-
"PositionManager_mint_withSettlePair": "422936",
35-
"PositionManager_multicall_initialize_mint": "460558",
36-
"PositionManager_permit": "79259",
37-
"PositionManager_permit_secondPosition": "62159",
38-
"PositionManager_permit_twice": "45035",
39-
"PositionManager_subscribe": "88475",
40-
"PositionManager_unsubscribe": "63253",
41-
"positionManager bytecode size": "19060"
2+
"PositionManager_burn_empty": "51102",
3+
"PositionManager_burn_empty_native": "51102",
4+
"PositionManager_burn_nonEmpty_native_withClose": "127695",
5+
"PositionManager_burn_nonEmpty_native_withTakePair": "127137",
6+
"PositionManager_burn_nonEmpty_withClose": "134600",
7+
"PositionManager_burn_nonEmpty_withTakePair": "134043",
8+
"PositionManager_collect_native": "147732",
9+
"PositionManager_collect_sameRange": "156364",
10+
"PositionManager_collect_withClose": "156364",
11+
"PositionManager_collect_withTakePair": "155679",
12+
"PositionManager_decreaseLiquidity_native": "113681",
13+
"PositionManager_decreaseLiquidity_withClose": "121933",
14+
"PositionManager_decreaseLiquidity_withTakePair": "121248",
15+
"PositionManager_decrease_burnEmpty": "137500",
16+
"PositionManager_decrease_burnEmpty_native": "130595",
17+
"PositionManager_decrease_sameRange_allLiquidity": "134649",
18+
"PositionManager_decrease_take_take": "122490",
19+
"PositionManager_increaseLiquidity_erc20_withClose": "160652",
20+
"PositionManager_increaseLiquidity_erc20_withSettlePair": "159563",
21+
"PositionManager_increaseLiquidity_native": "143532",
22+
"PositionManager_increase_autocompoundExactUnclaimedFees": "138231",
23+
"PositionManager_increase_autocompoundExcessFeesCredit": "179593",
24+
"PositionManager_increase_autocompound_clearExcess": "149511",
25+
"PositionManager_mint_native": "367550",
26+
"PositionManager_mint_nativeWithSweep_withClose": "376153",
27+
"PositionManager_mint_nativeWithSweep_withSettlePair": "375348",
28+
"PositionManager_mint_onSameTickLower": "319298",
29+
"PositionManager_mint_onSameTickUpper": "319940",
30+
"PositionManager_mint_sameRange": "245522",
31+
"PositionManager_mint_settleWithBalance_sweep": "420760",
32+
"PositionManager_mint_warmedPool_differentRange": "325316",
33+
"PositionManager_mint_withClose": "421910",
34+
"PositionManager_mint_withSettlePair": "420939",
35+
"PositionManager_multicall_initialize_mint": "458237",
36+
"PositionManager_permit": "79175",
37+
"PositionManager_permit_secondPosition": "62063",
38+
"PositionManager_permit_twice": "44975",
39+
"PositionManager_subscribe": "87968",
40+
"PositionManager_unsubscribe": "62697",
41+
"positionManager bytecode size": "23877"
4242
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"positionDescriptor bytecode size": "24179"
2+
"positionDescriptor bytecode size": "24110"
33
}

snapshots/QuoterTest.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
{
2-
"Quoter_exactInputSingle_oneForZero_multiplePositions": "146317",
3-
"Quoter_exactInputSingle_zeroForOne_multiplePositions": "151973",
4-
"Quoter_exactOutputSingle_oneForZero": "80048",
5-
"Quoter_exactOutputSingle_zeroForOne": "84626",
6-
"Quoter_quoteExactInput_oneHop_1TickLoaded": "122994",
7-
"Quoter_quoteExactInput_oneHop_initializedAfter": "147949",
8-
"Quoter_quoteExactInput_oneHop_startingInitialized": "81420",
9-
"Quoter_quoteExactInput_twoHops": "205421",
10-
"Quoter_quoteExactOutput_oneHop_1TickLoaded": "122296",
11-
"Quoter_quoteExactOutput_oneHop_2TicksLoaded": "152648",
12-
"Quoter_quoteExactOutput_oneHop_initializedAfter": "122364",
13-
"Quoter_quoteExactOutput_oneHop_startingInitialized": "98875",
14-
"Quoter_quoteExactOutput_twoHops": "204897"
2+
"Quoter_exactInputSingle_oneForZero_multiplePositions": "145902",
3+
"Quoter_exactInputSingle_zeroForOne_multiplePositions": "152117",
4+
"Quoter_exactOutputSingle_oneForZero": "79267",
5+
"Quoter_exactOutputSingle_zeroForOne": "84512",
6+
"Quoter_quoteExactInput_oneHop_1TickLoaded": "122728",
7+
"Quoter_quoteExactInput_oneHop_initializedAfter": "147363",
8+
"Quoter_quoteExactInput_oneHop_startingInitialized": "80638",
9+
"Quoter_quoteExactInput_twoHops": "204942",
10+
"Quoter_quoteExactOutput_oneHop_1TickLoaded": "122224",
11+
"Quoter_quoteExactOutput_oneHop_2TicksLoaded": "152879",
12+
"Quoter_quoteExactOutput_oneHop_initializedAfter": "122251",
13+
"Quoter_quoteExactOutput_oneHop_startingInitialized": "98545",
14+
"Quoter_quoteExactOutput_twoHops": "204670"
1515
}

snapshots/StateViewTest.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
2-
"StateView_extsload_getFeeGrowthGlobals": "2367",
3-
"StateView_extsload_getFeeGrowthInside": "8444",
4-
"StateView_extsload_getLiquidity": "1480",
5-
"StateView_extsload_getPositionInfo": "2973",
6-
"StateView_extsload_getPositionLiquidity": "1750",
7-
"StateView_extsload_getSlot0": "1548",
8-
"StateView_extsload_getTickBitmap": "1476",
9-
"StateView_extsload_getTickFeeGrowthOutside": "2672",
10-
"StateView_extsload_getTickInfo": "2896",
11-
"StateView_extsload_getTickLiquidity": "1748"
2+
"StateView_extsload_getFeeGrowthGlobals": "2203",
3+
"StateView_extsload_getFeeGrowthInside": "7875",
4+
"StateView_extsload_getLiquidity": "1439",
5+
"StateView_extsload_getPositionInfo": "2761",
6+
"StateView_extsload_getPositionLiquidity": "1691",
7+
"StateView_extsload_getSlot0": "1486",
8+
"StateView_extsload_getTickBitmap": "1432",
9+
"StateView_extsload_getTickFeeGrowthOutside": "2490",
10+
"StateView_extsload_getTickInfo": "2693",
11+
"StateView_extsload_getTickLiquidity": "1686"
1212
}

0 commit comments

Comments
 (0)