From cfcd2ff77cedf50d4456b4437b3ddedeffd16c2c Mon Sep 17 00:00:00 2001 From: xermicus Date: Mon, 5 Jan 2026 10:59:45 +0100 Subject: [PATCH] Support solc `v0.8.33` (#439) Signed-off-by: Cyrill Leutwiler --- .github/actions/get-solc/action.yml | 2 +- .github/workflows/reusable-build.yml | 2 +- CHANGELOG.md | 2 +- crates/resolc/src/solc/mod.rs | 2 +- js/emscripten/build.js | 2 +- js/emscripten/package.json | 2 +- js/resolc/package.json | 2 +- package-lock.json | 9 ++------- 8 files changed, 9 insertions(+), 14 deletions(-) diff --git a/.github/actions/get-solc/action.yml b/.github/actions/get-solc/action.yml index 5d9ffe4..a907cbf 100644 --- a/.github/actions/get-solc/action.yml +++ b/.github/actions/get-solc/action.yml @@ -19,7 +19,7 @@ runs: shell: bash run: | mkdir -p solc - curl -sSL --output solc/solc https://github.com/ethereum/solidity/releases/download/v0.8.31/${SOLC_NAME} + curl -sSL --output solc/solc https://github.com/ethereum/solidity/releases/download/v0.8.33/${SOLC_NAME} - name: Make Solc Executable if: ${{ runner.os == 'Windows' }} diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index ec3354f..172a86c 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -177,7 +177,7 @@ jobs: - name: Basic Sanity Check run: | mkdir -p solc - curl -sSLo solc/soljson.js https://github.com/ethereum/solidity/releases/download/v0.8.31/soljson.js + curl -sSLo solc/soljson.js https://github.com/ethereum/solidity/releases/download/v0.8.33/soljson.js node -e " const soljson = require('solc/soljson'); const createRevive = require('./target/wasm32-unknown-emscripten/release/resolc.js'); diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f96e28..d349e04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ Supported `polkadot-sdk` rev: `unstable2507` ### Added - The comprehensive revive compiler book documentation page: https://paritytech.github.io/revive/ -- Support for solc v0.8.31. +- Support for solc v0.8.33. - Support for the `clz` Yul builtin. ### Changed diff --git a/crates/resolc/src/solc/mod.rs b/crates/resolc/src/solc/mod.rs index ef129ac..d5e93c7 100644 --- a/crates/resolc/src/solc/mod.rs +++ b/crates/resolc/src/solc/mod.rs @@ -23,7 +23,7 @@ pub mod version; pub const FIRST_SUPPORTED_VERSION: semver::Version = semver::Version::new(0, 8, 0); /// The last supported version of `solc`. -pub const LAST_SUPPORTED_VERSION: semver::Version = semver::Version::new(0, 8, 31); +pub const LAST_SUPPORTED_VERSION: semver::Version = semver::Version::new(0, 8, 33); /// The Solidity compiler. pub trait Compiler { diff --git a/js/emscripten/build.js b/js/emscripten/build.js index f26b5fd..00e10f3 100644 --- a/js/emscripten/build.js +++ b/js/emscripten/build.js @@ -3,7 +3,7 @@ const path = require("path"); const { minify } = require("terser"); const SOLJSON_URI = - "https://binaries.soliditylang.org/wasm/soljson-v0.8.31+commit.fd3a2265.js"; + "https://binaries.soliditylang.org/wasm/soljson-v0.8.33+commit.64118f21.js"; const RESOLC_WASM_URI = process.env.RELEASE_RESOLC_WASM_URI || "http://127.0.0.1:8080/resolc.wasm"; const RESOLC_WASM_TARGET_DIR = path.join( diff --git a/js/emscripten/package.json b/js/emscripten/package.json index 6ba9840..fc9c76c 100644 --- a/js/emscripten/package.json +++ b/js/emscripten/package.json @@ -2,7 +2,7 @@ "name": "revive", "private": true, "dependencies": { - "solc": ">=0.8.0 <=0.8.31" + "solc": ">=0.8.0 <=0.8.33" }, "scripts": { "example:web": "http-server ./examples/web/", diff --git a/js/resolc/package.json b/js/resolc/package.json index 2d7513b..8c12c33 100644 --- a/js/resolc/package.json +++ b/js/resolc/package.json @@ -34,6 +34,6 @@ "commander": "^13.1.0", "package-json": "^10.0.1", "resolve-pkg": "^2.0.0", - "solc": ">=0.8.0 <=0.8.31" + "solc": ">=0.8.0 <=0.8.33" } } diff --git a/package-lock.json b/package-lock.json index 6657b20..52ab4b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "js/emscripten": { "name": "revive", "dependencies": { - "solc": ">=0.8.0 <=0.8.31" + "solc": ">=0.8.0 <=0.8.33" }, "devDependencies": { "@playwright/test": "^1.49.1", @@ -38,7 +38,7 @@ "commander": "^13.1.0", "package-json": "^10.0.1", "resolve-pkg": "^2.0.0", - "solc": ">=0.8.0 <=0.8.31" + "solc": ">=0.8.0 <=0.8.33" }, "bin": { "resolc": "dist/bin.js" @@ -1585,7 +1585,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.1.tgz", "integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==", "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.32.1", "@typescript-eslint/types": "8.32.1", @@ -1753,7 +1752,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2363,7 +2361,6 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz", "integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==", "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -2522,7 +2519,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@ethersproject/abi": "5.8.0", "@ethersproject/abstract-provider": "5.8.0", @@ -4397,7 +4393,6 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver"