Skip to content
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

English documentation updates up to v0.8.25-46-g6c7e686d8 (2024-04-13) #343

Closed
wants to merge 572 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
572 commits
Select commit Hold shift + click to select a range
492c0eb
GasMeter tests: Skip tests with abicoder v2 only if they actually don…
cameel Jan 19, 2024
3876717
test/Common: minEVMVersionCheck() predicate for skipping boost tests
cameel Jan 19, 2024
9512f41
Make tests based on Analysis Framework properly use line prefix also …
cameel Jan 19, 2024
d1447c0
MemoryGuardTest: Don't hide errors that occur at the IR parsing stage
cameel Jan 19, 2024
7f79cd8
MemoryGuardTest: Respect EVM version selected on the command line
cameel Jan 19, 2024
f05d0a9
Merge pull request #14790 from ethereum/testing-tweaks-before-mcopy
cameel Jan 22, 2024
81268e3
Add blobhash high-level global function.
r0qs Dec 27, 2023
01cb85f
Merge pull request #14759 from ethereum/eip-4844-add-blobhash-2
cameel Jan 22, 2024
ce98680
Support bytes concat in formal verification (#14685)
pgebal Jan 24, 2024
1b75d48
More basic tests for memory guard
cameel Jan 23, 2024
1a80202
A few extra optimizer tests for MSTORE
cameel Jan 23, 2024
bd76278
Yul builtin for MCOPY
cameel Jan 8, 2024
ba95a29
Fix macOS dependency cache.
aarlt Jan 22, 2024
89a70c7
Merge pull request #14795 from ethereum/osx-caching
cameel Jan 24, 2024
8f5ee88
Merge pull request #14779 from ethereum/mcopy
cameel Jan 24, 2024
89b73b6
Introduce transient storage support for Yul and inline assembly.
matheusaaguiar Jan 12, 2024
261e8b9
Test new semantic of selfdestruct added by EIP-6780
r0qs Jan 16, 2024
ea0b750
Add support for apple silicon.
aarlt Dec 11, 2023
7e7c45c
Merge pull request #14737 from ethereum/transientStorageBasicSupport
cameel Jan 25, 2024
29fc962
Merge pull request #14785 from ethereum/eip-6780-selfdestruct
cameel Jan 25, 2024
bc62f28
Merge pull request #14725 from ethereum/apple_silicon_build
cameel Jan 25, 2024
631fd9d
Issue a warning when comparing internal function pointers
nikola-matic Jan 17, 2024
ef663c2
Changelog and docs
nikola-matic Jan 18, 2024
ae7039f
Merge pull request #14784 from ethereum/issue-a-warning-when-comparin…
cameel Jan 25, 2024
ac3703a
using-the-compiler.rst: Adjust SolidityAST docs to match the pre-exis…
cameel Jan 25, 2024
4ed2380
Add support to import EVM assembly via Standard JSON.
aarlt May 31, 2023
62e27e4
Merge pull request #14285 from ethereum/evmjson-import-via-standard-json
cameel Jan 25, 2024
6d7fc69
Fix broken link in docs
nikola-matic Jan 25, 2024
fe3b94d
Order changelog
nikola-matic Jan 25, 2024
1377d43
Merge pull request #14808 from ethereum/fix-docs-broken-links
nikola-matic Jan 25, 2024
2ec5726
Merge pull request #14809 from ethereum/fix-changelog-for-release
nikola-matic Jan 25, 2024
0da4527
Update changelog for 0.8.24 release
nikola-matic Jan 25, 2024
e11b9ed
Merge pull request #14810 from ethereum/set-changelog-for-8-24-release
nikola-matic Jan 25, 2024
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
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…
zuriobozuwa10 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…
zuriobozuwa10 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
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
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
2839372
English documentation updates up to v0.8.25-46-g6c7e686d8 (2024-04-13)
soldocsbot Apr 13, 2024
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
44 changes: 29 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
cmake_minimum_required(VERSION 3.13.0)

set(ETH_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake" CACHE PATH "The the path to the cmake directory")
set(ETH_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake" CACHE PATH "The path to the cmake directory")
list(APPEND CMAKE_MODULE_PATH ${ETH_CMAKE_DIR})

# Set the build type, if none was specified.
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
if(EXISTS "${PROJECT_SOURCE_DIR}/.git")
set(DEFAULT_BUILD_TYPE "RelWithDebInfo")
else()
set(DEFAULT_BUILD_TYPE "Release")
Expand All @@ -21,7 +21,7 @@ include(EthPolicy)
eth_policy()

# project name and version should be set after cmake_policy CMP0048
set(PROJECT_VERSION "0.8.20")
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,21 @@ 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_JSONCPP_VERSION "Strictly check installed jsoncpp version" ON)

# 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(jsoncpp)
include(range-v3)
include_directories(SYSTEM ${JSONCPP_INCLUDE_DIR})
endif()

find_package(Threads)

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

if (STRICT_JSONCPP_VERSION)
add_definitions(-DSTRICT_JSONCPP_VERSION_CHECK)
endif()

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

Expand All @@ -66,12 +75,12 @@ include(EthUtils)

# Create license.h from LICENSE.txt and template
# Converting to char array is required due to MSVC's string size limit.
file(READ ${CMAKE_SOURCE_DIR}/LICENSE.txt LICENSE_TEXT HEX)
file(READ ${PROJECT_SOURCE_DIR}/LICENSE.txt LICENSE_TEXT HEX)
string(REGEX MATCHALL ".." LICENSE_TEXT "${LICENSE_TEXT}")
string(REGEX REPLACE ";" ",\n\t0x" LICENSE_TEXT "${LICENSE_TEXT}")
set(LICENSE_TEXT "0x${LICENSE_TEXT}")

configure_file("${CMAKE_SOURCE_DIR}/cmake/templates/license.h.in" include/license.h)
configure_file("${PROJECT_SOURCE_DIR}/cmake/templates/license.h.in" include/license.h)

include(EthOptions)
configure_project(TESTS)
Expand Down Expand Up @@ -140,12 +149,17 @@ add_subdirectory(libevmasm)
add_subdirectory(libyul)
add_subdirectory(libsolidity)
add_subdirectory(libsolc)
add_subdirectory(tools)
add_subdirectory(libstdlib)

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()

21 changes: 21 additions & 0 deletions docs/050-breaking-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,19 @@ Solidity v0.5.0 突破性变化
* 在非payable函数中使用 ``msg.value`` (或通过修改器引入)是不允许的,因为这是一个安全特性。
将该函数变成 ``payable``,或为程序逻辑创建一个新的内部函数,使用 ``msg.value``。

<<<<<<< HEAD
* 为了清晰起见,如果使用标准输入作为源,命令行界面现在需要 ``-``。
=======
* For clarity reasons, the command-line interface now requires ``-`` if the
standard input is used as source.
>>>>>>> english/develop

废弃的元素
===================

这一节列出了废弃以前的功能或语法的变化。 请注意,其中许多变化已经在实验模式 ``v0.5.0`` 中启用。

<<<<<<< HEAD
命令行和JSON接口
--------------------------------

Expand All @@ -130,6 +136,21 @@ Solidity v0.5.0 突破性变化
* 由于中间语言 ``Julia`` 更名为 ``Yul``,命令行选项 ``--julia`` 被更名为 ``--yul``。

* 删除了 ``--clone-bin`` 和 ``--combined-json clone-bin`` 命令行选项。
=======
Command-line and JSON Interfaces
--------------------------------

* The command-line option ``--formal`` (used to generate Why3 output for
further formal verification) was deprecated and is now removed. A new
formal verification module, the SMTChecker, is enabled via ``pragma
experimental SMTChecker;``.

* The command-line option ``--julia`` was renamed to ``--yul`` due to the
renaming of the intermediate language ``Julia`` to ``Yul``.

* The ``--clone-bin`` and ``--combined-json clone-bin`` command-line options
were removed.
>>>>>>> english/develop

* 不允许使用空前缀的重映射。

Expand Down
25 changes: 25 additions & 0 deletions docs/060-breaking-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,12 @@ Solidity 0.6.0 版本突破性变化
编译器可能不会发出警告的变化
=========================================

<<<<<<< HEAD
本节列出了一些变化,在这些变化中,您的代码的行为可能会发生变化,而编译器不会告诉您。
=======
This section lists changes where the behavior of your code might
change without the compiler telling you about it.
>>>>>>> english/develop

* 指数运算的结果类型是基数的类型。
就像对称运算一样,它曾经是可以同时容纳基数类型和指数类型的最小类型。
Expand Down Expand Up @@ -90,25 +95,45 @@ Solidity 0.6.0 版本突破性变化
接口变化
=================

<<<<<<< HEAD
本节列出与语言本身无关但对编译器接口有影响的更改。
这些可能会改变您在命令行上使用编译器的方式,例如,您如何使用它的可编程接口,
或者您如何分析它产生的输出。
=======
This section lists changes that are unrelated to the language itself, but that have an effect on the interfaces of
the compiler. These may change the way how you use the compiler on the command-line, how you use its programmable
interface, or how you analyze the output produced by it.
>>>>>>> english/develop

新的错误报告器
~~~~~~~~~~~~~~~~~~

<<<<<<< HEAD
引入一个新的错误报告器,其目的是在命令行上产生更易访问的错误消息。
它在默认情况下是启用的,但是通过 ``--old-reporter`` 可以返回到弃用的旧错误报告器。
=======
A new error reporter was introduced, which aims at producing more accessible error messages on the command-line.
It is enabled by default, but passing ``--old-reporter`` falls back to the deprecated old error reporter.
>>>>>>> english/develop

元数据哈希选项
~~~~~~~~~~~~~~~~~~~~~

<<<<<<< HEAD
编译器现在默认将元数据文件的 `IPFS <https://ipfs.io/>`_ 哈希值附加到字节码的末尾
(详见 :doc:`合约元数据 <metadata>` ) 文档。在0.6.0之前,
编译器默认附加了 `Swarm <https://ethersphere.github.io/swarm-home/>`_ 哈希值,
为了仍然支持这种行为,引入了新的命令行选项 ``--metadata-hash``。
它允许您通过传递 ``--metadata-hash`` 命令行选项的 ``ipfs`` 或 ``swarm`` 值来选择要产生和附加的哈希。
传递 ``none`` 则可以完全删除哈希。
=======
The compiler now appends the `IPFS <https://ipfs.io/>`_ hash of the metadata file to the end of the bytecode by default
(for details, see documentation on :doc:`contract metadata <metadata>`). Before 0.6.0, the compiler appended the
`Swarm <https://ethersphere.github.io/swarm-home/>`_ hash by default, and in order to still support this behavior,
the new command-line option ``--metadata-hash`` was introduced. It allows you to select the hash to be produced and
appended, by passing either ``ipfs`` or ``swarm`` as value to the ``--metadata-hash`` command-line option.
Passing the value ``none`` completely removes the hash.
>>>>>>> english/develop

这些变化也可以通过 :ref:`标准JSON接口 <compiler-api>` 使用,并影响编译器生成的元数据JSON。

Expand Down
23 changes: 23 additions & 0 deletions docs/080-breaking-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,32 @@ Solidity v0.8.0 突破性变化
语义的微小变化
===============================

<<<<<<< HEAD
本节列出了现有代码在编译器没有通知您的情况下改变其行为的更改。

* 算术操作在下溢和溢出时都会恢复。您可以使用 ``unchecked { ... }`` 来使用以前的包装行为。
=======
This section lists changes where existing code changes its behavior without
the compiler notifying you about it.

* Arithmetic operations revert on underflow and overflow. You can use ``unchecked { ... }`` to use
the previous wrapping behavior.
>>>>>>> english/develop

溢出的检查是非常普遍的,所以我们把它作为默认的检查,
以增加代码的可读性,即使它是以略微增加gas成本为代价的。

* ABI编码器v2默认是激活的。

<<<<<<< HEAD
您可以使用 ``pragma abicoder v1;`` 来选择使用旧的行为。
语句 ``pragma experimental ABIEncoderV2;`` 仍然有效,但它已被废弃,没有效果。
如果您想显示使用,请使用 ``pragma abicoder v2;`` 代替。
=======
You can choose to use the old behavior using ``pragma abicoder v1;``.
The pragma ``pragma experimental ABIEncoderV2;`` is still valid, but it is deprecated and has no effect.
If you want to be explicit, please use ``pragma abicoder v2;`` instead.
>>>>>>> english/develop

请注意,ABI coder v2比v1支持更多的类型,并对输入进行更多的合理性检查。
ABI coder v2使一些函数调用更加昂贵,而且当合约中包含不符合参数类型的数据时,它还会使合约调用回退,
Expand Down Expand Up @@ -49,7 +63,12 @@ Solidity v0.8.0 突破性变化

本节列出了可能导致现有合约不再编译的变化。

<<<<<<< HEAD
* 有一些与字面常量的显式转换有关的新限制。以前在以下情况下的行为可能是模糊的:
=======
* There are new restrictions related to explicit conversions of literals. The previous behavior in
the following cases was likely ambiguous:
>>>>>>> english/develop

1. 不允许从负数字段和大于 ``type(uint160).max`` 的字段显式转换为 ``address``。
2. 只有当字面常量位于 ``type(T).min`` 和 ``type(T).max`` 之间时,
Expand Down Expand Up @@ -90,7 +109,11 @@ Solidity v0.8.0 突破性变化

* 全局函数 ``log0``, ``log1``, ``log2``, ``log3`` 和 ``log4`` 已被删除。

<<<<<<< HEAD
这些都是低级别的函数,基本上没有被使用过。它们的行为可以通过内联汇编访问。
=======
These are low-level functions that were largely unused. Their behavior can be accessed from inline assembly.
>>>>>>> english/develop

* ``enum`` 定义包含的成员不能超过256个。

Expand Down
23 changes: 23 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Solidity Language Docs

## Local environment setup

1. Install python https://www.python.org/downloads/
1. Install sphinx (the tool used to generate the docs) https://www.sphinx-doc.org/en/master/usage/installation.html

Go to `/docs` and run `./docs.sh` to install dependencies and build the project:

```sh
cd docs
./docs.sh
```

That will output the generated htmls under _build/

## Serve environment

```py
python3 -m http.server -d _build/html --cgi 8080
```

Visit dev server at http://localhost:8080
Loading