Skip to content

Commit

Permalink
T
Browse files Browse the repository at this point in the history
  • Loading branch information
Vectorized committed Apr 4, 2024
1 parent 8d2c544 commit 0920ba0
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 20 deletions.
26 changes: 13 additions & 13 deletions .gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -223,21 +223,21 @@ ERC2981Test:testRoyaltyOverflowCheckDifferential(uint256,uint256) (runs: 272, μ
ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 272, μ: 107442, ~: 104801)
ERC2981Test:test__codesize() (gas: 8418)
ERC4337FactoryTest:testCreateAccountRepeatedDeployment() (gas: 149757)
ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 272, μ: 171752, ~: 171609)
ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 272, μ: 134016, ~: 139901)
ERC4337FactoryTest:test__codesize() (gas: 13389)
ERC4337FactoryTest:testCreateAccountRepeatedDeployment(uint256) (runs: 272, μ: 171759, ~: 171617)
ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 272, μ: 133653, ~: 139899)
ERC4337FactoryTest:test__codesize() (gas: 13379)
ERC4337Test:testCdFallback() (gas: 433020)
ERC4337Test:testCdFallback2() (gas: 1129634)
ERC4337Test:testDelegateExecute() (gas: 369570)
ERC4337Test:testDelegateExecute(uint256) (runs: 272, μ: 355788, ~: 344555)
ERC4337Test:testDelegateExecute(uint256) (runs: 272, μ: 353825, ~: 344555)
ERC4337Test:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 319282)
ERC4337Test:testDepositFunctions() (gas: 491986)
ERC4337Test:testDirectStorage() (gas: 70413)
ERC4337Test:testDisableInitializerForImplementation() (gas: 1195564)
ERC4337Test:testDisableInitializerForImplementation() (gas: 1193557)
ERC4337Test:testETHReceived() (gas: 16584)
ERC4337Test:testExecute() (gas: 382786)
ERC4337Test:testExecuteBatch() (gas: 692649)
ERC4337Test:testExecuteBatch(uint256) (runs: 272, μ: 522786, ~: 668554)
ERC4337Test:testExecuteBatch(uint256) (runs: 272, μ: 527946, ~: 668469)
ERC4337Test:testInitializer() (gas: 285192)
ERC4337Test:testIsValidSignature() (gas: 113350)
ERC4337Test:testIsValidSignaturePersonalSign() (gas: 97633)
Expand All @@ -247,7 +247,7 @@ ERC4337Test:testOnERC1155Received() (gas: 1391111)
ERC4337Test:testOnERC721Received() (gas: 1364600)
ERC4337Test:testOwnerRecovery() (gas: 474727)
ERC4337Test:testValidateUserOp() (gas: 480079)
ERC4337Test:test__codesize() (gas: 53796)
ERC4337Test:test__codesize() (gas: 53786)
ERC4626Test:testDepositWithNoApprovalReverts() (gas: 16371)
ERC4626Test:testDepositWithNotEnoughApprovalReverts() (gas: 89884)
ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 272, μ: 3330, ~: 3185)
Expand All @@ -268,22 +268,22 @@ ERC4626Test:testWithdrawWithNotEnoughUnderlyingAmountReverts() (gas: 144074)
ERC4626Test:testWithdrawZero() (gas: 52807)
ERC4626Test:test__codesize() (gas: 39940)
ERC6551Test:testCdFallback() (gas: 894295)
ERC6551Test:testDeployERC6551(uint256) (runs: 272, μ: 170858, ~: 168789)
ERC6551Test:testDeployERC6551(uint256) (runs: 272, μ: 170892, ~: 168782)
ERC6551Test:testDeployERC6551Proxy() (gas: 80351)
ERC6551Test:testExecute() (gas: 508100)
ERC6551Test:testExecuteBatch() (gas: 817200)
ERC6551Test:testExecuteBatch(uint256) (runs: 272, μ: 620650, ~: 483190)
ERC6551Test:testExecuteBatch(uint256) (runs: 272, μ: 619727, ~: 483189)
ERC6551Test:testInitializeERC6551ProxyImplementation() (gas: 189796)
ERC6551Test:testIsValidSignature() (gas: 187713)
ERC6551Test:testIsValidSigner(address) (runs: 272, μ: 167339, ~: 167324)
ERC6551Test:testIsValidSigner(address) (runs: 272, μ: 167335, ~: 167324)
ERC6551Test:testOnERC1155BatchReceived() (gas: 1526537)
ERC6551Test:testOnERC1155Received() (gas: 1523871)
ERC6551Test:testOnERC721Received() (gas: 1501317)
ERC6551Test:testOnERC721ReceivedCycles() (gas: 1713680)
ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 272, μ: 448200, ~: 454014)
ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 272, μ: 449721, ~: 455434)
ERC6551Test:testSupportsInterface() (gas: 169367)
ERC6551Test:testUpgrade() (gas: 1191891)
ERC6551Test:test__codesize() (gas: 47786)
ERC6551Test:testUpgrade() (gas: 1189891)
ERC6551Test:test__codesize() (gas: 47766)
ERC6909Test:testApprove() (gas: 36771)
ERC6909Test:testApprove(address,uint256,uint256) (runs: 272, μ: 36535, ~: 37413)
ERC6909Test:testBurn() (gas: 40676)
Expand Down
14 changes: 7 additions & 7 deletions src/accounts/ERC1271.sol
Original file line number Diff line number Diff line change
Expand Up @@ -154,15 +154,15 @@ abstract contract ERC1271 is EIP712 {
assembly {
let gasBurnHash := 0x31d8f1c26729207294 // uint72(bytes9(keccak256("gasBurnHash"))).
if eq(hash, gasBurnHash) { invalid() }
let m := mload(0x40)
mstore(m, 0x1626ba7e) // `isValidSignature(bytes32,bytes)`.
mstore(add(m, 0x20), gasBurnHash)
mstore(add(m, 0x40), 0x40)
mstore(add(m, 0x60), 0x00)
// Make a call to this with invalid calldata, thus burning the gas provided.
let m := mload(0x40) // Cache the free memory pointer.
mstore(0x00, 0x1626ba7e) // `isValidSignature(bytes32,bytes)`.
mstore(0x20, gasBurnHash)
mstore(0x40, 0x40)
// Make a call to this with `gasBurnHash`, efficiently burning the gas provided.
// No valid transaction can consume more than the gaslimit.
// See: https://ethereum.github.io/yellowpaper/paper.pdf
pop(staticcall(add(100000, gaslimit()), address(), add(m, 0x1c), 0x64, 0x00, 0x00))
pop(staticcall(add(100000, gaslimit()), address(), 0x1c, 0x64, 0x00, 0x00))
mstore(0x40, m) // Restore the free memory pointer.
}
return SignatureCheckerLib.isValidSignatureNowCalldata(_erc1271Signer(), hash, signature);
}
Expand Down

0 comments on commit 0920ba0

Please sign in to comment.