diff --git a/src/Vm.sol b/src/Vm.sol index ce3f3564..cb3a9db5 100644 --- a/src/Vm.sol +++ b/src/Vm.sol @@ -2158,6 +2158,25 @@ interface Vm is VmSafe { /// Same as the previous method, but also checks supplied address against emitting contract. function expectEmit(address emitter) external; + /// Expect a given number of logs with the provided topics. + function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, uint64 count) external; + + /// Expect a given number of logs from a specific emitter with the provided topics. + function expectEmit( + bool checkTopic1, + bool checkTopic2, + bool checkTopic3, + bool checkData, + address emitter, + uint64 count + ) external; + + /// Expect a given number of logs with all topic and data checks enabled. + function expectEmit(uint64 count) external; + + /// Expect a given number of logs from a specific emitter with all topic and data checks enabled. + function expectEmit(address emitter, uint64 count) external; + /// Expects an error on next call that starts with the revert data. function expectPartialRevert(bytes4 revertData) external; diff --git a/test/Vm.t.sol b/test/Vm.t.sol index 7958a6d3..56d5fbed 100644 --- a/test/Vm.t.sol +++ b/test/Vm.t.sol @@ -9,7 +9,7 @@ import {Vm, VmSafe} from "../src/Vm.sol"; // added to or removed from Vm or VmSafe. contract VmTest is Test { function test_VmInterfaceId() public pure { - assertEq(type(Vm).interfaceId, bytes4(0xbe425eb2), "Vm"); + assertEq(type(Vm).interfaceId, bytes4(0xdb28dd7b), "Vm"); } function test_VmSafeInterfaceId() public pure {