Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
886bf48
Set version to 0.8.32
matheusaaguiar Dec 2, 2025
41c3bd8
Merge pull request #16324 from argotorg/set-version-0.8.32
nikola-matic Dec 3, 2025
b7ce492
Move changelog entries to correct section
matheusaaguiar Dec 3, 2025
3cd817c
Merge pull request #16327 from argotorg/fix-changelog
matheusaaguiar Dec 3, 2025
ec00d77
Update release checklist with docker login info
r0qs Dec 3, 2025
62b2ae0
Merge pull request #16326 from argotorg/update-release-checklist
nikola-matic Dec 4, 2025
7b39f83
Copy libevmone to Linux ARM machine
matheusaaguiar Dec 4, 2025
11150f6
Merge pull request #16328 from argotorg/copy-evmone-linux-arm
matheusaaguiar Dec 4, 2025
6ac7d73
Disable partial clone and fetch all objects on alpine
r0qs Dec 4, 2025
37653a0
SMTChecker: Use Eldarica in more tests
blishko Dec 5, 2025
ca26dec
Merge pull request #16330 from argotorg/smt-use-eldarica-more
nikola-matic Dec 5, 2025
2f5d103
Merge pull request #16331 from argotorg/git-alpine-file-protocol
r0qs Dec 5, 2025
bdf3c50
Update fmtlib to 12.1.0
matheusaaguiar Dec 5, 2025
e0773b9
run soltest and cli tests on arm
matheusaaguiar Dec 3, 2025
9763e9f
Use new Linux ARM image
matheusaaguiar Dec 4, 2025
82c8ca1
Merge pull request #16322 from argotorg/run-tests-on-linux-arm
cameel Dec 8, 2025
0f6d9db
Merge pull request #16332 from argotorg/update-fmtlib-12.1.0
matheusaaguiar Dec 9, 2025
8d56363
Update nlohmann-json to v3.12.0
matheusaaguiar Dec 6, 2025
786b740
Merge pull request #16333 from argotorg/update-nlohmann-json-v3.12.0
cameel Dec 9, 2025
37ce297
contributing.rst: Add a link to the public call agenda
cameel Dec 10, 2025
c8ccc6c
Merge pull request #16342 from argotorg/docs-team-call-agenda
cameel Dec 10, 2025
51e9135
Fix constantness of event and error selectors. Reported by https://gi…
rodiazet Dec 3, 2025
4ec10c9
Add the changelog entry.
rodiazet Dec 8, 2025
aca05d4
Merge pull request #16343 from argotorg/fix-error-event-selectors-con…
cameel Dec 11, 2025
befaeda
Always update stale gas expectations, even if below threshold
cameel Dec 15, 2025
16ab579
Update stale gas expectations that dropped below the default 100k thr…
cameel Dec 15, 2025
3cda75a
Merge pull request #16348 from argotorg/soltest-always-enforce-explic…
r0qs Dec 16, 2025
da092b5
Move constantinople and petersburg runs to nightly
marcocastignoli Dec 16, 2025
5d24b0f
Merge pull request #16350 from argotorg/move-constantinople-petersbur…
r0qs Dec 17, 2025
eaaba5f
Apply fix
rodiazet Dec 8, 2025
910350b
Add tests
rodiazet Dec 8, 2025
53a9efb
Update parser error message and tests results.
rodiazet Dec 10, 2025
dad604c
Update changelog
rodiazet Dec 10, 2025
357cf7f
Merge pull request #16344 from argotorg/import-event
cameel Dec 17, 2025
2d6ecc5
legacy: Fix handling of storage array boundaries (deletion, cleanup, …
r0qs Dec 17, 2025
eb41494
via-ir: Fix handling of storage array boundaries (deletion and cleanup)
r0qs Dec 17, 2025
4f0e20c
Add test for arrays at storage boundaries and extend coverage of lega…
r0qs Dec 17, 2025
1ebf539
Update Changelog.md and add bug entry for LostStorageArrayWriteOnSlot…
r0qs Dec 17, 2025
a1bf08c
Merge pull request #15984 from argotorg/storageOverflowDeleteBug
r0qs Dec 17, 2025
b34a054
Fix `string|bytes.concat` assignment to a constant variable.
rodiazet Dec 17, 2025
f4b7f98
Add syntax tests.
rodiazet Dec 17, 2025
a4bd1b7
Add semantic test
rodiazet Dec 17, 2025
ba32d8b
Update tests. Change error message.
rodiazet Dec 17, 2025
91a49db
Update tests. Modify to avoid the no effect warning.
rodiazet Dec 17, 2025
2c0acc5
Update changelog
rodiazet Dec 17, 2025
eb6a459
Add sanity check in the end of `TypeChecker::visit(MemberAccess const…
rodiazet Dec 17, 2025
b28145c
Update docs about solc-bin.ethereum.org deprecation in favor of binar…
r0qs Dec 11, 2025
b736152
Merge pull request #16341 from argotorg/fix-string-bytes-concat-assig…
cameel Dec 17, 2025
7f5d590
Merge pull request #16346 from argotorg/solc-bin-eth-deprecation
cameel Dec 17, 2025
1c61064
Fix changelog for 0.8.32
nikola-matic Dec 18, 2025
ebbd65e
Merge pull request #16359 from argotorg/sort-changelog-for-0-8-32
nikola-matic Dec 18, 2025
d078d8c
Merge tag 'v0.8.32' into release_0.8.32
yanghang8612 Oct 15, 2026
5e2fa30
Merge pull request #154 from yanghang8612/release_0.8.32
CodeNinjaEvan Oct 15, 2026
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
61 changes: 57 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ parameters:
default: "ghcr.io/argotorg/solidity-buildpack-deps@sha256:c0412c53e59ce0c96bde4c08e7332ea12e4cadba9bbac829621947897fa21272"
ubuntu-2404-arm-docker-image:
type: string
# ghcr.io/argotorg/solidity-buildpack-deps:ubuntu2404.arm-1
default: "ghcr.io/argotorg/solidity-buildpack-deps@sha256:6cdb928fa8743d0b5d515c2c489b8d545c541f2370af28d5d3a71532056a0f22"
# ghcr.io/argotorg/solidity-buildpack-deps:ubuntu2404.arm-2
default: "ghcr.io/argotorg/solidity-buildpack-deps@sha256:27b03c1c4688e5d69b10e0539460346a3dee3b10b0e04fb406b9707c6f0dd95e"
ubuntu-2404-clang-docker-image:
type: string
# ghcr.io/argotorg/solidity-buildpack-deps:ubuntu2404.clang-7
Expand Down Expand Up @@ -710,6 +710,11 @@ defaults:
requires:
- b_ubu_static

- requires_b_ubu_static_arm: &requires_b_ubu_static_arm
<<: *on_all_tags_and_branches
requires:
- b_ubu_static_arm

- requires_b_archlinux: &requires_b_archlinux
<<: *on_all_tags_and_branches
requires:
Expand Down Expand Up @@ -1113,7 +1118,7 @@ jobs:
- solc/solc-static-linux
- matrix_notify_failure_unless_pr

b_ubu_static_arm:
b_ubu_static_arm: &b_ubu_static_arm
<<: *base_ubuntu2404_arm_large
environment:
<<: *base_ubuntu2404_arm_large_env
Expand Down Expand Up @@ -1302,6 +1307,28 @@ jobs:
steps:
- soltest_all

t_ubu_arm_soltest: &t_ubu_arm_soltest
<<: *base_ubuntu2404_arm_medium
parallelism: 20
environment:
<<: *base_ubuntu2404_arm_medium_env
EVM: << pipeline.parameters.evm-version >>
EOF_VERSION: 0
OPTIMIZE: 0
steps:
- checkout
- attach_workspace:
at: build
- run:
name: Create symbolic link with expected soltest binary name
command: |
ln --symbolic --relative build/test/soltest-linux-arm build/test/soltest
- run_soltest
- store_test_results:
path: test_results/
- store_artifacts_test_results
- matrix_notify_failure_unless_pr

t_ubu_soltest_deprecated_evm_versions: &t_ubu_soltest_deprecated_evm_versions
<<: *base_ubuntu2404_large
parallelism: 50
Expand All @@ -1310,7 +1337,7 @@ jobs:
- attach_workspace:
at: build
- run_soltest_all:
evm_versions: homestead byzantium
evm_versions: homestead byzantium constantinople petersburg
- store_test_results:
path: test_results/
- store_artifacts_test_results
Expand Down Expand Up @@ -1364,6 +1391,24 @@ jobs:
steps:
- cmdline_tests

t_ubu_arm_cli: &t_ubu_arm_cli
<<: *base_ubuntu2404_arm_medium
parallelism: 8 # Should match number of tests in .circleci/parallel_cli_tests.py
steps:
- checkout
- attach_workspace:
at: build
- run:
name: Create symbolic link with expected solc and solfuzzer binaries name
command: |
ln --symbolic --relative build/solc/solc-static-linux-arm build/solc/solc
ln --symbolic --relative build/test/tools/solfuzzer-linux-arm build/test/tools/solfuzzer
- run_cmdline_tests
- store_test_results:
path: test_results/
- store_artifacts_test_results
- matrix_notify_failure_unless_pr

t_ubu_force_release_cli: &t_ubu_force_release_cli
<<: *t_ubu_cli

Expand Down Expand Up @@ -1940,6 +1985,12 @@ jobs:
# This job is only meant to run nightly so build time is not an issue.
docker_layer_caching: false
- checkout
- run:
name: Disable partial clone and fetch all objects
command: |
git config remote.origin.promisor false
git config --unset remote.origin.partialclonefilter
git fetch --refetch origin
- run:
name: Build and tag the container
command: scripts/docker_deploy_manual.sh develop "file://$PWD" --no-push
Expand Down Expand Up @@ -1994,8 +2045,10 @@ workflows:
# Ubuntu build and tests
- b_ubu: *requires_nothing
- t_ubu_cli: *requires_b_ubu
- t_ubu_arm_cli: *requires_b_ubu_static_arm
- t_ubu_locale: *requires_b_ubu
- t_ubu_soltest_all: *requires_b_ubu
- t_ubu_arm_soltest: *requires_b_ubu_static_arm
- b_ubu_clang: *requires_nothing
- t_ubu_clang_soltest: *requires_b_ubu_clang
- t_ubu_lsp: *requires_b_ubu
Expand Down
2 changes: 1 addition & 1 deletion .circleci/soltest_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ REPODIR="$(realpath "$(dirname "$0")"/..)"
# shellcheck source=scripts/common.sh
source "${REPODIR}/scripts/common.sh"

DEFAULT_EVM_VALUES=(constantinople petersburg istanbul berlin london paris shanghai cancun prague osaka)
DEFAULT_EVM_VALUES=(istanbul berlin london paris shanghai cancun prague osaka)
EVMS_WITH_EOF=(osaka)

# Deserialize the EVM_VALUES array if it was provided as argument or
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ include(EthPolicy)
eth_policy()

# project name and version should be set after cmake_policy CMP0048
set(PROJECT_VERSION "0.8.31")
set(PROJECT_VERSION "0.8.32")
# OSX target needed in order to support std::visit
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
project(solidity VERSION ${PROJECT_VERSION} LANGUAGES C CXX)
Expand Down
24 changes: 18 additions & 6 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,30 @@
### 0.8.31 (2025-12-03)
### 0.8.32 (2025-12-18)

Language Features:
* Yul: Introduce builtin `clz(x)` for counting the number of leading zero bits in a 256-bit word.
Important Bugfixes:
* Code Generator: Fix a bug in clearing/copying of arrays that straddle the end of storage, potentially resulting in assignment/initialization/`delete`/`push()`/`pop()` skipping some or all of the intended storage writes.


Compiler Features:
Bugfixes:
* Codegen: Fix internal compiler error when emitting events via module member access.
* TypeChecker: Fix error and event selectors not being considered compile-time constant.
* TypeChecker: Fix `string.concat` and `bytes.concat` with constant arguments not being considered compile-time constant.


### 0.8.31 (2025-12-03)

Language Features:
* Custom Storage Layout: Allow using `constant` state variables in the base slot expression.
* DocString Parser: Warn about deprecation of inline assembly special comment `memory-safe-assembly`.
* ethdebug: Experimental support for instructions and source locations under EOF.
* EVM: Set default EVM Version to `osaka`.
* Syntax Checker: Warn about deprecation of ABI coder v1.
* Syntax Checker: Warn about deprecation of virtual modifiers.
* Type Checker: Warn about deprecation of `send` and `transfer` functions on instances of `address`.
* Type Checker: Warn about deprecation of comparisons between variables of contract types.
* Yul: Introduce builtin `clz(x)` for counting the number of leading zero bits in a 256-bit word.


Compiler Features:
* ethdebug: Experimental support for instructions and source locations under EOF.
* EVM: Set default EVM Version to `osaka`.


Bugfixes:
Expand Down
2 changes: 2 additions & 0 deletions ReleaseChecklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ At least a day before the release:
- [ ] Get the posts reviewed and approved **before the release starts**.

### Changelog
- [ ] Ensure that all changelog entries are correctly classified as language or compiler features.
- [ ] Sort the changelog entries alphabetically and correct any errors you notice. Commit it.
- [ ] Update the changelog to include a release date.
- [ ] Run `scripts/update_bugs_by_version.py` to regenerate `bugs_by_version.json` from the changelog and `bugs.json`.
Expand Down Expand Up @@ -76,6 +77,7 @@ At least a day before the release:

### Docker
- [ ] Make sure `docker-buildx` is installed.
- [ ] Run `echo $GHCR_TOKEN | docker login ghcr.io --username $GH_USERNAME --password-stdin` where `$GH_USERNAME` is your GitHub username and `$GHCR_TOKEN` is a PAT with `write:packages` scope.
- [ ] Run `./scripts/docker_deploy_manual.sh v$VERSION`.

### Release solc-js
Expand Down
2 changes: 1 addition & 1 deletion deps/fmtlib
Submodule fmtlib updated 53 files
+4 −0 .clang-tidy
+1 −1 .github/workflows/doc.yml
+1 −1 .github/workflows/lint.yml
+1 −1 .github/workflows/linux.yml
+1 −1 .github/workflows/macos.yml
+3 −3 .github/workflows/scorecard.yml
+6 −10 .github/workflows/windows.yml
+2 −0 .gitignore
+16 −17 CMakeLists.txt
+255 −6 ChangeLog.md
+2 −1 README.md
+1 −1 doc/ChangeLog-old.md
+94 −13 doc/api.md
+11 −0 doc/get-started.md
+6 −4 doc/syntax.md
+2 −2 include/fmt/args.h
+115 −94 include/fmt/base.h
+19 −103 include/fmt/chrono.h
+18 −18 include/fmt/color.h
+126 −77 include/fmt/compile.h
+61 −61 include/fmt/format-inl.h
+483 −332 include/fmt/format.h
+10 −10 include/fmt/os.h
+2 −2 include/fmt/ostream.h
+25 −34 include/fmt/printf.h
+34 −33 include/fmt/ranges.h
+220 −221 include/fmt/std.h
+30 −43 include/fmt/xchar.h
+2 −0 src/fmt.cc
+7 −10 src/format.cc
+10 −10 src/os.cc
+0 −1 support/bazel/.bazelversion
+0 −22 support/bazel/BUILD.bazel
+0 −7 support/bazel/MODULE.bazel
+0 −28 support/bazel/README.md
+0 −2 support/bazel/WORKSPACE.bazel
+18 −8 support/mkdocs
+1 −1 test/args-test.cc
+178 −169 test/base-test.cc
+6 −6 test/chrono-test.cc
+9 −0 test/color-test.cc
+2 −1 test/compile-fp-test.cc
+21 −0 test/compile-test.cc
+3 −3 test/format-impl-test.cc
+145 −33 test/format-test.cc
+4 −0 test/gtest-extra.h
+14 −3 test/mock-allocator.h
+17 −10 test/os-test.cc
+6 −45 test/printf-test.cc
+53 −0 test/scan.h
+79 −1 test/std-test.cc
+0 −11 test/util.h
+9 −1 test/xchar-test.cc
2 changes: 1 addition & 1 deletion deps/nlohmann-json
Submodule nlohmann-json updated 837 files
4 changes: 4 additions & 0 deletions docs/bugs_by_version.json
Original file line number Diff line number Diff line change
Expand Up @@ -2077,6 +2077,10 @@
"bugs": [],
"released": "2025-12-03"
},
"0.8.32": {
"bugs": [],
"released": "2025-12-18"
},
"0.8.4": {
"bugs": [
"UnsoundSpillInMutualRecursion",
Expand Down
3 changes: 3 additions & 0 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ the team and contributors are working on, you can join our public team call:

The call takes place on `Jitsi <https://meet.solidity.org>`_.

New topics can be freely added to the `agenda <https://notes.argot.org/@solidity-design-call-agenda>`_
and will be scheduled for discussion on the nearest call.

How to Report Issues
====================

Expand Down
9 changes: 5 additions & 4 deletions docs/installing-solidity.rst
Original file line number Diff line number Diff line change
Expand Up @@ -270,10 +270,11 @@ This means that:
if you want to be sure whether you are downloading a wasm or an asm.js binary.
- Use ``list.json`` instead of ``list.js`` and ``list.txt``. The JSON list format contains all
the information from the old ones and more.
- Use https://binaries.soliditylang.org instead of https://solc-bin.ethereum.org. To keep things
simple we moved almost everything related to the compiler under the new ``soliditylang.org``
domain and this applies to ``solc-bin`` too. While the new domain is recommended, the old one
is still fully supported and guaranteed to point at the same location.

.. warning::
- The solc-bin.ethereum.org domain is no longer supported. Going forward,
we recommend any tools which are still using it as the source of Solidity binaries
to switch to binaries.soliditylang.org.

.. warning::

Expand Down
54 changes: 47 additions & 7 deletions libsolidity/analysis/TypeChecker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3312,27 +3312,57 @@ bool TypeChecker::visit(MemberAccess const& _memberAccess)
// TODO some members might be pure, but for example `address(0x123).balance` is not pure
// although every subexpression is, so leaving this limited for now.
if (auto tt = dynamic_cast<TypeType const*>(exprType))
{
if (
tt->actualType()->category() == Type::Category::Enum ||
tt->actualType()->category() == Type::Category::UserDefinedValueType
)
annotation.isPure = true;

// `concat` purity depends also on its arguments, but this is checked later, in visit(FunctionCall...)
// This covers `bytes.concat` and `string.concat`.
if (tt->actualType()->category() == Type::Category::Array)
{
if (
auto const* funcType = dynamic_cast<FunctionType const*>(annotation.type);
funcType &&
(
funcType->kind() == FunctionType::Kind::StringConcat ||
funcType->kind() == FunctionType::Kind::BytesConcat
)
)
annotation.isPure = true;
}
}
if (
auto const* functionType = dynamic_cast<FunctionType const*>(exprType);
functionType &&
functionType->hasDeclaration() &&
dynamic_cast<FunctionDefinition const*>(&functionType->declaration()) &&
memberName == "selector"
)
if (auto const* parentAccess = dynamic_cast<MemberAccess const*>(&_memberAccess.expression()))
{
if (dynamic_cast<FunctionDefinition const*>(&functionType->declaration()))
{
bool isPure = *parentAccess->expression().annotation().isPure;
if (auto const* exprInt = dynamic_cast<Identifier const*>(&parentAccess->expression()))
if (exprInt->name() == "this" || exprInt->name() == "super")
isPure = true;
if (auto const* parentAccess = dynamic_cast<MemberAccess const*>(&_memberAccess.expression()))
{
bool isPure = *parentAccess->expression().annotation().isPure;
// Accessing a function selector using `super|this.f.selector`.
if (auto const* exprInt = dynamic_cast<Identifier const*>(&parentAccess->expression()))
if (exprInt->name() == "this" || exprInt->name() == "super")
isPure = true;

annotation.isPure = isPure;
annotation.isPure = isPure;
}
}
// In case of event or error definition the selector is always compile-time constant, as it can be
// a keccak256 hash of the event signature or a function selector in case of an error.
else if (
dynamic_cast<EventDefinition const*>(&functionType->declaration()) ||
dynamic_cast<ErrorDefinition const*>(&functionType->declaration())
)
annotation.isPure = true;
}

if (
auto const* varDecl = dynamic_cast<VariableDeclaration const*>(annotation.referencedDeclaration);
!annotation.isPure.set() &&
Expand Down Expand Up @@ -3426,6 +3456,16 @@ bool TypeChecker::visit(MemberAccess const& _memberAccess)
if (!annotation.isPure.set())
annotation.isPure = false;

if (
auto const* funcType = dynamic_cast<FunctionType const*>(annotation.type);
funcType &&
funcType->kind() != FunctionType::Kind::Declaration &&
funcType->kind() != FunctionType::Kind::Internal &&
funcType->kind() != FunctionType::Kind::Error &&
funcType->kind() != FunctionType::Kind::Event
)
solAssert(funcType->isPure() == *annotation.isPure);

return false;
}

Expand Down
4 changes: 3 additions & 1 deletion libsolidity/ast/Types.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3892,7 +3892,9 @@ bool FunctionType::isPure() const
m_kind == Kind::ABIDecode ||
m_kind == Kind::MetaType ||
m_kind == Kind::Wrap ||
m_kind == Kind::Unwrap;
m_kind == Kind::Unwrap ||
m_kind == Kind::BytesConcat ||
m_kind == Kind::StringConcat;
}

TypePointers FunctionType::parseElementaryTypeVector(strings const& _types)
Expand Down
1 change: 1 addition & 0 deletions libsolidity/codegen/ExpressionCompiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2493,6 +2493,7 @@ bool ExpressionCompiler::visit(MemberAccess const& _memberAccess)
dynamic_cast<VariableDeclaration const*>(_memberAccess.annotation().referencedDeclaration) ||
dynamic_cast<FunctionDefinition const*>(_memberAccess.annotation().referencedDeclaration) ||
dynamic_cast<ErrorDefinition const*>(_memberAccess.annotation().referencedDeclaration) ||
dynamic_cast<EventDefinition const*>(_memberAccess.annotation().referencedDeclaration) ||
category == Type::Category::TypeType ||
category == Type::Category::Module,
""
Expand Down
1 change: 1 addition & 0 deletions libsolidity/codegen/ir/IRGeneratorForStatements.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2678,6 +2678,7 @@ void IRGeneratorForStatements::endVisit(MemberAccess const& _memberAccess)
dynamic_cast<VariableDeclaration const*>(_memberAccess.annotation().referencedDeclaration) ||
dynamic_cast<FunctionDefinition const*>(_memberAccess.annotation().referencedDeclaration) ||
dynamic_cast<ErrorDefinition const*>(_memberAccess.annotation().referencedDeclaration) ||
dynamic_cast<EventDefinition const*>(_memberAccess.annotation().referencedDeclaration) ||
category == Type::Category::TypeType ||
category == Type::Category::Module,
""
Expand Down
2 changes: 1 addition & 1 deletion libsolidity/parsing/Parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ ASTPointer<SourceUnit> Parser::parse(CharStream& _charStream)
expectToken(Token::Semicolon);
}
else
fatalParserError(7858_error, "Expected pragma, import directive or contract/interface/library/struct/enum/constant/function/error definition.");
fatalParserError(7858_error, "Expected pragma, import directive or contract/interface/library/user-defined type/constant/function/error/event definition.");
}
}
solAssert(m_recursionDepth == 0, "");
Expand Down
3 changes: 2 additions & 1 deletion scripts/docker/buildpack-deps/Dockerfile.ubuntu2404.arm
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
# (c) 2016-2025 solidity contributors.
#------------------------------------------------------------------------------
FROM --platform=linux/arm64 buildpack-deps:noble AS base
LABEL version="1"
LABEL version="2"

ARG DEBIAN_FRONTEND=noninteractive

Expand Down Expand Up @@ -104,6 +104,7 @@ RUN <<-EOF
EOF

FROM base
COPY --from=libraries /usr/local/lib/libevmone* /usr/lib
COPY --from=libraries /usr/lib /usr/lib
COPY --from=libraries /usr/bin /usr/bin
COPY --from=libraries /usr/include /usr/include
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
{
"component": "general",
"errorCode": "7858",
"formattedMessage": "ParserError: Expected pragma, import directive or contract/interface/library/struct/enum/constant/function/error definition.
"formattedMessage": "ParserError: Expected pragma, import directive or contract/interface/library/user-defined type/constant/function/error/event definition.
--> C:5:14:
|
5 | contract C {}}
| ^

",
"message": "Expected pragma, import directive or contract/interface/library/struct/enum/constant/function/error definition.",
"message": "Expected pragma, import directive or contract/interface/library/user-defined type/constant/function/error/event definition.",
"severity": "error",
"sourceLocation": {
"end": 121,
Expand Down
Loading
Loading