Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 5,715 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Wallet | 10540832 | 1616 days ago | IN | 0 ETH | 0.00274379 | ||||
Swap | 10411401 | 1636 days ago | IN | 0.2805 ETH | 0.01891733 | ||||
Swap | 10411360 | 1636 days ago | IN | 0 ETH | 0.0369039 | ||||
Swap | 10409165 | 1636 days ago | IN | 0 ETH | 0.01501572 | ||||
Swap | 10408203 | 1636 days ago | IN | 0 ETH | 0.01573518 | ||||
Swap | 10407877 | 1636 days ago | IN | 0 ETH | 0.01900971 | ||||
Swap | 10407863 | 1636 days ago | IN | 0 ETH | 0.02133054 | ||||
Swap | 10407741 | 1636 days ago | IN | 0 ETH | 0.02161245 | ||||
Swap | 10407662 | 1636 days ago | IN | 0 ETH | 0.02300308 | ||||
Swap | 10407499 | 1636 days ago | IN | 0 ETH | 0.02575266 | ||||
Swap | 10407286 | 1636 days ago | IN | 0 ETH | 0.03317009 | ||||
Swap | 10407280 | 1636 days ago | IN | 0 ETH | 0.03423784 | ||||
Swap | 10407034 | 1636 days ago | IN | 2.0063665 ETH | 0.01608468 | ||||
Swap | 10407005 | 1636 days ago | IN | 0 ETH | 0.02474137 | ||||
Swap | 10406994 | 1636 days ago | IN | 0.1 ETH | 0.01608601 | ||||
Swap | 10406976 | 1636 days ago | IN | 0.63450874 ETH | 0.01609437 | ||||
Swap | 10406972 | 1636 days ago | IN | 0 ETH | 0.04369935 | ||||
Swap | 10406866 | 1636 days ago | IN | 0 ETH | 0.03626253 | ||||
Swap | 10406486 | 1636 days ago | IN | 0 ETH | 0.02151808 | ||||
Swap | 10406479 | 1636 days ago | IN | 0 ETH | 0.01745766 | ||||
Swap | 10406355 | 1636 days ago | IN | 0.07946722 ETH | 0.01499384 | ||||
Swap | 10406154 | 1636 days ago | IN | 0.07 ETH | 0.01878122 | ||||
Swap | 10406061 | 1636 days ago | IN | 0 ETH | 0.01132334 | ||||
Swap | 10406024 | 1636 days ago | IN | 1.27796695 ETH | 0.01910633 | ||||
Swap | 10405898 | 1636 days ago | IN | 0.1 ETH | 0.012546 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21438176 | 9 days ago | 0.00046163 ETH | ||||
21438176 | 9 days ago | 0.00000046 ETH | ||||
21438176 | 9 days ago | 0.00046209 ETH | ||||
21133836 | 52 days ago | 0.00044944 ETH | ||||
21133836 | 52 days ago | 0.00000044 ETH | ||||
21133836 | 52 days ago | 0.00044989 ETH | ||||
10411401 | 1636 days ago | 0.2805 ETH | ||||
10407034 | 1636 days ago | 2.0063665 ETH | ||||
10407005 | 1636 days ago | 0.86395359 ETH | ||||
10407005 | 1636 days ago | 0.00086481 ETH | ||||
10407005 | 1636 days ago | 0.86481841 ETH | ||||
10406994 | 1636 days ago | 0.1 ETH | ||||
10406976 | 1636 days ago | 0.63450874 ETH | ||||
10406486 | 1636 days ago | 14.11991666 ETH | ||||
10406486 | 1636 days ago | 0.01413405 ETH | ||||
10406486 | 1636 days ago | 14.13405071 ETH | ||||
10406479 | 1636 days ago | 0.05448153 ETH | ||||
10406479 | 1636 days ago | 0.00005453 ETH | ||||
10406479 | 1636 days ago | 0.05453607 ETH | ||||
10406355 | 1636 days ago | 0.07946722 ETH | ||||
10406154 | 1636 days ago | 0 ETH | ||||
10406154 | 1636 days ago | 0 ETH | ||||
10406154 | 1636 days ago | 0.07 ETH | ||||
10406061 | 1636 days ago | 39.20488653 ETH | ||||
10406061 | 1636 days ago | 0.03924413 ETH |
Loading...
Loading
Contract Name:
KyberTokenSwap
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-12-10 */ /** *Submitted for verification at Etherscan.io on 2019-11-07 */ // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol pragma solidity ^0.4.24; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * See https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address _who) public view returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol pragma solidity ^0.4.24; /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address _owner, address _spender) public view returns (uint256); function transferFrom(address _from, address _to, uint256 _value) public returns (bool); function approve(address _spender, uint256 _value) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } // File: openzeppelin-solidity/contracts/math/SafeMath.sol pragma solidity ^0.4.24; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (_a == 0) { return 0; } c = _a * _b; assert(c / _a == _b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 _a, uint256 _b) internal pure returns (uint256) { // assert(_b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = _a / _b; // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold return _a / _b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 _a, uint256 _b) internal pure returns (uint256) { assert(_b <= _a); return _a - _b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) { c = _a + _b; assert(c >= _a); return c; } } // File: contracts/Utils/Ownable.sol pragma solidity ^0.4.24; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner, "msg.sender not owner"); _; } /** * @dev Allows the current owner to relinquish control of the contract. * @notice Renouncing to ownership will leave the contract without an owner. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function transferOwnership(address _newOwner) public onlyOwner { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0), "_newOwner == 0"); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } // File: contracts/Utils/Destructible.sol pragma solidity ^0.4.24; /** * @title Destructible * @dev Base contract that can be destroyed by owner. All funds in contract will be sent to the owner. */ contract Destructible is Ownable { /** * @dev Transfers the current balance to the owner and terminates the contract. */ function destroy() public onlyOwner { selfdestruct(owner); } function destroyAndSend(address _recipient) public onlyOwner { selfdestruct(_recipient); } } // File: contracts/Interfaces/IBadERC20.sol pragma solidity ^0.4.24; /** * @title Bad formed ERC20 token interface. * @dev The interface of the a bad formed ERC20 token. */ interface IBadERC20 { function transfer(address to, uint256 value) external; function approve(address spender, uint256 value) external; function transferFrom( address from, address to, uint256 value ) external; function totalSupply() external view returns (uint256); function balanceOf( address who ) external view returns (uint256); function allowance( address owner, address spender ) external view returns (uint256); event Transfer( address indexed from, address indexed to, uint256 value ); event Approval( address indexed owner, address indexed spender, uint256 value ); } // File: contracts/Utils/SafeTransfer.sol pragma solidity ^0.4.24; /** * @title SafeTransfer * @dev Transfer Bad ERC20 tokens */ library SafeTransfer { /** * @dev Wrapping the ERC20 transferFrom function to avoid missing returns. * @param _tokenAddress The address of bad formed ERC20 token. * @param _from Transfer sender. * @param _to Transfer receiver. * @param _value Amount to be transfered. * @return Success of the safeTransferFrom. */ function _safeTransferFrom( address _tokenAddress, address _from, address _to, uint256 _value ) internal returns (bool result) { IBadERC20(_tokenAddress).transferFrom(_from, _to, _value); assembly { switch returndatasize() case 0 { // This is our BadToken result := not(0) // result is true } case 32 { // This is our GoodToken returndatacopy(0, 0, 32) result := mload(0) // result == returndata of external call } default { // This is not an ERC20 token revert(0, 0) } } } /** * @dev Wrapping the ERC20 transfer function to avoid missing returns. * @param _tokenAddress The address of bad formed ERC20 token. * @param _to Transfer receiver. * @param _amount Amount to be transfered. * @return Success of the safeTransfer. */ function _safeTransfer( address _tokenAddress, address _to, uint _amount ) internal returns (bool result) { IBadERC20(_tokenAddress).transfer(_to, _amount); assembly { switch returndatasize() case 0 { // This is our BadToken result := not(0) // result is true } case 32 { // This is our GoodToken returndatacopy(0, 0, 32) result := mload(0) // result == returndata of external call } default { // This is not an ERC20 token revert(0, 0) } } } function _safeApprove( address _token, address _spender, uint256 _value ) internal returns (bool result) { IBadERC20(_token).approve(_spender, _value); assembly { switch returndatasize() case 0 { // This is our BadToken result := not(0) // result is true } case 32 { // This is our GoodToken returndatacopy(0, 0, 32) result := mload(0) // result == returndata of external call } default { // This is not an ERC20 token revert(0, 0) } } } } // File: contracts/Utils/Pausable.sol pragma solidity ^0.4.24; /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused, "The contract is paused"); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused, "The contract is not paused"); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; emit Unpause(); } } // File: contracts/Interfaces/IErc20Swap.sol pragma solidity ^0.4.0; interface IErc20Swap { function getRate(address src, address dst, uint256 srcAmount) external view returns(uint expectedRate, uint slippageRate); // real rate = returned value / 1e18 function swap(address src, uint srcAmount, address dest, uint maxDestAmount, uint minConversionRate) external payable; } // File: contracts/Interfaces/IKyberNetwork.sol pragma solidity >=0.4.21 <0.6.0; interface IKyberNetwork { function getExpectedRate(address src, address dest, uint srcQty) external view returns (uint expectedRate, uint slippageRate); function trade( address src, uint srcAmount, address dest, address destAddress, uint maxDestAmount, uint minConversionRate, address walletId ) external payable returns(uint256); } // File: contracts/KyberTokenSwap.sol pragma solidity ^0.4.24; /** * @title TokenSwap. * @author Eidoo SAGL. * @dev A swap asset contract. The offerAmount and wantAmount are collected and sent into the contract itself. */ contract KyberTokenSwap is Pausable, Destructible, IErc20Swap { using SafeMath for uint; using SafeTransfer for ERC20; address constant ETHER = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; uint constant expScale = 1e18; uint constant rateDecimals = 18; uint constant rateUnit = 10 ** rateDecimals; IKyberNetwork public kyberNetwork; address public wallet; address public kyberFeeWallet; uint public spreadDefault; mapping (address => mapping (address => uint)) spreadCustom; uint constant spreadDecimals = 6; uint constant spreadUnit = 10 ** spreadDecimals; event LogWithdrawToken( address indexed _from, address indexed _token, uint amount ); event LogTokenSwap( address indexed _userAddress, address indexed _userSentTokenAddress, uint _userSentTokenAmount, address indexed _userReceivedTokenAddress, uint _userReceivedTokenAmount ); event LogFee(address token, uint amount); event UnexpectedIntialBalance(address token, uint amount); constructor( address _kyberNetwork, address _wallet, address _kyberFeeWallet, uint _spread ) public { require(_wallet != address(0), "_wallet == address(0)"); require(_kyberNetwork != address(0), "_kyberNetwork == address(0)"); require(_spread < spreadUnit, "spread >= spreadUnit"); wallet = _wallet; spreadDefault = _spread; kyberNetwork = IKyberNetwork(_kyberNetwork); kyberFeeWallet = _kyberFeeWallet; } function() external payable { // can receive ethers from KyberNetwork } function setWallet(address _wallet) public onlyOwner { require(_wallet != address(0), "_wallet == address(0)"); wallet = _wallet; } function setKyberFeeWallet(address _wallet) public onlyOwner { kyberFeeWallet = _wallet; } function setSpreadDefault(uint _spread) public onlyOwner { require(_spread < spreadUnit, "spread >= spreadUnit"); spreadDefault = _spread; } // spread value >= spreadUnit means no fee function setSpread(address tokenA, address tokenB, uint spread) public onlyOwner { uint value = spread > spreadUnit ? spreadUnit : spread; spreadCustom[tokenA][tokenB] = value; spreadCustom[tokenB][tokenA] = value; } function getSpread(address tokenA, address tokenB) public view returns(uint) { uint value = spreadCustom[tokenA][tokenB]; if (value == 0) return spreadDefault; if (value >= spreadUnit) return 0; else return value; } /** * @dev Withdraw asset. * @param _tokenAddress Asset to be withdrawed. * @return bool. */ function withdrawToken(address _tokenAddress) public onlyOwner { uint tokenBalance; if (_tokenAddress == ETHER || _tokenAddress == address(0)) { tokenBalance = address(this).balance; msg.sender.transfer(tokenBalance); } else { tokenBalance = ERC20(_tokenAddress).balanceOf(address(this)); ERC20(_tokenAddress)._safeTransfer(msg.sender, tokenBalance); } emit LogWithdrawToken(msg.sender, _tokenAddress, tokenBalance); } /******************* *******************/ function getRate(address src, address dest, uint256 srcAmount) external view returns(uint expectedRate, uint slippageRate) { (uint256 kExpected, uint256 kSplippage) = kyberNetwork.getExpectedRate(src, dest, srcAmount); uint256 spread = getSpread(src, dest); expectedRate = kExpected.mul(spreadUnit - spread).div(spreadUnit); slippageRate = kSplippage.mul(spreadUnit - spread).div(spreadUnit); } function _freeUnexpectedTokens(address token) private { uint256 unexpectedBalance = token == ETHER ? address(this).balance.sub(msg.value) : ERC20(token).balanceOf(address(this)); if (unexpectedBalance > 0) { _transfer(token, wallet, unexpectedBalance); emit UnexpectedIntialBalance(token, unexpectedBalance); } } function swap(address src, uint srcAmount, address dest, uint maxDestAmount, uint minConversionRate) public payable { require(src != dest, "src == dest"); require(srcAmount > 0, "srcAmount == 0"); // empty unexpected initial balances _freeUnexpectedTokens(src); _freeUnexpectedTokens(dest); if (src == ETHER) { require(msg.value == srcAmount, "msg.value != srcAmount"); } else { require( ERC20(src).allowance(msg.sender, address(this)) >= srcAmount, "ERC20 allowance < srcAmount" ); // get user's tokens require( ERC20(src)._safeTransferFrom(msg.sender, address(this), srcAmount), "cannot transfer src token from msg.sender to this" ); } // (uint256 expectedRate, ) = kyberNetwork.getExpectedRate(src, dest, srcAmount); // require(expectedRate > 0, "expectedRate is 0, pair is not tradable"); uint256 spread = getSpread(src, dest); uint256 destTradedAmount = _callKyberNetworkTrade(src, srcAmount, dest, maxDestAmount, minConversionRate, spread); uint256 notTraded = _myBalance(src); uint256 srcTradedAmount = srcAmount.sub(notTraded); require(srcTradedAmount > 0, "no traded tokens"); require( _myBalance(dest) >= destTradedAmount, "No enough dest tokens after trade" ); // pay fee and user uint256 toUserAmount = _payFee(dest, destTradedAmount, spread); _transfer(dest, msg.sender, toUserAmount); // returns not traded tokens if any if (notTraded > 0) { _transfer(src, msg.sender, notTraded); } emit LogTokenSwap( msg.sender, src, srcTradedAmount, dest, toUserAmount ); } function _callKyberNetworkTrade(address src, uint srcAmount, address dest, uint maxDestAmount, uint minConversionRate, uint spread) private returns(uint256) { // calculate the minConversionRate and maxDestAmount keeping in mind the fee uint256 adaptedMinRate = minConversionRate.mul(spreadUnit).div(spreadUnit - spread); uint256 adaptedMaxDestAmount = maxDestAmount.mul(spreadUnit).div(spreadUnit - spread); if (src == ETHER) { return kyberNetwork.trade .value(srcAmount)(src, srcAmount, dest, address(this), adaptedMaxDestAmount, adaptedMinRate, kyberFeeWallet); } else { if (ERC20(src).allowance(address(this), address(kyberNetwork)) > 0) { ERC20(src)._safeApprove(address(kyberNetwork), 0); } ERC20(src)._safeApprove(address(kyberNetwork), srcAmount); return kyberNetwork.trade(src, srcAmount, dest, address(this), adaptedMaxDestAmount, adaptedMinRate, kyberFeeWallet); } } function _payFee(address token, uint destTradedAmount, uint spread) private returns(uint256 toUserAmount) { uint256 fee = destTradedAmount.mul(spread).div(spreadUnit); toUserAmount = destTradedAmount.sub(fee); // pay fee if (fee > 0) { _transfer(token, wallet, fee); emit LogFee(token, fee); } } function _myBalance(address token) private view returns(uint256) { return token == ETHER ? address(this).balance : ERC20(token).balanceOf(address(this)); } function _transfer(address token, address recipient, uint256 amount) private { if (token == ETHER) { recipient.transfer(amount); } else { require(ERC20(token)._safeTransfer(recipient, amount), "cannot transfer tokens"); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"kyberFeeWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setKyberFeeWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenA","type":"address"},{"name":"tokenB","type":"address"},{"name":"spread","type":"uint256"}],"name":"setSpread","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"srcAmount","type":"uint256"},{"name":"dest","type":"address"},{"name":"maxDestAmount","type":"uint256"},{"name":"minConversionRate","type":"uint256"}],"name":"swap","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenA","type":"address"},{"name":"tokenB","type":"address"}],"name":"getSpread","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"spreadDefault","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kyberNetwork","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"dest","type":"address"},{"name":"srcAmount","type":"uint256"}],"name":"getRate","outputs":[{"name":"expectedRate","type":"uint256"},{"name":"slippageRate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spread","type":"uint256"}],"name":"setSpreadDefault","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"destroyAndSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_kyberNetwork","type":"address"},{"name":"_wallet","type":"address"},{"name":"_kyberFeeWallet","type":"address"},{"name":"_spread","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogWithdrawToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_userAddress","type":"address"},{"indexed":true,"name":"_userSentTokenAddress","type":"address"},{"indexed":false,"name":"_userSentTokenAmount","type":"uint256"},{"indexed":true,"name":"_userReceivedTokenAddress","type":"address"},{"indexed":false,"name":"_userReceivedTokenAmount","type":"uint256"}],"name":"LogTokenSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"UnexpectedIntialBalance","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040526000805460a060020a60ff021916905534801561002057600080fd5b50604051608080611dc6833981016040908152815160208301519183015160609093015160008054600160a060020a03191633179055909290600160a060020a03831615156100d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5f77616c6c6574203d3d20616464726573732830290000000000000000000000604482015290519081900360640190fd5b600160a060020a038416151561014757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5f6b796265724e6574776f726b203d3d20616464726573732830290000000000604482015290519081900360640190fd5b620f424081106101b857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f737072656164203e3d20737072656164556e6974000000000000000000000000604482015290519081900360640190fd5b60028054600160a060020a0319908116600160a060020a039586161790915560049190915560018054821694841694909417909355600380549093169116179055611bbe806102086000396000f3006080604052600436106101115763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632220e22e81146101135780633f4ba83a1461014457806340a9cadb1461015957806345db50341461017a578063521eb273146101a45780635c975abb146101b95780635e75228f146101e2578063715018a61461020657806375ead4591461021b57806383197ef0146102545780638456cb5914610269578063894760691461027e5780638da5cb5b1461029f5780639236a652146102b4578063b78b842d146102c9578063deaa59df146102de578063e56c174b146102ff578063ebdea6b914610342578063f2fde38b1461035a578063f5074f411461037b575b005b34801561011f57600080fd5b5061012861039c565b60408051600160a060020a039092168252519081900360200190f35b34801561015057600080fd5b506101116103ab565b34801561016557600080fd5b50610111600160a060020a03600435166104b6565b34801561018657600080fd5b50610111600160a060020a0360043581169060243516604435610535565b3480156101b057600080fd5b506101286105dc565b3480156101c557600080fd5b506101ce6105eb565b604080519115158252519081900360200190f35b610111600160a060020a03600435811690602435906044351660643560843561060c565b34801561021257600080fd5b50610111610a90565b34801561022757600080fd5b50610242600160a060020a0360043581169060243516610b35565b60408051918252519081900360200190f35b34801561026057600080fd5b50610111610b8c565b34801561027557600080fd5b50610111610bea565b34801561028a57600080fd5b50610111600160a060020a0360043516610d0b565b3480156102ab57600080fd5b50610128610eb9565b3480156102c057600080fd5b50610242610ec8565b3480156102d557600080fd5b50610128610ece565b3480156102ea57600080fd5b50610111600160a060020a0360043516610edd565b34801561030b57600080fd5b50610329600160a060020a0360043581169060243516604435610fbc565b6040805192835260208301919091528051918290030190f35b34801561034e57600080fd5b506101116004356110ca565b34801561036657600080fd5b50610111600160a060020a0360043516611179565b34801561038757600080fd5b50610111600160a060020a03600435166111d5565b600354600160a060020a031681565b600054600160a060020a031633146103fb576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff16151561046f576040805160e560020a62461bcd02815260206004820152601a60248201527f54686520636f6e7472616374206973206e6f7420706175736564000000000000604482015290519081900360640190fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600054600160a060020a03163314610506576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a03163314610586576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b620f42408211610596578161059b565b620f42405b600160a060020a0394851660008181526005602081815260408084209890991683529687528782208490558652868120918152945293909220929092555050565b600254600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b600080808080600160a060020a038a81169089161415610676576040805160e560020a62461bcd02815260206004820152600b60248201527f737263203d3d2064657374000000000000000000000000000000000000000000604482015290519081900360640190fd5b600089116106ce576040805160e560020a62461bcd02815260206004820152600e60248201527f737263416d6f756e74203d3d2030000000000000000000000000000000000000604482015290519081900360640190fd5b6106d78a611231565b6106e088611231565b600160a060020a038a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156107615734891461075c576040805160e560020a62461bcd02815260206004820152601660248201527f6d73672e76616c756520213d20737263416d6f756e7400000000000000000000604482015290519081900360640190fd5b6108e4565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290518a91600160a060020a038d169163dd62ed3e916044808201926020929091908290030181600087803b1580156107cb57600080fd5b505af11580156107df573d6000803e3d6000fd5b505050506040513d60208110156107f557600080fd5b5051101561084d576040805160e560020a62461bcd02815260206004820152601b60248201527f455243323020616c6c6f77616e6365203c20737263416d6f756e740000000000604482015290519081900360640190fd5b610868600160a060020a038b1633308c63ffffffff61136616565b15156108e4576040805160e560020a62461bcd02815260206004820152603160248201527f63616e6e6f74207472616e736665722073726320746f6b656e2066726f6d206d60448201527f73672e73656e64657220746f2074686973000000000000000000000000000000606482015290519081900360840190fd5b6108ee8a89610b35565b94506108fe8a8a8a8a8a8a611426565b93506109098a611707565b925061091b898463ffffffff6117c816565b915060008211610975576040805160e560020a62461bcd02815260206004820152601060248201527f6e6f2074726164656420746f6b656e7300000000000000000000000000000000604482015290519081900360640190fd5b8361097f89611707565b10156109fb576040805160e560020a62461bcd02815260206004820152602160248201527f4e6f20656e6f756768206465737420746f6b656e73206166746572207472616460448201527f6500000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b610a068885876117da565b9050610a13883383611876565b6000831115610a2757610a278a3385611876565b87600160a060020a03168a600160a060020a031633600160a060020a03167f3ec01f4da9d8c31a1cdb8e6e7231364ba5ef0850b01daaa44a9f126f920693c68585604051808381526020018281526020019250505060405180910390a450505050505050505050565b600054600160a060020a03163314610ae0576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600160a060020a038083166000908152600560209081526040808320938516835292905290812054801515610b6e576004549150610b85565b620f42408110610b815760009150610b85565b8091505b5092915050565b600054600160a060020a03163314610bdc576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b600054600160a060020a0316ff5b600054600160a060020a03163314610c3a576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff1615610cad576040805160e560020a62461bcd02815260206004820152601660248201527f54686520636f6e74726163742069732070617573656400000000000000000000604482015290519081900360640190fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b60008054600160a060020a03163314610d5c576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b600160a060020a03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480610d8e5750600160a060020a038216155b15610dca5750604051303190339082156108fc029083906000818181858888f19350505050158015610dc4573d6000803e3d6000fd5b50610e75565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610e2b57600080fd5b505af1158015610e3f573d6000803e3d6000fd5b505050506040513d6020811015610e5557600080fd5b50519050610e73600160a060020a038316338363ffffffff61194c16565b505b604080518281529051600160a060020a0384169133917f46ae78bc7b198b8b534ca0070d125569ac5f955976841c4343223079f3abf0de9181900360200190a35050565b600054600160a060020a031681565b60045481565b600154600160a060020a031681565b600054600160a060020a03163314610f2d576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b600160a060020a0381161515610f8d576040805160e560020a62461bcd02815260206004820152601560248201527f5f77616c6c6574203d3d20616464726573732830290000000000000000000000604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154604080517f809a9e55000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301528581166024830152604482018590528251600094859485948594859493169263809a9e559260648084019391929182900301818787803b15801561103957600080fd5b505af115801561104d573d6000803e3d6000fd5b505050506040513d604081101561106357600080fd5b508051602090910151909350915061107b8888610b35565b90506110a2620f42406110968584830363ffffffff611a0116565b9063ffffffff611a2a16565b94506110bd620f42406110968484830363ffffffff611a0116565b9350505050935093915050565b600054600160a060020a0316331461111a576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b620f42408110611174576040805160e560020a62461bcd02815260206004820152601460248201527f737072656164203e3d20737072656164556e6974000000000000000000000000604482015290519081900360640190fd5b600455565b600054600160a060020a031633146111c9576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b6111d281611a3f565b50565b600054600160a060020a03163314611225576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b80600160a060020a0316ff5b6000600160a060020a03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146112e957604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156112b857600080fd5b505af11580156112cc573d6000803e3d6000fd5b505050506040513d60208110156112e257600080fd5b50516112fa565b6112fa30313463ffffffff6117c816565b905060008111156113625760025461131d908390600160a060020a031683611876565b60408051600160a060020a03841681526020810183905281517f53189a8ce98afbf89498c735cf6b58ad2708c8a3a12b6f077bd4f3313dced7a9929181900390910190a15b5050565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015284811660248301526044820184905291516000928716916323b872dd916064808301928692919082900301818387803b1580156113d957600080fd5b505af11580156113ed573d6000803e3d6000fd5b505050503d60008114611407576020811461141157600080fd5b600019915061141d565b60206000803e60005191505b50949350505050565b60008080611446620f42408581039061109690889063ffffffff611a0116565b9150611464620f42408581039061109690899063ffffffff611a0116565b9050600160a060020a03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561155757600154600354604080517fcb3c28c7000000000000000000000000000000000000000000000000000000008152600160a060020a038d81166004830152602482018d90528b811660448301523060648301526084820186905260a4820187905292831660c48201529051919092169163cb3c28c7918b9160e48082019260209290919082900301818588803b15801561152357600080fd5b505af1158015611537573d6000803e3d6000fd5b50505050506040513d602081101561154e57600080fd5b505192506116fb565b600154604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a03928316602482015290516000928c169163dd62ed3e91604480830192602092919082900301818787803b1580156115c557600080fd5b505af11580156115d9573d6000803e3d6000fd5b505050506040513d60208110156115ef57600080fd5b5051111561161a5760015461161890600160a060020a038b81169116600063ffffffff611b0716565b505b60015461163a90600160a060020a038b811691168a63ffffffff611b0716565b50600154600354604080517fcb3c28c7000000000000000000000000000000000000000000000000000000008152600160a060020a038d81166004830152602482018d90528b811660448301523060648301526084820186905260a4820187905292831660c48201529051919092169163cb3c28c79160e48083019260209291908290030181600087803b1580156116d157600080fd5b505af11580156116e5573d6000803e3d6000fd5b505050506040513d602081101561154e57600080fd5b50509695505050505050565b6000600160a060020a03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146117bf57604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561178e57600080fd5b505af11580156117a2573d6000803e3d6000fd5b505050506040513d60208110156117b857600080fd5b50516117c2565b30315b92915050565b6000828211156117d457fe5b50900390565b6000806117f4620f4240611096868663ffffffff611a0116565b9050611806848263ffffffff6117c816565b9150600081111561186e57600254611829908690600160a060020a031683611876565b60408051600160a060020a03871681526020810183905281517f1cdf74906ad7d5c402e19a20dbe986befe937e6768a0722bdb18918cdba45c4a929181900390910190a15b509392505050565b600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156118d757604051600160a060020a0383169082156108fc029083906000818181858888f193505050501580156118d1573d6000803e3d6000fd5b50611947565b6118f1600160a060020a038416838363ffffffff61194c16565b1515611947576040805160e560020a62461bcd02815260206004820152601660248201527f63616e6e6f74207472616e7366657220746f6b656e7300000000000000000000604482015290519081900360640190fd5b505050565b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015260248201849052915160009286169163a9059cbb916044808301928692919082900301818387803b1580156119b757600080fd5b505af11580156119cb573d6000803e3d6000fd5b505050503d600081146119e557602081146119ef57600080fd5b600019915061186e565b60206000803e50506000519392505050565b6000821515611a12575060006117c2565b50818102818382811515611a2257fe5b04146117c257fe5b60008183811515611a3757fe5b049392505050565b600160a060020a0381161515611a9f576040805160e560020a62461bcd02815260206004820152600e60248201527f5f6e65774f776e6572203d3d2030000000000000000000000000000000000000604482015290519081900360640190fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015260248201849052915160009286169163095ea7b3916044808301928692919082900301818387803b1580156119b757600080fd006d73672e73656e646572206e6f74206f776e6572000000000000000000000000a165627a7a7230582063b73dc12e564c08b0db90e09a4e59d730abbaed118744045b20d86c5378944a0029000000000000000000000000818e6fecd516ecc3849daf6845e3ec868087b755000000000000000000000000c74cbdc94a3c25640dbf60a430c4dc74526823b0000000000000000000000000fb0fce9d94f3f69d419dbf11cf35bed84a50103400000000000000000000000000000000000000000000000000000000000003e8
Deployed Bytecode
0x6080604052600436106101115763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632220e22e81146101135780633f4ba83a1461014457806340a9cadb1461015957806345db50341461017a578063521eb273146101a45780635c975abb146101b95780635e75228f146101e2578063715018a61461020657806375ead4591461021b57806383197ef0146102545780638456cb5914610269578063894760691461027e5780638da5cb5b1461029f5780639236a652146102b4578063b78b842d146102c9578063deaa59df146102de578063e56c174b146102ff578063ebdea6b914610342578063f2fde38b1461035a578063f5074f411461037b575b005b34801561011f57600080fd5b5061012861039c565b60408051600160a060020a039092168252519081900360200190f35b34801561015057600080fd5b506101116103ab565b34801561016557600080fd5b50610111600160a060020a03600435166104b6565b34801561018657600080fd5b50610111600160a060020a0360043581169060243516604435610535565b3480156101b057600080fd5b506101286105dc565b3480156101c557600080fd5b506101ce6105eb565b604080519115158252519081900360200190f35b610111600160a060020a03600435811690602435906044351660643560843561060c565b34801561021257600080fd5b50610111610a90565b34801561022757600080fd5b50610242600160a060020a0360043581169060243516610b35565b60408051918252519081900360200190f35b34801561026057600080fd5b50610111610b8c565b34801561027557600080fd5b50610111610bea565b34801561028a57600080fd5b50610111600160a060020a0360043516610d0b565b3480156102ab57600080fd5b50610128610eb9565b3480156102c057600080fd5b50610242610ec8565b3480156102d557600080fd5b50610128610ece565b3480156102ea57600080fd5b50610111600160a060020a0360043516610edd565b34801561030b57600080fd5b50610329600160a060020a0360043581169060243516604435610fbc565b6040805192835260208301919091528051918290030190f35b34801561034e57600080fd5b506101116004356110ca565b34801561036657600080fd5b50610111600160a060020a0360043516611179565b34801561038757600080fd5b50610111600160a060020a03600435166111d5565b600354600160a060020a031681565b600054600160a060020a031633146103fb576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff16151561046f576040805160e560020a62461bcd02815260206004820152601a60248201527f54686520636f6e7472616374206973206e6f7420706175736564000000000000604482015290519081900360640190fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600054600160a060020a03163314610506576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a03163314610586576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b620f42408211610596578161059b565b620f42405b600160a060020a0394851660008181526005602081815260408084209890991683529687528782208490558652868120918152945293909220929092555050565b600254600160a060020a031681565b60005474010000000000000000000000000000000000000000900460ff1681565b600080808080600160a060020a038a81169089161415610676576040805160e560020a62461bcd02815260206004820152600b60248201527f737263203d3d2064657374000000000000000000000000000000000000000000604482015290519081900360640190fd5b600089116106ce576040805160e560020a62461bcd02815260206004820152600e60248201527f737263416d6f756e74203d3d2030000000000000000000000000000000000000604482015290519081900360640190fd5b6106d78a611231565b6106e088611231565b600160a060020a038a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156107615734891461075c576040805160e560020a62461bcd02815260206004820152601660248201527f6d73672e76616c756520213d20737263416d6f756e7400000000000000000000604482015290519081900360640190fd5b6108e4565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290518a91600160a060020a038d169163dd62ed3e916044808201926020929091908290030181600087803b1580156107cb57600080fd5b505af11580156107df573d6000803e3d6000fd5b505050506040513d60208110156107f557600080fd5b5051101561084d576040805160e560020a62461bcd02815260206004820152601b60248201527f455243323020616c6c6f77616e6365203c20737263416d6f756e740000000000604482015290519081900360640190fd5b610868600160a060020a038b1633308c63ffffffff61136616565b15156108e4576040805160e560020a62461bcd02815260206004820152603160248201527f63616e6e6f74207472616e736665722073726320746f6b656e2066726f6d206d60448201527f73672e73656e64657220746f2074686973000000000000000000000000000000606482015290519081900360840190fd5b6108ee8a89610b35565b94506108fe8a8a8a8a8a8a611426565b93506109098a611707565b925061091b898463ffffffff6117c816565b915060008211610975576040805160e560020a62461bcd02815260206004820152601060248201527f6e6f2074726164656420746f6b656e7300000000000000000000000000000000604482015290519081900360640190fd5b8361097f89611707565b10156109fb576040805160e560020a62461bcd02815260206004820152602160248201527f4e6f20656e6f756768206465737420746f6b656e73206166746572207472616460448201527f6500000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b610a068885876117da565b9050610a13883383611876565b6000831115610a2757610a278a3385611876565b87600160a060020a03168a600160a060020a031633600160a060020a03167f3ec01f4da9d8c31a1cdb8e6e7231364ba5ef0850b01daaa44a9f126f920693c68585604051808381526020018281526020019250505060405180910390a450505050505050505050565b600054600160a060020a03163314610ae0576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600160a060020a038083166000908152600560209081526040808320938516835292905290812054801515610b6e576004549150610b85565b620f42408110610b815760009150610b85565b8091505b5092915050565b600054600160a060020a03163314610bdc576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b600054600160a060020a0316ff5b600054600160a060020a03163314610c3a576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff1615610cad576040805160e560020a62461bcd02815260206004820152601660248201527f54686520636f6e74726163742069732070617573656400000000000000000000604482015290519081900360640190fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b60008054600160a060020a03163314610d5c576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b600160a060020a03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480610d8e5750600160a060020a038216155b15610dca5750604051303190339082156108fc029083906000818181858888f19350505050158015610dc4573d6000803e3d6000fd5b50610e75565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610e2b57600080fd5b505af1158015610e3f573d6000803e3d6000fd5b505050506040513d6020811015610e5557600080fd5b50519050610e73600160a060020a038316338363ffffffff61194c16565b505b604080518281529051600160a060020a0384169133917f46ae78bc7b198b8b534ca0070d125569ac5f955976841c4343223079f3abf0de9181900360200190a35050565b600054600160a060020a031681565b60045481565b600154600160a060020a031681565b600054600160a060020a03163314610f2d576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b600160a060020a0381161515610f8d576040805160e560020a62461bcd02815260206004820152601560248201527f5f77616c6c6574203d3d20616464726573732830290000000000000000000000604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154604080517f809a9e55000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301528581166024830152604482018590528251600094859485948594859493169263809a9e559260648084019391929182900301818787803b15801561103957600080fd5b505af115801561104d573d6000803e3d6000fd5b505050506040513d604081101561106357600080fd5b508051602090910151909350915061107b8888610b35565b90506110a2620f42406110968584830363ffffffff611a0116565b9063ffffffff611a2a16565b94506110bd620f42406110968484830363ffffffff611a0116565b9350505050935093915050565b600054600160a060020a0316331461111a576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b620f42408110611174576040805160e560020a62461bcd02815260206004820152601460248201527f737072656164203e3d20737072656164556e6974000000000000000000000000604482015290519081900360640190fd5b600455565b600054600160a060020a031633146111c9576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b6111d281611a3f565b50565b600054600160a060020a03163314611225576040805160e560020a62461bcd0281526020600482015260146024820152600080516020611b73833981519152604482015290519081900360640190fd5b80600160a060020a0316ff5b6000600160a060020a03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146112e957604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156112b857600080fd5b505af11580156112cc573d6000803e3d6000fd5b505050506040513d60208110156112e257600080fd5b50516112fa565b6112fa30313463ffffffff6117c816565b905060008111156113625760025461131d908390600160a060020a031683611876565b60408051600160a060020a03841681526020810183905281517f53189a8ce98afbf89498c735cf6b58ad2708c8a3a12b6f077bd4f3313dced7a9929181900390910190a15b5050565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015284811660248301526044820184905291516000928716916323b872dd916064808301928692919082900301818387803b1580156113d957600080fd5b505af11580156113ed573d6000803e3d6000fd5b505050503d60008114611407576020811461141157600080fd5b600019915061141d565b60206000803e60005191505b50949350505050565b60008080611446620f42408581039061109690889063ffffffff611a0116565b9150611464620f42408581039061109690899063ffffffff611a0116565b9050600160a060020a03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561155757600154600354604080517fcb3c28c7000000000000000000000000000000000000000000000000000000008152600160a060020a038d81166004830152602482018d90528b811660448301523060648301526084820186905260a4820187905292831660c48201529051919092169163cb3c28c7918b9160e48082019260209290919082900301818588803b15801561152357600080fd5b505af1158015611537573d6000803e3d6000fd5b50505050506040513d602081101561154e57600080fd5b505192506116fb565b600154604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a03928316602482015290516000928c169163dd62ed3e91604480830192602092919082900301818787803b1580156115c557600080fd5b505af11580156115d9573d6000803e3d6000fd5b505050506040513d60208110156115ef57600080fd5b5051111561161a5760015461161890600160a060020a038b81169116600063ffffffff611b0716565b505b60015461163a90600160a060020a038b811691168a63ffffffff611b0716565b50600154600354604080517fcb3c28c7000000000000000000000000000000000000000000000000000000008152600160a060020a038d81166004830152602482018d90528b811660448301523060648301526084820186905260a4820187905292831660c48201529051919092169163cb3c28c79160e48083019260209291908290030181600087803b1580156116d157600080fd5b505af11580156116e5573d6000803e3d6000fd5b505050506040513d602081101561154e57600080fd5b50509695505050505050565b6000600160a060020a03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146117bf57604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561178e57600080fd5b505af11580156117a2573d6000803e3d6000fd5b505050506040513d60208110156117b857600080fd5b50516117c2565b30315b92915050565b6000828211156117d457fe5b50900390565b6000806117f4620f4240611096868663ffffffff611a0116565b9050611806848263ffffffff6117c816565b9150600081111561186e57600254611829908690600160a060020a031683611876565b60408051600160a060020a03871681526020810183905281517f1cdf74906ad7d5c402e19a20dbe986befe937e6768a0722bdb18918cdba45c4a929181900390910190a15b509392505050565b600160a060020a03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156118d757604051600160a060020a0383169082156108fc029083906000818181858888f193505050501580156118d1573d6000803e3d6000fd5b50611947565b6118f1600160a060020a038416838363ffffffff61194c16565b1515611947576040805160e560020a62461bcd02815260206004820152601660248201527f63616e6e6f74207472616e7366657220746f6b656e7300000000000000000000604482015290519081900360640190fd5b505050565b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015260248201849052915160009286169163a9059cbb916044808301928692919082900301818387803b1580156119b757600080fd5b505af11580156119cb573d6000803e3d6000fd5b505050503d600081146119e557602081146119ef57600080fd5b600019915061186e565b60206000803e50506000519392505050565b6000821515611a12575060006117c2565b50818102818382811515611a2257fe5b04146117c257fe5b60008183811515611a3757fe5b049392505050565b600160a060020a0381161515611a9f576040805160e560020a62461bcd02815260206004820152600e60248201527f5f6e65774f776e6572203d3d2030000000000000000000000000000000000000604482015290519081900360640190fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015260248201849052915160009286169163095ea7b3916044808301928692919082900301818387803b1580156119b757600080fd006d73672e73656e646572206e6f74206f776e6572000000000000000000000000a165627a7a7230582063b73dc12e564c08b0db90e09a4e59d730abbaed118744045b20d86c5378944a0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000818e6fecd516ecc3849daf6845e3ec868087b755000000000000000000000000c74cbdc94a3c25640dbf60a430c4dc74526823b0000000000000000000000000fb0fce9d94f3f69d419dbf11cf35bed84a50103400000000000000000000000000000000000000000000000000000000000003e8
-----Decoded View---------------
Arg [0] : _kyberNetwork (address): 0x818E6FECD516Ecc3849DAf6845e3EC868087B755
Arg [1] : _wallet (address): 0xc74cBdc94a3c25640dbf60A430c4dc74526823b0
Arg [2] : _kyberFeeWallet (address): 0xFb0fce9D94f3f69D419dBf11Cf35bEd84a501034
Arg [3] : _spread (uint256): 1000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000818e6fecd516ecc3849daf6845e3ec868087b755
Arg [1] : 000000000000000000000000c74cbdc94a3c25640dbf60a430c4dc74526823b0
Arg [2] : 000000000000000000000000fb0fce9d94f3f69d419dbf11cf35bed84a501034
Arg [3] : 00000000000000000000000000000000000000000000000000000000000003e8
Deployed Bytecode Sourcemap
10967:7518:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11354:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11354:29:0;;;;;;;;-1:-1:-1;;;;;11354:29:0;;;;;;;;;;;;;;9705:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9705:95:0;;;;12736:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12736:98:0;-1:-1:-1;;;;;12736:98:0;;;;;13045:234;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13045:234:0;-1:-1:-1;;;;;13045:234:0;;;;;;;;;;;;11328:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11328:21:0;;;;9028:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9028:26:0;;;;;;;;;;;;;;;;;;;;;;14975:1750;;-1:-1:-1;;;;;14975:1750:0;;;;;;;;;;;;;;;;;3790:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3790:114:0;;;;13285:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13285:238:0;-1:-1:-1;;;;;13285:238:0;;;;;;;;;;;;;;;;;;;;;;;;;;4866:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4866:68:0;;;;9525:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9525:93:0;;;;13641:487;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13641:487:0;-1:-1:-1;;;;;13641:487:0;;;;;2971:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2971:20:0;;;;11390:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11390:25:0;;;;11288:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11288:33:0;;;;12586:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12586:144:0;-1:-1:-1;;;;;12586:144:0;;;;;14180:425;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14180:425:0;-1:-1:-1;;;;;14180:425:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12840:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12840:153:0;;;;;4072:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4072:105:0;-1:-1:-1;;;;;4072:105:0;;;;;4940:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4940:98:0;-1:-1:-1;;;;;4940:98:0;;;;;11354:29;;;-1:-1:-1;;;;;11354:29:0;;:::o;9705:95::-;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;9390:6;;;;;;;9382:45;;;;;;;-1:-1:-1;;;;;9382:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9768:5;9759:14;;-1:-1:-1;;9759:14:0;;;9785:9;;;;9768:5;9785:9;9705:95::o;12736:98::-;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;12804:14;:24;;-1:-1:-1;;12804:24:0;-1:-1:-1;;;;;12804:24:0;;;;;;;;;;12736:98::o;13045:234::-;13133:10;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;11548:20;13146:19;;:41;;13181:6;13146:41;;;11548:20;13146:41;-1:-1:-1;;;;;13194:20:0;;;;;;;:12;:20;;;;;;;;:28;;;;;;;;;;;;:36;;;13237:20;;;;;:28;;;;;;;;;:36;;;;-1:-1:-1;;13045:234:0:o;11328:21::-;;;-1:-1:-1;;;;;11328:21:0;;:::o;9028:26::-;;;;;;;;;:::o;14975:1750::-;15907:14;;;;;-1:-1:-1;;;;;15106:11:0;;;;;;;;15098:35;;;;;-1:-1:-1;;;;;15098:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15160:1;15148:13;;15140:40;;;;;-1:-1:-1;;;;;15140:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15231:26;15253:3;15231:21;:26::i;:::-;15264:27;15286:4;15264:21;:27::i;:::-;-1:-1:-1;;;;;15304:12:0;;11121:42;15304:12;15300:434;;;15335:9;:22;;15327:57;;;;;-1:-1:-1;;;;;15327:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15300:434;;;15425:47;;;;;;15446:10;15425:47;;;;15466:4;15425:47;;;;;;15476:9;;-1:-1:-1;;;;;15425:20:0;;;;;:47;;;;;;;;;;;;;;;-1:-1:-1;15425:20:0;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;15425:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15425:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15425:47:0;:60;;15407:127;;;;;-1:-1:-1;;;;;15407:127:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15589:66;-1:-1:-1;;;;;15589:28:0;;15618:10;15638:4;15645:9;15589:66;:28;:66;:::i;:::-;15571:155;;;;;;;-1:-1:-1;;;;;15571:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15924:20;15934:3;15939:4;15924:9;:20::i;:::-;15907:37;;15980:86;16003:3;16008:9;16019:4;16025:13;16040:17;16059:6;15980:22;:86::i;:::-;15953:113;;16095:15;16106:3;16095:10;:15::i;:::-;16075:35;-1:-1:-1;16143:24:0;:9;16075:35;16143:24;:13;:24;:::i;:::-;16117:50;-1:-1:-1;16200:1:0;16182:19;;16174:48;;;;;-1:-1:-1;;;;;16174:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16266:16;16246;16257:4;16246:10;:16::i;:::-;:36;;16229:106;;;;;-1:-1:-1;;;;;16229:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16390:39;16398:4;16404:16;16422:6;16390:7;:39::i;:::-;16367:62;;16436:41;16446:4;16452:10;16464:12;16436:9;:41::i;:::-;16541:1;16529:9;:13;16525:73;;;16553:37;16563:3;16568:10;16580:9;16553;:37::i;:::-;16687:4;-1:-1:-1;;;;;16611:108:0;16651:3;-1:-1:-1;;;;;16611:108:0;16632:10;-1:-1:-1;;;;;16611:108:0;;16663:15;16700:12;16611:108;;;;;;;;;;;;;;;;;;;;;;;;14975:1750;;;;;;;;;;:::o;3790:114::-;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;3867:5;;;3848:25;;-1:-1:-1;;;;;3867:5:0;;;;3848:25;;;3896:1;3880:18;;-1:-1:-1;;3880:18:0;;;3790:114::o;13285:238::-;-1:-1:-1;;;;;13382:20:0;;;13356:4;13382:20;;;:12;:20;;;;;;;;:28;;;;;;;;;;;;13421:10;;13417:36;;;13440:13;;13433:20;;;;13417:36;11548:20;13464:19;;13460:57;;13492:1;13485:8;;;;13460:57;13512:5;13505:12;;13460:57;13285:238;;;;;:::o;4866:68::-;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;4922:5;;-1:-1:-1;;;;;4922:5:0;4909:19;9525:93;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;9204:6;;;;;;;9203:7;9195:42;;;;;-1:-1:-1;;;;;9195:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9580:6;:13;;-1:-1:-1;;9580:13:0;;;;;9605:7;;;;9580:6;9605:7;9525:93::o;13641:487::-;13724:17;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13752:22:0;;11121:42;13752:22;;:53;;-1:-1:-1;;;;;;13778:27:0;;;13752:53;13748:306;;;-1:-1:-1;13861:33:0;;13839:4;13831:21;;13861:10;;:33;;;;;13831:21;;13861:33;;;;13831:21;13861:10;:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13861:33:0;13748:306;;;13932:45;;;;;;13971:4;13932:45;;;;;;-1:-1:-1;;;;;13932:30:0;;;;;:45;;;;;;;;;;;;;;-1:-1:-1;13932:30:0;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;13932:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13932:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13932:45:0;;-1:-1:-1;13986:60:0;-1:-1:-1;;;;;13986:34:0;;14021:10;13932:45;13986:60;:34;:60;:::i;:::-;;13748:306;14065:57;;;;;;;;-1:-1:-1;;;;;14065:57:0;;;14082:10;;14065:57;;;;;;;;;13641:487;;:::o;2971:20::-;;;-1:-1:-1;;;;;2971:20:0;;:::o;11390:25::-;;;;:::o;11288:33::-;;;-1:-1:-1;;;;;11288:33:0;;:::o;12586:144::-;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12654:21:0;;;;12646:55;;;;;-1:-1:-1;;;;;12646:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12708:6;:16;;-1:-1:-1;;12708:16:0;-1:-1:-1;;;;;12708:16:0;;;;;;;;;;12586:144::o;14180:425::-;14360:12;;:50;;;;;;-1:-1:-1;;;;;14360:50:0;;;;;;;;;;;;;;;;;;;;;;14270:17;;;;;;;;;;14360:12;;;:28;;:50;;;;;;;;;;;;;14270:17;14360:12;:50;;;5:2:-1;;;;30:1;27;20:12;5:2;14360:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14360:50:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14360:50:0;;;;;;;;;-1:-1:-1;14360:50:0;-1:-1:-1;14434:20:0;14444:3;14449:4;14434:9;:20::i;:::-;14417:37;-1:-1:-1;14476:50:0;11548:20;14476:34;:9;14490:19;;;14476:34;:13;:34;:::i;:::-;:38;:50;:38;:50;:::i;:::-;14461:65;-1:-1:-1;14548:51:0;11548:20;14548:35;:10;14563:19;;;14548:35;:14;:35;:::i;:51::-;14533:66;;14180:425;;;;;;;;;:::o;12840:153::-;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;11548:20;12912;;12904:53;;;;;-1:-1:-1;;;;;12904:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12964:13;:23;12840:153::o;4072:105::-;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;4142:29;4161:9;4142:18;:29::i;:::-;4072:105;:::o;4940:98::-;3474:5;;-1:-1:-1;;;;;3474:5:0;3460:10;:19;3452:52;;;;;-1:-1:-1;;;;;3452:52:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3452:52:0;;;;;;;;;;;;;;;5021:10;-1:-1:-1;;;;;5008:24:0;;14611:358;14672:25;-1:-1:-1;;;;;14700:14:0;;11121:42;14700:14;:107;;14770:37;;;;;;14801:4;14770:37;;;;;;-1:-1:-1;;;;;14770:22:0;;;;;:37;;;;;;;;;;;;;;-1:-1:-1;14770:22:0;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;14770:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14770:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14770:37:0;14700:107;;;14724:36;14732:4;14724:21;14750:9;14724:36;:25;:36;:::i;:::-;14672:135;;14838:1;14818:17;:21;14814:150;;;14867:6;;14850:43;;14860:5;;-1:-1:-1;;;;;14867:6:0;14875:17;14850:9;:43::i;:::-;14907:49;;;-1:-1:-1;;;;;14907:49:0;;;;;;;;;;;;;;;;;;;;;;;14814:150;14611:358;;:::o;6462:695::-;6632:57;;;;;;-1:-1:-1;;;;;6632:57:0;;;;;;;;;;;;;;;;;;;;;;6609:11;;6632:37;;;;;:57;;;;;6609:11;;6632:57;;;;;;;6609:11;6632:37;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;6632:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6632:57:0;;;;6723:16;6752:1;6747:117;;;;6877:2;6872:175;;;;7134:1;7131;7124:12;6747:117;-1:-1:-1;;6820:6:0;-1:-1:-1;6747:117:0;;6872:175;6957:2;6954:1;6951;6936:24;6986:1;6980:8;6970:18;;6716:429;;6707:445;;;;;;:::o;16731:962::-;16879:7;;;17002:58;11548:20;17040:19;;;;17002:33;;:17;;:33;:21;:33;:::i;:58::-;16977:83;-1:-1:-1;17098:54:0;11548:20;17132:19;;;;17098:29;;:13;;:29;:17;:29;:::i;:54::-;17067:85;-1:-1:-1;;;;;;17163:12:0;;11121:42;17163:12;17159:529;;;17193:12;;17314:14;;17193:136;;;;;;-1:-1:-1;;;;;17193:136:0;;;;;;;;;;;;;;;;;;;;17269:4;17193:136;;;;;;;;;;;;;;;;17314:14;;;17193:136;;;;;;:12;;;;;:18;;17228:9;;17193:136;;;;;;;;;;;;;;;17228:9;17193:12;:136;;;5:2:-1;;;;30:1;27;20:12;5:2;17193:136:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17193:136:0;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17193:136:0;;-1:-1:-1;17186:143:0;;17159:529;17400:12;;17356:58;;;;;;17385:4;17356:58;;;;-1:-1:-1;;;;;17400:12:0;;;17356:58;;;;;;17417:1;;17356:20;;;;;:58;;;;;;;;;;;;;;17417:1;17356:20;:58;;;5:2:-1;;;;30:1;27;20:12;5:2;17356:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17356:58:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17356:58:0;:62;17352:138;;;17463:12;;17431:49;;-1:-1:-1;;;;;17431:23:0;;;;17463:12;;17431:49;:23;:49;:::i;:::-;;17352:138;17530:12;;17498:57;;-1:-1:-1;;;;;17498:23:0;;;;17530:12;17545:9;17498:57;:23;:57;:::i;:::-;-1:-1:-1;17571:12:0;;17665:14;;17571:109;;;;;;-1:-1:-1;;;;;17571:109:0;;;;;;;;;;;;;;;;;;;;17620:4;17571:109;;;;;;;;;;;;;;;;17665:14;;;17571:109;;;;;;:12;;;;;:18;;:109;;;;;;;;;;;;;;:12;;:109;;;5:2:-1;;;;30:1;27;20:12;5:2;17571:109:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17571:109:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;17159:529:0;16731:962;;;;;;;;;;:::o;18042:177::-;18098:7;-1:-1:-1;;;;;18121:14:0;;11121:42;18121:14;:92;;18176:37;;;;;;18207:4;18176:37;;;;;;-1:-1:-1;;;;;18176:22:0;;;;;:37;;;;;;;;;;;;;;-1:-1:-1;18176:22:0;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;18176:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18176:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18176:37:0;18121:92;;;18153:4;18145:21;18121:92;18114:99;18042:177;-1:-1:-1;;18042:177:0:o;2361:119::-;2421:7;2444:8;;;;2437:16;;;;-1:-1:-1;2467:7:0;;;2361:119::o;17699:337::-;17783:20;;17826:44;11548:20;17826:28;:16;17847:6;17826:28;:20;:28;:::i;:44::-;17812:58;-1:-1:-1;17892:25:0;:16;17812:58;17892:25;:20;:25;:::i;:::-;17877:40;;17950:1;17944:3;:7;17940:91;;;17979:6;;17962:29;;17972:5;;-1:-1:-1;;;;;17979:6:0;17987:3;17962:9;:29::i;:::-;18005:18;;;-1:-1:-1;;;;;18005:18:0;;;;;;;;;;;;;;;;;;;;;;;17940:91;17699:337;;;;;;:::o;18225:255::-;-1:-1:-1;;;;;18313:14:0;;11121:42;18313:14;18309:166;;;18338:26;;-1:-1:-1;;;;;18338:18:0;;;:26;;;;;18357:6;;18338:26;;;;18357:6;18338:18;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18338:26:0;18309:166;;;18395:45;-1:-1:-1;;;;;18395:26:0;;18422:9;18433:6;18395:45;:26;:45;:::i;:::-;18387:80;;;;;;;-1:-1:-1;;;;;18387:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18225:255;;;:::o;7442:659::-;7586:47;;;;;;-1:-1:-1;;;;;7586:47:0;;;;;;;;;;;;;;;7563:11;;7586:33;;;;;:47;;;;;7563:11;;7586:47;;;;;;;7563:11;7586:33;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;7586:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7586:47:0;;;;7667:16;7696:1;7691:117;;;;7821:2;7816:175;;;;8078:1;8075;8068:12;7691:117;-1:-1:-1;;7764:6:0;-1:-1:-1;7691:117:0;;7816:175;7901:2;7898:1;7895;7880:24;-1:-1:-1;;7930:1:0;7924:8;;7651:445;-1:-1:-1;;;7651:445:0:o;1478:391::-;1538:9;1768:7;;1764:38;;;-1:-1:-1;1793:1:0;1786:8;;1764:38;-1:-1:-1;1814:7:0;;;1819:2;1814;:7;1835:6;;;;;;;;:12;1828:20;;;1956:288;2016:7;2236:2;2231;:7;;;;;;;;;1956:288;-1:-1:-1;;;1956:288:0:o;4318:193::-;-1:-1:-1;;;;;4389:23:0;;;;4381:50;;;;;-1:-1:-1;;;;;4381:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4464:5;;;4443:38;;-1:-1:-1;;;;;4443:38:0;;;;4464:5;;;4443:38;;;4488:5;:17;;-1:-1:-1;;4488:17:0;-1:-1:-1;;;;;4488:17:0;;;;;;;;;;4318:193::o;8107:650::-;8246:43;;;;;;-1:-1:-1;;;;;8246:43:0;;;;;;;;;;;;;;;8223:11;;8246:25;;;;;:43;;;;;8223:11;;8246:43;;;;;;;8223:11;8246:25;:43;;;5:2:-1;;;;30:1;27;20:12
Swarm Source
bzzr://63b73dc12e564c08b0db90e09a4e59d730abbaed118744045b20d86c5378944a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.