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>
62 lines
1.5 KiB
TOML
62 lines
1.5 KiB
TOML
[package]
|
|
name = "resolc"
|
|
version = "1.4.0"
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
repository.workspace = true
|
|
authors = [
|
|
"Oleksandr Zarudnyi <a.zarudnyy@matterlabs.dev>",
|
|
"Cyrill Leutwiler <cyrill@parity.io>",
|
|
]
|
|
description = "Solidity frontend for the revive compiler"
|
|
|
|
[[bin]]
|
|
name = "resolc"
|
|
path = "src/resolc/main.rs"
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
clap = { workspace = true }
|
|
hex = { workspace = true }
|
|
inkwell = { workspace = true }
|
|
log = { workspace = true }
|
|
path-slash = { workspace = true }
|
|
rayon = { workspace = true, optional = true }
|
|
semver = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
which = { workspace = true }
|
|
normpath = { workspace = true }
|
|
|
|
revive-common = { workspace = true }
|
|
revive-llvm-context = { workspace = true }
|
|
revive-newyork = { workspace = true }
|
|
revive-solc-json-interface = { workspace = true, features = ["resolc"] }
|
|
revive-yul = { workspace = true }
|
|
|
|
[target.'cfg(target_env = "musl")'.dependencies]
|
|
mimalloc = { version = "0.1.46", default-features = false }
|
|
|
|
[target.'cfg(target_os = "emscripten")'.dependencies]
|
|
libc = { workspace = true }
|
|
inkwell = { workspace = true, features = ["target-riscv", "llvm22-1-no-llvm-linking"]}
|
|
|
|
[build-dependencies]
|
|
git2 = { workspace = true, default-features = false }
|
|
|
|
[dev-dependencies]
|
|
criterion = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
|
|
[features]
|
|
parallel = ["rayon", "revive-solc-json-interface/parallel"]
|
|
default = ["parallel"]
|
|
newyork = []
|
|
|
|
[[bench]]
|
|
name = "compile"
|
|
harness = false
|