mirror of
https://github.com/Instadapp/smart-contract.git
synced 2024-07-29 22:08:07 +00:00
fixed cAddresses in dydx import
This commit is contained in:
parent
c9eaed28e4
commit
68fd33ea6d
|
@ -11,6 +11,10 @@ interface ERC20Interface {
|
||||||
function withdraw(uint) external;
|
function withdraw(uint) external;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface InstaCompoundMapping {
|
||||||
|
function ctokenAddrs(address) external view returns (address);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
contract SoloMarginContract {
|
contract SoloMarginContract {
|
||||||
|
|
||||||
|
@ -133,6 +137,13 @@ contract Helpers is DSMath {
|
||||||
liqAddr = 0x1564D040EC290C743F67F5cB11f3C1958B39872A;
|
liqAddr = 0x1564D040EC290C743F67F5cB11f3C1958B39872A;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dev get InstaDApp Compound Mapping Address
|
||||||
|
*/
|
||||||
|
function getCompMappingAddr() public pure returns (address compMap) {
|
||||||
|
compMap = 0x3e980fB77B2f63613cDDD3C130E4cc10E90Ad6d1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev setting allowance to dydx for the "user proxy" if required
|
* @dev setting allowance to dydx for the "user proxy" if required
|
||||||
*/
|
*/
|
||||||
|
@ -204,6 +215,7 @@ contract ImportHelper is Helpers {
|
||||||
struct BorrowData {
|
struct BorrowData {
|
||||||
uint[] borrowAmt;
|
uint[] borrowAmt;
|
||||||
address[] borrowAddr;
|
address[] borrowAddr;
|
||||||
|
address[] borrowCAddr;
|
||||||
uint[] marketId;
|
uint[] marketId;
|
||||||
uint borrowCount;
|
uint borrowCount;
|
||||||
}
|
}
|
||||||
|
@ -226,6 +238,7 @@ contract ImportHelper is Helpers {
|
||||||
borrowDataArr.borrowAmt = new uint[](markets);
|
borrowDataArr.borrowAmt = new uint[](markets);
|
||||||
borrowDataArr.marketId = new uint[](markets);
|
borrowDataArr.marketId = new uint[](markets);
|
||||||
borrowDataArr.borrowAddr = new address[](markets);
|
borrowDataArr.borrowAddr = new address[](markets);
|
||||||
|
borrowDataArr.borrowCAddr = new address[](markets);
|
||||||
uint borrowCount = 0;
|
uint borrowCount = 0;
|
||||||
uint supplyCount = 0;
|
uint supplyCount = 0;
|
||||||
|
|
||||||
|
@ -238,8 +251,10 @@ contract ImportHelper is Helpers {
|
||||||
supplyDataArr.marketId[supplyCount] = i;
|
supplyDataArr.marketId[supplyCount] = i;
|
||||||
supplyCount++;
|
supplyCount++;
|
||||||
} else {
|
} else {
|
||||||
|
address erc20 = solo.getMarketTokenAddress(i);
|
||||||
borrowDataArr.borrowAmt[borrowCount] = wmul(tokenbal, toConvert);
|
borrowDataArr.borrowAmt[borrowCount] = wmul(tokenbal, toConvert);
|
||||||
borrowDataArr.borrowAddr[borrowCount] = solo.getMarketTokenAddress(i);
|
borrowDataArr.borrowAddr[borrowCount] = erc20;
|
||||||
|
borrowDataArr.borrowCAddr[borrowCount] = InstaCompoundMapping(getCompMappingAddr()).ctokenAddrs(erc20 == getAddressWETH() ? getAddressETH() : erc20);
|
||||||
borrowDataArr.marketId[borrowCount] = i;
|
borrowDataArr.marketId[borrowCount] = i;
|
||||||
borrowCount++;
|
borrowCount++;
|
||||||
}
|
}
|
||||||
|
@ -320,7 +335,7 @@ contract ImportResolver is ImportHelper {
|
||||||
|
|
||||||
// Get liquidity assets to payback user wallet borrowed assets
|
// Get liquidity assets to payback user wallet borrowed assets
|
||||||
if (borrowArr.borrowCount > 0) {
|
if (borrowArr.borrowCount > 0) {
|
||||||
PoolInterface(getPoolAddress()).accessToken(borrowArr.borrowAddr, borrowArr.borrowAmt, isCompound);
|
PoolInterface(getPoolAddress()).accessToken(borrowArr.borrowCAddr, borrowArr.borrowAmt, isCompound);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creating actions args for solo operate
|
// Creating actions args for solo operate
|
||||||
|
@ -333,7 +348,7 @@ contract ImportResolver is ImportHelper {
|
||||||
|
|
||||||
//payback InstaDApp liquidity
|
//payback InstaDApp liquidity
|
||||||
if (borrowArr.borrowCount > 0) {
|
if (borrowArr.borrowCount > 0) {
|
||||||
PoolInterface(getPoolAddress()).paybackToken(borrowArr.borrowAddr, isCompound);
|
PoolInterface(getPoolAddress()).paybackToken(borrowArr.borrowCAddr, isCompound);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint finalPoolBal = getPoolAddress().balance;
|
uint finalPoolBal = getPoolAddress().balance;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user