Overview
Max Total Supply
336,893,262.402 ZXC
Holders
14,122 (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:
Zxc
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-06-26
*/
pragma solidity ^0.4.24;
// File: @0xcert/ethereum-erc20/contracts/tokens/ERC20.sol
/**
* @title A standard interface for tokens.
*/
interface ERC20 {
/**
* @dev Returns the name of the token.
*/
function name()
external
view
returns (string _name);
/**
* @dev Returns the symbol of the token.
*/
function symbol()
external
view
returns (string _symbol);
/**
* @dev Returns the number of decimals the token uses.
*/
function decimals()
external
view
returns (uint8 _decimals);
/**
* @dev Returns the total token supply.
*/
function totalSupply()
external
view
returns (uint256 _totalSupply);
/**
* @dev Returns the account balance of another account with address _owner.
* @param _owner The address from which the balance will be retrieved.
*/
function balanceOf(
address _owner
)
external
view
returns (uint256 _balance);
/**
* @dev Transfers _value amount of tokens to address _to, and MUST fire the Transfer event. The
* function SHOULD throw if the _from account balance does not have enough tokens to spend.
* @param _to The address of the recipient.
* @param _value The amount of token to be transferred.
*/
function transfer(
address _to,
uint256 _value
)
external
returns (bool _success);
/**
* @dev Transfers _value amount of tokens from address _from to address _to, and MUST fire the
* Transfer event.
* @param _from The address of the sender.
* @param _to The address of the recipient.
* @param _value The amount of token to be transferred.
*/
function transferFrom(
address _from,
address _to,
uint256 _value
)
external
returns (bool _success);
/**
* @dev Allows _spender to withdraw from your account multiple times, up to
* the _value amount. If this function is called again it overwrites the current
* allowance with _value.
* @param _spender The address of the account able to transfer the tokens.
* @param _value The amount of tokens to be approved for transfer.
*/
function approve(
address _spender,
uint256 _value
)
external
returns (bool _success);
/**
* @dev Returns the amount which _spender is still allowed to withdraw from _owner.
* @param _owner The address of the account owning tokens.
* @param _spender The address of the account able to transfer the tokens.
*/
function allowance(
address _owner,
address _spender
)
external
view
returns (uint256 _remaining);
/**
* @dev Triggers when tokens are transferred, including zero value transfers.
*/
event Transfer(
address indexed _from,
address indexed _to,
uint256 _value
);
/**
* @dev Triggers on any successful call to approve(address _spender, uint256 _value).
*/
event Approval(
address indexed _owner,
address indexed _spender,
uint256 _value
);
}
// File: @0xcert/ethereum-utils/contracts/math/SafeMath.sol
/**
* @dev Math operations with safety checks that throw on error. This contract is based
* on the source code at https://goo.gl/iyQsmU.
*/
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
* @param _a Factor number.
* @param _b Factor number.
*/
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.
* @param _a Dividend number.
* @param _b Divisor number.
*/
function div(
uint256 _a,
uint256 _b
)
internal
pure
returns (uint256)
{
uint256 c = _a / _b;
// assert(b > 0); // Solidity automatically throws when dividing by 0
// 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).
* @param _a Minuend number.
* @param _b Subtrahend number.
*/
function sub(
uint256 _a,
uint256 _b
)
internal
pure
returns (uint256)
{
assert(_b <= _a);
return _a - _b;
}
/**
* @dev Adds two numbers, throws on overflow.
* @param _a Number.
* @param _b Number.
*/
function add(
uint256 _a,
uint256 _b
)
internal
pure
returns (uint256)
{
uint256 c = _a + _b;
assert(c >= _a);
return c;
}
}
// File: @0xcert/ethereum-erc20/contracts/tokens/Token.sol
/**
* @title ERC20 standard token implementation.
* @dev Standard ERC20 token. This contract follows the implementation at https://goo.gl/mLbAPJ.
*/
contract Token is
ERC20
{
using SafeMath for uint256;
/**
* Token name.
*/
string internal tokenName;
/**
* Token symbol.
*/
string internal tokenSymbol;
/**
* Number of decimals.
*/
uint8 internal tokenDecimals;
/**
* Total supply of tokens.
*/
uint256 internal tokenTotalSupply;
/**
* Balance information map.
*/
mapping (address => uint256) internal balances;
/**
* Token allowance mapping.
*/
mapping (address => mapping (address => uint256)) internal allowed;
/**
* @dev Trigger when tokens are transferred, including zero value transfers.
*/
event Transfer(
address indexed _from,
address indexed _to,
uint256 _value
);
/**
* @dev Trigger on any successful call to approve(address _spender, uint256 _value).
*/
event Approval(
address indexed _owner,
address indexed _spender,
uint256 _value
);
/**
* @dev Returns the name of the token.
*/
function name()
external
view
returns (string _name)
{
_name = tokenName;
}
/**
* @dev Returns the symbol of the token.
*/
function symbol()
external
view
returns (string _symbol)
{
_symbol = tokenSymbol;
}
/**
* @dev Returns the number of decimals the token uses.
*/
function decimals()
external
view
returns (uint8 _decimals)
{
_decimals = tokenDecimals;
}
/**
* @dev Returns the total token supply.
*/
function totalSupply()
external
view
returns (uint256 _totalSupply)
{
_totalSupply = tokenTotalSupply;
}
/**
* @dev Returns the account balance of another account with address _owner.
* @param _owner The address from which the balance will be retrieved.
*/
function balanceOf(
address _owner
)
external
view
returns (uint256 _balance)
{
_balance = balances[_owner];
}
/**
* @dev Transfers _value amount of tokens to address _to, and MUST fire the Transfer event. The
* function SHOULD throw if the _from account balance does not have enough tokens to spend.
* @param _to The address of the recipient.
* @param _value The amount of token to be transferred.
*/
function transfer(
address _to,
uint256 _value
)
public
returns (bool _success)
{
require(_value <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
_success = true;
}
/**
* @dev Allows _spender to withdraw from your account multiple times, up to the _value amount. If
* this function is called again it overwrites the current allowance with _value.
* @param _spender The address of the account able to transfer the tokens.
* @param _value The amount of tokens to be approved for transfer.
*/
function approve(
address _spender,
uint256 _value
)
public
returns (bool _success)
{
require((_value == 0) || (allowed[msg.sender][_spender] == 0));
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
_success = true;
}
/**
* @dev Returns the amount which _spender is still allowed to withdraw from _owner.
* @param _owner The address of the account owning tokens.
* @param _spender The address of the account able to transfer the tokens.
*/
function allowance(
address _owner,
address _spender
)
external
view
returns (uint256 _remaining)
{
_remaining = allowed[_owner][_spender];
}
/**
* @dev Transfers _value amount of tokens from address _from to address _to, and MUST fire the
* Transfer event.
* @param _from The address of the sender.
* @param _to The address of the recipient.
* @param _value The amount of token to be transferred.
*/
function transferFrom(
address _from,
address _to,
uint256 _value
)
public
returns (bool _success)
{
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
emit Transfer(_from, _to, _value);
_success = true;
}
}
// File: @0xcert/ethereum-utils/contracts/ownership/Ownable.sol
/**
* @dev The contract has an owner address, and provides basic authorization control whitch
* simplifies the implementation of user permissions. This contract is based on the source code
* at https://goo.gl/n2ZGVt.
*/
contract Ownable {
address public owner;
/**
* @dev An event which is triggered when the owner is changed.
* @param previousOwner The address of the previous owner.
* @param newOwner The address of the new owner.
*/
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev The constructor sets the original `owner` of the contract to the sender account.
*/
constructor()
public
{
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param _newOwner The address to transfer ownership to.
*/
function transferOwnership(
address _newOwner
)
onlyOwner
public
{
require(_newOwner != address(0));
emit OwnershipTransferred(owner, _newOwner);
owner = _newOwner;
}
}
// File: @0xcert/ethereum-utils/contracts/ownership/Claimable.sol
/**
* @dev The contract has an owner address, and provides basic authorization control whitch
* simplifies the implementation of user permissions. This contract is based on the source code
* at goo.gl/CfEAkv and upgrades Ownable contracts with additional claim step which makes ownership
* transfers less prone to errors.
*/
contract Claimable is Ownable {
address public pendingOwner;
/**
* @dev An event which is triggered when the owner is changed.
* @param previousOwner The address of the previous owner.
* @param newOwner The address of the new owner.
*/
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev Allows the current owner to give new owner ability to claim the ownership of the contract.
* This differs from the Owner's function in that it allows setting pedingOwner address to 0x0,
* which effectively cancels an active claim.
* @param _newOwner The address which can claim ownership of the contract.
*/
function transferOwnership(
address _newOwner
)
onlyOwner
public
{
pendingOwner = _newOwner;
}
/**
* @dev Allows the current pending owner to claim the ownership of the contract. It emits
* OwnershipTransferred event and resets pending owner to 0.
*/
function claimOwnership()
public
{
require(msg.sender == pendingOwner);
address previousOwner = owner;
owner = pendingOwner;
pendingOwner = 0;
emit OwnershipTransferred(previousOwner, owner);
}
}
// File: contracts/tokens/Zxc.sol
/*
* @title ZXC protocol token.
* @dev Standard ERC20 token used by the 0xcert protocol. This contract follows the implementation
* at https://goo.gl/twbPwp.
*/
contract Zxc is
Token,
Claimable
{
using SafeMath for uint256;
/**
* Transfer feature state.
*/
bool internal transferEnabled;
/**
* Crowdsale smart contract address.
*/
address public crowdsaleAddress;
/**
* @dev An event which is triggered when tokens are burned.
* @param _burner The address which burns tokens.
* @param _value The amount of burned tokens.
*/
event Burn(
address indexed _burner,
uint256 _value
);
/**
* @dev Assures that the provided address is a valid destination to transfer tokens to.
* @param _to Target address.
*/
modifier validDestination(
address _to
)
{
require(_to != address(0x0));
require(_to != address(this));
require(_to != address(crowdsaleAddress));
_;
}
/**
* @dev Assures that tokens can be transfered.
*/
modifier onlyWhenTransferAllowed()
{
require(transferEnabled || msg.sender == crowdsaleAddress);
_;
}
/**
* @dev Contract constructor.
*/
constructor()
public
{
tokenName = "0xcert Protocol Token";
tokenSymbol = "ZXC";
tokenDecimals = 18;
tokenTotalSupply = 500000000000000000000000000;
transferEnabled = false;
balances[owner] = tokenTotalSupply;
emit Transfer(address(0x0), owner, tokenTotalSupply);
}
/**
* @dev Transfers token to a specified address.
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
*/
function transfer(
address _to,
uint256 _value
)
onlyWhenTransferAllowed()
validDestination(_to)
public
returns (bool _success)
{
_success = super.transfer(_to, _value);
}
/**
* @dev Transfers tokens from one address to another.
* @param _from address The address which you want to send tokens from.
* @param _to address The address which you want to transfer to.
* @param _value uint256 The amount of tokens to be transferred.
*/
function transferFrom(
address _from,
address _to,
uint256 _value
)
onlyWhenTransferAllowed()
validDestination(_to)
public
returns (bool _success)
{
_success = super.transferFrom(_from, _to, _value);
}
/**
* @dev Enables token transfers.
*/
function enableTransfer()
onlyOwner()
external
{
transferEnabled = true;
}
/**
* @dev Burns a specific amount of tokens. This function is based on BurnableToken implementation
* at goo.gl/GZEhaq.
* @notice Only owner is allowed to perform this operation.
* @param _value The amount of tokens to be burned.
*/
function burn(
uint256 _value
)
onlyOwner()
external
{
require(_value <= balances[msg.sender]);
balances[owner] = balances[owner].sub(_value);
tokenTotalSupply = tokenTotalSupply.sub(_value);
emit Burn(owner, _value);
emit Transfer(owner, address(0x0), _value);
}
/**
* @dev Set crowdsale address which can distribute tokens even when onlyWhenTransferAllowed is
* false.
* @param crowdsaleAddr Address of token offering contract.
*/
function setCrowdsaleAddress(
address crowdsaleAddr
)
external
onlyOwner()
{
crowdsaleAddress = crowdsaleAddr;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"_success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"crowdsaleAddr","type":"address"}],"name":"setCrowdsaleAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"_success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"_success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"_remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"enableTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_burner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","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":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
608060405234801561001057600080fd5b5060068054600160a060020a031916331790556040805180820190915260158082527f3078636572742050726f746f636f6c20546f6b656e000000000000000000000060209092019182526100679160009161013f565b506040805180820190915260038082527f5a5843000000000000000000000000000000000000000000000000000000000060209092019182526100ac9160019161013f565b506002805460ff191660121790556b019d971e4fe8401e7400000060038190556007805460a060020a60ff021916905560068054600160a060020a039081166000908152600460209081526040808320869055935484519586529351939092169390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a36101da565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018057805160ff19168380011785556101ad565b828001600101855582156101ad579182015b828111156101ad578251825591602001919060010190610192565b506101b99291506101bd565b5090565b6101d791905b808211156101b957600081556001016101c3565b90565b610be1806101e96000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f5578063095ea7b31461017f57806318160ddd146101b75780631f35bc40146101de57806323b872dd14610201578063313ce5671461022b57806331d2f8911461025657806342966c68146102875780634e71e0c81461029f57806370a08231146102b45780638da5cb5b146102d557806395d89b41146102ea578063a9059cbb146102ff578063dd62ed3e14610323578063e30c39781461034a578063f1b50c1d1461035f578063f2fde38b14610374575b600080fd5b34801561010157600080fd5b5061010a610395565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014457818101518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018b57600080fd5b506101a3600160a060020a036004351660243561042b565b604080519115158252519081900360200190f35b3480156101c357600080fd5b506101cc6104cd565b60408051918252519081900360200190f35b3480156101ea57600080fd5b506101ff600160a060020a03600435166104d3565b005b34801561020d57600080fd5b506101a3600160a060020a0360043581169060243516604435610519565b34801561023757600080fd5b506102406105b5565b6040805160ff9092168252519081900360200190f35b34801561026257600080fd5b5061026b6105be565b60408051600160a060020a039092168252519081900360200190f35b34801561029357600080fd5b506101ff6004356105cd565b3480156102ab57600080fd5b506101ff6106e5565b3480156102c057600080fd5b506101cc600160a060020a036004351661076d565b3480156102e157600080fd5b5061026b610788565b3480156102f657600080fd5b5061010a610797565b34801561030b57600080fd5b506101a3600160a060020a03600435166024356107f7565b34801561032f57600080fd5b506101cc600160a060020a0360043581169060243516610891565b34801561035657600080fd5b5061026b6108bc565b34801561036b57600080fd5b506101ff6108cb565b34801561038057600080fd5b506101ff600160a060020a0360043516610919565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104215780601f106103f657610100808354040283529160200191610421565b820191906000526020600020905b81548152906001019060200180831161040457829003601f168201915b5050505050905090565b600081158061045b5750336000908152600560209081526040808320600160a060020a0387168452909152902054155b151561046657600080fd5b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60035490565b600654600160a060020a031633146104ea57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075460009074010000000000000000000000000000000000000000900460ff168061054f5750600854600160a060020a031633145b151561055a57600080fd5b82600160a060020a038116151561057057600080fd5b600160a060020a03811630141561058657600080fd5b600854600160a060020a03828116911614156105a157600080fd5b6105ac85858561095f565b95945050505050565b60025460ff1690565b600854600160a060020a031681565b600654600160a060020a031633146105e457600080fd5b3360009081526004602052604090205481111561060057600080fd5b600654600160a060020a031660009081526004602052604090205461062b908263ffffffff610ac116565b600654600160a060020a0316600090815260046020526040902055600354610659908263ffffffff610ac116565b600355600654604080518381529051600160a060020a03909216917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a2600654604080518381529051600092600160a060020a0316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a350565b600754600090600160a060020a031633146106ff57600080fd5b50600680546007805473ffffffffffffffffffffffffffffffffffffffff19808416600160a060020a038381169190911795869055911690915560405191811692169082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a031681565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104215780601f106103f657610100808354040283529160200191610421565b60075460009074010000000000000000000000000000000000000000900460ff168061082d5750600854600160a060020a031633145b151561083857600080fd5b82600160a060020a038116151561084e57600080fd5b600160a060020a03811630141561086457600080fd5b600854600160a060020a038281169116141561087f57600080fd5b6108898484610ad3565b949350505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600754600160a060020a031681565b600654600160a060020a031633146108e257600080fd5b6007805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600654600160a060020a0316331461093057600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03831660009081526004602052604081205482111561098457600080fd5b600160a060020a03841660009081526005602090815260408083203384529091529020548211156109b457600080fd5b600160a060020a0384166000908152600460205260409020546109dd908363ffffffff610ac116565b600160a060020a038086166000908152600460205260408082209390935590851681522054610a12908363ffffffff610b9f16565b600160a060020a038085166000908152600460209081526040808320949094559187168152600582528281203382529091522054610a56908363ffffffff610ac116565b600160a060020a03808616600081815260056020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600082821115610acd57fe5b50900390565b33600090815260046020526040812054821115610aef57600080fd5b33600090815260046020526040902054610b0f908363ffffffff610ac116565b3360009081526004602052604080822092909255600160a060020a03851681522054610b41908363ffffffff610b9f16565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600082820183811015610bae57fe5b93925050505600a165627a7a7230582036d05124dd6101a74018a2c04541adcf48d7b1bbfb9d7da91a9a7934b59ad7d80029
Deployed Bytecode
0x6080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f5578063095ea7b31461017f57806318160ddd146101b75780631f35bc40146101de57806323b872dd14610201578063313ce5671461022b57806331d2f8911461025657806342966c68146102875780634e71e0c81461029f57806370a08231146102b45780638da5cb5b146102d557806395d89b41146102ea578063a9059cbb146102ff578063dd62ed3e14610323578063e30c39781461034a578063f1b50c1d1461035f578063f2fde38b14610374575b600080fd5b34801561010157600080fd5b5061010a610395565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014457818101518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018b57600080fd5b506101a3600160a060020a036004351660243561042b565b604080519115158252519081900360200190f35b3480156101c357600080fd5b506101cc6104cd565b60408051918252519081900360200190f35b3480156101ea57600080fd5b506101ff600160a060020a03600435166104d3565b005b34801561020d57600080fd5b506101a3600160a060020a0360043581169060243516604435610519565b34801561023757600080fd5b506102406105b5565b6040805160ff9092168252519081900360200190f35b34801561026257600080fd5b5061026b6105be565b60408051600160a060020a039092168252519081900360200190f35b34801561029357600080fd5b506101ff6004356105cd565b3480156102ab57600080fd5b506101ff6106e5565b3480156102c057600080fd5b506101cc600160a060020a036004351661076d565b3480156102e157600080fd5b5061026b610788565b3480156102f657600080fd5b5061010a610797565b34801561030b57600080fd5b506101a3600160a060020a03600435166024356107f7565b34801561032f57600080fd5b506101cc600160a060020a0360043581169060243516610891565b34801561035657600080fd5b5061026b6108bc565b34801561036b57600080fd5b506101ff6108cb565b34801561038057600080fd5b506101ff600160a060020a0360043516610919565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104215780601f106103f657610100808354040283529160200191610421565b820191906000526020600020905b81548152906001019060200180831161040457829003601f168201915b5050505050905090565b600081158061045b5750336000908152600560209081526040808320600160a060020a0387168452909152902054155b151561046657600080fd5b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60035490565b600654600160a060020a031633146104ea57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075460009074010000000000000000000000000000000000000000900460ff168061054f5750600854600160a060020a031633145b151561055a57600080fd5b82600160a060020a038116151561057057600080fd5b600160a060020a03811630141561058657600080fd5b600854600160a060020a03828116911614156105a157600080fd5b6105ac85858561095f565b95945050505050565b60025460ff1690565b600854600160a060020a031681565b600654600160a060020a031633146105e457600080fd5b3360009081526004602052604090205481111561060057600080fd5b600654600160a060020a031660009081526004602052604090205461062b908263ffffffff610ac116565b600654600160a060020a0316600090815260046020526040902055600354610659908263ffffffff610ac116565b600355600654604080518381529051600160a060020a03909216917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a2600654604080518381529051600092600160a060020a0316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a350565b600754600090600160a060020a031633146106ff57600080fd5b50600680546007805473ffffffffffffffffffffffffffffffffffffffff19808416600160a060020a038381169190911795869055911690915560405191811692169082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a031681565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104215780601f106103f657610100808354040283529160200191610421565b60075460009074010000000000000000000000000000000000000000900460ff168061082d5750600854600160a060020a031633145b151561083857600080fd5b82600160a060020a038116151561084e57600080fd5b600160a060020a03811630141561086457600080fd5b600854600160a060020a038281169116141561087f57600080fd5b6108898484610ad3565b949350505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600754600160a060020a031681565b600654600160a060020a031633146108e257600080fd5b6007805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600654600160a060020a0316331461093057600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03831660009081526004602052604081205482111561098457600080fd5b600160a060020a03841660009081526005602090815260408083203384529091529020548211156109b457600080fd5b600160a060020a0384166000908152600460205260409020546109dd908363ffffffff610ac116565b600160a060020a038086166000908152600460205260408082209390935590851681522054610a12908363ffffffff610b9f16565b600160a060020a038085166000908152600460209081526040808320949094559187168152600582528281203382529091522054610a56908363ffffffff610ac116565b600160a060020a03808616600081815260056020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600082821115610acd57fe5b50900390565b33600090815260046020526040812054821115610aef57600080fd5b33600090815260046020526040902054610b0f908363ffffffff610ac116565b3360009081526004602052604080822092909255600160a060020a03851681522054610b41908363ffffffff610b9f16565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600082820183811015610bae57fe5b93925050505600a165627a7a7230582036d05124dd6101a74018a2c04541adcf48d7b1bbfb9d7da91a9a7934b59ad7d80029
Swarm Source
bzzr://36d05124dd6101a74018a2c04541adcf48d7b1bbfb9d7da91a9a7934b59ad7d8
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)