chriseth
d5669696d5
Code generation for errors.
2021-03-30 21:15:46 +02:00
chriseth
fb67051467
Revert statement.
2021-03-30 21:15:46 +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
chriseth
bb49bc5892
Merge pull request #10418 from ethereum/function-specializer
...
Function specializer
2021-03-29 15:48:01 +02:00
hrkrshnn
0100f48e05
FunctionSpecializer: skip specializing recursive functions
...
This avoids potential pathological behaviour, like in Ackermann function.
2021-03-29 11:02:31 +02:00
hrkrshnn
2c75d1dfe4
Isoltest gas update for FunctionSpecializer
2021-03-29 11:02:31 +02:00
hrkrshnn
09998ceb0c
Tests for FunctionSpecializer
2021-03-29 11:02:18 +02:00
Bhargava Shastry
f3f1ccc34f
Fix false positive caused by early termination due to nested expressions.
2021-03-26 13:35:57 +01:00
Đorđe Mijović
d75a132f33
Merge pull request #11166 from ethereum/cmdLineTestsDevVersionFix
2021-03-25 19:06:26 +01:00
Djordje Mijovic
08993a3282
Enabling running cmd line tests on currently unreleased version.
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-03-25 17:11:31 +01:00
Martin Blicha
85358dfe30
[SMTChecker] Do not create targets for contracts that cannot be deployed
2021-03-25 15:38:37 +01:00
Leonardo
7e1be52281
Merge pull request #11165 from blishko/smt-abi-no-args
...
[SMTChecker] Fix ICE on ABI functions with no arguments
2021-03-25 15:21:57 +01:00
Alex Beregszaszi
e071884bbf
Show proper error for misusing the custom natspec tag
2021-03-25 12:45:37 +00:00
Martin Blicha
5293f05ee3
[SMTChecker] Fix ICE on ABI functions with no arguments
2021-03-25 13:28:29 +01:00
Alex Beregszaszi
7a7ff7af2f
Add one more test for invalid custom tag
2021-03-25 12:24:18 +00:00
chriseth
6eac77aea2
Merge pull request #11107 from ethereum/extendedLowlevelInliner
...
Inline ordinary jumps to small blocks and jumps to terminating control flow.
2021-03-24 18:06:15 +01:00
Martin Blicha
98446782e2
[SMTChecker] Fix compound assignment to push
2021-03-24 14:54:13 +01:00
Leonardo
13d3b35141
Merge pull request #11116 from blishko/issue-10985
...
[SMTChecker] Handle InaccessibleDynamicType
2021-03-24 14:39:24 +01:00
hrkrshnn
4fbf5a3f12
Added few more tests for low level inliner.
2021-03-24 13:50:24 +01:00
Daniel Kirchner
8b3095920a
Inline ordinary jumps to small blocks and jumps to terminating control flow.
2021-03-24 13:50:24 +01:00
Martin Blicha
852e877ae7
[SMTChecker] Handle InaccessibleDynamicType
2021-03-24 11:53:06 +01:00
Djordje Mijovic
d0a854b312
Adding semantic tests for bytes.concat.
2021-03-24 11:49:21 +01:00
Djordje Mijovic
e7da9f3d52
Adding syntax tests for bytes.concat.
2021-03-24 11:49:21 +01:00
chriseth
d15ba987d1
Fix AST output if modifier invocation is base constructor call.
2021-03-24 11:24:26 +01:00
Leonardo
70c1720903
Merge pull request #11129 from blishko/smt-ci-tests
...
Run SMTChecker tests for all EVM versions
2021-03-24 10:31:44 +01:00
chriseth
e3ea5c631e
Merge pull request #11136 from ethereum/refactor-typepointer
...
Replace `TypePointer` with `Type const*`
2021-03-23 18:32:38 +01:00
Bhargava Shastry
f9182e9f88
Minor changes to Solidity compilation framework fuzzer.
2021-03-23 13:17:41 +01:00
Martin Blicha
145a03bdd6
Run SMTChecker tests on all EVM versions
2021-03-23 12:51:52 +01:00
Mathias Baumann
e197ebbdd1
Replace TypePointer
with Type const*
2021-03-23 11:47:19 +01:00
hrkrshnn
30e08ee3a5
Changelog and test for the KeccakCaching bug
2021-03-23 11:09:00 +01:00
Mathias Baumann
bccedf791b
Add creationCode/runtimeCode contract creation detection to call graph
2021-03-22 15:44:23 +01:00
chriseth
baf2ff2a6e
Proof.
2021-03-18 08:42:49 +01:00
chriseth
2c8540b1f9
Yul optimizer test updates.
2021-03-18 08:42:49 +01:00
chriseth
7aa51bcb40
Test updates.
2021-03-18 08:42:49 +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
hrkrshnn
6d9e9e1b1e
Fix small bug in GasMeter calculation in creation context
...
Old calculation did not ignore `optimize-runs` parameter, when creation code gas computations were
done. This would lead to expanding values such as `shl(180, 1)` inside constructor code, even for
the default value for `--optimize-runs`, i.e., 200.
2021-03-17 12:33:10 +01:00
Harikrishnan Mulackal
35da404ca9
Merge pull request #11091 from ethereum/modifierInvocationAST
...
Add "kind" field to ModifierInvocation AST json element.
2021-03-16 19:44:40 +01:00
chriseth
0519473059
Add "kind" field to ModifierInvocation AST json element.
2021-03-16 18:50:37 +01:00
Martin Blicha
432944d0b4
[SMTChecker] Small refactoring of defining SMT expressions for structs/tuples
2021-03-16 15:34:43 +01:00
Alex Beregszaszi
7fd1a3132d
Merge pull request #11098 from ethereum/isoltest-yes
...
isoltest: add --accept-updates option
2021-03-15 19:10:02 +00:00
Kamil Śliwak
5376a3deb6
Merge pull request #10879 from ethereum/silence-remaining-shellcheck-warnings-and-remove-ignore-list
...
Silence remaining shellcheck warnings and remove ignore list
2021-03-15 19:58:42 +01:00
Alex Beregszaszi
1c176cc1ee
isoltest: add --accept-updates option
2021-03-15 14:31:01 +00:00
Martin Blicha
2f52affcc2
[SMTChecker] Correctly resolve current scope contract in VariableUsage.
2021-03-15 13:55:14 +01:00
Kamil Śliwak
8e44b59251
Disable shellcheck in the remaining situations where it's either wrong or the problem is not worth fixing
2021-03-15 12:16:43 +01:00
Kamil Śliwak
7929175db6
Add shellcheck source directive in places where it can't find sourced files on its own
2021-03-15 12:16:43 +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
Daniel Kirchner
1265b39904
Merge pull request #11095 from ethereum/fixGcc8
...
Fix compilation error with GCC 8.
2021-03-12 13:25:25 +01:00
Daniel Kirchner
6d19a25705
Fix compilation error with GCC 8.
2021-03-12 12:28:18 +01:00
Bhargava Shastry
788eb02825
EVMHost: Use std::map for storage so that slots are stored in some order.
2021-03-12 09:39:15 +01:00
Leonardo Alt
6fd76e830d
Fix CHC cex order
2021-03-11 10:36:40 +01:00
Bhargava Shastry
a30b071a5d
Update test/EVMHost.cpp
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-03-10 18:10:20 +01:00
Bhargava Shastry
8023fdb537
Extract state printing to a separate class.
2021-03-10 17:41:03 +01:00
Bhargava Shastry
24f42c5541
Filter false positives due to EVM errors.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-03-10 17:41:03 +01:00
Bhargava Shastry
34c08ea2c6
EVMHost: Add tracing features needed for fuzzing.
2021-03-10 17:41:03 +01:00
chriseth
89946b15d2
Merge pull request #10863 from ethereum/isoltestGasCosts
...
[isoltest] Add gas costs to function call expectations
2021-03-10 15:11:20 +01:00
Djordje Mijovic
b73e9f3eef
Update tests.
2021-03-10 14:22:30 +01:00
Djordje Mijovic
63017bd510
Not showing gas used if it is equal to m_gas(in case of out of gas failures).
2021-03-10 14:22:30 +01:00
Djordje Mijovic
06171a3100
Changing enforceGasCost functionality.
2021-03-10 14:22:26 +01:00
Djordje Mijovic
2b14efbbcc
Adding debug info on gas costs when updating gas values.
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-03-09 21:48:11 +01:00
Djordje Mijovic
14a3731182
Don't run gas for ir if it is not explicitely added to expectations.
2021-03-09 21:27:44 +01:00
Djordje Mijovic
2c575db0ea
Show both expected and obtained gas expectations when failure happens.
2021-03-09 21:27:38 +01:00
Djordje Mijovic
12ef273d06
Setting metadata has and version type for semantic tests to be empty.
2021-03-09 21:26:45 +01:00
Djordje Mijovic
cf59d7fc13
Making order of gas expectations deterministic.
2021-03-09 21:26:45 +01:00
Djordje Mijovic
aed3832b27
Implementing enforcing gas expectations in isoltest.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-03-09 21:26:45 +01:00
Djordje Mijovic
515f15f7a3
Small style fix for SemanticTest constructor.
2021-03-09 21:26:45 +01:00
Djordje Mijovic
5ea97a5d43
Running gas tests only on tests having expectations.
2021-03-09 21:26:45 +01:00
Djordje Mijovic
6d51dfb617
[isoltest] Adding gas used as semantic tests expectation.
2021-03-09 21:26:36 +01:00
Martin Blicha
4285c2803b
[SMTChecker] Fix ICE on array.pop nested inside 1-tuple
2021-03-09 20:00:51 +01:00
chriseth
ad5d34df74
Merge pull request #11071 from ethereum/fixCRInSourceRefFor
...
Fix handling of carriage return.
2021-03-09 17:52:34 +01:00
Leonardo
5677df86af
Merge pull request #11069 from blishko/smt-array-slice-fix
...
[SMTChecker] Use same sort name for array slice as for the underlying array
2021-03-09 16:39:12 +01:00
Daniel Kirchner
a75424eec4
Drop support for evm15 and eip-615.
2021-03-09 15:56:03 +01:00
chriseth
5c2cd8d553
Merge pull request #11073 from ethereum/extractStackReuseTests
...
Extract StackReuseCodegen tests.
2021-03-09 15:52:23 +01:00
Daniel Kirchner
e99da7e015
Extract StackReuseCodegen tests.
2021-03-09 15:47:24 +01:00
chriseth
eb85a4414c
Fix handling of carriage return.
2021-03-09 15:33:12 +01:00
chriseth
40c27ccc22
Move AND with constant inside OR.
2021-03-09 15:26:19 +01:00
Martin Blicha
5af01f6896
[SMTChecker] Use same sort name for array slice as for the underlying array.
2021-03-09 11:06:22 +01:00
Martin Blicha
385a664f3c
[SMTChecker] Fix public getter for array of structs.
2021-03-08 17:34:20 +01:00
Kamil Śliwak
093ea4612b
Merge pull request #10586 from ethereum/shellcheck-fixes-part1
...
Fixes for shellcheck warnings, part 1
2021-03-05 17:13:46 +01:00
Daniel Kirchner
acd3084076
Fuzzer for stack optimiser/code generator.
2021-03-04 17:35:56 +01:00
Bhargava Shastry
ca267e50d3
Merge pull request #11053 from ethereum/protoConverter-opcode-filter-flag
...
Proto yul converter: Provide a flag to filter stateful instructions.
2021-03-04 17:31:52 +01:00
Kamil Śliwak
c8fc241be5
Avoid using $? in conditions and do && exit 1 instead if !
2021-03-04 16:57:25 +01:00
Kamil Śliwak
e8a70e8e4b
Prefix globs with ./ or use -- to make commands safe with files named like command-line options
2021-03-04 16:57:25 +01:00
Kamil Śliwak
a05f3a608d
Don't use $ on variables inside (())
2021-03-04 16:53:05 +01:00
Kamil Śliwak
2784135c37
Use read with the -r option
2021-03-04 16:53:05 +01:00
Kamil Śliwak
75b87d159d
Declare variables separately when assigning the result of $()
2021-03-04 16:53:05 +01:00
Kamil Śliwak
4c186321c8
Replace some older shell syntax with newer and/or more reliable equivalents
2021-03-04 16:53:05 +01:00
Leonardo
d42d0faf41
Merge pull request #11052 from blishko/issue-10986
...
[SMTChecker] Correct handling of FixedBytes constants initialized with string literal
2021-03-04 16:51:22 +01:00
Bhargava Shastry
a34308e4cb
Proto yul converter: Provide a flag to filter stateful instructions.
2021-03-04 15:20:19 +01:00
Martin Blicha
0340510c53
[SMTChecker] correct handling of FixedBytes constants initialized with string literal
2021-03-04 15:14:47 +01:00
Alexander Arlt
94895822d2
[isoltest] Add support for builtin functions.
2021-03-04 08:49:59 -05:00
Martin Blicha
9e81c81560
[SMTChecker] updated tests
2021-03-03 17:11:42 +01:00
chriseth
d2023f5f95
Check for invalid tags.
2021-03-02 16:53:31 +01:00
chriseth
5690020d88
Allow custom natspec tags.
2021-03-02 16:13:28 +01:00
chriseth
2a25d04896
Merge pull request #11023 from ethereum/natspecparsinglocations
...
Provide locations for docstring parsing errors.
2021-03-02 14:03:42 +01:00
chriseth
ce5c5970d6
Merge pull request #11015 from ethereum/fixSelectorForInternal
...
[Sol->Yul] Provide selector for some internal functions.
2021-03-02 12:24:53 +01:00