Commit Graph

4924 Commits

Author SHA1 Message Date
chriseth
1633e367c9
Merge pull request #12199 from ethereum/expose-parsingAndImporting
Expose "parsingAndImporting" setting to user
2021-11-08 17:06:20 +01:00
Marenz
fc224f74c7 Evaluate absolute paths for imports in 'parsing' stage 2021-11-08 16:34:02 +01:00
chriseth
a1aa9d2d90 Skip extcodesize check if return data is expected. 2021-11-08 14:58:09 +01:00
chriseth
f9ba1bf3c8
Merge pull request #12227 from ethereum/smt_fix_gas
Fix ICE in CHC when using gas in the function options
2021-11-08 11:54:20 +01:00
Leo
58688bd9c1
Merge pull request #12167 from ethereum/smt_merge_query_entry_points
[SMTChecker] Merge all entry points for a target
2021-11-03 16:43:16 +01:00
Leo Alt
dff280cadc Fix ICE in CHC when using gas in the function options 2021-11-03 15:40:54 +01:00
Daniel Kirchner
4229369180 Compatibility with StackCompressor and StackLimitEvader. 2021-11-03 12:39:55 +01:00
Leo Alt
e40cf92b1d [SMTChecker] Merge all entry points for a target 2021-11-03 11:12:58 +01:00
chriseth
8e208f23cb Fix assignment of return variables from modifiers. 2021-11-01 14:14:50 +01:00
David Dzhalaev
79ffa16a61 Improve error message for contract size limit error 2021-10-27 20:06:53 +02:00
hrkrshnn
8815d6f5f0 Moved a check related to constants to TypeChecker
And added a proper error message when constant types containing (nested) mapping types are used.
2021-10-26 18:43:04 +02:00
hrkrshnn
51009c005d Moved a canBeStored assert for struct members to TypeChecker
This is to avoid a assert from failing for forward declared user defined value types.
2021-10-26 18:43:04 +02:00
hrkrshnn
9428dbc94f Moved storage size assert to TypeChecker from DeclarationTypeChecker 2021-10-26 18:43:04 +02:00
Leo Alt
37215ffcfd Add SMTCheckerTest isoltest option to ignore invariants 2021-10-26 11:30:30 +02:00
Leo Alt
3118fb3666 Add invariants option to CLI and JSON 2021-10-26 11:30:30 +02:00
Leo Alt
d419c30ca6 Add errorCode list to invariants report 2021-10-26 11:30:30 +02:00
Leo Alt
49e7627bd3 Use invariants in CHC 2021-10-26 11:30:30 +02:00
Leo Alt
bc90533c93 Add invariants to ModelCheckerSettings 2021-10-26 11:30:30 +02:00
Leo Alt
d554824f70 Add Invariants which traverses the proof and collects invariants for the given predicates 2021-10-26 11:30:30 +02:00
Leo Alt
9bcd2c18e4 Add expression substitution to Predicate 2021-10-26 11:30:30 +02:00
Leo Alt
ce72d7cd26 Add ExpressionFormatter which translates an smtutil::Expression into a Solidity-like expression string 2021-10-26 11:30:30 +02:00
Kamil Śliwak
fdf3b96e3f
Merge pull request #12155 from vowchick/develop
Use range-v3 loops: delete boost includes
2021-10-16 12:03:43 +02:00
vowchick
5d985a24ac Use range-v3 loops: delete boost includes
An addition to issue #10738, couldn't change boost::for_each to
std::for_each, doesn't compile.

Build successful
./scripts/test.sh successful
2021-10-16 11:54:46 +03:00
tcoyvwac
ba0c09e082
Prefer make_unique over new 2021-10-15 19:46:47 +02:00
chriseth
1e630fc584
Merge pull request #12082 from ethereum/controlFlowSideEffectsUserDefined
Control flow side effects of user defined functions
2021-10-14 18:28:22 +02:00
chriseth
9417d6775f Control flow side-effects for user-defined functions. 2021-10-14 17:46:07 +02:00
Christian Parpart
86a7e19879 libsolidity: Adding a comment to nameLocation(). 2021-10-14 17:33:15 +02:00
chriseth
1a931a5108 Make use of inner loops. 2021-10-13 15:56:23 +02:00
chriseth
49d7b78466
Merge pull request #12123 from ethereum/empty-switch-12068
CodeGen: Only output switch when it has cases
2021-10-12 17:42:49 +02:00
Mathias Baumann
454860d1f5 CodeGen: Only output switch when it has cases 2021-10-12 17:40:31 +02:00
chriseth
adc58c67b4
Merge pull request #11944 from ethereum/debug-info-selection
Debug info selection
2021-10-12 16:39:50 +02:00
Kamil Śliwak
e136788493 Replace BOOST_THROW_EXCEPTION() with solThrow() where appropriate 2021-10-11 20:35:00 +02:00
Kamil Śliwak
a9e794c872 Expose --debug-info/settings.debug.debugInfo option 2021-10-11 20:34:48 +02:00
Kamil Śliwak
bcfefc79d9 Pass DebugInfoSelection down to the code handling assembly printing 2021-10-11 20:34:48 +02:00
Kamil Śliwak
f7c4ed849d Handle DebugInfoSelection in the code printing Yul and EVM assembly 2021-10-11 20:34:48 +02:00
Christian Parpart
3f08b2269a Adds fmtlib as 3rdparty dependency for easier string composition. 2021-10-11 13:35:08 +02:00
Kamil Śliwak
a30348715b Use boost::current_exception_diagnostic_information() to print extra info about exceptions caught by (...) 2021-10-07 17:41:25 +02:00
Marenz
4368da0201 Fix ICE when printing an error message related to mappings 2021-10-06 17:02:36 +02:00
Leo Alt
4c2b661eaa [SMTChecker] Report values for block, msg and tx variables in counterexamples 2021-10-05 15:19:10 +02:00
chriseth
ecfcca1a27
Merge pull request #12016 from ethereum/external-fp-10358
Add ``.address`` and ``.selector`` in inside assembly for external function pointers
2021-10-05 14:48:58 +02:00
Marenz
98dd78362e Add `.address and .selector` in inside assembly for external function pointers 2021-10-04 18:05:57 +02:00
Kamil Śliwak
7f7107405f Try out the new assertion macro variants with less arguments 2021-10-04 12:05:00 +02:00
Leo Alt
d81ebe97c3 Fix magic access 2021-10-01 12:57:06 +02:00
chriseth
df9721f869
Merge pull request #12047 from ethereum/fixFixedBytesCompilerUtils
Properly handle fixed-byte-like types.
2021-09-29 12:23:15 +02:00
chriseth
13354c0b9a
Merge pull request #12050 from ethereum/signedImmutablesBug
Fix signed immutables bug.
2021-09-29 11:46:58 +02:00
chriseth
77932edb02 Consider non-external functions not left-aligned. 2021-09-29 11:44:17 +02:00
chriseth
cb052611cf Fix signextend for user defined value types. 2021-09-29 11:44:17 +02:00
chriseth
da5c5928fe Properly handle fixed-byte-like types. 2021-09-29 11:41:47 +02:00
hrkrshnn
6109b5c3a1 UserDefinedValueType.storageBytes() is correctly set
Previously it returned 32 bytes for all types, which was wasteful. This commit changes it to return
the storage bytes of the underlying type.
2021-09-29 11:41:47 +02:00
chriseth
8f7ba99e30
Merge pull request #12045 from ethereum/arrayTestsForUDFT
Fix array copying check.
2021-09-29 10:39:34 +02:00