Skip to content

Commit bcf187d

Browse files
authored
⚡️ Optimize ERC4337 storageGuard (ethereum#649)
1 parent dc0d0e4 commit bcf187d

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

.gas-snapshot

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -221,27 +221,27 @@ ERC2981Test:testRoyaltyOverflowCheckDifferential(uint256,uint256) (runs: 256, μ
221221
ERC2981Test:testSetAndGetRoyaltyInfo(uint256) (runs: 256, μ: 107629, ~: 104801)
222222
ERC2981Test:test__codesize() (gas: 8419)
223223
ERC4337FactoryTest:testDeploy() (gas: 112614)
224-
ERC4337FactoryTest:testDeploy(uint256) (runs: 256, μ: 135772, ~: 135781)
225-
ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 256, μ: 131090, ~: 137159)
224+
ERC4337FactoryTest:testDeploy(uint256) (runs: 256, μ: 135781, ~: 135781)
225+
ERC4337FactoryTest:testDeployDeterministic(uint256) (runs: 256, μ: 132993, ~: 137165)
226226
ERC4337FactoryTest:testDeployDeterministicRevertWithDeploymentFailed() (gas: 96883638)
227-
ERC4337FactoryTest:test__codesize() (gas: 11372)
228-
ERC4337Test:testDelegateExecute() (gas: 370507)
229-
ERC4337Test:testDelegateExecute(uint256) (runs: 256, μ: 354240, ~: 344085)
230-
ERC4337Test:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 318922)
227+
ERC4337FactoryTest:test__codesize() (gas: 11354)
228+
ERC4337Test:testDelegateExecute() (gas: 370417)
229+
ERC4337Test:testDelegateExecute(uint256) (runs: 256, μ: 354765, ~: 343995)
230+
ERC4337Test:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 318832)
231231
ERC4337Test:testDepositFunctions() (gas: 502796)
232-
ERC4337Test:testDirectStorage() (gas: 70958)
232+
ERC4337Test:testDirectStorage() (gas: 70943)
233233
ERC4337Test:testETHReceived() (gas: 16606)
234234
ERC4337Test:testExecute() (gas: 382275)
235235
ERC4337Test:testExecuteBatch() (gas: 691383)
236-
ERC4337Test:testExecuteBatch(uint256) (runs: 256, μ: 516631, ~: 367594)
236+
ERC4337Test:testExecuteBatch(uint256) (runs: 256, μ: 530520, ~: 571824)
237237
ERC4337Test:testInitializer() (gas: 285354)
238238
ERC4337Test:testIsValidSignature() (gas: 66115)
239239
ERC4337Test:testIsValidSignatureWrapped() (gas: 388471)
240240
ERC4337Test:testOnERC1155BatchReceived() (gas: 1393612)
241241
ERC4337Test:testOnERC1155Received() (gas: 1390956)
242242
ERC4337Test:testOnERC721Received() (gas: 1311297)
243243
ERC4337Test:testValidateUserOp() (gas: 491252)
244-
ERC4337Test:test__codesize() (gas: 44427)
244+
ERC4337Test:test__codesize() (gas: 44409)
245245
ERC4626Test:testDepositWithNoApprovalReverts() (gas: 16371)
246246
ERC4626Test:testDepositWithNotEnoughApprovalReverts() (gas: 89884)
247247
ERC4626Test:testDifferentialFullMulDiv(uint256,uint256,uint256) (runs: 256, μ: 3336, ~: 3201)

src/accounts/ERC4337.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,8 +260,8 @@ contract ERC4337 is Ownable, UUPSUpgradeable, Receiver {
260260
bytes32 ownerSlotValue = _ownerSlotValue();
261261
bytes32 implementationSlotValue = _implementationSlotValue();
262262
_;
263-
assert(_implementationSlotValue() == implementationSlotValue);
264-
assert(_ownerSlotValue() == ownerSlotValue);
263+
assert(implementationSlotValue == _implementationSlotValue());
264+
assert(ownerSlotValue == _ownerSlotValue());
265265
}
266266

267267
/// @dev Requires that the caller is the EntryPoint, the owner, or the account itself.

0 commit comments

Comments
 (0)