Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions test/protocol/switchboard/EVMxSwitchboard.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -279,19 +279,22 @@ contract EVMxSwitchboardTestBase is Test, Utils {
* @dev Helper to create signature for assignTransmitter given digest params and new transmitter
* @param digestParams_ The digest parameters (will be modified to use new transmitter)
* @param newTransmitter_ The new transmitter address
* @return signature The signature for the new digest
* @return signature The signature for the old and new digest
*/
function _createAssignTransmitterSignature(
DigestParams memory digestParams_,
address newTransmitter_
) internal view returns (bytes memory signature) {
// Create old digest with current transmitter (before modification)
bytes32 oldDigest = createDigest(digestParams_);

// Create new digest with new transmitter
digestParams_.transmitter = toBytes32Format(newTransmitter_);
bytes32 newDigest = createDigest(digestParams_);

// Create signature for the new digest
// Create signature digest with both old and new digests
bytes32 signatureDigest = keccak256(
abi.encodePacked(toBytes32Format(address(evmxSwitchboard)), CHAIN_SLUG, newDigest)
abi.encodePacked(toBytes32Format(address(evmxSwitchboard)), CHAIN_SLUG, oldDigest, newDigest)
);
signature = createSignature(signatureDigest, watcherPrivateKey);
}
Expand Down Expand Up @@ -1253,13 +1256,16 @@ contract SocketPayloadIdVerificationTest is EVMxSwitchboardTestBase {
uint256 nonWatcherKey = 0x2222222222222222222222222222222222222222222222222222222222222222;
address nonWatcher = vm.addr(nonWatcherKey);

// Create old digest with old transmitter
bytes32 oldDigest = createDigest(digestParams);

// Create new digest with new transmitter
digestParams.transmitter = toBytes32Format(newTransmitter);
bytes32 newDigest = createDigest(digestParams);

// Create signature for the new digest with non-watcher key
// Create signature digest with both old and new digests with non-watcher key
bytes32 signatureDigest = keccak256(
abi.encodePacked(toBytes32Format(address(evmxSwitchboard)), CHAIN_SLUG, newDigest)
abi.encodePacked(toBytes32Format(address(evmxSwitchboard)), CHAIN_SLUG, oldDigest, newDigest)
);
bytes memory signature = createSignature(signatureDigest, nonWatcherKey);

Expand Down