Commit Graph
23643 Commits
Author SHA1 Message Date
Anton Bukov cebf2d2ca7 Add tests for type(S).typehash 2023-07-05 12:34:38 +02:00
Anton Bukov 8c1a9af76a Fix false positive test for type(S).typehash and update error messages 2023-07-05 12:34:38 +02:00
Anton Bukov e8a311268d Extend type(X) validation to support structs 2023-07-05 12:34:38 +02:00
Anton Bukov 66c54ef128 Fix wrong failure 2023-07-05 12:34:38 +02:00
Anton Bukov 09e85879d7 Some fixes 2023-07-05 12:34:38 +02:00
Anton Bukov b267b0e8cd Add missing includes 2023-07-05 12:34:38 +02:00
Anton Bukov 9b4da6bdea Improve typehash() computation for nested structs 2023-07-05 12:34:38 +02:00
Anton Bukov f9a48b94d4 Handle nested structs encoding for EIP-712 2023-07-05 12:34:38 +02:00
Anton Bukov 54b46ce39e Add native support of EIP-712 struct typehash 2023-07-05 12:34:38 +02:00
Bhargava Shastry 5d7533b540 Merge pull request #14227 from ethereum/update-codegen-fuzzer
Stack optimizer fuzzer: Detect stack-too-deep during optimization
2023-07-03 14:52:27 +02:00
Leo 2f451a186b Merge pull request #14377 from ethereum/fix-smtlib
SMTChecker: Fix generation of smtlib scripts
2023-06-30 16:58:26 +02:00
Martin Blicha 3599c8c6b9 SMTChecker: Fix generation of smtlib scripts
When both CHC and BMC engines are used, the type of state variable
changes when trusted mode for external calls is used. This is because in
CHC engine, trusted mode means we pack more information into the
symbolic state. In BMC this type is always simple.

However, if BMC is run after CHC, in the current code state variables
are reset (and their declaration dumped into SMT-LIB script) before BMC
resets the type of the state variable.

The proposed solution is to simply reset the variable type before the
first variable of this type is created.
2023-06-30 15:57:51 +02:00
Daniel 30cd1a0fb4 Merge pull request #14370 from ethereum/smt-cleanup
Remove ReasoningBasedSimplifier from libyul
2023-06-28 16:31:13 +02:00
Martin Blicha 29041c8101 Remove ReasoningBasedSimplifier from libyul
Due to a design decision to move away from a bundled SMT solver,
ReasoningBasedSimplifier in its current form cannot be use any longer.
This is a necessary step to allow a unified way to call solvers using
only SMTLIB interface.

Since this optimization pass has always been marked as highly
experimental and never turned on by default, it should be OK to remove
it.
2023-06-28 14:38:36 +02:00
r0qs c819243374 Merge pull request #14368 from ethereum/gh-built-in-triage-automation
Remove triage workflow in favor of github built-in automation
2023-06-28 12:37:49 +02:00
Kamil Śliwak 3bb492a28d Merge pull request #14351 from ethereum/ci-deduplicate-base-env-with-anchors
Deduplicate environment variables in CI
2023-06-27 14:43:24 +02:00
Kamil Śliwak 8b64195d4b CI: Make jobs extend base environments instead of redefining them
- Also remove variables that are now redundant.
- Note that this adds new variables for jobs that previously did not have them. This should not affect behavior because we were simply omitting those variables where they were not necessary.
2023-06-27 14:00:28 +02:00
Kamil Śliwak 793adc8106 CI: Define base environments in terms of environments of dicts they depend on 2023-06-27 13:56:36 +02:00
Kamil Śliwak d12a981ba8 CI: Define aliases for all the base environment dicts 2023-06-27 13:56:36 +02:00
Leo 2cf03e3f0b Merge pull request #14344 from pgebal/pgebal/fix-ice-internal-type
Fix error in SMTChecker: Use rich indentifier instead of external identifier to encode member access to functions
2023-06-27 12:31:25 +02:00
Bhargava Shastryandr0qs 87d0c84960 Stack optimizer fuzzer: Detect stack-too-deep during optimization
Co-authored-by: r0qs <deepmarolaest@gmail.com>
2023-06-27 10:32:23 +02:00
r0qs a4777937ed Remove triage workflow in favor of github built-in automation 2023-06-26 22:53:29 +02:00
Daniel 34d2383f28 Merge pull request #14281 from alexjorgef/patch-1
Change installation documentation for Arch Linux
2023-06-26 19:42:11 +02:00
Alexandre Ferreira b70477d795 Change installation documentation for Arch Linux
Correct inline code with double backquotes


Add more information

Add external links to packages;
Add a note to inform that packages don't have official support.
2023-06-26 17:58:03 +01:00
Daniel 1067232bbc Merge pull request #14354 from ethereum/parallelize-bytecode-compare-presets
Parallelize optimized and unoptimized bytecode reports in CI
2023-06-26 12:57:52 +02:00
Kamil Śliwak 92816eb6c5 CI: Generate optimized and unoptimized bytecode reports in parallel 2023-06-26 10:53:29 +02:00
Kamil Śliwak dabecb600f Merge pull request #14353 from ethereum/unify-and-simplify-bytecode-report-generation-in-ci
Unify and simplify bytecode report generation in CI
2023-06-26 10:50:48 +02:00
Kamil Śliwak 45c2ffcd55 CI: Merge prepare_bytecode_report and storebytecode.sh script into a new script and use it for all platforms in CI 2023-06-23 19:49:54 +02:00
Kamil Śliwak 69ffcfc242 CI: Move bytecode report comparison logic to a script 2023-06-23 19:49:54 +02:00
Kamil Śliwak ea1327707b CI: Don't use requires_nothing for jobs that explicitly state what they require 2023-06-23 19:49:54 +02:00
Kamil Śliwak aca4c86a23 Merge pull request #14350 from ethereum/bytecode-report-presets
Bytecode report presets
2023-06-23 19:49:07 +02:00
Kamil Śliwak 10670d6286 prepare_report: Replace hard-coded optimize setting with selectable presets 2023-06-23 19:00:30 +02:00
Pawel Gebal 826fd90dcf Fix error in SMTChecker: Use rich indentifier instead of external identifier to ecnode member access to functions 2023-06-23 15:24:55 +02:00
Kamil Śliwak f9a3c094a6 Merge pull request #14330 from ethereum/parallelize-bytecode-compare
Generate CLI and Standard JSON bytecode reports in parallel
2023-06-23 11:06:51 +02:00
Kamil Śliwak 3b80aa2ea4 Run Standard JSON and CLI bytecode report generation in parallel 2023-06-23 09:17:53 +02:00
Kamil Śliwak e8c4d0e324 More consistent file naming for bytecode compare artifacts
- This will make it easier to have a single variable specifying the interface.
2023-06-23 09:17:53 +02:00
Kamil Śliwak b26090c288 Merge pull request #14339 from ethereum/parallelize-cli-tests
Parallelize CLI tests
2023-06-21 17:46:45 +02:00
Nikola Matić 08897b88c9 Merge pull request #14342 from ethereum/peg-oz-to-specific-commit
Disable failing OZ tests
2023-06-21 16:11:23 +02:00
Nikola Matic edd99b07fe Disable failing OZ tests 2023-06-21 14:50:05 +02:00
Kamil Śliwak fac7ca943b Parallelize CLI tests 2023-06-20 14:01:18 +02:00
Kamil Śliwak dc7cda18f0 Merge pull request #14338 from ethereum/cmdline-tests-exclude-option
Add `--exclude` option to `cmdlineTests.sh`
2023-06-20 13:49:53 +02:00
Kamil Śliwak 3ecf968001 Merge pull request #14328 from ethereum/fix-incomplete-ast-in-standard-json-on-analysis-fail
Fix incomplete AST in standard json on analysis fail
2023-06-19 18:26:33 +02:00
Leo 6b2939da31 Merge pull request #14307 from pgebal/pgebal/print_smt_to_output_smtchecker_smtlib_code
Add --print-smt flag to output the SMTChecker SMTLIB code
2023-06-19 16:58:52 +02:00
Kamil Śliwak 399457d74b cmdlineTests.sh: Add --exclude option 2023-06-19 16:43:30 +02:00
Kamil Śliwak 4752b31e6c cmdlineTests.sh: Rewrite test selection to use find 2023-06-19 16:43:30 +02:00
Kamil Śliwak 381b610fe5 Merge pull request #14336 from ethereum/remove-bytecode-compare-deploy-key
Remove unused Travis deploy key for bytecode compare
2023-06-19 15:09:58 +02:00
Kamil Śliwak 32e8297048 Remove unused bytecodecompare/deploy_key.enc 2023-06-19 14:20:35 +02:00
Pawel Gebal d4be1d9c2f Add --print-smt flag to output SMTChecker SMTLIB code 2023-06-16 14:04:07 +02:00
Kamil Śliwak 712229a5c6 Fix StandardCompiler returning an incomplete AST in Standard JSON in case of an early exit during analysis 2023-06-15 10:50:04 +02:00
Kamil Śliwak f50820fcae Tests checking outputs produced in presence of errors 2023-06-15 10:49:19 +02:00