Generated via bash utils/inspect.sh
.
forge test --gas-report --no-match-path "test/script/**/*"
lib/account-abstraction/contracts/core/EntryPoint.sol:EntryPoint contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
4128022 |
20516 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
balanceOf |
614 |
1014 |
614 |
2614 |
5 |
depositTo |
22537 |
23870 |
24537 |
24537 |
3 |
getUserOpHash |
2178 |
2181 |
2178 |
2187 |
3 |
handleOps |
67556 |
114566 |
128637 |
147506 |
3 |
innerHandleOp |
33718 |
43164 |
43164 |
52611 |
2 |
receive |
22127 |
22127 |
22127 |
22127 |
3 |
withdrawTo |
36996 |
36996 |
36996 |
36996 |
1 |
lib/account-abstraction/contracts/samples/SimpleAccount.sol:SimpleAccount contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
1479733 |
7684 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
entryPoint |
407 |
407 |
407 |
407 |
1 |
initialize |
26217 |
26217 |
26217 |
26217 |
1 |
proxiableUUID |
387 |
387 |
387 |
387 |
1 |
lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
120671 |
1228 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
addDeposit |
30212 |
36212 |
39212 |
39212 |
3 |
disableInitializers |
11105 |
11105 |
11105 |
11105 |
1 |
entryPoint |
723 |
2984 |
2984 |
5245 |
2 |
execute |
7455 |
16650 |
8658 |
32984 |
5 |
executeBatch |
7794 |
20627 |
20627 |
33460 |
2 |
getDeposit |
1825 |
4825 |
1825 |
10825 |
3 |
getInitializedVersion |
677 |
677 |
677 |
677 |
1 |
isValidSignature |
11229 |
12909 |
12909 |
14589 |
2 |
owner |
826 |
826 |
826 |
826 |
2 |
transferOwnership |
5863 |
8281 |
7744 |
12342 |
5 |
upgradeToAndCall |
4786 |
17805 |
13316 |
42122 |
7 |
validateUserOp |
40706 |
41828 |
40712 |
44066 |
3 |
withdrawDepositTo |
2978 |
21626 |
21626 |
40275 |
2 |
src/LightAccount.sol:LightAccount contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
1661569 |
8640 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
addDeposit |
29899 |
32899 |
34399 |
34399 |
3 |
entryPoint |
429 |
429 |
429 |
429 |
1 |
execute |
2950 |
13606 |
7112 |
28147 |
5 |
executeBatch |
2920 |
15762 |
15762 |
28605 |
2 |
getDeposit |
1509 |
3009 |
1509 |
6009 |
3 |
initialize |
49609 |
49609 |
49609 |
49609 |
25 |
isValidSignature |
6383 |
8063 |
8063 |
9743 |
2 |
owner |
510 |
510 |
510 |
510 |
2 |
transferOwnership |
2878 |
4355 |
2912 |
7526 |
5 |
upgradeToAndCall |
3295 |
20290 |
20290 |
37285 |
2 |
validateUserOp |
35733 |
36853 |
35733 |
39093 |
3 |
withdrawDepositTo |
2643 |
21299 |
21299 |
39956 |
2 |
src/LightAccountFactory.sol:LightAccountFactory contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
2154580 |
11142 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
createAccount |
4821 |
155115 |
161027 |
163527 |
26 |
getAddress |
4672 |
4672 |
4672 |
4672 |
1 |
test/CustomSlotInitializable.t.sol:DisablesInitializersWhileInitializing contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
156238 |
852 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
initialize |
22755 |
22755 |
22755 |
22755 |
1 |
test/CustomSlotInitializable.t.sol:IsInitializingChecker contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
154653 |
851 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
initialize |
46069 |
46069 |
46069 |
46069 |
1 |
isInitializing |
303 |
303 |
303 |
303 |
1 |
wasInitializing |
267 |
267 |
267 |
267 |
1 |
test/CustomSlotInitializable.t.sol:V1 contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
762520 |
3920 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
disableInitializers |
6292 |
6292 |
6292 |
6292 |
1 |
getInitializedVersion |
391 |
391 |
391 |
391 |
1 |
initialize |
684 |
19455 |
23898 |
23898 |
10 |
proxiableUUID |
273 |
273 |
273 |
273 |
2 |
upgradeToAndCall |
8469 |
13681 |
14454 |
17349 |
4 |
test/CustomSlotInitializable.t.sol:V2 contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
703047 |
3616 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
getInitializedVersion |
361 |
361 |
361 |
361 |
1 |
initialize |
504 |
4410 |
6363 |
6363 |
3 |
proxiableUUID |
243 |
243 |
243 |
243 |
3 |
upgradeToAndCall |
3552 |
3552 |
3552 |
3552 |
1 |
test/LightAccount.t.sol:LightSwitch contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
52111 |
288 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
on |
267 |
267 |
267 |
267 |
3 |
turnOn |
22274 |
22274 |
22274 |
22274 |
3 |
test/LightAccount.t.sol:Reverter contract |
|
|
|
|
|
Deployment Cost |
Deployment Size |
|
|
|
|
46905 |
261 |
|
|
|
|
Function Name |
min |
avg |
median |
max |
# calls |
doRevert |
201 |
201 |
201 |
201 |
1 |
Ran 3 test suites: 31 tests passed, 0 failed, 0 skipped (31 total tests)
forge inspect src/CustomSlotInitializable.sol:CustomSlotInitializable gasestimates
forge inspect src/LightAccount.sol:LightAccount gasestimates
{
"creation": {
"codeDepositCost": "1636200",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"addDeposit()": "infinite",
"entryPoint()": "infinite",
"execute(address,uint256,bytes)": "infinite",
"executeBatch(address[],bytes[])": "infinite",
"getDeposit()": "infinite",
"getNonce()": "infinite",
"initialize(address)": "infinite",
"isValidSignature(bytes32,bytes)": "infinite",
"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": "infinite",
"onERC1155Received(address,address,uint256,uint256,bytes)": "infinite",
"onERC721Received(address,address,uint256,bytes)": "infinite",
"owner()": "2510",
"proxiableUUID()": "infinite",
"supportsInterface(bytes4)": "332",
"tokensReceived(address,address,address,uint256,bytes,bytes)": "infinite",
"transferOwnership(address)": "30747",
"upgradeTo(address)": "infinite",
"upgradeToAndCall(address,bytes)": "infinite",
"validateUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)": "infinite",
"withdrawDepositTo(address,uint256)": "infinite"
},
"internal": {
"_authorizeUpgrade(address)": "infinite",
"_call(address,uint256,bytes memory)": "infinite",
"_getStorage()": "infinite",
"_initialize(address)": "infinite",
"_onlyOwner()": "infinite",
"_requireFromEntryPointOrOwner()": "infinite",
"_transferOwnership(address)": "27881",
"_validateSignature(struct UserOperation calldata,bytes32)": "infinite"
}
}
forge inspect src/LightAccountFactory.sol:LightAccountFactory gasestimates
{
"creation": {
"codeDepositCost": "458600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"accountImplementation()": "infinite",
"createAccount(address,uint256)": "infinite",
"getAddress(address,uint256)": "infinite"
},
"internal": {}
}