More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 8,488 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set KNC Rate | 9376608 | 1886 days ago | IN | 0 ETH | 0.00464201 | ||||
Set KNC Rate | 9297889 | 1898 days ago | IN | 0 ETH | 0.0046447 | ||||
Set KNC Rate | 9271582 | 1902 days ago | IN | 0 ETH | 0.00464201 | ||||
Send Fee To Wall... | 9271366 | 1902 days ago | IN | 0 ETH | 0.00014306 | ||||
Send Fee To Wall... | 9271363 | 1902 days ago | IN | 0 ETH | 0.00010574 | ||||
Send Fee To Wall... | 9271357 | 1902 days ago | IN | 0 ETH | 0.00014306 | ||||
Send Fee To Wall... | 9271355 | 1902 days ago | IN | 0 ETH | 0.0001244 | ||||
Send Fee To Wall... | 9271353 | 1902 days ago | IN | 0 ETH | 0.00010574 | ||||
Send Fee To Wall... | 9271352 | 1902 days ago | IN | 0 ETH | 0.00014306 | ||||
Send Fee To Wall... | 9271350 | 1902 days ago | IN | 0 ETH | 0.00010571 | ||||
Send Fee To Wall... | 9271337 | 1902 days ago | IN | 0 ETH | 0.00010574 | ||||
Send Fee To Wall... | 9271335 | 1902 days ago | IN | 0 ETH | 0.00010574 | ||||
Send Fee To Wall... | 9271327 | 1902 days ago | IN | 0 ETH | 0.00010574 | ||||
Send Fee To Wall... | 9271325 | 1902 days ago | IN | 0 ETH | 0.00010574 | ||||
Send Fee To Wall... | 9271323 | 1902 days ago | IN | 0 ETH | 0.00010574 | ||||
Burn Reserve Fee... | 9271319 | 1902 days ago | IN | 0 ETH | 0.00012169 | ||||
Send Fee To Wall... | 9098058 | 1933 days ago | IN | 0 ETH | 0.00031106 | ||||
Send Fee To Wall... | 9098057 | 1933 days ago | IN | 0 ETH | 0.00031106 | ||||
Send Fee To Wall... | 9098054 | 1933 days ago | IN | 0 ETH | 0.00031106 | ||||
Send Fee To Wall... | 9098052 | 1933 days ago | IN | 0 ETH | 0.00038606 | ||||
Send Fee To Wall... | 9098049 | 1933 days ago | IN | 0 ETH | 0.00031106 | ||||
Send Fee To Wall... | 9098042 | 1933 days ago | IN | 0 ETH | 0.00031106 | ||||
Send Fee To Wall... | 9098038 | 1933 days ago | IN | 0 ETH | 0.00031106 | ||||
Send Fee To Wall... | 9098035 | 1933 days ago | IN | 0 ETH | 0.00031106 | ||||
Send Fee To Wall... | 9098021 | 1933 days ago | IN | 0 ETH | 0.00031106 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
FeeBurner
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-01-03 */ pragma solidity 0.4.18; // File: contracts/FeeBurnerInterface.sol interface FeeBurnerInterface { function handleFees (uint tradeWeiAmount, address reserve, address wallet) public returns(bool); function setReserveData(address reserve, uint feesInBps, address kncWallet) public; } // File: contracts/ERC20Interface.sol // https://github.com/ethereum/EIPs/issues/20 interface ERC20 { function totalSupply() public view returns (uint supply); function balanceOf(address _owner) public view returns (uint balance); function transfer(address _to, uint _value) public returns (bool success); function transferFrom(address _from, address _to, uint _value) public returns (bool success); function approve(address _spender, uint _value) public returns (bool success); function allowance(address _owner, address _spender) public view returns (uint remaining); function decimals() public view returns(uint digits); event Approval(address indexed _owner, address indexed _spender, uint _value); } // File: contracts/PermissionGroups.sol contract PermissionGroups { address public admin; address public pendingAdmin; mapping(address=>bool) internal operators; mapping(address=>bool) internal alerters; address[] internal operatorsGroup; address[] internal alertersGroup; uint constant internal MAX_GROUP_SIZE = 50; function PermissionGroups() public { admin = msg.sender; } modifier onlyAdmin() { require(msg.sender == admin); _; } modifier onlyOperator() { require(operators[msg.sender]); _; } modifier onlyAlerter() { require(alerters[msg.sender]); _; } function getOperators () external view returns(address[]) { return operatorsGroup; } function getAlerters () external view returns(address[]) { return alertersGroup; } event TransferAdminPending(address pendingAdmin); /** * @dev Allows the current admin to set the pendingAdmin address. * @param newAdmin The address to transfer ownership to. */ function transferAdmin(address newAdmin) public onlyAdmin { require(newAdmin != address(0)); TransferAdminPending(pendingAdmin); pendingAdmin = newAdmin; } /** * @dev Allows the current admin to set the admin in one tx. Useful initial deployment. * @param newAdmin The address to transfer ownership to. */ function transferAdminQuickly(address newAdmin) public onlyAdmin { require(newAdmin != address(0)); TransferAdminPending(newAdmin); AdminClaimed(newAdmin, admin); admin = newAdmin; } event AdminClaimed( address newAdmin, address previousAdmin); /** * @dev Allows the pendingAdmin address to finalize the change admin process. */ function claimAdmin() public { require(pendingAdmin == msg.sender); AdminClaimed(pendingAdmin, admin); admin = pendingAdmin; pendingAdmin = address(0); } event AlerterAdded (address newAlerter, bool isAdd); function addAlerter(address newAlerter) public onlyAdmin { require(!alerters[newAlerter]); // prevent duplicates. require(alertersGroup.length < MAX_GROUP_SIZE); AlerterAdded(newAlerter, true); alerters[newAlerter] = true; alertersGroup.push(newAlerter); } function removeAlerter (address alerter) public onlyAdmin { require(alerters[alerter]); alerters[alerter] = false; for (uint i = 0; i < alertersGroup.length; ++i) { if (alertersGroup[i] == alerter) { alertersGroup[i] = alertersGroup[alertersGroup.length - 1]; alertersGroup.length--; AlerterAdded(alerter, false); break; } } } event OperatorAdded(address newOperator, bool isAdd); function addOperator(address newOperator) public onlyAdmin { require(!operators[newOperator]); // prevent duplicates. require(operatorsGroup.length < MAX_GROUP_SIZE); OperatorAdded(newOperator, true); operators[newOperator] = true; operatorsGroup.push(newOperator); } function removeOperator (address operator) public onlyAdmin { require(operators[operator]); operators[operator] = false; for (uint i = 0; i < operatorsGroup.length; ++i) { if (operatorsGroup[i] == operator) { operatorsGroup[i] = operatorsGroup[operatorsGroup.length - 1]; operatorsGroup.length -= 1; OperatorAdded(operator, false); break; } } } } // File: contracts/Withdrawable.sol /** * @title Contracts that should be able to recover tokens or ethers * @author Ilan Doron * @dev This allows to recover any tokens or Ethers received in a contract. * This will prevent any accidental loss of tokens. */ contract Withdrawable is PermissionGroups { event TokenWithdraw(ERC20 token, uint amount, address sendTo); /** * @dev Withdraw all ERC20 compatible tokens * @param token ERC20 The address of the token contract */ function withdrawToken(ERC20 token, uint amount, address sendTo) external onlyAdmin { require(token.transfer(sendTo, amount)); TokenWithdraw(token, amount, sendTo); } event EtherWithdraw(uint amount, address sendTo); /** * @dev Withdraw Ethers */ function withdrawEther(uint amount, address sendTo) external onlyAdmin { sendTo.transfer(amount); EtherWithdraw(amount, sendTo); } } // File: contracts/Utils.sol /// @title Kyber constants contract contract Utils { ERC20 constant internal ETH_TOKEN_ADDRESS = ERC20(0x00eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee); uint constant internal PRECISION = (10**18); uint constant internal MAX_QTY = (10**28); // 10B tokens uint constant internal MAX_RATE = (PRECISION * 10**6); // up to 1M tokens per ETH uint constant internal MAX_DECIMALS = 18; uint constant internal ETH_DECIMALS = 18; mapping(address=>uint) internal decimals; function setDecimals(ERC20 token) internal { if (token == ETH_TOKEN_ADDRESS) decimals[token] = ETH_DECIMALS; else decimals[token] = token.decimals(); } function getDecimals(ERC20 token) internal view returns(uint) { if (token == ETH_TOKEN_ADDRESS) return ETH_DECIMALS; // save storage access uint tokenDecimals = decimals[token]; // technically, there might be token with decimals 0 // moreover, very possible that old tokens have decimals 0 // these tokens will just have higher gas fees. if(tokenDecimals == 0) return token.decimals(); return tokenDecimals; } function calcDstQty(uint srcQty, uint srcDecimals, uint dstDecimals, uint rate) internal pure returns(uint) { require(srcQty <= MAX_QTY); require(rate <= MAX_RATE); if (dstDecimals >= srcDecimals) { require((dstDecimals - srcDecimals) <= MAX_DECIMALS); return (srcQty * rate * (10**(dstDecimals - srcDecimals))) / PRECISION; } else { require((srcDecimals - dstDecimals) <= MAX_DECIMALS); return (srcQty * rate) / (PRECISION * (10**(srcDecimals - dstDecimals))); } } function calcSrcQty(uint dstQty, uint srcDecimals, uint dstDecimals, uint rate) internal pure returns(uint) { require(dstQty <= MAX_QTY); require(rate <= MAX_RATE); //source quantity is rounded up. to avoid dest quantity being too low. uint numerator; uint denominator; if (srcDecimals >= dstDecimals) { require((srcDecimals - dstDecimals) <= MAX_DECIMALS); numerator = (PRECISION * dstQty * (10**(srcDecimals - dstDecimals))); denominator = rate; } else { require((dstDecimals - srcDecimals) <= MAX_DECIMALS); numerator = (PRECISION * dstQty); denominator = (rate * (10**(dstDecimals - srcDecimals))); } return (numerator + denominator - 1) / denominator; //avoid rounding down errors } } // File: contracts/Utils2.sol contract Utils2 is Utils { /// @dev get the balance of a user. /// @param token The token type /// @return The balance function getBalance(ERC20 token, address user) public view returns(uint) { if (token == ETH_TOKEN_ADDRESS) return user.balance; else return token.balanceOf(user); } function getDecimalsSafe(ERC20 token) internal returns(uint) { if (decimals[token] == 0) { setDecimals(token); } return decimals[token]; } function calcDestAmount(ERC20 src, ERC20 dest, uint srcAmount, uint rate) internal view returns(uint) { return calcDstQty(srcAmount, getDecimals(src), getDecimals(dest), rate); } function calcSrcAmount(ERC20 src, ERC20 dest, uint destAmount, uint rate) internal view returns(uint) { return calcSrcQty(destAmount, getDecimals(src), getDecimals(dest), rate); } function calcRateFromQty(uint srcAmount, uint destAmount, uint srcDecimals, uint dstDecimals) internal pure returns(uint) { require(srcAmount <= MAX_QTY); require(destAmount <= MAX_QTY); if (dstDecimals >= srcDecimals) { require((dstDecimals - srcDecimals) <= MAX_DECIMALS); return (destAmount * PRECISION / ((10 ** (dstDecimals - srcDecimals)) * srcAmount)); } else { require((srcDecimals - dstDecimals) <= MAX_DECIMALS); return (destAmount * PRECISION * (10 ** (srcDecimals - dstDecimals)) / srcAmount); } } } // File: contracts/KyberNetworkInterface.sol /// @title Kyber Network interface interface KyberNetworkInterface { function maxGasPrice() public view returns(uint); function getUserCapInWei(address user) public view returns(uint); function getUserCapInTokenWei(address user, ERC20 token) public view returns(uint); function enabled() public view returns(bool); function info(bytes32 id) public view returns(uint); function getExpectedRate(ERC20 src, ERC20 dest, uint srcQty) public view returns (uint expectedRate, uint slippageRate); function tradeWithHint(address trader, ERC20 src, uint srcAmount, ERC20 dest, address destAddress, uint maxDestAmount, uint minConversionRate, address walletId, bytes hint) public payable returns(uint); } // File: contracts/FeeBurner.sol interface BurnableToken { function transferFrom(address _from, address _to, uint _value) public returns (bool); function burnFrom(address _from, uint256 _value) public returns (bool); } contract FeeBurner is Withdrawable, FeeBurnerInterface, Utils2 { mapping(address=>uint) public reserveFeesInBps; mapping(address=>address) public reserveKNCWallet; //wallet holding knc per reserve. from here burn and send fees. mapping(address=>uint) public walletFeesInBps; // wallet that is the source of tx is entitled so some fees. mapping(address=>uint) public reserveFeeToBurn; mapping(address=>uint) public feePayedPerReserve; // track burned fees and sent wallet fees per reserve. mapping(address=>mapping(address=>uint)) public reserveFeeToWallet; address public taxWallet; uint public taxFeeBps = 0; // burned fees are taxed. % out of burned fees. BurnableToken public knc; KyberNetworkInterface public kyberNetwork; uint public kncPerEthRatePrecision = 600 * PRECISION; //--> 1 ether = 600 knc tokens function FeeBurner( address _admin, BurnableToken _kncToken, KyberNetworkInterface _kyberNetwork, uint _initialKncToEthRatePrecision ) public { require(_admin != address(0)); require(_kncToken != address(0)); require(_kyberNetwork != address(0)); require(_initialKncToEthRatePrecision != 0); kyberNetwork = _kyberNetwork; admin = _admin; knc = _kncToken; kncPerEthRatePrecision = _initialKncToEthRatePrecision; } event ReserveDataSet(address reserve, uint feeInBps, address kncWallet); function setReserveData(address reserve, uint feesInBps, address kncWallet) public onlyOperator { require(feesInBps < 100); // make sure it is always < 1% require(kncWallet != address(0)); reserveFeesInBps[reserve] = feesInBps; reserveKNCWallet[reserve] = kncWallet; ReserveDataSet(reserve, feesInBps, kncWallet); } event WalletFeesSet(address wallet, uint feesInBps); function setWalletFees(address wallet, uint feesInBps) public onlyAdmin { require(feesInBps < 10000); // under 100% walletFeesInBps[wallet] = feesInBps; WalletFeesSet(wallet, feesInBps); } event TaxFeesSet(uint feesInBps); function setTaxInBps(uint _taxFeeBps) public onlyAdmin { require(_taxFeeBps < 10000); // under 100% taxFeeBps = _taxFeeBps; TaxFeesSet(_taxFeeBps); } event TaxWalletSet(address taxWallet); function setTaxWallet(address _taxWallet) public onlyAdmin { require(_taxWallet != address(0)); taxWallet = _taxWallet; TaxWalletSet(_taxWallet); } event KNCRateSet(uint ethToKncRatePrecision, uint kyberEthKnc, uint kyberKncEth, address updater); function setKNCRate() public { //query kyber for knc rate sell and buy uint kyberEthKncRate; uint kyberKncEthRate; (kyberEthKncRate, ) = kyberNetwork.getExpectedRate(ETH_TOKEN_ADDRESS, ERC20(knc), (10 ** 18)); (kyberKncEthRate, ) = kyberNetwork.getExpectedRate(ERC20(knc), ETH_TOKEN_ADDRESS, (10 ** 18)); //check "reasonable" spread == diff not too big. rate wasn't tampered. require(kyberEthKncRate * kyberKncEthRate < PRECISION ** 2 * 2); require(kyberEthKncRate * kyberKncEthRate > PRECISION ** 2 / 2); require(kyberEthKncRate <= MAX_RATE); kncPerEthRatePrecision = kyberEthKncRate; KNCRateSet(kncPerEthRatePrecision, kyberEthKncRate, kyberKncEthRate, msg.sender); } event AssignFeeToWallet(address reserve, address wallet, uint walletFee); event AssignBurnFees(address reserve, uint burnFee); function handleFees(uint tradeWeiAmount, address reserve, address wallet) public returns(bool) { require(msg.sender == address(kyberNetwork)); require(tradeWeiAmount <= MAX_QTY); uint kncAmount = calcDestAmount(ETH_TOKEN_ADDRESS, ERC20(knc), tradeWeiAmount, kncPerEthRatePrecision); uint fee = kncAmount * reserveFeesInBps[reserve] / 10000; uint walletFee = fee * walletFeesInBps[wallet] / 10000; require(fee >= walletFee); uint feeToBurn = fee - walletFee; if (walletFee > 0) { reserveFeeToWallet[reserve][wallet] += walletFee; AssignFeeToWallet(reserve, wallet, walletFee); } if (feeToBurn > 0) { AssignBurnFees(reserve, feeToBurn); reserveFeeToBurn[reserve] += feeToBurn; } return true; } event BurnAssignedFees(address indexed reserve, address sender, uint quantity); event SendTaxFee(address indexed reserve, address sender, address taxWallet, uint quantity); // this function is callable by anyone function burnReserveFees(address reserve) public { uint burnAmount = reserveFeeToBurn[reserve]; uint taxToSend = 0; require(burnAmount > 2); reserveFeeToBurn[reserve] = 1; // leave 1 twei to avoid spikes in gas fee if (taxWallet != address(0) && taxFeeBps != 0) { taxToSend = (burnAmount - 1) * taxFeeBps / 10000; require(burnAmount - 1 > taxToSend); burnAmount -= taxToSend; if (taxToSend > 0) { require(knc.transferFrom(reserveKNCWallet[reserve], taxWallet, taxToSend)); SendTaxFee(reserve, msg.sender, taxWallet, taxToSend); } } require(knc.burnFrom(reserveKNCWallet[reserve], burnAmount - 1)); //update reserve "payments" so far feePayedPerReserve[reserve] += (taxToSend + burnAmount - 1); BurnAssignedFees(reserve, msg.sender, (burnAmount - 1)); } event SendWalletFees(address indexed wallet, address reserve, address sender); // this function is callable by anyone function sendFeeToWallet(address wallet, address reserve) public { uint feeAmount = reserveFeeToWallet[reserve][wallet]; require(feeAmount > 1); reserveFeeToWallet[reserve][wallet] = 1; // leave 1 twei to avoid spikes in gas fee require(knc.transferFrom(reserveKNCWallet[reserve], wallet, feeAmount - 1)); feePayedPerReserve[reserve] += (feeAmount - 1); SendWalletFees(wallet, reserve, msg.sender); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"alerter","type":"address"}],"name":"removeAlerter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserveKNCWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"reserveFeeToWallet","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOperators","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserveFeeToBurn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"taxWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kncPerEthRatePrecision","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserveFeesInBps","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"taxFeeBps","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"},{"name":"sendTo","type":"address"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAlerter","type":"address"}],"name":"addAlerter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"walletFeesInBps","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"reserve","type":"address"},{"name":"feesInBps","type":"uint256"},{"name":"kncWallet","type":"address"}],"name":"setReserveData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wallet","type":"address"},{"name":"feesInBps","type":"uint256"}],"name":"setWalletFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"transferAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"transferAdminQuickly","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAlerters","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setKNCRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOperator","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_taxFeeBps","type":"uint256"}],"name":"setTaxInBps","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kyberNetwork","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"sendTo","type":"address"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"},{"name":"user","type":"address"}],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"feePayedPerReserve","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wallet","type":"address"},{"name":"reserve","type":"address"}],"name":"sendFeeToWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"knc","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_taxWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"reserve","type":"address"}],"name":"burnReserveFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tradeWeiAmount","type":"uint256"},{"name":"reserve","type":"address"},{"name":"wallet","type":"address"}],"name":"handleFees","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_admin","type":"address"},{"name":"_kncToken","type":"address"},{"name":"_kyberNetwork","type":"address"},{"name":"_initialKncToEthRatePrecision","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reserve","type":"address"},{"indexed":false,"name":"feeInBps","type":"uint256"},{"indexed":false,"name":"kncWallet","type":"address"}],"name":"ReserveDataSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"wallet","type":"address"},{"indexed":false,"name":"feesInBps","type":"uint256"}],"name":"WalletFeesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"feesInBps","type":"uint256"}],"name":"TaxFeesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"taxWallet","type":"address"}],"name":"TaxWalletSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ethToKncRatePrecision","type":"uint256"},{"indexed":false,"name":"kyberEthKnc","type":"uint256"},{"indexed":false,"name":"kyberKncEth","type":"uint256"},{"indexed":false,"name":"updater","type":"address"}],"name":"KNCRateSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reserve","type":"address"},{"indexed":false,"name":"wallet","type":"address"},{"indexed":false,"name":"walletFee","type":"uint256"}],"name":"AssignFeeToWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reserve","type":"address"},{"indexed":false,"name":"burnFee","type":"uint256"}],"name":"AssignBurnFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"reserve","type":"address"},{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"quantity","type":"uint256"}],"name":"BurnAssignedFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"reserve","type":"address"},{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"taxWallet","type":"address"},{"indexed":false,"name":"quantity","type":"uint256"}],"name":"SendTaxFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"wallet","type":"address"},{"indexed":false,"name":"reserve","type":"address"},{"indexed":false,"name":"sender","type":"address"}],"name":"SendWalletFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"sendTo","type":"address"}],"name":"TokenWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"sendTo","type":"address"}],"name":"EtherWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pendingAdmin","type":"address"}],"name":"TransferAdminPending","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAdmin","type":"address"},{"indexed":false,"name":"previousAdmin","type":"address"}],"name":"AdminClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAlerter","type":"address"},{"indexed":false,"name":"isAdd","type":"bool"}],"name":"AlerterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOperator","type":"address"},{"indexed":false,"name":"isAdd","type":"bool"}],"name":"OperatorAdded","type":"event"}]
Contract Creation Code
60606040526000600e55682086ac351052600000601155341561002157600080fd5b604051608080611dd78339810160405280805191906020018051919060200180519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925085161515905061007c57600080fd5b600160a060020a038316151561009157600080fd5b600160a060020a03821615156100a657600080fd5b8015156100b257600080fd5b60108054600160a060020a0319908116600160a060020a0394851617909155600080548216958416959095178555600f805490911693909216929092179055601155611cd390819061010490396000f3006060604052600436106101875763ffffffff60e060020a60003504166301a12fd3811461018c5780630a377f3a146101ad57806322dbf6d2146101e8578063267822471461021f57806327a099d8146102325780632b84fe83146102985780632dc0562d146102b757806330125416146102ca578063384c4d2f146102dd5780633b215823146102fc5780633ccdbb281461030f578063408ee7fe1461033857806345ab63b91461035757806346b8c49e1461037657806365dfc20f1461039f57806375829def146103c157806377f50f97146103e05780637acc8678146103f35780637c423f54146104125780637f3681f6146104255780639870d7fe146104385780639fad2dcb14610457578063ac8a584a1461046d578063b78b842d1461048c578063ce56c4541461049f578063d4fac45d146104c1578063dc93f7c9146104e6578063dd3ff4f614610505578063e61387e01461052a578063ea414b281461053d578063f6486cad1461055c578063f851a4401461057b578063fd062d3b1461058e575b600080fd5b341561019757600080fd5b6101ab600160a060020a03600435166105ca565b005b34156101b857600080fd5b6101cc600160a060020a036004351661073a565b604051600160a060020a03909116815260200160405180910390f35b34156101f357600080fd5b61020d600160a060020a0360043581169060243516610755565b60405190815260200160405180910390f35b341561022a57600080fd5b6101cc610772565b341561023d57600080fd5b610245610781565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561028457808201518382015260200161026c565b505050509050019250505060405180910390f35b34156102a357600080fd5b61020d600160a060020a03600435166107ea565b34156102c257600080fd5b6101cc6107fc565b34156102d557600080fd5b61020d61080b565b34156102e857600080fd5b61020d600160a060020a0360043516610811565b341561030757600080fd5b61020d610823565b341561031a57600080fd5b6101ab600160a060020a036004358116906024359060443516610829565b341561034357600080fd5b6101ab600160a060020a0360043516610920565b341561036257600080fd5b61020d600160a060020a0360043516610a1c565b341561038157600080fd5b6101ab600160a060020a036004358116906024359060443516610a2e565b34156103aa57600080fd5b6101ab600160a060020a0360043516602435610b10565b34156103cc57600080fd5b6101ab600160a060020a0360043516610b9f565b34156103eb57600080fd5b6101ab610c3a565b34156103fe57600080fd5b6101ab600160a060020a0360043516610cd4565b341561041d57600080fd5b610245610db6565b341561043057600080fd5b6101ab610e1c565b341561044357600080fd5b6101ab600160a060020a0360043516611038565b341561046257600080fd5b6101ab600435611108565b341561047857600080fd5b6101ab600160a060020a036004351661116c565b341561049757600080fd5b6101cc6112d8565b34156104aa57600080fd5b6101ab600435600160a060020a03602435166112e7565b34156104cc57600080fd5b61020d600160a060020a036004358116906024351661137a565b34156104f157600080fd5b61020d600160a060020a036004351661142c565b341561051057600080fd5b6101ab600160a060020a036004358116906024351661143e565b341561053557600080fd5b6101cc6115ae565b341561054857600080fd5b6101ab600160a060020a03600435166115bd565b341561056757600080fd5b6101ab600160a060020a0360043516611648565b341561058657600080fd5b6101cc6118f2565b341561059957600080fd5b6105b6600435600160a060020a0360243581169060443516611901565b604051901515815260200160405180910390f35b6000805433600160a060020a039081169116146105e657600080fd5b600160a060020a03821660009081526003602052604090205460ff16151561060d57600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156107365781600160a060020a031660058281548110151561065257fe5b600091825260209091200154600160a060020a0316141561072e5760058054600019810190811061067f57fe5b60009182526020909120015460058054600160a060020a0390921691839081106106a557fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560058054906106e1906000198301611c4e565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a1610736565b60010161062f565b5050565b600860205260009081526040902054600160a060020a031681565b600c60209081526000928352604080842090915290825290205481565b600154600160a060020a031681565b610789611c77565b60048054806020026020016040519081016040528092919081815260200182805480156107df57602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116107c1575b505050505090505b90565b600a6020526000908152604090205481565b600d54600160a060020a031681565b60115481565b60076020526000908152604090205481565b600e5481565b60005433600160a060020a0390811691161461084457600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156108a157600080fd5b6102c65a03f115156108b257600080fd5b5050506040518051905015156108c757600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a0390811691161461093b57600080fd5b600160a060020a03811660009081526003602052604090205460ff161561096157600080fd5b6005546032901061097157600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff1916600190811790915560058054909181016109f08382611c4e565b5060009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055565b60096020526000908152604090205481565b600160a060020a03331660009081526002602052604090205460ff161515610a5557600080fd5b60648210610a6257600080fd5b600160a060020a0381161515610a7757600080fd5b600160a060020a0383811660009081526007602090815260408083208690556008909152908190208054600160a060020a031916928416929092179091557f999efec8241b9b7a1d9c2d2e207cde178cb3a02ca6a94d070eecb369674ead6f9084908490849051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a03908116911614610b2b57600080fd5b6127108110610b3957600080fd5b600160a060020a038216600090815260096020526040908190208290557f19f0c31fd2313f709ad6b9f15595720ff5765b72b394025288ac4f355fee0952908390839051600160a060020a03909216825260208201526040908101905180910390a15050565b60005433600160a060020a03908116911614610bba57600080fd5b600160a060020a0381161515610bcf57600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a160018054600160a060020a031916600160a060020a0392909216919091179055565b60015433600160a060020a03908116911614610c5557600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60005433600160a060020a03908116911614610cef57600080fd5b600160a060020a0381161515610d0457600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a160008054600160a060020a031916600160a060020a0392909216919091179055565b610dbe611c77565b60058054806020026020016040519081016040528092919081815260200182805480156107df57602002820191906000526020600020908154600160a060020a031681526001909101906020018083116107c1575050505050905090565b601054600f546000918291600160a060020a039182169163809a9e559173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9116670de0b6b3a7640000856040516040015260405160e060020a63ffffffff8616028152600160a060020a03938416600482015291909216602482015260448101919091526064016040805180830381600087803b1515610eaf57600080fd5b6102c65a03f11515610ec057600080fd5b50505060405180519060200180515050601054600f54919350600160a060020a039081169163809a9e55911673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee670de0b6b3a764000060006040516040015260405160e060020a63ffffffff8616028152600160a060020a03938416600482015291909216602482015260448101919091526064016040805180830381600087803b1515610f6157600080fd5b6102c65a03f11515610f7257600080fd5b505050604051805190602001805150909150506f01812f9cf7920e2b66973e200000000082820210610fa357600080fd5b6e604be73de4838ad9a5cf880000000081830211610fc057600080fd5b69d3c21bcecceda1000000821115610fd757600080fd5b60118290557fe55ada78a782c5b59f55b44255857da4f2ed737a5a94b83e9275ee710d0d48c4828083336040519384526020840192909252604080840191909152600160a060020a0390911660608301526080909101905180910390a15050565b60005433600160a060020a0390811691161461105357600080fd5b600160a060020a03811660009081526002602052604090205460ff161561107957600080fd5b6004546032901061108957600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff1916600190811790915560048054909181016109f08382611c4e565b60005433600160a060020a0390811691161461112357600080fd5b612710811061113157600080fd5b600e8190557f560f2dab6b3f89e548b63a9eabb6e43ec0e70bb81bdc69e5dc578c72bab629f58160405190815260200160405180910390a150565b6000805433600160a060020a0390811691161461118857600080fd5b600160a060020a03821660009081526002602052604090205460ff1615156111af57600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156107365781600160a060020a03166004828154811015156111f457fe5b600091825260209091200154600160a060020a031614156112d05760048054600019810190811061122157fe5b60009182526020909120015460048054600160a060020a03909216918390811061124757fe5b60009182526020909120018054600160a060020a031916600160a060020a03929092169190911790556004805460001901906112839082611c4e565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a1610736565b6001016111d1565b601054600160a060020a031681565b60005433600160a060020a0390811691161461130257600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f19350505050151561133357600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b6000600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156113b25750600160a060020a03811631611426565b82600160a060020a03166370a082318360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561140957600080fd5b6102c65a03f1151561141a57600080fd5b50505060405180519150505b92915050565b600b6020526000908152604090205481565b600160a060020a038082166000908152600c60209081526040808320938616835292905220546001811161147157600080fd5b600160a060020a038083166000818152600c602090815260408083208886168452825280832060019055600f54938352600890915280822054928416936323b872dd931691879160001987019190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561151357600080fd5b6102c65a03f1151561152457600080fd5b50505060405180519050151561153957600080fd5b600160a060020a038083166000908152600b60205260409081902080548401600019019055908416907fb3f3e7375c0c0c4f7dd94069a5a4e68667827491318da786c818b8c7a794924e908490339051600160a060020a039283168152911660208201526040908101905180910390a2505050565b600f54600160a060020a031681565b60005433600160a060020a039081169116146115d857600080fd5b600160a060020a03811615156115ed57600080fd5b600d8054600160a060020a031916600160a060020a0383161790557f847d0f7f2b16c8dd0b72c0606e65e8bf1b624633d37905b0e08145a295ab875881604051600160a060020a03909116815260200160405180910390a150565b600160a060020a0381166000908152600a6020526040812054906002821161166f57600080fd5b600160a060020a038084166000908152600a6020526040902060019055600d54161580159061169f5750600e5415155b156117e05750600e54612710600019830191820204908190116116c157600080fd5b808203915060008111156117e057600f54600160a060020a0384811660009081526008602052604080822054600d54948416946323b872dd9491821693911691869190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561175857600080fd5b6102c65a03f1151561176957600080fd5b50505060405180519050151561177e57600080fd5b600d54600160a060020a03808516917f540d888e67a7f36992e365be9fddab5e2fd60e27b220d330c18f04650fd562e09133911684604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a25b600f54600160a060020a0384811660009081526008602052604080822054938316936379cc6790931691600019870191516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561185857600080fd5b6102c65a03f1151561186957600080fd5b50505060405180519050151561187e57600080fd5b600160a060020a0383166000818152600b6020526040908190208054848601016000199081019091557f2f8d2d194cbe1816411754a2fc9478a11f0707da481b11cff7c69791eb877ee191339186019051600160a060020a03909216825260208201526040908101905180910390a2505050565b600054600160a060020a031681565b601054600090819081908190819033600160a060020a0390811691161461192757600080fd5b6b204fce5e3e2502611000000088111561194057600080fd5b600f546011546119739173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91600160a060020a03909116908b90611ad0565b600160a060020a038816600090815260076020526040902054909450612710908502600160a060020a0388166000908152600960205260409020549190049350612710908402049150818310156119c957600080fd5b508082036000821115611a5657600160a060020a038088166000908152600c60209081526040808320938a1683529290528190208054840190557f366bc34352215bf0bd3b527cfd6718605e1f5938777e42bcd8ed92f578368f529088908890859051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a15b6000811115611ac2577ff838f6ddc89706878e3c3e698e9b5cbfbf2c0e3d3dcd0bd2e00f1ccf313e01858782604051600160a060020a03909216825260208201526040908101905180910390a1600160a060020a0387166000908152600a602052604090208054820190555b506001979650505050505050565b6000611aee83611adf87611af9565b611ae887611af9565b85611bbd565b90505b949350505050565b600080600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611b2a5760129150611bb7565b50600160a060020a038216600090815260066020526040902054801515611bb35782600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611b9157600080fd5b6102c65a03f11515611ba257600080fd5b505050604051805190509150611bb7565b8091505b50919050565b60006b204fce5e3e25026110000000851115611bd857600080fd5b69d3c21bcecceda1000000821115611bef57600080fd5b838310611c225760128484031115611c0657600080fd5b670de0b6b3a7640000858302858503600a0a025b049050611af1565b60128385031115611c3257600080fd5b828403600a0a670de0b6b3a764000002828602811515611c1a57fe5b815481835581811511611c7257600083815260209020611c72918101908301611c89565b505050565b60206040519081016040526000815290565b6107e791905b80821115611ca35760008155600101611c8f565b50905600a165627a7a72305820f5f2bea9ace551bb341b76e02cdbb17a0b71c4cbad5d961be00b8c8e3bca179e0029000000000000000000000000abbbcdba6b65c429dc7bb90a65d6ded9b74e15a6000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd2000000000000000000000000009ae49c0d7f8f9ef4b864e004fe86ac8294e209500000000000000000000000000000000000000000000000000000000000900e18
Deployed Bytecode
0x6060604052600436106101875763ffffffff60e060020a60003504166301a12fd3811461018c5780630a377f3a146101ad57806322dbf6d2146101e8578063267822471461021f57806327a099d8146102325780632b84fe83146102985780632dc0562d146102b757806330125416146102ca578063384c4d2f146102dd5780633b215823146102fc5780633ccdbb281461030f578063408ee7fe1461033857806345ab63b91461035757806346b8c49e1461037657806365dfc20f1461039f57806375829def146103c157806377f50f97146103e05780637acc8678146103f35780637c423f54146104125780637f3681f6146104255780639870d7fe146104385780639fad2dcb14610457578063ac8a584a1461046d578063b78b842d1461048c578063ce56c4541461049f578063d4fac45d146104c1578063dc93f7c9146104e6578063dd3ff4f614610505578063e61387e01461052a578063ea414b281461053d578063f6486cad1461055c578063f851a4401461057b578063fd062d3b1461058e575b600080fd5b341561019757600080fd5b6101ab600160a060020a03600435166105ca565b005b34156101b857600080fd5b6101cc600160a060020a036004351661073a565b604051600160a060020a03909116815260200160405180910390f35b34156101f357600080fd5b61020d600160a060020a0360043581169060243516610755565b60405190815260200160405180910390f35b341561022a57600080fd5b6101cc610772565b341561023d57600080fd5b610245610781565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561028457808201518382015260200161026c565b505050509050019250505060405180910390f35b34156102a357600080fd5b61020d600160a060020a03600435166107ea565b34156102c257600080fd5b6101cc6107fc565b34156102d557600080fd5b61020d61080b565b34156102e857600080fd5b61020d600160a060020a0360043516610811565b341561030757600080fd5b61020d610823565b341561031a57600080fd5b6101ab600160a060020a036004358116906024359060443516610829565b341561034357600080fd5b6101ab600160a060020a0360043516610920565b341561036257600080fd5b61020d600160a060020a0360043516610a1c565b341561038157600080fd5b6101ab600160a060020a036004358116906024359060443516610a2e565b34156103aa57600080fd5b6101ab600160a060020a0360043516602435610b10565b34156103cc57600080fd5b6101ab600160a060020a0360043516610b9f565b34156103eb57600080fd5b6101ab610c3a565b34156103fe57600080fd5b6101ab600160a060020a0360043516610cd4565b341561041d57600080fd5b610245610db6565b341561043057600080fd5b6101ab610e1c565b341561044357600080fd5b6101ab600160a060020a0360043516611038565b341561046257600080fd5b6101ab600435611108565b341561047857600080fd5b6101ab600160a060020a036004351661116c565b341561049757600080fd5b6101cc6112d8565b34156104aa57600080fd5b6101ab600435600160a060020a03602435166112e7565b34156104cc57600080fd5b61020d600160a060020a036004358116906024351661137a565b34156104f157600080fd5b61020d600160a060020a036004351661142c565b341561051057600080fd5b6101ab600160a060020a036004358116906024351661143e565b341561053557600080fd5b6101cc6115ae565b341561054857600080fd5b6101ab600160a060020a03600435166115bd565b341561056757600080fd5b6101ab600160a060020a0360043516611648565b341561058657600080fd5b6101cc6118f2565b341561059957600080fd5b6105b6600435600160a060020a0360243581169060443516611901565b604051901515815260200160405180910390f35b6000805433600160a060020a039081169116146105e657600080fd5b600160a060020a03821660009081526003602052604090205460ff16151561060d57600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156107365781600160a060020a031660058281548110151561065257fe5b600091825260209091200154600160a060020a0316141561072e5760058054600019810190811061067f57fe5b60009182526020909120015460058054600160a060020a0390921691839081106106a557fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560058054906106e1906000198301611c4e565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a1610736565b60010161062f565b5050565b600860205260009081526040902054600160a060020a031681565b600c60209081526000928352604080842090915290825290205481565b600154600160a060020a031681565b610789611c77565b60048054806020026020016040519081016040528092919081815260200182805480156107df57602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116107c1575b505050505090505b90565b600a6020526000908152604090205481565b600d54600160a060020a031681565b60115481565b60076020526000908152604090205481565b600e5481565b60005433600160a060020a0390811691161461084457600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156108a157600080fd5b6102c65a03f115156108b257600080fd5b5050506040518051905015156108c757600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a0390811691161461093b57600080fd5b600160a060020a03811660009081526003602052604090205460ff161561096157600080fd5b6005546032901061097157600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff1916600190811790915560058054909181016109f08382611c4e565b5060009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055565b60096020526000908152604090205481565b600160a060020a03331660009081526002602052604090205460ff161515610a5557600080fd5b60648210610a6257600080fd5b600160a060020a0381161515610a7757600080fd5b600160a060020a0383811660009081526007602090815260408083208690556008909152908190208054600160a060020a031916928416929092179091557f999efec8241b9b7a1d9c2d2e207cde178cb3a02ca6a94d070eecb369674ead6f9084908490849051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a03908116911614610b2b57600080fd5b6127108110610b3957600080fd5b600160a060020a038216600090815260096020526040908190208290557f19f0c31fd2313f709ad6b9f15595720ff5765b72b394025288ac4f355fee0952908390839051600160a060020a03909216825260208201526040908101905180910390a15050565b60005433600160a060020a03908116911614610bba57600080fd5b600160a060020a0381161515610bcf57600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a160018054600160a060020a031916600160a060020a0392909216919091179055565b60015433600160a060020a03908116911614610c5557600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60005433600160a060020a03908116911614610cef57600080fd5b600160a060020a0381161515610d0457600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a160008054600160a060020a031916600160a060020a0392909216919091179055565b610dbe611c77565b60058054806020026020016040519081016040528092919081815260200182805480156107df57602002820191906000526020600020908154600160a060020a031681526001909101906020018083116107c1575050505050905090565b601054600f546000918291600160a060020a039182169163809a9e559173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9116670de0b6b3a7640000856040516040015260405160e060020a63ffffffff8616028152600160a060020a03938416600482015291909216602482015260448101919091526064016040805180830381600087803b1515610eaf57600080fd5b6102c65a03f11515610ec057600080fd5b50505060405180519060200180515050601054600f54919350600160a060020a039081169163809a9e55911673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee670de0b6b3a764000060006040516040015260405160e060020a63ffffffff8616028152600160a060020a03938416600482015291909216602482015260448101919091526064016040805180830381600087803b1515610f6157600080fd5b6102c65a03f11515610f7257600080fd5b505050604051805190602001805150909150506f01812f9cf7920e2b66973e200000000082820210610fa357600080fd5b6e604be73de4838ad9a5cf880000000081830211610fc057600080fd5b69d3c21bcecceda1000000821115610fd757600080fd5b60118290557fe55ada78a782c5b59f55b44255857da4f2ed737a5a94b83e9275ee710d0d48c4828083336040519384526020840192909252604080840191909152600160a060020a0390911660608301526080909101905180910390a15050565b60005433600160a060020a0390811691161461105357600080fd5b600160a060020a03811660009081526002602052604090205460ff161561107957600080fd5b6004546032901061108957600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff1916600190811790915560048054909181016109f08382611c4e565b60005433600160a060020a0390811691161461112357600080fd5b612710811061113157600080fd5b600e8190557f560f2dab6b3f89e548b63a9eabb6e43ec0e70bb81bdc69e5dc578c72bab629f58160405190815260200160405180910390a150565b6000805433600160a060020a0390811691161461118857600080fd5b600160a060020a03821660009081526002602052604090205460ff1615156111af57600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156107365781600160a060020a03166004828154811015156111f457fe5b600091825260209091200154600160a060020a031614156112d05760048054600019810190811061122157fe5b60009182526020909120015460048054600160a060020a03909216918390811061124757fe5b60009182526020909120018054600160a060020a031916600160a060020a03929092169190911790556004805460001901906112839082611c4e565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a1610736565b6001016111d1565b601054600160a060020a031681565b60005433600160a060020a0390811691161461130257600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f19350505050151561133357600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b6000600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156113b25750600160a060020a03811631611426565b82600160a060020a03166370a082318360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561140957600080fd5b6102c65a03f1151561141a57600080fd5b50505060405180519150505b92915050565b600b6020526000908152604090205481565b600160a060020a038082166000908152600c60209081526040808320938616835292905220546001811161147157600080fd5b600160a060020a038083166000818152600c602090815260408083208886168452825280832060019055600f54938352600890915280822054928416936323b872dd931691879160001987019190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561151357600080fd5b6102c65a03f1151561152457600080fd5b50505060405180519050151561153957600080fd5b600160a060020a038083166000908152600b60205260409081902080548401600019019055908416907fb3f3e7375c0c0c4f7dd94069a5a4e68667827491318da786c818b8c7a794924e908490339051600160a060020a039283168152911660208201526040908101905180910390a2505050565b600f54600160a060020a031681565b60005433600160a060020a039081169116146115d857600080fd5b600160a060020a03811615156115ed57600080fd5b600d8054600160a060020a031916600160a060020a0383161790557f847d0f7f2b16c8dd0b72c0606e65e8bf1b624633d37905b0e08145a295ab875881604051600160a060020a03909116815260200160405180910390a150565b600160a060020a0381166000908152600a6020526040812054906002821161166f57600080fd5b600160a060020a038084166000908152600a6020526040902060019055600d54161580159061169f5750600e5415155b156117e05750600e54612710600019830191820204908190116116c157600080fd5b808203915060008111156117e057600f54600160a060020a0384811660009081526008602052604080822054600d54948416946323b872dd9491821693911691869190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561175857600080fd5b6102c65a03f1151561176957600080fd5b50505060405180519050151561177e57600080fd5b600d54600160a060020a03808516917f540d888e67a7f36992e365be9fddab5e2fd60e27b220d330c18f04650fd562e09133911684604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a25b600f54600160a060020a0384811660009081526008602052604080822054938316936379cc6790931691600019870191516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561185857600080fd5b6102c65a03f1151561186957600080fd5b50505060405180519050151561187e57600080fd5b600160a060020a0383166000818152600b6020526040908190208054848601016000199081019091557f2f8d2d194cbe1816411754a2fc9478a11f0707da481b11cff7c69791eb877ee191339186019051600160a060020a03909216825260208201526040908101905180910390a2505050565b600054600160a060020a031681565b601054600090819081908190819033600160a060020a0390811691161461192757600080fd5b6b204fce5e3e2502611000000088111561194057600080fd5b600f546011546119739173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91600160a060020a03909116908b90611ad0565b600160a060020a038816600090815260076020526040902054909450612710908502600160a060020a0388166000908152600960205260409020549190049350612710908402049150818310156119c957600080fd5b508082036000821115611a5657600160a060020a038088166000908152600c60209081526040808320938a1683529290528190208054840190557f366bc34352215bf0bd3b527cfd6718605e1f5938777e42bcd8ed92f578368f529088908890859051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a15b6000811115611ac2577ff838f6ddc89706878e3c3e698e9b5cbfbf2c0e3d3dcd0bd2e00f1ccf313e01858782604051600160a060020a03909216825260208201526040908101905180910390a1600160a060020a0387166000908152600a602052604090208054820190555b506001979650505050505050565b6000611aee83611adf87611af9565b611ae887611af9565b85611bbd565b90505b949350505050565b600080600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611b2a5760129150611bb7565b50600160a060020a038216600090815260066020526040902054801515611bb35782600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611b9157600080fd5b6102c65a03f11515611ba257600080fd5b505050604051805190509150611bb7565b8091505b50919050565b60006b204fce5e3e25026110000000851115611bd857600080fd5b69d3c21bcecceda1000000821115611bef57600080fd5b838310611c225760128484031115611c0657600080fd5b670de0b6b3a7640000858302858503600a0a025b049050611af1565b60128385031115611c3257600080fd5b828403600a0a670de0b6b3a764000002828602811515611c1a57fe5b815481835581811511611c7257600083815260209020611c72918101908301611c89565b505050565b60206040519081016040526000815290565b6107e791905b80821115611ca35760008155600101611c8f565b50905600a165627a7a72305820f5f2bea9ace551bb341b76e02cdbb17a0b71c4cbad5d961be00b8c8e3bca179e0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000abbbcdba6b65c429dc7bb90a65d6ded9b74e15a6000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd2000000000000000000000000009ae49c0d7f8f9ef4b864e004fe86ac8294e209500000000000000000000000000000000000000000000000000000000000900e18
-----Decoded View---------------
Arg [0] : _admin (address): 0xabBBcdBA6B65C429dC7bB90A65D6dED9B74e15A6
Arg [1] : _kncToken (address): 0xdd974D5C2e2928deA5F71b9825b8b646686BD200
Arg [2] : _kyberNetwork (address): 0x9ae49C0d7F8F9EF4B864e004FE86Ac8294E20950
Arg [3] : _initialKncToEthRatePrecision (uint256): 9440792
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000abbbcdba6b65c429dc7bb90a65d6ded9b74e15a6
Arg [1] : 000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd200
Arg [2] : 0000000000000000000000009ae49c0d7f8f9ef4b864e004fe86ac8294e20950
Arg [3] : 0000000000000000000000000000000000000000000000000000000000900e18
Swarm Source
bzzr://f5f2bea9ace551bb341b76e02cdbb17a0b71c4cbad5d961be00b8c8e3bca179e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.001407 | 141 | $0.1984 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.