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 install
Unfortunately, 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.json
then 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 build
Compiles contracts for both Foundry and Hardhat.
yarn test
Carries out tests to verify contract functionality.
yarn test:gas
Creates detailed reports for test coverage.
yarn coverage
Creates detailed reports for test coverage.
yarn docs
Generate 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 differnet deploy branches.
yarn lint
Checks code for style and potential errors.
yarn lint:fix
Automatically fixes linting problems found.
yarn check
To 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.