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
run: |
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
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.
# 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"
SOLC_VERSION: "0.8.35"
SOLC_VERSION: "0.8.36"
jobs:
build-linux:
+1 -1
View File
@@ -101,7 +101,7 @@ jobs:
- name: Basic Sanity Check
run: |
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 "
// 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
+4
View File
@@ -4,6 +4,10 @@
Supported `polkadot-sdk` rev: `2604.2.0`
### Added
- Support for solc v0.8.36 and the "Amsterdam" EVM version.
### 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)
+5
View File
@@ -49,6 +49,9 @@ pub enum EVMVersion {
/// The corresponding EVM version.
#[serde(rename = "osaka")]
Osaka,
/// The corresponding EVM version.
#[serde(rename = "amsterdam")]
Amsterdam,
}
impl TryFrom<&str> for EVMVersion {
@@ -70,6 +73,7 @@ impl TryFrom<&str> for EVMVersion {
"cancun" => Self::Cancun,
"prague" => Self::Prague,
"osaka" => Self::Osaka,
"amsterdam" => Self::Amsterdam,
_ => anyhow::bail!("Invalid EVM version: {}", value),
})
}
@@ -92,6 +96,7 @@ impl std::fmt::Display for EVMVersion {
Self::Cancun => write!(f, "cancun"),
Self::Prague => write!(f, "prague"),
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);
/// 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.
pub trait Compiler {
+1 -1
View File
@@ -3,7 +3,7 @@ const path = require("path");
const { minify } = require("terser");
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 =
process.env.RELEASE_RESOLC_WASM_URI || "http://127.0.0.1:8080/resolc.wasm";
const RESOLC_WASM_TARGET_DIR = path.join(
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "revive",
"private": true,
"dependencies": {
"solc": ">=0.8.0 <=0.8.35"
"solc": ">=0.8.0 <=0.8.36"
},
"scripts": {
"example:web": "http-server ./examples/web/",
+1 -1
View File
@@ -34,6 +34,6 @@
"commander": "^13.1.0",
"package-json": "^10.0.1",
"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": {
"name": "revive",
"dependencies": {
"solc": ">=0.8.0 <=0.8.35"
"solc": ">=0.8.0 <=0.8.36"
},
"devDependencies": {
"@playwright/test": "^1.60.0",
@@ -55,7 +55,7 @@
"commander": "^13.1.0",
"package-json": "^10.0.1",
"resolve-pkg": "^2.0.0",
"solc": ">=0.8.0 <=0.8.35"
"solc": ">=0.8.0 <=0.8.36"
},
"bin": {
"resolc": "dist/bin.js"
+1 -1
View File
@@ -2,7 +2,7 @@
src = "src"
test = "test"
libs = ["lib"]
solc = "0.8.35"
solc = "0.8.36"
remappings = [
"forge-std/=lib/forge-std/src/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
@@ -14,7 +14,7 @@ function getEnv(name) {
/** @type {import('hardhat/config').HardhatUserConfig} */
module.exports = {
solidity: "0.8.35",
solidity: "0.8.36",
resolc: {
compilerSource: "binary",
settings: {