Files
revive/crates/runner/Cargo.toml
T
xermicus b2c025faad release resolc v1.2.0 (#534)
Supported `polkadot-sdk` rev: `2603`

### Changed

- Updated `LLVM` from `21.1.8` to LLVM `22.1.4`

### Added

- Support for solc v0.8.35.

### Fixed

- A constant folding bug causing incorrect translation of a signed
remainder edge case. The affected pattern (Solidity % or Yul smod):
  - SREM over the two constant operands `type(int256).min` and `-1`.
- At least one of the two constants needs folding (i.e. not just
`type(int256).min % -1`),
and is written specifically such that solc doesn't fold but LLVM does,
resulting in UB (signed-overflow).
- Fix `mulmod` returning out-of-range result for large moduli.

---------

Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2026-05-28 23:20:11 +02:00

46 lines
1.3 KiB
TOML

[package]
name = "revive-runner"
version = "1.2.0"
license.workspace = true
edition.workspace = true
repository.workspace = true
authors.workspace = true
description = "Execute revive contracts in a simulated blockchain runtime"
[package.metadata.cargo-machete]
ignored = ["codec", "scale-info"]
[[bin]]
name = "revive-runner"
path = "src/main.rs"
[features]
std = ["polkadot-sdk/std"]
default = ["solidity"]
solidity = ["resolc", "revive-differential", "revive-llvm-context", "revive-solc-json-interface"]
[dependencies]
env_logger = { workspace = true }
clap = { workspace = true, features = ["help", "std", "derive"] }
anyhow = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
hex = { workspace = true, features = ["serde"] }
codec = { workspace = true, default-features = false }
scale-info = { workspace = true, default-features = false }
alloy-primitives = { workspace = true }
polkadot-sdk.workspace = true
polkadot-sdk.features = [
"experimental",
"runtime",
"polkadot-runtime-common",
"pallet-revive",
"pallet-balances",
"pallet-timestamp"
]
resolc = { workspace = true, optional = true }
revive-differential = { workspace = true, optional = true }
revive-llvm-context = { workspace = true, optional = true }
revive-solc-json-interface = { workspace = true, optional = true }