No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
SNX Staking Pool
synthetixio
Solidity
Staking SNX is a fairly complicated process with numerous strategies to optimise yield and reduce risk. There are a number of community members who have put significant effort into optimising these strategies, particularly Nocturnalsheet. The effort and skill required to optimally stake SNX presents an opportunity for staking pools managed by community members with fee structures based on performance. There are several custodial staking pools considering SNX integration including EON and Staked, however, we believe there is an opportunity for non-custodial pools.
We need a contract to be written that supports the following functionality:
General features
- Tracking of pool percentage via liquidity tokens
- locking the contract calls to whitelisted functions/addresses
For pool participants
- Depositing of SNX
- Withdrawal of SNX
- Withdrawal of staking rewards
For pool managers
- Mint/ burn with pooled SNX
- Collect fees
- Deposit to depot
- Deposit to Uniswap sETH pool
- Call exchange on SNX
- Set fee structure % of fees, or % of SNX staked or some combination of the two
*because staking rewards are escrowed for a rolling 52 weeks against the pool contract, in order for a depositor to withdraw reward SNX escrowed in the RewardsEscrow Contract https://etherscan.io/address/0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F,
the StakingPool needs a mapping to track the SNX rewards that the depositor is eligible for, so when the Pool Manager calls RewardsEscrow.vest() and the escrowed SNX rewards for the vesting period is sent to the StakingPool contract the the depositors can withdraw their allotment of the SNX rewards from the StakingPool.
*There should be some protection considerations for if the PoolManager has lost key access / gone AWOL
- that potentially a depositor can call StakingPool.vest and it proxy to RewardsEscrow.vest() and get only their SNX allotment.
- a depositor can withdraw their SNX at any-point causing the contract to do the appropriate Synth burn to release their SNX
**Deliverables**
- Smart Contracts StakingPoolFactory & StakingPool
- Working environment on TESTNET (Contact us for TESTNET SNX)
- Unit tests using truffle and JavaScript tests. See https://github.com/Synthetixio/synthetix
***Associated Bounties | links will be posted soon***
Deployment dApp so a pool manager can configure and deploy a new pool.
A dApp that displays all active pools, including the fee structure and performance. Allow users to deposit/withdraw into pools.
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (š°), learn (š), and meet (š¬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save