Abstract
This bounty will update the OpenZeppelin Defender autotasks to support a PoolTogether Prize Pool on Optimism. This is in support of Project: Optimism.
Motivation
Optimism is an Ethereum L2 with significantly lower transaction costs than Ethereum. Our Ethereum users will be able to migrate their funds to Optimism to take advantage of lower fees.
Additionally, Optimism is launching an incentive program for dapps. By deploying, PoolTogether will become eligible to receive incentives.
Rationale
OpenZeppelin Defender is used for automated transactions at PoolTogether. The operations team has funded the Defender relayers, so we should continue to use that infrastructure.
Deliverables
There are two sets of deliverables for this bounty, and an expectation to support other contributors until the project has been delivered.
The deliverables will occur in two stages:
- a testnet deployment
- a production deployment.
There will be a gap in time between the testnet deployment and the production deployment. After the testnet is deployed, the other team members of Project: Optimism will start building. Once the whole team is ready to deploy, then the production deployment will continue.
Testnet Deployment
- update
v4-beacon-rinkeby-lockandpush-autotask
module - update
v4-receiver-mumbai-lockandpush-autotask
module - update
v4-receiver-fuji-lockandpush-autotask
module - create
v4-receiver-optimismKovan-lockandpush-autoask
module - create
v4-optimismKovan-prizeflush-autotask
module
Mainnet Deployment
- update
v4-beacon-rinkeby-lockandpush-autotask
module - update
v4-receiver-mumbai-lockandpush-autotask
module - update
v4-receiver-fuji-lockandpush-autotask
module - create
v4-receiver-optimismMainnet-lockandpush-autoask
module - create
v4-optimismMainnet-prizeflush-autotask
module
Specification
Testnet Deployment
Updates
The v4-beacon-rinkeby-lockandpush-autotask
and v4-receiver-[TESTNET]-lockandpush-autotask
modules need to be aware of the new network. Add the Optimism testnet chainId
and providerUrl
to the allPrizePoolNetworkChains
list.
The v4-optimismMainnet-prizeflush-autotask
module should match the other Prize flush modules except for the chainId
and providerUrl
parameters.
Creates
The new v4-receiver-optimism-lockandpush-autoask
should look similar to other receiver chain autotask modules. The difference being the receiverChain
parameter should have the Optimism testnet chainId
and providerUrl
set.
Mainnet Deployment
Updates
The v4-beacon-ethereum-lockandpush-autotask
and v4-receiver-[MAINNET]-lockandpush-autotask
modules need to be aware of the new network. Add the Optimism mainnet chainId
and providerUrl
to the allPrizePoolNetworkChains
list.
Creates
The new v4-receiver-optimism-lockandpush-autoask
should look similar to other receiver chain autotask modules. The difference being the receiverChain
parameter should have the Optimism testnet chainId
and providerUrl
set.
The v4-optimismKivan-prizeflush-autotask
module should match the other Prize flush modules except for the chainId
and providerUrl
parameters.
Skills
Required
- Fluent in JavaScript and Typescript
- Experience with Ethers.js
Nice to Have
- Knowledge of OpenZeppelin Defender autotasks
- Knowledge of PoolTogether prize pool operation
Reviewers
Kames and Pierrick will be reviewing the submission and are available for mentorship.
Budget
Total: $1,000 USDC and 100 POOL
Estimated Time: 3-5 hours
Timeline:
- 50% will be paid after the Optimism-Kovan deployment
- 50% will be paid after Optimism-Mainnet deployment
Payout will be at full discretion of the reviewers. The requirements of the bounty and expectations of the reviewers must be met for the contributor to receive payment. It’s recommend to be in regular communication with the Bounty manager.
Recruitment
Referral Reward: 100 POOL
Know someone that can do it? Connect us with a qualified candidate. If that person is selected to complete the bounty, then you will be paid upon successful bounty completion. Reach out to Brendan for more info.