Overview
Max Total Supply
6,908,903,232.666667000000000001 VEEN
Holders
11,722 (0.00%)
Transfers
-
-
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:
Veen
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-08-14
*/
pragma solidity ^0.4.18;
// File: contracts/SafeMath.sol
/*
Copyright 2018, All rights reserved.
_ _
\ \ / / ___ ___ _ __
\ \ / / / _ \ / _ \| '_ \
\ \/ / | __/| __/| | | |
\__/ \___| \___||_| |_|
@title SafeMath
@author OpenZeppelin
@dev Math operations with safety checks that throw on error
*/
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
assert(c / a == b);
return c;
}
/**
* @dev Integer division of two numbers, truncating the quotient.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Substracts 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;
}
}
// File: contracts/Ownable.sol
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
using SafeMath for uint256;
uint256 public startdate;
function Ownable() public {
owner = msg.sender;
startdate = now;
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
// File: contracts/Pausable.sol
/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is Ownable {
event Pause();
event Unpause();
mapping(address => uint256) private _lock_list_period;
mapping(address => bool) private _lock_list;
bool public paused = false;
mapping(address => uint256) internal _balances;
uint256 internal _tokenSupply;
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*/
modifier whenNotPaused() {
require(!paused);
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*/
modifier whenPaused() {
require(paused);
_;
}
/**
*
*/
modifier isLockAddress() {
check_lock_period(msg.sender);
if(_lock_list[msg.sender]){
revert();
}
_;
}
function check_lock_period(address check_address) {
if(now > _lock_list_period[check_address] && _lock_list[check_address]){
_lock_list[check_address] = false;
_tokenSupply = _tokenSupply.add(_balances[check_address]);
}
}
function check_period(address check_address) constant public returns(uint256){
return _lock_list_period[check_address];
}
function check_lock(address check_address) constant public returns(bool){
return _lock_list[check_address];
}
/**
*
*/
function set_lock_list(address lock_address, uint period) onlyOwner external {
_lock_list_period[lock_address] = startdate + (period * 1 days);
_lock_list[lock_address] = true;
_tokenSupply = _tokenSupply.sub(_balances[lock_address]);
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() onlyOwner whenNotPaused public {
paused = true;
Pause();
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() onlyOwner whenPaused public {
paused = false;
Unpause();
}
}
// File: contracts/ERC20Token.sol
/*
Copyright 2018, All rights reserved.
_ _
\ \ / / ___ ___ _ __
\ \ / / / _ \ / _ \| '_ \
\ \/ / | __/| __/| | | |
\__/ \___| \___||_| |_|
@title Veen Token Contract.
@description ERC-20 Interface
*/
interface ERC20Token {
function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
function approve(address spender, uint tokens) public returns (bool success);
function transferFrom(address from, address to, uint tokens) public returns (bool success);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}
// File: contracts/ERC223.sol
interface ERC223 {
function totalSupply() public constant returns (uint);
function balanceOf(address who) public constant returns (uint);
function transfer(address to, uint value) public returns (bool);
}
// File: contracts/Receiver_Interface.sol
/*
* Contract that is working with ERC223 tokens
*/
contract ContractReceiver {
struct TKN {
address sender;
uint value;
bytes data;
bytes4 sig;
}
function tokenFallback(address _from, uint _value, bytes _data) public pure {
TKN memory tkn;
tkn.sender = _from;
tkn.value = _value;
tkn.data = _data;
uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
tkn.sig = bytes4(u);
/* tkn variable is analogue of msg variable of Ether transaction
* tkn.sender is person who initiated this token transaction (analogue of msg.sender)
* tkn.value the number of tokens that were sent (analogue of msg.value)
* tkn.data is data of token transaction (analogue of msg.data)
* tkn.sig is 4 bytes signature of function
* if data of token transaction is a function execution
*/
}
}
// File: contracts/Veen.sol
/*
Copyright 2018, All rights reserved.
_ _
\ \ / / ___ ___ _ __
\ \ / / / _ \ / _ \| '_ \
\ \/ / | __/| __/| | | |
\__/ \___| \___||_| |_|
@title Veen Token Contract.
@description Veen token is a ERC20-compliant token.
*/
contract Veen is ERC20Token, Pausable, ERC223{
using SafeMath for uint;
string public constant name = "Veen";
string public constant symbol = "VEEN";
uint8 public constant decimals = 18;
uint private _totalSupply;
mapping(address => mapping(address => uint256)) private _allowed;
event MintedLog(address to, uint256 amount);
event Transfer(address indexed from, address indexed to, uint value);
function Veen() public {
_tokenSupply = 0;
_totalSupply = 15000000000 * (uint256(10) ** decimals);
}
function totalSupply() public constant returns (uint256) {
return _tokenSupply;
}
function mint(address to, uint256 amount) onlyOwner public returns (bool){
amount = amount * (uint256(10) ** decimals);
if(_totalSupply + 1 > (_tokenSupply+amount)){
_tokenSupply = _tokenSupply.add(amount);
_balances[to]= _balances[to].add(amount);
emit MintedLog(to, amount);
return true;
}
return false;
}
function dist_list_set(address[] dist_list, uint256[] token_list) onlyOwner external{
for(uint i=0; i < dist_list.length ;i++){
transfer(dist_list[i],token_list[i]);
}
}
function balanceOf(address tokenOwner) public constant returns (uint256 balance) {
return _balances[tokenOwner];
}
function transfer(address to, uint tokens) whenNotPaused isLockAddress public returns(bool success){
bytes memory empty;
if(isContract(to)) {
return transferToContract(to, tokens, empty);
}
else {
return transferToAddress(to, tokens, empty);
}
}
function approve(address spender, uint256 tokens) public returns (bool success) {
if (tokens > 0 && balanceOf(msg.sender) >= tokens) {
_allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender, spender, tokens);
return true;
}
return false;
}
function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
return _allowed[tokenOwner][spender];
}
function transferFrom(address from, address to, uint256 tokens) public returns (bool success) {
if (tokens > 0 && balanceOf(from) >= tokens && _allowed[from][msg.sender] >= tokens) {
_balances[from] = _balances[from].sub(tokens);
_allowed[from][msg.sender] = _allowed[from][msg.sender].sub(tokens);
_balances[to] = _balances[to].add(tokens);
emit Transfer(msg.sender, to, tokens);
return true;
}
return false;
}
function burn(uint256 tokens) public returns (bool success) {
if ( tokens > 0 && balanceOf(msg.sender) >= tokens ) {
_balances[msg.sender] = _balances[msg.sender].sub(tokens);
_tokenSupply = _tokenSupply.sub(tokens);
return true;
}
return false;
}
function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) {
if (balanceOf(msg.sender) < _value) revert();
_balances[msg.sender] = balanceOf(msg.sender).sub(_value);
_balances[_to] = balanceOf(_to).add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
//function that is called when transaction target is a contract
function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) {
if (balanceOf(msg.sender) < _value) revert();
_balances[msg.sender] = balanceOf(msg.sender).sub(_value);
_balances[_to] = balanceOf(_to).add(_value);
ContractReceiver receiver = ContractReceiver(_to);
receiver.tokenFallback(msg.sender, _value, _data);
emit Transfer(msg.sender, _to, _value);
return true;
}
function isContract(address _addr) view returns (bool is_contract){
uint length;
assembly {
length := extcodesize(_addr)
}
return (length>0);
}
function () public payable {
throw;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"isContract","outputs":[{"name":"is_contract","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokens","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"lock_address","type":"address"},{"name":"period","type":"uint256"}],"name":"set_lock_list","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"check_address","type":"address"}],"name":"check_lock_period","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"check_address","type":"address"}],"name":"check_period","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startdate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"dist_list","type":"address[]"},{"name":"token_list","type":"uint256[]"}],"name":"dist_list_set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"check_address","type":"address"}],"name":"check_lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"MintedLog","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"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
60806040526004805460ff1916905534801561001a57600080fd5b5060008054600160a060020a03191633178155426001556006556b3077b58d5d37839198000000600755610ebb806100536000396000f3006080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610137578063095ea7b3146101c157806316279055146101f957806318160ddd1461021a57806323b872dd14610241578063313ce5671461026b5780633f4ba83a1461029657806340c10f19146102ad57806342966c68146102d15780635c975abb146102e957806364045c97146102fe57806370a08231146103225780638456cb59146103435780638da5cb5b1461035857806395d89b411461038957806399ce2ab81461039e578063a9059cbb146103bf578063bf5373dc146103e3578063cde9f2ea14610404578063dd62ed3e14610419578063f2fde38b14610440578063f474962414610461578063fc87bf151461048d575b600080fd5b34801561014357600080fd5b5061014c6104ae565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018657818101518382015260200161016e565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cd57600080fd5b506101e5600160a060020a03600435166024356104e5565b604080519115158252519081900360200190f35b34801561020557600080fd5b506101e5600160a060020a0360043516610573565b34801561022657600080fd5b5061022f61057b565b60408051918252519081900360200190f35b34801561024d57600080fd5b506101e5600160a060020a0360043581169060243516604435610581565b34801561027757600080fd5b506102806106e0565b6040805160ff9092168252519081900360200190f35b3480156102a257600080fd5b506102ab6106e5565b005b3480156102b957600080fd5b506101e5600160a060020a0360043516602435610742565b3480156102dd57600080fd5b506101e5600435610816565b3480156102f557600080fd5b506101e561088b565b34801561030a57600080fd5b506102ab600160a060020a0360043516602435610894565b34801561032e57600080fd5b5061022f600160a060020a0360043516610904565b34801561034f57600080fd5b506102ab61091f565b34801561036457600080fd5b5061036d61097e565b60408051600160a060020a039092168252519081900360200190f35b34801561039557600080fd5b5061014c61098d565b3480156103aa57600080fd5b506102ab600160a060020a03600435166109c4565b3480156103cb57600080fd5b506101e5600160a060020a0360043516602435610a4c565b3480156103ef57600080fd5b5061022f600160a060020a0360043516610aba565b34801561041057600080fd5b5061022f610ad5565b34801561042557600080fd5b5061022f600160a060020a0360043581169060243516610adb565b34801561044c57600080fd5b506102ab600160a060020a0360043516610b06565b34801561046d57600080fd5b506102ab6024600480358281019290820135918135918201910135610b9a565b34801561049957600080fd5b506101e5600160a060020a0360043516610c07565b60408051808201909152600481527f5665656e00000000000000000000000000000000000000000000000000000000602082015281565b600080821180156104fe5750816104fb33610904565b10155b1561056957336000818152600860209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600161056d565b5060005b92915050565b6000903b1190565b60065490565b6000808211801561059a57508161059785610904565b10155b80156105c95750600160a060020a03841660009081526008602090815260408083203384529091529020548211155b156106d557600160a060020a0384166000908152600560205260409020546105f7908363ffffffff610c2516565b600160a060020a0385166000908152600560209081526040808320939093556008815282822033835290522054610634908363ffffffff610c2516565b600160a060020a038086166000908152600860209081526040808320338452825280832094909455918616815260059091522054610678908363ffffffff610c3716565b600160a060020a0384166000818152600560209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060016106d9565b5060005b9392505050565b601281565b600054600160a060020a031633146106fc57600080fd5b60045460ff16151561070d57600080fd5b6004805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60008054600160a060020a0316331461075a57600080fd5b601260ff16600a0a82029150816006540160075460010111156105695760065461078a908363ffffffff610c3716565b600655600160a060020a0383166000908152600560205260409020546107b6908363ffffffff610c3716565b600160a060020a03841660008181526005602090815260409182902093909355805191825291810184905281517f5f98c4774888016b0aaebc40ab2028158e56c19845778ddf060f38ff0de6f4ee929181900390910190a150600161056d565b6000808211801561082f57508161082c33610904565b10155b156108825733600090815260056020526040902054610854908363ffffffff610c2516565b33600090815260056020526040902055600654610877908363ffffffff610c2516565b600655506001610886565b5060005b919050565b60045460ff1681565b600054600160a060020a031633146108ab57600080fd5b60018054600160a060020a038416600090815260026020908152604080832062015180870290940190935560038152828220805460ff191690941790935560059092529020546006546108fd91610c25565b6006555050565b600160a060020a031660009081526005602052604090205490565b600054600160a060020a0316331461093657600080fd5b60045460ff161561094657600080fd5b6004805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b60408051808201909152600481527f5645454e00000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a03811660009081526002602052604090205442118015610a035750600160a060020a03811660009081526003602052604090205460ff165b15610a4957600160a060020a0381166000908152600360209081526040808320805460ff191690556005909152902054600654610a459163ffffffff610c3716565b6006555b50565b60045460009060609060ff1615610a6257600080fd5b610a6b336109c4565b3360009081526003602052604090205460ff1615610a8857600080fd5b610a9184610573565b15610aa857610aa1848483610c46565b9150610ab3565b610aa1848483610def565b5092915050565b600160a060020a031660009081526002602052604090205490565b60015481565b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b600054600160a060020a03163314610b1d57600080fd5b600160a060020a0381161515610b3257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a03163314610bb257600080fd5b5060005b83811015610c0057610bf7858583818110610bcd57fe5b90506020020135600160a060020a03168484848181101515610beb57fe5b90506020020135610a4c565b50600101610bb6565b5050505050565b600160a060020a031660009081526003602052604090205460ff1690565b600082821115610c3157fe5b50900390565b6000828201838110156106d957fe5b60008083610c5333610904565b1015610c5e57600080fd5b610c7784610c6b33610904565b9063ffffffff610c2516565b33600090815260056020526040902055610ca084610c9487610904565b9063ffffffff610c3716565b600160a060020a03861660008181526005602090815260408083209490945592517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523360048201818152602483018a90526060604484019081528951606485015289518c9850959663c0ee0b8a9693958c958c956084909101928601918190849084905b83811015610d3e578181015183820152602001610d26565b50505050905090810190601f168015610d6b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610d8c57600080fd5b505af1158015610da0573d6000803e3d6000fd5b5050604080518781529051600160a060020a03891693503392507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3506001949350505050565b600082610dfb33610904565b1015610e0657600080fd5b610e1383610c6b33610904565b33600090815260056020526040902055610e3083610c9486610904565b600160a060020a0385166000818152600560209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600193925050505600a165627a7a72305820774ddee1f786e93a9ee8d8e42a45fd71c3b1627270af7179a64059df0d43ba5e0029
Deployed Bytecode
0x6080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610137578063095ea7b3146101c157806316279055146101f957806318160ddd1461021a57806323b872dd14610241578063313ce5671461026b5780633f4ba83a1461029657806340c10f19146102ad57806342966c68146102d15780635c975abb146102e957806364045c97146102fe57806370a08231146103225780638456cb59146103435780638da5cb5b1461035857806395d89b411461038957806399ce2ab81461039e578063a9059cbb146103bf578063bf5373dc146103e3578063cde9f2ea14610404578063dd62ed3e14610419578063f2fde38b14610440578063f474962414610461578063fc87bf151461048d575b600080fd5b34801561014357600080fd5b5061014c6104ae565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018657818101518382015260200161016e565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cd57600080fd5b506101e5600160a060020a03600435166024356104e5565b604080519115158252519081900360200190f35b34801561020557600080fd5b506101e5600160a060020a0360043516610573565b34801561022657600080fd5b5061022f61057b565b60408051918252519081900360200190f35b34801561024d57600080fd5b506101e5600160a060020a0360043581169060243516604435610581565b34801561027757600080fd5b506102806106e0565b6040805160ff9092168252519081900360200190f35b3480156102a257600080fd5b506102ab6106e5565b005b3480156102b957600080fd5b506101e5600160a060020a0360043516602435610742565b3480156102dd57600080fd5b506101e5600435610816565b3480156102f557600080fd5b506101e561088b565b34801561030a57600080fd5b506102ab600160a060020a0360043516602435610894565b34801561032e57600080fd5b5061022f600160a060020a0360043516610904565b34801561034f57600080fd5b506102ab61091f565b34801561036457600080fd5b5061036d61097e565b60408051600160a060020a039092168252519081900360200190f35b34801561039557600080fd5b5061014c61098d565b3480156103aa57600080fd5b506102ab600160a060020a03600435166109c4565b3480156103cb57600080fd5b506101e5600160a060020a0360043516602435610a4c565b3480156103ef57600080fd5b5061022f600160a060020a0360043516610aba565b34801561041057600080fd5b5061022f610ad5565b34801561042557600080fd5b5061022f600160a060020a0360043581169060243516610adb565b34801561044c57600080fd5b506102ab600160a060020a0360043516610b06565b34801561046d57600080fd5b506102ab6024600480358281019290820135918135918201910135610b9a565b34801561049957600080fd5b506101e5600160a060020a0360043516610c07565b60408051808201909152600481527f5665656e00000000000000000000000000000000000000000000000000000000602082015281565b600080821180156104fe5750816104fb33610904565b10155b1561056957336000818152600860209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600161056d565b5060005b92915050565b6000903b1190565b60065490565b6000808211801561059a57508161059785610904565b10155b80156105c95750600160a060020a03841660009081526008602090815260408083203384529091529020548211155b156106d557600160a060020a0384166000908152600560205260409020546105f7908363ffffffff610c2516565b600160a060020a0385166000908152600560209081526040808320939093556008815282822033835290522054610634908363ffffffff610c2516565b600160a060020a038086166000908152600860209081526040808320338452825280832094909455918616815260059091522054610678908363ffffffff610c3716565b600160a060020a0384166000818152600560209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060016106d9565b5060005b9392505050565b601281565b600054600160a060020a031633146106fc57600080fd5b60045460ff16151561070d57600080fd5b6004805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60008054600160a060020a0316331461075a57600080fd5b601260ff16600a0a82029150816006540160075460010111156105695760065461078a908363ffffffff610c3716565b600655600160a060020a0383166000908152600560205260409020546107b6908363ffffffff610c3716565b600160a060020a03841660008181526005602090815260409182902093909355805191825291810184905281517f5f98c4774888016b0aaebc40ab2028158e56c19845778ddf060f38ff0de6f4ee929181900390910190a150600161056d565b6000808211801561082f57508161082c33610904565b10155b156108825733600090815260056020526040902054610854908363ffffffff610c2516565b33600090815260056020526040902055600654610877908363ffffffff610c2516565b600655506001610886565b5060005b919050565b60045460ff1681565b600054600160a060020a031633146108ab57600080fd5b60018054600160a060020a038416600090815260026020908152604080832062015180870290940190935560038152828220805460ff191690941790935560059092529020546006546108fd91610c25565b6006555050565b600160a060020a031660009081526005602052604090205490565b600054600160a060020a0316331461093657600080fd5b60045460ff161561094657600080fd5b6004805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b60408051808201909152600481527f5645454e00000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a03811660009081526002602052604090205442118015610a035750600160a060020a03811660009081526003602052604090205460ff165b15610a4957600160a060020a0381166000908152600360209081526040808320805460ff191690556005909152902054600654610a459163ffffffff610c3716565b6006555b50565b60045460009060609060ff1615610a6257600080fd5b610a6b336109c4565b3360009081526003602052604090205460ff1615610a8857600080fd5b610a9184610573565b15610aa857610aa1848483610c46565b9150610ab3565b610aa1848483610def565b5092915050565b600160a060020a031660009081526002602052604090205490565b60015481565b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b600054600160a060020a03163314610b1d57600080fd5b600160a060020a0381161515610b3257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a03163314610bb257600080fd5b5060005b83811015610c0057610bf7858583818110610bcd57fe5b90506020020135600160a060020a03168484848181101515610beb57fe5b90506020020135610a4c565b50600101610bb6565b5050505050565b600160a060020a031660009081526003602052604090205460ff1690565b600082821115610c3157fe5b50900390565b6000828201838110156106d957fe5b60008083610c5333610904565b1015610c5e57600080fd5b610c7784610c6b33610904565b9063ffffffff610c2516565b33600090815260056020526040902055610ca084610c9487610904565b9063ffffffff610c3716565b600160a060020a03861660008181526005602090815260408083209490945592517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523360048201818152602483018a90526060604484019081528951606485015289518c9850959663c0ee0b8a9693958c958c956084909101928601918190849084905b83811015610d3e578181015183820152602001610d26565b50505050905090810190601f168015610d6b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610d8c57600080fd5b505af1158015610da0573d6000803e3d6000fd5b5050604080518781529051600160a060020a03891693503392507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3506001949350505050565b600082610dfb33610904565b1015610e0657600080fd5b610e1383610c6b33610904565b33600090815260056020526040902055610e3083610c9486610904565b600160a060020a0385166000818152600560209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600193925050505600a165627a7a72305820774ddee1f786e93a9ee8d8e42a45fd71c3b1627270af7179a64059df0d43ba5e0029
Swarm Source
bzzr://774ddee1f786e93a9ee8d8e42a45fd71c3b1627270af7179a64059df0d43ba5e
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)