- Clone this repo:
git clone [email protected]:pooltogether/pooltogether-contracts-template.git <DESTINATION REPO>
- Create repo using Github GUI
- Set remote repo (
git remote add origin [email protected]:pooltogether/<NAME_OF_NEW_REPO>.git
), - Checkout a new branch (
git checkout -b name_of_new_branch
) - Begin implementing as appropriate.
- Update this README
This repo is setup to compile (nvm use && yarn compile
) and successfully pass tests (yarn test
)
The minimal proxy factory is a powerful pattern used throughout PoolTogethers smart contracts. A typescript package is available to use a generic deployed instance. This is typically used in the deployment script.
The generic registry is a iterable singly linked list data structure that is commonly used throughout PoolTogethers contracts. Consider using this where appropriate or deploying in a seperate repo such as the (Prize Pool Registry)[https://github.com/pooltogether/pooltogether-prizepool-registry.
Install the repo and dependencies by running:
yarn
These contracts can be deployed to a network by running:
yarn deploy <networkName>
These contracts can be verified on Etherscan, or an Etherscan clone, for example (Polygonscan) by running:
yarn etherscan-verify <ethereum network name>
or yarn etherscan-verify-polygon matic
Run the unit tests locally with:
yarn test
Generate the test coverage report with:
yarn coverage