Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Multichain Info
No addresses found
Latest 25 from a total of 34 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Ether | 11770892 | 1513 days ago | IN | 0 ETH | 0.00581346 | ||||
Withdraw Token | 11770880 | 1513 days ago | IN | 0 ETH | 0.00797346 | ||||
Withdraw Ether | 11770821 | 1513 days ago | IN | 0 ETH | 0.00500789 | ||||
Withdraw Ether | 11770360 | 1513 days ago | IN | 0 ETH | 0.00349675 | ||||
Withdraw Ether | 11769620 | 1513 days ago | IN | 0 ETH | 0.00348896 | ||||
Withdraw Ether | 11769620 | 1513 days ago | IN | 0 ETH | 0.00266646 | ||||
Withdraw Ether | 11307254 | 1584 days ago | IN | 0 ETH | 0.00190693 | ||||
Withdraw Ether | 10588302 | 1695 days ago | IN | 0 ETH | 0.00132171 | ||||
Set Contracts | 10411068 | 1723 days ago | IN | 0 ETH | 0.00142659 | ||||
Transfer | 10129589 | 1766 days ago | IN | 8 ETH | 0.00067452 | ||||
Transfer | 9955295 | 1793 days ago | IN | 2 ETH | 0.00029229 | ||||
Transfer | 9955278 | 1793 days ago | IN | 0.01 ETH | 0.00029229 | ||||
Transfer | 9951866 | 1794 days ago | IN | 0.3 ETH | 0.0011 | ||||
Set Contracts | 9037815 | 1940 days ago | IN | 0 ETH | 0.00045169 | ||||
Set Contracts | 8155040 | 2080 days ago | IN | 0 ETH | 0.00064624 | ||||
Transfer | 8115320 | 2087 days ago | IN | 78.62611597 ETH | 0.00033726 | ||||
Withdraw | 8108459 | 2088 days ago | IN | 0 ETH | 0.00050115 | ||||
Approve Withdraw... | 8108449 | 2088 days ago | IN | 0 ETH | 0.00075188 | ||||
Withdraw | 8108433 | 2088 days ago | IN | 0 ETH | 0.00068068 | ||||
Approve Withdraw... | 8108419 | 2088 days ago | IN | 0 ETH | 0.00082512 | ||||
Approve Withdraw... | 8108396 | 2088 days ago | IN | 0 ETH | 0.00060108 | ||||
Withdraw Ether | 8108363 | 2088 days ago | IN | 0 ETH | 0.00029816 | ||||
Withdraw Token | 8108349 | 2088 days ago | IN | 0 ETH | 0.00038913 | ||||
Transfer | 8108236 | 2088 days ago | IN | 0.05 ETH | 0.00020235 | ||||
Approve Withdraw... | 8108218 | 2088 days ago | IN | 0 ETH | 0.00103281 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 19826000 | 321 days ago | 0.20266465 ETH | ||||
Trade | 15040088 | 1001 days ago | 0.145058 ETH | ||||
- | 12367050 | 1421 days ago | 0.08627513 ETH | ||||
- | 12356626 | 1423 days ago | 0.08741221 ETH | ||||
- | 12327464 | 1428 days ago | 0.14504802 ETH | ||||
- | 11770892 | 1513 days ago | 16 ETH | ||||
- | 11770858 | 1513 days ago | 1.68004139 ETH | ||||
- | 11770841 | 1513 days ago | 1.14659481 ETH | ||||
- | 11770840 | 1513 days ago | 1.77699529 ETH | ||||
- | 11770830 | 1513 days ago | 1.998 ETH | ||||
- | 11770825 | 1513 days ago | 2.15295386 ETH | ||||
- | 11770824 | 1513 days ago | 2.21578998 ETH | ||||
- | 11770821 | 1513 days ago | 4.93086999 ETH | ||||
- | 11770821 | 1513 days ago | 28 ETH | ||||
- | 11770786 | 1513 days ago | 1.8979212 ETH | ||||
- | 11770696 | 1513 days ago | 1.92737872 ETH | ||||
- | 11770556 | 1513 days ago | 1.14327146 ETH | ||||
- | 11770453 | 1513 days ago | 1.78074776 ETH | ||||
- | 11770426 | 1513 days ago | 1.998 ETH | ||||
- | 11770407 | 1513 days ago | 2.32049155 ETH | ||||
- | 11770385 | 1513 days ago | 1.36344086 ETH | ||||
- | 11770381 | 1513 days ago | 2.04016629 ETH | ||||
- | 11770379 | 1513 days ago | 2.21004387 ETH | ||||
- | 11770374 | 1513 days ago | 1.3642992 ETH | ||||
- | 11770371 | 1513 days ago | 1.99278285 ETH |
Loading...
Loading
Contract Name:
KyberReserve
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-07-15 */ /** *Submitted for verification at Etherscan.io on 2018-07-05 */ pragma solidity ^0.4.13; interface ConversionRatesInterface { function recordImbalance( ERC20 token, int buyAmount, uint rateUpdateBlock, uint currentBlock ) public; function getRate(ERC20 token, uint currentBlockNumber, bool buy, uint qty) public view returns(uint); } 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); } interface KyberReserveInterface { function trade( ERC20 srcToken, uint srcAmount, ERC20 destToken, address destAddress, uint conversionRate, bool validate ) public payable returns(bool); function getConversionRate(ERC20 src, ERC20 dest, uint srcQty, uint blockNumber) public view returns(uint); } 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; } } } } interface SanityRatesInterface { function getSanityRate(ERC20 src, ERC20 dest) public view returns(uint); } 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 } } 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); } } contract KyberReserve is KyberReserveInterface, Withdrawable, Utils { address public kyberNetwork; bool public tradeEnabled; ConversionRatesInterface public conversionRatesContract; SanityRatesInterface public sanityRatesContract; mapping(bytes32=>bool) public approvedWithdrawAddresses; // sha3(token,address)=>bool mapping(address=>address) public tokenWallet; function KyberReserve(address _kyberNetwork, ConversionRatesInterface _ratesContract, address _admin) public { require(_admin != address(0)); require(_ratesContract != address(0)); require(_kyberNetwork != address(0)); kyberNetwork = _kyberNetwork; conversionRatesContract = _ratesContract; admin = _admin; tradeEnabled = true; } event DepositToken(ERC20 token, uint amount); function() public payable { DepositToken(ETH_TOKEN_ADDRESS, msg.value); } event TradeExecute( address indexed origin, address src, uint srcAmount, address destToken, uint destAmount, address destAddress ); function trade( ERC20 srcToken, uint srcAmount, ERC20 destToken, address destAddress, uint conversionRate, bool validate ) public payable returns(bool) { require(tradeEnabled); require(msg.sender == kyberNetwork); require(doTrade(srcToken, srcAmount, destToken, destAddress, conversionRate, validate)); return true; } event TradeEnabled(bool enable); function enableTrade() public onlyAdmin returns(bool) { tradeEnabled = true; TradeEnabled(true); return true; } function disableTrade() public onlyAlerter returns(bool) { tradeEnabled = false; TradeEnabled(false); return true; } event WithdrawAddressApproved(ERC20 token, address addr, bool approve); function approveWithdrawAddress(ERC20 token, address addr, bool approve) public onlyAdmin { approvedWithdrawAddresses[keccak256(token, addr)] = approve; WithdrawAddressApproved(token, addr, approve); setDecimals(token); if ((tokenWallet[token] == address(0x0)) && (token != ETH_TOKEN_ADDRESS)) { tokenWallet[token] = this; // by default require(token.approve(this, 2 ** 255)); } } event NewTokenWallet(ERC20 token, address wallet); function setTokenWallet(ERC20 token, address wallet) public onlyAdmin { require(wallet != address(0x0)); tokenWallet[token] = wallet; NewTokenWallet(token, wallet); } event WithdrawFunds(ERC20 token, uint amount, address destination); function withdraw(ERC20 token, uint amount, address destination) public onlyOperator returns(bool) { require(approvedWithdrawAddresses[keccak256(token, destination)]); if (token == ETH_TOKEN_ADDRESS) { destination.transfer(amount); } else { require(token.transferFrom(tokenWallet[token], destination, amount)); } WithdrawFunds(token, amount, destination); return true; } event SetContractAddresses(address network, address rate, address sanity); function setContracts( address _kyberNetwork, ConversionRatesInterface _conversionRates, SanityRatesInterface _sanityRates ) public onlyAdmin { require(_kyberNetwork != address(0)); require(_conversionRates != address(0)); kyberNetwork = _kyberNetwork; conversionRatesContract = _conversionRates; sanityRatesContract = _sanityRates; SetContractAddresses(kyberNetwork, conversionRatesContract, sanityRatesContract); } //////////////////////////////////////////////////////////////////////////// /// status functions /////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// function getBalance(ERC20 token) public view returns(uint) { if (token == ETH_TOKEN_ADDRESS) return this.balance; else { address wallet = tokenWallet[token]; uint balanceOfWallet = token.balanceOf(wallet); uint allowanceOfWallet = token.allowance(wallet, this); return (balanceOfWallet < allowanceOfWallet) ? balanceOfWallet : allowanceOfWallet; } } function getDestQty(ERC20 src, ERC20 dest, uint srcQty, uint rate) public view returns(uint) { uint dstDecimals = getDecimals(dest); uint srcDecimals = getDecimals(src); return calcDstQty(srcQty, srcDecimals, dstDecimals, rate); } function getSrcQty(ERC20 src, ERC20 dest, uint dstQty, uint rate) public view returns(uint) { uint dstDecimals = getDecimals(dest); uint srcDecimals = getDecimals(src); return calcSrcQty(dstQty, srcDecimals, dstDecimals, rate); } function getConversionRate(ERC20 src, ERC20 dest, uint srcQty, uint blockNumber) public view returns(uint) { ERC20 token; bool isBuy; if (!tradeEnabled) return 0; if (ETH_TOKEN_ADDRESS == src) { isBuy = true; token = dest; } else if (ETH_TOKEN_ADDRESS == dest) { isBuy = false; token = src; } else { return 0; // pair is not listed } uint rate = conversionRatesContract.getRate(token, blockNumber, isBuy, srcQty); uint destQty = getDestQty(src, dest, srcQty, rate); if (getBalance(dest) < destQty) return 0; if (sanityRatesContract != address(0)) { uint sanityRate = sanityRatesContract.getSanityRate(src, dest); if (rate > sanityRate) return 0; } return rate; } /// @dev do a trade /// @param srcToken Src token /// @param srcAmount Amount of src token /// @param destToken Destination token /// @param destAddress Destination address to send tokens to /// @param validate If true, additional validations are applicable /// @return true iff trade is successful function doTrade( ERC20 srcToken, uint srcAmount, ERC20 destToken, address destAddress, uint conversionRate, bool validate ) internal returns(bool) { // can skip validation if done at kyber network level if (validate) { require(conversionRate > 0); if (srcToken == ETH_TOKEN_ADDRESS) require(msg.value == srcAmount); else require(msg.value == 0); } uint destAmount = getDestQty(srcToken, destToken, srcAmount, conversionRate); // sanity check require(destAmount > 0); // add to imbalance ERC20 token; int tradeAmount; if (srcToken == ETH_TOKEN_ADDRESS) { tradeAmount = int(destAmount); token = destToken; } else { tradeAmount = -1 * int(srcAmount); token = srcToken; } conversionRatesContract.recordImbalance( token, tradeAmount, 0, block.number ); // collect src tokens if (srcToken != ETH_TOKEN_ADDRESS) { require(srcToken.transferFrom(msg.sender, tokenWallet[srcToken], srcAmount)); } // send dest tokens if (destToken == ETH_TOKEN_ADDRESS) { destAddress.transfer(destAmount); } else { require(destToken.transferFrom(tokenWallet[destToken], destAddress, destAmount)); } TradeExecute(msg.sender, srcToken, srcAmount, destToken, destAmount, destAddress); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[],"name":"enableTrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"alerter","type":"address"}],"name":"removeAlerter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"wallet","type":"address"}],"name":"setTokenWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","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":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":"sanityRatesContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"addr","type":"address"},{"name":"approve","type":"bool"}],"name":"approveWithdrawAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"},{"name":"destination","type":"address"}],"name":"withdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"disableTrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"srcToken","type":"address"},{"name":"srcAmount","type":"uint256"},{"name":"destToken","type":"address"},{"name":"destAddress","type":"address"},{"name":"conversionRate","type":"uint256"},{"name":"validate","type":"bool"}],"name":"trade","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","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":true,"inputs":[{"name":"src","type":"address"},{"name":"dest","type":"address"},{"name":"srcQty","type":"uint256"},{"name":"blockNumber","type":"uint256"}],"name":"getConversionRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOperator","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"dest","type":"address"},{"name":"dstQty","type":"uint256"},{"name":"rate","type":"uint256"}],"name":"getSrcQty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokenWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kyberNetwork","type":"address"},{"name":"_conversionRates","type":"address"},{"name":"_sanityRates","type":"address"}],"name":"setContracts","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":"conversionRatesContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradeEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"approvedWithdrawAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"}],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"dest","type":"address"},{"name":"srcQty","type":"uint256"},{"name":"rate","type":"uint256"}],"name":"getDestQty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_kyberNetwork","type":"address"},{"name":"_ratesContract","type":"address"},{"name":"_admin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DepositToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"origin","type":"address"},{"indexed":false,"name":"src","type":"address"},{"indexed":false,"name":"srcAmount","type":"uint256"},{"indexed":false,"name":"destToken","type":"address"},{"indexed":false,"name":"destAmount","type":"uint256"},{"indexed":false,"name":"destAddress","type":"address"}],"name":"TradeExecute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"enable","type":"bool"}],"name":"TradeEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"approve","type":"bool"}],"name":"WithdrawAddressApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"wallet","type":"address"}],"name":"NewTokenWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"destination","type":"address"}],"name":"WithdrawFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"network","type":"address"},{"indexed":false,"name":"rate","type":"address"},{"indexed":false,"name":"sanity","type":"address"}],"name":"SetContractAddresses","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
6060604052341561000f57600080fd5b60405160608061219083398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925082161515905061006357600080fd5b600160a060020a038216151561007857600080fd5b600160a060020a038316151561008d57600080fd5b6007805460088054600160a060020a03958616600160a060020a031991821617909155600080549486169482169490941790935560a060020a60ff02199390941691909316171674010000000000000000000000000000000000000000179055612094806100fc6000396000f3006060604052600436106101655763ffffffff60e060020a60003504166299d38681146101b957806301a12fd3146101e05780631bc7bfec14610201578063267822471461022657806327a099d8146102555780633ccdbb28146102bb578063408ee7fe146102e457806347e6924f14610303578063546dc71c1461031657806369328dec146103405780636940030f146103695780636cf698111461037c57806375829def146103a857806377f50f97146103c75780637acc8678146103da5780637c423f54146103f95780637cd442721461040c5780639870d7fe14610449578063a7fca95314610468578063a80cbac614610493578063ac8a584a146104b2578063b3066d49146104d1578063b78b842d146104fc578063ce56c4541461050f578063d5847d3314610531578063d621e81314610544578063d7b7024d14610557578063f851a4401461056d578063f8b2cb4f14610580578063fa64dffa1461059f575b7f2d0c0a8842b9944ece1495eb61121621b5e36bd6af3bba0318c695f525aef79f60008051602061204983398151915234604051600160a060020a03909216825260208201526040908101905180910390a1005b34156101c457600080fd5b6101cc6105ca565b604051901515815260200160405180910390f35b34156101eb57600080fd5b6101ff600160a060020a0360043516610658565b005b341561020c57600080fd5b6101ff600160a060020a03600435811690602435166107c8565b341561023157600080fd5b610239610874565b604051600160a060020a03909116815260200160405180910390f35b341561026057600080fd5b610268610883565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156102a757808201518382015260200161028f565b505050509050019250505060405180910390f35b34156102c657600080fd5b6101ff600160a060020a0360043581169060243590604435166108eb565b34156102ef57600080fd5b6101ff600160a060020a03600435166109e2565b341561030e57600080fd5b610239610ade565b341561032157600080fd5b6101ff600160a060020a03600435811690602435166044351515610aed565b341561034b57600080fd5b6101cc600160a060020a036004358116906024359060443516610cd7565b341561037457600080fd5b6101cc610eb0565b6101cc600160a060020a03600435811690602435906044358116906064351660843560a4351515610f31565b34156103b357600080fd5b6101ff600160a060020a0360043516610f9e565b34156103d257600080fd5b6101ff611039565b34156103e557600080fd5b6101ff600160a060020a03600435166110d3565b341561040457600080fd5b6102686111b5565b341561041757600080fd5b610437600160a060020a036004358116906024351660443560643561121b565b60405190815260200160405180910390f35b341561045457600080fd5b6101ff600160a060020a0360043516611406565b341561047357600080fd5b610437600160a060020a03600435811690602435166044356064356114d6565b341561049e57600080fd5b610239600160a060020a0360043516611508565b34156104bd57600080fd5b6101ff600160a060020a0360043516611523565b34156104dc57600080fd5b6101ff600160a060020a036004358116906024358116906044351661168f565b341561050757600080fd5b610239611773565b341561051a57600080fd5b6101ff600435600160a060020a0360243516611782565b341561053c57600080fd5b610239611815565b341561054f57600080fd5b6101cc611824565b341561056257600080fd5b6101cc600435611845565b341561057857600080fd5b61023961185a565b341561058b57600080fd5b610437600160a060020a0360043516611869565b34156105aa57600080fd5b610437600160a060020a03600435811690602435166044356064356119bd565b6000805433600160a060020a039081169116146105e657600080fd5b6007805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356001604051901515815260200160405180910390a15060015b90565b6000805433600160a060020a0390811691161461067457600080fd5b600160a060020a03821660009081526003602052604090205460ff16151561069b57600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156107c45781600160a060020a03166005828154811015156106e057fe5b600091825260209091200154600160a060020a031614156107bc5760058054600019810190811061070d57fe5b60009182526020909120015460058054600160a060020a03909216918390811061073357fe5b60009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055600580549061076f906000198301611ff4565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a16107c4565b6001016106bd565b5050565b60005433600160a060020a039081169116146107e357600080fd5b600160a060020a03811615156107f857600080fd5b600160a060020a038281166000908152600b6020526040908190208054600160a060020a031916928416929092179091557f81995c7b922889ac0a81e41866106d4046268ea3a9abaae9f9e080a6ce36ee7d908390839051600160a060020a039283168152911660208201526040908101905180910390a15050565b600154600160a060020a031681565b61088b612018565b60048054806020026020016040519081016040528092919081815260200182805480156108e157602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116108c3575b5050505050905090565b60005433600160a060020a0390811691161461090657600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561096357600080fd5b6102c65a03f1151561097457600080fd5b50505060405180519050151561098957600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a039081169116146109fd57600080fd5b600160a060020a03811660009081526003602052604090205460ff1615610a2357600080fd5b60055460329010610a3357600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff191660019081179091556005805490918101610ab28382611ff4565b5060009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055565b600954600160a060020a031681565b60005433600160a060020a03908116911614610b0857600080fd5b80600a600085856040516c01000000000000000000000000600160a060020a039384168102825291909216026014820152602801604051908190039020815260208101919091526040908101600020805460ff1916921515929092179091557fd5fd5351efae1f4bb760079da9f0ff9589e2c3e216337ca9d39cdff573b245c49084908490849051600160a060020a0393841681529190921660208201529015156040808301919091526060909101905180910390a1610bc7836119e4565b600160a060020a038381166000908152600b602052604090205416158015610c065750600160a060020a03831660008051602061204983398151915214155b15610cd257600160a060020a038381166000818152600b60205260408082208054600160a060020a03191630958616179055919263095ea7b39290917f800000000000000000000000000000000000000000000000000000000000000091516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610cac57600080fd5b6102c65a03f11515610cbd57600080fd5b505050604051805190501515610cd257600080fd5b505050565b600160a060020a03331660009081526002602052604081205460ff161515610cfe57600080fd5b600a600085846040516c01000000000000000000000000600160a060020a039384168102825291909216026014820152602801604051908190039020815260208101919091526040016000205460ff161515610d5957600080fd5b600160a060020a0384166000805160206120498339815191521415610dae57600160a060020a03821683156108fc0284604051600060405180830381858888f193505050501515610da957600080fd5b610e52565b600160a060020a038085166000818152600b60205260408082205492936323b872dd9316918691889190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610e2c57600080fd5b6102c65a03f11515610e3d57600080fd5b505050604051805190501515610e5257600080fd5b7fb67719fc33c1f17d31bf3a698690d62066b1e0bae28fcd3c56cf2c015c2863d6848484604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a15060019392505050565b600160a060020a03331660009081526003602052604081205460ff161515610ed757600080fd5b6007805474ff0000000000000000000000000000000000000000191690557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356000604051901515815260200160405180910390a150600190565b60075460009074010000000000000000000000000000000000000000900460ff161515610f5d57600080fd5b60075433600160a060020a03908116911614610f7857600080fd5b610f86878787878787611aa1565b1515610f9157600080fd5b5060019695505050505050565b60005433600160a060020a03908116911614610fb957600080fd5b600160a060020a0381161515610fce57600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a160018054600160a060020a031916600160a060020a0392909216919091179055565b60015433600160a060020a0390811691161461105457600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60005433600160a060020a039081169116146110ee57600080fd5b600160a060020a038116151561110357600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a160008054600160a060020a031916600160a060020a0392909216919091179055565b6111bd612018565b60058054806020026020016040519081016040528092919081815260200182805480156108e157602002820191906000526020600020908154600160a060020a031681526001909101906020018083116108c3575050505050905090565b600080600080600080600760149054906101000a900460ff16151561124357600095506113f9565b600080516020612049833981519152600160a060020a038b16141561126e57600193508894506112a2565b600080516020612049833981519152600160a060020a038a16141561129957600093508994506112a2565b600095506113f9565b600854600160a060020a031663b8e9c22e8689878c60006040516020015260405160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840192909252151560448301526064820152608401602060405180830381600087803b151561131257600080fd5b6102c65a03f1151561132357600080fd5b50505060405180519050925061133b8a8a8a866119bd565b9150816113478a611869565b101561135657600095506113f9565b600954600160a060020a0316156113f557600954600160a060020a031663a58092b78b8b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156113c857600080fd5b6102c65a03f115156113d957600080fd5b5050506040518051915050808311156113f557600095506113f9565b8295505b5050505050949350505050565b60005433600160a060020a0390811691161461142157600080fd5b600160a060020a03811660009081526002602052604090205460ff161561144757600080fd5b6004546032901061145757600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff191660019081179091556004805490918101610ab28382611ff4565b60008060006114e486611df6565b91506114ef87611df6565b90506114fd85828487611eb4565b979650505050505050565b600b60205260009081526040902054600160a060020a031681565b6000805433600160a060020a0390811691161461153f57600080fd5b600160a060020a03821660009081526002602052604090205460ff16151561156657600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156107c45781600160a060020a03166004828154811015156115ab57fe5b600091825260209091200154600160a060020a03161415611687576004805460001981019081106115d857fe5b60009182526020909120015460048054600160a060020a0390921691839081106115fe57fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560048054600019019061163a9082611ff4565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a16107c4565b600101611588565b60005433600160a060020a039081169116146116aa57600080fd5b600160a060020a03831615156116bf57600080fd5b600160a060020a03821615156116d457600080fd5b60078054600160a060020a03808616600160a060020a0319928316179283905560088054868316908416179081905560098054868416941693909317928390557f7a85322644a4462d8ff5482d2a841a4d231f8cfb3c9f4a50f66f8b2bd568c31c938216929082169116604051600160a060020a03938416815291831660208301529091166040808301919091526060909101905180910390a1505050565b600754600160a060020a031681565b60005433600160a060020a0390811691161461179d57600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f1935050505015156117ce57600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b600854600160a060020a031681565b60075474010000000000000000000000000000000000000000900460ff1681565b600a6020526000908152604090205460ff1681565b600054600160a060020a031681565b6000808080600160a060020a038516600080516020612049833981519152141561189f5730600160a060020a03163193506119b5565b600160a060020a038086166000818152600b602052604080822054909316955090916370a08231918691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561190c57600080fd5b6102c65a03f1151561191d57600080fd5b5050506040518051925050600160a060020a03851663dd62ed3e843060006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561198757600080fd5b6102c65a03f1151561199857600080fd5b50505060405180519150508082106119b057806119b2565b815b93505b505050919050565b60008060006119cb86611df6565b91506119d687611df6565b90506114fd85828487611f5b565b600160a060020a0381166000805160206120498339815191521415611a2457600160a060020a038116600090815260066020526040902060129055611a9e565b80600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611a6a57600080fd5b6102c65a03f11515611a7b57600080fd5b5050506040518051600160a060020a038316600090815260066020526040902055505b50565b6000806000808415611af55760008611611aba57600080fd5b600160a060020a038a166000805160206120498339815191521415611aea57348914611ae557600080fd5b611af5565b3415611af557600080fd5b611b018a898b896119bd565b925060008311611b1057600080fd5b600160a060020a038a166000805160206120498339815191521415611b39575086905081611b43565b5088905060001988025b600854600160a060020a031663c6fd2103838360004360405160e060020a63ffffffff8716028152600160a060020a039094166004850152602484019290925260448301526064820152608401600060405180830381600087803b1515611ba957600080fd5b6102c65a03f11515611bba57600080fd5b505050600160a060020a038a1660008051602061204983398151915214611c8057600160a060020a03808b166000818152600b60205260408082205492936323b872dd9333939116918e9190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611c5a57600080fd5b6102c65a03f11515611c6b57600080fd5b505050604051805190501515611c8057600080fd5b600160a060020a0388166000805160206120498339815191521415611cd557600160a060020a03871683156108fc0284604051600060405180830381858888f193505050501515611cd057600080fd5b611d79565b600160a060020a038089166000818152600b60205260408082205492936323b872dd9316918b91889190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611d5357600080fd5b6102c65a03f11515611d6457600080fd5b505050604051805190501515611d7957600080fd5b33600160a060020a03167fea9415385bae08fe9f6dc457b02577166790cde83bb18cc340aac6cb81b824de8b8b8b878c604051600160a060020a039586168152602081019490945291841660408085019190915260608401919091529216608082015260a001905180910390a25060019998505050505050505050565b600080600160a060020a0383166000805160206120498339815191521415611e215760129150611eae565b50600160a060020a038216600090815260066020526040902054801515611eaa5782600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611e8857600080fd5b6102c65a03f11515611e9957600080fd5b505050604051805190509150611eae565b8091505b50919050565b600080806b204fce5e3e25026110000000871115611ed157600080fd5b69d3c21bcecceda1000000841115611ee857600080fd5b848610611f195760128587031115611eff57600080fd5b5050828403600a0a8502670de0b6b3a76400000282611f3f565b60128686031115611f2957600080fd5b5050670de0b6b3a76400008502848403600a0a83025b80600182840103811515611f4f57fe5b04979650505050505050565b60006b204fce5e3e25026110000000851115611f7657600080fd5b69d3c21bcecceda1000000821115611f8d57600080fd5b838310611fc05760128484031115611fa457600080fd5b670de0b6b3a7640000858302858503600a0a025b049050611fec565b60128385031115611fd057600080fd5b828403600a0a670de0b6b3a764000002828602811515611fb857fe5b949350505050565b815481835581811511610cd257600083815260209020610cd291810190830161202a565b60206040519081016040526000815290565b61065591905b808211156120445760008155600101612030565b50905600000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea165627a7a723058201d59d0bf4f7bf28f3790eed68bfeae39ef8fe90b7386feae63cfac4f72a64812002900000000000000000000000065897adcba42dcca5dd162c647b1cc3e312384900000000000000000000000006e251c08dc330fd67804bdbb547739dd8546775d00000000000000000000000030f1b9909162c77bae151102516d3091f65ca6cb
Deployed Bytecode
0x6060604052600436106101655763ffffffff60e060020a60003504166299d38681146101b957806301a12fd3146101e05780631bc7bfec14610201578063267822471461022657806327a099d8146102555780633ccdbb28146102bb578063408ee7fe146102e457806347e6924f14610303578063546dc71c1461031657806369328dec146103405780636940030f146103695780636cf698111461037c57806375829def146103a857806377f50f97146103c75780637acc8678146103da5780637c423f54146103f95780637cd442721461040c5780639870d7fe14610449578063a7fca95314610468578063a80cbac614610493578063ac8a584a146104b2578063b3066d49146104d1578063b78b842d146104fc578063ce56c4541461050f578063d5847d3314610531578063d621e81314610544578063d7b7024d14610557578063f851a4401461056d578063f8b2cb4f14610580578063fa64dffa1461059f575b7f2d0c0a8842b9944ece1495eb61121621b5e36bd6af3bba0318c695f525aef79f60008051602061204983398151915234604051600160a060020a03909216825260208201526040908101905180910390a1005b34156101c457600080fd5b6101cc6105ca565b604051901515815260200160405180910390f35b34156101eb57600080fd5b6101ff600160a060020a0360043516610658565b005b341561020c57600080fd5b6101ff600160a060020a03600435811690602435166107c8565b341561023157600080fd5b610239610874565b604051600160a060020a03909116815260200160405180910390f35b341561026057600080fd5b610268610883565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156102a757808201518382015260200161028f565b505050509050019250505060405180910390f35b34156102c657600080fd5b6101ff600160a060020a0360043581169060243590604435166108eb565b34156102ef57600080fd5b6101ff600160a060020a03600435166109e2565b341561030e57600080fd5b610239610ade565b341561032157600080fd5b6101ff600160a060020a03600435811690602435166044351515610aed565b341561034b57600080fd5b6101cc600160a060020a036004358116906024359060443516610cd7565b341561037457600080fd5b6101cc610eb0565b6101cc600160a060020a03600435811690602435906044358116906064351660843560a4351515610f31565b34156103b357600080fd5b6101ff600160a060020a0360043516610f9e565b34156103d257600080fd5b6101ff611039565b34156103e557600080fd5b6101ff600160a060020a03600435166110d3565b341561040457600080fd5b6102686111b5565b341561041757600080fd5b610437600160a060020a036004358116906024351660443560643561121b565b60405190815260200160405180910390f35b341561045457600080fd5b6101ff600160a060020a0360043516611406565b341561047357600080fd5b610437600160a060020a03600435811690602435166044356064356114d6565b341561049e57600080fd5b610239600160a060020a0360043516611508565b34156104bd57600080fd5b6101ff600160a060020a0360043516611523565b34156104dc57600080fd5b6101ff600160a060020a036004358116906024358116906044351661168f565b341561050757600080fd5b610239611773565b341561051a57600080fd5b6101ff600435600160a060020a0360243516611782565b341561053c57600080fd5b610239611815565b341561054f57600080fd5b6101cc611824565b341561056257600080fd5b6101cc600435611845565b341561057857600080fd5b61023961185a565b341561058b57600080fd5b610437600160a060020a0360043516611869565b34156105aa57600080fd5b610437600160a060020a03600435811690602435166044356064356119bd565b6000805433600160a060020a039081169116146105e657600080fd5b6007805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356001604051901515815260200160405180910390a15060015b90565b6000805433600160a060020a0390811691161461067457600080fd5b600160a060020a03821660009081526003602052604090205460ff16151561069b57600080fd5b50600160a060020a0381166000908152600360205260408120805460ff191690555b6005548110156107c45781600160a060020a03166005828154811015156106e057fe5b600091825260209091200154600160a060020a031614156107bc5760058054600019810190811061070d57fe5b60009182526020909120015460058054600160a060020a03909216918390811061073357fe5b60009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055600580549061076f906000198301611ff4565b507f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762826000604051600160a060020a039092168252151560208201526040908101905180910390a16107c4565b6001016106bd565b5050565b60005433600160a060020a039081169116146107e357600080fd5b600160a060020a03811615156107f857600080fd5b600160a060020a038281166000908152600b6020526040908190208054600160a060020a031916928416929092179091557f81995c7b922889ac0a81e41866106d4046268ea3a9abaae9f9e080a6ce36ee7d908390839051600160a060020a039283168152911660208201526040908101905180910390a15050565b600154600160a060020a031681565b61088b612018565b60048054806020026020016040519081016040528092919081815260200182805480156108e157602002820191906000526020600020905b8154600160a060020a031681526001909101906020018083116108c3575b5050505050905090565b60005433600160a060020a0390811691161461090657600080fd5b82600160a060020a031663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561096357600080fd5b6102c65a03f1151561097457600080fd5b50505060405180519050151561098957600080fd5b7f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e6838383604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a1505050565b60005433600160a060020a039081169116146109fd57600080fd5b600160a060020a03811660009081526003602052604090205460ff1615610a2357600080fd5b60055460329010610a3357600080fd5b7f5611bf3e417d124f97bf2c788843ea8bb502b66079fbee02158ef30b172cb762816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600360205260409020805460ff191660019081179091556005805490918101610ab28382611ff4565b5060009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055565b600954600160a060020a031681565b60005433600160a060020a03908116911614610b0857600080fd5b80600a600085856040516c01000000000000000000000000600160a060020a039384168102825291909216026014820152602801604051908190039020815260208101919091526040908101600020805460ff1916921515929092179091557fd5fd5351efae1f4bb760079da9f0ff9589e2c3e216337ca9d39cdff573b245c49084908490849051600160a060020a0393841681529190921660208201529015156040808301919091526060909101905180910390a1610bc7836119e4565b600160a060020a038381166000908152600b602052604090205416158015610c065750600160a060020a03831660008051602061204983398151915214155b15610cd257600160a060020a038381166000818152600b60205260408082208054600160a060020a03191630958616179055919263095ea7b39290917f800000000000000000000000000000000000000000000000000000000000000091516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610cac57600080fd5b6102c65a03f11515610cbd57600080fd5b505050604051805190501515610cd257600080fd5b505050565b600160a060020a03331660009081526002602052604081205460ff161515610cfe57600080fd5b600a600085846040516c01000000000000000000000000600160a060020a039384168102825291909216026014820152602801604051908190039020815260208101919091526040016000205460ff161515610d5957600080fd5b600160a060020a0384166000805160206120498339815191521415610dae57600160a060020a03821683156108fc0284604051600060405180830381858888f193505050501515610da957600080fd5b610e52565b600160a060020a038085166000818152600b60205260408082205492936323b872dd9316918691889190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610e2c57600080fd5b6102c65a03f11515610e3d57600080fd5b505050604051805190501515610e5257600080fd5b7fb67719fc33c1f17d31bf3a698690d62066b1e0bae28fcd3c56cf2c015c2863d6848484604051600160a060020a03938416815260208101929092529091166040808301919091526060909101905180910390a15060019392505050565b600160a060020a03331660009081526003602052604081205460ff161515610ed757600080fd5b6007805474ff0000000000000000000000000000000000000000191690557f7d7f00509dd73ac4449f698ae75ccc797895eff5fa9d446d3df387598a26e7356000604051901515815260200160405180910390a150600190565b60075460009074010000000000000000000000000000000000000000900460ff161515610f5d57600080fd5b60075433600160a060020a03908116911614610f7857600080fd5b610f86878787878787611aa1565b1515610f9157600080fd5b5060019695505050505050565b60005433600160a060020a03908116911614610fb957600080fd5b600160a060020a0381161515610fce57600080fd5b6001547f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4090600160a060020a0316604051600160a060020a03909116815260200160405180910390a160018054600160a060020a031916600160a060020a0392909216919091179055565b60015433600160a060020a0390811691161461105457600080fd5b6001546000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60005433600160a060020a039081169116146110ee57600080fd5b600160a060020a038116151561110357600080fd5b7f3b81caf78fa51ecbc8acb482fd7012a277b428d9b80f9d156e8a54107496cc4081604051600160a060020a03909116815260200160405180910390a16000547f65da1cfc2c2e81576ad96afb24a581f8e109b7a403b35cbd3243a1c99efdb9ed908290600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a160008054600160a060020a031916600160a060020a0392909216919091179055565b6111bd612018565b60058054806020026020016040519081016040528092919081815260200182805480156108e157602002820191906000526020600020908154600160a060020a031681526001909101906020018083116108c3575050505050905090565b600080600080600080600760149054906101000a900460ff16151561124357600095506113f9565b600080516020612049833981519152600160a060020a038b16141561126e57600193508894506112a2565b600080516020612049833981519152600160a060020a038a16141561129957600093508994506112a2565b600095506113f9565b600854600160a060020a031663b8e9c22e8689878c60006040516020015260405160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840192909252151560448301526064820152608401602060405180830381600087803b151561131257600080fd5b6102c65a03f1151561132357600080fd5b50505060405180519050925061133b8a8a8a866119bd565b9150816113478a611869565b101561135657600095506113f9565b600954600160a060020a0316156113f557600954600160a060020a031663a58092b78b8b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156113c857600080fd5b6102c65a03f115156113d957600080fd5b5050506040518051915050808311156113f557600095506113f9565b8295505b5050505050949350505050565b60005433600160a060020a0390811691161461142157600080fd5b600160a060020a03811660009081526002602052604090205460ff161561144757600080fd5b6004546032901061145757600080fd5b7f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b816001604051600160a060020a039092168252151560208201526040908101905180910390a1600160a060020a0381166000908152600260205260409020805460ff191660019081179091556004805490918101610ab28382611ff4565b60008060006114e486611df6565b91506114ef87611df6565b90506114fd85828487611eb4565b979650505050505050565b600b60205260009081526040902054600160a060020a031681565b6000805433600160a060020a0390811691161461153f57600080fd5b600160a060020a03821660009081526002602052604090205460ff16151561156657600080fd5b50600160a060020a0381166000908152600260205260408120805460ff191690555b6004548110156107c45781600160a060020a03166004828154811015156115ab57fe5b600091825260209091200154600160a060020a03161415611687576004805460001981019081106115d857fe5b60009182526020909120015460048054600160a060020a0390921691839081106115fe57fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560048054600019019061163a9082611ff4565b507f091a7a4b85135fdd7e8dbc18b12fabe5cc191ea867aa3c2e1a24a102af61d58b826000604051600160a060020a039092168252151560208201526040908101905180910390a16107c4565b600101611588565b60005433600160a060020a039081169116146116aa57600080fd5b600160a060020a03831615156116bf57600080fd5b600160a060020a03821615156116d457600080fd5b60078054600160a060020a03808616600160a060020a0319928316179283905560088054868316908416179081905560098054868416941693909317928390557f7a85322644a4462d8ff5482d2a841a4d231f8cfb3c9f4a50f66f8b2bd568c31c938216929082169116604051600160a060020a03938416815291831660208301529091166040808301919091526060909101905180910390a1505050565b600754600160a060020a031681565b60005433600160a060020a0390811691161461179d57600080fd5b600160a060020a03811682156108fc0283604051600060405180830381858888f1935050505015156117ce57600080fd5b7fec47e7ed86c86774d1a72c19f35c639911393fe7c1a34031fdbd260890da90de8282604051918252600160a060020a031660208201526040908101905180910390a15050565b600854600160a060020a031681565b60075474010000000000000000000000000000000000000000900460ff1681565b600a6020526000908152604090205460ff1681565b600054600160a060020a031681565b6000808080600160a060020a038516600080516020612049833981519152141561189f5730600160a060020a03163193506119b5565b600160a060020a038086166000818152600b602052604080822054909316955090916370a08231918691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561190c57600080fd5b6102c65a03f1151561191d57600080fd5b5050506040518051925050600160a060020a03851663dd62ed3e843060006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561198757600080fd5b6102c65a03f1151561199857600080fd5b50505060405180519150508082106119b057806119b2565b815b93505b505050919050565b60008060006119cb86611df6565b91506119d687611df6565b90506114fd85828487611f5b565b600160a060020a0381166000805160206120498339815191521415611a2457600160a060020a038116600090815260066020526040902060129055611a9e565b80600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611a6a57600080fd5b6102c65a03f11515611a7b57600080fd5b5050506040518051600160a060020a038316600090815260066020526040902055505b50565b6000806000808415611af55760008611611aba57600080fd5b600160a060020a038a166000805160206120498339815191521415611aea57348914611ae557600080fd5b611af5565b3415611af557600080fd5b611b018a898b896119bd565b925060008311611b1057600080fd5b600160a060020a038a166000805160206120498339815191521415611b39575086905081611b43565b5088905060001988025b600854600160a060020a031663c6fd2103838360004360405160e060020a63ffffffff8716028152600160a060020a039094166004850152602484019290925260448301526064820152608401600060405180830381600087803b1515611ba957600080fd5b6102c65a03f11515611bba57600080fd5b505050600160a060020a038a1660008051602061204983398151915214611c8057600160a060020a03808b166000818152600b60205260408082205492936323b872dd9333939116918e9190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611c5a57600080fd5b6102c65a03f11515611c6b57600080fd5b505050604051805190501515611c8057600080fd5b600160a060020a0388166000805160206120498339815191521415611cd557600160a060020a03871683156108fc0284604051600060405180830381858888f193505050501515611cd057600080fd5b611d79565b600160a060020a038089166000818152600b60205260408082205492936323b872dd9316918b91889190516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611d5357600080fd5b6102c65a03f11515611d6457600080fd5b505050604051805190501515611d7957600080fd5b33600160a060020a03167fea9415385bae08fe9f6dc457b02577166790cde83bb18cc340aac6cb81b824de8b8b8b878c604051600160a060020a039586168152602081019490945291841660408085019190915260608401919091529216608082015260a001905180910390a25060019998505050505050505050565b600080600160a060020a0383166000805160206120498339815191521415611e215760129150611eae565b50600160a060020a038216600090815260066020526040902054801515611eaa5782600160a060020a031663313ce5676000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611e8857600080fd5b6102c65a03f11515611e9957600080fd5b505050604051805190509150611eae565b8091505b50919050565b600080806b204fce5e3e25026110000000871115611ed157600080fd5b69d3c21bcecceda1000000841115611ee857600080fd5b848610611f195760128587031115611eff57600080fd5b5050828403600a0a8502670de0b6b3a76400000282611f3f565b60128686031115611f2957600080fd5b5050670de0b6b3a76400008502848403600a0a83025b80600182840103811515611f4f57fe5b04979650505050505050565b60006b204fce5e3e25026110000000851115611f7657600080fd5b69d3c21bcecceda1000000821115611f8d57600080fd5b838310611fc05760128484031115611fa457600080fd5b670de0b6b3a7640000858302858503600a0a025b049050611fec565b60128385031115611fd057600080fd5b828403600a0a670de0b6b3a764000002828602811515611fb857fe5b949350505050565b815481835581811511610cd257600083815260209020610cd291810190830161202a565b60206040519081016040526000815290565b61065591905b808211156120445760008155600101612030565b50905600000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea165627a7a723058201d59d0bf4f7bf28f3790eed68bfeae39ef8fe90b7386feae63cfac4f72a648120029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000065897adcba42dcca5dd162c647b1cc3e312384900000000000000000000000006e251c08dc330fd67804bdbb547739dd8546775d00000000000000000000000030f1b9909162c77bae151102516d3091f65ca6cb
-----Decoded View---------------
Arg [0] : _kyberNetwork (address): 0x65897aDCBa42dcCA5DD162c647b1cC3E31238490
Arg [1] : _ratesContract (address): 0x6E251C08Dc330Fd67804bDbb547739dD8546775D
Arg [2] : _admin (address): 0x30F1B9909162c77bAe151102516d3091F65CA6cB
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000065897adcba42dcca5dd162c647b1cc3e31238490
Arg [1] : 0000000000000000000000006e251c08dc330fd67804bdbb547739dd8546775d
Arg [2] : 00000000000000000000000030f1b9909162c77bae151102516d3091f65ca6cb
Deployed Bytecode Sourcemap
8681:8114:0:-;;;;;;;;;-1:-1:-1;;;8681:8114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9578:42;-1:-1:-1;;;;;;;;;;;9610:9:0;9578:42;;-1:-1:-1;;;;;9578:42:0;;;;;;;;;;;;;;;;;;;;8681:8114;10335:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3916:463;;;;;;;;;;-1:-1:-1;;;;;3916:463:0;;;;;;;11249:198;;;;;;;;;;-1:-1:-1;;;;;11249:198:0;;;;;;;;;;1540:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;1540:27:0;;;;;;;;;;;;;;2151:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;8220:189:0;;;;;;;;;;-1:-1:-1;;;;;8220:189:0;;;;;;;;;;;;;3600:308;;;;;;;;;;-1:-1:-1;;;;;3600:308:0;;;;;8885:47;;;;;;;;;;;;10725:458;;;;;;;;;;-1:-1:-1;;;;;10725:458:0;;;;;;;;;;;;;;11530:461;;;;;;;;;;-1:-1:-1;;;;;11530:461:0;;;;;;;;;;;;;10488:150;;;;;;;;;;;;9834:453;;-1:-1:-1;;;;;9834:453:0;;;;;;;;;;;;;;;;;;;;;;;;2569:187;;;;;;;;;;-1:-1:-1;;;;;2569:187:0;;;;;3338:194;;;;;;;;;;;;2937:223;;;;;;;;;;-1:-1:-1;;;;;2937:223:0;;;;;2257:96;;;;;;;;;;;;13868:888;;;;;;;;;;-1:-1:-1;;;;;13868:888:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4448:319;;;;;;;;;;-1:-1:-1;;;;;4448:319:0;;;;;13597:263;;;;;;;;;;-1:-1:-1;;;;;13597:263:0;;;;;;;;;;;;;;9030:44;;;;;;;;;;-1:-1:-1;;;;;9030:44:0;;;;;4775:481;;;;;;;;;;-1:-1:-1;;;;;4775:481:0;;;;;12081:534;;;;;;;;;;-1:-1:-1;;;;;12081:534:0;;;;;;;;;;;;;;;8758:27;;;;;;;;;;;;8521:153;;;;;;;;;;;;-1:-1:-1;;;;;8521:153:0;;;;;8823:55;;;;;;;;;;;;8792:24;;;;;;;;;;;;8939:55;;;;;;;;;;;;;;1513:20;;;;;;;;;;;;12869:448;;;;;;;;;;-1:-1:-1;;;;;12869:448:0;;;;;13325:264;;;;;;;;;;-1:-1:-1;;;;;13325:264:0;;;;;;;;;;;;;;10335:145;10383:4;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;10400:12;:19;;-1:-1:-1;;10400:19:0;;;;;10430:18;10415:4;10430:18;;;;;;;;;;;;;;;;-1:-1:-1;10468:4:0;1950:1;10335:145;:::o;3916:463::-;4065:6;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;3993:17:0;;;;;;:8;:17;;;;;;;;3985:26;;;;;;;;-1:-1:-1;;;;;;4022:17:0;;4042:5;4022:17;;;:8;:17;;;;;:25;;-1:-1:-1;;4022:25:0;;;4060:312;4081:13;:20;4077:24;;4060:312;;;4147:7;-1:-1:-1;;;;;4127:27:0;:13;4141:1;4127:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4127:16:0;:27;4123:238;;;4194:13;4208:20;;-1:-1:-1;;4208:24:0;;;4194:39;;;;;;;;;;;;;;;;4175:13;:16;;-1:-1:-1;;;;;4194:39:0;;;;4189:1;;4175:16;;;;;;;;;;;;;;;:58;;-1:-1:-1;;;;;;4175:58:0;-1:-1:-1;;;;;4175:58:0;;;;;;;;;;4252:13;:22;;;;;-1:-1:-1;;4252:22:0;;;:::i;:::-;;4293:28;4306:7;4315:5;4293:28;;-1:-1:-1;;;;;4293:28:0;;;;;;;;;;;;;;;;;;;;;;4340:5;;4123:238;4103:3;;4060:312;;;3916:463;;:::o;11249:198::-;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;11338:22:0;;;;11330:31;;;;;;-1:-1:-1;;;;;11372:18:0;;;;;;;:11;:18;;;;;;;:27;;-1:-1:-1;;;;;;11372:27:0;;;;;;;;;;;11410:29;;11372:18;;:27;;11410:29;-1:-1:-1;;;;;11410:29:0;;;;;;;;;;;;;;;;;;;;;;11249:198;;:::o;1540:27::-;;;-1:-1:-1;;;;;1540:27:0;;:::o;2151:98::-;2198:9;;:::i;:::-;2227:14;2220:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2220:21:0;;;;;;;;;;;;;;;;;;;;;;;2151:98;:::o;8220:189::-;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;8323:5;-1:-1:-1;;;;;8323:14:0;;8338:6;8346;8323:30;;;;;;;;-1:-1:-1;;;8323:30:0;;;;;;-1:-1:-1;;;;;8323:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8315:39;;;;;;;;8365:36;8379:5;8386:6;8394;8365:36;;-1:-1:-1;;;;;8365:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8220:189;;;:::o;3600:308::-;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;3677:20:0;;;;;;:8;:20;;;;;;;;3676:21;3668:30;;;;;;3740:13;:20;1788:2;3740:37;;3732:46;;;;;;3791:30;3804:10;3816:4;3791:30;;-1:-1:-1;;;;;3791:30:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3832:20:0;;;;;;:8;:20;;;;;:27;;-1:-1:-1;;3832:27:0;3855:4;3832:27;;;;;;3870:13;:30;;:13;;:30;;;:13;:30;;:::i;:::-;-1:-1:-1;3870:30:0;;;;;;;;;;;-1:-1:-1;;;;;;3870:30:0;-1:-1:-1;;;;;3870:30:0;;;;;;;;;;3600:308::o;8885:47::-;;;-1:-1:-1;;;;;8885:47:0;;:::o;10725:458::-;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;10878:7;10826:25;:49;10862:5;10869:4;10852:22;;;-1:-1:-1;;;;;10852:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;10826:49;;;;;;;;;;;;;-1:-1:-1;10826:49:0;:59;;-1:-1:-1;;10826:59:0;;;;;;;;;;;10896:45;;10920:5;;10927:4;;10933:7;;10896:45;-1:-1:-1;;;;;10896:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10954:18;10966:5;10954:11;:18::i;:::-;-1:-1:-1;;;;;10988:18:0;;;11018:3;10988:18;;;:11;:18;;;;;;;:34;10987:68;;;;-1:-1:-1;;;;;;11028:26:0;;-1:-1:-1;;;;;;;;;;;11028:26:0;;10987:68;10983:193;;;-1:-1:-1;;;;;11072:18:0;;;;;;;:11;:18;;;;;;:25;;-1:-1:-1;;;;;;11072:25:0;11093:4;11072:25;;;;;;:18;;11134:13;;11093:4;;11154:8;;11134:29;;;;;;-1:-1:-1;;;11134:29:0;;;;;;-1:-1:-1;;;;;11134:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11126:38;;;;;;;;10725:458;;;:::o;11530:461::-;-1:-1:-1;;;;;2020:10:0;2010:21;11623:4;2010:21;;;:9;:21;;;;;;;;2002:30;;;;;;;;11648:25;:56;11684:5;11691:11;11674:29;;;-1:-1:-1;;;;;11674:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;11648:56;;;;;;;;;;;;;;;;11640:65;;;;;;;;-1:-1:-1;;;;;11722:26:0;;-1:-1:-1;;;;;;;;;;;11722:26:0;11718:188;;;-1:-1:-1;;;;;11765:20:0;;:28;;;;11786:6;11765:28;;;;;;;;;;;;;;;;;;;;;;;;;;11718:188;;;-1:-1:-1;;;;;11834:18:0;;;11853;;;;:11;:18;;;;;;;11834;;;;11853;;11873:11;;11886:6;;11853:18;11834:59;;;;;;-1:-1:-1;;;11834:59:0;;;;;;-1:-1:-1;;;;;11834:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11826:68;;;;;;;;11918:41;11932:5;11939:6;11947:11;11918:41;;-1:-1:-1;;;;;11918:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11979:4:0;11530:461;;;;;:::o;10488:150::-;-1:-1:-1;;;;;2111:10:0;2102:20;10539:4;2102:20;;;:8;:20;;;;;;;;2094:29;;;;;;;;10556:12;:20;;-1:-1:-1;;10556:20:0;;;10587:19;10571:5;10587:19;;;;;;;;;;;;;;;;-1:-1:-1;10626:4:0;10488:150;:::o;9834:453::-;10096:12;;10066:4;;10096:12;;;;;10088:21;;;;;;;;10142:12;;10128:10;-1:-1:-1;;;;;10128:26:0;;;10142:12;;10128:26;10120:35;;;;;;10176:78;10184:8;10194:9;10205;10216:11;10229:14;10245:8;10176:7;:78::i;:::-;10168:87;;;;;;;;-1:-1:-1;10275:4:0;9834:453;;;;;;;;:::o;2569:187::-;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;2646:22:0;;;;2638:31;;;;;;2701:12;;2680:34;;-1:-1:-1;;;;;2701:12:0;2680:34;;-1:-1:-1;;;;;2680:34:0;;;;;;;;;;;;;;2725:12;:23;;-1:-1:-1;;;;;;2725:23:0;-1:-1:-1;;;;;2725:23:0;;;;;;;;;;2569:187::o;3338:194::-;3386:12;;3402:10;-1:-1:-1;;;;;3386:26:0;;;:12;;:26;3378:35;;;;;;3437:12;;;3451:5;3424:33;;-1:-1:-1;;;;;3437:12:0;;;;3451:5;3424:33;;-1:-1:-1;;;;;3424:33:0;;;;;;;;;;;;;;;;;;;;;;3476:12;;;;3468:20;;-1:-1:-1;;;;;;3468:20:0;;;-1:-1:-1;;;;;3476:12:0;;3468:20;;;;3499:25;;;3338:194::o;2937:223::-;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;3021:22:0;;;;3013:31;;;;;;3055:30;3076:8;3055:30;;-1:-1:-1;;;;;3055:30:0;;;;;;;;;;;;;;3119:5;;3096:29;;3109:8;;-1:-1:-1;;;;;3119:5:0;3096:29;;-1:-1:-1;;;;;3096:29:0;;;;;;;;;;;;;;;;;;;;;;3136:5;:16;;-1:-1:-1;;;;;;3136:16:0;-1:-1:-1;;;;;3136:16:0;;;;;;;;;;2937:223::o;2257:96::-;2303:9;;:::i;:::-;2332:13;2325:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2325:20:0;;;;;;;;;;;;;;;;;;;;;;2257:96;:::o;13868:888::-;13969:4;13986:11;14008;14346:9;14435:12;14605:15;14037:12;;;;;;;;;;;14036:13;14032:27;;;14058:1;14051:8;;;;14032:27;-1:-1:-1;;;;;;;;;;;;;;;;14076:24:0;;;14072:262;;;14125:4;14117:12;;14152:4;14144:12;;14072:262;;;-1:-1:-1;;;;;;;;;;;;;;;;14178:25:0;;;14174:160;;;14228:5;14220:13;;14256:3;14248:11;;14174:160;;;14299:1;14292:8;;;;14174:160;14358:23;;-1:-1:-1;;;;;14358:23:0;:31;14390:5;14397:11;14410:5;14417:6;14358:23;:66;;;;;;;-1:-1:-1;;;14358:66:0;;;;;;-1:-1:-1;;;;;14358:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14346:78;;14450:35;14461:3;14466:4;14472:6;14480:4;14450:10;:35::i;:::-;14435:50;;14521:7;14502:16;14513:4;14502:10;:16::i;:::-;:26;14498:40;;;14537:1;14530:8;;;;14498:40;14555:19;;-1:-1:-1;;;;;14555:19:0;:33;14551:174;;14623:19;;-1:-1:-1;;;;;14623:19:0;:33;14657:3;14662:4;14623:19;:44;;;;;;;-1:-1:-1;;;14623:44:0;;;;;;-1:-1:-1;;;;;14623:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14686:17:0;;;14682:31;;;14712:1;14705:8;;;;14682:31;14744:4;14737:11;;13868:888;;;;;;;;;;;;:::o;4448:319::-;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;4527:22:0;;;;;;:9;:22;;;;;;;;4526:23;4518:32;;;;;;4592:14;:21;1788:2;4592:38;;4584:47;;;;;;4644:32;4658:11;4671:4;4644:32;;-1:-1:-1;;;;;4644:32:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4687:22:0;;;;;;:9;:22;;;;;:29;;-1:-1:-1;;4687:29:0;4712:4;4687:29;;;;;;4727:14;:32;;:14;;:32;;;:14;:32;;:::i;13597:263::-;13683:4;13700:16;13747;13719:17;13731:4;13719:11;:17::i;:::-;13700:36;;13766:16;13778:3;13766:11;:16::i;:::-;13747:35;;13802:50;13813:6;13821:11;13834;13847:4;13802:10;:50::i;:::-;13795:57;13597:263;-1:-1:-1;;;;;;;13597:263:0:o;9030:44::-;;;;;;;;;;;;-1:-1:-1;;;;;9030:44:0;;:::o;4775:481::-;4930:6;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;4854:19:0;;;;;;:9;:19;;;;;;;;4846:28;;;;;;;;-1:-1:-1;;;;;;4885:19:0;;4907:5;4885:19;;;:9;:19;;;;;:27;;-1:-1:-1;;4885:27:0;;;4925:324;4946:14;:21;4942:25;;4925:324;;;5014:8;-1:-1:-1;;;;;4993:29:0;:14;5008:1;4993:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4993:17:0;:29;4989:249;;;5063:14;5078:21;;-1:-1:-1;;5078:25:0;;;5063:41;;;;;;;;;;;;;;;;5043:14;:17;;-1:-1:-1;;;;;5063:41:0;;;;5058:1;;5043:17;;;;;;;;;;;;;;;:61;;-1:-1:-1;;;;;;5043:61:0;-1:-1:-1;;;;;5043:61:0;;;;;;;;;;5123:14;:26;;-1:-1:-1;;5123:26:0;;;;;;:::i;:::-;;5168:30;5182:8;5192:5;5168:30;;-1:-1:-1;;;;;5168:30:0;;;;;;;;;;;;;;;;;;;;;;5217:5;;4989:249;4969:3;;4925:324;;12081:534;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;12297:27:0;;;;12289:36;;;;;;-1:-1:-1;;;;;12344:30:0;;;;12336:39;;;;;;12388:12;:28;;-1:-1:-1;;;;;12388:28:0;;;-1:-1:-1;;;;;;12388:28:0;;;;;;;;12427:23;:42;;;;;;;;;;;;;12480:19;:34;;;;;;;;;;;;;;;12527:80;;12548:12;;;12562:23;;;;12587:19;12527:80;;-1:-1:-1;;;;;12527:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12081:534;;;:::o;8758:27::-;;;-1:-1:-1;;;;;8758:27:0;;:::o;8521:153::-;1933:5;;1919:10;-1:-1:-1;;;;;1919:19:0;;;1933:5;;1919:19;1911:28;;;;;;-1:-1:-1;;;;;8603:15:0;;:23;;;;8619:6;8603:23;;;;;;;;;;;;;;;;;;;;;;;;;;8637:29;8651:6;8659;8637:29;;;;;-1:-1:-1;;;;;8637:29:0;;;;;;;;;;;;;;;;8521:153;;:::o;8823:55::-;;;-1:-1:-1;;;;;8823:55:0;;:::o;8792:24::-;;;;;;;;;:::o;8939:55::-;;;;;;;;;;;;;;;:::o;1513:20::-;;;-1:-1:-1;;;;;1513:20:0;;:::o;12869:448::-;12922:4;;;;-1:-1:-1;;;;;12943:26:0;;-1:-1:-1;;;;;;;;;;;12943:26:0;12939:371;;;12991:4;-1:-1:-1;;;;;12991:12:0;;12984:19;;;;12939:371;-1:-1:-1;;;;;13051:18:0;;;;;;;:11;:18;;;;;;;;;;;-1:-1:-1;13051:18:0;;13107:15;;13051:18;;13107:23;;;;;;-1:-1:-1;;;13107:23:0;;;;;;-1:-1:-1;;;;;13107:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;13170:15:0;;;13186:6;13194:4;13170:29;;;;;;;;-1:-1:-1;;;13170:29:0;;;;;;-1:-1:-1;;;;;13170:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13224:35:0;;;13223:75;;13281:17;13223:75;;;13263:15;13223:75;13216:82;;12939:371;12869:448;;;;;;:::o;13325:264::-;13412:4;13429:16;13476;13448:17;13460:4;13448:11;:17::i;:::-;13429:36;;13495:16;13507:3;13495:11;:16::i;:::-;13476:35;;13531:50;13542:6;13550:11;13563;13576:4;13531:10;:50::i;5856:174::-;-1:-1:-1;;;;;5914:26:0;;-1:-1:-1;;;;;;;;;;;5914:26:0;5910:112;;;-1:-1:-1;;;;;5942:15:0;;;;;;:8;:15;;;;;5798:2;5942:30;;5910:112;;;6006:5;-1:-1:-1;;;;;6006:14:0;;:16;;;;;;;;;;;-1:-1:-1;;;6006:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5988:15:0;;;;;;:8;:15;;;;;:34;-1:-1:-1;5910:112:0;5856:174;:::o;15098:1694::-;15317:4;15640:15;15817:11;15839:15;15406:8;15402:226;;;15456:1;15439:18;;15431:27;;;;;;-1:-1:-1;;;;;15477:29:0;;-1:-1:-1;;;;;;;;;;;15477:29:0;15473:143;;;15533:9;:22;;15525:31;;;;;;15473:143;;;15601:9;:14;15593:23;;;;;;15658:58;15669:8;15679:9;15690;15701:14;15658:10;:58::i;:::-;15640:76;-1:-1:-1;15773:1:0;15760:14;;15752:23;;;;;;-1:-1:-1;;;;;15869:29:0;;-1:-1:-1;;;;;;;;;;;15869:29:0;15865:220;;;-1:-1:-1;15967:9:0;;-1:-1:-1;15933:10:0;15865:220;;;-1:-1:-1;16065:8:0;;-1:-1:-1;;;16023:19:0;;15865:220;16097:23;;-1:-1:-1;;;;;16097:23:0;:39;16151:5;16171:11;16097:23;16213:12;16097:139;;-1:-1:-1;;;16097:139:0;;;;;;-1:-1:-1;;;;;16097:139:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16097:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;16284:29:0;;-1:-1:-1;;;;;;;;;;;16284:29:0;16280:138;;-1:-1:-1;;;;;16338:21:0;;;16372;;;;:11;:21;;;;;;;16338;;;;16360:10;;16372:21;;;16395:9;;16372:21;16338:67;;;;;;-1:-1:-1;;;16338:67:0;;;;;;-1:-1:-1;;;;;16338:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16330:76;;;;;;;;-1:-1:-1;;;;;16463:30:0;;-1:-1:-1;;;;;;;;;;;16463:30:0;16459:208;;;-1:-1:-1;;;;;16510:20:0;;:32;;;;16531:10;16510:32;;;;;;;;;;;;;;;;;;;;;;;;;;16459:208;;;-1:-1:-1;;;;;16583:22:0;;;16606;;;;:11;:22;;;;;;;16583;;;;16606;;16630:11;;16643:10;;16606:22;16583:71;;;;;;-1:-1:-1;;;16583:71:0;;;;;;-1:-1:-1;;;;;16583:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16575:80;;;;;;;;16692:10;-1:-1:-1;;;;;16679:81:0;;16704:8;16714:9;16725;16736:10;16748:11;16679:81;;-1:-1:-1;;;;;16679:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16780:4:0;;15098:1694;-1:-1:-1;;;;;;;;;15098:1694:0:o;6038:479::-;6094:4;;-1:-1:-1;;;;;6115:26:0;;-1:-1:-1;;;;;;;;;;;6115:26:0;6111:51;;;5798:2;6143:19;;;;6111:51;-1:-1:-1;;;;;;6217:15:0;;;;;;:8;:15;;;;;;6433:18;;6430:46;;;6460:5;-1:-1:-1;;;;;6460:14:0;;:16;;;;;;;;;;;-1:-1:-1;;;6460:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6453:23;;;;6430:46;6496:13;6489:20;;6038:479;;;;;:::o;7102:861::-;7204:4;;;5594:6;7229:17;;;7221:26;;;;;;5659:17;7266:16;;;7258:25;;;;;;7440:26;;;7436:430;;5750:2;7492:25;;;7491:43;;7483:52;;;;;;-1:-1:-1;;7590:25:0;;;7585:2;:31;7563:54;;5543:6;7563:54;7647:4;7436:430;;;5750:2;7693:25;;;7692:43;;7684:52;;;;;;-1:-1:-1;;5543:6:0;7764:18;;7826:25;;;7821:2;:31;7813:40;;7436:430;7915:11;7910:1;7896:11;7884:9;:23;:27;7883:43;;;;;;;;;7102:861;-1:-1:-1;;;;;;;7102:861:0:o;6525:569::-;6627:4;5594:6;6652:17;;;6644:26;;;;;;5659:17;6689:16;;;6681:25;;;;;;6723:26;;;6719:368;;5750:2;6775:25;;;6774:43;;6766:52;;;;;;5543:6;6841:13;;;6863:25;;;6858:2;:31;6841:49;6840:63;;6833:70;;;;6719:368;5750:2;6945:25;;;6944:43;;6936:52;;;;;;7061:11;7047;:25;7042:2;:31;5543:6;7029:45;7020:4;7011:6;:13;7010:65;;;;;;6719:368;6525:569;;;;;;:::o;8681:8114::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://1d59d0bf4f7bf28f3790eed68bfeae39ef8fe90b7386feae63cfac4f72a64812
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.