From fbaa45f2835f90eda66bcc19f2c3a9e929aa2d25 Mon Sep 17 00:00:00 2001 From: xermicus Date: Thu, 8 May 2025 13:29:13 +0200 Subject: [PATCH] support solc `v0.8.30` (#308) - Add support for solc `v0.8.30`. No changes in YUL or the binary interface. - Fix a semver bug in the NPM packages to correctly align their solc dependencies with our last supported version. --------- Signed-off-by: Cyrill Leutwiler --- .github/actions/get-solc/action.yml | 2 +- .github/workflows/release.yml | 2 +- CHANGELOG.md | 2 ++ crates/solidity/src/solc/mod.rs | 2 +- js/emscripten/build.js | 2 +- js/emscripten/package.json | 2 +- js/resolc/package.json | 2 +- package-lock.json | 6 +++--- 8 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/actions/get-solc/action.yml b/.github/actions/get-solc/action.yml index 8744a1b..256c13c 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.29/${SOLC_NAME} + curl -sSL --output solc/solc https://github.com/ethereum/solidity/releases/download/v0.8.30/${SOLC_NAME} - name: Make Solc Executable if: ${{ runner.os == 'Windows' }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 218a67a..3c7d619 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -181,7 +181,7 @@ jobs: - name: Basic Sanity Check run: | mkdir -p solc - curl -sSLo solc/soljson.js https://github.com/ethereum/solidity/releases/download/v0.8.29/soljson.js + curl -sSLo solc/soljson.js https://github.com/ethereum/solidity/releases/download/v0.8.30/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 18d17b1..935a739 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,11 +13,13 @@ This is a development pre-release. Supported `polkadot-sdk` rev:`c29e72a8628835e34deb6aa7db9a78a2e4eabcee` ### Added +- Support for solc v0.8.30 ### Changed - By default, heavy size optimizations are applied. ### Fixed +- @parity/resolc: The solc dependency package is constrained to the latest supported version, preventing breaking the package ever time a new solc package was released. ## v0.1.0-dev.14 diff --git a/crates/solidity/src/solc/mod.rs b/crates/solidity/src/solc/mod.rs index da4af93..f54d940 100644 --- a/crates/solidity/src/solc/mod.rs +++ b/crates/solidity/src/solc/mod.rs @@ -19,7 +19,7 @@ use self::version::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, 29); +pub const LAST_SUPPORTED_VERSION: semver::Version = semver::Version::new(0, 8, 30); /// `--include-path` was introduced in solc `0.8.8` pub const FIRST_INCLUDE_PATH_VERSION: semver::Version = semver::Version::new(0, 8, 8); diff --git a/js/emscripten/build.js b/js/emscripten/build.js index 7eebbc2..e04b9e6 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.29+commit.ab55807c.js"; + "https://binaries.soliditylang.org/wasm/soljson-v0.8.30+commit.73712a01.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 6024ba9..eef2517 100644 --- a/js/emscripten/package.json +++ b/js/emscripten/package.json @@ -2,7 +2,7 @@ "name": "revive", "private": true, "dependencies": { - "solc": "^0.8.29" + "solc": ">=0.8.0 <=0.8.30" }, "scripts": { "example:web": "http-server ./examples/web/", diff --git a/js/resolc/package.json b/js/resolc/package.json index d39fa65..49e3ce8 100644 --- a/js/resolc/package.json +++ b/js/resolc/package.json @@ -32,6 +32,6 @@ "@types/node": "^22.9.0", "commander": "^13.1.0", "package-json": "^10.0.1", - "solc": "^0.8.29" + "solc": ">=0.8.0 <=0.8.30" } } diff --git a/package-lock.json b/package-lock.json index 34d590a..7dec155 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "js/emscripten": { "name": "revive", "dependencies": { - "solc": "^0.8.29" + "solc": ">=0.8.0 <=0.8.30" }, "devDependencies": { "@playwright/test": "^1.49.1", @@ -44,13 +44,13 @@ }, "js/resolc": { "name": "@parity/resolc", - "version": "1.0.0", + "version": "0.0.0-updated-via-gh-releases", "license": "Apache-2.0", "dependencies": { "@types/node": "^22.9.0", "commander": "^13.1.0", "package-json": "^10.0.1", - "solc": "^0.8.29" + "solc": ">=0.8.0 <=0.8.30" }, "bin": { "resolc": "dist/bin.js"