Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storage, Parser, Reachability #2

Merged
merged 29 commits into from
Aug 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
71f247f
add storage structure and parser
WilfredTA Feb 7, 2023
b013764
u8 to instruction
WilfredTA Feb 8, 2023
3bc884a
fix push size calc
WilfredTA Mar 9, 2023
4219f75
Merge branch 'master' into storage
WilfredTA Mar 9, 2023
2c60634
add parser; add test-contracts with foundry; add convenience methods …
WilfredTA Apr 8, 2023
33de0b4
add more parsing and convenience methods; storage & tests with concre…
WilfredTA May 19, 2023
e3c8b0e
Fix parser adding instruction byte to pushed byte values
WilfredTA May 19, 2023
1402750
add storage change records; fix parser test; add storage to machine r…
WilfredTA May 21, 2023
e7ca61d
Add ruint & support ruint <> BitVec conversions
WilfredTA Jun 24, 2023
8e7ff11
change types module to conversion; move z3 conversion type to convers…
WilfredTA Jun 24, 2023
215c33e
Add an address to EVM state
WilfredTA Jun 24, 2023
a9e2435
Add address to EVM state'
WilfredTA Jun 24, 2023
99bf3f7
Implement instruction handler for sstore
WilfredTA Jun 24, 2023
0839808
Add storage to MachineState trait & trait implementation
WilfredTA Jun 24, 2023
c9cb4b5
add sload instruction handler
WilfredTA Jun 24, 2023
fc2023c
implement 'storage_apply' in machine
WilfredTA Jun 24, 2023
484d388
Use ruint's Uint to convert to Bitvecs in parser instead of using u64
WilfredTA Jun 25, 2023
3af822a
refactor execution algorithm
WilfredTA Aug 2, 2023
9ce2d04
code cleanup
WilfredTA Aug 2, 2023
55c3861
Add sparse pc->instruction map
WilfredTA Aug 2, 2023
fd3a6e2
add initial swap support
WilfredTA Aug 3, 2023
8d84b39
fix: call exec_swap_nth instead of dup
WilfredTA Aug 3, 2023
1db5b10
Add Evm::exec_check() for all-path reachability analysis
WilfredTA Aug 3, 2023
97ead90
code cleanup
WilfredTA Aug 3, 2023
84295e4
add simple maybe_revert test
WilfredTA Aug 3, 2023
1b897bc
remove unused test
WilfredTA Aug 3, 2023
a99449a
Add sha3; fix mload when bitvecs are compound expressions in some cases
WilfredTA Aug 4, 2023
3fee38b
fmt
WilfredTA Aug 4, 2023
dfc3f43
Add gas opcode, begin support for configurable execution ctx
WilfredTA Aug 5, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
/target
.z3-trace
*.txt.log*
.idea/*
.idea/*
*.hex
*.evm
*.txt
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "test-contracts/lib/forge-std"]
path = test-contracts/lib/forge-std
url = https://github.com/foundry-rs/forge-std
Loading
Loading