Skip to content

Commit

Permalink
T
Browse files Browse the repository at this point in the history
  • Loading branch information
Vectorized committed May 25, 2024
1 parent fb42703 commit e0b25c6
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 48 deletions.
44 changes: 22 additions & 22 deletions .gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,9 @@ ERC1155Test:testSafeTransferFromToWrongReturnDataERC1155RecipientReverts(uint256
ERC1155Test:testSafeTransferFromToZeroReverts(uint256) (runs: 278, μ: 71146, ~: 71774)
ERC1155Test:test__codesize() (gas: 42341)
ERC1271Test:testBasefeeBytecodeContract() (gas: 45430)
ERC1271Test:testIsValidSignature() (gas: 2464234)
ERC1271Test:testIsValidSignature(uint256) (runs: 278, μ: 265837, ~: 216774)
ERC1271Test:test__codesize() (gas: 30370)
ERC1271Test:testIsValidSignature() (gas: 2464705)
ERC1271Test:testIsValidSignature(uint256) (runs: 278, μ: 257984, ~: 214756)
ERC1271Test:test__codesize() (gas: 30392)
ERC1967FactoryTest:testChangeAdmin() (gas: 266356)
ERC1967FactoryTest:testChangeAdminUnauthorized() (gas: 257653)
ERC1967FactoryTest:testDeploy() (gas: 257202)
Expand Down Expand Up @@ -229,32 +229,32 @@ 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, μ: 171711, ~: 171730)
ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 278, μ: 131998, ~: 139900)
ERC4337FactoryTest:test__codesize() (gas: 12775)
ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 278, μ: 171717, ~: 171726)
ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 278, μ: 130908, ~: 139893)
ERC4337FactoryTest:test__codesize() (gas: 12786)
ERC4337Test:testCdFallback() (gas: 438129)
ERC4337Test:testCdFallback2() (gas: 1135369)
ERC4337Test:testDelegateExecute() (gas: 366495)
ERC4337Test:testDelegateExecute(uint256) (runs: 278, μ: 353519, ~: 345338)
ERC4337Test:testDelegateExecute(uint256) (runs: 278, μ: 352149, ~: 345338)
ERC4337Test:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 320155)
ERC4337Test:testDepositFunctions() (gas: 497250)
ERC4337Test:testDirectStorage() (gas: 70435)
ERC4337Test:testDisableInitializerForImplementation() (gas: 1318797)
ERC4337Test:testDisableInitializerForImplementation() (gas: 1320997)
ERC4337Test:testETHReceived() (gas: 16584)
ERC4337Test:testExecute() (gas: 383602)
ERC4337Test:testExecuteBatch() (gas: 694209)
ERC4337Test:testExecuteBatch(uint256) (runs: 278, μ: 520370, ~: 666367)
ERC4337Test:testExecuteBatch(uint256) (runs: 278, μ: 530840, ~: 670089)
ERC4337Test:testInitializer() (gas: 285472)
ERC4337Test:testIsValidSignature() (gas: 119820)
ERC4337Test:testIsValidSignaturePersonalSign() (gas: 103099)
ERC4337Test:testIsValidSignatureViaRPC() (gas: 96881547)
ERC4337Test:testIsValidSignatureWrapped() (gas: 416218)
ERC4337Test:testIsValidSignature() (gas: 120064)
ERC4337Test:testIsValidSignaturePersonalSign() (gas: 103314)
ERC4337Test:testIsValidSignatureViaRPC() (gas: 96881549)
ERC4337Test:testIsValidSignatureWrapped() (gas: 416253)
ERC4337Test:testOnERC1155BatchReceived() (gas: 1569677)
ERC4337Test:testOnERC1155Received() (gas: 1567008)
ERC4337Test:testOnERC721Received() (gas: 1601995)
ERC4337Test:testOwnerRecovery() (gas: 479866)
ERC4337Test:testValidateUserOp() (gas: 484978)
ERC4337Test:test__codesize() (gas: 57192)
ERC4337Test:test__codesize() (gas: 57203)
ERC4626Test:testDepositWithNoApprovalReverts() (gas: 16569)
ERC4626Test:testDepositWithNotEnoughApprovalReverts() (gas: 90179)
ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 278, μ: 3316, ~: 3107)
Expand All @@ -276,23 +276,23 @@ ERC4626Test:testWithdrawZero() (gas: 51874)
ERC4626Test:test__codesize() (gas: 37175)
ERC6551Test:testBaseFeeMini() (gas: 39514)
ERC6551Test:testCdFallback() (gas: 895599)
ERC6551Test:testDeployERC6551(uint256) (runs: 278, μ: 170110, ~: 168897)
ERC6551Test:testDeployERC6551(uint256) (runs: 278, μ: 170352, ~: 168892)
ERC6551Test:testDeployERC6551Proxy() (gas: 80395)
ERC6551Test:testExecute() (gas: 507518)
ERC6551Test:testExecuteBatch() (gas: 817605)
ERC6551Test:testExecuteBatch(uint256) (runs: 278, μ: 628191, ~: 762595)
ERC6551Test:testExecuteBatch(uint256) (runs: 278, μ: 659449, ~: 768773)
ERC6551Test:testInitializeERC6551ProxyImplementation() (gas: 189914)
ERC6551Test:testIsValidSigner(address) (runs: 278, μ: 167483, ~: 167467)
ERC6551Test:testIsValidSigner(address) (runs: 278, μ: 167473, ~: 167467)
ERC6551Test:testOnERC1155BatchReceived() (gas: 1702522)
ERC6551Test:testOnERC1155Received() (gas: 1699885)
ERC6551Test:testOnERC721Received() (gas: 1738813)
ERC6551Test:testOnERC721ReceivedCycles() (gas: 1728089)
ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 278, μ: 450234, ~: 455357)
ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 278, μ: 1361852, ~: 1361872)
ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 278, μ: 450774, ~: 455448)
ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 278, μ: 1364057, ~: 1364068)
ERC6551Test:testSupportsInterface() (gas: 169450)
ERC6551Test:testUpdateState(uint256) (runs: 278, μ: 235213, ~: 235137)
ERC6551Test:testUpdateState(uint256) (runs: 278, μ: 235208, ~: 235132)
ERC6551Test:testUpgrade() (gas: 248450)
ERC6551Test:test__codesize() (gas: 51524)
ERC6551Test:test__codesize() (gas: 51546)
ERC6909Test:testApprove() (gas: 36872)
ERC6909Test:testApprove(address,uint256,uint256) (runs: 278, μ: 37442, ~: 37514)
ERC6909Test:testBurn() (gas: 40870)
Expand Down Expand Up @@ -1188,7 +1188,7 @@ UpgradeableBeaconTest:testUpgradeableSolidityBeaconOnlyOwnerFunctions() (gas: 26
UpgradeableBeaconTest:testUpgradeableYulBeaconOnlyFnSelectorNotRecognised() (gas: 172796)
UpgradeableBeaconTest:testUpgradeableYulBeaconOnlyOwnerFunctions() (gas: 198398)
UpgradeableBeaconTest:test__codesize() (gas: 8808)
WETHInvariants:invariantTotalSupplyEqualsBalance() (runs: 256, calls: 3840, reverts: 1890)
WETHInvariants:invariantTotalSupplyEqualsBalance() (runs: 256, calls: 3840, reverts: 1889)
WETHInvariants:test__codesize() (gas: 5264)
WETHTest:testDeposit() (gas: 68090)
WETHTest:testDeposit(uint256) (runs: 278, μ: 67784, ~: 68384)
Expand Down
28 changes: 2 additions & 26 deletions src/accounts/ERC1271.sol
Original file line number Diff line number Diff line change
Expand Up @@ -171,31 +171,7 @@ abstract contract ERC1271 is EIP712 {
virtual
returns (bool result)
{
bytes32 t;
do {
(
bytes1 fields,
string memory name,
string memory version,
uint256 chainId,
address verifyingContract,
bytes32 salt,
uint256[] memory extensions
) = eip712Domain();
/// @solidity memory-safe-assembly
assembly {
t := mload(0x40) // Grab the free memory pointer.
mstore(0x40, add(t, 0x120)) // Allocate the memory.
// Skip 2 words: `TYPED_DATA_SIGN_TYPEHASH, contents`.
mstore(add(t, 0x40), shl(248, byte(0, fields)))
mstore(add(t, 0x60), keccak256(add(name, 0x20), mload(name)))
mstore(add(t, 0x80), keccak256(add(version, 0x20), mload(version)))
mstore(add(t, 0xa0), chainId)
mstore(add(t, 0xc0), shr(96, shl(96, verifyingContract)))
mstore(add(t, 0xe0), salt)
mstore(add(t, 0x100), keccak256(add(extensions, 0x20), shl(5, mload(extensions))))
}
} while (false);
bytes32 t = _typedDataSignFields();
/// @solidity memory-safe-assembly
assembly {
let m := mload(0x40) // Cache the free memory pointer.
Expand Down Expand Up @@ -286,7 +262,7 @@ abstract contract ERC1271 is EIP712 {
// Non-zero gasprice is a heuristic to check if a call is on-chain,
// but we can't fully depend on it because it can be manipulated.
// See: https://x.com/NoahCitron/status/1580359718341484544
if (tx.gasprice == 0) {
if (tx.gasprice == uint256(0)) {
/// @solidity memory-safe-assembly
assembly {
mstore(gasprice(), gasprice())
Expand Down

0 comments on commit e0b25c6

Please sign in to comment.