mirror of
https://github.com/Instadapp/smart-contract.git
synced 2024-07-29 22:08:07 +00:00
Code cleanup and refactoring.
This commit is contained in:
parent
672952a858
commit
b73037d079
|
@ -44,6 +44,7 @@ contract UniswapPool {
|
|||
uint256 minTokens,
|
||||
uint256 deadline
|
||||
) external returns (uint256, uint256);
|
||||
|
||||
// ERC20 comaptibility for liquidity tokens
|
||||
function name() external returns (bytes32);
|
||||
function symbol() external returns (bytes32);
|
||||
|
@ -77,8 +78,7 @@ contract Helper {
|
|||
|
||||
// Get Uniswap's Exchange address from Factory Contract
|
||||
function getExchangeAddress(address _token) public view returns (address) {
|
||||
UniswapFactory uniswapMain = UniswapFactory(getAddressUniFactory());
|
||||
return uniswapMain.getExchange(_token);
|
||||
return UniswapFactory(getAddressUniFactory()).getExchange(_token);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -129,8 +129,8 @@ contract Helper {
|
|||
* @dev setting allowance to kyber for the "user proxy" if required
|
||||
* @param token is the token address
|
||||
*/
|
||||
function setApproval(address token, address exchangeAdd) internal returns (uint) {
|
||||
IERC20(token).approve(getExchangeAddress(token), 2**255);
|
||||
function setApproval(address token, address exchangeAddr) internal {
|
||||
IERC20(token).approve(exchangeAddr, 2**255);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -138,10 +138,10 @@ contract Helper {
|
|||
* @param token is the token
|
||||
*/
|
||||
function manageApproval(address token, uint srcAmt) internal returns (uint) {
|
||||
address exchangeAdd = getExchangeAddress(token);
|
||||
uint tokenAllowance = IERC20(token).allowance(address(this), exchangeAdd);
|
||||
address exchangeAddr = getExchangeAddress(token);
|
||||
uint tokenAllowance = IERC20(token).allowance(address(this), exchangeAddr);
|
||||
if (srcAmt > tokenAllowance) {
|
||||
setApproval(token, exchangeAdd);
|
||||
setApproval(token, exchangeAddr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -150,20 +150,17 @@ contract Helper {
|
|||
|
||||
contract InstaUniswapPool is Helper {
|
||||
|
||||
function addLiquidity(address token, uint maxDepositedTokens) public payable returns (uint256) {
|
||||
address uniswapExchangeAdd = getExchangeAddress(token);
|
||||
UniswapPool uniswapExchange = UniswapPool(uniswapExchangeAdd);
|
||||
uint ethQty = msg.value;
|
||||
(uint exchangeEthBal, uint exchangeTokenBal) = getBal(token, uniswapExchangeAdd);
|
||||
uint tokenToDeposit = ethQty*(exchangeTokenBal/exchangeEthBal);
|
||||
function addLiquidity(address token, uint maxDepositedTokens) public payable returns (uint256 tokensMinted) {
|
||||
address exchangeAddr = getExchangeAddress(token);
|
||||
(uint exchangeEthBal, uint exchangeTokenBal) = getBal(token, exchangeAddr);
|
||||
uint tokenToDeposit = msg.value * (exchangeTokenBal/exchangeEthBal);
|
||||
require(tokenToDeposit < maxDepositedTokens, "Token to deposit is greater than Max token to Deposit");
|
||||
manageApproval(token, tokenToDeposit);
|
||||
uint tokensMinted = uniswapExchange.addLiquidity.value(ethQty)(
|
||||
uint(0),
|
||||
tokenToDeposit,
|
||||
uint(1899063809) // 6th March 2030 GMT // no logic
|
||||
);
|
||||
|
||||
tokensMinted = UniswapPool(exchangeAddr).addLiquidity.value(msg.value)(
|
||||
uint(0),
|
||||
tokenToDeposit,
|
||||
uint(1899063809) // 6th March 2030 GMT // no logic
|
||||
);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user