Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
4b74885
Set version to 0.8.26
nikola-matic Mar 14, 2024
33e3324
Merge pull request #14941 from ethereum/set-version-to-0-8-26
cameel Mar 14, 2024
655a9d8
Fix passing of string input parameter to Enable method of DebugInfoSe…
zo9999 Mar 15, 2024
afda698
Merge pull request #14945 from zo9999/debug-info-selection-small-opti…
cameel Mar 15, 2024
905c8ae
PPA scripts: Don't use tabs for alignment
cameel Mar 15, 2024
b742030
PPA scripts: Drop lunar from the distribution list
cameel Mar 15, 2024
c28de2b
Merge pull request #14947 from ethereum/drop-lunar-from-ppa
cameel Mar 25, 2024
d19991c
fix typos (#14940)
xiaoxianBoy Mar 26, 2024
06fc835
Remove redundant word (#14952)
InventiveCoder Mar 26, 2024
f82f0a1
Install latest eldarica release on base ubuntu image
r0qs Mar 25, 2024
9b0134b
Install eldarica on OSX machines
r0qs Mar 25, 2024
77b8ca5
Update `actions/checkout` version to v4
r0qs Mar 25, 2024
1fec659
Bump CI docker images
r0qs Mar 25, 2024
5c0ea53
Merge pull request #14962 from ethereum/add-eldarica-ci
ekpyron Apr 2, 2024
b50d374
Merge pull request #14964 from ethereum/bump-docker-images
ekpyron Apr 2, 2024
9ea8830
SMTChecker: Add command-line test for Eldarica
blishko Mar 5, 2024
28e91a4
Merge pull request #14965 from ethereum/eldarica-test
blishko Apr 2, 2024
1d9ae87
Install Eldarica on Ubuntu Clang images
r0qs Apr 3, 2024
f6dd9b0
Make KnowledgeBase object constructors explicit in order to avoid (#1…
zo9999 Apr 3, 2024
c75e63a
docs: Replace outdated Scaffold-ETH link to Scaffold-ETH-2 (#14973)
moltam89 Apr 3, 2024
ad5eab8
Update reference-types.rst (#14949)
jpenna Apr 3, 2024
10b1b3c
Optimize the magicVariableToID function. (#14901)
vcvvvc Apr 3, 2024
d2cbe96
NatSpec: add error to context for notice, dev, and param tags. (#14970)
wilsoncusack Apr 3, 2024
ab1f2b8
Update precompiled contract address range (#14950)
ardislu Apr 3, 2024
87bdfd6
[buildsystem] Fix libstdlib to use CMAKE_CURRENT_SOURCE_DIR.
aarlt Feb 15, 2024
b60ed2b
[buildsystem] Add USE_SYSTEM_LIBRARIES option.
aarlt Feb 16, 2024
d178c40
[buildsystem] Add ONLY_BUILD_SOLIDITY_LIBRARIES option.
aarlt Feb 16, 2024
780018a
[buildsystem] Add STRICT_JSONCPP_VERSION option.
aarlt Feb 16, 2024
a26691e
Merge pull request #14860 from ethereum/improve_solidity_embeddability
nikola-matic Apr 3, 2024
0289bb2
Merge pull request #14976 from ethereum/eldarica-ubuntu-clang-images
blishko Apr 3, 2024
8b1b65f
Bump ubuntu-clang docker images
r0qs Apr 3, 2024
6040a52
Merge pull request #14977 from ethereum/bump-clang-docker-images
blishko Apr 3, 2024
9504612
SMTChecker: Fix internal error when using bitwise operators with an a…
pgebal Apr 4, 2024
3d7b3d9
Merge pull request #14988 from pgebal/smt_chcecker_fix_internal_error…
blishko Apr 4, 2024
bcb10f8
Remove signature removal from macos universal binaries.
aarlt Apr 3, 2024
f6d5a43
chore: remove repetitive words
hanghuge Apr 6, 2024
592e429
Merge pull request #14978 from ethereum/remove_remove_signature_from_…
cameel Apr 8, 2024
37f4654
Rename some tests.
aarlt Feb 18, 2024
c5c0bc5
Rename additional tests.
aarlt Apr 8, 2024
2bc657a
Merge pull request #14866 from ethereum/rename_tests_asm_json_import_…
cameel Apr 8, 2024
0c32ddb
Fix error msg for hex number combined with unit denomination
pcw109550 Apr 8, 2024
ae9bcab
Merge pull request #14998 from pcw109550/pcw109550/fix-err-msg-days-h…
cameel Apr 9, 2024
8c32041
chore: fix typo in comment
looklose Apr 10, 2024
c2d2143
SMTChecker: Add helper method to check for compatibility of sorts
blishko Apr 3, 2024
60240b4
SMTChecker: Relax assertion for creating array store expression
blishko Apr 3, 2024
e74472c
SMTChecker: Add regression test
blishko Apr 3, 2024
0c831e0
Add a changelog entry about a fixed ICE in SMTChecker
blishko Apr 12, 2024
6c7e686
Merge pull request #14980 from ethereum/smt-int-sorts-compatibility
blishko Apr 12, 2024
b958d80
gas_diff_stats: Use argparse and adjust description to work better wi…
cameel Apr 12, 2024
42aa58a
gas_diff_stats: Base branch option
cameel Apr 12, 2024
54e4252
Clean up tab/space mix and tabs used for alignment
cameel Apr 12, 2024
5cd92b5
Update text expectations
cameel Apr 12, 2024
1fc46f0
Merge pull request #15021 from ethereum/gas-diff-stats-base-branch-op…
nikola-matic Apr 15, 2024
019d45e
External tests: Include timing information in the JSON report
cameel Apr 12, 2024
d96043f
Update Changelog.md
vijayrajpanchall Apr 15, 2024
009000b
Merge pull request #15028 from vijayrajpanchall/patch-2
nikola-matic Apr 15, 2024
cf5a9c4
Merge pull request #15023 from ethereum/timing-info-in-external-test-…
cameel Apr 15, 2024
581d814
time benchmarks: Actually ignore errors from legacy compilation
cameel Apr 12, 2024
d6198ee
time benchmarks: Add bytecode size measurement
cameel Apr 12, 2024
1317bcc
time benchmarks: Accept solc binary as argument and add minimal valid…
cameel Apr 12, 2024
50433df
time benchmarks: Format results as a markdown table
cameel Apr 12, 2024
e6bd63b
time benchmarks: Reorder input files from fastest to slowest
cameel Apr 12, 2024
6b83a43
time benchmarks: Refactor to reduce repetitiion
cameel Apr 12, 2024
b5eb800
Merge pull request #15022 from ethereum/timing-benchmark-tweaks-and-f…
cameel Apr 15, 2024
7f0a083
Merge pull request #15026 from ethereum/clean-tab-space-mix
ekpyron Apr 15, 2024
143fca6
Merge pull request #15005 from looklose/develop
nikola-matic Apr 16, 2024
bbb7f58
Merge pull request #14992 from hanghuge/develop
nikola-matic Apr 16, 2024
ac76c40
Prevent pnpm frozen lockfile
r0qs Apr 16, 2024
30d7878
Merge pull request #15035 from ethereum/pnpm-broken-lockfile
nikola-matic Apr 16, 2024
7f882ef
Bytecode difference caused by SSA transform
nikola-matic Mar 4, 2024
04b220d
Fix string/hex string literal implicit conversion to bytesNN
pcw109550 Apr 17, 2024
37d4533
Merge pull request #15002 from pcw109550/pcw109550/docs-fix-string-li…
nikola-matic Apr 17, 2024
39af449
Merge pull request #14968 from ethereum/bytecode-different-with-dummy…
nikola-matic Apr 17, 2024
a0e1a3e
fix uncaught ICE when --yul-optimizations is empty/blank
matheusaaguiar Mar 26, 2024
00b2e54
Fix internal error when using an empty tuple with a ternary operator …
pgebal Apr 18, 2024
2e8cd3f
Merge pull request #14967 from ethereum/fixEmptyStringYulOptimization…
nikola-matic Apr 19, 2024
cc27468
Remove wordSizeTransform.
aarlt Apr 22, 2024
272892e
Merge pull request #15047 from ethereum/remove_wordSizeTransform
ekpyron Apr 22, 2024
df01dcc
Better error message when consecutive underscores
pcw109550 Apr 23, 2024
ebdce26
Merge pull request #15049 from pcw109550/pcw109550/fix-err-msg-consec…
cameel Apr 23, 2024
f4534b1
Reduce default font weight for readability
edurivara Mar 15, 2024
fb11553
Font weight to 200px and letter spacing 0.5px for readability
edurivara Apr 2, 2024
0711fa3
Require with custom error
nikola-matic Mar 6, 2024
1bf0f38
Refactor revertWithError usage
nikola-matic Apr 19, 2024
24e3c30
Merge pull request #14913 from ethereum/require-with-custom-errors
cameel Apr 25, 2024
ceabc54
Fix mistake in require condition in docs
nikola-matic Apr 26, 2024
938c505
Merge pull request #15057 from ethereum/require-docs-fixup
nikola-matic Apr 26, 2024
351a910
Install python dependencies on buildpack-deps images
r0qs Apr 26, 2024
c5bfea2
Refactor requireOrAssert to use revertWithError
nikola-matic Apr 26, 2024
9e4d260
Merge pull request #15058 from ethereum/refactor-require-or-assert-fu…
nikola-matic Apr 26, 2024
700ba0b
Sort packages in alphabetical order and split commands by line
r0qs Apr 26, 2024
9cbd0a1
Remove superfluous cleanup step
r0qs Apr 26, 2024
7f88baa
Merge pull request #15059 from ethereum/add-python-pkgs-buildpack-deps
r0qs Apr 26, 2024
9b89c30
Move python dependencies to docker images
r0qs Apr 26, 2024
21dbf83
Bump CI docker images
r0qs Apr 26, 2024
2c3fc90
Merge pull request #15060 from ethereum/move-python-deps-to-docker-imgs
r0qs Apr 26, 2024
61ced0d
Update cheatsheet.rst
PatrickAlphaC Apr 27, 2024
2f5f6b9
Replace yarn with pnpm in the external tests since yarn seems to be u…
r0qs Apr 29, 2024
3794bc1
Remove perpetual-pools external test
r0qs Apr 29, 2024
d74b8af
Merge pull request #15067 from ethereum/replace-yarn-by-pnpm-hardhat
nikola-matic Apr 29, 2024
007205a
Order `Instructions.h` by opcodes
axic Apr 30, 2024
7fb6222
SMTChecker: First version of SMTLIB2 parser
blishko Mar 13, 2024
eb11819
SMTChecker: Instruct Eldarica to produce invariants if requested
blishko Mar 13, 2024
1fcaec5
SMTChecker: Remember sorts already in SMTLibInterface
blishko Apr 16, 2024
384f005
SMTChecker: Support retrieving invariants from Eldarica
blishko Apr 16, 2024
048ce0b
SMTChecker: Add command-line test for invariants from Eldarica
blishko Apr 16, 2024
5afa25e
Merge pull request #15032 from ethereum/smt-eld-invariants
blishko Apr 30, 2024
b901aff
Merge pull request #15069 from ethereum/instructions-order
r0qs May 2, 2024
ae79d13
Merge pull request #15064 from PatrickAlphaC/patch-2
matheusaaguiar May 2, 2024
87d86bf
Replace internal JSON library jsoncpp with nlohmann::json.
aarlt Feb 20, 2024
dd07096
StaticAnalyzer: Only raise a compile time error for division and modu…
clonker May 2, 2024
aa6bbc2
Merge pull request #15074 from clonker/14702-produce-compiler-error-c…
clonker May 7, 2024
59a16df
Merge pull request #14877 from ethereum/replace-jsoncpp-with-nlohmann…
aarlt May 7, 2024
cb78398
Correct changelog.
aarlt May 7, 2024
6cc7527
Mark embedding options as advanced.
aarlt May 7, 2024
327a4c3
Merge pull request #15080 from ethereum/correct-changelog
ekpyron May 7, 2024
3485bc9
Reformat tests in nlohmann::json style.
aarlt May 7, 2024
38ea398
Merge pull request #15081 from ethereum/make-embedding-options-advanced
ekpyron May 7, 2024
5091b5b
Merge pull request #15079 from ethereum/remove_jsoncpp_formatting
aarlt May 7, 2024
2572e13
SMTChecker: Fix equality of array literals
blishko Apr 23, 2024
b467885
Merge pull request #15050 from ethereum/smt-fix-bytearray-equality
blishko May 8, 2024
9599d85
Optimizer docs: Style corrections
cameel Feb 12, 2024
cfff77c
Merge pull request #15053 from ethereum/optimizer-docs-style-cleanup
cameel May 8, 2024
e6f48c2
Fix python version for Windows builds
nikola-matic May 9, 2024
30130db
Merge pull request #15090 from ethereum/fix-python-version-for-window…
cameel May 10, 2024
e446713
Fix archlinux build by disabling test
nikola-matic May 9, 2024
f53b333
Merge pull request #15089 from ethereum/fix-archlinux-build
cameel May 10, 2024
c9e2c20
Fix a bug preventing repeated parts of optimizer sequence from ever s…
cameel Feb 14, 2024
e202d30
Merge pull request #14854 from ethereum/fix-superfluous-iterations-in…
cameel May 10, 2024
10afe0d
Make fullSuite medium test case less artificial
cameel May 11, 2024
54ab398
Change the default optimizer sequence to the `the-good-parts-mk3` can…
cameel Mar 6, 2024
c12fe8a
Update gas expectations
cameel Mar 8, 2024
e19abe4
Update other test expectations
cameel Mar 8, 2024
d5f5742
CI: Stop installing cvc4 on archlinux
blishko May 8, 2024
d116a34
Merge pull request #15085 from ethereum/smt-drop-cvc4-archlinux
blishko May 13, 2024
ff81bac
Merge pull request #15030 from ethereum/seqbench-sequence-the-good-pa…
ekpyron May 13, 2024
5ffd39a
Fix segmentation fault when assigning to a parenthesized non-tuple ex…
r0qs May 8, 2024
d249926
Merge pull request #15084 from ethereum/fix-segfault-tuple-expression
r0qs May 14, 2024
9a60c27
Update bytecode size test for byzantium.
ekpyron May 14, 2024
a91d559
Merge pull request #15100 from ethereum/nightly-ci-fixes
ekpyron May 14, 2024
febe38a
SMTChecker: add insufficient funds verification target for CHC engine
pgebal May 8, 2024
59cc93e
Merge pull request #15086 from pgebal/smtchecker/add_insuffienct_fund…
blishko May 14, 2024
c84863f
Do not allocate memory on reverts with small errors.
ekpyron May 9, 2023
e3e4f66
Remove bzzr entries from static binary section in the docs
r0qs May 13, 2024
a975c93
Merge pull request #14186 from ethereum/smallRevertOptimization
nikola-matic May 15, 2024
3fbc527
Merge pull request #15098 from ethereum/drop-swarmhash-docs
nikola-matic May 15, 2024
8216a70
Add the missing changelog entry for the new default optimizer sequence
cameel May 15, 2024
108d398
Changelog: Optimizer -> Yul Optimizer in the entry for the superfluou…
cameel May 15, 2024
816b588
Merge pull request #15103 from ethereum/new-optimizer-sequence-changelog
nikola-matic May 15, 2024
bbf5aa2
Remove json-cpp from create source tarball script.
ekpyron May 15, 2024
f0912d6
Merge pull request #15108 from ethereum/update-create-source-tarball-…
ekpyron May 15, 2024
70e1edc
Update PPA release script.
ekpyron May 15, 2024
659d13f
Add header include for docker builds.
ekpyron May 15, 2024
be16d2d
Merge pull request #15106 from ethereum/dockertest
nikola-matic May 15, 2024
f9c8ab0
Merge pull request #15107 from ethereum/adjust-ppa-script
ekpyron May 15, 2024
acec717
Update license template.
ekpyron May 15, 2024
24f18e8
Remove using namespace std from testing tools, ossfuzz and yulPhaser
hydai May 15, 2024
de00244
Merge pull request #15110 from hydai/hydai/not_use_using_namespace_std
nikola-matic May 16, 2024
ae40e1a
Merge pull request #15109 from ethereum/licenses
ekpyron May 17, 2024
eb4b103
Remove included directories check for using std
nikola-matic May 17, 2024
028cf33
Merge pull request #15115 from ethereum/remove-included-dirs-for-name…
nikola-matic May 17, 2024
2d0783a
Add stopAfter setting to syntax tests
matheusaaguiar May 20, 2024
50ad425
Add tests
matheusaaguiar May 20, 2024
cd6f2e7
Merge pull request #15121 from ethereum/addStopAfterSettingToSyntaxTests
nikola-matic May 20, 2024
31aab83
Set release date for 0.8.26
nikola-matic May 20, 2024
9da33a6
Set version to 0.8.27
nikola-matic May 20, 2024
95eb6f6
Merge pull request #15122 from ethereum/set-release-date-for-0-8-26
nikola-matic May 21, 2024
0573f35
Merge pull request #15123 from ethereum/set-version-to-0-8-27
nikola-matic May 21, 2024
a8406b5
Revert "Set version to 0 8 27"
nikola-matic May 21, 2024
8a97fa7
Merge pull request #15125 from ethereum/revert-15123-set-version-to-0…
nikola-matic May 21, 2024
ce96e38
Merge tag 'v0.8.26' into merge_from_v0.8.26
yanghang8612 Sep 29, 2025
2185b58
Resolve a merge issue
yanghang8612 Sep 29, 2025
6ef4690
Remove buildpack workflow on github actions
yanghang8612 Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
72 changes: 18 additions & 54 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,25 @@ version: 2.1
parameters:
ubuntu-2004-docker-image:
type: string
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2004-21
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:6f64c7b35aabddb416d28f621a3c4bbae768c257d6866f6a7f05f8225acc94f0"
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2004-23
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:84a1fb8771236e8d9aa5c615a425b8929e56a6e4f150a60078c8d74a1ceaa6c2"
ubuntu-2204-docker-image:
type: string
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2204-6
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:6eee10420382588b274374c6a18cb2e5d4f8a9fef5cf440b3a1acfc32bf52837"
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2204-8
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:1c3a4118218640b2bf632242979a63d48f3d9c70d48be9574332f2dbbd04b192"
ubuntu-2204-clang-docker-image:
type: string
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2204.clang-5
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:e991421ce9f44d6476b29588fc355da1c3b3fedcc424fd12d844bbe310ad7851"
# solbuildpackpusher/solidity-buildpack-deps:ubuntu2204.clang-7
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:0f47e733e100080c4174381c262cfcf974bc8e7c3c41b8dff611b9641c82f714"
ubuntu-clang-ossfuzz-docker-image:
type: string
# solbuildpackpusher/solidity-buildpack-deps:ubuntu.clang.ossfuzz-4
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:b122ef9dca71a8f90b74f3ba13cda4453681506e4a4ff047e7bc2130c76b0d1e"
# solbuildpackpusher/solidity-buildpack-deps:ubuntu.clang.ossfuzz-6
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:8883fa2845bbc1e0922af60439313666e4ba325f67a117e17d78cca3ea6589b3"
emscripten-docker-image:
type: string
# NOTE: Please remember to update the `build_emscripten.sh` whenever the hash of this image changes.
# solbuildpackpusher/solidity-buildpack-deps:emscripten-16
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:19fcb5ac029bbc27ec36e10f7d14ea224d8010145f9690562ef084fd16146b0c"
# NOTE: Please remember to update the `scripts/build_emscripten.sh` whenever the hash of this image changes.
# solbuildpackpusher/solidity-buildpack-deps:emscripten-17
default: "solbuildpackpusher/solidity-buildpack-deps@sha256:c57f2bfb8c15d70fe290629358dd1c73dc126e3760f443b54764797556b887d4"
evm-version:
type: string
default: london
Expand Down Expand Up @@ -331,9 +331,6 @@ commands:
- checkout
- attach_workspace:
at: build
- run:
name: Install dependencies
command: pip install --user deepdiff colorama
- run:
name: Executing solc LSP test suite
command: test/lsp.py build/solc/solc --non-interactive
Expand Down Expand Up @@ -801,13 +798,6 @@ defaults:
compile_only: 1
image: cimg/node:18.16

- job_native_test_ext_perpetual_pools: &job_native_test_ext_perpetual_pools
<<: *requires_b_ubu_static
name: t_native_test_ext_perpetual_pools
project: perpetual-pools
binary_type: native
image: cimg/node:18.16

- job_native_test_ext_uniswap: &job_native_test_ext_uniswap
<<: *requires_b_ubu_static
name: t_native_test_ext_uniswap
Expand Down Expand Up @@ -934,19 +924,9 @@ jobs:
- matrix_notify_failure_unless_pr

chk_pylint:
<<: *base_cimg_small
<<: *base_ubuntu2204_small
steps:
- checkout
- install_python3:
packages: >
pylint
z3-solver
pygments-lexer-solidity
parsec
tabulate
deepdiff
colorama
requests
- run: pylint --version
- run:
name: Linting Python Scripts
Expand Down Expand Up @@ -983,11 +963,9 @@ jobs:
- matrix_notify_failure_unless_pr

chk_proofs:
<<: *base_cimg_small
<<: *base_ubuntu2204_small
steps:
- checkout
- install_python3:
packages: z3-solver
- run_proofs
- matrix_notify_failure_unless_pr

Expand All @@ -1002,10 +980,6 @@ jobs:
<<: *base_ubuntu2204_small
steps:
- checkout
- run:
# TODO: Add these to the base image
name: Install gas_diff_stats.py dependencies
command: python3 -m pip install --user parsec tabulate
- run:
name: Python unit tests
command: python3 test/pyscriptTests.py
Expand Down Expand Up @@ -1181,7 +1155,7 @@ jobs:
- run:
name: Install build dependencies
command: |
pacman --noconfirm -Syu --noprogressbar --needed base-devel boost cmake cvc4 git openssh tar
pacman --noconfirm -Syu --noprogressbar --needed base-devel boost cmake git openssh tar
- checkout
- run_build
- store_artifacts_solc
Expand Down Expand Up @@ -1308,7 +1282,7 @@ jobs:
- run:
name: Install runtime dependencies
command: |
pacman --noconfirm -Syu --noprogressbar --needed base-devel boost cmake z3 cvc4 git openssh tar
pacman --noconfirm -Syu --noprogressbar --needed z3
- soltest

t_ubu_clang_soltest: &t_ubu_clang_soltest
Expand Down Expand Up @@ -1461,7 +1435,7 @@ jobs:
name: Install dependencies
command: |
cd hardhat
pnpm install
pnpm install --no-frozen-lockfile
- run:
name: Run hardhat-core test suite
command: |
Expand Down Expand Up @@ -1517,14 +1491,6 @@ jobs:
if command -v npm &> /dev/null; then
sudo npm install -g pnpm
fi
- install_python3:
packages: requests
- run:
name: Install lsof
command: |
# lsof is used by Colony in its stop-blockchain-client.sh script
sudo apt update
sudo apt-get --quiet --assume-yes --no-install-recommends install lsof
- when:
condition: << parameters.python2 >>
steps:
Expand Down Expand Up @@ -1771,8 +1737,8 @@ jobs:
- run: git config --global core.autocrlf false
- checkout
- run:
name: Force install python3.12.2
command: choco install python3 --pre --force --version=3.12.2
name: Force install python3.12
command: choco install python312 --pre --force
- run:
name: Create a symlink for python3
command: ln -s /c/ProgramData/chocolatey/bin/python3.12 /c/ProgramData/chocolatey/bin/python3
Expand Down Expand Up @@ -1917,7 +1883,6 @@ workflows:
- t_ext: *job_native_test_ext_zeppelin
- t_ext: *job_native_test_ext_ens
- t_ext: *job_native_test_ext_yield_liquidator
- t_ext: *job_native_test_ext_perpetual_pools
- t_ext: *job_native_test_ext_uniswap
- t_ext: *job_native_test_ext_prb_math
- t_ext: *job_native_test_ext_elementfi
Expand All @@ -1939,7 +1904,6 @@ workflows:
- t_native_test_ext_zeppelin
- t_native_test_ext_ens
- t_native_test_ext_yield_liquidator
- t_native_test_ext_perpetual_pools
- t_native_test_ext_uniswap
- t_native_test_ext_elementfi
- t_native_test_ext_brink
Expand Down
11 changes: 11 additions & 0 deletions .circleci/osx_install_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ then
brew install coreutils
brew install diffutils
brew install grep
# JRE is required to run eldarica solver
brew install openjdk@11
brew install unzip

# install historical cmake
chmod +x .circleci/install_cmake.sh
Expand All @@ -76,6 +79,14 @@ then
cd ..
sudo rm -rf "$boost_dir"

# eldarica
eldarica_version="2.1"
wget "https://github.com/uuverifiers/eldarica/releases/download/v${eldarica_version}/eldarica-bin-${eldarica_version}.zip" -O /tmp/eld_binaries.zip
validate_checksum /tmp/eld_binaries.zip 0ac43f45c0925383c9d2077f62bbb515fd792375f3b2b101b30c9e81dcd7785c
unzip /tmp/eld_binaries.zip -d /tmp
sudo mv /tmp/eldarica/{eld,eld-client,target,eldEnv} /usr/local/bin
rm -rf /tmp/{eldarica,eld_binaries.zip}

# z3
z3_version="4.12.1"
z3_dir="z3-z3-$z3_version"
Expand Down
46 changes: 0 additions & 46 deletions .github/workflows/buildpack-deps.yml

This file was deleted.

36 changes: 25 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ include(EthPolicy)
eth_policy()

# project name and version should be set after cmake_policy CMP0048
set(PROJECT_VERSION "0.8.25")
set(PROJECT_VERSION "0.8.26")
# OSX target needed in order to support std::visit
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
project(solidity VERSION ${PROJECT_VERSION} LANGUAGES C CXX)
Expand All @@ -37,16 +37,23 @@ option(SOLC_STATIC_STDLIBS "Link solc against static versions of libgcc and libs
option(STRICT_Z3_VERSION "Use the latest version of Z3" ON)
option(PEDANTIC "Enable extra warnings and pedantic build flags. Treat all warnings as errors." ON)
option(PROFILE_OPTIMIZER_STEPS "Output performance metrics for the optimiser steps." OFF)
option(USE_SYSTEM_LIBRARIES "Use system libraries" OFF)
option(ONLY_BUILD_SOLIDITY_LIBRARIES "Only build solidity libraries" OFF)
option(STRICT_NLOHMANN_JSON_VERSION "Strictly check installed nlohmann json version" ON)
mark_as_advanced(USE_SYSTEM_LIBRARIES)
mark_as_advanced(ONLY_BUILD_SOLIDITY_LIBRARIES)
mark_as_advanced(STRICT_NLOHMANN_JSON_VERSION)

# Setup cccache.
include(EthCcache)

# Let's find our dependencies
include(EthDependencies)
include(fmtlib)
include(jsoncpp)
include(range-v3)
include_directories(SYSTEM ${JSONCPP_INCLUDE_DIR})
if (NOT USE_SYSTEM_LIBRARIES)
include(fmtlib)
include(nlohmann-json)
include(range-v3)
endif()

find_package(Threads)

Expand All @@ -58,6 +65,10 @@ if (PROFILE_OPTIMIZER_STEPS)
add_definitions(-DPROFILE_OPTIMIZER_STEPS)
endif()

if (STRICT_NLOHMANN_JSON_VERSION)
add_definitions(-DSTRICT_NLOHMANN_JSON_VERSION_CHECK)
endif()

# Figure out what compiler and system are we using
include(EthCompilerSettings)

Expand Down Expand Up @@ -141,12 +152,15 @@ add_subdirectory(libyul)
add_subdirectory(libsolidity)
add_subdirectory(libsolc)
add_subdirectory(libstdlib)
add_subdirectory(tools)

if (NOT EMSCRIPTEN)
add_subdirectory(solc)
endif()
if (NOT ONLY_BUILD_SOLIDITY_LIBRARIES)
add_subdirectory(tools)

if (TESTS AND NOT EMSCRIPTEN)
add_subdirectory(test)
if (NOT EMSCRIPTEN)
add_subdirectory(solc)
endif()

if (TESTS AND NOT EMSCRIPTEN)
add_subdirectory(test)
endif()
endif()
2 changes: 1 addition & 1 deletion CODING_STYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
Yes:
```cpp
if (a == b[i])
printf("Hello\n"); // NOTE spaces used instead of tab here for clarity - first byte should be '\t'.
printf("Hello\n"); // NOTE spaces used instead of tab here for clarity - first byte should be '\t'.
foo->bar(
someLongVariableName,
anotherLongVariableName,
Expand Down
32 changes: 30 additions & 2 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,33 @@
### 0.8.25 (2023-03-14)
### 0.8.26 (2024-05-21)

Language Features:
* Introduce a new overload ``require(bool, Error)`` that allows usage of ``require`` functions with custom errors. This feature is available in the ``via-ir`` pipeline only.


Compiler Features:
* SMTChecker: Create balance check verification target for CHC engine.
* Yul IR Code Generation: Cheaper code for reverting with errors of a small static encoding size.
* Yul Optimizer: New, faster default optimizer step sequence.


Bugfixes:
* Commandline Interface: Fix ICE when the optimizer is disabled and an empty/blank string is used for ``--yul-optimizations`` sequence.
* SMTChecker: Fix false positive when comparing hashes of same array or string literals.
* SMTChecker: Fix internal error on mapping access caused by too strong requirements on sort compatibility of the index and mapping domain.
* SMTChecker: Fix internal error when using an empty tuple in a conditional operator.
* SMTChecker: Fix internal error when using bitwise operators with an array element as argument.
* Standard JSON Interface: Fix ICE when the optimizer is disabled and an empty/blank string is used for ``optimizerSteps`` sequence.
* StaticAnalyzer: Only raise a compile time error for division and modulo by zero when it's between literals.
* TypeChecker: Fix compiler crash when the left-hand side of an assignment was a parenthesized non-tuple expression of a tuple type.
* Yul Optimizer: Fix optimizer executing each repeating part of the step sequence at least twice, even if the code size already became stable after the first iteration.
* Yul Optimizer: Fix the order of assignments generated by ``SSATransform`` being dependent on AST IDs, sometimes resulting in different (but equivalent) bytecode when unrelated files were added to the compilation pipeline.


Build System:
* Replace internal JSON library jsoncpp with nlohmann::json.


### 0.8.25 (2024-03-14)

Compiler Features:
* Code Generator: Use ``MCOPY`` instead of ``MLOAD``/``MSTORE`` loop when copying byte arrays.
Expand All @@ -14,7 +43,6 @@ Bugfixes:
* SMTChecker: Fix internal error caused by not respecting the sign of an integer type when constructing zero-value SMT expressions.
* SMTChecker: Run Eldarica only when explicitly requested with `--model-checker-solvers eld`, even when it is present on the system.


### 0.8.24 (2024-01-25)

Language Features:
Expand Down
Loading