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-164-gcd6f2e75a (2024-05-21) #364

Closed
wants to merge 690 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
690 commits
Select commit Hold shift + click to select a range
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…
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
fe25473
English documentation updates up to v0.8.25-164-gcd6f2e75a (2024-05-21)
soldocsbot May 21, 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
45 changes: 30 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,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 All @@ -66,12 +77,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 +151,16 @@ 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