Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1622 commits
Select commit Hold shift + click to select a range
f2c9eec
Yul Disambiguator: Don't check for builtins when translating identifiers
clonker Mar 17, 2025
ad281dd
Merge pull request #15951 from ethereum/disambiguator_dont_check_for_…
clonker Mar 20, 2025
8f38f23
Peephole optimiser: Replace apply methods recursion by folding expres…
clonker Mar 19, 2025
098b854
IRGeneratorForStatements does not check for builtin when mangling use…
clonker Mar 17, 2025
4a93b2a
Merge pull request #15952 from ethereum/remove_builtin_check_from_inl…
clonker Mar 21, 2025
28982f1
Merge pull request #15957 from ethereum/make-peephole-opt-more-opt-fr…
nikola-matic Mar 21, 2025
08c9f53
AssemblyItem gets an optional instruction and the null-state is prope…
clonker Mar 12, 2025
2536b14
Merge pull request #15934 from ethereum/default-initialize-instructio…
clonker Mar 21, 2025
dd03613
SMTChecker: Fix string literal to fixed bytes conversion with user-de…
blishko Mar 20, 2025
d07c219
Merge pull request #15963 from ethereum/smt-fix-string-to-bytes-conve…
blishko Mar 21, 2025
d97d711
Update metadata docs for "libraries" and "compilationSettings" fields
kuzdogan Feb 26, 2025
2e33f25
Update the metdata settings field to refer the rest of the settings t…
kuzdogan Feb 26, 2025
1f044c1
Remove "sorted" in std-json remappings docs
kuzdogan Mar 20, 2025
1ccea41
AsmAnalysis: Stronger use of fmt, refactor function call analysis
clonker Mar 14, 2025
b9cbf1e
AsmAnalysis: Improve wording of invalid argument for eofcreate/return…
clonker Mar 21, 2025
cc58ab1
Merge pull request #15895 from kuzdogan/update-metadata-docs
cameel Mar 21, 2025
e134620
Merge pull request #15941 from ethereum/asm_analysis_fmt
clonker Mar 21, 2025
d1cbd8d
interpreter uses yul AST instead of separate block and dialect
clonker Mar 17, 2025
8859625
yulrun on AST
clonker Mar 17, 2025
dafe006
ossfuzz uses yul AST instead of separate block and dialect
clonker Mar 17, 2025
6326b86
Merge pull request #15954 from ethereum/ossfuzz_use_ast_over_block
clonker Mar 22, 2025
77878e5
add repeats to external.sh
clonker Mar 14, 2025
14fcd5d
Merge pull request #15965 from ethereum/repeats_for_external_benchmarks
nikola-matic Mar 26, 2025
2ebafd3
fix: Remove unnecessary Expression temporary in CHCSmtLib2Interface
VolodymyrBg Mar 25, 2025
a04f946
Merge pull request #15967 from VolodymyrBg/vbg
cameel Mar 27, 2025
a448921
SMTChecker: Move helper function towards its only usage
blishko Mar 28, 2025
5ea8f25
Add support for enum values in NatSpec
nikola-matic Mar 19, 2025
c4b454a
Docs
nikola-matic Apr 2, 2025
c608428
SMTChecker: Refactor processing invariants from the solver
blishko Mar 28, 2025
7a4ddb2
Merge pull request #15972 from ethereum/smt-refactor
blishko Apr 3, 2025
949a52f
Merge pull request #15956 from ethereum/make-enums-available-in-natspec
nikola-matic Apr 4, 2025
dbd5521
remove install of obsolete jsoncpp
clonker Apr 4, 2025
f323bd4
cmake: use boost include dirs and version in status message
clonker Apr 4, 2025
e6d5699
set CMP0167 to OLD behavior for boost versions < 1.70
clonker Apr 4, 2025
4c23d04
Disable pedantic compilation for CMake 4.0.0 and AppleClang 15.0
clonker Apr 7, 2025
6da61ca
Merge pull request #15982 from ethereum/fix_macos_build
clonker Apr 8, 2025
2cd97dc
Use pre-release version of sphinx-a4doc for python 3.13
clonker Apr 8, 2025
0a6cce5
relax sphinx version range to [2.1, 9)
clonker Apr 8, 2025
971ac4c
require rtd theme < 3.0.0
clonker Apr 8, 2025
55506a9
Merge pull request #15987 from ethereum/fix_docs
clonker Apr 8, 2025
502ebaa
Add support for upcoming Boost 1.88.0
cho-m Mar 31, 2025
334b768
Remove Z3 from ppa scripts and add ubunutu plucky.
ekpyron Mar 12, 2025
38810a3
Adjust release checklist.
ekpyron Apr 8, 2025
fd2d543
Also drop libcvc4-dev and smtdependencies generally.
ekpyron Apr 8, 2025
4f23c18
Merge pull request #15976 from cho-m/support-boost-1.88.0
nikola-matic Apr 8, 2025
e13c612
Language Server: Fix hover crashes on invalid parameters
henryhchchc Apr 4, 2025
1cd7045
Remove disable pedantic mode switch for osx cmake 4.0.0 and clang 15.0.0
clonker Apr 14, 2025
09715e6
osx ci: Install Boost to /opt/boost instead of /usr/local
clonker Apr 14, 2025
e1bf062
Merge pull request #16005 from ethereum/soften_macos_pedantic_switch
clonker Apr 14, 2025
f1c3a2d
chore: remove redundant word in comment
closeobserve Apr 13, 2025
597e5a9
Merge pull request #16004 from closeobserve/closeobserve_feature
nikola-matic Apr 14, 2025
08310eb
Merge pull request #15980 from henryhchchc/develop
nikola-matic Apr 14, 2025
1706158
Update premium.sol
futreall Mar 25, 2025
a1be4f3
Update publisher.sol
futreall Mar 25, 2025
cc6a9cf
Merge pull request #15966 from futreall/develop
nikola-matic Apr 14, 2025
db53ca5
Merge pull request #15932 from ethereum/releasePPAScript
clonker Apr 15, 2025
513535a
Adding clarity on extcalls with precompiled contracts.
mattaereal Mar 8, 2024
8b85d14
Update custom.css
Bilogweb3 Feb 26, 2025
eda68d5
Update events.rst
PixelPil0t1 Mar 11, 2025
feed69b
Update calling_nonexisting_contract.sol
argentpapa Feb 27, 2025
ba3fd65
docs: Fix grammar in workflow trigger condition
voronor Feb 4, 2025
27f915c
Merge pull request #14931 from mattaereal/develop
matheusaaguiar Apr 16, 2025
ab77b34
Update ControlFlowGraphBuilder.h
eeemmmmmm Feb 26, 2025
7fee102
Merge pull request #15891 from Bilogweb3/develop
matheusaaguiar Apr 16, 2025
10b21b8
Replace temporary std::string with std::string_view in _yulname liter…
Feb 28, 2025
da51fe4
Merge pull request #15924 from PixelPil0t1/patch-1
matheusaaguiar Apr 16, 2025
0c28f4a
Merge pull request #15897 from argentpapa/develop
matheusaaguiar Apr 16, 2025
f5134df
Merge pull request #15827 from voronor/patch-2
matheusaaguiar Apr 16, 2025
771d805
Fix typo in test script comments
NeoByteXx Feb 22, 2025
687ad65
Merge pull request #15890 from eeemmmmmm/patch-2
matheusaaguiar Apr 16, 2025
7d1dfa3
Merge pull request #15904 from Ferran969/improve-yulname-literal
matheusaaguiar Apr 16, 2025
0881d62
Merge pull request #15885 from NeoByteXx/develop
matheusaaguiar Apr 16, 2025
d22a070
fix minor issues
sky-coderay Mar 14, 2025
8cf3305
Merge pull request #15940 from sky-coderay/develop
matheusaaguiar Apr 17, 2025
a7ac67c
fix duplicate EVMHost.cpp
zeroprooff Apr 17, 2025
02d2c9a
change into test dir for cmdline tests
clonker Apr 9, 2025
2fa170e
update test expectations with cwd being in test dir
clonker Apr 10, 2025
2ab62d7
Merge pull request #15996 from ethereum/cmdlineTests_go_to_test_dir
clonker Apr 22, 2025
880b61b
SMTChecker: Refactor handling of ConstantCondition verification target
blishko Feb 13, 2025
d9083dc
SMTChecker: Loop conditions should be analyzed as in loop context in BMC
blishko Mar 21, 2025
8caf354
Merge pull request #15862 from ethereum/smt-fix-loops-in-bmc
blishko Apr 23, 2025
b1a9031
SMTChecker: Clean up includes
blishko Mar 29, 2025
629bb28
SMTChecker: Remove unused functionality
blishko Mar 29, 2025
7526fbc
Merge pull request #16019 from ethereum/smt-more-refactoring
blishko Apr 23, 2025
ae3da8c
docs: fixed a mismatch in the name of the function referenced in the …
ryabykhms Oct 2, 2024
5baa791
Merge pull request #15473 from ryabykhms/docs-example-issue
matheusaaguiar Apr 23, 2025
fe74111
EVMAssemblyStack: Add extra accessors that do not require contract name
cameel Apr 16, 2025
dd01ddd
TestCaseReader: Expose fileName()
cameel Mar 14, 2025
d3238c0
Add a transparent comparator to c_instructions to allow string_view l…
cameel Apr 19, 2025
266c7d4
EVM assembly test case with JSON input
cameel Mar 14, 2025
fe39551
Support human-readable assembly in EVM assembly test case
cameel Apr 18, 2025
6d62ea0
Merge pull request #16012 from ethereum/evmasm-test-case
cameel Apr 23, 2025
975ee13
eof: Enable peephole optimizer for EOF.
rodiazet Apr 9, 2025
03fde2a
eof: Add peephole optimiser tests for EOF specific optimisations
rodiazet Apr 23, 2025
4c4860b
Merge pull request #15991 from ipsilon/enable-peephole-optimiser
cameel Apr 24, 2025
649c8ee
Update SMTPortfolio.cpp
gap-editor Apr 26, 2025
76e8016
Update SMTPortfolio.cpp
gap-editor Apr 28, 2025
b136829
Merge pull request #16025 from gap-editor/1
blishko Apr 28, 2025
cc78330
Update Types.cpp
lechpzn May 4, 2025
09fc1d4
PlainAssemblyParser: Store the stream globally in the class
cameel Apr 25, 2025
73af652
PlainAssemblyParser: Syntax for subassemblies
cameel Apr 25, 2025
202933b
PlainAssemblyParser: Support pushing assembly sizes and offsets
cameel Apr 25, 2025
d77affb
Merge pull request #16021 from ethereum/subassemblies-in-evm-assembly…
cameel May 6, 2025
78107e3
Assembly item asserts that it's not implicity constructed by instruct…
clonker Apr 27, 2025
d0bae61
Merge pull request #16026 from ethereum/assert_swapn_dupn_in_assembly…
clonker May 6, 2025
49c2e55
Set prague as EVM default version
matheusaaguiar Apr 28, 2025
ca699f9
bump hardhat version
matheusaaguiar May 6, 2025
24d534f
Increase resource for uniswap ext test
matheusaaguiar May 6, 2025
13d734f
Workaround for openzepellin ext test
matheusaaguiar May 6, 2025
b53d23a
Merge pull request #16030 from ethereum/makePragueDefaultEVMVersion
matheusaaguiar May 7, 2025
1e6842c
Fix broken docs links
nikola-matic May 7, 2025
3bd783d
Merge pull request #16033 from ethereum/fix-docs-links
nikola-matic May 7, 2025
1c8d401
Set changelog release date
nikola-matic May 7, 2025
73712a0
Merge pull request #16035 from ethereum/set-release-date-for-0-8-30
nikola-matic May 7, 2025
e313827
Set version to 0.8.31
nikola-matic May 7, 2025
9f2ca6c
Merge pull request #16037 from ethereum/set-version-to-0-8-31
nikola-matic May 7, 2025
895eb45
Add literal assignment to SSACFG
clonker May 9, 2025
d790750
Add option to keep literal assignments in SSACFG builder
clonker May 9, 2025
47f859b
Merge pull request #16041 from ethereum/ssacfg_treat_literals_as_vari…
clonker May 12, 2025
fe890f4
update docs: fix the position of flyout menu
fanhefeng Apr 28, 2025
9396227
Merge pull request #16029 from fanhefeng/patch-fixed_docs
clonker May 13, 2025
e0daa3c
assign zero value to not explicitly initialized variables during ssa …
clonker May 13, 2025
f5d5488
Merge pull request #16044 from ethereum/fix_ssacfg_literal_handling
clonker May 13, 2025
27c16d0
update fmtlib to 11.2.0
clonker May 14, 2025
19db669
Merge pull request #16048 from ethereum/update_fmtlib
clonker May 14, 2025
287b66a
Add instruction location info to eof assembly
clonker Apr 9, 2025
a5e20d2
Refactor legacy assemble to also use RAII instruction location constr…
clonker Apr 10, 2025
b8e81b9
Merge pull request #16052 from ethereum/eof_source_locations_unoptimi…
clonker May 15, 2025
6ae63c2
Mention that dots are still allowed in variables/function names in yu…
matheusaaguiar May 14, 2025
660b918
Merge pull request #16051 from ethereum/amendInlineAssemblyDocs
matheusaaguiar May 19, 2025
54979c1
Add nullptr checking for rename logging
henryhchchc May 20, 2025
d6a396e
Merge pull request #16059 from henryhchchc/develop
clonker May 21, 2025
446610b
Replace Reference StandardCompiler.cpp
dizer-ti May 22, 2025
aa4ec3e
Merge pull request #16032 from lechpzn/develop
matheusaaguiar May 29, 2025
e96a237
Yul: add label id dispenser
clonker Feb 7, 2025
a43f598
Merge pull request #15838 from ethereum/add_node_id_dispenser
clonker May 30, 2025
30caf71
Remove deprecated whitespace in literal operator declaration
r0qs Jun 1, 2025
7c816bf
Merge pull request #16062 from dizer-ti/develop
matheusaaguiar Jun 2, 2025
fe1a690
Rename emitted
vtjl10 May 13, 2025
c5fc3dd
Update TestFileParserTests.cpp
zeevick10 May 7, 2025
2b1a9e5
Update protoToAbiV2.cpp
zeevick10 May 7, 2025
5c3c957
Merge pull request #16073 from ethereum/remove-whitespace-literal-ope…
r0qs Jun 2, 2025
403b548
Fix shellcheck script
nikola-matic Jun 4, 2025
c294948
Merge pull request #16045 from vtjl10/develop
matheusaaguiar Jun 4, 2025
472449c
Merge pull request #16034 from zeevick10/develop
matheusaaguiar Jun 4, 2025
7bbdd9a
Merge pull request #16075 from ethereum/fix-shellcheck-script
nikola-matic Jun 4, 2025
bcddfb4
fix typo in file's name
otc-png Jun 4, 2025
725f8f7
replace 404 reference Natspec.cpp
davidjsonn Jun 5, 2025
2329440
Merge pull request #16076 from otc-png/develop
matheusaaguiar Jun 6, 2025
8125657
Merge pull request #16078 from davidjsonn/develop
matheusaaguiar Jun 6, 2025
1cd062a
Merge pull request #16010 from zeroprooff/develop
matheusaaguiar Jun 6, 2025
7b01123
fix typo in comment
kks-code Jun 6, 2025
d75bd39
Ethdebug requires assembly instance
clonker Apr 12, 2025
43b0f06
Ethdebug instructions output over multiple code sections
clonker Apr 8, 2025
4ea1d47
Add ethdebug schema
clonker Apr 11, 2025
3b924e6
Ethdebug uses schema for serialization
clonker Apr 9, 2025
89a0f91
Update test expectations with eof-enabled ethdebug
clonker Apr 9, 2025
482f64b
Test ethdebug output when requested in standard json under EOF
clonker Apr 11, 2025
059bd8e
Add tests for ethdebug output on abstract contracts and interfaces
clonker May 6, 2025
dd25b24
Changelog uses single blank line between headlines
clonker May 15, 2025
1401089
Export literal assignments as operation
r0qs Jun 5, 2025
929c65b
Merge pull request #16079 from kks-code/develop
r0qs Jun 11, 2025
f1af146
Merge pull request #16082 from ethereum/yul-cfg-assignment-op
r0qs Jun 11, 2025
a9df00c
Merge pull request #15994 from ethereum/eof_source_locations_unoptimized
clonker Jun 11, 2025
41eb541
Compare ethdebug output to program schema
clonker Apr 16, 2025
f83ad82
Merge pull request #16009 from ethereum/ethdebug_test_schema
clonker Jun 11, 2025
b04a46b
Fix broken HackMD link in release checklist (#16080)
MamunC0der Jun 11, 2025
637a8a1
Fix b_osx homebrew issue
nikola-matic Jun 16, 2025
ce09289
Merge pull request #16092 from ethereum/circle-ci-mac-brew-fix
nikola-matic Jun 18, 2025
48d1c9f
Rename dev_return_desc_multiple_unamed_mixed.sol to dev_return_desc_m…
kilavvy Jun 17, 2025
e6d1fea
Rename dev_return_desc_multiple_unamed_mixed_2.sol to dev_return_desc…
kilavvy Jun 17, 2025
9a4100a
Rename dev_return_desc_multiple_unamed.sol to dev_return_desc_multipl…
kilavvy Jun 17, 2025
52864f6
Merge pull request #16089 from kilavvy/develop
nikola-matic Jun 18, 2025
67288d6
Correct the regex calls
emmanuel-ferdman May 21, 2025
584cdcc
Merge pull request #16060 from emmanuel-ferdman/develop
nikola-matic Jun 18, 2025
fbd9d1a
ci: add "--break-system-packages" to pip install
clonker Jul 3, 2025
0917604
Merge pull request #16105 from ethereum/fix_pip_usage_in_ci
clonker Jul 3, 2025
aa1dae1
external tests: pin gnosis to v1.4.1
clonker Jul 10, 2025
82b4b5d
Merge pull request #16110 from ethereum/fix_ci
nikola-matic Jul 10, 2025
4efb2b3
Replace string comparison with empty() method in DocStringParser
eeemmmmmm Jul 2, 2025
a81065a
Replace string comparison with empty() method in Parser
eeemmmmmm Jul 2, 2025
d0f6e0b
Merge pull request #16103 from eeemmmmmm/develop
clonker Jul 10, 2025
66541b9
yulrun: Move dialect check of parse step after analyze
clonker Jul 11, 2025
406bdfb
Merge pull request #16112 from ethereum/yulrun_assert_dialect_after_a…
clonker Jul 11, 2025
53df4b7
Add EVMVersion::current() helper
clonker Apr 25, 2025
70592af
First define _all_ EVM functions, then declare them based on EVM vers…
clonker Mar 20, 2025
9007889
Separate out builtin function collection into its own class
clonker Apr 28, 2025
e465a31
Add allEOFVersions to EVMVersion
clonker Apr 28, 2025
e39aaeb
EVMVersion::allVersions is constexpr
clonker Apr 28, 2025
55e29b6
EVMDialect: add test that enforces builtin handle compatibility
clonker Mar 20, 2025
1d21bb4
Merge pull request #15961 from ethereum/safeguard_builtin_handles
clonker Jul 20, 2025
35282a8
CI: Update cimg/node to 20.19 for gp2 and pool together
clonker Jul 21, 2025
7d68e44
Merge pull request #16128 from ethereum/update_node_for_ext_tests
clonker Jul 21, 2025
fde1aaf
Yul: NoOutputAssembly assigns functions instead of appending
clonker Jul 21, 2025
240492d
Merge pull request #16127 from ethereum/fix_no_output_dialect_asan
clonker Jul 21, 2025
2593de8
Fix solidity public calls url
r0qs Jul 22, 2025
f7058d8
Merge pull request #16130 from ethereum/fix-solidity-meeting-url
r0qs Jul 22, 2025
bf6548b
Add tests with non-zero PUSH #[$] asm instructions
clonker Mar 18, 2025
57f39fa
Make subassembly IDs based on fixed-size 64 bit uint
clonker Mar 18, 2025
f6b95db
Add test with non-zero PUSH #[$] to solc-js tests
clonker Mar 19, 2025
459ad24
Merge pull request #15955 from ethereum/fix_asm_subpath_obj_id
clonker Jul 24, 2025
683ad06
Fix typo in fitsPrecisionBase2 function comment
MozirDmitriy Jul 28, 2025
6260712
Merge pull request #16137 from MozirDmitriy/mzd
cameel Jul 28, 2025
84dd707
ssa cfg builder: treat constant conditions in jumpi explicitly
clonker Jul 30, 2025
140fdbd
ssa cfg builder: treat constant switches explicitly
clonker Jul 30, 2025
aef512f
Merge pull request #16140 from ethereum/ssacfg_consteval_if_switch
clonker Jul 31, 2025
3d4a3c8
docs: fix unnecessary `uint160(bytes20(b))` casting
pcaversaccio Jul 24, 2025
ab68eaf
fix typos in comments
GarmashAlex May 13, 2025
9ef0a7d
Merge pull request #16132 from pcaversaccio/docs/fix-type-casting-to-…
cameel Aug 5, 2025
5dba5c5
Replace "External accounts" with "Externally-owned accounts" for accu…
codersjj Jan 25, 2025
05bad5e
Merge pull request #16046 from GarmashAlex/hpp2
matheusaaguiar Aug 5, 2025
55f55d3
Merge pull request #15774 from codersjj/patch-3
matheusaaguiar Aug 5, 2025
ce366e7
Fix external ENS test
nikola-matic Aug 5, 2025
2c5a4d5
Merge pull request #16148 from ethereum/fix-external-ens-node-bump
clonker Aug 5, 2025
37d4a72
chore(scripts): improve readability of regressions.py and splitSource…
Pronoss Mar 20, 2025
53b9c89
Merge pull request #15959 from Pronoss/fix/update
clonker Aug 7, 2025
d578b6b
Fix comparison operator of CHCVerificationTarget
radik878 Aug 5, 2025
c78de76
SSA-CFG: Tiny code simplifications
blishko Aug 11, 2025
dbabcd0
Merge pull request #16147 from radik878/opinashnev
blishko Aug 11, 2025
635fe8f
Merge pull request #16159 from ethereum/SSA-CFG-simpl
blishko Aug 11, 2025
47e0335
feat: added updraft glossary for solidity and smart contract terms
PatrickAlphaC Jun 9, 2025
d8293de
Merge pull request #16081 from PatrickAlphaC/feat/updraft-addition
clonker Aug 14, 2025
68364ab
refactor(formal): remove unused clear()/solver()
phrwlk Aug 14, 2025
c79f2cc
Merge pull request #16164 from phrwlk/fix/formal-encoding-context-cle…
blishko Aug 14, 2025
116735f
Yul expression simplifier: Don't substitute out of scope variables
clonker Aug 8, 2025
0e8d07d
Merge pull request #16161 from ethereum/fix_invalid_yul_from_expressi…
clonker Aug 18, 2025
7e48f20
Pin hardhat to last 2.x.x version
nikola-matic Aug 18, 2025
118c1d9
Merge pull request #16175 from ethereum/pin-hardhat-to-latest-pre-3-v…
nikola-matic Aug 19, 2025
539416a
Bump node image to lts for pool together and gp2
nikola-matic Aug 14, 2025
6dfcf35
Merge pull request #16169 from ethereum/upgrade-node-image-in-externa…
nikola-matic Aug 19, 2025
db18d42
Fix build with Boost 1.89.0
cho-m Aug 12, 2025
a7e1bac
Merge pull request #16163 from cho-m/boost-1.89.0
clonker Aug 19, 2025
a6a6081
update to boost 1.70.0 for non-windows builds
clonker Aug 15, 2025
6b7413c
fix: correct fromHex function documentation
Fibonacci747 Aug 25, 2025
29bba31
Merge pull request #16180 from Fibonacci747/fix/documentation-fromhex…
clonker Aug 25, 2025
6d322f1
Merge pull request #16176 from ethereum/update_boost_1_70
clonker Aug 26, 2025
01a821f
ci: filter for python files when verifying optimization rule formal p…
clonker Aug 27, 2025
4dbfe8e
docs: update links to argotorg and ipsilon where appropriate
clonker Aug 27, 2025
c5fa337
Bump dockerfile label version
r0qs Aug 27, 2025
0232abc
ci: rename osx-dependencies -> macos-dependencies
clonker Aug 27, 2025
029a980
Update project_slug in download_benchmarks.py
r0qs Aug 27, 2025
69af5ee
Replace unmaintained GitHub Action for PR comments
r0qs Aug 28, 2025
50598a3
Update Solidity project board link
r0qs Aug 29, 2025
5991ef6
Change bot account
r0qs Sep 2, 2025
4d07239
Merge pull request #16184 from argotorg/docs_update_links
r0qs Sep 8, 2025
5b4389a
Grant pull-requests write permission to enable welcome-external-pr bo…
r0qs Sep 8, 2025
ca55cb3
Merge pull request #16196 from argotorg/update-external-pr-action-per…
r0qs Sep 10, 2025
a3480a3
Pin GitHub Actions workflows to specific release commits
r0qs Sep 10, 2025
9651663
Merge pull request #16200 from argotorg/pin-comment-pr-action-hash
r0qs Sep 11, 2025
806f2f1
English documentation updates up to v0.8.30-137-g965166317 (2025-09-12)
soldocsbot Sep 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 59 additions & 67 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.24")
set(PROJECT_VERSION "0.8.31")
# 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 @@ -34,19 +34,39 @@ endif()

option(SOLC_LINK_STATIC "Link solc executable statically on supported platforms" OFF)
option(SOLC_STATIC_STDLIBS "Link solc against static versions of libgcc and libstdc++ on supported platforms" OFF)
option(STRICT_Z3_VERSION "Use the latest version of Z3" ON)
option(STRICT_Z3_VERSION "Require the exact version of Z3 solver expected by our test suite." 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(
IGNORE_VENDORED_DEPENDENCIES
"Ignore libraries provided as submodules of the repository and allow CMake to look for \
them in the typical locations, including system-wide dirs."
OFF
)
option(
ONLY_BUILD_SOLIDITY_LIBRARIES
"Only build library targets that can be statically linked against. Do not build executables or tests."
OFF
)
mark_as_advanced(PROFILE_OPTIMIZER_STEPS)
mark_as_advanced(IGNORE_VENDORED_DEPENDENCIES)
mark_as_advanced(ONLY_BUILD_SOLIDITY_LIBRARIES)

# 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 IGNORE_VENDORED_DEPENDENCIES)
include(fmtlib)
include(nlohmann-json)
include(range-v3)
else ()
message(WARNING "-- Ignoring vendored dependencies. Will use installed versions if found. Versions may differ from the ones the compiler was tested with. Make sure to run the test suite and thoroughly test the resulting binaries before using them in production.")
find_package(fmt REQUIRED)
find_package(nlohmann_json REQUIRED)
find_package(range-v3 REQUIRED)
endif()

find_package(Threads)

Expand Down Expand Up @@ -75,62 +95,31 @@ configure_file("${PROJECT_SOURCE_DIR}/cmake/templates/license.h.in" include/lice

include(EthOptions)
configure_project(TESTS)
set(LATEST_Z3_VERSION "4.12.1")
set(MINIMUM_Z3_VERSION "4.8.16")
find_package(Z3)
if (${Z3_FOUND})
if (${STRICT_Z3_VERSION})
if (NOT ("${Z3_VERSION_STRING}" VERSION_EQUAL ${LATEST_Z3_VERSION}))
message(
FATAL_ERROR
"SMTChecker tests require Z3 ${LATEST_Z3_VERSION} for all tests to pass.\n\
Build with -DSTRICT_Z3_VERSION=OFF if you want to use a different version. \
You can also use -DUSE_Z3=OFF to build without Z3. In both cases use --no-smt when running tests."
)
endif()
else()
if ("${Z3_VERSION_STRING}" VERSION_LESS ${MINIMUM_Z3_VERSION})
message(
FATAL_ERROR
"Solidity requires Z3 ${MINIMUM_Z3_VERSION} or newer. You can also use -DUSE_Z3=OFF to build without Z3."
)
endif()
endif()
endif()

if(${USE_Z3_DLOPEN})
add_definitions(-DHAVE_Z3)
add_definitions(-DHAVE_Z3_DLOPEN)
find_package(Python3 COMPONENTS Interpreter)
if(${Z3_FOUND})
get_target_property(Z3_HEADER_HINTS z3::libz3 INTERFACE_INCLUDE_DIRECTORIES)
endif()
find_path(Z3_HEADER_PATH z3.h HINTS ${Z3_HEADER_HINTS})
if(Z3_HEADER_PATH)
set(Z3_FOUND TRUE)
else()
message(SEND_ERROR "Dynamic loading of Z3 requires Z3 headers to be present at build time.")
endif()
if(NOT ${Python3_FOUND})
message(SEND_ERROR "Dynamic loading of Z3 requires Python 3 to be present at build time.")
endif()
if(${SOLC_LINK_STATIC})
message(SEND_ERROR "solc cannot be linked statically when dynamically loading Z3.")
endif()
elseif (${Z3_FOUND})
add_definitions(-DHAVE_Z3)
message("Z3 SMT solver found. This enables optional SMT checking with Z3.")
endif()

find_package(CVC4 QUIET)
if (${CVC4_FOUND})
add_definitions(-DHAVE_CVC4)
message("CVC4 SMT solver found. This enables optional SMT checking with CVC4.")
endif()

if (NOT (${Z3_FOUND} OR ${CVC4_FOUND}))
message("No SMT solver found (or it has been forcefully disabled). Optional SMT checking will not be available.\
\nPlease install Z3 or CVC4 or remove the option disabling them (USE_Z3, USE_CVC4).")
if(EMSCRIPTEN)
set(TESTED_Z3_VERSION "4.13.3")
set(MINIMUM_Z3_VERSION "4.8.16")
find_package(Z3)
if (${Z3_FOUND})
add_definitions(-DEMSCRIPTEN_BUILD)
if (${STRICT_Z3_VERSION})
if (NOT ("${Z3_VERSION_STRING}" VERSION_EQUAL ${TESTED_Z3_VERSION}))
message(
FATAL_ERROR
"SMTChecker tests require Z3 ${TESTED_Z3_VERSION} for all tests to pass.\n"
)
endif()
else()
if ("${Z3_VERSION_STRING}" VERSION_LESS ${MINIMUM_Z3_VERSION})
message(
FATAL_ERROR
"Solidity requires Z3 ${MINIMUM_Z3_VERSION} or newer."
)
endif()
endif()
else()
message(FATAL_ERROR "Solidity requires Z3 for emscripten build.")
endif()
endif()

add_subdirectory(libsolutil)
Expand All @@ -141,12 +130,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()
8 changes: 8 additions & 0 deletions docs/050-breaking-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,17 @@
Solidity v0.5.0 重大变化
********************************

<<<<<<< HEAD
本节强调了 Solidity 0.5.0 版本中引入的主要重大变化,
以及这些变化背后的原因和如何更新受影响的代码。
对于完整的列表,请查看 `版本更新日志 <https://github.com/ethereum/solidity/releases/tag/v0.5.0>`_。
=======
This section highlights the main breaking changes introduced in Solidity
version 0.5.0, along with the reasoning behind the changes and how to update
affected code.
For the full list check
`the release changelog <https://github.com/argotorg/solidity/releases/tag/v0.5.0>`_.
>>>>>>> english/develop

.. note::
用 Solidity v0.5.0 编译的合约仍然可以与合约甚至用旧版本编译的库对接,
Expand Down
8 changes: 8 additions & 0 deletions docs/060-breaking-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,16 @@
Solidity 0.6.0 重大变化
********************************

<<<<<<< HEAD
本节强调了 Solidity 0.6.0 版本中引入的主要重大变化,以及这些变化背后的原因和如何更新受影响的代码。
对于完整的列表,请查看 `版本更新日志 <https://github.com/ethereum/solidity/releases/tag/v0.6.0>`_。
=======
This section highlights the main breaking changes introduced in Solidity
version 0.6.0, along with the reasoning behind the changes and how to update
affected code.
For the full list check
`the release changelog <https://github.com/argotorg/solidity/releases/tag/v0.6.0>`_.
>>>>>>> english/develop


编译器可能不会发出警告的变化
Expand Down
8 changes: 8 additions & 0 deletions docs/070-breaking-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,17 @@
Solidity v0.7.0 重大变化
********************************

<<<<<<< HEAD
本节强调了 Solidity 0.7.0 版本中引入的主要重大变化,
以及这些变化背后的原因和如何更新受影响的代码。
对于完整的列表,请查看 `版本更新日志 <https://github.com/ethereum/solidity/releases/tag/v0.7.0>`_。
=======
This section highlights the main breaking changes introduced in Solidity
version 0.7.0, along with the reasoning behind the changes and how to update
affected code.
For the full list check
`the release changelog <https://github.com/argotorg/solidity/releases/tag/v0.7.0>`_.
>>>>>>> english/develop


语义的微小变化
Expand Down
12 changes: 12 additions & 0 deletions docs/080-breaking-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,15 @@
Solidity v0.8.0 重大变化
********************************

<<<<<<< HEAD
本节强调了 Solidity 0.8.0 版本中引入的主要重大变化。对于完整的列表,请查看
`版本更新日志 <https://github.com/ethereum/solidity/releases/tag/v0.8.0>`_。
=======
This section highlights the main breaking changes introduced in Solidity
version 0.8.0.
For the full list check
`the release changelog <https://github.com/argotorg/solidity/releases/tag/v0.8.0>`_.
>>>>>>> english/develop

语义的微小变化
===============================
Expand Down Expand Up @@ -132,8 +139,13 @@ Solidity v0.8.0 重大变化
* ``--combined-json`` 的输出已经改变。JSON字段 ``abi``, ``devdoc``, ``userdoc`` 和
``storage-layout`` 现在是子对象。在0.8.0之前,它们曾被序列化为字符串。

<<<<<<< HEAD
* “传统AST“ 已被删除( ``--ast-json`` 在命令行界面, ``legacyAST`` 用于标准JSON)。
使用 “紧凑型AST”( ``--ast-compact-json`` 参数. ``AST``)作为替代。
=======
* The "legacy AST" has been removed (``--ast-json`` on the commandline interface and ``legacyAST`` for standard JSON).
Use the "compact AST" (``--ast-compact-json`` resp. ``AST``) as replacement.
>>>>>>> english/develop

* 旧的错误报告器( ``--old-reporter`` )已经被删除。

Expand Down
6 changes: 3 additions & 3 deletions docs/_static/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ h1 {
}

section:first-of-type h1:first-of-type {
font-family: 'Overpass mono', monospace;
font-family: 'Overpass Mono', monospace;
font-size: 48px;
margin-top: 3rem;
margin-bottom: 5rem;
Expand Down Expand Up @@ -229,7 +229,7 @@ small * {
.wy-side-nav-search {
background-color: transparent !important;
color: var(--color-a) !important;
box-shadow: 0 4 4 0 var(--color-a);
box-shadow: 0 4px 4px 0 var(--color-a);
border-bottom: 1px solid var(--color-d) !important;
}

Expand Down Expand Up @@ -823,4 +823,4 @@ a.skip-to-content:focus {
#content {
scroll-margin-top: 6rem;
scroll-behavior: smooth;
}
}
5 changes: 5 additions & 0 deletions docs/_static/css/toggle.css
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,9 @@ html.transition *:after {

.wy-menu-vertical a:hover {
background-color: #0002;
}

body {
font-weight: 300;
letter-spacing: 0.5px;
}
10 changes: 10 additions & 0 deletions docs/abi-spec.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@
我们假设合约的接口函数是强类型的,在编译时就知道,并且是静态的。
我们假设所有合约在编译时都有它们所调用的任何合约的接口定义。

<<<<<<< HEAD
本规范不涉及其接口是动态的或其他只有在运行时才知道的合约。
=======
This specification does not address contracts whose interface is dynamic or otherwise known only at run-time. Also, the ABI specification for libraries is :ref:`slightly different <library-selectors>`.
>>>>>>> english/develop

.. _abi_function_selector:
.. index:: ! selector; of a function
Expand Down Expand Up @@ -44,7 +48,13 @@
类型
=====

<<<<<<< HEAD
以下是基础类型:
=======
Note that the library ABIs can take types different than below e.g. for non-storage structs. See :ref:`library selectors <library-selectors>` for details.

The following elementary types exist:
>>>>>>> english/develop

- ``uint<M>``: ``M`` 位的无符号整数, ``0 < M <= 256``, ``M % 8 == 0``。例如: ``uint32``, ``uint8``, ``uint256``。

Expand Down
Loading