support solc v0.8.36 (#572)

Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
This commit is contained in:
xermicus authored and GitHub committed 2026-07-10 12:06:11 +02:00
1 parent e7c761c068
commit d1c00c2147
12 files changed
+20 -11

No files matched your search

+1 -1
View File
@@ -19,7 +19,7 @@ runs:
shell: bash shell: bash
run: | run: |
mkdir -p solc mkdir -p solc
curl -sSL --output solc/solc https://github.com/argotorg/solidity/releases/download/v0.8.35/${SOLC_NAME} curl -sSL --output solc/solc https://github.com/argotorg/solidity/releases/download/v0.8.36/${SOLC_NAME}
- name: Make Solc Executable - name: Make Solc Executable
if: ${{ runner.os == 'Windows' }} if: ${{ runner.os == 'Windows' }}
+1 -1
View File
@@ -14,7 +14,7 @@ env:
# The compiler modes allowed to run during e2e test execution by retester. # The compiler modes allowed to run during e2e test execution by retester.
# E.g. this can be updated to allow only `"Y, NY Mz S+"` (all Yul modes + newyork with -Oz and solc optimizer enabled). # E.g. this can be updated to allow only `"Y, NY Mz S+"` (all Yul modes + newyork with -Oz and solc optimizer enabled).
E2E_ALLOWED_MODES: "Y, NY" E2E_ALLOWED_MODES: "Y, NY"
SOLC_VERSION: "0.8.35" SOLC_VERSION: "0.8.36"
jobs: jobs:
build-linux: build-linux:
+1 -1
View File
@@ -101,7 +101,7 @@ jobs:
- name: Basic Sanity Check - name: Basic Sanity Check
run: | run: |
mkdir -p solc mkdir -p solc
curl -sSLo solc/soljson.js https://github.com/argotorg/solidity/releases/download/v0.8.35/soljson.js curl -sSLo solc/soljson.js https://github.com/argotorg/solidity/releases/download/v0.8.36/soljson.js
node -e " node -e "
// Make sure to require './solc/soljson' and not 'solc/soljson' in order to use // Make sure to require './solc/soljson' and not 'solc/soljson' in order to use
// the explicitly downloaded solc, rather than resolving an npm package potentially // the explicitly downloaded solc, rather than resolving an npm package potentially
+4
View File
@@ -4,6 +4,10 @@
Supported `polkadot-sdk` rev: `2604.2.0` Supported `polkadot-sdk` rev: `2604.2.0`
### Added
- Support for solc v0.8.36 and the "Amsterdam" EVM version.
### Fixed ### Fixed
- Restored the top-level `revive_version` field in `--standard-json` output and the `resolc_version` field in `--combined-json` output, both of which stopped being populated in `v0.4.0`. [#557](https://github.com/paritytech/revive/pull/557) - Restored the top-level `revive_version` field in `--standard-json` output and the `resolc_version` field in `--combined-json` output, both of which stopped being populated in `v0.4.0`. [#557](https://github.com/paritytech/revive/pull/557)
+5
View File
@@ -49,6 +49,9 @@ pub enum EVMVersion {
/// The corresponding EVM version. /// The corresponding EVM version.
#[serde(rename = "osaka")] #[serde(rename = "osaka")]
Osaka, Osaka,
/// The corresponding EVM version.
#[serde(rename = "amsterdam")]
Amsterdam,
} }
impl TryFrom<&str> for EVMVersion { impl TryFrom<&str> for EVMVersion {
@@ -70,6 +73,7 @@ impl TryFrom<&str> for EVMVersion {
"cancun" => Self::Cancun, "cancun" => Self::Cancun,
"prague" => Self::Prague, "prague" => Self::Prague,
"osaka" => Self::Osaka, "osaka" => Self::Osaka,
"amsterdam" => Self::Amsterdam,
_ => anyhow::bail!("Invalid EVM version: {}", value), _ => anyhow::bail!("Invalid EVM version: {}", value),
}) })
} }
@@ -92,6 +96,7 @@ impl std::fmt::Display for EVMVersion {
Self::Cancun => write!(f, "cancun"), Self::Cancun => write!(f, "cancun"),
Self::Prague => write!(f, "prague"), Self::Prague => write!(f, "prague"),
Self::Osaka => write!(f, "osaka"), Self::Osaka => write!(f, "osaka"),
Self::Amsterdam => write!(f, "amsterdam"),
} }
} }
} }
+1 -1
View File
@@ -23,7 +23,7 @@ pub mod version;
pub const FIRST_SUPPORTED_VERSION: semver::Version = semver::Version::new(0, 8, 0); pub const FIRST_SUPPORTED_VERSION: semver::Version = semver::Version::new(0, 8, 0);
/// The last supported version of `solc`. /// The last supported version of `solc`.
pub const LAST_SUPPORTED_VERSION: semver::Version = semver::Version::new(0, 8, 35); pub const LAST_SUPPORTED_VERSION: semver::Version = semver::Version::new(0, 8, 36);
/// The Solidity compiler. /// The Solidity compiler.
pub trait Compiler { pub trait Compiler {
+1 -1
View File
@@ -3,7 +3,7 @@ const path = require("path");
const { minify } = require("terser"); const { minify } = require("terser");
const SOLJSON_URI = const SOLJSON_URI =
"https://binaries.soliditylang.org/wasm/soljson-v0.8.35+commit.47b9dedd.js"; "https://binaries.soliditylang.org/wasm/soljson-v0.8.36+commit.8a079791.js";
const RESOLC_WASM_URI = const RESOLC_WASM_URI =
process.env.RELEASE_RESOLC_WASM_URI || "http://127.0.0.1:8080/resolc.wasm"; process.env.RELEASE_RESOLC_WASM_URI || "http://127.0.0.1:8080/resolc.wasm";
const RESOLC_WASM_TARGET_DIR = path.join( const RESOLC_WASM_TARGET_DIR = path.join(
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "revive", "name": "revive",
"private": true, "private": true,
"dependencies": { "dependencies": {
"solc": ">=0.8.0 <=0.8.35" "solc": ">=0.8.0 <=0.8.36"
}, },
"scripts": { "scripts": {
"example:web": "http-server ./examples/web/", "example:web": "http-server ./examples/web/",
+1 -1
View File
@@ -34,6 +34,6 @@
"commander": "^13.1.0", "commander": "^13.1.0",
"package-json": "^10.0.1", "package-json": "^10.0.1",
"resolve-pkg": "^2.0.0", "resolve-pkg": "^2.0.0",
"solc": ">=0.8.0 <=0.8.35" "solc": ">=0.8.0 <=0.8.36"
} }
} }
+2 -2
View File
@@ -18,7 +18,7 @@
"js/emscripten": { "js/emscripten": {
"name": "revive", "name": "revive",
"dependencies": { "dependencies": {
"solc": ">=0.8.0 <=0.8.35" "solc": ">=0.8.0 <=0.8.36"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.60.0", "@playwright/test": "^1.60.0",
@@ -55,7 +55,7 @@
"commander": "^13.1.0", "commander": "^13.1.0",
"package-json": "^10.0.1", "package-json": "^10.0.1",
"resolve-pkg": "^2.0.0", "resolve-pkg": "^2.0.0",
"solc": ">=0.8.0 <=0.8.35" "solc": ">=0.8.0 <=0.8.36"
}, },
"bin": { "bin": {
"resolc": "dist/bin.js" "resolc": "dist/bin.js"
+1 -1
View File
@@ -2,7 +2,7 @@
src = "src" src = "src"
test = "test" test = "test"
libs = ["lib"] libs = ["lib"]
solc = "0.8.35" solc = "0.8.36"
remappings = [ remappings = [
"forge-std/=lib/forge-std/src/", "forge-std/=lib/forge-std/src/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
@@ -14,7 +14,7 @@ function getEnv(name) {
/** @type {import('hardhat/config').HardhatUserConfig} */ /** @type {import('hardhat/config').HardhatUserConfig} */
module.exports = { module.exports = {
solidity: "0.8.35", solidity: "0.8.36",
resolc: { resolc: {
compilerSource: "binary", compilerSource: "binary",
settings: { settings: {