Commit Graph
23663 Commits
Author SHA1 Message Date
Saw-mon & Natalie 283f85b091 more semantic and syntax tests 2023-07-05 12:34:39 +02:00
Saw-mon & Natalie 57d7226d1a fixed syntax test error messages. 2023-07-05 12:34:39 +02:00
Saw-mon & Natalie c6e73707c7 fixed codestyle. 2023-07-05 12:34:39 +02:00
Saw-mon & Natalie 84918fb01e added syntaxt tests and updated the TypeChecker logic. 2023-07-05 12:34:39 +02:00
Anton Bukov 8023619d5c Fix tests for compile-time checks 2023-07-05 12:34:39 +02:00
Saw-mon & Natalie 7de314bd0d fixed typo 2023-07-05 12:34:39 +02:00
Saw-mon & Natalie 89424875de fix coding style 2023-07-05 12:34:39 +02:00
Saw-mon & Natalie 145dfcf6da fixed EIP-712 encoding type. 2023-07-05 12:34:39 +02:00
Anton BukovandSaw-mon & Natalie 78981fac52 Update libsolidity/codegen/ir/IRGeneratorForStatements.cpp
Co-authored-by: Saw-mon & Natalie <3140080+Saw-mon-and-Natalie@users.noreply.github.com>
2023-07-05 12:34:39 +02:00
Anton BukovandSaw-mon & Natalie a8dc240d42 Update libsolidity/codegen/ir/IRGeneratorForStatements.cpp
Co-authored-by: Saw-mon & Natalie <3140080+Saw-mon-and-Natalie@users.noreply.github.com>
2023-07-05 12:34:39 +02:00
Anton Bukov 7ffbfe6781 Fix assert 2023-07-05 12:34:39 +02:00
Anton Bukov 1d40bb4940 Disallow to use typehash() for structs with nested mappings 2023-07-05 12:34:39 +02:00
Anton Bukov c4e8d3754d Fix compilation error 2023-07-05 12:34:39 +02:00
Anton BukovandHari 63210e5a68 Update libsolidity/codegen/ir/IRGeneratorForStatements.cpp
Co-authored-by: Hari <webmail.hari@gmail.com>
2023-07-05 12:34:38 +02:00
Anton BukovandHari 3efe100179 Update libsolidity/codegen/ir/IRGeneratorForStatements.cpp
Co-authored-by: Hari <webmail.hari@gmail.com>
2023-07-05 12:34:38 +02:00
Anton BukovandHari f9b9905c95 Update libsolidity/codegen/ExpressionCompiler.cpp
Co-authored-by: Hari <webmail.hari@gmail.com>
2023-07-05 12:34:38 +02:00
Anton BukovandHari 422676aef2 Update libsolidity/ast/Types.cpp
Co-authored-by: Hari <webmail.hari@gmail.com>
2023-07-05 12:34:38 +02:00
Anton Bukov e7bb0b38e1 Rename methods encode* to eip712Encode* 2023-07-05 12:34:38 +02:00
Anton Bukov 4382dc3d2e Simplify type(S).typehash tests 2023-07-05 12:34:38 +02:00
Anton Bukov 9e397f90ad Fix test expected error 2023-07-05 12:34:38 +02:00
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