From d39df78f6cf00fee453830ce4500600eabfdbc60 Mon Sep 17 00:00:00 2001 From: Francisco Date: Wed, 2 Aug 2023 15:45:39 -0300 Subject: [PATCH] Use bytes.concat in MessageHashUtils (#4504) --- .changeset/flat-bottles-wonder.md | 4 +++- contracts/utils/cryptography/MessageHashUtils.sol | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.changeset/flat-bottles-wonder.md b/.changeset/flat-bottles-wonder.md index 099ea8339..f7ee7dd5d 100644 --- a/.changeset/flat-bottles-wonder.md +++ b/.changeset/flat-bottles-wonder.md @@ -2,4 +2,6 @@ 'openzeppelin-solidity': minor --- -Replace some uses of `abi.encodePacked` with clearer alternatives (e.g. `bytes.concat`, `string.concat`). +Replace some uses of `abi.encodePacked` with clearer alternatives (e.g. `bytes.concat`, `string.concat`). (#4504)[https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4504] + +pr: #4296 diff --git a/contracts/utils/cryptography/MessageHashUtils.sol b/contracts/utils/cryptography/MessageHashUtils.sol index 1a1bea731..3cf0ce9d9 100644 --- a/contracts/utils/cryptography/MessageHashUtils.sol +++ b/contracts/utils/cryptography/MessageHashUtils.sol @@ -46,7 +46,8 @@ library MessageHashUtils { * See {ECDSA-recover}. */ function toEthSignedMessageHash(bytes memory message) internal pure returns (bytes32 digest) { - return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n", Strings.toString(message.length), message)); + return + keccak256(bytes.concat("\x19Ethereum Signed Message:\n", bytes(Strings.toString(message.length)), message)); } /**