mirror of
				https://github.com/Instadapp/dsa-connectors-old.git
				synced 2024-07-29 22:47:46 +00:00 
			
		
		
		
	update getMappingAddr with virtual;
Update MockSynthetix to override getMappingAddr; Update test case for adding and removing pool on mapping;
This commit is contained in:
		
							parent
							
								
									df61aebc58
								
							
						
					
					
						commit
						9ce77c1336
					
				|  | @ -27,7 +27,7 @@ contract SynthetixStakingHelper is DSMath, Stores { | |||
|   /** | ||||
|    * @dev Return InstaDApp Synthetix Mapping Addresses | ||||
|    */ | ||||
|   function getMappingAddr() internal pure returns (address) { | ||||
|   function getMappingAddr() virtual internal view returns (address) { | ||||
|     return 0xe81F70Cc7C0D46e12d70efc60607F16bbD617E88; // InstaMapping Address | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,23 +1,26 @@ | |||
| pragma solidity ^0.6.0; | ||||
| pragma experimental ABIEncoderV2; | ||||
| 
 | ||||
| import { ConnectSynthetixStaking } from "../connectors/synthetix.sol"; | ||||
| 
 | ||||
| contract MockSynthetixStaking is ConnectSynthetixStaking{ | ||||
|   address public synthetixStakingAddr; | ||||
|   address public instaMappingAddr; | ||||
| 
 | ||||
|   constructor(address _synthetixStakingAddr) public { | ||||
|   constructor(address _synthetixStakingAddr, address _instaMappingAddr) public { | ||||
|     synthetixStakingAddr = _synthetixStakingAddr; | ||||
|     instaMappingAddr = _instaMappingAddr; | ||||
|   } | ||||
| 
 | ||||
|   // function getSynthetixStakingAddr(address token) override internal returns (address) { | ||||
|   //   return synthetixStakingAddr; | ||||
|   // } | ||||
| 
 | ||||
|   function emitEvent(bytes32 eventCode, bytes memory eventData) override internal {} | ||||
| 
 | ||||
|   function getSnxAddr() override internal view returns (address) { | ||||
|     return synthetixStakingAddr; | ||||
|   } | ||||
| 
 | ||||
|   function getMappingAddr() override internal view returns (address) { | ||||
|     return instaMappingAddr; | ||||
|   } | ||||
| 
 | ||||
|   function setUint(uint setId, uint val) override internal {} | ||||
| } | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ contract('ConnectSynthetixStaking', async accounts => { | |||
|   before(async function () { | ||||
|     mock = await MockContract.new(); | ||||
|     mockInstaMapping = await MockInstaMapping.new(); | ||||
|     mockSynthetixStaking = await MockSynthetixStaking.new(mock.address); | ||||
|     mockSynthetixStaking = await MockSynthetixStaking.new(mock.address, mockInstaMapping.address); | ||||
|     stakingContract = new web3.eth.Contract(synthetixStaking, mock.address); | ||||
|     token = new web3.eth.Contract(erc20ABI, mock.address); | ||||
|     mockInstaMapping.addStakingMapping('snx', mock.address, mock.address); | ||||
|  | @ -41,7 +41,7 @@ contract('ConnectSynthetixStaking', async accounts => { | |||
|     await mock.givenMethodReturnBool(stake, "true"); | ||||
| 
 | ||||
|     const tx = await mockSynthetixStaking.deposit( | ||||
|       mock.address, | ||||
|       "snx", | ||||
|       10000000, | ||||
|       0, | ||||
|       0 | ||||
|  | @ -58,7 +58,7 @@ contract('ConnectSynthetixStaking', async accounts => { | |||
|     await mock.givenMethodReturnBool(reward, "true"); | ||||
| 
 | ||||
|     const tx = await mockSynthetixStaking.withdraw( | ||||
|       mock.address, | ||||
|       "snx", | ||||
|       10000000, | ||||
|       0, | ||||
|       111, | ||||
|  | @ -73,9 +73,25 @@ contract('ConnectSynthetixStaking', async accounts => { | |||
|     let reward = await stakingContract.methods.getReward().encodeABI(); | ||||
|     await mock.givenMethodReturnBool(reward, "true"); | ||||
|     const tx = await mockSynthetixStaking.claimReward( | ||||
|       mock.address, | ||||
|       "snx", | ||||
|       112 | ||||
|     ) | ||||
|     expectEvent(tx, "LogClaimedReward"); | ||||
|   }); | ||||
| 
 | ||||
|   it('cannot deposit if pool removed', async function() { | ||||
|     mockInstaMapping.removeStakingMapping('snx', mock.address); | ||||
|     // mocking stake
 | ||||
|     let stake = await stakingContract.methods.stake(10000000).encodeABI(); | ||||
|     await mock.givenMethodReturnBool(stake, "true"); | ||||
| 
 | ||||
|     const tx = mockSynthetixStaking.deposit( | ||||
|       "snx", | ||||
|       10000000, | ||||
|       0, | ||||
|       0 | ||||
|     ) | ||||
|     expectRevert(tx, "Wrong Staking Name"); | ||||
|   }); | ||||
| 
 | ||||
| }) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Lecky Lao
						Lecky Lao