mirror of
				https://github.com/Instadapp/dsa-connectors.git
				synced 2024-07-29 22:37:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			128 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| // SPDX-License-Identifier: MIT
 | |
| pragma solidity ^0.7.0;
 | |
| pragma experimental ABIEncoderV2;
 | |
| 
 | |
| struct UserInfo {
 | |
| 	uint256 amount;
 | |
| 	uint256 rewardDebt;
 | |
| }
 | |
| 
 | |
| struct PoolInfo {
 | |
| 	IERC20 lpToken; // Address of LP token contract.
 | |
| 	uint256 allocPoint; // How many allocation points assigned to this pool. SUSHIs to distribute per block.
 | |
| 	uint256 lastRewardBlock; // Last block number that SUSHIs distribution occurs.
 | |
| 	uint256 accSushiPerShare; // Accumulated SUSHIs per share, times 1e12. See below.
 | |
| }
 | |
| 
 | |
| interface IERC20 {
 | |
| 	function totalSupply() external view returns (uint256);
 | |
| 
 | |
| 	function balanceOf(address account) external view returns (uint256);
 | |
| 
 | |
| 	function allowance(address owner, address spender)
 | |
| 		external
 | |
| 		view
 | |
| 		returns (uint256);
 | |
| 
 | |
| 	function approve(address spender, uint256 amount) external returns (bool);
 | |
| 
 | |
| 	event Transfer(address indexed from, address indexed to, uint256 value);
 | |
| 	event Approval(
 | |
| 		address indexed owner,
 | |
| 		address indexed spender,
 | |
| 		uint256 value
 | |
| 	);
 | |
| 
 | |
| 	/// @notice EIP 2612
 | |
| 	function permit(
 | |
| 		address owner,
 | |
| 		address spender,
 | |
| 		uint256 value,
 | |
| 		uint256 deadline,
 | |
| 		uint8 v,
 | |
| 		bytes32 r,
 | |
| 		bytes32 s
 | |
| 	) external;
 | |
| }
 | |
| 
 | |
| interface IMasterChef {
 | |
| 	function poolLength() external view returns (uint256);
 | |
| 
 | |
| 	function updatePool(uint256 pid) external returns (PoolInfo memory);
 | |
| 
 | |
| 	function poolInfo(uint256 pid)
 | |
| 		external
 | |
| 		view
 | |
| 		returns (
 | |
| 			address,
 | |
| 			uint256,
 | |
| 			uint256,
 | |
| 			uint256
 | |
| 		);
 | |
| 
 | |
| 	function userInfo(uint256 _pid, address _user)
 | |
| 		external
 | |
| 		view
 | |
| 		returns (uint256, uint256);
 | |
| 
 | |
| 	function deposit(uint256 pid, uint256 amount) external;
 | |
| 
 | |
| 	function withdraw(uint256 pid, uint256 amount) external;
 | |
| 
 | |
| 	function emergencyWithdraw(uint256 pid, address to) external;
 | |
| }
 | |
| 
 | |
| interface IMasterChefV2 {
 | |
| 	function poolLength() external view returns (uint256);
 | |
| 
 | |
| 	function updatePool(uint256 pid) external returns (PoolInfo memory);
 | |
| 
 | |
| 	function lpToken(uint256 pid) external view returns (address);
 | |
| 
 | |
| 	function userInfo(uint256 _pid, address _user)
 | |
| 		external
 | |
| 		view
 | |
| 		returns (uint256, uint256);
 | |
| 
 | |
| 	function deposit(
 | |
| 		uint256 pid,
 | |
| 		uint256 amount,
 | |
| 		address to
 | |
| 	) external;
 | |
| 
 | |
| 	function withdraw(
 | |
| 		uint256 pid,
 | |
| 		uint256 amount,
 | |
| 		address to
 | |
| 	) external;
 | |
| 
 | |
| 	function emergencyWithdraw(uint256 pid, address to) external;
 | |
| 
 | |
| 	function harvest(uint256 pid, address to) external;
 | |
| 
 | |
| 	function withdrawAndHarvest(
 | |
| 		uint256 pid,
 | |
| 		uint256 amount,
 | |
| 		address to
 | |
| 	) external;
 | |
| }
 | |
| 
 | |
| interface ISushiSwapFactory {
 | |
| 	function getPair(address tokenA, address tokenB)
 | |
| 		external
 | |
| 		view
 | |
| 		returns (address pair);
 | |
| 
 | |
| 	function allPairs(uint256) external view returns (address pair);
 | |
| 
 | |
| 	function allPairsLength() external view returns (uint256);
 | |
| 
 | |
| 	function feeTo() external view returns (address);
 | |
| 
 | |
| 	function feeToSetter() external view returns (address);
 | |
| 
 | |
| 	function createPair(address tokenA, address tokenB)
 | |
| 		external
 | |
| 		returns (address pair);
 | |
| }
 | 
