diff --git a/hardhat.config.ts b/hardhat.config.ts index 2542ecb8..94503eaf 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -44,26 +44,19 @@ const optimizedCompilerSettings = { const config: HardhatUserConfig = { solidity: { - version: '0.8.28', - settings: { - evmVersion: 'cancun', - optimizer: { - enabled: true, - runs: 1000000 - } - }, // duplicated because this part is used by 'hardhat coverage' compilers: [{ - version: '0.8.28', + version: '0.8.24', settings: { evmVersion: 'cancun', + viaIR: true, optimizer: { enabled: true, runs: 1000000 } } - }], - overrides: { - 'contracts/core/EntryPoint.sol': optimizedCompilerSettings, - 'contracts/samples/SimpleAccount.sol': optimizedCompilerSettings - } + }] + // overrides: { + // 'contracts/core/EntryPoint.sol': optimizedCompilerSettings, + // 'contracts/samples/SimpleAccount.sol': optimizedCompilerSettings + // } }, networks: { dev: { url: 'http://localhost:8545' }, diff --git a/reports/gas-checker.txt b/reports/gas-checker.txt index 1194e4e9..9b02e658 100644 --- a/reports/gas-checker.txt +++ b/reports/gas-checker.txt @@ -2,9 +2,9 @@ the destination is "account.entryPoint()", which is known to be "hot" address used by this account it little higher than EOA call: its an exec from entrypoint (or account owner) into account contract, verifying msg.sender and exec to target) ╔══════════════════════════╤════════╗ -║ gas estimate "simple" │ 29327 ║ +║ gas estimate "simple" │ 29270 ║ ╟──────────────────────────┼────────╢ -║ gas estimate "big tx 5k" │ 126098 ║ +║ gas estimate "big tx 5k" │ 114713 ║ ╚══════════════════════════╧════════╝ ╔════════════════════════════════╤═══════╤═══════════════╤════════════════╤═════════════════════╗ @@ -12,44 +12,44 @@ ║ │ │ │ (delta for │ (compared to ║ ║ │ │ │ one UserOp) │ account.exec()) ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ simple │ 1 │ 80004 │ │ ║ +║ simple │ 1 │ 77467 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ simple - diff from previous │ 2 │ │ 42168 │ 12841 ║ +║ simple - diff from previous │ 2 │ │ 41666 │ 12396 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ simple │ 10 │ 459895 │ │ ║ +║ simple │ 10 │ 452564 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ simple - diff from previous │ 11 │ │ 42235 │ 12908 ║ +║ simple - diff from previous │ 11 │ │ 41733 │ 12463 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ simple paymaster │ 1 │ 86147 │ │ ║ +║ simple paymaster │ 1 │ 83421 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ simple paymaster with diff │ 2 │ │ 41048 │ 11721 ║ +║ simple paymaster with diff │ 2 │ │ 40333 │ 11063 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ simple paymaster │ 10 │ 455682 │ │ ║ +║ simple paymaster │ 10 │ 446533 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ simple paymaster with diff │ 11 │ │ 41148 │ 11821 ║ +║ simple paymaster with diff │ 11 │ │ 40397 │ 11127 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ big tx 5k │ 1 │ 181036 │ │ ║ +║ big tx 5k │ 1 │ 167192 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ big tx - diff from previous │ 2 │ │ 142702 │ 16604 ║ +║ big tx - diff from previous │ 2 │ │ 130929 │ 16216 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ big tx 5k │ 10 │ 1465441 │ │ ║ +║ big tx 5k │ 10 │ 1345340 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ big tx - diff from previous │ 11 │ │ 142722 │ 16624 ║ +║ big tx - diff from previous │ 11 │ │ 130949 │ 16236 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ paymaster+postOp │ 1 │ 87758 │ │ ║ +║ paymaster+postOp │ 1 │ 84860 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ paymaster+postOp with diff │ 2 │ │ 42647 │ 13320 ║ +║ paymaster+postOp with diff │ 2 │ │ 41784 │ 12514 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ paymaster+postOp │ 10 │ 471848 │ │ ║ +║ paymaster+postOp │ 10 │ 461159 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ paymaster+postOp with diff │ 11 │ │ 42704 │ 13377 ║ +║ paymaster+postOp with diff │ 11 │ │ 41889 │ 12619 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ token paymaster │ 1 │ 128809 │ │ ║ +║ token paymaster │ 1 │ 122162 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ token paymaster with diff │ 2 │ │ 66384 │ 37057 ║ +║ token paymaster with diff │ 2 │ │ 61748 │ 32478 ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ token paymaster │ 10 │ 707804 │ │ ║ +║ token paymaster │ 10 │ 678327 │ │ ║ ╟────────────────────────────────┼───────┼───────────────┼────────────────┼─────────────────────╢ -║ token paymaster with diff │ 11 │ │ 66536 │ 37209 ║ +║ token paymaster with diff │ 11 │ │ 61840 │ 32570 ║ ╚════════════════════════════════╧═══════╧═══════════════╧════════════════╧═════════════════════╝