diff --git a/evm/src/executor/abi.rs b/evm/src/executor/abi.rs index dc5c7d284b68e..4b8ea569816ea 100644 --- a/evm/src/executor/abi.rs +++ b/evm/src/executor/abi.rs @@ -28,6 +28,7 @@ ethers::contract::abigen!( stopPrank() deal(address,uint256) etch(address,bytes) + expectRevert() expectRevert(bytes) expectRevert(bytes4) record() diff --git a/evm/src/executor/inspector/cheatcodes/expect.rs b/evm/src/executor/inspector/cheatcodes/expect.rs index e5ab0f1898ce4..8264a40565ab1 100644 --- a/evm/src/executor/inspector/cheatcodes/expect.rs +++ b/evm/src/executor/inspector/cheatcodes/expect.rs @@ -155,10 +155,11 @@ pub fn apply( call: &HEVMCalls, ) -> Option> { Some(match call { - HEVMCalls::ExpectRevert0(inner) => { + HEVMCalls::ExpectRevert0(_) => expect_revert(state, Bytes::new(), data.subroutine.depth()), + HEVMCalls::ExpectRevert1(inner) => { expect_revert(state, inner.0.to_vec().into(), data.subroutine.depth()) } - HEVMCalls::ExpectRevert1(inner) => { + HEVMCalls::ExpectRevert2(inner) => { expect_revert(state, inner.0.to_vec().into(), data.subroutine.depth()) } HEVMCalls::ExpectEmit(inner) => { diff --git a/forge/README.md b/forge/README.md index 8bdc5d367e75c..1650b08248351 100644 --- a/forge/README.md +++ b/forge/README.md @@ -264,6 +264,7 @@ interface Hevm { // Sets an address' code, (who, newCode) function etch(address, bytes calldata) external; // Expects an error on next call + function expectRevert() external; function expectRevert(bytes calldata) external; function expectRevert(bytes4) external; // Record all storage reads and writes