bcnmy / nexus

Nexus by Biconomy: ERC-7579 Modular Smart Account for Enhanced Account Abstraction
https://github.com/bcnmy/nexus/wiki
MIT License
27 stars 5 forks source link

Release/1.0.0 beta.1 #192

Closed livingrockrises closed 1 month ago

github-actions[bot] commented 1 month ago

Changes to gas cost

Generated at commit: 78bb3812539caa83bc78a69f8236591b6a70ecb8, compared to commit: 31d8645a5a47e09fb551b9c2c64ae5f23c32b358

🧾 Summary (5% most significant diffs)

Contract Method Avg (+/-) %
Nexus accountId
isModuleInstalled
validateUserOp
-396 ✅
+375 ❌
+6,873 ❌
-44.10%
+46.82%
+80.31%

Full diff report 👇
| Contract | Deployment Cost (+/-) | Method | Min (+/-) | % | Avg (+/-) | % | Median (+/-) | % | Max (+/-) | % | # Calls (+/-) | |:-|-:|:-|-:|-:|-:|-:|-:|-:|-:|-:|-:| | **Nexus** | 4,690,438 (+312,177) | _accountId_
_execute_
_executeFromExecutor_
_initializeAccount_
_installModule_
_isModuleInstalled_
_uninstallModule_
_validateUserOp_ | 502 (-396)
3,785 (-2,374)
12,182 (+3,104)
113,140 (+33,249)
32,474 (+4,356)
855 (+246)
5,837 (-2,243)
13,859 (+6,876) | **-44.10%**
**-38.55%**
**+34.19%**
**+41.62%**
**+15.49%**
**+40.39%**
**-27.76%**
**+98.47%** | 502 (-396)
46,243 (-1,223)
17,501 (+3,132)
132,974 (+33,248)
38,162 (+4,723)
1,176 (+375)
10,536 (+317)
15,431 (+6,873) | **-44.10%**
**-2.58%**
**+21.80%**
**+33.34%**
**+14.12%**
**+46.82%**
**+3.10%**
**+80.31%** | 502 (-396)
37,985 (+2,204)
17,434 (+3,256)
133,040 (+33,249)
39,842 (+4,870)
1,152 (+369)
12,307 (+2,484)
13,859 (+6,876) | **-44.10%**
**+6.16%**
**+22.97%**
**+33.32%**
**+13.93%**
**+47.13%**
**+25.29%**
**+98.47%** | 502 (-396)
143,063 (+126)
22,956 (+2,913)
133,040 (+33,249)
44,137 (+5,342)
3,196 (+390)
12,421 (-334)
42,740 (+6,967) | **-44.10%**
**+0.09%**
**+14.53%**
**+33.32%**
**+13.77%**
**+13.90%**
**-2.62%**
**+19.48%** | 8 (0)
73 (-3)
4 (0)
306 (-3)
23 (0)
328 (-3)
6 (0)
347 (-4) | | **MockValidator** | 968,013 (+311,640) | _isModuleType_
_isOwner_ | 301 (+8)
681 (+206) | **+2.73%**
**+43.37%** | 301 (+8)
681 (+206) | **+2.73%**
**+43.37%** | 301 (+8)
681 (+206) | **+2.73%**
**+43.37%** | 301 (+8)
681 (+206) | **+2.73%**
**+43.37%** | 309 (+305)
274 (-1) | | **BootstrapLib** | 316,578 (-28,018) | _createArrayConfig_
_createSingleConfig_ | 1,585 (-16)
1,076 (+164) | **-1.00%**
**+17.98%** | 1,585 (-16)
1,076 (+164) | **-1.00%**
**+17.98%** | 1,585 (-16)
1,076 (+164) | **-1.00%**
**+17.98%** | 1,585 (-16)
1,076 (+164) | **-1.00%**
**+17.98%** | 918 (0)
918 (0) | | **NexusAccountFactory** | 625,990 (-169,780) | _computeAccountAddress_
_createAccount_ | 1,327 (+162)
214,797 (+34,642) | **+13.91%**
**+19.23%** | 1,327 (+162)
232,418 (+34,642) | **+13.91%**
**+17.52%** | 1,327 (+162)
234,937 (+34,642) | **+13.91%**
**+17.30%** | 1,327 (+162)
234,937 (+34,642) | **+13.91%**
**+17.30%** | 609 (0)
8 (0) | | **MockHook** | 270,393 (+27,914) | _isModuleType_ | 312 (+44) | **+16.42%** | 312 (+44) | **+16.42%** | 312 (+44) | **+16.42%** | 312 (+44) | **+16.42%** | 4 (-2) | | **MockHandler** | 392,819 (-35,826) | _isModuleType_ | 323 (-58) | **-15.22%** | 323 (-58) | **-15.22%** | 323 (-58) | **-15.22%** | 323 (-58) | **-15.22%** | 5 (-2) | | **MockNFT** | 1,022,884 (-201,226) | _balanceOf_
_mint_
_ownerOf_
_transferFrom_ | 630 (+42)
68,531 (+336)
572 (+23)
37,726 (+588) | **+7.14%**
**+0.49%**
**+4.19%**
**+1.58%** | 1,630 (+42)
68,675 (+336)
572 (+23)
46,276 (+588) | **+2.64%**
**+0.49%**
**+4.19%**
**+1.29%** | 1,630 (+42)
68,747 (+336)
572 (+23)
46,276 (+588) | **+2.64%**
**+0.49%**
**+4.19%**
**+1.29%** | 2,630 (+42)
68,747 (+336)
572 (+23)
54,826 (+588) | **+1.62%**
**+0.49%**
**+4.19%**
**+1.08%** | 12 (0)
18 (0)
12 (0)
2 (0) | | **MockPaymaster** | 1,063,705 (-97,888) | _addStake_
_getHash_ | 60,499 (+378)
2,168 (+81) | **+0.63%**
**+3.88%** | 60,499 (+378)
2,372 (+86) | **+0.63%**
**+3.76%** | 60,499 (+378)
2,467 (+101) | **+0.63%**
**+4.27%** | 60,499 (+378)
2,665 (+30) | **+0.63%**
**+1.14%** | 15 (0)
16 (-1) | | **MockExecutor** | 890,412 (+66,845) | _isModuleType_ | 345 (-3) | **-0.86%** | 345 (-3) | **-0.86%** | 345 (-3) | **-0.86%** | 345 (-3) | **-0.86%** | 11 (-1) | | **BiconomyMetaFactory** | 554,420 (-162,618) | _addFactoryToWhitelist_ | 46,209 (+10) | **+0.02%** | 46,209 (+10) | **+0.02%** | 46,209 (+10) | **+0.02%** | 46,209 (+10) | **+0.02%** | 86 (0) |
codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 79.46903% with 116 lines in your changes missing coverage. Please review.

Project coverage is 85.68%. Comparing base (e07b273) to head (72ed2b8). Report is 509 commits behind head on main.

Files with missing lines Patch % Lines
contracts/base/ModuleManager.sol 78.03% 29 Missing :warning:
contracts/modules/validators/K1Validator.sol 69.86% 21 Missing and 1 partial :warning:
contracts/factory/RegistryFactory.sol 70.42% 18 Missing and 3 partials :warning:
contracts/base/ExecutionHelper.sol 75.60% 20 Missing :warning:
contracts/Nexus.sol 77.77% 15 Missing and 1 partial :warning:
contracts/base/ERC7739Validator.sol 91.66% 8 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #192 +/- ## ========================================== + Coverage 80.49% 85.68% +5.18% ========================================== Files 35 14 -21 Lines 769 922 +153 Branches 107 253 +146 ========================================== + Hits 619 790 +171 + Misses 136 117 -19 - Partials 14 15 +1 ``` | [Files with missing lines](https://app.codecov.io/gh/bcnmy/nexus/pull/192?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy) | Coverage Δ | | |---|---|---| | [contracts/base/BaseAccount.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Fbase%2FBaseAccount.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL2Jhc2UvQmFzZUFjY291bnQuc29s) | `97.36% <100.00%> (+4.51%)` | :arrow_up: | | [contracts/base/RegistryAdapter.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Fbase%2FRegistryAdapter.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL2Jhc2UvUmVnaXN0cnlBZGFwdGVyLnNvbA==) | `100.00% <100.00%> (ø)` | | | [contracts/base/Storage.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Fbase%2FStorage.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL2Jhc2UvU3RvcmFnZS5zb2w=) | `100.00% <ø> (ø)` | | | [contracts/common/Stakeable.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Fcommon%2FStakeable.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL2NvbW1vbi9TdGFrZWFibGUuc29s) | `100.00% <ø> (+54.54%)` | :arrow_up: | | [contracts/factory/BiconomyMetaFactory.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Ffactory%2FBiconomyMetaFactory.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL2ZhY3RvcnkvQmljb25vbXlNZXRhRmFjdG9yeS5zb2w=) | `100.00% <100.00%> (+64.28%)` | :arrow_up: | | [contracts/factory/K1ValidatorFactory.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Ffactory%2FK1ValidatorFactory.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL2ZhY3RvcnkvSzFWYWxpZGF0b3JGYWN0b3J5LnNvbA==) | `100.00% <100.00%> (+9.09%)` | :arrow_up: | | [contracts/factory/NexusAccountFactory.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Ffactory%2FNexusAccountFactory.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL2ZhY3RvcnkvTmV4dXNBY2NvdW50RmFjdG9yeS5zb2w=) | `95.23% <100.00%> (+37.34%)` | :arrow_up: | | [contracts/utils/NexusBootstrap.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Futils%2FNexusBootstrap.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL3V0aWxzL05leHVzQm9vdHN0cmFwLnNvbA==) | `100.00% <100.00%> (ø)` | | | [contracts/base/ERC7739Validator.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2Fbase%2FERC7739Validator.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL2Jhc2UvRVJDNzczOVZhbGlkYXRvci5zb2w=) | `91.66% <91.66%> (ø)` | | | [contracts/Nexus.sol](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree&filepath=contracts%2FNexus.sol&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy#diff-Y29udHJhY3RzL05leHVzLnNvbA==) | `85.05% <77.77%> (+1.61%)` | :arrow_up: | | ... and [4 more](https://app.codecov.io/gh/bcnmy/nexus/pull/192?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy) | | ... and [22 files with indirect coverage changes](https://app.codecov.io/gh/bcnmy/nexus/pull/192/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy) ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/bcnmy/nexus/pull/192?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://app.codecov.io/gh/bcnmy/nexus/pull/192?dropdown=coverage&src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy). Last update [31d8645...72ed2b8](https://app.codecov.io/gh/bcnmy/nexus/pull/192?dropdown=coverage&src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy).