Commit Graph

240 Commits

Author SHA1 Message Date
Leo Alt
1642c10f6e Fix ICE in free functions 2021-05-03 10:57:11 +02:00
Leonardo Alt
dd1865873e Choose contracts to be analyzed by the SMTChecker 2021-04-21 10:34:14 +02:00
Leonardo Alt
095d337140 Basic support to free constants 2021-04-19 19:23:18 +02:00
Leonardo Alt
4e34359063 Basic support to free functions 2021-04-19 19:23:18 +02:00
chriseth
98a8640928
Merge pull request #11203 from anurag-git/issue_10738-1
Use range-v3 loops (reverse, keys, values)
2021-04-01 12:19:40 +02:00
anurag4u80
bbcdddeed9 Replaced keys, values and reverse with ranges 2021-03-31 23:33:04 +05:30
Martin Blicha
330fb8f4d0 [SMTChecker] Assignment refactoring 2021-03-31 13:36:50 +02:00
Leonardo
78d94737a4
Merge pull request #11188 from blishko/issue-11181
[SMTChecker] Fix crash when analysing try-catch clauses with function call.
2021-03-31 11:24:36 +02:00
chriseth
b04b189959 Syntax for custom errors. 2021-03-30 21:15:18 +02:00
Martin Blicha
2d231f1859 [SMTChecker] Changed SMTEncoder::mergeVariables to work regardless which branch has been visited first 2021-03-30 20:35:44 +02:00
Leonardo Alt
ba97d6ac4e Add local vars to cex 2021-03-30 17:55:21 +02:00
Leonardo Alt
dbd067d6db Report out of bounds index access 2021-03-30 10:28:48 +02:00
Martin Blicha
5293f05ee3 [SMTChecker] Fix ICE on ABI functions with no arguments 2021-03-25 13:28:29 +01:00
Martin Blicha
98446782e2 [SMTChecker] Fix compound assignment to push 2021-03-24 14:54:13 +01:00
Martin Blicha
852e877ae7 [SMTChecker] Handle InaccessibleDynamicType 2021-03-24 11:53:06 +01:00
Mathias Baumann
e197ebbdd1 Replace TypePointer with Type const* 2021-03-23 11:47:19 +01:00
Leonardo
25b31111df
Merge pull request #11040 from ethereum/smt_fix_virtual_one_more_time
[SMTChecker] Fix bug in virtual functions called by constructor
2021-03-17 16:54:36 +01:00
Martin Blicha
432944d0b4 [SMTChecker] Small refactoring of defining SMT expressions for structs/tuples 2021-03-16 15:34:43 +01:00
Martin Blicha
2f52affcc2 [SMTChecker] Correctly resolve current scope contract in VariableUsage. 2021-03-15 13:55:14 +01:00
Martin Blicha
6aa6c5f5f9 [SMTChecker] Reset reference variables on assignment to a variable of reference type 2021-03-12 19:51:31 +01:00
Leonardo Alt
998346e599 Fix bug in virtual functions called by constructor. 2021-03-12 16:42:28 +01:00
Martin Blicha
0cb75293f9 [SMTChecker] fix handling of assignments of array/mapping state variable accessed using contract name 2021-03-12 14:01:07 +01:00
Martin Blicha
4285c2803b [SMTChecker] Fix ICE on array.pop nested inside 1-tuple 2021-03-09 20:00:51 +01:00
Martin Blicha
385a664f3c [SMTChecker] Fix public getter for array of structs. 2021-03-08 17:34:20 +01:00
Martin Blicha
0340510c53 [SMTChecker] correct handling of FixedBytes constants initialized with string literal 2021-03-04 15:14:47 +01:00
Martin Blicha
41fc59f00f [SMTChecker] Ensure that push to a string casted to bytes is registered in the original string 2021-03-03 17:11:42 +01:00
Martin Blicha
41a01de664 [SMTChecker] fix crash on push to string casted to bytes 2021-03-03 15:25:32 +01:00
Alexander Arlt
ae6996efc1 Fix issue with pop on storage array. 2021-02-23 14:26:55 +01:00
Martin Blicha
f1013427a7 [SMTChecker] refactoring the accessing the encoding state 2021-02-03 15:53:58 +01:00
Leonardo Alt
545305a31f [SMTChecker] Fix super and virtual 2021-01-28 18:51:29 +01:00
Martin Blicha
484e67815a [SMTChecker] Basic support for inline assembly using over-approximating analysis 2021-01-26 16:20:50 +01:00
Martin Blicha
35d228d9b6 [SMTChecker] Gather local variables also from nested try/catch clauses 2021-01-18 18:30:18 +01:00
Leonardo Alt
c7ca87c012 Fix static virtual resolution 2021-01-18 16:23:38 +01:00
Martin Blicha
b4d2a71eec [SMTChecker] Fix in abi handling - fixed missing type conversion 2021-01-14 14:53:44 +01:00
Martin Blicha
5e13744423 [SMTChecker] Fixed pushing string literal to bytes array 2021-01-13 16:30:50 +01:00
Martin Blicha
7c6340fe4f [SMTChecker] Refactoring expression to tuple assignment 2021-01-12 17:15:14 +01:00
Martin Blicha
dd43ce1578 fixing try/catch encoding for BMC, refactoring 2021-01-11 13:36:03 +01:00
Martin Blicha
0f3924186e [SMTChecker] Support try-catch in CHC engine 2021-01-11 13:36:02 +01:00
Leonardo Alt
78d55e6b4a [SMTChecker] Support check/unchecked 2020-12-30 12:14:30 +01:00
Leonardo Alt
9482e7de23 [SMTChecker] Fix calls to virtual/overriden functions 2020-12-29 11:25:20 +01:00
Martin Blicha
d90b9da4f0 [SMTChecker] Refactoring 2020-12-22 13:10:48 +01:00
Martin Blicha
87ef0e16f5 [SMTChecker] Fix virtual modifier called statically 2020-12-21 13:52:28 +01:00
Leonardo Alt
034d1ab90f [SMTChecker] Replace constants by their value in-place 2020-12-18 14:22:28 +01:00
Martin Blicha
7078e8f8f8 [SMTChecker] Fix analysis of overriding modifiers 2020-12-17 17:05:54 +01:00
Leonardo Alt
2cbf33ca1c SMTChecker support ABI functions as UFs 2020-12-17 14:03:17 +01:00
Leonardo Alt
f5c96ea6da Fix constant evaluation build 2020-12-16 17:59:00 +01:00
chriseth
3a23df6717 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-16 16:56:45 +01:00
Leonardo Alt
80e85b772b [SMTChecker] Apply const eval to arithmetic binary expressions 2020-12-16 14:58:00 +01:00
chriseth
ffaf40950a
Merge pull request #10605 from ethereum/develop
Merge develop into breaking.
2020-12-15 14:01:01 +01:00
Martin Blicha
e2c27b8ea4 [SMTChecker] Fix internal error on constructor of a recursive struct 2020-12-15 09:53:52 +01:00