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

feat: helper config for deployment and cleanup #201

Closed VGabriel45 closed 1 month ago

github-actions[bot] commented 1 month ago

Changes to gas cost

Generated at commit: 1098999dfae14f32714afb95e3c111216859f7db, compared to commit: 79376bc4f680f66be81353e5568a5c2b1efd1ca2

🧾 Summary (5% most significant diffs)

Contract Method Avg (+/-) %
MockPaymaster addStake -145 ✅ -0.24%
Nexus validateUserOp -1 ✅ -0.01%

Full diff report 👇
| Contract | Deployment Cost (+/-) | Method | Min (+/-) | % | Avg (+/-) | % | Median (+/-) | % | Max (+/-) | % | # Calls (+/-) | |:-|-:|:-|-:|-:|-:|-:|-:|-:|-:|-:|-:| | **MockPaymaster** | 1,063,705 (0) | _addStake_ | 60,354 (-145) | **-0.24%** | 60,354 (-145) | **-0.24%** | 60,354 (-145) | **-0.24%** | 60,354 (-145) | **-0.24%** | 15 (0) | | **Nexus** | 4,725,867 (0) | _validateUserOp_ | 13,859 (0) | **0.00%** | 15,430 (-1) | **-0.01%** | 13,859 (0) | **0.00%** | 42,628 (-112) | **-0.26%** | 347 (0) |
codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 85.68%. Comparing base (01fbf8d) to head (5b8723c). Report is 3 commits behind head on dev.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## dev #201 +/- ## ======================================= Coverage 85.68% 85.68% ======================================= Files 14 14 Lines 943 943 Branches 256 278 +22 ======================================= Hits 808 808 Misses 120 120 Partials 15 15 ``` ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/bcnmy/nexus/pull/201?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/201?dropdown=coverage&src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy). Last update [e8ba67f...5b8723c](https://app.codecov.io/gh/bcnmy/nexus/pull/201?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).
github-actions[bot] commented 1 month ago

:robot: Slither Analysis Report :mag_right:

Slither report

# Slither report **THIS CHECKLIST IS NOT COMPLETE**. Use `--show-ignored-findings` to show all the results. Summary :yellow_circle: - [locked-ether](#locked-ether) (1 results) (Medium) :yellow_circle: - [unused-return](#unused-return) (1 results) (Medium) - [constable-states](#constable-states) (2 results) (Optimization) ## locked-ether :yellow_circle: Impact: Medium :red_circle: Confidence: High - [ ] ID-0 Contract locking ether found: Contract [NexusBootstrap]([utils/NexusBootstrap.sol#L33-L165](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/utils/NexusBootstrap.sol#L33-L165)) has payable functions: - [ModuleManager.receive()]([base/ModuleManager.sol#L64](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/base/ModuleManager.sol#L64)) - [ModuleManager.fallback(bytes)]([base/ModuleManager.sol#L67-L69](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/base/ModuleManager.sol#L67-L69)) But does not have a function to withdraw the ether [utils/NexusBootstrap.sol#L33-L165](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/utils/NexusBootstrap.sol#L33-L165) ## unused-return :yellow_circle: Impact: Medium :yellow_circle: Confidence: Medium - [ ] ID-1 [ERC7739Validator._hashTypedDataForAccount(address,bytes32)]([base/ERC7739Validator.sol#L279-L309](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/base/ERC7739Validator.sol#L279-L309)) ignores return value by [(name,version,chainId,verifyingContract) = EIP712(account).eip712Domain()]([base/ERC7739Validator.sol#L280-L288](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/base/ERC7739Validator.sol#L280-L288)) [base/ERC7739Validator.sol#L279-L309](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/base/ERC7739Validator.sol#L279-L309) ## constable-states Impact: Optimization :red_circle: Confidence: High - [ ] ID-2 [RegistryAdapter.registry]([base/RegistryAdapter.sol#L10](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/base/RegistryAdapter.sol#L10)) should be constant [base/RegistryAdapter.sol#L10](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/base/RegistryAdapter.sol#L10) - [ ] ID-3 [RegistryFactory.threshold]([factory/RegistryFactory.sol#L39](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/factory/RegistryFactory.sol#L39)) should be constant [factory/RegistryFactory.sol#L39](https://github.com/bcnmy/nexus/blob/1098999dfae14f32714afb95e3c111216859f7db/contracts/contracts/factory/RegistryFactory.sol#L39)

This comment was automatically generated by the GitHub Actions workflow.