From 253bfa68c27785536d58afcc95ebeb4af6f9aa7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=BBuk?= Date: Tue, 6 Jun 2023 02:37:12 +0200 Subject: [PATCH] Optimize Strings.equal (#4262) Co-authored-by: Hadrien Croubois --- .changeset/eighty-crabs-listen.md | 5 +++++ contracts/utils/Strings.sol | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/eighty-crabs-listen.md diff --git a/.changeset/eighty-crabs-listen.md b/.changeset/eighty-crabs-listen.md new file mode 100644 index 000000000..7de904db8 --- /dev/null +++ b/.changeset/eighty-crabs-listen.md @@ -0,0 +1,5 @@ +--- +'openzeppelin-solidity': patch +--- + +Optimize `Strings.equal` diff --git a/contracts/utils/Strings.sol b/contracts/utils/Strings.sol index 33d7bbf59..050f6f9ca 100644 --- a/contracts/utils/Strings.sol +++ b/contracts/utils/Strings.sol @@ -80,6 +80,6 @@ library Strings { * @dev Returns true if the two strings are equal. */ function equal(string memory a, string memory b) internal pure returns (bool) { - return keccak256(bytes(a)) == keccak256(bytes(b)); + return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b)); } }