ERC-20
Source Code
Overview
Max Total Supply
100,000,000 EST
Holders
587
Transfers
-
0
Market
Onchain Market Cap
-
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:
EdgeICO
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 0 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-11-29
*/
pragma solidity ^0.4.18;
/**
* Math operations with safety checks
*/
contract SafeMath {
function safeMul(uint a, uint b) internal pure returns (uint) {
uint c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function safeDiv(uint a, uint b) internal pure returns (uint) {
assert(b > 0);
uint c = a / b;
assert(a == b * c + a % b);
return c;
}
function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
function max64(uint64 a, uint64 b) internal pure returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal pure returns (uint64)
{
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal pure returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal pure returns (uint256) {
return a < b ? a : b;
}
}
/**
* Date and Time utilities for ethereum contracts
*/
contract DateTime {
struct _DateTime {
uint16 year;
uint8 month;
uint8 day;
uint8 hour;
uint8 minute;
uint8 second;
uint8 weekday;
}
uint constant DAY_IN_SECONDS = 86400;
uint constant YEAR_IN_SECONDS = 31536000;
uint constant LEAP_YEAR_IN_SECONDS = 31622400;
uint constant HOUR_IN_SECONDS = 3600;
uint constant MINUTE_IN_SECONDS = 60;
uint16 constant ORIGIN_YEAR = 1970;
function isLeapYear(uint16 year) internal pure returns (bool) {
if (year % 4 != 0) {
return false;
}
if (year % 100 != 0) {
return true;
}
if (year % 400 != 0) {
return false;
}
return true;
}
function leapYearsBefore(uint year) internal pure returns (uint) {
year -= 1;
return year / 4 - year / 100 + year / 400;
}
function getDaysInMonth(uint8 month, uint16 year) internal pure returns (uint8) {
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
return 31;
}
else if (month == 4 || month == 6 || month == 9 || month == 11) {
return 30;
}
else if (isLeapYear(year)) {
return 29;
}
else {
return 28;
}
}
function parseTimestamp(uint timestamp) internal pure returns (_DateTime dt) {
uint secondsAccountedFor = 0;
uint buf;
uint8 i;
// Year
dt.year = getYear(timestamp);
buf = leapYearsBefore(dt.year) - leapYearsBefore(ORIGIN_YEAR);
secondsAccountedFor += LEAP_YEAR_IN_SECONDS * buf;
secondsAccountedFor += YEAR_IN_SECONDS * (dt.year - ORIGIN_YEAR - buf);
// Month
uint secondsInMonth;
for (i = 1; i <= 12; i++) {
secondsInMonth = DAY_IN_SECONDS * getDaysInMonth(i, dt.year);
if (secondsInMonth + secondsAccountedFor > timestamp) {
dt.month = i;
break;
}
secondsAccountedFor += secondsInMonth;
}
// Day
for (i = 1; i <= getDaysInMonth(dt.month, dt.year); i++) {
if (DAY_IN_SECONDS + secondsAccountedFor > timestamp) {
dt.day = i;
break;
}
secondsAccountedFor += DAY_IN_SECONDS;
}
// Hour
dt.hour = getHour(timestamp);
// Minute
dt.minute = getMinute(timestamp);
// Second
dt.second = getSecond(timestamp);
// Day of week.
dt.weekday = getWeekday(timestamp);
}
function getYear(uint timestamp) internal pure returns (uint16) {
uint secondsAccountedFor = 0;
uint16 year;
uint numLeapYears;
// Year
year = uint16(ORIGIN_YEAR + timestamp / YEAR_IN_SECONDS);
numLeapYears = leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR);
secondsAccountedFor += LEAP_YEAR_IN_SECONDS * numLeapYears;
secondsAccountedFor += YEAR_IN_SECONDS * (year - ORIGIN_YEAR - numLeapYears);
while (secondsAccountedFor > timestamp) {
if (isLeapYear(uint16(year - 1))) {
secondsAccountedFor -= LEAP_YEAR_IN_SECONDS;
}
else {
secondsAccountedFor -= YEAR_IN_SECONDS;
}
year -= 1;
}
return year;
}
function getMonth(uint timestamp) internal pure returns (uint8) {
return parseTimestamp(timestamp).month;
}
function getDay(uint timestamp) internal pure returns (uint8) {
return parseTimestamp(timestamp).day;
}
function getHour(uint timestamp) internal pure returns (uint8) {
return uint8((timestamp / 60 / 60) % 24);
}
function getMinute(uint timestamp) internal pure returns (uint8) {
return uint8((timestamp / 60) % 60);
}
function getSecond(uint timestamp) internal pure returns (uint8) {
return uint8(timestamp % 60);
}
function getWeekday(uint timestamp) internal pure returns (uint8) {
return uint8((timestamp / DAY_IN_SECONDS + 4) % 7);
}
function toTimestamp(uint16 year, uint8 month, uint8 day) internal pure returns (uint timestamp) {
return toTimestamp(year, month, day, 0, 0, 0);
}
function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour) internal pure returns (uint timestamp) {
return toTimestamp(year, month, day, hour, 0, 0);
}
function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute) internal pure returns (uint timestamp) {
return toTimestamp(year, month, day, hour, minute, 0);
}
function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute, uint8 second) internal pure returns (uint timestamp) {
uint16 i;
// Year
for (i = ORIGIN_YEAR; i < year; i++) {
if (isLeapYear(i)) {
timestamp += LEAP_YEAR_IN_SECONDS;
}
else {
timestamp += YEAR_IN_SECONDS;
}
}
// Month
uint8[12] memory monthDayCounts;
monthDayCounts[0] = 31;
if (isLeapYear(year)) {
monthDayCounts[1] = 29;
}
else {
monthDayCounts[1] = 28;
}
monthDayCounts[2] = 31;
monthDayCounts[3] = 30;
monthDayCounts[4] = 31;
monthDayCounts[5] = 30;
monthDayCounts[6] = 31;
monthDayCounts[7] = 31;
monthDayCounts[8] = 30;
monthDayCounts[9] = 31;
monthDayCounts[10] = 30;
monthDayCounts[11] = 31;
for (i = 1; i < month; i++) {
timestamp += DAY_IN_SECONDS * monthDayCounts[i - 1];
}
// Day
timestamp += DAY_IN_SECONDS * (day - 1);
// Hour
timestamp += HOUR_IN_SECONDS * (hour);
// Minute
timestamp += MINUTE_IN_SECONDS * (minute);
// Second
timestamp += second;
return timestamp;
}
}
contract ERC20 {
function totalSupply() public constant returns (uint256);
function balanceOf(address _owner) public constant returns (uint);
function transfer(address _to, uint _value) public returns (bool);
function transferFrom(address _from, address _to, uint _value) public returns (bool);
function approve(address _spender, uint _value) public returns (bool);
function allowance(address _owner, address _spender) public constant returns (uint);
event Transfer(address indexed _from, address indexed _to, uint _value);
event Approval(address indexed _owner, address indexed _spender, uint _value);
}
contract EdgeSmartToken is ERC20, SafeMath, DateTime {
uint256 public constant _decimals = 18;
uint256 public constant _totalSupply = (100000000 * 10**_decimals);
string public constant symbol = 'EST';
string public constant name = 'Edge Smart Token';
mapping(address => uint256) public balances;
mapping(address => mapping(address => uint256)) approved;
address EdgeSmartTokenOwner;
modifier onlyOwner() {
require(msg.sender == EdgeSmartTokenOwner);
_;
}
function EdgeSmartToken() public {
EdgeSmartTokenOwner = msg.sender;
balances[EdgeSmartTokenOwner] = _totalSupply;
}
/**
* @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) public onlyOwner {
require(newOwner != EdgeSmartTokenOwner);
EdgeSmartTokenOwner = newOwner;
}
function decimals() public constant returns (uint256) {
return _decimals;
}
function totalSupply() public constant returns (uint256) {
return _totalSupply;
}
function balanceOf(address _owner) public constant returns (uint256) {
return balances[_owner];
}
/**
* @dev Transfer self tokens to given address
* @param _to destination address
* @param _value amount of token values to send
* @notice `_value` tokens will be sended to `_to`
* @return `true` when transfer done
*/
function transfer(address _to, uint256 _value) public returns (bool) {
require(
balances[msg.sender] >= _value && _value > 0
);
balances[msg.sender] = safeSub(balances[msg.sender], _value);
balances[_to] = safeAdd(balances[_to], _value);
Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Transfer with approvement mechainsm
* @param _from source address, `_value` tokens shold be approved for `sender`
* @param _to destination address
* @param _value amount of token values to send
* @notice from `_from` will be sended `_value` tokens to `_to`
* @return `true` when transfer is done
*/
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
require(
approved[_from][msg.sender] >= _value && balances[_from] >= _value && _value > 0
);
balances[_from] = safeSub(balances[_from], _value);
balances[_to] = safeAdd(balances[_to], _value);
approved[_from][msg.sender] = safeSub(approved[_from][msg.sender], _value);
Transfer(_from, _to, _value);
return true;
}
/**
* @dev Give to target address ability for self token manipulation without sending
* @param _spender target address (future requester)
* @param _value amount of token values for approving
*/
function approve(address _spender, uint256 _value) public returns (bool) {
approved[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
/**
* @dev Reset count of tokens approved for given address
* @param _spender target address (future requester)
*/
function unapprove(address _spender) public {
approved[msg.sender][_spender] = 0;
}
/**
* @dev Take allowed tokens
* @param _owner The address of the account owning tokens
* @param _spender The address of the account able to transfer the tokens
* @return Amount of remaining tokens allowed to spent
*/
function allowance(address _owner, address _spender) public constant returns (uint256) {
return approved[_owner][_spender];
}
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract EdgeICO is SafeMath, DateTime, EdgeSmartToken {
address owner;
uint totalCollected = 0;
uint preSaleCollected = 0;
uint ICOCollected = 0;
uint256 public totalTokensCap = (50000000 * 10**_decimals); //50% of total supply
uint public preSaleTokensLimit = (10000000 * 10**_decimals); //10% of total supply
uint256 public icoSaleSoftCap = (5000000 * 10**_decimals); //5mio EST or 1000 ETH
uint public icoSaleHardCap = (25000000 * 10**_decimals);//25mio EST or 5000 ETH
uint256 private preSaleTokenPrice = (10000 * 10**_decimals); //10k
uint256 private ICOTokenPrice = (5000 * 10**_decimals); //5k
bool preSaleActive = false;
bool ICOActive = false;
uint pre_ICO_end_date = toTimestamp(2017, 12, 6, 20, 0);
uint ICO_end_date = toTimestamp(2018, 1, 1, 20, 0);
//since ICO date and period are not defined precisely, lets put hard end date
uint ICO_hardcoded_expiry_date = toTimestamp(2019, 1, 1, 20, 0);
uint256 private tokensToBuy;
address ICOEdgeWallet = 0xb3AF93036f8949E8A8Ba8D783bF0A63914a63859;
//constructor
function EdgeICO() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
function getTotalTokensSold() public constant returns (uint) {
return totalCollected;
}
function getPreSaleTokensSold() public constant returns (uint) {
return preSaleCollected;
}
function getIcoTokensSold() public constant returns (uint) {
return ICOCollected;
}
function setPreSaleStatus(bool status) onlyOwner public {
preSaleActive = status;
}
function setICOStatus(bool status) onlyOwner public {
ICOActive = status;
}
function setIcoEndDate(uint endDate) onlyOwner public {
ICO_end_date = endDate;
}
function () public payable {
createTokens(msg.sender);
}
function createTokens(address recipient) public payable {
require(now < ICO_hardcoded_expiry_date);
if (preSaleActive && (now < pre_ICO_end_date)) {
require(msg.value >= 1 * (1 ether)); //minimum 1 ETH
tokensToBuy = safeDiv(safeMul(msg.value * 1 ether, preSaleTokenPrice), 1000000000000000000 ether);
require (preSaleCollected + tokensToBuy <= preSaleTokensLimit); //within preSale sell only 10mio
require (totalCollected + tokensToBuy <= totalTokensCap); //max sell 50mio
preSaleCollected = safeAdd(preSaleCollected, tokensToBuy);
totalCollected = safeAdd(totalCollected, tokensToBuy);
balances[recipient] = safeAdd(balances[recipient], tokensToBuy);
balances[owner] = safeSub(balances[owner], tokensToBuy);
Transfer(owner, recipient, tokensToBuy);
// send and transfer are considered to be a safe way to move funds as they have a gas stipend of 2300
ICOEdgeWallet.transfer(msg.value);
}
else
if (ICOActive && (now < ICO_end_date)) {
require(msg.value >= 0.1 * (1 ether)); //minimum 0.1 ETH
tokensToBuy = safeDiv(safeMul(msg.value * 1 ether, ICOTokenPrice), 1000000000000000000 ether);
require (totalCollected + tokensToBuy <= totalTokensCap); //max sell 50mio, 40mio + rest from preSale
ICOCollected = safeAdd(ICOCollected, tokensToBuy);
totalCollected = safeAdd(totalCollected, tokensToBuy);
balances[recipient] = safeAdd(balances[recipient], tokensToBuy);
balances[owner] = safeSub(balances[owner], tokensToBuy);
Transfer(owner, recipient, tokensToBuy);
//Both send and transfer are considered to be a safe way to move funds as they have a gas stipend of 2300
ICOEdgeWallet.transfer(msg.value);
}
else {
//preSale and ICO finished
throw;
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"preSaleTokensLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoSaleHardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPreSaleTokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"status","type":"bool"}],"name":"setPreSaleStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"endDate","type":"uint256"}],"name":"setIcoEndDate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTotalTokensSold","outputs":[{"name":"","type":"uint256"}],"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":"status","type":"bool"}],"name":"setICOStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoSaleSoftCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getIcoTokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"}],"name":"createTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalTokensCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","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":"_spender","type":"address"}],"name":"unapprove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
60606040526000600455600060055560006006556012600a0a6302faf080026007556012600a0a62989680026008556012600a0a624c4b40026009556012600a0a63017d784002600a556012600a0a61271002600b556012600a0a61138802600c556000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff021916908315150217905550620000c06107e1600c600660146000620002716401000000000262001911176401000000009004565b600e55620000eb6107e260018060146000620002716401000000000262001911176401000000009004565b600f55620001166107e360018060146000620002716401000000000262001911176401000000009004565b60105573b3af93036f8949e8a8ba8d783bf0a63914a63859601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034156200017a57600080fd5b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a0a6305f5e10002600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000645565b60006200029886868686866000620002a3640100000000026200192d176401000000009004565b905095945050505050565b600080620002b062000618565b6107b291505b8861ffff168261ffff1610156200031357620002e6826200058e6401000000000262001bd4176401000000009004565b15620002fb576301e285008301925062000305565b6301e13380830192505b8180600101925050620002b6565b601f816000600c811015156200032557fe5b602002019060ff16908160ff168152505062000355896200058e6401000000000262001bd4176401000000009004565b156200038457601d816001600c811015156200036d57fe5b602002019060ff16908160ff1681525050620003a8565b601c816001600c811015156200039657fe5b602002019060ff16908160ff16815250505b601f816002600c81101515620003ba57fe5b602002019060ff16908160ff1681525050601e816003600c81101515620003dd57fe5b602002019060ff16908160ff1681525050601f816004600c811015156200040057fe5b602002019060ff16908160ff1681525050601e816005600c811015156200042357fe5b602002019060ff16908160ff1681525050601f816006600c811015156200044657fe5b602002019060ff16908160ff1681525050601f816007600c811015156200046957fe5b602002019060ff16908160ff1681525050601e816008600c811015156200048c57fe5b602002019060ff16908160ff1681525050601f816009600c81101515620004af57fe5b602002019060ff16908160ff1681525050601e81600a600c81101515620004d257fe5b602002019060ff16908160ff1681525050601f81600b600c81101515620004f557fe5b602002019060ff16908160ff1681525050600191505b8760ff168261ffff1610156200055057806001830361ffff16600c811015156200053157fe5b602002015160ff1662015180028301925081806001019250506200050b565b6001870360ff166201518002830192508560ff16610e1002830192508460ff16603c02830192508360ff168301925082925050509695505050505050565b60008060048361ffff16811515620005a257fe5b0661ffff16141515620005b9576000905062000613565b600060648361ffff16811515620005cc57fe5b0661ffff16141515620005e3576001905062000613565b60006101908361ffff16811515620005f757fe5b0661ffff161415156200060e576000905062000613565b600190505b919050565b61018060405190810160405280600c905b600060ff16815260200190600190039081620006295790505090565b611cad80620006556000396000f300606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806241edee1461015357806306fdde031461017c578063083eb6f81461020a578063095ea7b31461023357806318160ddd1461028d57806323b872dd146102b657806327e235e31461032f578063313ce5671461037c57806332424aa3146103a55780633eaaf86b146103ce578063540cc484146103f75780635e326b921461042057806370a08231146104455780638b0b94cf1461049257806394c33163146104b557806395d89b41146104de5780639dc27fe31461056c578063a9059cbb14610591578063ae6439c4146105eb578063be802f0514610614578063cedbbeee1461063d578063da4469581461066b578063dd62ed3e14610694578063f2fde38b14610700578063fbf1f78a14610739575b61015133610772565b005b341561015e57600080fd5b610166610d92565b6040518082815260200191505060405180910390f35b341561018757600080fd5b61018f610d98565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101cf5780820151818401526020810190506101b4565b50505050905090810190601f1680156101fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021557600080fd5b61021d610dd1565b6040518082815260200191505060405180910390f35b341561023e57600080fd5b610273600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610dd7565b604051808215151515815260200191505060405180910390f35b341561029857600080fd5b6102a0610ec9565b6040518082815260200191505060405180910390f35b34156102c157600080fd5b610315600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610edb565b604051808215151515815260200191505060405180910390f35b341561033a57600080fd5b610366600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611248565b6040518082815260200191505060405180910390f35b341561038757600080fd5b61038f611260565b6040518082815260200191505060405180910390f35b34156103b057600080fd5b6103b8611269565b6040518082815260200191505060405180910390f35b34156103d957600080fd5b6103e161126e565b6040518082815260200191505060405180910390f35b341561040257600080fd5b61040a61127c565b6040518082815260200191505060405180910390f35b341561042b57600080fd5b61044360048080351515906020019091905050611286565b005b341561045057600080fd5b61047c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112ff565b6040518082815260200191505060405180910390f35b341561049d57600080fd5b6104b36004808035906020019091905050611347565b005b34156104c057600080fd5b6104c86113ad565b6040518082815260200191505060405180910390f35b34156104e957600080fd5b6104f16113b7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610531578082015181840152602081019050610516565b50505050905090810190601f16801561055e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057757600080fd5b61058f600480803515159060200190919050506113f0565b005b341561059c57600080fd5b6105d1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611469565b604051808215151515815260200191505060405180910390f35b34156105f657600080fd5b6105fe611647565b6040518082815260200191505060405180910390f35b341561061f57600080fd5b61062761164d565b6040518082815260200191505060405180910390f35b610669600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610772565b005b341561067657600080fd5b61067e611657565b6040518082815260200191505060405180910390f35b341561069f57600080fd5b6106ea600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061165d565b6040518082815260200191505060405180910390f35b341561070b57600080fd5b610737600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116e4565b005b341561074457600080fd5b610770600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117e1565b005b6010544210151561078257600080fd5b600d60009054906101000a900460ff16801561079f5750600e5442105b15610a9157670de0b6b3a764000034101515156107bb57600080fd5b6107e96107d4670de0b6b3a76400003402600b54611866565b6ec097ce7bc90715b34b9f1000000000611899565b601181905550600854601154600554011115151561080657600080fd5b600754601154600454011115151561081d57600080fd5b61082b6005546011546118da565b60058190555061083f6004546011546118da565b60048190555061088f6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118da565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061093d600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118f8565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040518082815260200191505060405180910390a3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610a8c57600080fd5b610d8f565b600d60019054906101000a900460ff168015610aae5750600f5442105b15610d895767016345785d8a00003410151515610aca57600080fd5b610af8610ae3670de0b6b3a76400003402600c54611866565b6ec097ce7bc90715b34b9f1000000000611899565b6011819055506007546011546004540111151515610b1557600080fd5b610b236006546011546118da565b600681905550610b376004546011546118da565b600481905550610b876000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118da565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c35600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118f8565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040518082815260200191505060405180910390a3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610d8457600080fd5b610d8e565b600080fd5b5b50565b60085481565b6040805190810160405280601081526020017f4564676520536d61727420546f6b656e0000000000000000000000000000000081525081565b600a5481565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006012600a0a6305f5e10002905090565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610fa75750816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610fb35750600082115b1515610fbe57600080fd5b6110066000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110906000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118da565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611158600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60006020528060005260406000206000915090505481565b60006012905090565b601281565b6012600a0a6305f5e1000281565b6000600554905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112e257600080fd5b80600d60006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a357600080fd5b80600f8190555050565b6000600454905090565b6040805190810160405280600381526020017f455354000000000000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b80600d60016101000a81548160ff02191690831515021790555050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156114b95750600082115b15156114c457600080fd5b61150c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115966000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118da565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60095481565b6000600654905090565b60075481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561179d57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60008082840290506000841480611887575082848281151561188457fe5b04145b151561188f57fe5b8091505092915050565b6000806000831115156118a857fe5b82848115156118b357fe5b04905082848115156118c157fe5b0681840201841415156118d057fe5b8091505092915050565b60008082840190508381101515156118ee57fe5b8091505092915050565b600082821115151561190657fe5b818303905092915050565b60006119228686868686600061192d565b905095945050505050565b600080611938611c55565b6107b291505b8861ffff168261ffff1610156119815761195782611bd4565b1561196a576301e2850083019250611974565b6301e13380830192505b818060010192505061193e565b601f816000600c8110151561199257fe5b602002019060ff16908160ff16815250506119ac89611bd4565b156119d857601d816001600c811015156119c257fe5b602002019060ff16908160ff16815250506119fb565b601c816001600c811015156119e957fe5b602002019060ff16908160ff16815250505b601f816002600c81101515611a0c57fe5b602002019060ff16908160ff1681525050601e816003600c81101515611a2e57fe5b602002019060ff16908160ff1681525050601f816004600c81101515611a5057fe5b602002019060ff16908160ff1681525050601e816005600c81101515611a7257fe5b602002019060ff16908160ff1681525050601f816006600c81101515611a9457fe5b602002019060ff16908160ff1681525050601f816007600c81101515611ab657fe5b602002019060ff16908160ff1681525050601e816008600c81101515611ad857fe5b602002019060ff16908160ff1681525050601f816009600c81101515611afa57fe5b602002019060ff16908160ff1681525050601e81600a600c81101515611b1c57fe5b602002019060ff16908160ff1681525050601f81600b600c81101515611b3e57fe5b602002019060ff16908160ff1681525050600191505b8760ff168261ffff161015611b9657806001830361ffff16600c81101515611b7857fe5b602002015160ff166201518002830192508180600101925050611b54565b6001870360ff166201518002830192508560ff16610e1002830192508460ff16603c02830192508360ff168301925082925050509695505050505050565b60008060048361ffff16811515611be757fe5b0661ffff16141515611bfc5760009050611c50565b600060648361ffff16811515611c0e57fe5b0661ffff16141515611c235760019050611c50565b60006101908361ffff16811515611c3657fe5b0661ffff16141515611c4b5760009050611c50565b600190505b919050565b61018060405190810160405280600c905b600060ff16815260200190600190039081611c6657905050905600a165627a7a723058207c1d57b1cec01366ea7254cada407888565a6bbec9d27599051cc7673ebeec3e0029
Deployed Bytecode
0x606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806241edee1461015357806306fdde031461017c578063083eb6f81461020a578063095ea7b31461023357806318160ddd1461028d57806323b872dd146102b657806327e235e31461032f578063313ce5671461037c57806332424aa3146103a55780633eaaf86b146103ce578063540cc484146103f75780635e326b921461042057806370a08231146104455780638b0b94cf1461049257806394c33163146104b557806395d89b41146104de5780639dc27fe31461056c578063a9059cbb14610591578063ae6439c4146105eb578063be802f0514610614578063cedbbeee1461063d578063da4469581461066b578063dd62ed3e14610694578063f2fde38b14610700578063fbf1f78a14610739575b61015133610772565b005b341561015e57600080fd5b610166610d92565b6040518082815260200191505060405180910390f35b341561018757600080fd5b61018f610d98565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101cf5780820151818401526020810190506101b4565b50505050905090810190601f1680156101fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021557600080fd5b61021d610dd1565b6040518082815260200191505060405180910390f35b341561023e57600080fd5b610273600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610dd7565b604051808215151515815260200191505060405180910390f35b341561029857600080fd5b6102a0610ec9565b6040518082815260200191505060405180910390f35b34156102c157600080fd5b610315600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610edb565b604051808215151515815260200191505060405180910390f35b341561033a57600080fd5b610366600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611248565b6040518082815260200191505060405180910390f35b341561038757600080fd5b61038f611260565b6040518082815260200191505060405180910390f35b34156103b057600080fd5b6103b8611269565b6040518082815260200191505060405180910390f35b34156103d957600080fd5b6103e161126e565b6040518082815260200191505060405180910390f35b341561040257600080fd5b61040a61127c565b6040518082815260200191505060405180910390f35b341561042b57600080fd5b61044360048080351515906020019091905050611286565b005b341561045057600080fd5b61047c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112ff565b6040518082815260200191505060405180910390f35b341561049d57600080fd5b6104b36004808035906020019091905050611347565b005b34156104c057600080fd5b6104c86113ad565b6040518082815260200191505060405180910390f35b34156104e957600080fd5b6104f16113b7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610531578082015181840152602081019050610516565b50505050905090810190601f16801561055e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057757600080fd5b61058f600480803515159060200190919050506113f0565b005b341561059c57600080fd5b6105d1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611469565b604051808215151515815260200191505060405180910390f35b34156105f657600080fd5b6105fe611647565b6040518082815260200191505060405180910390f35b341561061f57600080fd5b61062761164d565b6040518082815260200191505060405180910390f35b610669600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610772565b005b341561067657600080fd5b61067e611657565b6040518082815260200191505060405180910390f35b341561069f57600080fd5b6106ea600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061165d565b6040518082815260200191505060405180910390f35b341561070b57600080fd5b610737600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116e4565b005b341561074457600080fd5b610770600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117e1565b005b6010544210151561078257600080fd5b600d60009054906101000a900460ff16801561079f5750600e5442105b15610a9157670de0b6b3a764000034101515156107bb57600080fd5b6107e96107d4670de0b6b3a76400003402600b54611866565b6ec097ce7bc90715b34b9f1000000000611899565b601181905550600854601154600554011115151561080657600080fd5b600754601154600454011115151561081d57600080fd5b61082b6005546011546118da565b60058190555061083f6004546011546118da565b60048190555061088f6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118da565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061093d600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118f8565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040518082815260200191505060405180910390a3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610a8c57600080fd5b610d8f565b600d60019054906101000a900460ff168015610aae5750600f5442105b15610d895767016345785d8a00003410151515610aca57600080fd5b610af8610ae3670de0b6b3a76400003402600c54611866565b6ec097ce7bc90715b34b9f1000000000611899565b6011819055506007546011546004540111151515610b1557600080fd5b610b236006546011546118da565b600681905550610b376004546011546118da565b600481905550610b876000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118da565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c35600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118f8565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040518082815260200191505060405180910390a3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610d8457600080fd5b610d8e565b600080fd5b5b50565b60085481565b6040805190810160405280601081526020017f4564676520536d61727420546f6b656e0000000000000000000000000000000081525081565b600a5481565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006012600a0a6305f5e10002905090565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610fa75750816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610fb35750600082115b1515610fbe57600080fd5b6110066000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110906000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118da565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611158600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60006020528060005260406000206000915090505481565b60006012905090565b601281565b6012600a0a6305f5e1000281565b6000600554905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112e257600080fd5b80600d60006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a357600080fd5b80600f8190555050565b6000600454905090565b6040805190810160405280600381526020017f455354000000000000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b80600d60016101000a81548160ff02191690831515021790555050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156114b95750600082115b15156114c457600080fd5b61150c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115966000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118da565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60095481565b6000600654905090565b60075481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561179d57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60008082840290506000841480611887575082848281151561188457fe5b04145b151561188f57fe5b8091505092915050565b6000806000831115156118a857fe5b82848115156118b357fe5b04905082848115156118c157fe5b0681840201841415156118d057fe5b8091505092915050565b60008082840190508381101515156118ee57fe5b8091505092915050565b600082821115151561190657fe5b818303905092915050565b60006119228686868686600061192d565b905095945050505050565b600080611938611c55565b6107b291505b8861ffff168261ffff1610156119815761195782611bd4565b1561196a576301e2850083019250611974565b6301e13380830192505b818060010192505061193e565b601f816000600c8110151561199257fe5b602002019060ff16908160ff16815250506119ac89611bd4565b156119d857601d816001600c811015156119c257fe5b602002019060ff16908160ff16815250506119fb565b601c816001600c811015156119e957fe5b602002019060ff16908160ff16815250505b601f816002600c81101515611a0c57fe5b602002019060ff16908160ff1681525050601e816003600c81101515611a2e57fe5b602002019060ff16908160ff1681525050601f816004600c81101515611a5057fe5b602002019060ff16908160ff1681525050601e816005600c81101515611a7257fe5b602002019060ff16908160ff1681525050601f816006600c81101515611a9457fe5b602002019060ff16908160ff1681525050601f816007600c81101515611ab657fe5b602002019060ff16908160ff1681525050601e816008600c81101515611ad857fe5b602002019060ff16908160ff1681525050601f816009600c81101515611afa57fe5b602002019060ff16908160ff1681525050601e81600a600c81101515611b1c57fe5b602002019060ff16908160ff1681525050601f81600b600c81101515611b3e57fe5b602002019060ff16908160ff1681525050600191505b8760ff168261ffff161015611b9657806001830361ffff16600c81101515611b7857fe5b602002015160ff166201518002830192508180600101925050611b54565b6001870360ff166201518002830192508560ff16610e1002830192508460ff16603c02830192508360ff168301925082925050509695505050505050565b60008060048361ffff16811515611be757fe5b0661ffff16141515611bfc5760009050611c50565b600060648361ffff16811515611c0e57fe5b0661ffff16141515611c235760019050611c50565b60006101908361ffff16811515611c3657fe5b0661ffff16141515611c4b5760009050611c50565b600190505b919050565b61018060405190810160405280600c905b600060ff16815260200190600190039081611c6657905050905600a165627a7a723058207c1d57b1cec01366ea7254cada407888565a6bbec9d27599051cc7673ebeec3e0029
Swarm Source
bzzr://7c1d57b1cec01366ea7254cada407888565a6bbec9d27599051cc7673ebeec3e
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)