Skip to content

Latest commit

 

History

History
 
 

4337-gas-metering

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

4337 Gas Metering Analysis

How to run?

  1. Rename the .env.example to .env.
  2. Fill the required values of .env.
  3. Based on which paymaster to run, check the package.json file to see the script. Furthermore, you can check the README.md files in the corresponding paymaster folders to see the individual command and their possible results.

NOTE: If you run a paymaster analysis twice or more without changing the salt for Safe Creation, then only the operation will execute through paymaster (if any), rather than Safe Creation and Operation.

Gas Usage Results

With 4337? Account Creation Account Creation + Native Transfer Native Transfer Account Creation + ERC20 Transfer ERC20 Transfer Account Creation + ERC721 Minting ERC721 Minting
Without Paymaster Yes 415213 447632 182081 426139 160575 467926 202374
Gelato (4337 Compatible - 1Balance) No 302679 (TX) (Gas) 313228 (TX) (Gas) 83930 (TX) (Gas) 315961 (TX) (Gas) 86852 (TX) (Gas) 345284 (TX) (Gas) 116159 (TX) (Gas)
Pimlico - EntryPoint v0.7 (Base Sepolia - ERC20 Paymaster) Yes 487605 (TX) (Gas) 494988 (TX) (Gas) 182388 (TX) (Gas) 514156 (TX) (Gas) 185479 (TX) (Gas) 527408 (TX) (Gas) 214759 (TX) (Gas)
Pimlico - EntryPoint v0.7 (Sepolia - Verifying Paymaster) Yes 396009 (TX) (Gas 403404 (TX) (Gas) 120355 (TX) (Gas) 423670 (TX) (Gas) 123494 (TX) (Gas) 452929 (TX) (Gas) 152766 (TX) (Gas)
Alchemy - EntryPoint v0.7 (ETH from Safe) Yes 416662 (TX) (Gas) 424151 (TX) (Gas) 107057 (TX) (Gas) 432155 (TX) (Gas) 114238 (TX) (Gas) 456602 (TX) (Gas) 138712 (TX) (Gas)
Alchemy - EntryPoint v0.7 (ETH - Gas Policy) Yes 410072 (TX) (Gas) 417573 (TX) (Gas) 128393 (TX) (Gas) 425630 (TX) (Gas) 136452 (TX) (Gas) 450060 (TX) (Gas) 160895 (TX) (Gas)

Detailed Individual Gas Usage Results

Pimlico - EntryPoint v0.7 (Base Sepolia ERC20 Paymaster)

Type Actual Gas handleOps _createSenderIfNeeded Safe Proxy Factory ValidateUserOp (Safe) _executeUserOp executeUserOp (Safe) execTransactionFromModule
Account Creation 487605 456569 Wasn't included in the trace 295395 11856 24381 6424 4411
Account Creation + Native Transfer 494988 463940 Wasn't included in the trace 295395 11856 31752 13795 11782
Native Transfer 182388 158296 NA NA 15536 33798 15795 13782
Account Creation + ERC20 Transfer 498115 471111 Wasn't included in the trace 295395 11883 38804 20784 18528
ERC20 Transfer 185479 165467 NA NA 15536 40850 22784 20528
Account Creation + ERC721 Minting 527408 495792 Wasn't included in the trace 295395 11874 63524 45525 43351
ERC721 Minting 214759 190147 NA NA 15554 65570 47525 45351

Pimlico - EntryPoint v0.7 (Sepolia - Verifying Paymaster)

Type Actual Gas handleOps _createSenderIfNeeded Safe Proxy Factory ValidateUserOp (Safe) _executeUserOp executeUserOp (Safe) execTransactionFromModule
Account Creation 414071 366053 Wasn't included in the trace 264042 11771 14542 6424 4411
Account Creation + Native Transfer 421350 373424 Wasn't included in the trace 264042 11771 21913 13795 11782
Native Transfer 137723 94935 NA NA 15572 23930 15795 13782
Account Creation + ERC20 Transfer 446477 397746 Wasn't included in the trace 264042 11798 46088 37906 35650
ERC20 Transfer 145721 102154 NA NA 15599 31004 22806 20550
Account Creation + ERC721 Minting 470905 422417 Wasn't included in the trace 264042 11789 70808 62647 60473
ERC721 Minting 170150 126826 NA NA 15590 55724 47547 45373

Alchemy - EntryPoint v0.7 (ETH from Safe)

Type Actual Gas handleOps createProxyWithNonce ValidateUserOp (Safe) _executeUserOp executeUserOp (Safe) execTransactionFromModule
Account Creation 416662 409872 264042 43620 (incl. depositTo call) 34416 6424 4411
Account Creation + Native Transfer 424151 409239 264042 43620 (incl. depositTo call) 41787 13795 11782
Native Transfer 106237 81973 NA 15518 23893 15795 13782
Account Creation + ERC20 Transfer 432155 416424 264042 43647 (incl. depositTo call) 48862 20806 18550
ERC20 Transfer 114238 89157 NA 15545 30969 22806 20550
Account Creation + ERC721 Minting 456602 441106 264042 43638 (incl. depositTo call) 73582 45547 43373
ERC721 Minting 138712 113841 NA 15536 55689 47547 45373

Alchemy - EntryPoint v0.7 (ETH - Gas Policy)

Type Actual Gas handleOps createProxyWithNonce ValidateUserOp (Safe) _executeUserOp executeUserOp (Safe) execTransactionFromModule
Account Creation 410072 373790 264042 11762 NA NA NA
Account Creation + Native Transfer 417573 381161 264042 11762 21913 13795 11782
Native Transfer 128393 102544 NA 15563 23933 15795 13782
Account Creation + ERC20 Transfer 425630 388400 264042 11789 28988 20806 18550
ERC20 Transfer 136452 109783 NA 15590 31007 22806 20550
Account Creation + ERC721 Minting 450060 413064 264042 11780 53708 45547 43373
ERC721 Minting 160895 134449 NA 15581 55727 45547 45373