-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Objective: This Bounty is for stress testing the zUniPool Contract, using, Truffle test and Forked Mainnet.
Please go through the ReadMe 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:
- First user is able to stake LP tokens at a price of 1:1
- Second user is also able to stake LP, immediately, at a price of 1:1
- Immediately, the First User is able to withdraw its LP with the same number of LP tokens
- 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)
- 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
- 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, 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}