|
| 1 | +# MODULAR ETHERSPOT WALLET IMPLEMENTATION GAS CONSUMPTION |
| 2 | + |
| 3 | +<!-- ### aa-benchmark results - OLD |
| 4 | +
|
| 5 | +| | Creation | Native transfer | ERC20 transfer | Total | |
| 6 | +| ----------------- | -------- | --------------- | -------------- | ------ | |
| 7 | +| ERC7579 reference | 289438 | 103811 | 93213 | 486462 | |
| 8 | +| Etherspot ERC7579 | 319604 | 105012 | 94402 | 519018 | --> |
| 9 | + |
| 10 | +### complete gas usage by function (11/03/2024) |
| 11 | + |
| 12 | +| MultipleOwnerECDSAValidator.sol | | | | | | |
| 13 | +|-------------------|-----------------|-------|--------|-------|---------| |
| 14 | +| Deployment Cost | Deployment Size | | | | | |
| 15 | +| 471705 | 2388 | | | | | |
| 16 | +| Function Name | min | avg | median | max | # calls | |
| 17 | +| onInstall | 22812 | 22812 | 22812 | 22812 | 48 | |
| 18 | +| validateUserOp | 6568 | 7176 | 7244 | 7515 | 6 | |
| 19 | + |
| 20 | +| ERC20SessionKeyValidator.sol | | | | | | |
| 21 | +|---------------------------------|-----------------|--------|--------|--------|---------| |
| 22 | +| Deployment Cost | Deployment Size | | | | | |
| 23 | +| 1297006 | 6014 | | | | | |
| 24 | +| Function Name | min | avg | median | max | # calls | |
| 25 | +| checkSessionKeyPaused | 744 | 744 | 744 | 744 | 2 | |
| 26 | +| disableSessionKey | 30926 | 30926 | 30926 | 30926 | 2 | |
| 27 | +| enableSessionKey | 67518 | 132245 | 138694 | 138754 | 11 | |
| 28 | +| getAssociatedSessionKeys | 1309 | 1309 | 1309 | 1309 | 1 | |
| 29 | +| getSessionKeyData | 1609 | 1609 | 1609 | 1609 | 7 | |
| 30 | +| rotateSessionKey | 124571 | 124571 | 124571 | 124571 | 1 | |
| 31 | +| toggleSessionKeyPause | 27002 | 27002 | 27002 | 27002 | 1 | |
| 32 | + |
| 33 | +| ModularEtherspotWallet.sol | | | | | | |
| 34 | +|---------------------------------|-----------------|--------|--------|--------|---------| |
| 35 | +| Deployment Cost | Deployment Size | | | | | |
| 36 | +| 3638796 | 16660 | | | | | |
| 37 | +| Function Name | min | avg | median | max | # calls | |
| 38 | +| addGuardian | 2666 | 53902 | 38154 | 82311 | 67 | |
| 39 | +| addOwner | 2666 | 21847 | 33824 | 33824 | 10 | |
| 40 | +| changeProposalTimelock | 2569 | 13595 | 13595 | 24622 | 2 | |
| 41 | +| discardCurrentProposal | 4754 | 13426 | 13849 | 18574 | 5 | |
| 42 | +| execute | 28900 | 35672 | 28900 | 64182 | 7 | |
| 43 | +| executeFromExecutor | 14852 | 34298 | 31885 | 62932 | 7 | |
| 44 | +| getProposal | 406 | 1829 | 2014 | 2517 | 6 | |
| 45 | +| getValidatorPaginated | 2154 | 2462 | 2462 | 2771 | 2 | |
| 46 | +| guardianCosign | 2489 | 37991 | 30750 | 75300 | 8 | |
| 47 | +| guardianCount | 407 | 407 | 407 | 407 | 2 | |
| 48 | +| guardianPropose | 2619 | 104797 | 146827 | 146827 | 20 | |
| 49 | +| initializeAccount | 22129 | 157242 | 152821 | 225206 | 317 | |
| 50 | +| installModule | 33403 | 70212 | 70214 | 107018 | 4 | |
| 51 | +| isGuardian | 624 | 1024 | 624 | 2624 | 5 | |
| 52 | +| isModuleInstalled | 1184 | 1184 | 1184 | 1184 | 9 | |
| 53 | +| isOwner | 601 | 976 | 601 | 2601 | 16 | |
| 54 | +| ownerCount | 386 | 386 | 386 | 386 | 2 | |
| 55 | +| proposalId | 407 | 407 | 407 | 407 | 1 | |
| 56 | +| proposalTimelock | 340 | 340 | 340 | 340 | 1 | |
| 57 | +| removeGuardian | 2688 | 10014 | 4916 | 18775 | 5 | |
| 58 | +| removeOwner | 2667 | 7426 | 4956 | 14542 | 6 | |
| 59 | +| transferERC20Action | 47042 | 47042 | 47042 | 47042 | 1 | |
| 60 | +| uninstallModule | 22368 | 23465 | 23465 | 24563 | 2 | |
| 61 | +| validateUserOp | 15567 | 37311 | 40493 | 53590 | 12 | |
| 62 | + |
| 63 | + |
| 64 | +| ModularEtherspotWalletFactory.sol | | | | | | |
| 65 | +|-----------------------|-----------------|--------|--------|--------|---------| |
| 66 | +| Deployment Cost | Deployment Size | | | | | |
| 67 | +| 239733 | 1380 | | | | | |
| 68 | +| createAccount | 1754 | 243094 | 249694 | 249694 | 55 | |
| 69 | +| getAddress | 1644 | 1654 | 1656 | 1656 | 7 | |
| 70 | +| implementation | 216 | 216 | 216 | 216 | 1 | |
| 71 | + |
| 72 | +| SessionKeyValidator.sol | | | | | | |
| 73 | +|-------------------------------|-----------------|--------|--------|---------|---------| |
| 74 | +| Deployment Cost | Deployment Size | | | | | |
| 75 | +| 2912129 | 13270 | | | | | |
| 76 | +| Function Name | min | avg | median | max | # calls | |
| 77 | +| addPermission | 26801 | 160379 | 169980 | 170544 | 268 | |
| 78 | +| disableSessionKey | 24171 | 66488 | 80594 | 80594 | 4 | |
| 79 | +| enableSessionKey | 26961 | 388750 | 364043 | 1532971 | 3992 | |
| 80 | +| getSessionKeyData | 1346 | 1346 | 1346 | 1346 | 1546 | |
| 81 | +| getSessionKeyPermissions | 730 | 4343 | 4019 | 20783 | 2060 | |
| 82 | +| getSessionKeysByWallet | 758 | 1430 | 1103 | 3570 | 517 | |
| 83 | +| getUsesLeft | 682 | 682 | 682 | 682 | 259 | |
| 84 | +| isInitialized | 574 | 1240 | 574 | 2574 | 3 | |
| 85 | +| isModuleType | 347 | 347 | 347 | 347 | 3 | |
| 86 | +| isSessionLive | 715 | 715 | 715 | 715 | 6195 | |
| 87 | +| isValidSignatureWithSender | 733 | 733 | 733 | 733 | 1 | |
| 88 | +| modifyPermission | 25262 | 64480 | 64544 | 66363 | 261 | |
| 89 | +| removePermission | 24148 | 63992 | 64220 | 82468 | 261 | |
| 90 | +| rotateSessionKey | 233698 | 249491 | 249695 | 249944 | 257 | |
| 91 | +| toggleSessionKeyPause | 24174 | 36677 | 25982 | 47882 | 6196 | |
| 92 | +| updateUses | 24389 | 31047 | 31122 | 31434 | 259 | |
| 93 | +| updateValidUntil | 24289 | 29313 | 29336 | 29360 | 261 | |
0 commit comments