Overview
ETH Balance
6.020853358535112405 ETH
Eth Value
$18,921.93 (@ $3,142.73/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 29,834 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Token | 16738121 | 490 days ago | IN | 0 ETH | 0.00195008 | ||||
Withdraw | 16568089 | 514 days ago | IN | 0 ETH | 0.00065409 | ||||
Cancel Order | 12623759 | 1117 days ago | IN | 0 ETH | 0.00033954 | ||||
Withdraw | 11684314 | 1262 days ago | IN | 0 ETH | 0.00157729 | ||||
Withdraw | 11684300 | 1262 days ago | IN | 0 ETH | 0.00194128 | ||||
Transfer | 10790147 | 1399 days ago | IN | 0 ETH | 0.005796 | ||||
Withdraw | 8706059 | 1730 days ago | IN | 0 ETH | 0.00002289 | ||||
Withdraw | 8706049 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705967 | 1730 days ago | IN | 0 ETH | 0.00002289 | ||||
Withdraw | 8705954 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705945 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705934 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705931 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705926 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705922 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705913 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705898 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705650 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705623 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw | 8705593 | 1730 days ago | IN | 0 ETH | 0.00003796 | ||||
Withdraw Token | 8382146 | 1780 days ago | IN | 0 ETH | 0.00061744 | ||||
Withdraw Token | 8371833 | 1782 days ago | IN | 0 ETH | 0.00012998 | ||||
Withdraw Token | 8343567 | 1786 days ago | IN | 0 ETH | 0.00004749 | ||||
Withdraw Token | 8255751 | 1800 days ago | IN | 0 ETH | 0.00004749 | ||||
Deposit Token | 8255742 | 1800 days ago | IN | 0 ETH | 0.00003722 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
16568089 | 514 days ago | 0.1 ETH | ||||
11684314 | 1262 days ago | 1.76860373 ETH | ||||
11684300 | 1262 days ago | 3.06518206 ETH | ||||
8706059 | 1730 days ago | 0.0002 ETH | ||||
8706049 | 1730 days ago | 0.001 ETH | ||||
8705967 | 1730 days ago | 0.00005 ETH | ||||
8705954 | 1730 days ago | 0.0006 ETH | ||||
8705945 | 1730 days ago | 0.0126 ETH | ||||
8705934 | 1730 days ago | 0.0226 ETH | ||||
8705931 | 1730 days ago | 0.0226 ETH | ||||
8705926 | 1730 days ago | 0.0226 ETH | ||||
8705922 | 1730 days ago | 0.0226 ETH | ||||
8705913 | 1730 days ago | 0.0226 ETH | ||||
8705898 | 1730 days ago | 0.0226 ETH | ||||
8705650 | 1730 days ago | 0.00465 ETH | ||||
8705623 | 1730 days ago | 0.00265 ETH | ||||
8705593 | 1730 days ago | 0.00265 ETH | ||||
8244607 | 1802 days ago | 0.002 ETH | ||||
8244364 | 1802 days ago | 0.0198 ETH | ||||
8204112 | 1808 days ago | 0.014 ETH | ||||
8193315 | 1809 days ago | 0.12839599 ETH | ||||
8190270 | 1810 days ago | 0.00102 ETH | ||||
8182486 | 1811 days ago | 0.053 ETH | ||||
8179860 | 1812 days ago | 0.09244507 ETH | ||||
8035567 | 1834 days ago | 0.01391598 ETH |
Loading...
Loading
Contract Name:
ETHERCExchange
Compiler Version
v0.4.20+commit.3155dd80
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-04-22 */ pragma solidity ^0.4.19; /** * @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) { if (a == 0) { return 0; } uint256 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 c; } /** * @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) { uint256 c = a + b; assert(c >= a); return c; } } /** * @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 OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @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 { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * ERC-20 Token Standard * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md */ contract Token { function totalSupply() public view returns (uint256); function balanceOf(address _owner) public view returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); function transferFrom(address _from, address _to, uint256 _value) public returns (bool); function approve(address _spender, uint256 _value) public returns (bool); function allowance(address _owner, address _spender) public view returns (uint256); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } /** * Interface for trading discounts and rebates for specific accounts */ contract FeeModifiersInterface { function accountFeeModifiers(address _user) public view returns (uint256 feeDiscount, uint256 feeRebate); function tradingFeeModifiers(address _maker, address _taker) public view returns (uint256 feeMakeDiscount, uint256 feeTakeDiscount, uint256 feeRebate); } /** * Interface for trade tracker to handle trade event */ contract TradeTrackerInterface { function tradeEventHandler(address _tokenGet, uint256 _amountGet, address _tokenGive, uint256 _amountGive, address _maker, address _user, bytes32 _orderHash, uint256 _gasLimit) public; } contract ETHERCExchange is Ownable { using SafeMath for uint256; // the trade tracker address address public tradeTracker; // the contract which stores fee discounts/rebates address public feeModifiers; // the account that will receive fees address public feeAccount; // maker fee percentage times (1 ether) uint256 public feeMake; // taker fee percentage times (1 ether) uint256 public feeTake; // mapping of token addresses to mapping of account balances mapping (address => mapping (address => uint256)) public tokens; // mapping of order hash to status cancelled mapping (bytes32 => bool) public cancelledOrders; // mapping order hashes to uints (amount of order that has been filled) mapping (bytes32 => uint256) public orderFills; //Logging events event Deposit(address token, address user, uint256 amount, uint256 balance); event Withdraw(address token, address user, uint256 amount, uint256 balance); event Cancel(address tokenGet, uint256 amountGet, address tokenGive, uint256 amountGive, uint256 expires, uint256 nonce, address maker, uint8 v, bytes32 r, bytes32 s, bytes32 orderHash, uint256 amountFilled); event Trade(address tokenGet, uint256 amountGet, address tokenGive, uint256 amountGive, address maker, address taker, bytes32 orderHash); function ETHERCExchange() public { feeAccount = owner; } function() public { revert(); } //////////////////////////////////////////////////////////////////////////////// // Fee Discounts, Rebates //////////////////////////////////////////////////////////////////////////////// function getAccountFeeModifiers(address _user) public view returns(uint256 feeDiscount, uint256 feeRebate) { if (feeModifiers != address(0)) { (feeDiscount, feeRebate) = FeeModifiersInterface(feeModifiers).accountFeeModifiers(_user); } } //////////////////////////////////////////////////////////////////////////////// // Funds //////////////////////////////////////////////////////////////////////////////// function deposit() public payable { tokens[address(0)][msg.sender] = tokens[address(0)][msg.sender].add(msg.value); Deposit(address(0), msg.sender, msg.value, tokens[address(0)][msg.sender]); } function depositToken(address _token, uint256 _amount) public { require(_token != address(0)); if (!Token(_token).transferFrom(msg.sender, this, _amount)) revert(); tokens[_token][msg.sender] = tokens[_token][msg.sender].add(_amount); Deposit(_token, msg.sender, _amount, tokens[_token][msg.sender]); } function withdraw(uint256 _amount) public { require(tokens[address(0)][msg.sender] >= _amount); tokens[address(0)][msg.sender] = tokens[address(0)][msg.sender].sub(_amount); msg.sender.transfer(_amount); Withdraw(address(0), msg.sender, _amount, tokens[address(0)][msg.sender]); } function withdrawToken(address _token, uint256 _amount) public { require(_token != address(0)); require(tokens[_token][msg.sender] >= _amount); tokens[_token][msg.sender] = tokens[_token][msg.sender].sub(_amount); if (!Token(_token).transfer(msg.sender, _amount)) revert(); Withdraw(_token, msg.sender, _amount, tokens[_token][msg.sender]); } function balanceOf(address _token, address _user) public view returns (uint256) { return tokens[_token][_user]; } //////////////////////////////////////////////////////////////////////////////// // Trading & Order //////////////////////////////////////////////////////////////////////////////// function trade(address _tokenGet, uint256 _amountGet, address _tokenGive, uint256 _amountGive, uint256 _expires, uint256 _nonce, address _maker, uint8 _v, bytes32 _r, bytes32 _s, uint256 _amountTrade) public { uint256 executionGasLimit = msg.gas; bytes32 orderHash = getOrderHash(_tokenGet, _amountGet, _tokenGive, _amountGive, _expires, _nonce, _maker); if (ecrecover(keccak256("\x19Ethereum Signed Message:\n32", orderHash), _v, _r, _s) != _maker || cancelledOrders[orderHash] || block.number > _expires || orderFills[orderHash].add(_amountTrade) > _amountGet ) revert(); tradeBalances(_tokenGet, _amountGet, _tokenGive, _amountGive, _maker, _amountTrade); orderFills[orderHash] = orderFills[orderHash].add(_amountTrade); uint256 amountTradeGive = _amountGive.mul(_amountTrade) / _amountGet; if(tradeTracker != address(0)){ TradeTrackerInterface(tradeTracker).tradeEventHandler(_tokenGet, _amountTrade, _tokenGive, amountTradeGive, _maker, msg.sender, orderHash, executionGasLimit); } Trade(_tokenGet, _amountTrade, _tokenGive, amountTradeGive, _maker, msg.sender, orderHash); } function tradeBalances(address _tokenGet, uint256 _amountGet, address _tokenGive, uint256 _amountGive, address _maker, uint256 _amountTrade) private { uint256 feeMakeValue = _amountTrade.mul(feeMake) / (1 ether); uint256 feeTakeValue = _amountTrade.mul(feeTake) / (1 ether); uint256 feeRebateValue = 0; if (feeModifiers != address(0)) { uint256 feeMakeDiscount; uint256 feeTakeDiscount; uint256 feeRebate; (feeMakeDiscount, feeTakeDiscount, feeRebate) = FeeModifiersInterface(feeModifiers).tradingFeeModifiers(_maker, msg.sender); if (feeMakeValue > 0 && feeMakeDiscount > 0 && feeMakeDiscount <= 100 ) feeMakeValue = feeMakeValue.mul(100 - feeMakeDiscount) / 100; if (feeTakeValue > 0 && feeTakeDiscount > 0 && feeTakeDiscount <= 100 ) feeTakeValue = feeTakeValue.mul(100 - feeTakeDiscount) / 100; if (feeTakeValue > 0 && feeRebate > 0 && feeRebate <= 100) feeRebateValue = feeTakeValue.mul(feeRebate) / 100; } tokens[_tokenGet][msg.sender] = tokens[_tokenGet][msg.sender].sub(_amountTrade.add(feeTakeValue)); tokens[_tokenGet][_maker] = tokens[_tokenGet][_maker].add(_amountTrade.sub(feeMakeValue).add(feeRebateValue)); tokens[_tokenGive][msg.sender] = tokens[_tokenGive][msg.sender].add(_amountGive.mul(_amountTrade) / _amountGet); tokens[_tokenGive][_maker] = tokens[_tokenGive][_maker].sub(_amountGive.mul(_amountTrade) / _amountGet); tokens[_tokenGet][feeAccount] = tokens[_tokenGet][feeAccount].add(feeMakeValue.add(feeTakeValue).sub(feeRebateValue)); } function validateTrade(address _tokenGet, uint256 _amountGet, address _tokenGive, uint256 _amountGive, uint256 _expires, uint256 _nonce, address _maker, uint8 _v, bytes32 _r, bytes32 _s, uint256 _amountTrade, address _taker) public view returns (uint8) { uint256 feeTakeValue = calculateTakerFee(_taker, _amountTrade); if (_amountTrade.add(feeTakeValue) > tokens[_tokenGet][_taker]) return 1; if (availableVolume(_tokenGet, _amountGet, _tokenGive, _amountGive, _expires, _nonce, _maker, _v, _r, _s) < _amountTrade) return 2; return 0; } function calculateTakerFee(address _taker, uint256 _amountTrade) public view returns (uint256) { uint256 feeTakeValue = _amountTrade.mul(feeTake) / (1 ether); uint256 feeDiscount; uint256 feeRebate; (feeDiscount, feeRebate) = getAccountFeeModifiers(_taker); if (feeTakeValue > 0 && feeDiscount > 0 && feeDiscount <= 100 ) feeTakeValue = feeTakeValue.mul(100 - feeDiscount) / 100; return feeTakeValue; } function getOrderHash(address _tokenGet, uint256 _amountGet, address _tokenGive, uint256 _amountGive, uint256 _expires, uint256 _nonce, address _maker) public view returns (bytes32) { return keccak256(this, _tokenGet, _amountGet, _tokenGive, _amountGive, _expires, _nonce, _maker); } function availableVolume(address _tokenGet, uint256 _amountGet, address _tokenGive, uint256 _amountGive, uint256 _expires, uint256 _nonce, address _maker, uint8 _v, bytes32 _r, bytes32 _s) public view returns (uint256) { bytes32 orderHash = getOrderHash(_tokenGet, _amountGet, _tokenGive, _amountGive, _expires, _nonce, _maker); if (ecrecover(keccak256("\x19Ethereum Signed Message:\n32", orderHash), _v, _r, _s) != _maker || cancelledOrders[orderHash] || block.number > _expires || _amountGet <= orderFills[orderHash] ) return 0; uint256[2] memory available; available[0] = _amountGet.sub(orderFills[orderHash]); available[1] = tokens[_tokenGive][_maker].mul(_amountGet) / _amountGive; if (available[0] < available[1]) return available[0]; return available[1]; } function amountFilled(address _tokenGet, uint256 _amountGet, address _tokenGive, uint256 _amountGive, uint256 _expires, uint256 _nonce, address _maker) public view returns (uint256) { bytes32 orderHash = getOrderHash(_tokenGet, _amountGet, _tokenGive, _amountGive, _expires, _nonce, _maker); return orderFills[orderHash]; } function cancelOrder(address _tokenGet, uint256 _amountGet, address _tokenGive, uint256 _amountGive, uint256 _expires, uint256 _nonce, uint8 _v, bytes32 _r, bytes32 _s) public { bytes32 orderHash = getOrderHash(_tokenGet, _amountGet, _tokenGive, _amountGive, _expires, _nonce, msg.sender); if (ecrecover(keccak256("\x19Ethereum Signed Message:\n32", orderHash), _v, _r, _s) != msg.sender) revert(); cancelledOrders[orderHash] = true; Cancel(_tokenGet, _amountGet, _tokenGive, _amountGive, _expires, _nonce, msg.sender, _v, _r, _s, orderHash, orderFills[orderHash]); } //////////////////////////////////////////////////////////////////////////////// // Setting //////////////////////////////////////////////////////////////////////////////// function changeFeeAccount(address _feeAccount) public onlyOwner { require(_feeAccount != address(0)); feeAccount = _feeAccount; } function changeFeeMake(uint256 _feeMake) public onlyOwner { require(_feeMake != feeMake); feeMake = _feeMake; } function changeFeeTake(uint256 _feeTake) public onlyOwner { require(_feeTake != feeTake); feeTake = _feeTake; } function changeFeeModifiers(address _feeModifiers) public onlyOwner { require(feeModifiers != _feeModifiers); feeModifiers = _feeModifiers; } function changeTradeTracker(address _tradeTracker) public onlyOwner { require(tradeTracker != _tradeTracker); tradeTracker = _tradeTracker; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_tokenGet","type":"address"},{"name":"_amountGet","type":"uint256"},{"name":"_tokenGive","type":"address"},{"name":"_amountGive","type":"uint256"},{"name":"_expires","type":"uint256"},{"name":"_nonce","type":"uint256"},{"name":"_maker","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"},{"name":"_amountTrade","type":"uint256"}],"name":"trade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenGet","type":"address"},{"name":"_amountGet","type":"uint256"},{"name":"_tokenGive","type":"address"},{"name":"_amountGive","type":"uint256"},{"name":"_expires","type":"uint256"},{"name":"_nonce","type":"uint256"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"cancelOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenGet","type":"address"},{"name":"_amountGet","type":"uint256"},{"name":"_tokenGive","type":"address"},{"name":"_amountGive","type":"uint256"},{"name":"_expires","type":"uint256"},{"name":"_nonce","type":"uint256"},{"name":"_maker","type":"address"}],"name":"amountFilled","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"depositToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tradeTracker","type":"address"}],"name":"changeTradeTracker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_feeModifiers","type":"address"}],"name":"changeFeeModifiers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"tokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_feeMake","type":"uint256"}],"name":"changeFeeMake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeMake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeModifiers","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeAccount","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_feeAccount","type":"address"}],"name":"changeFeeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_feeTake","type":"uint256"}],"name":"changeFeeTake","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":"","type":"bytes32"}],"name":"cancelledOrders","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_taker","type":"address"},{"name":"_amountTrade","type":"uint256"}],"name":"calculateTakerFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeTake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenGet","type":"address"},{"name":"_amountGet","type":"uint256"},{"name":"_tokenGive","type":"address"},{"name":"_amountGive","type":"uint256"},{"name":"_expires","type":"uint256"},{"name":"_nonce","type":"uint256"},{"name":"_maker","type":"address"}],"name":"getOrderHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenGet","type":"address"},{"name":"_amountGet","type":"uint256"},{"name":"_tokenGive","type":"address"},{"name":"_amountGive","type":"uint256"},{"name":"_expires","type":"uint256"},{"name":"_nonce","type":"uint256"},{"name":"_maker","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"},{"name":"_amountTrade","type":"uint256"},{"name":"_taker","type":"address"}],"name":"validateTrade","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"tradeTracker","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"getAccountFeeModifiers","outputs":[{"name":"feeDiscount","type":"uint256"},{"name":"feeRebate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"orderFills","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_token","type":"address"},{"name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenGet","type":"address"},{"name":"_amountGet","type":"uint256"},{"name":"_tokenGive","type":"address"},{"name":"_amountGive","type":"uint256"},{"name":"_expires","type":"uint256"},{"name":"_nonce","type":"uint256"},{"name":"_maker","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"availableVolume","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenGet","type":"address"},{"indexed":false,"name":"amountGet","type":"uint256"},{"indexed":false,"name":"tokenGive","type":"address"},{"indexed":false,"name":"amountGive","type":"uint256"},{"indexed":false,"name":"expires","type":"uint256"},{"indexed":false,"name":"nonce","type":"uint256"},{"indexed":false,"name":"maker","type":"address"},{"indexed":false,"name":"v","type":"uint8"},{"indexed":false,"name":"r","type":"bytes32"},{"indexed":false,"name":"s","type":"bytes32"},{"indexed":false,"name":"orderHash","type":"bytes32"},{"indexed":false,"name":"amountFilled","type":"uint256"}],"name":"Cancel","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenGet","type":"address"},{"indexed":false,"name":"amountGet","type":"uint256"},{"indexed":false,"name":"tokenGive","type":"address"},{"indexed":false,"name":"amountGive","type":"uint256"},{"indexed":false,"name":"maker","type":"address"},{"indexed":false,"name":"taker","type":"address"},{"indexed":false,"name":"orderHash","type":"bytes32"}],"name":"Trade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b60008054600160a060020a03338116600160a060020a03199283161792839055600380549092169216919091179055611b6a8061004d6000396000f3006060604052600436106101505763ffffffff60e060020a6000350416630a19b14a8114610160578063278b8c0e146101af5780632d804ca2146101ee5780632e1a7d4d1461023b578063338b5dea1461025157806348d64fd5146102735780634f3f2cbc14610292578063508493bc146102b157806354d03b5c146102d657806357786394146102ec578063617a0951146102ff57806365e17c9d1461032e57806371ffcb16146103415780638823a9c0146103605780638da5cb5b146103765780638f13f48e146103895780639e281a98146103b3578063a2190b46146103d5578063c281309e146103f7578063c4e29e661461040a578063cb3cb08514610445578063d0e30db0146104b3578063da147d32146104bb578063e7b808ea146104ce578063f2fde38b14610505578063f7213db614610524578063f7888aec1461053a578063fb6e155f1461055f575b341561015b57600080fd5b600080fd5b341561016b57600080fd5b6101ad600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e435166101043561012435610144356105a8565b005b34156101ba57600080fd5b6101ad600160a060020a03600435811690602435906044351660643560843560a43560ff60c4351660e43561010435610867565b34156101f957600080fd5b610229600160a060020a0360043581169060243590604435811690606435906084359060a4359060c43516610a22565b60405190815260200160405180910390f35b341561024657600080fd5b6101ad600435610a50565b341561025c57600080fd5b6101ad600160a060020a0360043516602435610b8f565b341561027e57600080fd5b6101ad600160a060020a0360043516610cf5565b341561029d57600080fd5b6101ad600160a060020a0360043516610d5a565b34156102bc57600080fd5b610229600160a060020a0360043581169060243516610dbf565b34156102e157600080fd5b6101ad600435610ddc565b34156102f757600080fd5b610229610e0b565b341561030a57600080fd5b610312610e11565b604051600160a060020a03909116815260200160405180910390f35b341561033957600080fd5b610312610e20565b341561034c57600080fd5b6101ad600160a060020a0360043516610e2f565b341561036b57600080fd5b6101ad600435610e8e565b341561038157600080fd5b610312610ebd565b341561039457600080fd5b61039f600435610ecc565b604051901515815260200160405180910390f35b34156103be57600080fd5b6101ad600160a060020a0360043516602435610ee1565b34156103e057600080fd5b610229600160a060020a036004351660243561108e565b341561040257600080fd5b610229611119565b341561041557600080fd5b610229600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351661111f565b341561045057600080fd5b61049d600160a060020a0360043581169060243590604435811690606435906084359060a4359060c43581169060ff60e43516906101043590610124359061014435906101643516611198565b60405160ff909116815260200160405180910390f35b6101ad61124a565b34156104c657600080fd5b610312611305565b34156104d957600080fd5b6104ed600160a060020a0360043516611314565b60405191825260208201526040908101905180910390f35b341561051057600080fd5b6101ad600160a060020a03600435166113ae565b341561052f57600080fd5b610229600435611449565b341561054557600080fd5b610229600160a060020a036004358116906024351661145b565b341561056a57600080fd5b610229600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e435166101043561012435611486565b60008060005a92506105bf8e8e8e8e8e8e8e61111f565b915087600160a060020a03166001836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0160405180910390208989896040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f1151561066957600080fd5b505060206040510351600160a060020a0316141580610696575060008281526007602052604090205460ff165b806106a057508943115b806106c957506000828152600860205260409020548d906106c7908663ffffffff61163716565b115b156106d357600080fd5b6106e18e8e8e8e8c89611651565b600082815260086020526040902054610700908563ffffffff61163716565b6000838152600860205260409020558c6107208c8663ffffffff611abb16565b81151561072957fe5b6001549190049150600160a060020a0316156107e457600154600160a060020a031663ee0c3e028f868f858d33898b60405160e060020a63ffffffff8b16028152600160a060020a039889166004820152602481019790975294871660448701526064860193909352908516608485015290931660a483015260c482019290925260e481019190915261010401600060405180830381600087803b15156107cf57600080fd5b6102c65a03f115156107e057600080fd5b5050505b7f68381874bf7a1a19bfeecb18abbaa22f0fc7892cfec46e7dd4ea9b3688419d188e858e848c3388604051600160a060020a03978816815260208101969096529386166040808701919091526060860193909352908516608085015290931660a083015260c082015260e001905180910390a15050505050505050505050505050565b60006108788a8a8a8a8a8a3361111f565b905033600160a060020a03166001826040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0160405180910390208686866040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f1151561092257600080fd5b505060206040510351600160a060020a03161461093e57600080fd5b6000818152600760209081526040808320805460ff19166001179055600890915290819020547f499af4d13c30121ba8152d6f34a69ea73c4baa470e888ca031257a58b9216c60918c918c918c918c918c918c9133918d918d918d918d919051600160a060020a039c8d168152602081019b909b52988b166040808c019190915260608b019890985260808a019690965260a08901949094529190971660c087015260ff90961660e086015261010085019590955261012084019490945261014083019390935261016082015261018001905180910390a150505050505050505050565b600080610a348989898989898961111f565b6000908152600860205260409020549998505050505050505050565b33600160a060020a03166000908152600080516020611b1f833981519152602052604090205481901015610a8357600080fd5b33600160a060020a03166000908152600080516020611b1f8339815191526020526040902054610ab9908263ffffffff611ae616565b33600160a060020a03166000818152600080516020611b1f833981519152602052604090819020929092559082156108fc0290839051600060405180830381858888f193505050501515610b0c57600080fd5b33600160a060020a0381166000908152600080516020611b1f8339815191526020526040808220547ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567939185919051600160a060020a0394851681529290931660208301526040808301919091526060820192909252608001905180910390a150565b600160a060020a0382161515610ba457600080fd5b81600160a060020a03166323b872dd33308460006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610c0e57600080fd5b6102c65a03f11515610c1f57600080fd5b505050604051805190501515610c3457600080fd5b600160a060020a0380831660009081526006602090815260408083203390941683529290522054610c6b908263ffffffff61163716565b600160a060020a038381166000908152600660209081526040808320339485168452909152908190208390557fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79285929185919051600160a060020a0394851681529290931660208301526040808301919091526060820192909252608001905180910390a15050565b60005433600160a060020a03908116911614610d1057600080fd5b600154600160a060020a0382811691161415610d2b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610d7557600080fd5b600254600160a060020a0382811691161415610d9057600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600660209081526000928352604080842090915290825290205481565b60005433600160a060020a03908116911614610df757600080fd5b600454811415610e0657600080fd5b600455565b60045481565b600254600160a060020a031681565b600354600160a060020a031681565b60005433600160a060020a03908116911614610e4a57600080fd5b600160a060020a0381161515610e5f57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610ea957600080fd5b600554811415610eb857600080fd5b600555565b600054600160a060020a031681565b60076020526000908152604090205460ff1681565b600160a060020a0382161515610ef657600080fd5b600160a060020a038083166000908152600660209081526040808320339094168352929052205481901015610f2a57600080fd5b600160a060020a0380831660009081526006602090815260408083203390941683529290522054610f61908263ffffffff611ae616565b600160a060020a03808416600081815260066020908152604080832033958616845290915280822094909455909263a9059cbb92918591516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610fe057600080fd5b6102c65a03f11515610ff157600080fd5b50505060405180519050151561100657600080fd5b600160a060020a03808316600090815260066020908152604080832033948516845290915290819020547ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679285929091859151600160a060020a0394851681529290931660208301526040808301919091526060820192909252608001905180910390a15050565b600080600080670de0b6b3a76400006110b260055487611abb90919063ffffffff16565b8115156110bb57fe5b0492506110c786611314565b90925090506000831180156110dc5750600082115b80156110e9575060648211155b1561110f5760646111028484830363ffffffff611abb16565b81151561110b57fe5b0492505b5090949350505050565b60055481565b600030888888888888886040516c01000000000000000000000000600160a060020a03998a168102825297891688026014820152602881019690965293871686026048860152605c850192909252607c840152609c8301529092160260bc82015260d00160405180910390209050979650505050505050565b6000806111a5838561108e565b9050600660008f600160a060020a0316600160a060020a03168152602001908152602001600020600084600160a060020a0316600160a060020a0316815260200190815260200160002054611203828661163790919063ffffffff16565b11156112125760019150611239565b836112258f8f8f8f8f8f8f8f8f8f611486565b10156112345760029150611239565b600091505b509c9b505050505050505050505050565b33600160a060020a03166000908152600080516020611b1f8339815191526020526040902054611280903463ffffffff61163716565b33600160a060020a0381166000908152600080516020611b1f83398151915260205260408082208490557fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d793919291349151600160a060020a0394851681529290931660208301526040808301919091526060820192909252608001905180910390a1565b600154600160a060020a031681565b6002546000908190600160a060020a0316156113a957600254600160a060020a03166357d62a308460006040516040015260405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b151561138257600080fd5b6102c65a03f1151561139357600080fd5b5050506040518051906020018051919350909150505b915091565b60005433600160a060020a039081169116146113c957600080fd5b600160a060020a03811615156113de57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60086020526000908152604090205481565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b600080611491611af8565b6114a08d8d8d8d8d8d8d61111f565b915086600160a060020a03166001836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0160405180910390208888886040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f1151561154a57600080fd5b505060206040510351600160a060020a0316141580611577575060008281526007602052604090205460ff165b8061158157508843115b8061159a57506000828152600860205260409020548c11155b156115a85760009250611627565b6000828152600860205260409020546115c8908d9063ffffffff611ae616565b8152600160a060020a038b81166000908152600660209081526040808320938b16835292905220548a906115fc908e611abb565b81151561160557fe5b0460208201908152518151101561161f5780519250611627565b602081015192505b50509a9950505050505050505050565b60008282018381101561164657fe5b8091505b5092915050565b600080600080600080670de0b6b3a764000061167860045489611abb90919063ffffffff16565b81151561168157fe5b049550670de0b6b3a76400006116a260055489611abb90919063ffffffff16565b8115156116ab57fe5b600254919004955060009450600160a060020a03161561181c57600254600160a060020a031663ca8127d4893360006040516060015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401606060405180830381600087803b151561172657600080fd5b6102c65a03f1151561173757600080fd5b5050506040518051906020018051906020018051929550909350909150506000861180156117655750600083115b8015611772575060648311155b1561179857606461178b8785830363ffffffff611abb16565b81151561179457fe5b0495505b6000851180156117a85750600082115b80156117b5575060648211155b156117db5760646117ce8684830363ffffffff611abb16565b8115156117d757fe5b0494505b6000851180156117eb5750600081115b80156117f8575060648111155b1561181c57606461180f868363ffffffff611abb16565b81151561181857fe5b0493505b61186261182f888763ffffffff61163716565b600160a060020a03808f16600090815260066020908152604080832033909416835292905220549063ffffffff611ae616565b600160a060020a03808e16600090815260066020908152604080832033909416835292905220556118de6118ac856118a08a8a63ffffffff611ae616565b9063ffffffff61163716565b600160a060020a03808f166000908152600660209081526040808320938e16835292905220549063ffffffff61163716565b600160a060020a03808e166000908152600660209081526040808320938d16835292905220556119568b6119188b8a63ffffffff611abb16565b81151561192157fe5b600160a060020a03808e166000908152600660209081526040808320339094168352929052205491900463ffffffff61163716565b600160a060020a03808c16600090815260066020908152604080832033909416835292905220556119ce8b6119918b8a63ffffffff611abb16565b81151561199a57fe5b600160a060020a03808e166000908152600660209081526040808320938f168352929052205491900463ffffffff611ae616565b600160a060020a03808c166000908152600660209081526040808320938d1683529290522055611a4c611a1785611a0b898963ffffffff61163716565b9063ffffffff611ae616565b600160a060020a03808f166000908152600660209081526040808320600354909416835292905220549063ffffffff61163716565b600660008e600160a060020a0316600160a060020a031681526020019081526020016000206000600360009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002081905550505050505050505050505050565b600080831515611ace576000915061164a565b50828202828482811515611ade57fe5b041461164657fe5b600082821115611af257fe5b50900390565b604080519081016040526002815b6000815260200190600190039081611b065790505090560054cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8a165627a7a7230582061df69d2be527d09b31f3a13af9bfafd137d40a8d793b9c1c750c11733ed0cc00029
Deployed Bytecode
0x6060604052600436106101505763ffffffff60e060020a6000350416630a19b14a8114610160578063278b8c0e146101af5780632d804ca2146101ee5780632e1a7d4d1461023b578063338b5dea1461025157806348d64fd5146102735780634f3f2cbc14610292578063508493bc146102b157806354d03b5c146102d657806357786394146102ec578063617a0951146102ff57806365e17c9d1461032e57806371ffcb16146103415780638823a9c0146103605780638da5cb5b146103765780638f13f48e146103895780639e281a98146103b3578063a2190b46146103d5578063c281309e146103f7578063c4e29e661461040a578063cb3cb08514610445578063d0e30db0146104b3578063da147d32146104bb578063e7b808ea146104ce578063f2fde38b14610505578063f7213db614610524578063f7888aec1461053a578063fb6e155f1461055f575b341561015b57600080fd5b600080fd5b341561016b57600080fd5b6101ad600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e435166101043561012435610144356105a8565b005b34156101ba57600080fd5b6101ad600160a060020a03600435811690602435906044351660643560843560a43560ff60c4351660e43561010435610867565b34156101f957600080fd5b610229600160a060020a0360043581169060243590604435811690606435906084359060a4359060c43516610a22565b60405190815260200160405180910390f35b341561024657600080fd5b6101ad600435610a50565b341561025c57600080fd5b6101ad600160a060020a0360043516602435610b8f565b341561027e57600080fd5b6101ad600160a060020a0360043516610cf5565b341561029d57600080fd5b6101ad600160a060020a0360043516610d5a565b34156102bc57600080fd5b610229600160a060020a0360043581169060243516610dbf565b34156102e157600080fd5b6101ad600435610ddc565b34156102f757600080fd5b610229610e0b565b341561030a57600080fd5b610312610e11565b604051600160a060020a03909116815260200160405180910390f35b341561033957600080fd5b610312610e20565b341561034c57600080fd5b6101ad600160a060020a0360043516610e2f565b341561036b57600080fd5b6101ad600435610e8e565b341561038157600080fd5b610312610ebd565b341561039457600080fd5b61039f600435610ecc565b604051901515815260200160405180910390f35b34156103be57600080fd5b6101ad600160a060020a0360043516602435610ee1565b34156103e057600080fd5b610229600160a060020a036004351660243561108e565b341561040257600080fd5b610229611119565b341561041557600080fd5b610229600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351661111f565b341561045057600080fd5b61049d600160a060020a0360043581169060243590604435811690606435906084359060a4359060c43581169060ff60e43516906101043590610124359061014435906101643516611198565b60405160ff909116815260200160405180910390f35b6101ad61124a565b34156104c657600080fd5b610312611305565b34156104d957600080fd5b6104ed600160a060020a0360043516611314565b60405191825260208201526040908101905180910390f35b341561051057600080fd5b6101ad600160a060020a03600435166113ae565b341561052f57600080fd5b610229600435611449565b341561054557600080fd5b610229600160a060020a036004358116906024351661145b565b341561056a57600080fd5b610229600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e435166101043561012435611486565b60008060005a92506105bf8e8e8e8e8e8e8e61111f565b915087600160a060020a03166001836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0160405180910390208989896040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f1151561066957600080fd5b505060206040510351600160a060020a0316141580610696575060008281526007602052604090205460ff165b806106a057508943115b806106c957506000828152600860205260409020548d906106c7908663ffffffff61163716565b115b156106d357600080fd5b6106e18e8e8e8e8c89611651565b600082815260086020526040902054610700908563ffffffff61163716565b6000838152600860205260409020558c6107208c8663ffffffff611abb16565b81151561072957fe5b6001549190049150600160a060020a0316156107e457600154600160a060020a031663ee0c3e028f868f858d33898b60405160e060020a63ffffffff8b16028152600160a060020a039889166004820152602481019790975294871660448701526064860193909352908516608485015290931660a483015260c482019290925260e481019190915261010401600060405180830381600087803b15156107cf57600080fd5b6102c65a03f115156107e057600080fd5b5050505b7f68381874bf7a1a19bfeecb18abbaa22f0fc7892cfec46e7dd4ea9b3688419d188e858e848c3388604051600160a060020a03978816815260208101969096529386166040808701919091526060860193909352908516608085015290931660a083015260c082015260e001905180910390a15050505050505050505050505050565b60006108788a8a8a8a8a8a3361111f565b905033600160a060020a03166001826040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0160405180910390208686866040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f1151561092257600080fd5b505060206040510351600160a060020a03161461093e57600080fd5b6000818152600760209081526040808320805460ff19166001179055600890915290819020547f499af4d13c30121ba8152d6f34a69ea73c4baa470e888ca031257a58b9216c60918c918c918c918c918c918c9133918d918d918d918d919051600160a060020a039c8d168152602081019b909b52988b166040808c019190915260608b019890985260808a019690965260a08901949094529190971660c087015260ff90961660e086015261010085019590955261012084019490945261014083019390935261016082015261018001905180910390a150505050505050505050565b600080610a348989898989898961111f565b6000908152600860205260409020549998505050505050505050565b33600160a060020a03166000908152600080516020611b1f833981519152602052604090205481901015610a8357600080fd5b33600160a060020a03166000908152600080516020611b1f8339815191526020526040902054610ab9908263ffffffff611ae616565b33600160a060020a03166000818152600080516020611b1f833981519152602052604090819020929092559082156108fc0290839051600060405180830381858888f193505050501515610b0c57600080fd5b33600160a060020a0381166000908152600080516020611b1f8339815191526020526040808220547ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567939185919051600160a060020a0394851681529290931660208301526040808301919091526060820192909252608001905180910390a150565b600160a060020a0382161515610ba457600080fd5b81600160a060020a03166323b872dd33308460006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610c0e57600080fd5b6102c65a03f11515610c1f57600080fd5b505050604051805190501515610c3457600080fd5b600160a060020a0380831660009081526006602090815260408083203390941683529290522054610c6b908263ffffffff61163716565b600160a060020a038381166000908152600660209081526040808320339485168452909152908190208390557fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79285929185919051600160a060020a0394851681529290931660208301526040808301919091526060820192909252608001905180910390a15050565b60005433600160a060020a03908116911614610d1057600080fd5b600154600160a060020a0382811691161415610d2b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610d7557600080fd5b600254600160a060020a0382811691161415610d9057600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600660209081526000928352604080842090915290825290205481565b60005433600160a060020a03908116911614610df757600080fd5b600454811415610e0657600080fd5b600455565b60045481565b600254600160a060020a031681565b600354600160a060020a031681565b60005433600160a060020a03908116911614610e4a57600080fd5b600160a060020a0381161515610e5f57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610ea957600080fd5b600554811415610eb857600080fd5b600555565b600054600160a060020a031681565b60076020526000908152604090205460ff1681565b600160a060020a0382161515610ef657600080fd5b600160a060020a038083166000908152600660209081526040808320339094168352929052205481901015610f2a57600080fd5b600160a060020a0380831660009081526006602090815260408083203390941683529290522054610f61908263ffffffff611ae616565b600160a060020a03808416600081815260066020908152604080832033958616845290915280822094909455909263a9059cbb92918591516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610fe057600080fd5b6102c65a03f11515610ff157600080fd5b50505060405180519050151561100657600080fd5b600160a060020a03808316600090815260066020908152604080832033948516845290915290819020547ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679285929091859151600160a060020a0394851681529290931660208301526040808301919091526060820192909252608001905180910390a15050565b600080600080670de0b6b3a76400006110b260055487611abb90919063ffffffff16565b8115156110bb57fe5b0492506110c786611314565b90925090506000831180156110dc5750600082115b80156110e9575060648211155b1561110f5760646111028484830363ffffffff611abb16565b81151561110b57fe5b0492505b5090949350505050565b60055481565b600030888888888888886040516c01000000000000000000000000600160a060020a03998a168102825297891688026014820152602881019690965293871686026048860152605c850192909252607c840152609c8301529092160260bc82015260d00160405180910390209050979650505050505050565b6000806111a5838561108e565b9050600660008f600160a060020a0316600160a060020a03168152602001908152602001600020600084600160a060020a0316600160a060020a0316815260200190815260200160002054611203828661163790919063ffffffff16565b11156112125760019150611239565b836112258f8f8f8f8f8f8f8f8f8f611486565b10156112345760029150611239565b600091505b509c9b505050505050505050505050565b33600160a060020a03166000908152600080516020611b1f8339815191526020526040902054611280903463ffffffff61163716565b33600160a060020a0381166000908152600080516020611b1f83398151915260205260408082208490557fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d793919291349151600160a060020a0394851681529290931660208301526040808301919091526060820192909252608001905180910390a1565b600154600160a060020a031681565b6002546000908190600160a060020a0316156113a957600254600160a060020a03166357d62a308460006040516040015260405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b151561138257600080fd5b6102c65a03f1151561139357600080fd5b5050506040518051906020018051919350909150505b915091565b60005433600160a060020a039081169116146113c957600080fd5b600160a060020a03811615156113de57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60086020526000908152604090205481565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b600080611491611af8565b6114a08d8d8d8d8d8d8d61111f565b915086600160a060020a03166001836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0160405180910390208888886040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f1151561154a57600080fd5b505060206040510351600160a060020a0316141580611577575060008281526007602052604090205460ff165b8061158157508843115b8061159a57506000828152600860205260409020548c11155b156115a85760009250611627565b6000828152600860205260409020546115c8908d9063ffffffff611ae616565b8152600160a060020a038b81166000908152600660209081526040808320938b16835292905220548a906115fc908e611abb565b81151561160557fe5b0460208201908152518151101561161f5780519250611627565b602081015192505b50509a9950505050505050505050565b60008282018381101561164657fe5b8091505b5092915050565b600080600080600080670de0b6b3a764000061167860045489611abb90919063ffffffff16565b81151561168157fe5b049550670de0b6b3a76400006116a260055489611abb90919063ffffffff16565b8115156116ab57fe5b600254919004955060009450600160a060020a03161561181c57600254600160a060020a031663ca8127d4893360006040516060015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401606060405180830381600087803b151561172657600080fd5b6102c65a03f1151561173757600080fd5b5050506040518051906020018051906020018051929550909350909150506000861180156117655750600083115b8015611772575060648311155b1561179857606461178b8785830363ffffffff611abb16565b81151561179457fe5b0495505b6000851180156117a85750600082115b80156117b5575060648211155b156117db5760646117ce8684830363ffffffff611abb16565b8115156117d757fe5b0494505b6000851180156117eb5750600081115b80156117f8575060648111155b1561181c57606461180f868363ffffffff611abb16565b81151561181857fe5b0493505b61186261182f888763ffffffff61163716565b600160a060020a03808f16600090815260066020908152604080832033909416835292905220549063ffffffff611ae616565b600160a060020a03808e16600090815260066020908152604080832033909416835292905220556118de6118ac856118a08a8a63ffffffff611ae616565b9063ffffffff61163716565b600160a060020a03808f166000908152600660209081526040808320938e16835292905220549063ffffffff61163716565b600160a060020a03808e166000908152600660209081526040808320938d16835292905220556119568b6119188b8a63ffffffff611abb16565b81151561192157fe5b600160a060020a03808e166000908152600660209081526040808320339094168352929052205491900463ffffffff61163716565b600160a060020a03808c16600090815260066020908152604080832033909416835292905220556119ce8b6119918b8a63ffffffff611abb16565b81151561199a57fe5b600160a060020a03808e166000908152600660209081526040808320938f168352929052205491900463ffffffff611ae616565b600160a060020a03808c166000908152600660209081526040808320938d1683529290522055611a4c611a1785611a0b898963ffffffff61163716565b9063ffffffff611ae616565b600160a060020a03808f166000908152600660209081526040808320600354909416835292905220549063ffffffff61163716565b600660008e600160a060020a0316600160a060020a031681526020019081526020016000206000600360009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200190815260200160002081905550505050505050505050505050565b600080831515611ace576000915061164a565b50828202828482811515611ade57fe5b041461164657fe5b600082821115611af257fe5b50900390565b604080519081016040526002815b6000815260200190600190039081611b065790505090560054cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8a165627a7a7230582061df69d2be527d09b31f3a13af9bfafd137d40a8d793b9c1c750c11733ed0cc00029
Swarm Source
bzzr://61df69d2be527d09b31f3a13af9bfafd137d40a8d793b9c1c750c11733ed0cc0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 93.24% | $3,148.3 | 6.0209 | $18,955.43 | |
ETH | 6.64% | <$0.000001 | 8,940,990,696 | $1,349.39 | |
ETH | 0.07% | $0.944394 | 15.825 | $14.95 | |
ETH | 0.04% | $0.000764 | 10,000 | $7.64 | |
ETH | <0.01% | $0.331253 | 3 | $0.9937 | |
ETH | <0.01% | $0.000031 | 25,000 | $0.7843 | |
ETH | <0.01% | $0.000042 | 3,410 | $0.1419 | |
BSC | <0.01% | <$0.000001 | 8,260,260.5692 | $0.9887 |
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.