From ffe035982fc03887895bafde845ad17490063cdc Mon Sep 17 00:00:00 2001 From: ross <92001561+z0r0z@users.noreply.github.com> Date: Mon, 24 Jun 2024 13:25:30 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=AA=84=20Nits=20&=20Solady?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gas-snapshot | 26 ++++++++++++------------- lib/solady | 2 +- src/Account.sol | 3 +-- src/governance/Token.sol | 14 +++++-------- test/validators/RecoveryValidator.t.sol | 7 ++----- 5 files changed, 22 insertions(+), 30 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index db66852..7c82f8a 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,15 +1,15 @@ AccountTest:testCdFallback() (gas: 474764) AccountTest:testCdFallback2() (gas: 1250652) AccountTest:testDelegateExecute() (gas: 405036) -AccountTest:testDelegateExecute(uint256) (runs: 256, μ: 394160, ~: 384516) +AccountTest:testDelegateExecute(uint256) (runs: 256, μ: 395877, ~: 384516) AccountTest:testDelegateExecuteRevertsIfOwnerSlotValueChanged() (gas: 360183) AccountTest:testDepositFunctions() (gas: 533677) AccountTest:testDirectStorage() (gas: 70166) -AccountTest:testDisableInitializerForImplementation() (gas: 1521228) +AccountTest:testDisableInitializerForImplementation() (gas: 1520028) AccountTest:testETHReceived() (gas: 16591) AccountTest:testExecute() (gas: 422663) AccountTest:testExecuteBatch() (gas: 773653) -AccountTest:testInitializer() (gas: 1803085) +AccountTest:testInitializer() (gas: 1801885) AccountTest:testIsValidSignature() (gas: 118863) AccountTest:testIsValidSignatureViaPlugin() (gas: 98455) AccountTest:testIsValidSignatureViaRPC() (gas: 8937393460516731459) @@ -20,9 +20,9 @@ AccountTest:testOnERC721Received() (gas: 1693476) AccountTest:testOwnerRecovery() (gas: 516827) AccountTest:testSignaturePluginStorage() (gas: 86831) AccountTest:testValidateUserOp() (gas: 525722) -AccountTest:test__codesize() (gas: 67290) -AccountsTest:testDeploy() (gas: 1778374) -AccountsTest:test__codesize() (gas: 10218) +AccountTest:test__codesize() (gas: 67284) +AccountsTest:testDeploy() (gas: 1777174) +AccountsTest:test__codesize() (gas: 10212) JointValidatorTest:testDeploy() (gas: 466944) JointValidatorTest:testInstall() (gas: 146205) JointValidatorTest:testJointUserOp() (gas: 186) @@ -43,12 +43,12 @@ PaymentValidatorTest:testFailPaymentPlanInvalidAllowance() (gas: 185331) PaymentValidatorTest:testInstall() (gas: 171005) PermitValidatorTest:testAddressPermission(address) (runs: 256, μ: 23814, ~: 23814) PermitValidatorTest:testBoolPermission(bool) (runs: 256, μ: 22209, ~: 22209) -PermitValidatorTest:testEnumPermission(uint256) (runs: 256, μ: 27311, ~: 27360) +PermitValidatorTest:testEnumPermission(uint256) (runs: 256, μ: 27306, ~: 27360) PermitValidatorTest:testInstall() (gas: 207712) -PermitValidatorTest:testTransferPermission(address,uint256,uint256,uint256) (runs: 256, μ: 9302, ~: 3728) -PermitValidatorTest:testUintPermission(uint256,uint256,uint256) (runs: 256, μ: 6668, ~: 3262) +PermitValidatorTest:testTransferPermission(address,uint256,uint256,uint256) (runs: 256, μ: 8652, ~: 3728) +PermitValidatorTest:testUintPermission(uint256,uint256,uint256) (runs: 256, μ: 7274, ~: 3262) PermitValidatorTest:testValuePermission(uint256,uint256) (runs: 256, μ: 20022, ~: 20023) -PermitValidatorTest:test__codesize() (gas: 48483) +PermitValidatorTest:test__codesize() (gas: 48477) PointsTest:testCheck(uint256) (runs: 256, μ: 31230, ~: 31230) PointsTest:testDeploy() (gas: 103095) RecoveryValidatorTest:testDeploy() (gas: 1433821) @@ -56,7 +56,7 @@ RecoveryValidatorTest:testFailSocialRecoveryWithEOAKey() (gas: 179046) RecoveryValidatorTest:testFailSocialRecoveryWithZeroKey() (gas: 179021) RecoveryValidatorTest:testInstall() (gas: 172917) RecoveryValidatorTest:testSetGuardians() (gas: 173389) -RecoveryValidatorTest:testSocialRecovery() (gas: 181216) +RecoveryValidatorTest:testSocialRecovery() (gas: 179091) RecoveryValidatorTest:testUninstall() (gas: 144165) TokenTest:testDeploy() (gas: 344605) TokenTest:testFailTransferBeyondBalance(address) (runs: 256, μ: 39779, ~: 39779) @@ -64,5 +64,5 @@ TokenTest:testFailUnsafeTransfer(address) (runs: 256, μ: 11389, ~: 11389) TokenTest:testInitBalance() (gas: 10629) TokenTest:testNameAndSymbolAndDecimals() (gas: 12365) TokenTest:testTotalSupply() (gas: 8388) -TokenTest:testTransfer(address,uint96) (runs: 256, μ: 43600, ~: 44310) -TokenTest:testTransferFromOwner(address,uint96) (runs: 256, μ: 43704, ~: 44414) \ No newline at end of file +TokenTest:testTransfer(address,uint96) (runs: 256, μ: 43689, ~: 44310) +TokenTest:testTransferFromOwner(address,uint96) (runs: 256, μ: 43793, ~: 44414) \ No newline at end of file diff --git a/lib/solady b/lib/solady index cfa9a73..f1ad0c2 160000 --- a/lib/solady +++ b/lib/solady @@ -1 +1 @@ -Subproject commit cfa9a7392bc2d85659788bb99c420fb326dde24e +Subproject commit f1ad0c2ec388e9754221d95bb9d25de2f7f30264 diff --git a/src/Account.sol b/src/Account.sol index 21fcf6b..6f697b6 100644 --- a/src/Account.sol +++ b/src/Account.sol @@ -117,7 +117,7 @@ contract Account is ERC4337 { call( gas(), /*validator*/ - sload(/*key*/ shr(64, /*nonce*/ calldataload(0x84))), + sload( /*key*/ shr(64, /*nonce*/ calldataload(0x84))), 0, 0x00, calldatasize(), @@ -134,7 +134,6 @@ contract Account is ERC4337 { validationData := mload(0x00) } } - /// @dev Validates ERC1271 signature. Plugin activated if stored. function isValidSignature(bytes32 hash, bytes calldata signature) diff --git a/src/governance/Token.sol b/src/governance/Token.sol index 04a1a42..5418ae6 100644 --- a/src/governance/Token.sol +++ b/src/governance/Token.sol @@ -12,7 +12,7 @@ contract Token { string public constant symbol = unicode"⌘"; uint256 public constant decimals = 18; uint256 public constant totalSupply = 1e27; - + mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; @@ -31,16 +31,12 @@ contract Token { } function transferFrom(address from, address to, uint256 amount) public payable returns (bool) { - if (msg.sender != from) { - if (allowance[from][msg.sender] != type(uint256).max) { + if (msg.sender != from) + if (allowance[from][msg.sender] != type(uint256).max) allowance[from][msg.sender] -= amount; - } - } balanceOf[from] -= amount; - unchecked { - balanceOf[to] += amount; - } + unchecked { balanceOf[to] += amount; } emit Transfer(from, to, amount); return true; } -} +} \ No newline at end of file diff --git a/test/validators/RecoveryValidator.t.sol b/test/validators/RecoveryValidator.t.sol index a19c5c7..8bcb671 100644 --- a/test/validators/RecoveryValidator.t.sol +++ b/test/validators/RecoveryValidator.t.sol @@ -189,11 +189,8 @@ contract RecoveryValidatorTest is Test { calls[1].target = address(account); calls[1].value = 0 ether; - calls[1].data = abi.encodeWithSelector( - account.storageStore.selector, - storageKey, - storageValue - ); + calls[1].data = + abi.encodeWithSelector(account.storageStore.selector, storageKey, storageValue); vm.startPrank(_guardian1); account.executeBatch(calls);