diff --git a/.gas-snapshot b/.gas-snapshot index 22e25dc86..61f830ce8 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -176,7 +176,7 @@ ERC1155Test:testSafeTransferFromToZeroReverts(uint256) (runs: 278, μ: 71146, ~: ERC1155Test:test__codesize() (gas: 42341) ERC1271Test:testBasefeeBytecodeContract() (gas: 45430) ERC1271Test:testIsValidSignature() (gas: 2464705) -ERC1271Test:testIsValidSignature(uint256) (runs: 278, μ: 262163, ~: 214887) +ERC1271Test:testIsValidSignature(uint256) (runs: 278, μ: 250689, ~: 214549) ERC1271Test:test__codesize() (gas: 30392) ERC1967FactoryTest:testChangeAdmin() (gas: 266356) ERC1967FactoryTest:testChangeAdminUnauthorized() (gas: 257653) @@ -229,13 +229,13 @@ ERC2981Test:testRoyaltyOverflowCheckDifferential(uint256,uint256) (runs: 278, μ ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 278, μ: 109506, ~: 105295) ERC2981Test:test__codesize() (gas: 7113) ERC4337FactoryTest:testCreateAccountRepeatedDeployment() (gas: 149757) -ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 278, μ: 171720, ~: 171731) -ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 278, μ: 128750, ~: 139893) +ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 278, μ: 171725, ~: 171740) +ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 278, μ: 130905, ~: 139893) ERC4337FactoryTest:test__codesize() (gas: 12786) ERC4337Test:testCdFallback() (gas: 438129) ERC4337Test:testCdFallback2() (gas: 1135369) ERC4337Test:testDelegateExecute() (gas: 366495) -ERC4337Test:testDelegateExecute(uint256) (runs: 278, μ: 351586, ~: 345338) +ERC4337Test:testDelegateExecute(uint256) (runs: 278, μ: 351909, ~: 345338) ERC4337Test:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 320155) ERC4337Test:testDepositFunctions() (gas: 497250) ERC4337Test:testDirectStorage() (gas: 70435) @@ -243,7 +243,7 @@ ERC4337Test:testDisableInitializerForImplementation() (gas: 1320997) ERC4337Test:testETHReceived() (gas: 16584) ERC4337Test:testExecute() (gas: 383602) ERC4337Test:testExecuteBatch() (gas: 694209) -ERC4337Test:testExecuteBatch(uint256) (runs: 278, μ: 540163, ~: 670089) +ERC4337Test:testExecuteBatch(uint256) (runs: 278, μ: 529726, ~: 670089) ERC4337Test:testInitializer() (gas: 285472) ERC4337Test:testIsValidSignature() (gas: 120064) ERC4337Test:testIsValidSignaturePersonalSign() (gas: 103314) @@ -276,21 +276,21 @@ ERC4626Test:testWithdrawZero() (gas: 51874) ERC4626Test:test__codesize() (gas: 37175) ERC6551Test:testBaseFeeMini() (gas: 39514) ERC6551Test:testCdFallback() (gas: 895599) -ERC6551Test:testDeployERC6551(uint256) (runs: 278, μ: 170370, ~: 168894) +ERC6551Test:testDeployERC6551(uint256) (runs: 278, μ: 170352, ~: 168892) ERC6551Test:testDeployERC6551Proxy() (gas: 80395) ERC6551Test:testExecute() (gas: 507518) ERC6551Test:testExecuteBatch() (gas: 817605) -ERC6551Test:testExecuteBatch(uint256) (runs: 278, μ: 639867, ~: 762990) +ERC6551Test:testExecuteBatch(uint256) (runs: 278, μ: 645668, ~: 765904) ERC6551Test:testInitializeERC6551ProxyImplementation() (gas: 189914) -ERC6551Test:testIsValidSigner(address) (runs: 278, μ: 167470, ~: 167467) +ERC6551Test:testIsValidSigner(address) (runs: 278, μ: 167471, ~: 167467) ERC6551Test:testOnERC1155BatchReceived() (gas: 1702522) ERC6551Test:testOnERC1155Received() (gas: 1699885) ERC6551Test:testOnERC721Received() (gas: 1738813) ERC6551Test:testOnERC721ReceivedCycles() (gas: 1728089) -ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 278, μ: 450685, ~: 455461) -ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 278, μ: 1364046, ~: 1364062) +ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 278, μ: 450787, ~: 455435) +ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 278, μ: 1364055, ~: 1364066) ERC6551Test:testSupportsInterface() (gas: 169450) -ERC6551Test:testUpdateState(uint256) (runs: 278, μ: 235203, ~: 235129) +ERC6551Test:testUpdateState(uint256) (runs: 278, μ: 235194, ~: 235130) ERC6551Test:testUpgrade() (gas: 248450) ERC6551Test:test__codesize() (gas: 51546) ERC6909Test:testApprove() (gas: 36872) @@ -1158,7 +1158,7 @@ SignatureCheckerLibTest:testERC6492AllowSideEffectsPreDeploy() (gas: 450733) SignatureCheckerLibTest:testERC6492PostDeploy() (gas: 501623) SignatureCheckerLibTest:testERC6492PreDeploy() (gas: 1233291) SignatureCheckerLibTest:testEmptyCalldataHelpers() (gas: 3986) -SignatureCheckerLibTest:testSignatureChecker(bytes32) (runs: 278, μ: 57887, ~: 47033) +SignatureCheckerLibTest:testSignatureChecker(bytes32) (runs: 278, μ: 58774, ~: 58315) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithInvalidSignature() (gas: 21287) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithInvalidSigner() (gas: 30787) SignatureCheckerLibTest:testSignatureCheckerOnEOAWithMatchingSignerAndSignature() (gas: 17685) diff --git a/src/utils/SignatureCheckerLib.sol b/src/utils/SignatureCheckerLib.sol index 334d1e888..5e65702d4 100644 --- a/src/utils/SignatureCheckerLib.sol +++ b/src/utils/SignatureCheckerLib.sol @@ -568,6 +568,7 @@ library SignatureCheckerLib { let m_ := mload(0x40) mstore(m_, signer_) mstore(add(m_, 0x20), hash_) + // forgefmt: disable-next-item _isValid := call( gas(), // Remaining gas. @@ -575,9 +576,8 @@ library SignatureCheckerLib { 0, // Send zero ETH. m_, // Start of memory. add(returndatasize(), 0x40), // Length of calldata in memory. - // forgefmt: disable-next-item staticcall(gas(), 4, add(signature_, 0x20), mload(signature_), - add(m_, 0x40), mload(signature_)), + add(m_, 0x40), mload(signature_)), 0x00 // Length of returndata to write. ) _isValid := gt(returndatasize(), _isValid)