Skip to content

Merge from v0.8.25 #75

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
0e03dec
Set version to 0.8.25
nikola-matic Jan 25, 2024
a70cae9
Fix 0.8.23 changelog formatting
cameel Jan 26, 2024
6d5aa39
Fix typos
rex4539 Jan 26, 2024
0f71a78
Merge pull request #14811 from ethereum/set-version-to-0.8.25
cameel Jan 26, 2024
fd73bce
Merge pull request #14815 from rex4539/typos
cameel Jan 26, 2024
fb99132
TypeInference: Remove unreachable errors on missing instantiation ann…
cameel Dec 13, 2023
9d80e0e
Yul proto fuzzer: Add mcopy builtin to generator.
cameel Jan 8, 2024
fb7c2b4
Yul fuzzer: Support transient storage.
bshastry Jan 25, 2024
ab18b6d
Merge pull request #14787 from ethereum/fuzz-mcopy
cameel Jan 26, 2024
4edbaf1
Merge pull request #14807 from ethereum/fuzz-transient-storage
cameel Jan 26, 2024
1906cf1
Merge pull request #14736 from ethereum/new-analysis-remove-unreachab…
ekpyron Jan 30, 2024
e545e93
TypeSystemHelper: substitute()
cameel Oct 30, 2023
44ffdb1
Introduce fixed type variables
cameel Oct 30, 2023
fd3c393
Use different prefixes when printing fixed and generic type variables
cameel Oct 30, 2023
fce70ef
Fixing type variables in defined type classes and functions
cameel Oct 30, 2023
8e210d2
Fixing type variables in type definitions
cameel Nov 7, 2023
4577aeb
Merge pull request #14655 from ethereum/new-analysis-fixed-type-varia…
ekpyron Jan 30, 2024
7bf8ff2
Fix openzeppelin external test
r0qs Feb 5, 2024
3ed82c6
Merge pull request #14833 from ethereum/fix-version-hardhat-chai-matc…
r0qs Feb 5, 2024
a3e5f3f
feat: add new rule name `usingAliases` for solidity `usingDirective`
jeasonstudio Jan 19, 2024
1183284
Merge pull request #14788 from jeasonstudio/grammar-provide-using-ali…
ekpyron Feb 5, 2024
ed96eb2
Yul fuzzer: Support blobhash(uint) global function
bshastry Jan 25, 2024
c7db606
Print a warning about function parameter names being used instead of …
pgebal Feb 6, 2024
1c8072a
Remove dynamic byte arrays from value types section
nikola-matic Feb 7, 2024
5c70b35
Merge pull request #14835 from ethereum/remove-byte-array-from-value-…
nikola-matic Feb 7, 2024
71a05df
Purge using namespace std from test/yulPhaser
nikola-matic Jan 11, 2024
656bd6d
Merge pull request #14777 from ethereum/purge-using-namsepace-std-fro…
r0qs Feb 8, 2024
838658f
Install dependencies and add symbolic link for python3
nikola-matic Feb 9, 2024
0f3d40f
Merge pull request #14839 from ethereum/fix-win-pyscripts-no-module-r…
nikola-matic Feb 12, 2024
7c1bdba
Remove sha from foundry release tag
r0qs Feb 12, 2024
00a54f8
Merge pull request #14846 from ethereum/fix-foundry-install
r0qs Feb 12, 2024
c7549de
Only warn instead of failing when enforcing gas expectations with non…
cameel Feb 11, 2024
5fe3173
Merge pull request #14844 from ethereum/allow-enforcing-gas-costs-wit…
nikola-matic Feb 13, 2024
44da00d
Use MCOPY when copying byte arrays
nikola-matic Feb 6, 2024
3122d35
ABI decode test case
nikola-matic Feb 14, 2024
4032b59
Add DebugData to AssemblyItem.
aarlt Feb 10, 2024
c7b8dcc
[test] Add /usr/local/lib to search paths for macOS.
aarlt Feb 16, 2024
9b8ed03
Fix typo in Assembly::fromJSON(..).
aarlt Feb 18, 2024
5aed751
Use ethers version 6.11.0 on openzeppelin external tests
r0qs Feb 19, 2024
c21490f
[ci] Remove usage of ETH_EVMONE environment variable.
aarlt Feb 19, 2024
d8c3ca2
Merge pull request #14834 from ethereum/use_mcopy_in_code_generation
nikola-matic Feb 19, 2024
dc11306
Merge pull request #14865 from ethereum/fix_typo_in_assembly_from_json
ekpyron Feb 19, 2024
6c5026d
Merge pull request #14862 from ethereum/add_usr_local_lib_to_default_…
aarlt Feb 19, 2024
18cabee
CompilerStack: Don't swallow details include in OptimizerException
cameel Jan 9, 2024
f518815
Remove obsolete gas cost tiers
cameel Jan 9, 2024
686f5cd
Document the Tier enum and constants that come from Execution Specs
cameel Jan 9, 2024
a973b4c
Rename Ext gas cost tier to BlockHash
cameel Jan 9, 2024
f78eec5
Merge pull request #14867 from ethereum/fix-openzeppelin
ekpyron Feb 19, 2024
5cf513d
Merge pull request #14772 from ethereum/clean-and-document-gas-tiers
cameel Feb 19, 2024
88ee7d8
[ci] Remove code signature from universal binary.
aarlt Feb 19, 2024
15ff3bc
Merge pull request #14869 from ethereum/remove_signature_from_univers…
ekpyron Feb 19, 2024
0bd7383
Merge pull request #14868 from ethereum/remove_usage_of_eth_evmone_en…
ekpyron Feb 19, 2024
172f3cf
Merge pull request #14841 from ethereum/add_debugdata_to_assemblyitem
ekpyron Feb 19, 2024
ac54fe1
Purge using namespace std from test
nikola-matic Jan 11, 2024
8631af2
Merge pull request #14778 from ethereum/purge-using-namespace-std-fro…
ekpyron Feb 19, 2024
ac39886
SMTChecker: Respect signedness of integer type
blishko Feb 7, 2024
8770952
SMTChecker: Unsigned number expressions should have unsigned type
blishko Feb 7, 2024
a1ad970
SMTChecker: Add test case
blishko Feb 9, 2024
22da46c
Update changelog
blishko Feb 9, 2024
f7baede
Merge pull request #14840 from ethereum/smt-fix-types
blishko Feb 19, 2024
4d163ff
Convert tagPos to a size for address size computation
simon-perriard Feb 18, 2024
8e21255
Account for subassemblies in tag size calculation, test adjustments a…
ekpyron Feb 19, 2024
c49d847
Force install python3.12 for Window bytecode compare job
nikola-matic Feb 20, 2024
0316f84
Merge pull request #14864 from simon-perriard/fix_subTagSize_computation
ekpyron Feb 20, 2024
1185ad0
Build hardhat from latest release in t_ems_ext_hardhat
r0qs Feb 20, 2024
9f0c222
Merge pull request #14873 from ethereum/pin-python-in-windows-ci
cameel Feb 20, 2024
d703b82
gas_diff_stats.py: Add basic unit tests
cameel Feb 11, 2024
c6e2331
gas_diff_stats.py: Add a Python shebang
cameel Feb 11, 2024
e28a1d4
gas_diff_stats.py: Print errors to stderr, not stdout
cameel Feb 11, 2024
5518a30
gas_diff_stats.py: Don't let shell evaluate file names and support na…
cameel Feb 11, 2024
39f3e76
gas_diff_stats.py: Fail when the semantic test dir does not exist
cameel Feb 11, 2024
855096b
gas_diff_stats.py: Skip non-gas lines to avoid having to silence pars…
cameel Feb 11, 2024
b9c7b69
gas_diff_stats.py: Explicitly ignore ir gas instead of failing to par…
cameel Feb 11, 2024
65031d3
gas_diff_stats.py: Handle errors instead of ignoring them
cameel Feb 11, 2024
43274fd
gas_diff_stats.py: Improve table and number formatting
cameel Feb 11, 2024
b88d690
gas_diff_stats.py: Order rows in a deterministic way (by file path)
cameel Feb 11, 2024
36f2d39
CI: Add a smoke test run for gas_diff_stats.py
cameel Feb 11, 2024
c130163
Merge pull request #14875 from ethereum/ext-test-hardhat-latest-release
ekpyron Feb 21, 2024
a851c59
Fix ENS external test ensuring it applies memory-safe-assembly filter…
r0qs Feb 21, 2024
f4105a9
Merge pull request #14842 from ethereum/more-robust-gas-diff-stats
ekpyron Feb 21, 2024
d7aa37d
Use latest release instead of main branch on external tests
r0qs Feb 20, 2024
a9a870d
Test coverage for existing parsing and formatting functionality of ga…
cameel Feb 7, 2024
e47e948
SoltesTypes: Fix outdated comment about allowed keys in gasUsed
cameel Feb 11, 2024
d98c943
TestFunctionCall::formatGasExpectations(): runType can't be empty in …
cameel Feb 7, 2024
c55c8b5
TestFunctionCall::formatGasExpectations(): Move diffing into a helper
cameel Feb 7, 2024
cd94139
TestFunctionCall::formatGasExpectations(): Handle corner cases properly
cameel Feb 7, 2024
d5bae3f
TestFunctionCall::formatGasExpectations(): Helper for getting optiona…
cameel Feb 7, 2024
2ee4d6b
Keep track of code deposit gas when executing contract code
cameel Feb 9, 2024
9623386
Separate 'code' gas settings in semantic tests
cameel Feb 9, 2024
96ce95a
Do not include code deposit gas in the total visible in test expectat…
cameel Feb 9, 2024
381b149
gas_diff_stats.py: Include code deposit costs in total cost
cameel Feb 11, 2024
e7312a5
Use CircleCI rust+node convenience image for t_ems_ext_hardhat job
r0qs Feb 21, 2024
c8358f5
Fix detect_hardhat_artifact_dir in externalTests scripts
r0qs Feb 21, 2024
4438082
Merge pull request #14880 from ethereum/update-external-tests
ekpyron Feb 21, 2024
acf382b
Merge pull request #14843 from ethereum/separate-code-deposit-cost-in…
cameel Feb 21, 2024
602f855
Merge pull request #14882 from ethereum/change-hardhat-ci-image
ekpyron Feb 21, 2024
a439996
Merge pull request #14881 from ethereum/fix-detect-hardhat-artifacts
ekpyron Feb 21, 2024
bd9b92c
Merge pull request #14806 from ethereum/fuzz-blobhash
bshastry Feb 22, 2024
4af244f
Separate nightly-ossfuzz workflow from nightly workflow
r0qs Feb 2, 2024
e095590
Parser::parseFunctionDefinition(): Return FunctionDefinition, not AST…
cameel Nov 2, 2023
fa35ed5
Add ForAllQuantifier AST node
cameel Nov 2, 2023
4d051c1
Add parser support for quantified function definitions
cameel Nov 2, 2023
cd52e5a
TypeInference: Require declarations for type variables
cameel Nov 6, 2023
dba754e
Merge pull request #14668 from ethereum/new-analysis-forall
cameel Feb 23, 2024
180f744
gas_diff_stats.py: Sort the table by average change
cameel Feb 26, 2024
14e217e
Merge pull request #14888 from ethereum/gas-diff-stats-sort-by-avg
cameel Feb 27, 2024
125767e
SMTCommand: Remember to flush query before calling solver
blishko Feb 27, 2024
28b2587
Merge pull request #14890 from ethereum/smt-solver-interface-small-up…
blishko Feb 27, 2024
51eff63
Update introduction-to-smart-contracts.rst (#14884)
eclipse1228 Feb 29, 2024
e7aaf03
docs: Replace references to "mining" with "attestation" (#14147)
Vojtch159 Feb 29, 2024
9bd2424
Fix typos in variable names and comment (#14876)
Chomtana Feb 29, 2024
7676ab1
Update natspec-format.rst : Added structs and enums to Tags (#14267)
adityakode Feb 29, 2024
6b417dd
[evmasm] Fix handling of missing source locations during import.
aarlt Mar 1, 2024
b630c0a
fix: rename RedundantAssignEliminator to UnusedAssignEliminator
minaminao Jul 27, 2023
8709ae9
fix: typos
minaminao Aug 17, 2023
f96a851
chore: update example version of solidity in docker command
minaminao Aug 17, 2023
0225d9d
Update installing-solidity.rst
mehtavishwa30 Mar 1, 2024
51b6976
Update installing-solidity.rst
mehtavishwa30 Mar 1, 2024
8f0cb8a
Update docs/installing-solidity.rst
mehtavishwa30 Mar 4, 2024
cbd8437
Fix python snippet causing "SyntaxWarning" in Scanner.
aarlt Mar 4, 2024
360c945
Merge pull request #14904 from ethereum/fix_cmdline_python_snippet
aarlt Mar 4, 2024
be9db7b
Merge pull request #14903 from ethereum/fix_missing_source_locations_…
ekpyron Mar 4, 2024
a6830fd
Emit transient storage warning only once
matheusaaguiar Feb 29, 2024
ad77fd7
EVMHost: Rename newlyCreatedAccounts to m_newlyCreatedAccounts
cameel Feb 6, 2024
41363d7
EVMHost: Reset m_newlyCreatedAccounts() in reset()
cameel Feb 6, 2024
c09d2c0
EVMHost: Note about newly created accounts not being rolled back
cameel Feb 11, 2024
edc494d
Merge pull request #14845 from ethereum/selfdestruct-testing-tweaks
cameel Mar 5, 2024
2b2c76c
remove repetitive word
racerole Mar 6, 2024
8b68299
Merge pull request #14908 from racerole/develop
cameel Mar 6, 2024
9e086a4
Merge pull request #14895 from ethereum/onlyEmitTransientStorageWarni…
cameel Mar 6, 2024
1affe8e
gp2: Remove config section that requires an Etherscan key
cameel Mar 6, 2024
21566cc
bleeps: Disable the ir-optimize-evm+yul preset, which now results in …
cameel Mar 6, 2024
ce63512
chainlink: Switch base image back to node 16
cameel Mar 6, 2024
95bcc63
Convert all the disabled external tests into compile-only tests
cameel Mar 6, 2024
8b7b0da
Merge pull request #14916 from ethereum/make-disabled-ext-tests-compi…
cameel Mar 7, 2024
5aed3c4
Fix hardhat version to 2.20.0 on uniswap and perpetual_pools external…
r0qs Mar 6, 2024
c87e819
Merge pull request #14919 from ethereum/fix-uniswap-perpetual-pools
cameel Mar 7, 2024
d29eded
reorders assertThrow statements and adds one to the MCOPY case.
Saw-mon-and-Natalie Mar 7, 2024
8b3f910
Merge pull request #14920 from Saw-mon-and-Natalie/sw0nt-tstore-asser…
cameel Mar 7, 2024
6ee38af
[solutil] Add missing include guard.
aarlt Mar 7, 2024
e084f71
fix typos
hyhnet Mar 8, 2024
755e2ba
Merge pull request #14831 from ethereum/nightly-ossfuzz-workflow
cameel Mar 8, 2024
8644408
Move deprecated evm versions to nightly CI workflow
r0qs Nov 29, 2023
a2739f9
Merge pull request #14710 from ethereum/update-ci-for-evm-deprecations
cameel Mar 8, 2024
9056540
Merge pull request #14923 from hyhnet/develop
cameel Mar 8, 2024
5a43a8b
Merge pull request #14922 from ethereum/add_include_guard
cameel Mar 8, 2024
9762ebb
Fix unnecessary compilation when --via-ir is used on its own
cameel Mar 8, 2024
0c4bca5
fix typo
omahs Mar 8, 2024
193a457
fix typo
omahs Mar 8, 2024
c0ef06c
Merge pull request #14927 from omahs/patch-4
cameel Mar 8, 2024
0219d1e
SMTChecker: Fix usage of Eldarica with SMT callback
blishko Mar 5, 2024
759089b
Merge pull request #14906 from ethereum/smt-eldarica
blishko Mar 11, 2024
cc79c91
Merge pull request #14926 from ethereum/fix-unnecessary-compilation-w…
ekpyron Mar 11, 2024
b18b23d
Add missing hardhat networks settings to external tests
r0qs Mar 12, 2024
c82707c
Fix hardhat version to version that supports cancun hardfork
r0qs Mar 12, 2024
6b3ca24
Disable trident, chainlink and bleeps external tests
r0qs Mar 12, 2024
9065a0a
Merge pull request #14932 from ethereum/add-hardhat-networks-settings…
r0qs Mar 13, 2024
7c6f9f1
Use move ctor instead of copy ctor in stringOrDefault
PragmaTwice Mar 13, 2024
ab55b0a
Add multiple source test to ensure transient storage is emitted only …
matheusaaguiar Mar 13, 2024
0dce029
Merge pull request #14936 from PragmaTwice/add-move-to-string-or-default
cameel Mar 13, 2024
7115a63
Update release checklist (#14812)
nikola-matic Mar 13, 2024
a15da0a
Clean up docs to reflect changes in the behaviour of SELFDESTRUCT as …
mehtavishwa30 Jan 24, 2024
c8f4c7d
Merge pull request #14803 from ethereum/mehtavishwa30-patch-1
cameel Mar 13, 2024
a547f61
Disable gp2 and zeppelin ext tests
nikola-matic Mar 13, 2024
9e23506
Merge pull request #14937 from ethereum/disable-gp2-and-zeppelin
ekpyron Mar 13, 2024
fbeef89
Set cancun hardfork in hardhat stack traces tests
r0qs Mar 13, 2024
a388ccb
Make cancun the default EVM version
matheusaaguiar Mar 4, 2024
759f5a7
Merge pull request #14907 from ethereum/makeCancunDefault
cameel Mar 13, 2024
b0ffccc
Use specific hardhat version on openzeppelin and gp2 external tests (…
r0qs Mar 14, 2024
b61c2a9
Sort changelog and add release date for 0.8.25 (#14939)
nikola-matic Mar 14, 2024
c6ac0de
Merge tag 'v0.8.25' into merge_from_v0.8.25
yanghang8612 May 22, 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
  •  
  •  
  •  
172 changes: 126 additions & 46 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ commands:
)
echo "export FOUNDRY_REPO=$FOUNDRY_REPO" >> "$BASH_ENV"
echo "export FOUNDRY_VERSION=$FOUNDRY_VERSION" >> "$BASH_ENV"
echo "export FOUNDRY_RELEASE_TAG='nightly-${FOUNDRY_RELEASE_SHA}'" >> "$BASH_ENV"
echo "export FOUNDRY_RELEASE_TAG='${FOUNDRY_VERSION}'" >> "$BASH_ENV"
# Save commit sha for caching
echo "$FOUNDRY_RELEASE_SHA" > /tmp/workspace/foundry-release-sha
- restore_cache:
Expand Down Expand Up @@ -220,11 +220,18 @@ commands:
command: .circleci/soltest.sh

run_soltest_all:
parameters:
# NOTE: If not specified, soltest_all.sh will use the default values as specified in the script.
# In other words, it will execute for all EVM versions that are not marked as deprecated.
evm_versions:
description: "List of EVM versions (separated by space)."
type: string
default: ""
steps:
- run:
name: soltest_all
no_output_timeout: 30m
command: .circleci/soltest_all.sh
command: .circleci/soltest_all.sh "<< parameters.evm_versions >>"

run_cmdline_tests:
steps:
Expand All @@ -242,6 +249,13 @@ commands:
# --------------------------------------------------------------------------
# Artifact Commands

remove_signature_from_universal_binary:
description: Remove signature from universal binary
steps:
- run:
name: Remove signature from universal binary
command: codesign --remove-signature build/solc/solc

store_artifacts_solc:
description: Store compiled solc executable as artifact
steps:
Expand Down Expand Up @@ -498,7 +512,6 @@ defaults:
TERM: xterm
MAKEFLAGS: -j5
CPUs: 5
ETH_EVMONE: /usr/local/lib/libevmone.dylib

- base_python_small: &base_python_small
docker:
Expand Down Expand Up @@ -716,11 +729,14 @@ defaults:
image: cimg/node:14.20
python2: true

- job_native_test_ext_gnosis: &job_native_test_ext_gnosis
- job_native_compile_ext_gnosis: &job_native_compile_ext_gnosis
<<: *requires_b_ubu_static
name: t_native_test_ext_gnosis
name: t_native_compile_ext_gnosis
project: gnosis
binary_type: native
# NOTE: We are disabling the gnosis test suite due to version discrepancies that are difficult to fix.
# Check again after (and if) https://github.com/safe-global/safe-contracts/pull/644 is merged.
compile_only: 1
image: cimg/node:18.16

- job_native_test_ext_zeppelin: &job_native_test_ext_zeppelin
Expand All @@ -738,18 +754,24 @@ defaults:
binary_type: native
image: cimg/node:18.16

- job_native_test_ext_trident: &job_native_test_ext_trident
- job_native_compile_ext_trident: &job_native_compile_ext_trident
<<: *requires_b_ubu_static
name: t_native_test_ext_trident
name: t_native_compile_ext_trident
project: trident
binary_type: native
# NOTE: test suite disabled due to dependence on a specific version of Hardhat
# which does not support shanghai EVM.
compile_only: 1
image: cimg/node:18.16

- job_native_test_ext_euler: &job_native_test_ext_euler
- job_native_compile_ext_euler: &job_native_compile_ext_euler
<<: *requires_b_ubu_static
name: t_native_test_ext_euler
name: t_native_compile_ext_euler
project: euler
binary_type: native
# NOTE: test suite disabled due to dependence on a specific version of Hardhat
# which does not support shanghai EVM.
compile_only: 1
resource_class: medium

- job_native_test_ext_yield_liquidator: &job_native_test_ext_yield_liquidator
Expand All @@ -759,18 +781,24 @@ defaults:
binary_type: native
image: cimg/node:18.16

- job_native_test_ext_bleeps: &job_native_test_ext_bleeps
- job_native_compile_ext_bleeps: &job_native_compile_ext_bleeps
<<: *requires_b_ubu_static
name: t_native_test_ext_bleeps
name: t_native_compile_ext_bleeps
project: bleeps
binary_type: native
# NOTE: test suite disabled due to dependence on a specific version of Hardhat
# which does not support shanghai EVM.
compile_only: 1
resource_class: medium

- job_native_test_ext_pool_together: &job_native_test_ext_pool_together
- job_native_compile_ext_pool_together: &job_native_compile_ext_pool_together
<<: *requires_b_ubu_static
name: t_native_test_ext_pool_together
name: t_native_compile_ext_pool_together
project: pool-together
binary_type: native
# NOTE: test suite disabled due to dependence on a specific version of Hardhat
# which does not support shanghai EVM.
compile_only: 1
image: cimg/node:18.16

- job_native_test_ext_perpetual_pools: &job_native_test_ext_perpetual_pools
Expand Down Expand Up @@ -810,19 +838,24 @@ defaults:
binary_type: native
image: cimg/node:18.16

- job_native_test_ext_chainlink: &job_native_test_ext_chainlink
- job_native_compile_ext_chainlink: &job_native_compile_ext_chainlink
<<: *requires_b_ubu_static
name: t_native_test_ext_chainlink
name: t_native_compile_ext_chainlink
project: chainlink
binary_type: native
image: cimg/node:18.16
# NOTE: test suite disabled due to dependence on a specific version of Hardhat
# which does not support shanghai EVM.
compile_only: 1
image: cimg/node:16.20
resource_class: large # Tests run out of memory on a smaller machine

- job_native_test_ext_gp2: &job_native_test_ext_gp2
- job_native_compile_ext_gp2: &job_native_compile_ext_gp2
<<: *requires_b_ubu_static
name: t_native_test_ext_gp2
name: t_native_compile_ext_gp2
project: gp2
binary_type: native
# NOTE: test suite disabled due to constant failures.
compile_only: 1
image: cimg/node:18.16

- job_b_ubu_asan_clang: &job_b_ubu_asan_clang
Expand Down Expand Up @@ -969,16 +1002,26 @@ 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
- run:
name: Smoke test for gas_diff_stats.py
command: scripts/gas_diff_stats.py
- matrix_notify_failure_unless_pr

t_win_pyscripts:
<<: *base_win
steps:
- run: git config --global core.autocrlf false
- checkout
- run:
name: Install dependencies
command: python -m pip install --user requests parsec tabulate
- run:
name: Python unit tests
command: python.exe test/pyscriptTests.py
Expand Down Expand Up @@ -1155,6 +1198,7 @@ jobs:
- checkout
- install_dependencies_osx
- run_build
- remove_signature_from_universal_binary
- store_artifacts_solc
- store_artifacts_yul_phaser
- persist_executables_to_workspace_osx
Expand Down Expand Up @@ -1232,6 +1276,20 @@ jobs:
steps:
- soltest_all

t_ubu_soltest_deprecated_evm_versions: &t_ubu_soltest_deprecated_evm_versions
<<: *base_ubuntu2204_large
parallelism: 50
steps:
- checkout
- attach_workspace:
at: build
- run_soltest_all:
evm_versions: homestead byzantium
- store_test_results:
path: test_results/
- store_artifacts_test_results
- matrix_notify_failure_unless_pr

t_ubu_lsp: &t_ubu_lsp
<<: *base_ubuntu2204_small
steps:
Expand Down Expand Up @@ -1370,15 +1428,36 @@ jobs:
t_ems_ext_hardhat:
<<: *base_node_small
docker:
- image: cimg/node:18.16
- image: cimg/rust:1.74.0-node
environment:
<<: *base_node_small_env
HARDHAT_TESTS_SOLC_PATH: /tmp/workspace/soljson.js
steps:
- checkout
- attach_workspace:
at: /tmp/workspace
- run: git clone --depth 1 https://github.com/nomiclabs/hardhat.git
- run:
name: Ensure pnpm is installed if npm is present
command: sudo npm install -g pnpm
- run:
name: Retrieve Hardhat latest release tag
command: |
# Make authenticated requests when the Github token is available
if [[ -n "$GITHUB_ACCESS_TOKEN" ]]; then
EXTRA_HEADERS=(--header "Authorization: Bearer ${GITHUB_ACCESS_TOKEN}")
fi
HARDHAT_LATEST_RELEASE_TAG=$(
curl \
--silent \
--location \
--fail \
--show-error \
"${EXTRA_HEADERS[@]}" \
https://api.github.com/repos/nomiclabs/hardhat/releases/latest \
| jq --raw-output .tag_name \
)
echo "export HARDHAT_LATEST_RELEASE_TAG='${HARDHAT_LATEST_RELEASE_TAG}'" >> "$BASH_ENV"
- run: git clone --depth 1 https://github.com/nomiclabs/hardhat.git --branch "$HARDHAT_LATEST_RELEASE_TAG"
- run:
name: Install dependencies
command: |
Expand All @@ -1392,6 +1471,9 @@ jobs:

# NOTE: This is expected to work without running `pnpm build` first.
cd hardhat/packages/hardhat-core
# TODO: temporarily set hardhat stack traces tests to use cancun hardfork
# Remove this when hardhat switch to cancun by default: https://github.com/NomicFoundation/hardhat/issues/4851
sed -i 's/hardfork: "shanghai",/hardfork: "cancun",/' test/internal/hardhat-network/stack-traces/execution.ts
pnpm test
- matrix_notify_failure_unless_pr

Expand Down Expand Up @@ -1689,8 +1771,12 @@ jobs:
# platforms so line ending conversions must absolutely be disabled.
- run: git config --global core.autocrlf false
- checkout
# Ensure windows has python3 alias required by prepare_bytecode_report
- run: ln -s /c/tools/miniconda3/python /c/tools/miniconda3/python3
- run:
name: Force install python3.12.2
command: choco install python3 --pre --force --version=3.12.2
- run:
name: Create a symlink for python3
command: ln -s /c/ProgramData/chocolatey/bin/python3.12 /c/ProgramData/chocolatey/bin/python3
- attach_workspace:
at: build
- prepare_bytecode_report:
Expand Down Expand Up @@ -1828,9 +1914,7 @@ workflows:

- t_ext: *job_ems_compile_ext_colony

# NOTE: We are disabling the gnosis test suite due to version discrepancies that are difficult to fix.
# Check again after (and if) https://github.com/safe-global/safe-contracts/pull/644 is merged.
#- t_ext: *job_native_test_ext_gnosis
- t_ext: *job_native_compile_ext_gnosis
- t_ext: *job_native_test_ext_zeppelin
- t_ext: *job_native_test_ext_ens
- t_ext: *job_native_test_ext_yield_liquidator
Expand All @@ -1839,42 +1923,38 @@ workflows:
- t_ext: *job_native_test_ext_prb_math
- t_ext: *job_native_test_ext_elementfi
- t_ext: *job_native_test_ext_brink
# NOTE: We are disabling gp2 tests due to constant failures.
# - t_ext: *job_native_test_ext_gp2
# NOTE: The external tests below were commented because they
# depend on a specific version of hardhat which does not support shanghai EVM.
#- t_ext: *job_native_test_ext_trident
#- t_ext: *job_native_test_ext_euler
#- t_ext: *job_native_test_ext_bleeps
#- t_ext: *job_native_test_ext_pool_together
#- t_ext: *job_native_test_ext_chainlink
- t_ext: *job_native_compile_ext_gp2
- t_ext: *job_native_compile_ext_euler
- t_ext: *job_native_compile_ext_pool_together
# TODO: Dropping the external tests below since they are based on old forks and
# fail after update the default evm version to cancun.
#- t_ext: *job_native_compile_ext_trident
#- t_ext: *job_native_compile_ext_chainlink
#- t_ext: *job_native_compile_ext_bleeps

- c_ext_benchmarks:
<<: *requires_nothing
requires:
- t_ems_compile_ext_colony
# NOTE: We are disabling the gnosis test suite due to version discrepancies that are difficult to fix.
# Check again after (and if) https://github.com/safe-global/safe-contracts/pull/644 is merged.
#- t_native_test_ext_gnosis
- t_native_compile_ext_gnosis
- 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
# NOTE: We are disabling gp2 tests due to constant failures.
#- t_native_test_ext_gp2
- t_native_compile_ext_gp2
# TODO: Dropping prb-math from the benchmarks since it is not implemented yet
# in the new Foundry external testing infrastructure.
# - t_native_test_ext_prb_math
# NOTE: The external tests below were commented because they
# depend on a specific version of hardhat which does not support shanghai EVM.
#- t_native_test_ext_trident
#- t_native_test_ext_euler
#- t_native_test_ext_bleeps
#- t_native_test_ext_pool_together
#- t_native_test_ext_chainlink
- t_native_compile_ext_euler
- t_native_compile_ext_pool_together
# TODO: Dropping the external tests below since they are based on old forks and
# fail after update the default evm version to cancun.
#- t_native_compile_ext_trident
#- t_native_compile_ext_chainlink
#- t_native_compile_ext_bleeps

# Windows build and tests
- b_win: *requires_nothing
Expand Down
9 changes: 6 additions & 3 deletions .circleci/soltest_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,12 @@ REPODIR="$(realpath "$(dirname "$0")"/..)"
# shellcheck source=scripts/common.sh
source "${REPODIR}/scripts/common.sh"

EVM_VALUES=(homestead byzantium constantinople petersburg istanbul berlin london paris shanghai cancun)
DEFAULT_EVM=shanghai
[[ " ${EVM_VALUES[*]} " =~ $DEFAULT_EVM ]]
DEFAULT_EVM_VALUES=(constantinople petersburg istanbul berlin london paris shanghai cancun)
# Deserialize the EVM_VALUES array if it was provided as argument or
# set EVM_VALUES to the default values.
IFS=" " read -ra EVM_VALUES <<< "${1:-${DEFAULT_EVM_VALUES[@]}}"

DEFAULT_EVM=cancun
OPTIMIZE_VALUES=(0 1)

# Run for ABI encoder v1, without SMTChecker tests.
Expand Down
2 changes: 1 addition & 1 deletion 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.24")
set(PROJECT_VERSION "0.8.25")
# 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 Down
Loading
Loading