https://github.com/generationsoftware/ez-deposit
Contribute easily to a prize pool
https://github.com/generationsoftware/ez-deposit
Last synced: 7 months ago
JSON representation
Contribute easily to a prize pool
- Host: GitHub
- URL: https://github.com/generationsoftware/ez-deposit
- Owner: GenerationSoftware
- Created: 2024-04-19T17:50:13.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-20T19:31:02.000Z (about 1 year ago)
- Last Synced: 2025-03-20T20:54:45.863Z (about 1 year ago)
- Language: Solidity
- Homepage:
- Size: 19.5 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EzDepositor
Easily contribute directly to PoolTogether V5 prize pools.
Want to pump vaults? Contribute prizes to the prize pool on their behalf.
---
Deployed on Optimism and verified on Etherscan at [0x68A100A3729Fc04ab26Fb4C0862Df22CEec2f18B](https://optimistic.etherscan.io/address/0x68A100A3729Fc04ab26Fb4C0862Df22CEec2f18B#writeContract)
[Prize Pool on Optimism](https://optimistic.etherscan.io/address/0xF35fE10ffd0a9672d0095c435fd8767A7fe29B55)
---
Deployed on Base and verified on Etherscan at [0x4E30C0a8cCE76940D87ae62EB12f3Ac536A996F4](https://basescan.org/address/0x4e30c0a8cce76940d87ae62eb12f3ac536a996f4#writeContract)
[Prize Pool on Base](https://basescan.org/address/0x45b2010d8A4f08b53c9fa7544C51dFd9733732cb)
---
Deployed on Arbitrum and verified on Etherscan at [0x5f9292672e33B76b70Dea44163c780376B4da397](https://arbiscan.io/address/0x5f9292672e33b76b70dea44163c780376b4da397#writeContract)
[Prize Pool on Arbitrum](https://arbiscan.io/address/0x52e7910c4c287848c8828e8b17b8371f4ebc5d42)
---
Deployed on Ethereum Mainnet and verified on Etherscan at [0x84882EB46dA981d1aD2f154359061942Ca1c062f](https://etherscan.io/address/0x84882eb46da981d1ad2f154359061942ca1c062f#writeContract)
[Prize Pool on Ethereum](https://etherscan.io/address/0x7865d01da4c9ba2f69b7879e6d2483ab6b354d95)
--
Deployed on Scroll Mainnet and verified on Etherscan at [0xbdf6bd9bde192861bd8e0e0a11dad71f178a34c8](https://scrollscan.com/address/0xbdf6bd9bde192861bd8e0e0a11dad71f178a34c8#writeContract)
[Prize Pool on Scroll](https://scrollscan.com/address/0xa6ecd65c3eecdb59c2f74956ddf251ab5d899845)
---
Deployed on Gnosis Mainnet and verified on Etherscan at [0x69fc8095b949c0ff703ead99bf7d6620843c37ef](https://gnosisscan.io/address/0x69fc8095b949c0ff703ead99bf7d6620843c37ef#writeContract)
[Prize Pool on Gnosis](https://gnosisscan.io/address/0x0c08c2999e1a14569554eddbcda9da5e1918120)
---
Deployed on World Mainnet and verified on Etherscan at [0x8fa49ebd94A68272579AAa71b41fE3A3Bf110fE0](https://worldscan.org/address/0x8fa49ebd94a68272579aaa71b41fe3a3bf110fe0#writeContract)
[Prize Pool on World](https://worldscan.org/address/0x99ffb0a6c0cd543861c8de84dd40e059fd867dcf)
---
## Contributing Prizes
1. First approve prize token spending by the EzDepositor.
- [WETH on Optimism](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006#writeContract#F1)
- [WETH on Base](https://basescan.org/token/0x4200000000000000000000000000000000000006#writeContract)
- [WETH on Arbitrum](https://arbiscan.io/address/0x5f9292672e33b76b70dea44163c780376b4da397#writeContract)
- [WETH on Ethereum](https://etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2#writeContract)
- [WETH on Scroll](https://scrollscan.com/address/0x5300000000000000000000000000000000000004)
- [WXDAI on Gnosis](https://gnosisscan.io/address/0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d)
- [WLD on World](https://worldscan.org/address/0x2cFc85d8E48F8EAB294be644d9E25C3030863003)
2. Call `contribute()` with the prize pool address, your desired vault address, and the amount of WETH you want to contribute.
## Development
### Installation
You may have to install the following tools to use this repository:
- [Foundry](https://github.com/foundry-rs/foundry) to compile and test contracts
- [direnv](https://direnv.net/) to handle environment variables
- [lcov](https://github.com/linux-test-project/lcov) to generate the code coverage report
Install dependencies:
```
npm i
```
### Env
Copy `.envrc.example` and write down the env variables needed to run this project.
```
cp .envrc.example .envrc
```
Once your env variables are setup, load them with:
```
direnv allow
```
### Compile
Run the following command to compile the contracts:
```
npm run compile
```
### Coverage
Forge is used for coverage, run it with:
```
npm run coverage
```
You can then consult the report by opening `coverage/index.html`:
```
open coverage/index.html
```
### Code quality
[Husky](https://typicode.github.io/husky/#/) is used to run [lint-staged](https://github.com/okonet/lint-staged) and tests when committing.
[Prettier](https://prettier.io) is used to format TypeScript and Solidity code. Use it by running:
```
npm run format
```
[Solhint](https://protofire.github.io/solhint/) is used to lint Solidity files. Run it with:
```
npm run hint
```
### CI
A default Github Actions workflow is setup to execute on push and pull request.
It will build the contracts and run the test coverage.
You can modify it here: [.github/workflows/coverage.yml](.github/workflows/coverage.yml)
For the coverage to work, you will need to setup the `MAINNET_RPC_URL` repository secret in the settings of your Github repository.