Skip to content

Commit

Permalink
OZ L02; Spearbit 87; Enforce strict abi encoding (#346)
Browse files Browse the repository at this point in the history
* improved calldata checks

* remove console

* remove toLengthOffset function

* natspec correction

* mask values to be within 32 bits

* verify array elements are encoded in order

* mask straight after calldata load

* masking in toBytes, remove selector constant

* fuzz test

* add testing

* fix for 0 array length

* put alt. calldata decoder back (#344)

Co-authored-by: 0age <[email protected]>

* core on main for debug profile

* Fix length check

* optimise toBytes

* linting

---------

Co-authored-by: 0age <[email protected]>
Co-authored-by: 0age <[email protected]>
  • Loading branch information
3 people committed Sep 6, 2024
1 parent 2c0f701 commit 151b282
Show file tree
Hide file tree
Showing 66 changed files with 178 additions and 106 deletions.
2 changes: 1 addition & 1 deletion .forge-snapshots/BaseActionsRouter_mock10commands.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
59219
60677
Original file line number Diff line number Diff line change
@@ -1 +1 @@
129463
129854
Original file line number Diff line number Diff line change
@@ -1 +1 @@
131381
131905
Original file line number Diff line number Diff line change
@@ -1 +1 @@
123586
124110
Original file line number Diff line number Diff line change
@@ -1 +1 @@
123728
124252
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_burn_empty.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
50181
50413
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_burn_empty_native.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
50181
50413
Original file line number Diff line number Diff line change
@@ -1 +1 @@
125092
125551
Original file line number Diff line number Diff line change
@@ -1 +1 @@
124652
124998
Original file line number Diff line number Diff line change
@@ -1 +1 @@
131944
132404
Original file line number Diff line number Diff line change
@@ -1 +1 @@
131505
131851
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_collect_native.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
145679
146253
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_collect_sameRange.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
154245
154819
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_collect_withClose.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
154245
154819
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_collect_withTakePair.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
153708
154140
Original file line number Diff line number Diff line change
@@ -1 +1 @@
111488
111948
Original file line number Diff line number Diff line change
@@ -1 +1 @@
119126
119700
Original file line number Diff line number Diff line change
@@ -1 +1 @@
118589
119021
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_decrease_burnEmpty.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
134633
135200
Original file line number Diff line number Diff line change
@@ -1 +1 @@
127780
128348
Original file line number Diff line number Diff line change
@@ -1 +1 @@
131813
132387
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_decrease_take_take.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
119702
120276
Original file line number Diff line number Diff line change
@@ -1 +1 @@
158430
159004
Original file line number Diff line number Diff line change
@@ -1 +1 @@
157512
157944
Original file line number Diff line number Diff line change
@@ -1 +1 @@
140257
140831
Original file line number Diff line number Diff line change
@@ -1 +1 @@
136028
136318
Original file line number Diff line number Diff line change
@@ -1 +1 @@
176737
177311
Original file line number Diff line number Diff line change
@@ -1 +1 @@
147413
147987
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_mint_native.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
364121
364704
Original file line number Diff line number Diff line change
@@ -1 +1 @@
372502
373227
Original file line number Diff line number Diff line change
@@ -1 +1 @@
371867
372450
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_mint_onSameTickLower.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
316969
317552
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_mint_onSameTickUpper.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
317639
318222
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_mint_sameRange.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
243208
243791
Original file line number Diff line number Diff line change
@@ -1 +1 @@
418116
418983
Original file line number Diff line number Diff line change
@@ -1 +1 @@
323000
323583
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_mint_withClose.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
419522
420105
2 changes: 1 addition & 1 deletion .forge-snapshots/PositionManager_mint_withSettlePair.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
418722
419163
Original file line number Diff line number Diff line change
@@ -1 +1 @@
463694
464277
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_Bytecode.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7063
7148
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactIn1Hop_nativeIn.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
115331
115722
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactIn1Hop_nativeOut.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
115652
116043
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactIn1Hop_oneForZero.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
124470
124861
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactIn1Hop_zeroForOne.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
130193
130584
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactIn2Hops.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
179333
179724
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactIn2Hops_nativeIn.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
170186
170577
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactIn3Hops.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
228452
228843
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactIn3Hops_nativeIn.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
219329
219720
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactInputSingle.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
129463
129854
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactInputSingle_nativeIn.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
114601
114992
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactInputSingle_nativeOut.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
114891
115282
Original file line number Diff line number Diff line change
@@ -1 +1 @@
121594
121985
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOut1Hop_nativeOut.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
116716
117107
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOut1Hop_oneForZero.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
125534
125925
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOut1Hop_zeroForOne.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
129479
129870
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOut2Hops.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
179451
179842
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOut2Hops_nativeIn.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
175511
175902
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOut3Hops.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
229430
229821
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOut3Hops_nativeIn.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
225514
225905
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOut3Hops_nativeOut.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
220636
221027
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOutputSingle.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
128749
129140
Original file line number Diff line number Diff line change
@@ -1 +1 @@
120864
121255
2 changes: 1 addition & 1 deletion .forge-snapshots/V4Router_ExactOutputSingle_nativeOut.snap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
116061
116452
Loading

0 comments on commit 151b282

Please sign in to comment.