Skip to content

Uniswap/contracts

Repository files navigation

Template Repo (Foundry)

CI Status

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)

Table of Contents

Setup

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.

Deployment

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

Docs

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

Contributing

If you want to contribute to this project, please check CONTRIBUTING.md first.