Skip to content

Commit

Permalink
feat: update to 0.8.24 (#238)
Browse files Browse the repository at this point in the history
* feat: update to 0.8.24

- no need for unchecked iterators anymore
- minor optimizer improvements

* fix: fmt
  • Loading branch information
marktoda authored Apr 9, 2024
1 parent a23f3a3 commit 459f58a
Show file tree
Hide file tree
Showing 58 changed files with 94 additions and 105 deletions.
Original file line number Diff line number Diff line change
@@ -1 +1 @@
181935
181594
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-DutchOrder-ExecuteBatch.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
196793
196531
Original file line number Diff line number Diff line change
@@ -1 +1 @@
206561
206231
Original file line number Diff line number Diff line change
@@ -1 +1 @@
260215
259817
Original file line number Diff line number Diff line change
@@ -1 +1 @@
190325
190063
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-DutchOrder-ExecuteSingle.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
148151
148015
Original file line number Diff line number Diff line change
@@ -1 +1 @@
133713
133577
Original file line number Diff line number Diff line change
@@ -1 +1 @@
157462
157326
Original file line number Diff line number Diff line change
@@ -1 +1 @@
182099
181758
Original file line number Diff line number Diff line change
@@ -1 +1 @@
197099
196837
Original file line number Diff line number Diff line change
@@ -1 +1 @@
206862
206532
Original file line number Diff line number Diff line change
@@ -1 +1 @@
260530
260132
Original file line number Diff line number Diff line change
@@ -1 +1 @@
190625
190363
Original file line number Diff line number Diff line change
@@ -1 +1 @@
148314
148178
Original file line number Diff line number Diff line change
@@ -1 +1 @@
133881
133745
Original file line number Diff line number Diff line change
@@ -1 +1 @@
157629
157493
Original file line number Diff line number Diff line change
@@ -1 +1 @@
178079
177738
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-LimitOrderReactor-ExecuteBatch.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
188982
188720
Original file line number Diff line number Diff line change
@@ -1 +1 @@
197815
197485
Original file line number Diff line number Diff line change
@@ -1 +1 @@
250543
250145
Original file line number Diff line number Diff line change
@@ -1 +1 @@
182508
182246
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-LimitOrderReactor-ExecuteSingle.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
144296
144160
Original file line number Diff line number Diff line change
@@ -1 +1 @@
129858
129722
Original file line number Diff line number Diff line change
@@ -1 +1 @@
153606
153470
Original file line number Diff line number Diff line change
@@ -1 +1 @@
189053
188641
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-V2DutchOrder-ExclusiveFiller.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
158962
158755
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-V2DutchOrder-ExecuteBatch.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
211110
210706
Original file line number Diff line number Diff line change
@@ -1 +1 @@
221518
220975
Original file line number Diff line number Diff line change
@@ -1 +1 @@
275828
275146
Original file line number Diff line number Diff line change
@@ -1 +1 @@
204636
204232
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-V2DutchOrder-ExecuteSingle.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
155265
155058
Original file line number Diff line number Diff line change
@@ -1 +1 @@
140827
140620
Original file line number Diff line number Diff line change
@@ -1 +1 @@
164576
164369
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-V2DutchOrder-InputOverride.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
159319
159044
2 changes: 1 addition & 1 deletion .forge-snapshots/Base-V2DutchOrder-OutputOverride.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
158989
158782
Original file line number Diff line number Diff line change
@@ -1 +1 @@
175018
174742
Original file line number Diff line number Diff line change
@@ -1 +1 @@
435049
434221
Original file line number Diff line number Diff line change
@@ -1 +1 @@
363346
362870
2 changes: 1 addition & 1 deletion .forge-snapshots/EthOutputTestEthOutput.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
156180
156044
Original file line number Diff line number Diff line change
@@ -1 +1 @@
176825
176277
Original file line number Diff line number Diff line change
@@ -1 +1 @@
162817
162269
Original file line number Diff line number Diff line change
@@ -1 +1 @@
165956
165610
Original file line number Diff line number Diff line change
@@ -1 +1 @@
146783
146437
2 changes: 1 addition & 1 deletion .forge-snapshots/ProtocolFeesGasComparisonTest-NoFees.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
149180
148973
Original file line number Diff line number Diff line change
@@ -1 +1 @@
124842
124635
2 changes: 1 addition & 1 deletion .forge-snapshots/SwapRouter02ExecutorExecute.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
262930
262869
Original file line number Diff line number Diff line change
@@ -1 +1 @@
118049
117988
2 changes: 1 addition & 1 deletion .forge-snapshots/testExclusiveFillerSucceeds.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
174023
173887
2 changes: 1 addition & 1 deletion foundry.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[profile.default]
solc = "0.8.19"
solc = "0.8.24"
src = 'src'
out = 'out'
libs = ['lib']
Expand Down
25 changes: 8 additions & 17 deletions src/base/ProtocolFees.sol
Original file line number Diff line number Diff line change
Expand Up @@ -49,33 +49,26 @@ abstract contract ProtocolFees is Owned {
// fill new outputs with old outputs
OutputToken[] memory newOutputs = new OutputToken[](outputsLength + feeOutputsLength);

unchecked {
for (uint256 i = 0; i < outputsLength; i++) {
newOutputs[i] = order.outputs[i];
}
for (uint256 i = 0; i < outputsLength; i++) {
newOutputs[i] = order.outputs[i];
}

for (uint256 i = 0; i < feeOutputsLength;) {
for (uint256 i = 0; i < feeOutputsLength; i++) {
OutputToken memory feeOutput = feeOutputs[i];
// assert no duplicates
unchecked {
for (uint256 j = 0; j < i; j++) {
if (feeOutput.token == feeOutputs[j].token) {
revert DuplicateFeeOutput(feeOutput.token);
}
for (uint256 j = 0; j < i; j++) {
if (feeOutput.token == feeOutputs[j].token) {
revert DuplicateFeeOutput(feeOutput.token);
}
}

// assert not greater than MAX_FEE_BPS
uint256 tokenValue;
for (uint256 j = 0; j < outputsLength;) {
for (uint256 j = 0; j < outputsLength; j++) {
OutputToken memory output = order.outputs[j];
if (output.token == feeOutput.token) {
tokenValue += output.amount;
}
unchecked {
j++;
}
}

// allow fee on input token as well
Expand All @@ -88,10 +81,8 @@ abstract contract ProtocolFees is Owned {
if (feeOutput.amount > tokenValue.mulDivDown(MAX_FEE_BPS, BPS)) {
revert FeeTooLarge(feeOutput.token, feeOutput.amount, feeOutput.recipient);
}
newOutputs[outputsLength + i] = feeOutput;

unchecked {
i++;
newOutputs[outputsLength + i] = feeOutput;
}
}

Expand Down
8 changes: 3 additions & 5 deletions src/reactors/DutchOrderReactor.sol
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,9 @@ contract DutchOrderReactor is BaseReactor {
}

if (order.input.startAmount != order.input.endAmount) {
unchecked {
for (uint256 i = 0; i < order.outputs.length; i++) {
if (order.outputs[i].startAmount != order.outputs[i].endAmount) {
revert InputAndOutputDecay();
}
for (uint256 i = 0; i < order.outputs.length; i++) {
if (order.outputs[i].startAmount != order.outputs[i].endAmount) {
revert InputAndOutputDecay();
}
}
}
Expand Down
Loading

0 comments on commit 459f58a

Please sign in to comment.