---
# System prepended metadata

title: Treasury Smart Contract

---

# Treasury Smart Contract 

- We have provided your with a simple treasury smart contract and unit tests for it's functions. Treasuries store funds for your organization. Depending on your group's ideas and needs, you can utilize this treasury in any way.
    - Make sure to sync your fork on Github and update your local version with `git pull`
- While on break students should work with testing, compiling, deploying and verifying this contract.
    - Don't forget you may need to install the dependencies with `npm i` and `forge install`
- Furthermore, each member of the group must alter or add an additional function to extend the treasury and begin connecting it to their idea.
- After you have each written your own functions, you will need to write tests for these functions. 
    - Make sure to reference the tests already done for base treasury contract

- You will then need to deploy and verify this contract using the following commands:
    - `npx hardhat --network goerli deploy --contract <contract_name>`
    - `npx hardhat --network goerli verify <deployed_contract_address>`
- Lastly you will push all changes to the team member's fork for all the group members.
- You will need to write a comprehensive README.md file to for the GitHub repo. This should include a description of the project, responsibilities, and group members.
- When you return from break you will submit the contract **URL** and the **Github**.