Updated Kyber resolver

This commit is contained in:
Thrilok Kumar 2020-05-04 05:20:20 +05:30
parent 9d76dd6fa1
commit 55fc5a573e

View File

@ -70,16 +70,16 @@ contract KyberHelpers is Helpers {
function getBuyUnitAmt( function getBuyUnitAmt(
address buyAddr, address buyAddr,
uint expectedAmt,
address sellAddr, address sellAddr,
uint sellAmt, uint sellAmt,
uint expectedRate,
uint slippage uint slippage
) internal view returns (uint unitAmt) { ) internal view returns (uint unitAmt, uint _buyAmt) {
(uint _buyDec, uint _sellDec) = getTokenDecimals(buyAddr, sellAddr); (uint _buyDec, uint _sellDec) = getTokenDecimals(buyAddr, sellAddr);
unitAmt = wmul(expectedRate, sub(WAD, slippage));
uint _sellAmt = convertTo18(_sellDec, sellAmt); uint _sellAmt = convertTo18(_sellDec, sellAmt);
uint _buyAmt = convertTo18(_buyDec, expectedAmt); _buyAmt = wmul(_sellAmt, expectedRate);
unitAmt = wdiv(_buyAmt, _sellAmt); _buyAmt = convertTo18(_buyDec, _buyAmt);
unitAmt = wmul(unitAmt, sub(WAD, slippage));
} }
} }
@ -88,8 +88,8 @@ contract KyberHelpers is Helpers {
contract Resolver is KyberHelpers { contract Resolver is KyberHelpers {
function getBuyAmount(address buyAddr, address sellAddr, uint sellAmt, uint slippage) public view returns (uint buyAmt, uint unitAmt) { function getBuyAmount(address buyAddr, address sellAddr, uint sellAmt, uint slippage) public view returns (uint buyAmt, uint unitAmt) {
(buyAmt, ) = KyberInterface(getAddressKyber()).getExpectedRate(sellAddr, buyAddr, sellAmt); (uint expectedRate, ) = KyberInterface(getAddressKyber()).getExpectedRate(sellAddr, buyAddr, sellAmt);
unitAmt = getBuyUnitAmt(buyAddr, buyAmt, sellAddr, sellAmt, slippage); (unitAmt, buyAmt) = getBuyUnitAmt(buyAddr, sellAddr, sellAmt, expectedRate, slippage);
} }
} }