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
Write and Test - Truffle Tests for Smart Contracts, on Forked Mainnet
amateur-dev
Solidity, JavaScript
Objective: This Bounty is for stress testing the [zUniPool Contract](https://github.com/amateur-dev/Unipool/blob/master/contracts/zUniPool.sol), using, Truffle test and Forked Mainnet.
Please go through the [ReadMe](https://github.com/amateur-dev/Unipool/blob/master/README.md) in detail.
Once you have written the complete Test Script, please submit it as a PR.
**Scope of the test:** The Scope of the test should cover, the following, **at least**:
1. First user is able to stake LP tokens at a price of 1:1
2. Second user is also able to stake LP, immediately, at a price of 1:1
3. Immediately, the First User is able to withdraw its LP with the same number of LP tokens
4. Immediately, the Second User is able to check the value of its zUNI tokens and it should return, at least, the same number of LP tokens that it staked (or higher)
5. Third User is able to stake LP tokens, *after a week of time lapse*, but the zUNI Tokens issued to the Third User is not at a price ratio of 1:1, but lesser number of zUNI Tokens compared to the number of LP tokens staked
6. At the same time, Second User wants to burn [ `getMyStakeOut` ] a exactly half of its zUNI Tokens, and it is able to receive LP tokens.
- The LP tokens received at this stage by Second User is *higher* than *half* of the LP Tokens staked by the Second User
**Goal**: One should be able to run `truffle test test/name_of_the_script`, testing on a ganache testnet, which is run by using the `ganache-cli βfork`
**Note**: For the purpose of this test, you will be required to acquire LP tokens. You could do so, {in the forked mainnnet}, by calling the function `LetsInvest(address _TokenContractAddress, address _towhomtoissue)` in the [UnipoolGeneralZap Smart Contract](https://github.com/amateur-dev/Unipool/blob/master/contracts/Unipool_GeneralZap_Flat.sol), running on the mainnet at `0x97402249515994Cc0D22092D3375033Ad0ea438A`.
Additional Token Information, for ease of reference:
sETH Token Address: `0x5e74c9036fb86bd7ecdcb084a0673efc32ea31cb`
sETH_LP_Address: `0xe9Cf7887b93150D4F2Da7dFc6D502B216438F244`
Original UniPool: `0x48D7f315feDcaD332F68aafa017c7C158BC54760` {the contract developed and deployed by Synthetix Team}
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