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/2d nonce helpers #173

Closed livingrockrises closed 1 month ago

livingrockrises commented 1 month ago

adds 2D nonce support by packing 3 bytes batchId into most significant 3 bytes of 24 byte (uint192) nonceKey. no changes required in NonceLib.sol

openzeppelin-code[bot] commented 1 month ago

Feat/2d nonce helpers

Generated at commit: ce3b995581c868a3a0905866023ee005512d23fd

🚨 Report Summary

Severity Level Results
Contracts Critical
High
Medium
Low
Note
Total
0
1
0
7
25
33

For more details view the full report in OpenZeppelin Code Inspector

codecov[bot] commented 1 month ago

Codecov Report

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

Project coverage is 86.40%. Comparing base (a98c93f) to head (d8f5420). Report is 6 commits behind head on dev.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## dev #173 +/- ## ======================================= Coverage 86.40% 86.40% ======================================= Files 14 14 Lines 905 905 Branches 266 244 -22 ======================================= Hits 782 782 Misses 109 109 Partials 14 14 ``` ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/bcnmy/nexus/pull/173?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/173?dropdown=coverage&src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=bcnmy). Last update [a98c93f...d8f5420](https://app.codecov.io/gh/bcnmy/nexus/pull/173?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 [Bootstrap]([utils/RegistryBootstrap.sol#L33-L165](https://github.com/bcnmy/nexus/blob/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/utils/RegistryBootstrap.sol#L33-L165)) has payable functions: - [ModuleManager.receive()]([base/ModuleManager.sol#L65](https://github.com/bcnmy/nexus/blob/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/base/ModuleManager.sol#L65)) - [ModuleManager.fallback(bytes)]([base/ModuleManager.sol#L68-L70](https://github.com/bcnmy/nexus/blob/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/base/ModuleManager.sol#L68-L70)) But does not have a function to withdraw the ether [utils/RegistryBootstrap.sol#L33-L165](https://github.com/bcnmy/nexus/blob/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/utils/RegistryBootstrap.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/e75c3ea1969112df8c16a2d15fb973131b39f916/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/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/base/ERC7739Validator.sol#L280-L288)) [base/ERC7739Validator.sol#L279-L309](https://github.com/bcnmy/nexus/blob/e75c3ea1969112df8c16a2d15fb973131b39f916/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/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/base/RegistryAdapter.sol#L10)) should be constant [base/RegistryAdapter.sol#L10](https://github.com/bcnmy/nexus/blob/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/base/RegistryAdapter.sol#L10) - [ ] ID-3 [RegistryFactory.threshold]([factory/RegistryFactory.sol#L39](https://github.com/bcnmy/nexus/blob/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/factory/RegistryFactory.sol#L39)) should be constant [factory/RegistryFactory.sol#L39](https://github.com/bcnmy/nexus/blob/e75c3ea1969112df8c16a2d15fb973131b39f916/contracts/contracts/factory/RegistryFactory.sol#L39)

This comment was automatically generated by the GitHub Actions workflow.