Overview
Max Total Supply
249,308,531.418777819032564882 OPT
Holders
3,023 (0.00%)
Transfers
-
0
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
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
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"}]Contract Creation Code
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.
Add Token to MetaMask (Web3)