ETH Price: $3,400.88 (+3.00%)

Token

Ethopolis Shares (EPS)
 

Overview

Max Total Supply

10,000,000 EPS

Holders

15

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Dividends

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-04-11
*/

pragma solidity ^0.4.21;

// ERC20 contract which has the dividend shares of Ethopolis in it 
// The old contract had a bug in it, thanks to ccashwell for notifying.
// Contact: [email protected] 
// ethopolis.io 
// etherguy.surge.sh [if the .io site is up this might be outdated, one of those sites will be up-to-date]
// Selling tokens (and buying them) will be online at etherguy.surge.sh/dividends.html and might be moved to the ethopolis site.

contract Dividends {

    string public name = "Ethopolis Shares";      //  token name
    string public symbol = "EPS";           //  token symbol
    uint256 public decimals = 18;            //  token digit

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    uint256 public totalSupply = 10000000* (10 ** uint256(decimals));
    
    uint256 SellFee = 1250; // max is 10 000


    address owner = 0x0;

    modifier isOwner {
        assert(owner == msg.sender);
        _;
    }



    modifier validAddress {
        assert(0x0 != msg.sender);
        _;
    }

    function Dividends() public {
        owner = msg.sender;


        // PREMINED TOKENS 
        
        // EG
        balanceOf[msg.sender] =  8000000* (10 ** uint256(decimals));// was: TokenSupply - 400000;
        // HE
        balanceOf[address(0x83c0Efc6d8B16D87BFe1335AB6BcAb3Ed3960285)] = 200000* (10 ** uint256(decimals));
        // PG
        balanceOf[address(0x26581d1983ced8955C170eB4d3222DCd3845a092)] = 200000* (10 ** uint256(decimals));

        // BOUGHT tokens in the OLD contract         
        balanceOf[address(0x3130259deEdb3052E24FAD9d5E1f490CB8CCcaa0)] = 100000* (10 ** uint256(decimals));
        balanceOf[address(0x4f0d861281161f39c62B790995fb1e7a0B81B07b)] = 200000* (10 ** uint256(decimals));
        balanceOf[address(0x36E058332aE39efaD2315776B9c844E30d07388B)] =  20000* (10 ** uint256(decimals));
        balanceOf[address(0x1f2672E17fD7Ec4b52B7F40D41eC5C477fe85c0c)] =  40000* (10 ** uint256(decimals));
        balanceOf[address(0xedDaD54E9e1F8dd01e815d84b255998a0a901BbF)] =  20000* (10 ** uint256(decimals));
        balanceOf[address(0x0a3239799518E7F7F339867A4739282014b97Dcf)] = 500000* (10 ** uint256(decimals));
        balanceOf[address(0x29A9c76aD091c015C12081A1B201c3ea56884579)] = 600000* (10 ** uint256(decimals));
        balanceOf[address(0x0668deA6B5ec94D7Ce3C43Fe477888eee2FC1b2C)] = 100000* (10 ** uint256(decimals));
        balanceOf[address(0x0982a0bf061f3cec2a004b4d2c802F479099C971)] =  20000* (10 ** uint256(decimals));

        // Etherscan likes it very much if we emit these events 
        emit Transfer(0x0, msg.sender, 8000000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x83c0Efc6d8B16D87BFe1335AB6BcAb3Ed3960285, 200000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x26581d1983ced8955C170eB4d3222DCd3845a092, 200000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x3130259deEdb3052E24FAD9d5E1f490CB8CCcaa0, 100000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x4f0d861281161f39c62B790995fb1e7a0B81B07b, 200000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x36E058332aE39efaD2315776B9c844E30d07388B, 20000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x1f2672E17fD7Ec4b52B7F40D41eC5C477fe85c0c, 40000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0xedDaD54E9e1F8dd01e815d84b255998a0a901BbF, 20000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x0a3239799518E7F7F339867A4739282014b97Dcf, 500000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x29A9c76aD091c015C12081A1B201c3ea56884579, 600000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x0668deA6B5ec94D7Ce3C43Fe477888eee2FC1b2C, 100000* (10 ** uint256(decimals)));
        emit Transfer(0x0, 0x0982a0bf061f3cec2a004b4d2c802F479099C971, 20000* (10 ** uint256(decimals)));
       
    }

    function transfer(address _to, uint256 _value)  public validAddress returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        // after transfer have enough to pay sell order 
        require(sub(balanceOf[msg.sender], SellOrders[msg.sender][0]) >= _value);
        require(msg.sender != _to);

        uint256 _toBal = balanceOf[_to];
        uint256 _fromBal = balanceOf[msg.sender];
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(msg.sender, _to, _value);
        
        uint256 _sendFrom = _withdraw(msg.sender, _fromBal, false);
        uint256 _sendTo = _withdraw(_to, _toBal, false);
        
        msg.sender.transfer(_sendFrom);
        _to.transfer(_sendTo);
        
        return true;
    }
    
    // forcetransfer does not do any withdrawals
    function _forceTransfer(address _from, address _to, uint256  _value) internal validAddress {
        require(balanceOf[_from] >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(_from, _to, _value);
        
    }

    function transferFrom(address _from, address _to, uint256 _value) public validAddress returns (bool success) {
                // after transfer have enough to pay sell order 
        require(_from != _to);
        require(sub(balanceOf[_from], SellOrders[_from][0]) >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        require(allowance[_from][msg.sender] >= _value);
        uint256 _toBal = balanceOf[_to];
        uint256 _fromBal = balanceOf[_from];
        balanceOf[_to] += _value;
        balanceOf[_from] -= _value;
        allowance[_from][msg.sender] -= _value;
        emit Transfer(_from, _to, _value);
        
        // Call withdrawal of old amounts 
        CancelOrder();
        uint256 _sendFrom = _withdraw(_from, _fromBal,false);
        uint256 _sendTo = _withdraw(_to, _toBal,false);
        
        _from.transfer(_sendFrom);
        _to.transfer(_sendTo);
        
        return true;
    }

    function approve(address _spender, uint256 _value) public validAddress returns (bool success) {
        require(_value == 0 || allowance[msg.sender][_spender] == 0);
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function setSymbol(string _symb) public isOwner {
        symbol = _symb;
    }

    function setName(string _name) public isOwner {
        name = _name;
    }
    
    function newOwner(address who) public isOwner validAddress {
        owner = who;
    }
    
    function setFee(uint256 fee) public isOwner {
        require (fee <= 2500);
        SellFee = fee;
    }


// Market stuff start 
    
    mapping(address => uint256[2]) public SellOrders;
    mapping(address => uint256) public LastBalanceWithdrawn;
    uint256 TotalOut;
    
    function Withdraw() public{
        _withdraw(msg.sender, balanceOf[msg.sender], true);
    }
    
    function ViewSellOrder(address who) public view returns (uint256, uint256){
        return (SellOrders[who][0], SellOrders[who][1]);
    }
    
    // if dosend is set to false then the calling function MUST send the fees 
    function _withdraw(address to, uint256 tkns, bool dosend) internal returns (uint256){
        // calculate how much wei you get 
        if (tkns == 0){
            // ok we just reset the timer then 
            LastBalanceWithdrawn[msg.sender] = sub(add(address(this).balance, TotalOut),msg.value);
            return;
        }
        // remove msg.value is exists. if it is nonzero then the call came from Buy, do not include this in balance. 
        uint256 total_volume_in = address(this).balance + TotalOut - msg.value;
        // get volume in since last withdrawal; 
        uint256 Delta = sub(total_volume_in, LastBalanceWithdrawn[to]);
        
        uint256 Get = (tkns * Delta) / totalSupply;
        
        TotalOut = TotalOut + Get;
        
        LastBalanceWithdrawn[to] = sub(sub(add(address(this).balance, TotalOut), Get),msg.value);
        
        emit WithdrawalComplete(to, Get);
        if (dosend){
            to.transfer(Get);
            return 0;
        }
        else{
            return Get;
        }
        
    }
    
    function GetDivs(address who) public view returns (uint256){
         uint256 total_volume_in = address(this).balance + TotalOut;
         uint256 Delta = sub(total_volume_in, LastBalanceWithdrawn[who]);
         uint256 Get = (balanceOf[who] * Delta) / totalSupply;
         return (Get);
    }
    
    function CancelOrder() public {
        _cancelOrder(msg.sender);
    }
    
    function _cancelOrder(address target) internal{
         SellOrders[target][0] = 0;
         emit SellOrderCancelled(target);
    }
    
    
    // the price is per 10^decimals tokens 
    function PlaceSellOrder(uint256 amount, uint256 price) public {
        require(price > 0);
        require(balanceOf[msg.sender] >= amount);
        SellOrders[msg.sender] = [amount, price];
        emit SellOrderPlaced(msg.sender, amount, price);
    }

    // Safe buy order where user specifies the max amount to buy and the max price; prevents snipers changing their price 
    function Buy(address target, uint256 maxamount, uint256 maxprice) public payable {
        require(SellOrders[target][0] > 0);
        require(SellOrders[target][1] <= maxprice);
        uint256 price = SellOrders[target][1];
        uint256 amount_buyable = (mul(msg.value, uint256(10**decimals))) / price; 
        
        // decide how much we buy 
        
        if (amount_buyable > SellOrders[target][0]){
            amount_buyable = SellOrders[target][0];
        }
        if (amount_buyable > maxamount){
            amount_buyable = maxamount;
        }
        //10000000000000000000,1000
        //"0xca35b7d915458ef540ade6068dfe2f44e8fa733c",10000000000000000000,1000
        uint256 total_payment = mul(amount_buyable, price) / (uint256(10 ** decimals));
        
        // Let's buy tokens and actually pay, okay?
        require(amount_buyable > 0 && total_payment > 0); 
        
        // From the amount we actually pay, we take exchange fee from it 
        
        uint256 Fee = mul(total_payment, SellFee) / 10000;
        uint256 Left = total_payment - Fee; 
        
        uint256 Excess = msg.value - total_payment;
        
        uint256 OldTokensSeller = balanceOf[target];
        uint256 OldTokensBuyer = balanceOf[msg.sender];

        // Change it in memory 
        _forceTransfer(target, msg.sender, amount_buyable);
        
        // Pay out withdrawals and reset timer
        // Prevents double withdrawals in same tx
        
        // Change sell order 
        SellOrders[target][0] = sub(SellOrders[target][0],amount_buyable);
        
        
        // start all transfer stuff 

        uint256 _sendTarget = _withdraw(target, OldTokensSeller, false);
        uint256 _sendBuyer = _withdraw(msg.sender, OldTokensBuyer, false );
        
        // in one transfer saves gas, but its not nice in the etherscan logs 
        target.transfer(add(Left, _sendTarget));
        
        if (add(Excess, _sendBuyer) > 0){
            msg.sender.transfer(add(Excess,_sendBuyer));
        }
        
        if (Fee > 0){
            owner.transfer(Fee);
        }
     
        emit SellOrderFilled(msg.sender, target, amount_buyable,  price, Left);
    }


    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event SellOrderPlaced(address who, uint256 available, uint256 price);
    event SellOrderFilled(address buyer, address seller, uint256 tokens, uint256 price, uint256 payment);
    event SellOrderCancelled(address who);
    event WithdrawalComplete(address who, uint256 got);
    
    
    // thanks for divs 
    function() public payable{
        
    }
    
    // safemath 
    
      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 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) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"GetDivs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"CancelOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"price","type":"uint256"}],"name":"PlaceSellOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"maxamount","type":"uint256"},{"name":"maxprice","type":"uint256"}],"name":"Buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"Withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"fee","type":"uint256"}],"name":"setFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"ViewSellOrder","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"who","type":"address"}],"name":"newOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"LastBalanceWithdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symb","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"SellOrders","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"who","type":"address"},{"indexed":false,"name":"available","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"SellOrderPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"seller","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"payment","type":"uint256"}],"name":"SellOrderFilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"who","type":"address"}],"name":"SellOrderCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"who","type":"address"},{"indexed":false,"name":"got","type":"uint256"}],"name":"WithdrawalComplete","type":"event"}]

606060405260408051908101604052601081527f4574686f706f6c69732053686172657300000000000000000000000000000000602082015260009080516200004d9291602001906200063c565b5060408051908101604052600381527f455053000000000000000000000000000000000000000000000000000000000060208201526001908051620000979291602001906200063c565b5060126002556a084595161401484a0000006005556104e260065560078054600160a060020a03191690553415620000ce57600080fd5b60078054600160a060020a033316600160a060020a0319909116811790915560028054600083815260036020526040808220627a1200600a94850a8102909155935462030d40930a9283027f241d292d9c780e7953b4438053936b8250e4a080b8d20ea9f2029f4d0ce0f3228190557f5e8d933d121ed05103e8f0639e4bf673767e1504601263abfab3bee88d008916819055620186a084027fd56d4fb26ae9af49468d47f7238f3f0c7b9682e2d46b81cf3eb8cbdc521bd7328190557fd7a545476d9fe2de09fc3df2af1b40d7dbd5e74d2621bf541959f0e9f9ef881491909155614e2084027f58de9f1add35bc7f9507c5868d4b7939b3a69090f25572efb61de1353b29424f819055619c4085027f201f02b67a9c45d1c2b4e8203d27435853d985d2901db12159bcf3f3fd4e2027557f0efcd15623c955a8ee1f67e31fa74de4ff9848c515fce9ff59827d464dd641278190556207a12085027fe287b29e544ac5b8a6a01ff70b32a342d07fd21d4926114a77843871d465f2b555620927c085027f7e1de97ee4cd55141c2f1a6130c0fdd13b4a689234e83276b9abe27981fc4c5c557f7615b557a670f646bf10528cd2f58a527ff3c76af1ae190e20b49121658217b891909155730982a0bf061f3cec2a004b4d2c802f479099c97183527feaae5fe5e1e43fa7fdf0b9ddb57e1a5eec3968d9433b1bea1e24439990d8bcdb55909260008051602062001ada8339815191529202905190815260200160405180910390a37383c0efc6d8b16d87bfe1335ab6bcab3ed3960285600160a060020a0316600060008051602062001ada833981519152600254600a0a62030d400260405190815260200160405180910390a37326581d1983ced8955c170eb4d3222dcd3845a092600160a060020a0316600060008051602062001ada833981519152600254600a0a62030d400260405190815260200160405180910390a3733130259deedb3052e24fad9d5e1f490cb8cccaa0600160a060020a0316600060008051602062001ada833981519152600254600a0a620186a00260405190815260200160405180910390a3734f0d861281161f39c62b790995fb1e7a0b81b07b600160a060020a0316600060008051602062001ada833981519152600254600a0a62030d400260405190815260200160405180910390a37336e058332ae39efad2315776b9c844e30d07388b600160a060020a0316600060008051602062001ada833981519152600254600a0a614e200260405190815260200160405180910390a3731f2672e17fd7ec4b52b7f40d41ec5c477fe85c0c600160a060020a0316600060008051602062001ada833981519152600254600a0a619c400260405190815260200160405180910390a373eddad54e9e1f8dd01e815d84b255998a0a901bbf600160a060020a0316600060008051602062001ada833981519152600254600a0a614e200260405190815260200160405180910390a3730a3239799518e7f7f339867a4739282014b97dcf600160a060020a0316600060008051602062001ada833981519152600254600a0a6207a1200260405190815260200160405180910390a37329a9c76ad091c015c12081a1b201c3ea56884579600160a060020a0316600060008051602062001ada833981519152600254600a0a620927c00260405190815260200160405180910390a3730668dea6b5ec94d7ce3c43fe477888eee2fc1b2c600160a060020a0316600060008051602062001ada833981519152600254600a0a620186a00260405190815260200160405180910390a3730982a0bf061f3cec2a004b4d2c802f479099c971600160a060020a0316600060008051602062001ada833981519152600254600a0a614e200260405190815260200160405180910390a3620006e1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200067f57805160ff1916838001178555620006af565b82800160010185558215620006af579182015b82811115620006af57825182559160200191906001019062000692565b50620006bd929150620006c1565b5090565b620006de91905b80821115620006bd5760008155600101620006c8565b90565b6113e980620006f16000396000f30060606040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461011e578063095ea7b3146101a857806318160ddd146101de57806318eacb96146102035780631adf2bec146102225780631bd983a4146102355780631cbc5ab11461024e57806323b872dd14610268578063313ce5671461029057806357ea89b6146102a357806369fe0e2d146102b657806370a08231146102cc57806382b1b617146102eb578063859524541461032257806395d89b41146103415780639ca9e24114610354578063a9059cbb14610373578063b84c824614610395578063be07bb59146103e6578063c47f002714610408578063dd62ed3e14610459575b005b341561012957600080fd5b61013161047e565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561016d578082015183820152602001610155565b50505050905090810190601f16801561019a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b357600080fd5b6101ca600160a060020a036004351660243561051c565b604051901515815260200160405180910390f35b34156101e957600080fd5b6101f16105d4565b60405190815260200160405180910390f35b341561020e57600080fd5b6101f1600160a060020a03600435166105da565b341561022d57600080fd5b61011c610655565b341561024057600080fd5b61011c600435602435610660565b61011c600160a060020a0360043516602435604435610728565b341561027357600080fd5b6101ca600160a060020a0360043581169060243516604435610a51565b341561029b57600080fd5b6101f1610c3d565b34156102ae57600080fd5b61011c610c43565b34156102c157600080fd5b61011c600435610c6c565b34156102d757600080fd5b6101f1600160a060020a0360043516610c98565b34156102f657600080fd5b61030a600160a060020a0360043516610caa565b60405191825260208201526040908101905180910390f35b341561032d57600080fd5b61011c600160a060020a0360043516610ccd565b341561034c57600080fd5b610131610d26565b341561035f57600080fd5b6101f1600160a060020a0360043516610d91565b341561037e57600080fd5b6101ca600160a060020a0360043516602435610da3565b34156103a057600080fd5b61011c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610f6495505050505050565b34156103f157600080fd5b6101f1600160a060020a0360043516602435610f93565b341561041357600080fd5b61011c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610fb595505050505050565b341561046457600080fd5b6101f1600160a060020a0360043581169060243516610fe0565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105145780601f106104e957610100808354040283529160200191610514565b820191906000526020600020905b8154815290600101906020018083116104f757829003601f168201915b505050505081565b6000600160a060020a033316151561053057fe5b8115806105605750600160a060020a03338116600090815260046020908152604080832093871683529290522054155b151561056b57600080fd5b600160a060020a03338116600081815260046020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055481565b600080600080600a5430600160a060020a031631019250610620836009600088600160a060020a0316600160a060020a0316815260200190815260200160002054610ffd565b600554600160a060020a03871660009081526003602052604090205491935090830281151561064b57fe5b0495945050505050565b61065e3361100f565b565b6000811161066d57600080fd5b600160a060020a0333166000908152600360205260409020548290101561069357600080fd5b6040805190810160409081528382526020808301849052600160a060020a03331660009081526008909152206106ca9160026112f5565b507f9f2bccb32bc17f7191f8752950d8d036bb9c6c8a0e91e658052bf2b578ad61ff3383836040518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390a15050565b600160a060020a03831660009081526008602052604081205481908190819081908190819081908190819081901161075f57600080fd5b600160a060020a038d1660009081526008602052604090208b9060010154111561078857600080fd5b600160a060020a038d166000908152600860205260409020600101549950896107b634600254600a0a61106a565b8115156107bf57fe5b600160a060020a038f16600090815260086020526040902054919004995089111561080057600160a060020a038d1660009081526008602052604090205498505b8b89111561080c578b98505b600254600a0a61081c8a8c61106a565b81151561082557fe5b0497506000891180156108385750600088115b151561084357600080fd5b6127106108528960065461106a565b81151561085b57fe5b04965086880395508734039450600360008e600160a060020a0316600160a060020a031681526020019081526020016000205493506003600033600160a060020a0316600160a060020a031681526020019081526020016000205492506108c38d338b6110a0565b600160a060020a038d166000908152600860205260409020546108e6908a610ffd565b600160a060020a038e16600090815260086020526040812090015561090d8d856000611169565b915061091b33846000611169565b90508c600160a060020a03166108fc61093488856112e6565b9081150290604051600060405180830381858888f19350505050151561095957600080fd5b600061096586836112e6565b11156109a75733600160a060020a03166108fc61098287846112e6565b9081150290604051600060405180830381858888f1935050505015156109a757600080fd5b60008711156109e357600754600160a060020a031687156108fc0288604051600060405180830381858888f1935050505015156109e357600080fd5b7ff7be775cc3960db8ff8db869fd87759afec2db4cbee1e7e716aeca02915cfd4a338e8b8d8a604051600160a060020a0395861681529390941660208401526040808401929092526060830152608082019290925260a001905180910390a150505050505050505050505050565b600080808080600160a060020a0333161515610a6957fe5b600160a060020a038881169088161415610a8257600080fd5b600160a060020a038816600090815260036020908152604080832054600890925282208892610ab59291905b0154610ffd565b1015610ac057600080fd5b600160a060020a0387166000908152600360205260409020548681011015610ae757600080fd5b600160a060020a038089166000908152600460209081526040808320339094168352929052205486901015610b1b57600080fd5b600160a060020a03878116600081815260036020908152604080832080548e871680865283862080548f840190945580548f9003905560048552838620339098168652969093529281902080548c900390559097509095509091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9089905190815260200160405180910390a3610bb1610655565b610bbd88846000611169565b9150610bcb87856000611169565b9050600160a060020a03881682156108fc0283604051600060405180830381858888f193505050501515610bfe57600080fd5b600160a060020a03871681156108fc0282604051600060405180830381858888f193505050501515610c2f57600080fd5b506001979650505050505050565b60025481565b33600160a060020a038116600090815260036020526040902054610c6991906001611169565b50565b60075433600160a060020a03908116911614610c8457fe5b6109c4811115610c9357600080fd5b600655565b60036020526000908152604090205481565b600160a060020a0316600090815260086020526040902080546001909101549091565b60075433600160a060020a03908116911614610ce557fe5b600160a060020a0333161515610cf757fe5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105145780601f106104e957610100808354040283529160200191610514565b60096020526000908152604090205481565b600080808080600160a060020a0333161515610dbb57fe5b600160a060020a03331660009081526003602052604090205486901015610de157600080fd5b600160a060020a0387166000908152600360205260409020548681011015610e0857600080fd5b600160a060020a033316600090815260036020908152604080832054600890925282208892610e38929190610aae565b1015610e4357600080fd5b86600160a060020a031633600160a060020a031614151515610e6457600080fd5b600160a060020a0380881660008181526003602052604080822080543390951680845282842080548d81039091559385905281548c019091559397509095509091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9089905190815260200160405180910390a3610ee533846000611169565b9150610ef387856000611169565b9050600160a060020a03331682156108fc0283604051600060405180830381858888f193505050501515610f2657600080fd5b600160a060020a03871681156108fc0282604051600060405180830381858888f193505050501515610f5757600080fd5b5060019695505050505050565b60075433600160a060020a03908116911614610f7c57fe5b6001818051610f8f929160200190611333565b5050565b60086020526000828152604090208160028110610fac57fe5b01549150829050565b60075433600160a060020a03908116911614610fcd57fe5b6000818051610f8f929160200190611333565b600460209081526000928352604080842090915290825290205481565b60008282111561100957fe5b50900390565b600160a060020a03811660009081526008602052604081208101557f2c17af88255f44baf25735c2e20abad7d9b092ecbd02218b697e4c20bf18563b81604051600160a060020a03909116815260200160405180910390a150565b60008083151561107d5760009150611099565b5082820282848281151561108d57fe5b041461109557fe5b8091505b5092915050565b600160a060020a03331615156110b257fe5b600160a060020a038316600090815260036020526040902054819010156110d857600080fd5b600160a060020a03821660009081526003602052604090205481810110156110ff57600080fd5b600160a060020a038084166000818152600360205260408082208054869003905592851680825290839020805485019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a3505050565b60008080808515156111b25761119461118e30600160a060020a031631600a546112e6565b34610ffd565b600160a060020a0333166000908152600960205260409020556112dc565b34600a5430600160a060020a031631010392506111f483600960008a600160a060020a0316600160a060020a0316815260200190815260200160002054610ffd565b915060055482870281151561120557fe5b04905080600a5401600a8190555061123561118e61122f30600160a060020a031631600a546112e6565b83610ffd565b600160a060020a03881660009081526009602052604090819020919091557fa578b4c05763eb039caef37b2d7b949c22914c3838384c9c73cefb78c4a8ed0a908890839051600160a060020a03909216825260208201526040908101905180910390a184156112d857600160a060020a03871681156108fc0282604051600060405180830381858888f1935050505015156112cf57600080fd5b600093506112dc565b8093505b5050509392505050565b60008282018381101561109557fe5b8260028101928215611323579160200282015b82811115611323578251825591602001919060010190611308565b5061132f9291506113a0565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061137457805160ff1916838001178555611323565b828001600101855582156113235791820182811115611323578251825591602001919060010190611308565b6113ba91905b8082111561132f57600081556001016113a6565b905600a165627a7a72305820d1eb81e4375d7f609dba432d86d884f298bb701b566fdb7214d6dd336b9cef760029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x60606040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461011e578063095ea7b3146101a857806318160ddd146101de57806318eacb96146102035780631adf2bec146102225780631bd983a4146102355780631cbc5ab11461024e57806323b872dd14610268578063313ce5671461029057806357ea89b6146102a357806369fe0e2d146102b657806370a08231146102cc57806382b1b617146102eb578063859524541461032257806395d89b41146103415780639ca9e24114610354578063a9059cbb14610373578063b84c824614610395578063be07bb59146103e6578063c47f002714610408578063dd62ed3e14610459575b005b341561012957600080fd5b61013161047e565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561016d578082015183820152602001610155565b50505050905090810190601f16801561019a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b357600080fd5b6101ca600160a060020a036004351660243561051c565b604051901515815260200160405180910390f35b34156101e957600080fd5b6101f16105d4565b60405190815260200160405180910390f35b341561020e57600080fd5b6101f1600160a060020a03600435166105da565b341561022d57600080fd5b61011c610655565b341561024057600080fd5b61011c600435602435610660565b61011c600160a060020a0360043516602435604435610728565b341561027357600080fd5b6101ca600160a060020a0360043581169060243516604435610a51565b341561029b57600080fd5b6101f1610c3d565b34156102ae57600080fd5b61011c610c43565b34156102c157600080fd5b61011c600435610c6c565b34156102d757600080fd5b6101f1600160a060020a0360043516610c98565b34156102f657600080fd5b61030a600160a060020a0360043516610caa565b60405191825260208201526040908101905180910390f35b341561032d57600080fd5b61011c600160a060020a0360043516610ccd565b341561034c57600080fd5b610131610d26565b341561035f57600080fd5b6101f1600160a060020a0360043516610d91565b341561037e57600080fd5b6101ca600160a060020a0360043516602435610da3565b34156103a057600080fd5b61011c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610f6495505050505050565b34156103f157600080fd5b6101f1600160a060020a0360043516602435610f93565b341561041357600080fd5b61011c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610fb595505050505050565b341561046457600080fd5b6101f1600160a060020a0360043581169060243516610fe0565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105145780601f106104e957610100808354040283529160200191610514565b820191906000526020600020905b8154815290600101906020018083116104f757829003601f168201915b505050505081565b6000600160a060020a033316151561053057fe5b8115806105605750600160a060020a03338116600090815260046020908152604080832093871683529290522054155b151561056b57600080fd5b600160a060020a03338116600081815260046020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055481565b600080600080600a5430600160a060020a031631019250610620836009600088600160a060020a0316600160a060020a0316815260200190815260200160002054610ffd565b600554600160a060020a03871660009081526003602052604090205491935090830281151561064b57fe5b0495945050505050565b61065e3361100f565b565b6000811161066d57600080fd5b600160a060020a0333166000908152600360205260409020548290101561069357600080fd5b6040805190810160409081528382526020808301849052600160a060020a03331660009081526008909152206106ca9160026112f5565b507f9f2bccb32bc17f7191f8752950d8d036bb9c6c8a0e91e658052bf2b578ad61ff3383836040518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390a15050565b600160a060020a03831660009081526008602052604081205481908190819081908190819081908190819081901161075f57600080fd5b600160a060020a038d1660009081526008602052604090208b9060010154111561078857600080fd5b600160a060020a038d166000908152600860205260409020600101549950896107b634600254600a0a61106a565b8115156107bf57fe5b600160a060020a038f16600090815260086020526040902054919004995089111561080057600160a060020a038d1660009081526008602052604090205498505b8b89111561080c578b98505b600254600a0a61081c8a8c61106a565b81151561082557fe5b0497506000891180156108385750600088115b151561084357600080fd5b6127106108528960065461106a565b81151561085b57fe5b04965086880395508734039450600360008e600160a060020a0316600160a060020a031681526020019081526020016000205493506003600033600160a060020a0316600160a060020a031681526020019081526020016000205492506108c38d338b6110a0565b600160a060020a038d166000908152600860205260409020546108e6908a610ffd565b600160a060020a038e16600090815260086020526040812090015561090d8d856000611169565b915061091b33846000611169565b90508c600160a060020a03166108fc61093488856112e6565b9081150290604051600060405180830381858888f19350505050151561095957600080fd5b600061096586836112e6565b11156109a75733600160a060020a03166108fc61098287846112e6565b9081150290604051600060405180830381858888f1935050505015156109a757600080fd5b60008711156109e357600754600160a060020a031687156108fc0288604051600060405180830381858888f1935050505015156109e357600080fd5b7ff7be775cc3960db8ff8db869fd87759afec2db4cbee1e7e716aeca02915cfd4a338e8b8d8a604051600160a060020a0395861681529390941660208401526040808401929092526060830152608082019290925260a001905180910390a150505050505050505050505050565b600080808080600160a060020a0333161515610a6957fe5b600160a060020a038881169088161415610a8257600080fd5b600160a060020a038816600090815260036020908152604080832054600890925282208892610ab59291905b0154610ffd565b1015610ac057600080fd5b600160a060020a0387166000908152600360205260409020548681011015610ae757600080fd5b600160a060020a038089166000908152600460209081526040808320339094168352929052205486901015610b1b57600080fd5b600160a060020a03878116600081815260036020908152604080832080548e871680865283862080548f840190945580548f9003905560048552838620339098168652969093529281902080548c900390559097509095509091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9089905190815260200160405180910390a3610bb1610655565b610bbd88846000611169565b9150610bcb87856000611169565b9050600160a060020a03881682156108fc0283604051600060405180830381858888f193505050501515610bfe57600080fd5b600160a060020a03871681156108fc0282604051600060405180830381858888f193505050501515610c2f57600080fd5b506001979650505050505050565b60025481565b33600160a060020a038116600090815260036020526040902054610c6991906001611169565b50565b60075433600160a060020a03908116911614610c8457fe5b6109c4811115610c9357600080fd5b600655565b60036020526000908152604090205481565b600160a060020a0316600090815260086020526040902080546001909101549091565b60075433600160a060020a03908116911614610ce557fe5b600160a060020a0333161515610cf757fe5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105145780601f106104e957610100808354040283529160200191610514565b60096020526000908152604090205481565b600080808080600160a060020a0333161515610dbb57fe5b600160a060020a03331660009081526003602052604090205486901015610de157600080fd5b600160a060020a0387166000908152600360205260409020548681011015610e0857600080fd5b600160a060020a033316600090815260036020908152604080832054600890925282208892610e38929190610aae565b1015610e4357600080fd5b86600160a060020a031633600160a060020a031614151515610e6457600080fd5b600160a060020a0380881660008181526003602052604080822080543390951680845282842080548d81039091559385905281548c019091559397509095509091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9089905190815260200160405180910390a3610ee533846000611169565b9150610ef387856000611169565b9050600160a060020a03331682156108fc0283604051600060405180830381858888f193505050501515610f2657600080fd5b600160a060020a03871681156108fc0282604051600060405180830381858888f193505050501515610f5757600080fd5b5060019695505050505050565b60075433600160a060020a03908116911614610f7c57fe5b6001818051610f8f929160200190611333565b5050565b60086020526000828152604090208160028110610fac57fe5b01549150829050565b60075433600160a060020a03908116911614610fcd57fe5b6000818051610f8f929160200190611333565b600460209081526000928352604080842090915290825290205481565b60008282111561100957fe5b50900390565b600160a060020a03811660009081526008602052604081208101557f2c17af88255f44baf25735c2e20abad7d9b092ecbd02218b697e4c20bf18563b81604051600160a060020a03909116815260200160405180910390a150565b60008083151561107d5760009150611099565b5082820282848281151561108d57fe5b041461109557fe5b8091505b5092915050565b600160a060020a03331615156110b257fe5b600160a060020a038316600090815260036020526040902054819010156110d857600080fd5b600160a060020a03821660009081526003602052604090205481810110156110ff57600080fd5b600160a060020a038084166000818152600360205260408082208054869003905592851680825290839020805485019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a3505050565b60008080808515156111b25761119461118e30600160a060020a031631600a546112e6565b34610ffd565b600160a060020a0333166000908152600960205260409020556112dc565b34600a5430600160a060020a031631010392506111f483600960008a600160a060020a0316600160a060020a0316815260200190815260200160002054610ffd565b915060055482870281151561120557fe5b04905080600a5401600a8190555061123561118e61122f30600160a060020a031631600a546112e6565b83610ffd565b600160a060020a03881660009081526009602052604090819020919091557fa578b4c05763eb039caef37b2d7b949c22914c3838384c9c73cefb78c4a8ed0a908890839051600160a060020a03909216825260208201526040908101905180910390a184156112d857600160a060020a03871681156108fc0282604051600060405180830381858888f1935050505015156112cf57600080fd5b600093506112dc565b8093505b5050509392505050565b60008282018381101561109557fe5b8260028101928215611323579160200282015b82811115611323578251825591602001919060010190611308565b5061132f9291506113a0565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061137457805160ff1916838001178555611323565b828001600101855582156113235791820182811115611323578251825591602001919060010190611308565b6113ba91905b8082111561132f57600081556001016113a6565b905600a165627a7a72305820d1eb81e4375d7f609dba432d86d884f298bb701b566fdb7214d6dd336b9cef760029

Swarm Source

bzzr://d1eb81e4375d7f609dba432d86d884f298bb701b566fdb7214d6dd336b9cef76
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.