Files
revive/crates/runner
xermicus 40e97d11eb Fix optimization specific SREM edge case (#527)
Existing test coverage didn't catch a signed remainder overflow
semantics edge case behavior where at least one the operators is being
constant folded by LLVM instead of solc. This PR fixes the SREM
translation bug and adds missing test coverage for division ops with
constants.

Closes #524

---------

Signed-off-by: xermicus <cyrill@parity.io>
2026-05-28 09:01:41 +02:00
..
2025-01-17 16:59:45 +01:00
2026-04-13 22:06:26 +02:00

revive-runner

The revive runner is a helper utility aiding in contract debugging.

Given a PVM contract blob, it will upload, deploy and call that contract using a local, stand-alone un-blockchained pallet revive (which is our execution layer).

This is somewhat similar to the geth evm utility binary.

Installation

The revive-runner does not depend on the compiler itself, hence installing this utility does not depend on LLVM, so no LLVM build is required.

Inside the root revive repository directory, execute:

make install-revive-runner

Which will install the revive-runner using cargo.

Usage

Set the RUST_LOG environment varibale to the trace level to see the full PolkaVM execution trace. For example:

RUST_LOG=trace revive-runner -f mycontract.pvm -c a9059cbb000000000000000000000000f24ff3a9cf04c71dbc94d0b566f7a27b94566cac0000000000000000000000000000000000000000000000000000000000000000