@@ -486,12 +486,15 @@ contract TestManager is Test, IManagerEvents, IRateLimiterEvents {
486
486
assertEq (token.balanceOf (address (user_B)), 50 * 10 ** (decimals - 8 ));
487
487
488
488
// replay protection
489
- vm.expectRevert (
490
- abi.encodeWithSignature (
491
- "MessageAlreadyExecuted(bytes32) " , EndpointStructs.managerMessageDigest (m)
492
- )
493
- );
489
+ vm.recordLogs ();
494
490
e2.receiveMessage (message);
491
+ Vm.Log[] memory entries = vm.getRecordedLogs ();
492
+
493
+ assertEq (entries.length , 2 );
494
+ assertEq (entries[1 ].topics.length , 3 );
495
+ assertEq (entries[1 ].topics[0 ], keccak256 ("MessageAlreadyExecuted(bytes32,bytes32) " ));
496
+ assertEq (entries[1 ].topics[1 ], toWormholeFormat (address (manager)));
497
+ assertEq (entries[1 ].topics[2 ], bytes32 (keccak256 (message)));
495
498
}
496
499
497
500
// TODO:
@@ -1004,9 +1007,15 @@ contract TestManager is Test, IManagerEvents, IRateLimiterEvents {
1004
1007
assertEq (token.balanceOf (address (user_B)), 50 * 10 ** (decimals - 8 ));
1005
1008
1006
1009
// replay protection
1007
- bytes4 selector = bytes4 (keccak256 ("MessageAlreadyExecuted(bytes32) " ));
1008
- vm.expectRevert (abi.encodeWithSelector (selector, EndpointStructs.managerMessageDigest (m)));
1010
+ vm.recordLogs ();
1009
1011
e2.receiveMessage (message);
1012
+ Vm.Log[] memory entries = vm.getRecordedLogs ();
1013
+
1014
+ assertEq (entries.length , 2 );
1015
+ assertEq (entries[1 ].topics.length , 3 );
1016
+ assertEq (entries[1 ].topics[0 ], keccak256 ("MessageAlreadyExecuted(bytes32,bytes32) " ));
1017
+ assertEq (entries[1 ].topics[1 ], toWormholeFormat (address (manager)));
1018
+ assertEq (entries[1 ].topics[2 ], bytes32 (keccak256 (message)));
1010
1019
}
1011
1020
1012
1021
// === upgradeability
@@ -1053,13 +1062,16 @@ contract TestManager is Test, IManagerEvents, IRateLimiterEvents {
1053
1062
endpoints = new IEndpointReceiver [](1 );
1054
1063
endpoints[0 ] = IEndpointReceiver (address (manager));
1055
1064
1056
- // replay protection
1057
- vm.expectRevert (
1058
- abi.encodeWithSignature (
1059
- "MessageAlreadyExecuted(bytes32) " , EndpointStructs.managerMessageDigest (m)
1060
- )
1061
- );
1065
+ vm.recordLogs ();
1066
+
1062
1067
IEndpointReceiver (address (manager)).receiveMessage (message);
1068
+ Vm.Log[] memory entries = vm.getRecordedLogs ();
1069
+
1070
+ assertEq (entries.length , 1 );
1071
+ assertEq (entries[0 ].topics.length , 3 );
1072
+ assertEq (entries[0 ].topics[0 ], keccak256 ("MessageAlreadyExecuted(bytes32,bytes32) " ));
1073
+ assertEq (entries[0 ].topics[1 ], toWormholeFormat (address (manager)));
1074
+ assertEq (entries[0 ].topics[2 ], bytes32 (keccak256 (message)));
1063
1075
1064
1076
_attestEndpointsHelper (
1065
1077
user_A, user_B, 1 , NormalizedAmount.wrap (type (uint64 ).max), endpoints
0 commit comments