This template repo is a quick and easy way to get started with a new Solidity project. It comes with a number of features that are useful for developing and deploying smart contracts. Such as:
- Pre-commit hooks for formatting, auto generated documentation, and more
- Various libraries with useful contracts (OpenZeppelin, Solady) and libraries (Deployment log generation, storage checks, deployer templates)
Follow these steps to set up your local environment:
- Install foundry
- Install dependencies:
forge install
- Build contracts:
forge build
- Test contracts:
forge test
If you intend to develop on this repo, follow the steps outlined in CONTRIBUTING.md.
This repo utilizes versioned deployments. For more information on how to use forge scripts within the repo, check here.
Smart contracts are deployed or upgraded using the following command:
forge script script/Deploy.s.sol --broadcast --rpc-url <rpc_url> --verify
The documentation and architecture diagrams for the contracts within this repo can be found here. Detailed documentation generated from the NatSpec documentation of the contracts can be found here. When exploring the contracts within this repository, it is recommended to start with the interfaces first and then move on to the implementation as outlined here
If you want to contribute to this project, please check CONTRIBUTING.md first.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
© 2023 PT Services DMCC