Implementated Limit Orders and Fees.

This commit is contained in:
Sowmayjain 2018-11-24 22:04:08 +05:30
parent 3a9322b72c
commit 8f6d79138b

View File

@ -1,5 +1,3 @@
// limit order event
pragma solidity ^0.4.24; pragma solidity ^0.4.24;
import "openzeppelin-solidity/contracts/math/SafeMath.sol"; import "openzeppelin-solidity/contracts/math/SafeMath.sol";
@ -58,6 +56,7 @@ contract Trade is Registry {
uint destAmt, uint destAmt,
address beneficiary, address beneficiary,
uint minConversionRate, uint minConversionRate,
uint fees,
address affiliate address affiliate
); );
@ -94,7 +93,7 @@ contract Trade is Registry {
Kyber kyberFunctions = Kyber(getAddress("kyber")); Kyber kyberFunctions = Kyber(getAddress("kyber"));
destAmt = kyberFunctions.trade.value(ethQty)( destAmt = kyberFunctions.trade.value(ethQty)(
src, src,
srcAmt, srcAmtAfterFees,
dest, dest,
trader, trader,
2**256 - 1, 2**256 - 1,
@ -104,11 +103,12 @@ contract Trade is Registry {
emit KyberTrade( emit KyberTrade(
src, src,
srcAmt, srcAmtAfterFees,
dest, dest,
destAmt, destAmt,
trader, trader,
minConversionRate, minConversionRate,
fees,
getAddress("admin") getAddress("admin")
); );
@ -154,6 +154,8 @@ contract Trade is Registry {
tokenFunctions.transferFrom(trader, address(this), srcAmt); tokenFunctions.transferFrom(trader, address(this), srcAmt);
ethQty = 0; ethQty = 0;
} }
srcAmtAfterFees = srcAmt;
if (client != address(0x0)) { if (client != address(0x0)) {
fees = srcAmt / 400; // 0.25% fees = srcAmt / 400; // 0.25%
srcAmtAfterFees = srcAmt - fees; srcAmtAfterFees = srcAmt - fees;
@ -166,7 +168,7 @@ contract Trade is Registry {
} }
contract MoatKyber is Trade { contract InstaKyber is Trade {
event FeesCollected(address tokenAddr, uint amount); event FeesCollected(address tokenAddr, uint amount);