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);
 | 
						|
}
 |