mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-10-20 18:56:17 +00:00
resolc v1.4.0 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) - ICE triggered by `--disable-solc-optimizer --newyork` where inlined loops could emit an unterminated basic block in the inlined entrypoint. [#561](https://github.com/paritytech/revive/pull/561) - `--newyork`: dead-store elimination could drop a store whose memory expansion an intervening `msize()` observes, so `msize()` read a stale (unexpanded) value. [#565](https://github.com/paritytech/revive/pull/565) - `--newyork`: dead-store elimination could drop a store that a later overlapping unaligned `mload` reads, returning zeroed memory instead of the stored bytes. [#563](https://github.com/paritytech/revive/pull/563) - `--newyork`: an unaligned full-word `mload`/`mstore` overlapping a word kept native (little-endian) by the heap optimization returned byte-swapped bytes. [#562](https://github.com/paritytech/revive/pull/562) - `--newyork`: a `calldatacopy`/`codecopy`/`returndatacopy` to a dynamic destination that could overwrite the free-memory-pointer word truncated a subsequent `mload(0x40)` to `0`. [#564](https://github.com/paritytech/revive/pull/564) - `--newyork`: a full-width value stored to the free-memory-pointer slot (e.g. a function parameter `>= 2^64`) was narrowed to 64 bits, inserting a checked truncation that consumed all gas. [#567](https://github.com/paritytech/revive/pull/567) - `--newyork`: an unaligned `mstore` corrupting the free-memory-pointer word let a later store through the corrupted pointer silently succeed where EVM runs out of gas. [#566](https://github.com/paritytech/revive/pull/566) - Fixed a bytecode divergence (yet functionally equivalent) between the resolc Linux/macOS builds and the Windows build for contracts with loops indexing array elements at constant offsets from a `uint8` loop variable (e.g. `array[i]`/`array[i + 1]`), compiled with `--newyork` at `-Oz` with the solc optimizer disabled. [#570](https://github.com/paritytech/revive/pull/570) Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
90 lines
2.9 KiB
TOML
90 lines
2.9 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["crates/*"]
|
|
|
|
[workspace.package]
|
|
version = "1.0.0"
|
|
authors = [
|
|
"Cyrill Leutwiler <cyrill@parity.io>",
|
|
"Parity Technologies <admin@parity.io>",
|
|
]
|
|
license = "MIT/Apache-2.0"
|
|
edition = "2021"
|
|
repository = "https://github.com/paritytech/revive"
|
|
rust-version = "1.91.0"
|
|
|
|
[workspace.dependencies]
|
|
lld-sys = { version = "1.2.0", path = "crates/lld-sys" }
|
|
resolc = { version = "1.4.0", path = "crates/resolc", default-features = false }
|
|
revive-benchmarks = { version = "1.1.0", path = "crates/benchmarks" }
|
|
revive-build-utils = { version = "1.2.0", path = "crates/build-utils" }
|
|
revive-builtins = { version = "1.1.0", path = "crates/builtins" }
|
|
revive-common = { version = "1.2.0", path = "crates/common" }
|
|
revive-differential = { version = "1.0.0", path = "crates/differential" }
|
|
revive-integration = { version = "1.4.0", path = "crates/integration" }
|
|
revive-linker = { version = "1.0.0", path = "crates/linker" }
|
|
revive-llvm-context = { version = "1.3.0", path = "crates/llvm-context" }
|
|
revive-newyork = { version = "1.1.0", path = "crates/newyork" }
|
|
revive-runner = { version = "1.3.0", path = "crates/runner" }
|
|
revive-runtime-api = { version = "1.3.0", path = "crates/runtime-api" }
|
|
revive-solc-json-interface = { version = "1.1.0", path = "crates/solc-json-interface", default-features = false }
|
|
revive-stdlib = { version = "1.2.0", path = "crates/stdlib" }
|
|
revive-yul = { version = "1.4.0", path = "crates/yul" }
|
|
|
|
hex = "0.4.3"
|
|
cc = "1.2"
|
|
libc = "0.2.172"
|
|
tempfile = "3.27"
|
|
anyhow = "1.0"
|
|
semver = { version = "1.0", features = ["serde"] }
|
|
itertools = "0.14"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = { version = "1.0", features = ["arbitrary_precision"] }
|
|
regex = "1.12"
|
|
num = "0.4.3"
|
|
sha1 = "0.11"
|
|
sha3 = "0.11"
|
|
thiserror = "2.0"
|
|
which = "8.0"
|
|
path-slash = "0.2"
|
|
rayon = "1.11"
|
|
clap = { version = "4", default-features = false, features = ["derive"] }
|
|
polkavm-common = "0.35.0"
|
|
polkavm-linker = "0.35.0"
|
|
polkavm-disassembler = "0.35.0"
|
|
polkavm = "0.35.0"
|
|
alloy-primitives = { version = "1.4", features = ["serde"] }
|
|
alloy-sol-types = "1.4"
|
|
alloy-genesis = "1.1.2"
|
|
alloy-serde = "1.1"
|
|
env_logger = { version = "0.11.8", default-features = false }
|
|
serde_stacker = "0.1.14"
|
|
criterion = { version = "0.8", features = ["html_reports"] }
|
|
log = { version = "0.4.28" }
|
|
git2 = { version = "0.21.0", default-features = false }
|
|
downloader = "0.2.8"
|
|
flate2 = "1.1"
|
|
fs_extra = "1.3"
|
|
num_cpus = "1"
|
|
tar = "0.4"
|
|
toml = "1"
|
|
assert_cmd = "2"
|
|
assert_fs = "1.1"
|
|
normpath = "1.5"
|
|
|
|
# polkadot-sdk and friends
|
|
codec = { version = "3.7.5", default-features = false, package = "parity-scale-codec" }
|
|
scale-info = { version = "2.11.6", default-features = false }
|
|
polkadot-sdk = { version = "=2604.2.0" }
|
|
|
|
# llvm
|
|
[workspace.dependencies.inkwell]
|
|
version = "0.9.0"
|
|
default-features = false
|
|
features = ["serde", "llvm22-1", "no-libffi-linking", "target-riscv"]
|
|
|
|
[profile.bench]
|
|
inherits = "release"
|
|
lto = true
|
|
codegen-units = 1
|