Daniel Kirchner
8447b32d52
Merge pull request #11861 from ethereum/smt_value
...
[SMTChecker] Support `value` in CHC for external function calls
2021-09-03 14:00:21 +02:00
Daniel Kirchner
d384664dcb
Merge pull request #11615 from ethereum/yulStackLayoutGenerator
...
Yul Stack Layout Generator (New Code Transform Step 2)
2021-09-03 13:13:18 +02:00
chriseth
7f137d352a
Merge pull request #11869 from ethereum/remodelUseSrc
...
Allow and require use-src to be repeated for each object.
2021-09-02 18:34:07 +02:00
Daniel Kirchner
f881409ea4
Stack layout generator for new code generation.
2021-09-02 17:47:19 +02:00
chriseth
9c2ab1ff2f
Merge pull request #11881 from ethereum/unsuable-symbol-11855
...
Properly export symbols from aliased imports.
2021-09-02 16:39:16 +02:00
chriseth
5caa15879b
Allow and require use-src to be repeated for each object.
2021-09-02 11:29:42 +02:00
Leo Alt
106c591dde
Support the external call option
2021-09-01 20:18:37 +02:00
Marenz
4700c2b973
Properly export symbols from aliased imports.
2021-09-01 19:55:30 +02:00
Marenz
2b28f87abf
Add type().min/max for enums
2021-09-01 15:02:02 +02:00
Harikrishnan Mulackal
1e334a8993
Merge pull request #11799 from benldrmn/increase_use_of_constexpr
...
Increase use of C++ constexpr
2021-08-31 17:23:36 +02:00
Kamil Śliwak
5e5f49df93
Merge pull request #11839 from priyansh786/develop
...
Don't create empty expectation files when updating test expectations
2021-08-31 16:46:14 +02:00
Kamil Śliwak
d07b796675
Disallow modifier declarations and definitions in interfaces
2021-08-31 15:25:08 +02:00
benldrmn
58e4cc62e0
Increase use of C++ constexpr constant expressions in code base as described in issue #7720
2021-08-31 15:03:59 +02:00
chriseth
f7916f2940
Add override exception for interface functions.
2021-08-31 10:45:31 +02:00
priyansh786
803901fa7e
Don't create empty expectation files when updating test expectations
2021-08-30 22:55:37 +05:30
Leonardo
78afd71ab7
Merge pull request #11860 from ethereum/smt_static_array
...
[SMTChecker] Add static array length constraint
2021-08-30 19:07:21 +02:00
Kamil Śliwak
525b4c70e7
Merge pull request #11853 from Midhun07/develop
...
Disallow `--experimental-via-ir` in Standard JSON, assembler and linker modes
2021-08-30 19:02:36 +02:00
Leo Alt
ac528cfd1b
add static array length constraint
2021-08-30 17:15:16 +02:00
Midhun07
11065c6e79
Disallowed option --experimental-via-ir in Assembler, Linker and StandardJson input modes
2021-08-30 19:58:55 +05:30
Leo Alt
16bc15acac
Fix false negative on storage array references returned by internal functions
2021-08-28 09:30:53 +02:00
Leo Alt
60b866f9d8
Fix ICE on multi-source use of abi.*
2021-08-27 18:55:36 +02:00
Leo Alt
0cc9162fb5
Update SMTChecker tests
2021-08-27 16:25:09 +02:00
Leo Alt
4d414a6d58
Update commandline tests
2021-08-27 16:25:09 +02:00
Kamil Śliwak
92446cbcab
TemporaryDirectory: Add an alternative constructor that can create subdirectories
2021-08-27 15:11:20 +02:00
Kamil Śliwak
9dc7360903
TemporaryDirectory: Add automatic conversions to boost::filesystem::path
2021-08-27 15:11:20 +02:00
Kamil Śliwak
5a0a0af48f
TemporaryDirectory: Use soltestAssert() instead of assert() and remove filesystem namespace alias
2021-08-27 15:11:20 +02:00
Kamil Śliwak
fb6a25715d
TemporaryDirectory: Automatically add a dash after the prefix
2021-08-27 15:11:20 +02:00
Kamil Śliwak
251de730ed
CommonIO: Use a macro to construct TemporaryDirectory prefix
2021-08-27 15:11:20 +02:00
Kamil Śliwak
13f46ebb1e
FileReader: Normalize base path and strip it from normalized source paths
2021-08-27 15:10:46 +02:00
Kamil Śliwak
2d3ec69a05
CLI tests for FileReader
2021-08-27 15:10:46 +02:00
Kamil Śliwak
618ba2fb9a
createSymlinkIfSupportedByFilesystem(): Add support for directory symlinks used on Windows
2021-08-27 15:10:46 +02:00
Leonardo
6e6bbb2f83
Merge pull request #11837 from soroosh-sdi/use-range-v3-part2
...
Using range-v3 instead of boost
2021-08-26 09:38:27 +02:00
Leo Alt
a9af63187e
Adjust tests for nondeterminism
2021-08-25 21:10:43 +02:00
Leo Alt
facc66997b
Update existing CLI tests
2021-08-25 21:10:08 +02:00
Leo Alt
4cf4ccafd7
New tests
2021-08-25 21:10:08 +02:00
Leo Alt
85378b1770
Update existing tests
2021-08-25 21:10:08 +02:00
Leo Alt
718f392849
Don't erase things for BMC if function call is staticcall
2021-08-25 14:09:46 +02:00
Leo Alt
a55685c04f
Erase balances when delegatecall is seen
2021-08-25 12:39:26 +02:00
soroosh-sdi
b0ce98bcb2
Using range-v3 instead of boost
...
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-08-24 23:50:23 +04:30
Kamil Śliwak
6b7857d56b
Merge pull request #11650 from ethereum/boost-path-in-read-file-as-string
...
Use `boost::filesystem::path` in `readFileAsString()`
2021-08-20 19:45:54 +02:00
Leo Alt
9ea4576664
Update tests
2021-08-19 16:34:01 +02:00
chriseth
45a910c2ca
Merge pull request #11750 from ethereum/immutables-10463
...
Allow reading of immutables during construction time
2021-08-19 14:39:03 +02:00
Marenz
121fd40f74
Allow reading of immutables during construction time
2021-08-19 13:59:05 +02:00
chriseth
2165c0d3d9
Update gas costs.
2021-08-19 13:26:52 +02:00
chriseth
c6473ff32b
Proof for rules.
2021-08-19 12:51:54 +02:00
chriseth
a467f3205c
Tests for knowledge base.
2021-08-19 12:51:54 +02:00
chriseth
4b038e3f02
Extend knowledge base.
2021-08-18 12:42:46 +02:00
chriseth
063d481bb3
Fix parsing fixed point values.
2021-08-17 14:46:11 +02:00
chriseth
948665ff89
Merge pull request #11749 from ethereum/simplifyConvertEvenMOre
...
Simplify yul conversion function even more.
2021-08-17 14:39:59 +02:00
chriseth
5015284c3a
Merge pull request #11748 from ethereum/optimize_signextend
...
Optimizer rules for signextend.
2021-08-17 14:39:16 +02:00
Kamil Śliwak
cb1a0f08ca
readFileAsString(): Accept path as boost::filesystem::path instead of string
2021-08-17 12:58:33 +02:00
chriseth
704820cc6e
Update tests.
2021-08-16 22:24:06 +02:00
chriseth
b62bb0a0b2
Merge pull request #11804 from ethereum/fixedPointTypes
...
[isoltest] Leading zero for fixed point types.
2021-08-16 22:17:48 +02:00
chriseth
4480662a58
Test.
2021-08-16 18:54:33 +02:00
hrkrshnn
59db0f1537
An equivalence check for SIGNEXTEND opcode
...
Checking the implementation of SIGNEXTEND using Z3's native SignExt and Extract
2021-08-16 18:54:33 +02:00
chriseth
5906d25a39
Formalization of SIGNEXTEND and rule proofs
2021-08-16 18:54:33 +02:00
Daniel Kirchner
9f2885e173
Disabling of prepublish
hook is no longer needed in setup_solcjs
...
See https://github.com/ethereum/solc-js/pull/542
2021-08-16 16:50:31 +02:00
Alexander Arlt
866617b353
[isoltest] Add support for fixed point types.
2021-08-16 13:07:22 +02:00
chriseth
d7a802e4bf
Merge pull request #11682 from ethereum/fixedPointTypes
...
Fixed point types for isoltest
2021-08-13 09:37:29 +02:00
Leo Alt
937af7d722
Fix SMT test
2021-08-12 22:34:18 +02:00
Alexander Arlt
d6b9b4175b
[isoltest] Add support for fixed point types.
2021-08-12 21:27:51 +02:00
chriseth
fe0d027d45
Merge pull request #11785 from ethereum/someMoreBaseFees
...
Some more base fees.
2021-08-12 19:48:10 +02:00
Leo Alt
6ee60aa628
Fix false positive on external calls from constructors
2021-08-12 18:51:55 +02:00
chriseth
c87c0f02bd
Test updates.
2021-08-12 16:56:12 +02:00
chriseth
90c4623460
Some more base fees.
2021-08-12 16:37:21 +02:00
chriseth
ccdc11ea5b
Merge pull request #11741 from ethereum/shadowing_inlineasm_fix_yul_codegen
...
Fixed inline assembly external identifier access.
2021-08-12 14:38:24 +02:00
Leo Alt
10397e440c
Fix ICE in constants
2021-08-12 10:53:01 +02:00
chriseth
a4c94a1b5b
Fixed inline assembly external identifier access.
2021-08-11 18:18:29 +02:00
Daniel Kirchner
e28d00a76d
Merge pull request #11763 from ethereum/basefee-hasOpcode
...
Allow basefee as Yul identifier for EVMVersion < london
2021-08-11 14:14:21 +02:00
Leo Alt
8ce878621a
Make show unproved CLI a flag
2021-08-11 10:54:03 +02:00
hrkrshnn
892700d769
Tests for basefee as identifier in inline assembly
...
Also added basefee to `EVMVersion::hasOpcode(...)`
2021-08-11 10:46:40 +02:00
hrkrshnn
7f1a2be0fe
Allow basefee as Yul identifier for EVMVersion < london
...
This was done to prevent basefee from being a breaking change. This change will be removed in 0.9.0.
TODO revert this commit in breaking.
2021-08-11 10:46:08 +02:00
Harikrishnan Mulackal
74ec3c1983
Merge pull request #11760 from ethereum/default-evmversion-london
...
Set default EVM version to London.
2021-08-11 10:42:41 +02:00
Harikrishnan Mulackal
0fc3e2dfb3
Merge pull request #11647 from ethereum/basefee
...
Implement London EVMVersion and the BASEFEE opcode
2021-08-11 10:31:22 +02:00
hrkrshnn
79733fca48
Set default EVM version to London.
2021-08-11 09:54:14 +02:00
hrkrshnn
43605d9299
Tests and Changelog for basefee.
2021-08-11 09:51:12 +02:00
hrkrshnn
a54addc2cb
An equivalence check for the Byte opcode
...
Checks that the byte opcode (implemented using shift) is equivalent to a
canonical definition of byte using extract.
2021-08-10 11:00:29 +02:00
chriseth
f6789de9f8
Fix implementation of BYTE
2021-08-09 19:14:14 +02:00
hrkrshnn
af1dabb555
Added EVMVersion london.
...
Also set the value of `block_base_fee` for testing to 7 wei.
2021-08-09 16:18:08 +02:00
hrkrshnn
543ccf5287
Added the basefee instruction in YulInterpreter
2021-08-09 16:18:08 +02:00
Leo Alt
ee6285d6d7
Do not create VCs for underoverflow by default for Sol >=0.8
2021-08-09 14:12:31 +02:00
Leo Alt
08c065ee04
Add option divModWithSlacks
2021-08-06 15:50:25 +02:00
Kamil Śliwak
506cc20fe8
Remove empty exit files from command-line tests
2021-08-05 17:41:33 +02:00
Kamil Śliwak
2803dba980
Add pragmas and SPDX comments to command-line tests to get cleaner error output
2021-08-05 17:41:30 +02:00
Kamil Śliwak
dc4620d2be
cmdlineTests.sh: Suppress message about empty output to get consistent output on release and pre-release builds
2021-08-05 17:11:58 +02:00
chriseth
db85849648
Merge pull request #11737 from ethereum/fix_shift_cleanup
...
Yul: Fix cleanup for left shift of bytes types.
2021-08-05 12:55:42 +02:00
chriseth
6b888b531b
Refactor conversion function.
2021-08-05 11:48:35 +02:00
chriseth
0112fed73b
Yul: Fix cleanup for left shift of bytes types.
2021-08-05 10:54:48 +02:00
Kamil Śliwak
2d5b9036c2
Merge pull request #11645 from ethereum/slightly-nicer-error-reporting
...
[Trivial] Provide a better error reporting for failed cmdline tests.
2021-08-04 15:47:14 +02:00
Marenz
dea201800f
Provide a better error reporting for failed cmdline tests.
2021-08-04 15:00:34 +02:00
Leo Alt
3c1f555f71
Tests
2021-08-04 13:54:50 +02:00
Leo Alt
700fe3e5d4
CL tests
2021-08-04 13:54:50 +02:00
Leo Alt
685d7a8c99
Bundle all unproved targets in a single message and only show all if setting chooses that
2021-08-04 13:54:50 +02:00
chriseth
ae519c1278
Merge pull request #11658 from ethereum/removeScannerFromCompilerStack
...
Remove scanner from compiler stack
2021-08-03 17:47:39 +02:00
chriseth
d7a40622e4
Merge pull request #11729 from ethereum/build-speedups
...
header file cleanups
2021-08-03 16:44:54 +02:00
chriseth
ffd66a5d08
Merge pull request #11720 from ethereum/onlySetRunsIfUsed
...
Only set "runs" if used.
2021-08-03 16:34:31 +02:00
chriseth
01a1316b36
Only set "runs" if used.
2021-08-03 15:53:59 +02:00
Christian Parpart
af18b8afc2
Eliminate some unnecessary header inclusions in headers in Scanner.h and SourceReferenceFormatter.h
2021-08-03 15:43:17 +02:00
Christian Parpart
6294aa871a
Simplify AsmParser::parse(.) usage
2021-08-03 15:43:17 +02:00
chriseth
ffc5cfd9a5
Remove scanner from compiler stack.
2021-08-03 15:43:17 +02:00
Mathias Baumann
2ee6c7be64
Print @src and @use-src locations in AsmPrinter
2021-08-03 15:29:52 +02:00
Harikrishnan Mulackal
5ff0811b99
Merge pull request #11717 from jaa2/develop
...
Handle --optimize-runs option in assembly mode
2021-07-29 18:56:22 +02:00
jaa2
c627e6af10
CommandLineParser: Handle --optimize-runs option in assembly mode
...
Fixes #11708 .
2021-07-29 18:15:57 +02:00
chriseth
7e1cfc112e
Merge pull request #11712 from ethereum/cmdline-test-filtering
...
Running only selected command-line tests
2021-07-29 10:39:27 +02:00
Kamil Śliwak
ad3d3c0df6
cmdlineTests.sh: Accept test name patterns as positional arguments
2021-07-28 01:02:46 +02:00
Alex Beregszaszi
c018cdf419
Merge pull request #11706 from ethereum/update-evmone-part2
...
Update evmone part 2
2021-07-27 17:17:59 +01:00
Leonardo
57092b21a3
Merge pull request #11421 from ethereum/smt_solver_option
...
[SMTChecker] Solver option
2021-07-27 18:17:24 +02:00
Leo Alt
6c8ecfa82c
Add option to choose solver
2021-07-27 17:14:21 +02:00
Christian Parpart
3755210b7b
[libyul] ObjectParser: Enables the use of custom source mapping via @use-src.
2021-07-27 16:46:47 +02:00
hrkrshnn
8bec0c8a6b
Updated docs and evmc.h header file for evmone 0.8.0 release
2021-07-27 16:39:41 +02:00
Kamil Śliwak
9a7c364c71
Process input files in Standard JSON mode just like in other modes
...
- This makes `-` for stdin work.
- `--ignore-missing` now works with `--standard-json`, though it's not very useful because there can be at most one input file.
- Separate errors for situations where there are no input files on the command line (this can be detected in the parser) and where they are not present on disk.
2021-07-27 15:54:32 +02:00
Ladislav Sladecek
9bbeea58c8
Make --pretty-json work with Standard JSON output
2021-07-26 16:00:46 +02:00
Leo Alt
e46abd0ca1
Update tests due to nondeterminism
2021-07-19 15:20:11 +02:00
Leo Alt
20e23171da
Update tests to z3 4.8.12
2021-07-16 14:43:52 +02:00
Daniel Kirchner
3d26d47d46
Merge pull request #11525 from ethereum/yulControlFlowGraph
...
Yul control flow graph (OptimizedEVMCodeTransform Step 1)
2021-07-15 16:03:39 +02:00
Daniel Kirchner
f3707f2ab0
Control flow graph for Yul.
2021-07-15 15:24:12 +02:00
Mathias Baumann
bf204403d8
Add "@use-src" header for generated yul code
2021-07-15 14:26:01 +02:00
Marenz
57db4c82ba
Fix: Use correct byte offset separation
...
":" instead of ","
2021-07-15 13:15:21 +02:00
chriseth
f75b55071e
Remove CharStream from SourceLocation.
2021-07-14 15:12:07 +02:00
chriseth
e5ab68ed71
Use unknown file for invalid source index.
2021-07-12 17:35:49 +02:00
Christian Parpart
5e4868d5d6
Adapted tests due to more precise Yul source locations.
...
Also added support for -1 source index, referencing original scanner's source location.
2021-07-09 11:50:48 +02:00
Christian Parpart
132fa46faa
Yul: Adds parsing @src comment in AsmParser to customize the AST's sourcer locations.
2021-07-09 11:48:00 +02:00
chriseth
fec01c112a
Merge pull request #11616 from ethereum/issue-8191-yul
...
Test yul code blocks in documentation.
2021-07-08 15:37:01 +02:00
Marenz
d844d84b51
Test yul code blocks in documentation.
2021-07-08 14:59:05 +02:00
chriseth
62934b60ca
Merge pull request #11605 from ethereum/issue-8191
...
isolate_tests: Extract code blocks from documentation using code block header
2021-07-08 14:28:47 +02:00
chriseth
691083c032
Merge pull request #11632 from ethereum/yulNegationFunctionNameCollision
...
Fix negation function name collision.
2021-07-08 12:20:17 +02:00
Marenz
9a0da17a6d
Use more readable and maintainable multiline strings in py test script
2021-07-08 10:49:29 +02:00
Daniel Kirchner
0a6fc89da2
Fix negation function name collision.
2021-07-08 10:47:29 +02:00
Christian Parpart
f9f32c910d
Fix source location for `if
` statements.
2021-07-07 17:37:01 +02:00
chriseth
46514ffad2
Merge pull request #11520 from ethereum/local-streams-in-command-line-parser
...
Local output streams in CommandLineParser
2021-07-07 15:07:23 +02:00
Kamil Śliwak
baced5d10e
Test for the --help option
2021-07-07 12:53:15 +02:00
Kamil Śliwak
6c33fbcb6a
CommandLineParser: Replace global sout/serr streams with class members
...
- This removes the global variable and prevents stderr/stdout from being printed in tests
2021-07-07 12:53:15 +02:00
chriseth
566537835b
Merge pull request #11627 from ethereum/allowEmptyFileName
...
Include locations with empty source name.
2021-07-07 12:52:49 +02:00
Kamil Śliwak
ce11ebb687
Merge pull request #11518 from ethereum/command-line-parser
...
CommandLineParser
2021-07-07 12:51:09 +02:00
chriseth
6ba298c82b
Include locations with empty source name.
2021-07-07 12:13:52 +02:00
Kamil Śliwak
ef7abd224d
Tests for all input modes in CommandLineParser
2021-07-06 17:17:18 +02:00
Marenz
5291ca2dd4
isolate_tests: Extract code blocks from documentation using code block header
2021-07-06 16:57:05 +02:00
chriseth
8d5e82b406
Fix source location of builtin function calls.
2021-07-06 16:54:29 +02:00
chriseth
09578e7e22
Merge pull request #11550 from ethereum/runs-constant
...
Constant for default --runs
2021-07-06 10:44:07 +02:00
Kamil Śliwak
105b4b4c8b
Update tests
2021-07-05 13:46:53 +02:00
Kamil Śliwak
a72857df03
CommonIO: Replace readStandardInput() with readUntilEnd() with a configurable stream
2021-07-02 14:58:30 +02:00
Kamil Śliwak
e3b345e5f0
Use a simpler stack optimization test to avoid having ICE message with absolute paths as expected output
2021-07-01 17:29:24 +02:00
Kamil Śliwak
753f359157
Replace stack optimization command-line test with Standard JSON ones
...
- It's not possible to run optimizer with only stack optimization enabled on the CLI.
2021-07-01 16:54:09 +02:00
Kamil Śliwak
9d08b5001f
Add sstore to linker tests to prevent the address from being optimized out
2021-07-01 16:54:09 +02:00
Kamil Śliwak
703a73f949
EVMCodeTransformTest: Disable all non-stack optimizations
2021-07-01 16:54:09 +02:00
Alex Beregszaszi
cd60ade472
Improve some Yul object and command line tests to avoid using pop() which can be optimized out
2021-07-01 16:54:09 +02:00
hrkrshnn
b628b115ae
Manually enabled gas statistics for erc20 token test.
2021-06-30 16:35:53 +02:00
chriseth
13d1fc9f41
Merge pull request #11579 from ethereum/better-errors-about-bad-paths-in-tests-with-external-sources
...
Better errors about bad paths in tests with external sources
2021-06-30 11:56:47 +02:00
chriseth
54b1c667f1
Merge pull request #11595 from ethereum/issue-11526
...
Fix yul codegen bug when using binary negation.
2021-06-30 11:55:42 +02:00
Mathias Baumann
c47d02066c
Fix yul codegen bug when using binary negatition.
2021-06-29 17:41:03 +02:00
chriseth
eaac16c779
Merge pull request #11590 from ethereum/disallow-non-hex-zero-and-fix-bytes32-literals-in-bytes-concat
...
Disallow non-hex zero literals and fix 32-byte hex literals in `bytes.concat()`
2021-06-29 16:34:26 +02:00
Kamil Śliwak
6a50d088a0
Fix ICE for 32-byte hex literals and zero literals in bytes.concat() by disallowing them
2021-06-29 14:48:42 +02:00
Kamil Śliwak
fa3696878b
Fix crash when passing empty strings to bytes.concat()
2021-06-29 13:52:01 +02:00
Daniel Kirchner
c341445f8e
Maintain disambiguation when generating new functions in StackToMemoryMover.
2021-06-28 18:11:57 +02:00
Daniel Kirchner
bc288aacf5
Have the stack optimization in the code transform only reuse slots that are reachable and fix argument slot reuse on functions without return variables.
2021-06-28 18:11:57 +02:00
Daniel Kirchner
dfce7b667d
Move function arguments and return values.
2021-06-28 18:11:57 +02:00
chriseth
22402accfe
Merge pull request #11578 from ethereum/soltest-clearer-error-message-for-std-exception
...
Clearer error message for `std::exception` in soltest
2021-06-28 16:13:21 +02:00
Kamil Śliwak
19fada966f
Do not use \b, \v and \f escapes in string literals in generated Yul code
2021-06-28 14:13:47 +02:00
Kamil Śliwak
6ad6fa2382
Do not hard-code the default 'runs' value as 200 in code that fills out optimizer settings
2021-06-28 14:12:28 +02:00
Kamil Śliwak
ca0b1bf3f3
Fix crash when passing zero to bytes.concat()
2021-06-25 21:26:28 +02:00
Kamil Śliwak
e841479b4b
TestCaseReader: Disallow UNC paths along with absolute ones
2021-06-25 18:41:21 +02:00
Kamil Śliwak
34425c351d
Tests for readFileAsString()
2021-06-25 18:41:21 +02:00
Kamil Śliwak
8d5eaf400a
Create FilesystemUtils with filesystem-related convenience helpers
2021-06-25 18:41:21 +02:00
Kamil Śliwak
65e23ff171
CommonIO: Make readFile() check if the file is not a directory and if not fail with a sensible exception rather than std::length_error
2021-06-25 16:04:58 +02:00
Kamil Śliwak
82b720029d
boostTest: Print diagnostic information for std::exception too
2021-06-25 13:25:10 +02:00
Kamil Śliwak
030fb1d9a2
boostTest: Give BOOST_REQUIRE_NO_THROW a smaller block of code to make the error message clearer when a test raises an unexpected exception
2021-06-25 13:22:15 +02:00
Alexander Arlt
8accf420ea
[yul] Functions: Remove dependency on AST ID.
2021-06-23 16:15:25 +02:00
chriseth
26598a2603
Merge pull request #11569 from ethereum/fixcalltounimplementedmodifier
...
Prevent calls to unimplemented modifiers.
2021-06-23 09:25:02 +02:00
Kamil Śliwak
afb8fb4927
Create libraries for yul-phaser and solc to avoid compiling their sources again for soltest
2021-06-22 17:47:45 +02:00
chriseth
c5923f7fcf
Prevent calls to unimplemented modifiers.
2021-06-22 17:08:28 +02:00
Kamil Śliwak
98e83303b1
Remove assertions preventing calldata->calldata conversion when cleanup is needed
2021-06-22 16:10:16 +02:00
Kamil Śliwak
0311b955c2
isolate_tests.py: Parse Sphinx block parameters correctly
2021-06-21 20:54:12 +02:00
Djordje Mijovic
838f59fa5b
Adding origin location notation to yul ir.
2021-06-21 18:48:20 +02:00
chriseth
0df8a38e55
Support metadata via IR.
2021-06-21 18:20:31 +02:00
hrkrshnn
eb04dfcd3e
Updated expectation of FixedFeeRegistrar.sol
2021-06-17 10:09:47 +02:00
chriseth
614683019b
Merge pull request #11426 from ethereum/test-fixedfee
...
Move contracts/FixedFeeRegistrar to semanticTests/externalContracts
2021-06-16 18:34:10 +02:00
chriseth
5b4a2f66e1
Directly restart processing calling functions.
2021-06-14 13:54:05 +02:00
Daniel Kirchner
284e8a103f
Remove potentially non-deterministic test case.
2021-06-09 14:42:16 +02:00
chriseth
e5500b9f20
Merge pull request #11471 from ethereum/funcdef-unimplemented-modifier
...
Reports an error on unimplemented modifiers in a function definition.
2021-06-09 13:54:05 +02:00
Christian Parpart
a14ac1923d
Fixes ICE when overriding an implemented modifier with an unimplemented one.
2021-06-09 13:15:20 +02:00
Kamil Śliwak
362fc6650d
Extra tests for shadowing within function parameter lists
2021-06-09 12:37:12 +02:00
a3d4
f59145f21f
Fix shadowing struct types by struct member names
2021-06-09 12:37:11 +02:00
a3d4
70b8b1c834
Do not warn about shadowing parameters in functions without implementation
2021-06-09 12:35:26 +02:00
Mathias Baumann
001a25db95
Fix crash in ControlFlowGraph related to free functions.
2021-06-09 11:10:33 +02:00
chriseth
3eaa37030a
Fix infinite recursion in function call graph generator due to recursive constant references.
2021-06-08 16:39:30 +02:00
Mathias Baumann
354f9d1015
Fix: Allow multiple @return tags on public state variables
2021-06-07 15:16:46 +02:00
Mathias Baumann
aae9d347aa
Split DocStringParsing in two stages
...
one requiring type info in the next step
2021-06-07 14:49:46 +02:00
chriseth
1f8f1a3db9
Merge pull request #11484 from ethereum/fix-unreachable-code-anaysis
...
Fix revert pruner modifying function flows wrong
2021-06-04 12:44:35 +02:00
chriseth
8da5d6a854
Update test expectations.
2021-06-04 12:04:04 +02:00
chriseth
a8ffa6c08d
Merge pull request #11482 from ethereum/fixUnreachable2
...
Fix control-flow handling of modifiers without body.
2021-06-03 16:56:05 +02:00
chriseth
2e3ee4c156
Fix control-flow handling of modifiers without body.
2021-06-03 13:31:15 +02:00
hrkrshnn
c3eef8af91
Fix ICE related to receive function having parameters.
2021-06-03 13:08:57 +02:00
chriseth
a30cf6c3e8
Merge pull request #11480 from ethereum/event-mapping-fatal-error
...
Errors about nested mapping in event parameter are fatal.
2021-06-03 11:39:26 +02:00
hrkrshnn
2309ae3edd
Added tests for internal or recursive types as event / error param
...
After converting the error about mapping parameter in event / error into a fatal type error, we were
missing tests that reached the "internal or recursive types" error.
2021-06-03 11:02:27 +02:00
hrkrshnn
cc915f023e
Errors about nested mapping in event parameter are fatal.
...
(Also applies for error parameters.)
2021-06-03 11:02:27 +02:00
chriseth
c55d173a28
Merge pull request #11479 from ethereum/fix-ice-when-assigning-implicitly-convertible-function-array-to-storage
...
Fix ICE when assigning implicitly convertible function array to storage
2021-06-03 10:52:21 +02:00
chriseth
b00027724a
Merge pull request #11478 from ethereum/fix-ice-when-calling-invalid-external-function-type
...
Treat invalid external function type as a fatal error
2021-06-03 09:00:38 +02:00
chriseth
93936129f1
Merge pull request #11476 from ethereum/fix-ice-on-library-bound-to-literal
...
Fix ICE in IR when a library is bound to a literal
2021-06-03 08:58:00 +02:00
Kamil Śliwak
ccf658b0e8
Fix assertion preventing assignment of arrays of implicitly convertible function types
2021-06-03 08:56:02 +02:00
Kamil Śliwak
4a19c7e495
Treat invalid external function type as a fatal error to prevent the type from being used
...
- `returnParameterTypesWithoutDynamicTypes()` assumes it won't encounter such types.
2021-06-02 21:44:39 +02:00
Kamil Śliwak
d96cc3469a
FunctionDefinition.resolveVirtual(): Skip unimplemented functions when lookup happens via super
2021-06-02 16:16:15 +02:00
Kamil Śliwak
67e87147b4
Extra asserts, test renaming, test for super in modifiers
2021-06-02 16:15:51 +02:00
Kamil Śliwak
3c7112ed2b
Remove the assertion against functions bound to types for which should not be possible
...
- The list was wrong - we do support string and int literals
- The assertion was meant to guard against silently skipping over types for which there is no special handling. The current code handles everything in a generic way though and likely will not have to be adjusted for newly added types so the risk of that happening is low.
2021-06-02 13:59:42 +02:00
chriseth
4cbf9ff74c
Merge pull request #10143 from ethereum/issue-10084
...
ControlFlowAnalyser: Also consider called functions in a flow
2021-06-01 19:34:56 +02:00
Leo Alt
bf21cd400c
Fix conversion from bytes to fixed bytes
2021-06-01 17:55:18 +02:00
Mathias Baumann
56ebea8b2f
ControlFlowAnalyser: Also consider called functions in a flow
2021-06-01 15:54:37 +02:00
Leo Alt
547a6915ad
Fix ICE on external calls from constructor
2021-06-01 14:21:48 +02:00
Leo Alt
97a7c5429b
Add SMTChecker tests with modules
2021-06-01 13:35:44 +02:00
Leo Alt
8eb28b10cb
Add SMTChecker tests with modules
2021-06-01 13:35:10 +02:00
chriseth
0623658ddd
Properly set source location of bare blocks.
2021-05-31 18:28:17 +02:00
Alexander Arlt
376836a7fb
Fix typo.
2021-05-31 10:07:26 -05:00
Harikrishnan Mulackal
8ecf79474b
Merge pull request #11458 from ethereum/event_indexed_mixed
...
Add test with event where indexed parameters are not the first.
2021-05-31 16:19:52 +02:00
chriseth
3dfa68a574
Merge pull request #11456 from ethereum/ice-abstract-contract-mapping-constructor
...
Fix ICE related to mapping types in abstract contract constructor
2021-05-31 15:35:26 +02:00
chriseth
28aad7e0b4
Add test with event where indexed parameters are not the first.
2021-05-31 15:19:56 +02:00
hrkrshnn
138873d918
Fix ICE related to mapping types in abstract contract constructor
2021-05-31 14:56:49 +02:00
chriseth
c09dc6144c
Merge pull request #11050 from ethereum/isoltest-effects-events
...
[isoltest] Add support for events using call side-effects.
2021-05-31 14:38:14 +02:00
chriseth
6dd5bcd3f0
Merge pull request #11454 from ethereum/data-location-error
...
Error message: try-catch parameter cannot be in storage.
2021-05-31 14:31:01 +02:00
hrkrshnn
f582d48f7b
Error message: try-catch parameter cannot be in storage.
2021-05-31 11:25:08 +02:00
chriseth
29a995b937
Merge pull request #11433 from ethereum/panic-dedup
...
Insert a call to panic function in legacy codegen (and not inline it every single time)
2021-05-31 11:23:30 +02:00
Alexander Arlt
85e3fcb1bf
[isoltest] Extract event specific end-to-end tests.
2021-05-27 23:21:55 -05:00
Alexander Arlt
ec86e3e9ae
[isoltest] Add support for events using call side-effects.
2021-05-27 23:21:55 -05:00
Alex Beregszaszi
47167a42a7
Update tests
2021-05-27 18:31:54 +01:00
Alex Beregszaszi
cc8d341e28
Include utility functions in ExpressionCompiler tests
2021-05-27 18:31:54 +01:00
Leo Alt
d828aeee23
Update test nondet
2021-05-26 22:12:49 +02:00
Leo Alt
cb017b95cf
update tests
2021-05-26 22:12:49 +02:00
Alexander Arlt
3c57ede026
Fix for boost v1.76.
2021-05-26 08:44:23 -05:00
chriseth
caa833909d
Merge pull request #11244 from ethereum/berlin-gas-update
...
Change default EVM version to Berlin and update Gas costs.
2021-05-26 13:34:04 +02:00
hrkrshnn
dc15e31605
Increased the tolerance for two GasMeter tests.
2021-05-26 12:23:06 +02:00
hrkrshnn
97c9d21376
Force two tests to go out of gas.
2021-05-26 12:23:06 +02:00
hrkrshnn
4d6c951396
Isoltest gas update after Berlin gas cost changes
2021-05-26 12:23:06 +02:00
hrkrshnn
180e00f56d
Updated tests after changing EVM version to Berlin
2021-05-26 12:23:06 +02:00
hrkrshnn
d5564a0304
Set default EVM version to Berlin
2021-05-26 12:23:06 +02:00
hrkrshnn
7d28ea3746
Updated gas costs for Berlin
2021-05-26 11:36:43 +02:00
chriseth
6640fb8c8a
Merge pull request #11048 from ethereum/isoltest-effects
...
[isoltest] Add support for call side-effects.
2021-05-25 17:24:34 +02:00
hrkrshnn
d80a92752a
Added a gas test for storage costs
2021-05-25 12:42:32 +02:00
hrkrshnn
1839d195be
Clears EIP-2929 account and storage access indicator on new blocks.
...
For semantic tests each test (in the same test file) happens on a new block, however the storage and
account access indicators were not reset.
2021-05-25 12:32:59 +02:00
Alexander Arlt
66099fe938
[isoltest] Remove storage command left overs.
2021-05-24 08:36:46 -05:00
Alexander Arlt
e9ee571b35
[isoltest] Add support for call side-effects.
2021-05-22 00:12:07 -05:00
Kamil Śliwak
29c8f282e4
Merge pull request #11419 from ethereum/sc-inline
...
Properly support inliner in settings.optimizer.details
2021-05-21 17:51:39 +02:00
Alex Beregszaszi
cb2c246a7b
Move contracts/FixedFeeRegistrar to semanticTests/externalContracts
2021-05-21 13:51:19 +01:00
Alexander Arlt
799106acfe
[isoltest] Add account builtin.
...
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2021-05-21 12:38:05 +01:00
Alex Beregszaszi
75c72cd54d
Properly support inliner in settings.optimizer.details
2021-05-20 20:22:34 +01:00
Alex Beregszaszi
13388e283e
Merge pull request #11385 from ethereum/temporary-working-directory-helper
...
TemporaryWorkingDirectory helper
2021-05-20 20:06:03 +01:00
Kamil Śliwak
4a2080b3aa
TemporaryDirectory: Use boost::filesystem::equivalent() instead of == in path comparisons
2021-05-20 00:07:42 +02:00
Kamil Śliwak
828b15b34f
Implement TemporaryWorkingDirectory test helper
2021-05-20 00:07:42 +02:00
Kamil Śliwak
d85cc6c06a
Fix dangling reference produced by temporary passed to TestFileParser going out of scope
...
- This fixes the `stack-use-after-scope` error reported by asan.
2021-05-19 23:27:41 +02:00
Kamil Śliwak
752483b92f
Minor style tweaks in test TestFileParser (names and wrapping)
2021-05-19 23:27:41 +02:00
Leonardo
dac24294c7
Merge pull request #11384 from ethereum/expose-temporary-directory-helper
...
Expose TemporaryDirectory helper
2021-05-18 12:44:10 +02:00
Harikrishnan Mulackal
21af5408d9
Merge pull request #11397 from ethereum/v1-test-cleanup
...
Cleanup ABICoder V1 tests
2021-05-17 16:20:22 +02:00
Martin Blicha
9c98ab59f0
SMTChecker: fixed struct constructor where FixedBytes member is initialized with a string literal
2021-05-17 13:52:37 +02:00