From d9f6033fbae4b19ec82c771663b3cc58cb906d77 Mon Sep 17 00:00:00 2001 From: Mikhail Melnik Date: Tue, 19 Mar 2024 21:57:43 +0400 Subject: [PATCH] optimize isRelayerAllowed --- contracts/libraries/BySigTraits.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/libraries/BySigTraits.sol b/contracts/libraries/BySigTraits.sol index 10d8d440..2c10c9e9 100644 --- a/contracts/libraries/BySigTraits.sol +++ b/contracts/libraries/BySigTraits.sol @@ -34,8 +34,8 @@ library BySigTraits { } function isRelayerAllowed(Value traits, address relayer) internal pure returns(bool) { - uint256 lowerBits = (Value.unwrap(traits) >> RELAYER_BIT_SHIFT) & RELAYER_BIT_MASK; - return lowerBits == 0 || (uint160(relayer) & RELAYER_BIT_MASK) == lowerBits; + uint256 relayerBits = (Value.unwrap(traits) >> RELAYER_BIT_SHIFT) & RELAYER_BIT_MASK; + return uint160(relayer) & relayerBits == relayerBits; } function nonce(Value traits) internal pure returns(uint256) {