ETH Price: $2,523.47 (-5.06%)

Token

Opus (OPT)
 

Overview

Max Total Supply

249,308,531.418777819032564882 OPT

Holders

3,027 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
8,888 OPT

Value
$0.00
0x2a7d4f444e37eaa65c341ef23deaaa3e54180811
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Decentralised music platform built on Ethereum and IPFS.

ICO Information

ICO Start Date : Jul 24, 2017  
ICO End Date : Aug 25, 2017
Raised : $ 5,800,000
ICO Price  : $0.0362 | 0.00011 ETH
Country : United Arab Emirates

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
OpusToken

Compiler Version
v0.4.8+commit.60cc1668

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-07-14
*/

pragma solidity ^0.4.8;


/**
 * Math operations with safety checks
 * By OpenZeppelin: https://github.com/OpenZeppelin/zeppelin-solidity/contracts/SafeMath.sol
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal returns (uint256) {
    uint256 c = a * b;
    if(!(a == 0 || c / a == b)) throw;
    return c;
  }

  function div(uint256 a, uint256 b) internal 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;
  }

  function sub(uint256 a, uint256 b) internal returns (uint256) {
    if(!(b <= a)) throw;
    return a - b;
  }

  function add(uint256 a, uint256 b) internal returns (uint256) {
    uint256 c = a + b;
    if(!(c >= a)) throw;
    return c;
  }

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

}

contract ContractReceiver{
    function tokenFallback(address _from, uint256 _value, bytes  _data) external;
}


//Basic ERC23 token, backward compatible with ERC20 transfer function.
//Based in part on code by open-zeppelin: https://github.com/OpenZeppelin/zeppelin-solidity.git
contract ERC23BasicToken {
    using SafeMath for uint256;
    uint256 public totalSupply;
    mapping(address => uint256) balances;
    event Transfer(address indexed from, address indexed to, uint256 value);
    
    function tokenFallback(address _from, uint256 _value, bytes  _data) external {
        throw;
    }

    function transfer(address _to, uint256 _value, bytes _data) returns (bool success) {

        //Standard ERC23 transfer function

        if(isContract(_to)) {
            transferToContract(_to, _value, _data);
        }
        else {
            transferToAddress(_to, _value, _data);
        }
        return true;
    }

    function transfer(address _to, uint256 _value) {

        //standard function transfer similar to ERC20 transfer with no _data
        //added due to backwards compatibility reasons

        bytes memory empty;
        if(isContract(_to)) {
            transferToContract(_to, _value, empty);
        }
        else {
            transferToAddress(_to, _value, empty);
        }
    }

    function transferToAddress(address _to, uint256 _value, bytes _data) internal {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
     }

    function transferToContract(address _to, uint256 _value, bytes _data) internal {
        balances[msg.sender] = balances[msg.sender].sub( _value);
        balances[_to] = balances[_to].add( _value);
        ContractReceiver receiver = ContractReceiver(_to);
        receiver.tokenFallback(msg.sender, _value, _data);
        Transfer(msg.sender, _to, _value);    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    //assemble the given address bytecode. If bytecode exists then the _addr is a contract.
    function isContract(address _addr) returns (bool is_contract) {
          uint256 length;
          assembly {
              //retrieve the size of the code on target address, this needs assembly
              length := extcodesize(_addr)
          }
          if(length>0) {
              return true;
          }
          else {
              return false;
          }
    }
}

contract ERC23StandardToken is ERC23BasicToken {
    mapping (address => mapping (address => uint256)) allowed;
    event Approval (address indexed owner, address indexed spender, uint256 value);

    function transferFrom(address _from, address _to, uint256 _value) {
        var _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // if (_value > _allowance) throw;

        balances[_to] = balances[_to].add(_value);
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        Transfer(_from, _to, _value);
    }

    function approve(address _spender, uint256 _value) {

        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

}




// Based in part on code by Open-Zeppelin: https://github.com/OpenZeppelin/zeppelin-solidity.git
// Based in part on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
contract OpusToken is ERC23StandardToken {
    string public constant name = "Opus Token";
    string public constant symbol = "OPT";
    uint256 public constant decimals = 18;
    address public multisig=address(0x1426c1f91b923043F7C5FbabC6e369e7cBaef3f0); //multisig wallet, to which all contributions will be sent
    address public foundation; //owner address
    address public candidate; //owner candidate in 2-phase ownership transfer

    mapping (address => uint256) contributions; //keeps track of ether contributions in Wei of each contributor address
    uint256 public startBlock = 4023333; //pre-crowdsale start block (30min ealier than estimate) 
    uint256 public preEndBlock = 4057233; //pre-crowdsale end block(1h after estimated time)
    uint256 public phase1StartBlock = 4066633; //Crowdsale start block (1h earlier)
    uint256 public phase1EndBlock = 4100233; //Week 1 end block (estimate)
    uint256 public phase2EndBlock = 4133833; //Week 2 end block (estimate)
    uint256 public phase3EndBlock = 4201433; //Week 4 end block (2h later)
    uint256 public endBlock = 4201433; //whole crowdsale end block
    uint256 public crowdsaleTokenSupply = 900000000 * (10**18); //Amount of tokens for sale during crowdsale
    uint256 public ecosystemTokenSupply = 100000000 * (10**18); //Tokens for supporting the Opus eco-system, e.g. purchasing music licenses, artist bounties, etc.
    uint256 public foundationTokenSupply = 600000000 * (10**18); //Tokens distributed to the Opus foundation, developers and angel investors
    uint256 public crowdsaleTokenSold = 0; //Keeps track of the amount of tokens sold during the crowdsale
    uint256 public presaleEtherRaised = 0; //Keeps track of the Ether raised during the crowdsale
    uint256 public transferLockup = 9600;
    bool public halted = false; //Halt crowdsale in emergency
    event Halt(); //Halt event
    event Unhalt(); //Unhalt event

    modifier onlyFoundation() {
        //only do if call is from owner modifier
        if (msg.sender != foundation) throw;
        _;
    }

    modifier crowdsaleTransferLock() {
        // lockup during and after 48h of end of crowdsale
        if (block.number <= endBlock.add(transferLockup)) throw;
        _;
    }

    modifier whenNotHalted() {
        // only do when not halted modifier
        if (halted) throw;
        _;
    }

    //Constructor: set multisig crowdsale recipient wallet address and fund the foundation
    //Initialize total supply and allocate ecosystem & foundation tokens
  	function OpusToken() {
        foundation = msg.sender;
        totalSupply = ecosystemTokenSupply.add(foundationTokenSupply);
        balances[foundation] = totalSupply;
  	}

    //Fallback function when receiving Ether.
    function() payable {
        buy();
    }


    //Halt ICO in case of emergency.
    function halt() onlyFoundation {
        halted = true;
        Halt();
    }

    function unhalt() onlyFoundation {
        halted = false;
        Unhalt();
    }

    function buy() payable {
        buyRecipient(msg.sender);
    }

    //Allow addresses to buy token for another account
    function buyRecipient(address recipient) public payable whenNotHalted {
        if(msg.value == 0) throw;
        if(!(preCrowdsaleOn()||crowdsaleOn())) throw;//only allows during presale/crowdsale
        if(contributions[recipient].add(msg.value)>perAddressCap()) throw;//per address cap
        uint256 tokens = msg.value.mul(returnRate()); //decimals=18, so no need to adjust for unit
        if(crowdsaleTokenSold.add(tokens)>crowdsaleTokenSupply) throw;//max supply limit

        balances[recipient] = balances[recipient].add(tokens);
        totalSupply = totalSupply.add(tokens);
        presaleEtherRaised = presaleEtherRaised.add(msg.value);
        contributions[recipient] = contributions[recipient].add(msg.value);
        crowdsaleTokenSold = crowdsaleTokenSold.add(tokens);
        if(crowdsaleTokenSold == crowdsaleTokenSupply){
        //If crowdsale token sold out, end crowdsale
            if(block.number < preEndBlock) {
                preEndBlock = block.number;
            }
            endBlock = block.number;
        }
        if (!multisig.send(msg.value)) throw; //immediately send Ether to multisig address
        Transfer(this, recipient, tokens);
    }

    //Burns the specified amount of tokens from the foundation
    //Used to burn unspent funds in foundation DAO
    function burn(uint256 _value) external onlyFoundation returns (bool) {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Transfer(msg.sender, address(0), _value);
        return true;
    }

    //2-phase ownership transfer;
    //prevent transferring ownership to non-existent addresses by accident.
    function proposeFoundationTransfer(address newFoundation) external onlyFoundation {
        //propose new owner
        candidate = newFoundation;
    }

    function cancelFoundationTransfer() external onlyFoundation {
        candidate = address(0);
    }

    function acceptFoundationTransfer() external {
        //new owner accept transfer to complete transfer
        if(msg.sender != candidate) throw;
        foundation = candidate;
        candidate = address(0);
    }

    //Allow to change the recipient multisig address
    function setMultisig(address addr) external onlyFoundation {
      	if (addr == address(0)) throw;
      	multisig = addr;
    }

    function transfer(address _to, uint256 _value, bytes _data) public crowdsaleTransferLock returns (bool success) {
        return super.transfer(_to, _value, _data);
    }

	  function transfer(address _to, uint256 _value) public crowdsaleTransferLock {
        super.transfer(_to, _value);
	  }

    function transferFrom(address _from, address _to, uint256 _value) public crowdsaleTransferLock {
        super.transferFrom(_from, _to, _value);
    }

    //Return rate of token against ether.
    function returnRate() public constant returns(uint256) {
        if (block.number>=startBlock && block.number<=preEndBlock) return 8888; //Pre-crowdsale
        if (block.number>=phase1StartBlock && block.number<=phase1EndBlock) return 8000; //Crowdsale phase1
        if (block.number>phase1EndBlock && block.number<=phase2EndBlock) return 7500; //Phase2
        if (block.number>phase2EndBlock && block.number<=phase3EndBlock) return 7000; //Phase3
    }

    //per address cap in Wei: 1000 ether + 1% of ether received at the given time.
    function perAddressCap() public constant returns(uint256) {
        uint256 baseline = 1000 * (10**18);
        return baseline.add(presaleEtherRaised.div(100));
    }

    function preCrowdsaleOn() public constant returns (bool) {
        //return whether presale is on according to block number
        return (block.number>=startBlock && block.number<=preEndBlock);
    }

    function crowdsaleOn() public constant returns (bool) {
        //return whether crowdsale is on according to block number
        return (block.number>=phase1StartBlock && block.number<=endBlock);
    }


    function getEtherRaised() external constant returns (uint256) {
        //getter function for etherRaised
        return presaleEtherRaised;
    }

    function getTokenSold() external constant returns (uint256) {
        //getter function for crowdsaleTokenSold
        return crowdsaleTokenSold;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"crowdsaleOn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"}],"name":"buyRecipient","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"phase1StartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptFoundationTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"isContract","outputs":[{"name":"is_contract","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleTokenSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"foundation","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleTokenSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"presaleEtherRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"multisig","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"perAddressCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"phase1EndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ecosystemTokenSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"preCrowdsaleOn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"phase2EndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"candidate","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"returnRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"preEndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newFoundation","type":"address"}],"name":"proposeFoundationTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"phase3EndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTokenSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"halted","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"transferLockup","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unhalt","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getEtherRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"cancelFoundationTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setMultisig","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"foundationTokenSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[],"name":"Halt","type":"event"},{"anonymous":false,"inputs":[],"name":"Unhalt","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":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

606060405260038054600160a060020a031916731426c1f91b923043f7c5fbabc6e369e7cbaef3f0179055623d6425600755623de891600855623e0d49600955623e9089600a55623f13c9600b5562401bd9600c819055600d556b02e87669c308736a04000000600e556a52b7d2dcc80cd2e4000000600f556b01f04ef12cb04cf158000000601055600060118190556012556125806013556014805460ff1916905534610000575b60048054600160a060020a03191633600160a060020a0316179055601054600f546100df9164010000000061010281026110c01704565b6000818155600454600160a060020a03168152600160205260409020555b61011f565b60008282018381101561011457610000565b8091505b5092915050565b6115468061012e6000396000f300606060405236156101fe5763ffffffff60e060020a60003504166302dd92c4811461020f57806306fdde0314610230578063083c6323146102bd578063095ea7b3146102dc57806311a4c710146102fa578063145538ea14610310578063152af8f91461032f578063162790551461033e57806318160ddd1461036b57806319af6f481461038a57806323b872dd146103a9578063313ce567146103cd57806341fbb050146103ec57806342966c681461041557806344acb8da1461043957806344b49958146104585780634783c35b1461047757806347dd5172146104a057806348cd4cb1146104bf578063575d462a146104de5780635d6cb67e146104fd5780635ed7ca5b1461051c5780636649dfd51461052b5780636aa68a151461054c5780636c8381f81461056b57806370a08231146105945780637c2ffbb3146105bf578063812ba50c146105de57806384b35fbb146105fd578063899ecf2b1461061857806394d773631461063757806395d89b4114610656578063a6f2ae3a146106e3578063a9059cbb146106ed578063b9b8af0b1461070b578063be45fd621461072c578063c0ee0b8a146107a0578063c24fe21b146107cb578063cb3e64fd146107ea578063dd62ed3e146107f9578063e876bdef1461082a578063f2a6941714610849578063f3283fba14610858578063fb70f76514610873575b61020d5b61020a610892565b5b565b005b346100005761021c61089e565b604080519115158252519081900360200190f35b346100005761023d6108ba565b604080516020808252835181830152835191928392908301918501908083838215610283575b80518252602083111561028357601f199092019160209182019101610263565b505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576102ca6108f1565b60408051918252519081900360200190f35b346100005761020d600160a060020a03600435166024356108f7565b005b61020d600160a060020a0360043516610996565b005b34610000576102ca610ba8565b60408051918252519081900360200190f35b346100005761020d610bae565b005b346100005761021c600160a060020a0360043516610bf1565b604080519115158252519081900360200190f35b34610000576102ca610c12565b60408051918252519081900360200190f35b34610000576102ca610c18565b60408051918252519081900360200190f35b346100005761020d600160a060020a0360043581169060243516604435610c1e565b005b34610000576102ca610c50565b60408051918252519081900360200190f35b34610000576103f9610c55565b60408051600160a060020a039092168252519081900360200190f35b346100005761021c600435610c64565b604080519115158252519081900360200190f35b34610000576102ca610d14565b60408051918252519081900360200190f35b34610000576102ca610d1a565b60408051918252519081900360200190f35b34610000576103f9610d20565b60408051600160a060020a039092168252519081900360200190f35b34610000576102ca610d2f565b60408051918252519081900360200190f35b34610000576102ca610d69565b60408051918252519081900360200190f35b34610000576102ca610d6f565b60408051918252519081900360200190f35b34610000576102ca610d75565b60408051918252519081900360200190f35b346100005761020d610d7b565b005b346100005761021c610dd0565b604080519115158252519081900360200190f35b34610000576102ca610dec565b60408051918252519081900360200190f35b34610000576103f9610df2565b60408051600160a060020a039092168252519081900360200190f35b34610000576102ca600160a060020a0360043516610e01565b60408051918252519081900360200190f35b34610000576102ca610e20565b60408051918252519081900360200190f35b34610000576102ca610eac565b60408051918252519081900360200190f35b346100005761020d600160a060020a0360043516610eb2565b005b34610000576102ca610eed565b60408051918252519081900360200190f35b34610000576102ca610ef3565b60408051918252519081900360200190f35b346100005761023d610efa565b604080516020808252835181830152835191928392908301918501908083838215610283575b80518252602083111561028357601f199092019160209182019101610263565b505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020d610892565b005b346100005761020d600160a060020a0360043516602435610f31565b005b346100005761021c610f61565b604080519115158252519081900360200190f35b3461000057604080516020600460443581810135601f810184900484028501840190955284845261021c948235600160a060020a0316946024803595606494929391909201918190840183828082843750949650610f6a95505050505050565b604080519115158252519081900360200190f35b346100005761020d60048035600160a060020a0316906024803591604435918201910135610fa4565b005b34610000576102ca610faf565b60408051918252519081900360200190f35b346100005761020d610fb5565b005b34610000576102ca600160a060020a0360043581169060243516611007565b60408051918252519081900360200190f35b34610000576102ca611034565b60408051918252519081900360200190f35b346100005761020d61103b565b005b346100005761020d600160a060020a036004351661106a565b005b34610000576102ca6110ba565b60408051918252519081900360200190f35b61020a33610996565b5b565b600060095443101580156108b45750600d544311155b90505b90565b60408051808201909152600a81527f4f70757320546f6b656e00000000000000000000000000000000000000000000602082015281565b600d5481565b801580159061092a5750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b1561093457610000565b600160a060020a03338116600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b60145460009060ff16156109a957610000565b3415156109b557610000565b6109bd610dd0565b806109cb57506109cb61089e565b5b15156109d757610000565b6109df610d2f565b600160a060020a038316600090815260066020526040902054610a08903463ffffffff6110c016565b1115610a1357610000565b610a2b610a1e610e20565b349063ffffffff6110dd16565b9050600e54610a45826011546110c090919063ffffffff16565b1115610a5057610000565b600160a060020a038216600090815260016020526040902054610a79908263ffffffff6110c016565b600160a060020a03831660009081526001602052604081209190915554610aa6908263ffffffff6110c016565b600055601254610abc903463ffffffff6110c016565b601255600160a060020a038216600090815260066020526040902054610ae8903463ffffffff6110c016565b600160a060020a038316600090815260066020526040902055601154610b14908263ffffffff6110c016565b6011819055600e541415610b3657600854431015610b3157436008555b43600d555b600354604051600160a060020a03909116903480156108fc02916000818181858888f193505050501515610b6957610000565b81600160a060020a031630600160a060020a03166000805160206114fb833981519152836040518082815260200191505060405180910390a35b5b5050565b60095481565b60055433600160a060020a03908116911614610bc957610000565b6005805460048054600160a060020a0319908116600160a060020a038416179091551690555b565b6000813b81811115610c065760019150610c0b565b600091505b5b50919050565b60005481565b60115481565b601354600d54610c339163ffffffff6110c016565b4311610c3e57610000565b610c4983838361110c565b5b5b505050565b601281565b600454600160a060020a031681565b60045460009033600160a060020a03908116911614610c8257610000565b600160a060020a033316600090815260016020526040902054610cab908363ffffffff61120616565b600160a060020a03331660009081526001602052604081209190915554610cd8908363ffffffff61120616565b600090815560408051848152905133600160a060020a0316916000805160206114fb833981519152919081900360200190a35060015b5b919050565b600e5481565b60125481565b600354600160a060020a031681565b601254600090683635c9adc5dea0000090610d6290610d5590606463ffffffff61122016565b829063ffffffff6110c016565b91505b5090565b60075481565b600a5481565b600f5481565b60045433600160a060020a03908116911614610d9657610000565b6014805460ff191660011790556040517fa8d1ea886eaf8bd3d113c770bf7af546123c70e235b0d036ff752d5e920a7b5690600090a15b5b565b600060075443101580156108b457506008544311155b90505b90565b600b5481565b600554600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b60006007544310158015610e3657506008544311155b15610e4457506122b86108b7565b6009544310158015610e585750600a544311155b15610e665750611f406108b7565b600a5443118015610e795750600b544311155b15610e875750611d4c6108b7565b600b5443118015610e9a5750600c544311155b156108b75750611b586108b7565b5b90565b60085481565b60045433600160a060020a03908116911614610ecd57610000565b60058054600160a060020a031916600160a060020a0383161790555b5b50565b600c5481565b6011545b90565b60408051808201909152600381527f4f50540000000000000000000000000000000000000000000000000000000000602082015281565b601354600d54610f469163ffffffff6110c016565b4311610f5157610000565b610992828261123a565b5b5b5050565b60145460ff1681565b6000610f83601354600d546110c090919063ffffffff16565b4311610f8e57610000565b610f99848484611279565b90505b5b9392505050565b610000565b50505050565b60135481565b60045433600160a060020a03908116911614610fd057610000565b6014805460ff191690556040517f6426a220e8910820230d4f2e29cc2bee7c13058ff2524cbcc4d823ba49aa2f6690600090a15b5b565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b6012545b90565b60045433600160a060020a0390811691161461105657610000565b60058054600160a060020a03191690555b5b565b60045433600160a060020a0390811691161461108557610000565b600160a060020a038116151561109a57610000565b60038054600160a060020a031916600160a060020a0383161790555b5b50565b60105481565b6000828201838110156110d257610000565b8091505b5092915050565b60008282028315806110f6575082848281156100005704145b15156110d257610000565b8091505b5092915050565b600160a060020a038084166000908152600260209081526040808320338516845282528083205493861683526001909152902054611150908363ffffffff6110c016565b600160a060020a038085166000908152600160205260408082209390935590861681522054611185908363ffffffff61120616565b600160a060020a0385166000908152600160205260409020556111ae818363ffffffff61120616565b600160a060020a038086166000818152600260209081526040808320338616845282529182902094909455805186815290519287169391926000805160206114fb833981519152929181900390910190a35b50505050565b60008282111561121557610000565b508082035b92915050565b6000600082848115610000570490508091505b5092915050565b60408051602081019091526000815261125283610bf1565b15611267576112628383836112b0565b610c49565b610c49838383611450565b5b5b505050565b600061128484610bf1565b15611299576112948484846112b0565b6112a4565b6112a4848484611450565b5b5060015b9392505050565b600160a060020a0333166000908152600160205260408120546112d9908463ffffffff61120616565b600160a060020a03338116600090815260016020526040808220939093559086168152205461130e908463ffffffff6110c016565b600160a060020a0380861660008181526001602090815260409182902094909455517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523392831660048201908152602482018890526060604483019081528751606484015287518a9750939563c0ee0b8a95948a948a9493926084909101919085019080838382156113bd575b8051825260208311156113bd57601f19909201916020918201910161139d565b505050905090810190601f1680156113e95780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b156100005760325a03f1156100005750505083600160a060020a031633600160a060020a03166000805160206114fb833981519152856040518082815260200191505060405180910390a35b50505050565b600160a060020a033316600090815260016020526040902054611479908363ffffffff61120616565b600160a060020a0333811660009081526001602052604080822093909355908516815220546114ae908363ffffffff6110c016565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316926000805160206114fb83398151915292918290030190a35b5050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820be2438a2c5e28c2f291e5de0431c85e1051363d4bbf7da1f0b10f176e5d9be650029

Deployed Bytecode

0x606060405236156101fe5763ffffffff60e060020a60003504166302dd92c4811461020f57806306fdde0314610230578063083c6323146102bd578063095ea7b3146102dc57806311a4c710146102fa578063145538ea14610310578063152af8f91461032f578063162790551461033e57806318160ddd1461036b57806319af6f481461038a57806323b872dd146103a9578063313ce567146103cd57806341fbb050146103ec57806342966c681461041557806344acb8da1461043957806344b49958146104585780634783c35b1461047757806347dd5172146104a057806348cd4cb1146104bf578063575d462a146104de5780635d6cb67e146104fd5780635ed7ca5b1461051c5780636649dfd51461052b5780636aa68a151461054c5780636c8381f81461056b57806370a08231146105945780637c2ffbb3146105bf578063812ba50c146105de57806384b35fbb146105fd578063899ecf2b1461061857806394d773631461063757806395d89b4114610656578063a6f2ae3a146106e3578063a9059cbb146106ed578063b9b8af0b1461070b578063be45fd621461072c578063c0ee0b8a146107a0578063c24fe21b146107cb578063cb3e64fd146107ea578063dd62ed3e146107f9578063e876bdef1461082a578063f2a6941714610849578063f3283fba14610858578063fb70f76514610873575b61020d5b61020a610892565b5b565b005b346100005761021c61089e565b604080519115158252519081900360200190f35b346100005761023d6108ba565b604080516020808252835181830152835191928392908301918501908083838215610283575b80518252602083111561028357601f199092019160209182019101610263565b505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576102ca6108f1565b60408051918252519081900360200190f35b346100005761020d600160a060020a03600435166024356108f7565b005b61020d600160a060020a0360043516610996565b005b34610000576102ca610ba8565b60408051918252519081900360200190f35b346100005761020d610bae565b005b346100005761021c600160a060020a0360043516610bf1565b604080519115158252519081900360200190f35b34610000576102ca610c12565b60408051918252519081900360200190f35b34610000576102ca610c18565b60408051918252519081900360200190f35b346100005761020d600160a060020a0360043581169060243516604435610c1e565b005b34610000576102ca610c50565b60408051918252519081900360200190f35b34610000576103f9610c55565b60408051600160a060020a039092168252519081900360200190f35b346100005761021c600435610c64565b604080519115158252519081900360200190f35b34610000576102ca610d14565b60408051918252519081900360200190f35b34610000576102ca610d1a565b60408051918252519081900360200190f35b34610000576103f9610d20565b60408051600160a060020a039092168252519081900360200190f35b34610000576102ca610d2f565b60408051918252519081900360200190f35b34610000576102ca610d69565b60408051918252519081900360200190f35b34610000576102ca610d6f565b60408051918252519081900360200190f35b34610000576102ca610d75565b60408051918252519081900360200190f35b346100005761020d610d7b565b005b346100005761021c610dd0565b604080519115158252519081900360200190f35b34610000576102ca610dec565b60408051918252519081900360200190f35b34610000576103f9610df2565b60408051600160a060020a039092168252519081900360200190f35b34610000576102ca600160a060020a0360043516610e01565b60408051918252519081900360200190f35b34610000576102ca610e20565b60408051918252519081900360200190f35b34610000576102ca610eac565b60408051918252519081900360200190f35b346100005761020d600160a060020a0360043516610eb2565b005b34610000576102ca610eed565b60408051918252519081900360200190f35b34610000576102ca610ef3565b60408051918252519081900360200190f35b346100005761023d610efa565b604080516020808252835181830152835191928392908301918501908083838215610283575b80518252602083111561028357601f199092019160209182019101610263565b505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020d610892565b005b346100005761020d600160a060020a0360043516602435610f31565b005b346100005761021c610f61565b604080519115158252519081900360200190f35b3461000057604080516020600460443581810135601f810184900484028501840190955284845261021c948235600160a060020a0316946024803595606494929391909201918190840183828082843750949650610f6a95505050505050565b604080519115158252519081900360200190f35b346100005761020d60048035600160a060020a0316906024803591604435918201910135610fa4565b005b34610000576102ca610faf565b60408051918252519081900360200190f35b346100005761020d610fb5565b005b34610000576102ca600160a060020a0360043581169060243516611007565b60408051918252519081900360200190f35b34610000576102ca611034565b60408051918252519081900360200190f35b346100005761020d61103b565b005b346100005761020d600160a060020a036004351661106a565b005b34610000576102ca6110ba565b60408051918252519081900360200190f35b61020a33610996565b5b565b600060095443101580156108b45750600d544311155b90505b90565b60408051808201909152600a81527f4f70757320546f6b656e00000000000000000000000000000000000000000000602082015281565b600d5481565b801580159061092a5750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b1561093457610000565b600160a060020a03338116600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b60145460009060ff16156109a957610000565b3415156109b557610000565b6109bd610dd0565b806109cb57506109cb61089e565b5b15156109d757610000565b6109df610d2f565b600160a060020a038316600090815260066020526040902054610a08903463ffffffff6110c016565b1115610a1357610000565b610a2b610a1e610e20565b349063ffffffff6110dd16565b9050600e54610a45826011546110c090919063ffffffff16565b1115610a5057610000565b600160a060020a038216600090815260016020526040902054610a79908263ffffffff6110c016565b600160a060020a03831660009081526001602052604081209190915554610aa6908263ffffffff6110c016565b600055601254610abc903463ffffffff6110c016565b601255600160a060020a038216600090815260066020526040902054610ae8903463ffffffff6110c016565b600160a060020a038316600090815260066020526040902055601154610b14908263ffffffff6110c016565b6011819055600e541415610b3657600854431015610b3157436008555b43600d555b600354604051600160a060020a03909116903480156108fc02916000818181858888f193505050501515610b6957610000565b81600160a060020a031630600160a060020a03166000805160206114fb833981519152836040518082815260200191505060405180910390a35b5b5050565b60095481565b60055433600160a060020a03908116911614610bc957610000565b6005805460048054600160a060020a0319908116600160a060020a038416179091551690555b565b6000813b81811115610c065760019150610c0b565b600091505b5b50919050565b60005481565b60115481565b601354600d54610c339163ffffffff6110c016565b4311610c3e57610000565b610c4983838361110c565b5b5b505050565b601281565b600454600160a060020a031681565b60045460009033600160a060020a03908116911614610c8257610000565b600160a060020a033316600090815260016020526040902054610cab908363ffffffff61120616565b600160a060020a03331660009081526001602052604081209190915554610cd8908363ffffffff61120616565b600090815560408051848152905133600160a060020a0316916000805160206114fb833981519152919081900360200190a35060015b5b919050565b600e5481565b60125481565b600354600160a060020a031681565b601254600090683635c9adc5dea0000090610d6290610d5590606463ffffffff61122016565b829063ffffffff6110c016565b91505b5090565b60075481565b600a5481565b600f5481565b60045433600160a060020a03908116911614610d9657610000565b6014805460ff191660011790556040517fa8d1ea886eaf8bd3d113c770bf7af546123c70e235b0d036ff752d5e920a7b5690600090a15b5b565b600060075443101580156108b457506008544311155b90505b90565b600b5481565b600554600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b60006007544310158015610e3657506008544311155b15610e4457506122b86108b7565b6009544310158015610e585750600a544311155b15610e665750611f406108b7565b600a5443118015610e795750600b544311155b15610e875750611d4c6108b7565b600b5443118015610e9a5750600c544311155b156108b75750611b586108b7565b5b90565b60085481565b60045433600160a060020a03908116911614610ecd57610000565b60058054600160a060020a031916600160a060020a0383161790555b5b50565b600c5481565b6011545b90565b60408051808201909152600381527f4f50540000000000000000000000000000000000000000000000000000000000602082015281565b601354600d54610f469163ffffffff6110c016565b4311610f5157610000565b610992828261123a565b5b5b5050565b60145460ff1681565b6000610f83601354600d546110c090919063ffffffff16565b4311610f8e57610000565b610f99848484611279565b90505b5b9392505050565b610000565b50505050565b60135481565b60045433600160a060020a03908116911614610fd057610000565b6014805460ff191690556040517f6426a220e8910820230d4f2e29cc2bee7c13058ff2524cbcc4d823ba49aa2f6690600090a15b5b565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b6012545b90565b60045433600160a060020a0390811691161461105657610000565b60058054600160a060020a03191690555b5b565b60045433600160a060020a0390811691161461108557610000565b600160a060020a038116151561109a57610000565b60038054600160a060020a031916600160a060020a0383161790555b5b50565b60105481565b6000828201838110156110d257610000565b8091505b5092915050565b60008282028315806110f6575082848281156100005704145b15156110d257610000565b8091505b5092915050565b600160a060020a038084166000908152600260209081526040808320338516845282528083205493861683526001909152902054611150908363ffffffff6110c016565b600160a060020a038085166000908152600160205260408082209390935590861681522054611185908363ffffffff61120616565b600160a060020a0385166000908152600160205260409020556111ae818363ffffffff61120616565b600160a060020a038086166000818152600260209081526040808320338616845282529182902094909455805186815290519287169391926000805160206114fb833981519152929181900390910190a35b50505050565b60008282111561121557610000565b508082035b92915050565b6000600082848115610000570490508091505b5092915050565b60408051602081019091526000815261125283610bf1565b15611267576112628383836112b0565b610c49565b610c49838383611450565b5b5b505050565b600061128484610bf1565b15611299576112948484846112b0565b6112a4565b6112a4848484611450565b5b5060015b9392505050565b600160a060020a0333166000908152600160205260408120546112d9908463ffffffff61120616565b600160a060020a03338116600090815260016020526040808220939093559086168152205461130e908463ffffffff6110c016565b600160a060020a0380861660008181526001602090815260409182902094909455517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523392831660048201908152602482018890526060604483019081528751606484015287518a9750939563c0ee0b8a95948a948a9493926084909101919085019080838382156113bd575b8051825260208311156113bd57601f19909201916020918201910161139d565b505050905090810190601f1680156113e95780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b156100005760325a03f1156100005750505083600160a060020a031633600160a060020a03166000805160206114fb833981519152856040518082815260200191505060405180910390a35b50505050565b600160a060020a033316600090815260016020526040902054611479908363ffffffff61120616565b600160a060020a0333811660009081526001602052604080822093909355908516815220546114ae908363ffffffff6110c016565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316926000805160206114fb83398151915292918290030190a35b5050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820be2438a2c5e28c2f291e5de0431c85e1051363d4bbf7da1f0b10f176e5d9be650029

Swarm Source

bzzr://be2438a2c5e28c2f291e5de0431c85e1051363d4bbf7da1f0b10f176e5d9be65
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.