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

Feat/vyper support #2099

Merged
merged 71 commits into from
Oct 12, 2023
Merged
Changes from 1 commit
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
7b3e064
WIP
0xalpharush Aug 18, 2023
b264512
improve parse_types
0xalpharush Aug 18, 2023
90dc42f
fix interface referring to constants, plus comments
0xalpharush Aug 20, 2023
b142d23
check in progress on comparison operators and builtins
0xalpharush Aug 22, 2023
6fd82fe
aug assign op
0xalpharush Aug 23, 2023
75c3389
wip rewrite of for loops
0xalpharush Aug 24, 2023
2f94d1c
more builtins; support params, state vars in loop iterators
0xalpharush Aug 24, 2023
872d9b5
support enum bitwise comparison operations
0xalpharush Aug 24, 2023
7549341
add some builtin variables for vyper
0xalpharush Aug 28, 2023
fd7c130
allow type conversion to array type for vyper
0xalpharush Aug 28, 2023
a8641d2
add anon. local for return signature
0xalpharush Aug 28, 2023
4c78fe0
support conversion of interface to address, lookup interface funcs
0xalpharush Aug 28, 2023
cff917f
handle stldib interfaces
0xalpharush Aug 29, 2023
3e461ca
initialized vars with expr
0xalpharush Aug 29, 2023
71894ba
perform ssa conversion and analysis
0xalpharush Aug 29, 2023
b1cb181
remove unused code
0xalpharush Aug 29, 2023
b537b70
fix type
0xalpharush Aug 29, 2023
8a3fb6a
fix div symbol
0xalpharush Aug 29, 2023
472efb9
improve comparison operator support, set_offset of expressions
0xalpharush Aug 29, 2023
011c03a
control flow graph (loops and ifs)
0xalpharush Aug 29, 2023
6bd52fa
more builtins
0xalpharush Aug 29, 2023
5443132
fix source mapping, set source code and source unit
0xalpharush Aug 29, 2023
a61ca34
parse bool op symbol
0xalpharush Aug 29, 2023
4b07cbb
add support for self.balance
0xalpharush Aug 30, 2023
db88cd5
fmt
0xalpharush Aug 30, 2023
85e63c6
rename fixture
0xalpharush Aug 30, 2023
55ab580
convert raw_call to LowLevelCall
0xalpharush Aug 30, 2023
4c1ad51
handle edge case for vyper Expr nodes
0xalpharush Aug 30, 2023
2bfe829
add ability to perform filtering by language to AbstractDetector
0xalpharush Aug 30, 2023
77637d9
delete unused code, misc. notes
0xalpharush Aug 30, 2023
3725792
delete more unused code
0xalpharush Aug 30, 2023
917c5d6
add IncorrectSolc detector to solidity-only detectors
0xalpharush Aug 30, 2023
5197b15
fix filtering to use string value of enum
0xalpharush Aug 30, 2023
baa3c98
install vyper in CI
0xalpharush Aug 30, 2023
ae45f46
initial tests
0xalpharush Aug 30, 2023
b5778ce
use curl to support windows
0xalpharush Aug 30, 2023
0fd1ed7
follow redirects
0xalpharush Aug 30, 2023
ce6d3c9
point at vyper crytic-compile branch
0xalpharush Aug 30, 2023
929c2af
add deprecated calls to solidity only detectors
0xalpharush Aug 30, 2023
eadcd46
remove solc imports from vyper parsing
0xalpharush Aug 30, 2023
d368676
fix missing call to set_offset
0xalpharush Aug 31, 2023
36c60a9
add failing phi test
0xalpharush Aug 31, 2023
0efef8b
add test for parsing and cfgir
0xalpharush Aug 31, 2023
08af1ee
cleanup FunctionVyper
0xalpharush Aug 31, 2023
f9633ca
fix name resolution for shadowed state variable
0xalpharush Aug 31, 2023
2dbb912
correctly set indexed attribute for event variables
0xalpharush Aug 31, 2023
f7ef484
very simplistic support for reentrancy lock
0xalpharush Aug 31, 2023
4b10a0f
delete commented out code
0xalpharush Aug 31, 2023
e561d33
try removing trailing comment
0xalpharush Aug 31, 2023
3ca9d0f
convert tuple on lhs and index access to struct and field access
0xalpharush Sep 2, 2023
47e274c
consider function unimplemented if body is only pass
0xalpharush Sep 2, 2023
66def31
do not considered local variable that are reference types as `in_stor…
0xalpharush Sep 2, 2023
e287b2f
fix phi placement by calling SlitherCompilationUnit.add_function
0xalpharush Sep 2, 2023
81cb124
support default args in calls
0xalpharush Sep 4, 2023
4845a3b
fix and refactor comparison operator, add support for raise
0xalpharush Sep 4, 2023
9fdc7dc
conditionally apply refinements to Solidity
0xalpharush Sep 4, 2023
16140f2
cleanup and formatting
0xalpharush Sep 4, 2023
9c4bc50
handle break/continue
0xalpharush Sep 5, 2023
9df54e9
update tests
0xalpharush Sep 5, 2023
a6209df
cleanup
0xalpharush Sep 5, 2023
c217980
fix some lint warnings
0xalpharush Sep 5, 2023
e80238d
add struct defs to file scope
0xalpharush Sep 5, 2023
239369c
propagate return type on call to state variable with interface type
0xalpharush Sep 5, 2023
e8fa8b8
more cleanup
0xalpharush Sep 5, 2023
961db45
address lints and improve typing
0xalpharush Sep 5, 2023
404914c
link issues for TODO comments, lint
0xalpharush Sep 5, 2023
21eca9d
fix merge conflict
0xalpharush Sep 8, 2023
37d714b
Update setup.py
montyly Oct 12, 2023
26cfe00
Merge branch 'dev' into feat/vyper-support
montyly Oct 12, 2023
4a83858
fix CI
montyly Oct 12, 2023
2a7e514
Fix snapshot
montyly Oct 12, 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
Prev Previous commit
Next Next commit
rename fixture
0xalpharush committed Aug 30, 2023
commit 85e63c6ba5772a6c3aced61a5d95669c61edc320
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
@@ -59,7 +59,7 @@ def inner(version):


@pytest.fixture
def slither_from_source(solc_binary_path):
def slither_from_solidity_source(solc_binary_path):
@contextmanager
def inner(source_code: str, solc_version: str = "0.8.19"):
"""Yields a Slither instance using source_code string and solc_version.
Loading