This repository serves as a comprehensive foundation for smart contract projects, streamlining the development process with a focus on best practices, security, and efficiency.
Documentation: (https://github.com/bcnmy/nexus/wiki)
- Nexus - ERC-7579 Modular Smart Account Base π
To kickstart, follow these steps:
- Node.js (v18.x or later)
- Yarn (or npm)
- Foundry (Refer to Foundry installation instructions)
- Clone the repository:
git clone https://github.com/bcnmy/nexus.git
cd nexus- Install dependencies:
yarn installUnfortunately, one of the dependencies does not populate the package.json file. That prevents hardhat from building the project successfully, while Foundry builds just fine.
So you may want to add this package.json manually.
After doing yarn install, you can do:
cd node_modules/prep
touch package.jsonthen add the following content to the package.json file:
{
"name": "prep",
"version": "0.0.0",
"private": true,
"dependencies": {}
}Execute key operations for Foundry and Hardhat with these scripts. Append :forge or :hardhat to run them in the respective environment.
yarn buildCompiles contracts for both Foundry and Hardhat.
yarn testCarries out tests to verify contract functionality.
yarn test:gasCreates detailed reports for test coverage.
yarn coverageCreates detailed reports for test coverage.
yarn docsGenerate documentation from NatSpec comments.
Nexus contracts are pre-deployed on most EVM chains. Please see the addresses here.
If you need to deploy Nexus on your own chain or you want to deploy the contracts with different addresses, please see this script. Or the same script on different deploy branches.
yarn lintChecks code for style and potential errors.
yarn lint:fixAutomatically fixes linting problems found.
yarn checkTo generate reports of the storage layout for potential upgrades safety using hardhat-storage-layout.
π Add :forge or :hardhat to any script above to target only Foundry or Hardhat environment, respectively.
| Auditor | Date | Final Report Link |
|---|---|---|
| CodeHawks-Cyfrin | 17-09-2024 | View Report |
| Spearbit | 10/11-2024 | View Report / View Add-on |
| Zenith | 03-2025 | View Report |
| Pashov | 03-2025 | View Report |
This project is licensed under the MIT License. See the LICENSE file for details.