ERC-20
Source Code
Overview
Max Total Supply
5,000,000,000 ENC
Holders
91
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:
ENECT
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-11-08
*/
pragma solidity ^0.4.22;
library SafeMath {
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;
}
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;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract Ownable {
address public owner;
address public newOwner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() public {
owner = msg.sender;
newOwner = address(0);
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
modifier onlyNewOwner() {
require(msg.sender != address(0));
require(msg.sender == newOwner);
_;
}
function transferOwnership(address _newOwner) public onlyOwner {
require(_newOwner != address(0));
newOwner = _newOwner;
}
function acceptOwnership() public onlyNewOwner returns(bool) {
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
newOwner = 0x0;
}
}
contract Pausable is Ownable {
event Pause();
event Unpause();
bool public paused = false;
modifier whenNotPaused() {
require(!paused);
_;
}
modifier whenPaused() {
require(paused);
_;
}
function pause() onlyOwner whenNotPaused public {
paused = true;
emit Pause();
}
function unpause() onlyOwner whenPaused public {
paused = false;
emit Unpause();
}
}
contract ERC20 {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function allowance(address owner, address spender) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
event Transfer(address indexed from, address indexed to, uint256 value);
}
interface TokenRecipient {
function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external;
}
contract ENECT is ERC20, Ownable, Pausable {
using SafeMath for uint256;
struct LockupInfo {
uint256 releaseTime;
uint256 termOfRound;
uint256 unlockAmountPerRound;
uint256 lockupBalance;
}
string public name;
string public symbol;
uint8 constant public decimals =18;
uint256 internal initialSupply;
uint256 internal totalSupply_;
mapping(address => uint256) internal balances;
mapping(address => bool) internal locks;
mapping(address => bool) public frozen;
mapping(address => mapping(address => uint256)) internal allowed;
mapping(address => LockupInfo[]) internal lockupInfo;
event Lock(address indexed holder, uint256 value);
event Unlock(address indexed holder, uint256 value);
event Burn(address indexed owner, uint256 value);
event Mint(uint256 value);
event Freeze(address indexed holder);
event Unfreeze(address indexed holder);
modifier notFrozen(address _holder) {
require(!frozen[_holder]);
_;
}
constructor() public {
name = "ENECT";
symbol = "ENC";
initialSupply = 5000000000; //5,000,000,000 개
totalSupply_ = initialSupply * 10 ** uint(decimals);
balances[owner] = totalSupply_;
emit Transfer(address(0), owner, totalSupply_);
}
//
function () public payable {
revert();
}
function totalSupply() public view returns (uint256) {
return totalSupply_;
}
function transfer(address _to, uint256 _value) public whenNotPaused notFrozen(msg.sender) returns (bool) {
if (locks[msg.sender]) {
autoUnlock(msg.sender);
}
require(_to != address(0));
require(_value <= balances[msg.sender]);
// SafeMath.sub will throw if there is not enough balance.
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
function balanceOf(address _holder) public view returns (uint256 balance) {
uint256 lockedBalance = 0;
if(locks[_holder]) {
for(uint256 idx = 0; idx < lockupInfo[_holder].length ; idx++ ) {
lockedBalance = lockedBalance.add(lockupInfo[_holder][idx].lockupBalance);
}
}
return balances[_holder] + lockedBalance;
}
function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused notFrozen(_from)returns (bool) {
if (locks[_from]) {
autoUnlock(_from);
}
require(_to != address(0));
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);
return true;
}
function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
require(isContract(_spender));
TokenRecipient spender = TokenRecipient(_spender);
if (approve(_spender, _value)) {
spender.receiveApproval(msg.sender, _value, this, _extraData);
return true;
}
}
function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
require(spender != address(0));
allowed[msg.sender][spender] = (allowed[msg.sender][spender].add(addedValue));
emit Approval(msg.sender, spender, allowed[msg.sender][spender]);
return true;
}
function decreaseAllowance( address spender, uint256 subtractedValue) public returns (bool) {
require(spender != address(0));
allowed[msg.sender][spender] = (allowed[msg.sender][spender].sub(subtractedValue));
emit Approval(msg.sender, spender, allowed[msg.sender][spender]);
return true;
}
function allowance(address _holder, address _spender) public view returns (uint256) {
return allowed[_holder][_spender];
}
function lock(address _holder, uint256 _amount, uint256 _releaseStart, uint256 _termOfRound, uint256 _releaseRate) public onlyOwner returns (bool) {
require(balances[_holder] >= _amount);
if(_termOfRound==0 ) {
_termOfRound = 1;
}
balances[_holder] = balances[_holder].sub(_amount);
lockupInfo[_holder].push(
LockupInfo(_releaseStart, _termOfRound, _amount.div(100).mul(_releaseRate), _amount)
);
locks[_holder] = true;
emit Lock(_holder, _amount);
return true;
}
function unlock(address _holder, uint256 _idx) public onlyOwner returns (bool) {
require(locks[_holder]);
require(_idx < lockupInfo[_holder].length);
LockupInfo storage lockupinfo = lockupInfo[_holder][_idx];
uint256 releaseAmount = lockupinfo.lockupBalance;
delete lockupInfo[_holder][_idx];
lockupInfo[_holder][_idx] = lockupInfo[_holder][lockupInfo[_holder].length.sub(1)];
lockupInfo[_holder].length -=1;
if(lockupInfo[_holder].length == 0) {
locks[_holder] = false;
}
emit Unlock(_holder, releaseAmount);
balances[_holder] = balances[_holder].add(releaseAmount);
return true;
}
function freezeAccount(address _holder) public onlyOwner returns (bool) {
require(!frozen[_holder]);
frozen[_holder] = true;
emit Freeze(_holder);
return true;
}
function unfreezeAccount(address _holder) public onlyOwner returns (bool) {
require(frozen[_holder]);
frozen[_holder] = false;
emit Unfreeze(_holder);
return true;
}
function getNowTime() public view returns(uint256) {
return now;
}
function showLockState(address _holder, uint256 _idx) public view returns (bool, uint256, uint256, uint256, uint256, uint256) {
if(locks[_holder]) {
return (
locks[_holder],
lockupInfo[_holder].length,
lockupInfo[_holder][_idx].lockupBalance,
lockupInfo[_holder][_idx].releaseTime,
lockupInfo[_holder][_idx].termOfRound,
lockupInfo[_holder][_idx].unlockAmountPerRound
);
} else {
return (
locks[_holder],
lockupInfo[_holder].length,
0,0,0,0
);
}
}
function distribute(address _to, uint256 _value) public onlyOwner returns (bool) {
require(_to != address(0));
require(_value <= balances[owner]);
balances[owner] = balances[owner].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(owner, _to, _value);
return true;
}
function distributeWithLockup(address _to, uint256 _value, uint256 _releaseStart, uint256 _termOfRound, uint256 _releaseRate) public onlyOwner returns (bool) {
distribute(_to, _value);
lock(_to, _value, _releaseStart, _termOfRound, _releaseRate);
return true;
}
function claimToken(ERC20 token, address _to, uint256 _value) public onlyOwner returns (bool) {
token.transfer(_to, _value);
return true;
}
function burn(uint256 _value) public onlyOwner returns (bool success) {
require(_value <= balances[msg.sender]);
address burner = msg.sender;
balances[burner] = balances[burner].sub(_value);
totalSupply_ = totalSupply_.sub(_value);
emit Burn(burner, _value);
return true;
}
function mint(address _to, uint256 _amount) onlyOwner public returns (bool) {
totalSupply_ = totalSupply_.add(_amount);
balances[_to] = balances[_to].add(_amount);
emit Transfer(address(0), _to, _amount);
return true;
}
function isContract(address addr) internal view returns (bool) {
uint size;
assembly{size := extcodesize(addr)}
return size > 0;
}
function autoUnlock(address _holder) internal returns (bool) {
for(uint256 idx =0; idx < lockupInfo[_holder].length ; idx++ ) {
if(locks[_holder]==false) {
return true;
}
if (lockupInfo[_holder][idx].releaseTime <= now) {
if( releaseTimeLock(_holder, idx) ) {
idx -=1;
}
}
}
return true;
}
function releaseTimeLock(address _holder, uint256 _idx) internal returns(bool) {
require(locks[_holder]);
require(_idx < lockupInfo[_holder].length);
LockupInfo storage info = lockupInfo[_holder][_idx];
uint256 releaseAmount = info.unlockAmountPerRound;
uint256 sinceFrom = now.sub(info.releaseTime);
uint256 sinceRound = sinceFrom.div(info.termOfRound);
releaseAmount = releaseAmount.add( sinceRound.mul(info.unlockAmountPerRound) );
if(releaseAmount >= info.lockupBalance) {
releaseAmount = info.lockupBalance;
delete lockupInfo[_holder][_idx];
lockupInfo[_holder][_idx] = lockupInfo[_holder][lockupInfo[_holder].length.sub(1)];
lockupInfo[_holder].length -=1;
if(lockupInfo[_holder].length == 0) {
locks[_holder] = false;
}
emit Unlock(_holder, releaseAmount);
balances[_holder] = balances[_holder].add(releaseAmount);
return true;
} else {
lockupInfo[_holder][_idx].releaseTime = lockupInfo[_holder][_idx].releaseTime.add( sinceRound.add(1).mul(info.termOfRound) );
lockupInfo[_holder][_idx].lockupBalance = lockupInfo[_holder][_idx].lockupBalance.sub(releaseAmount);
emit Unlock(_holder, releaseAmount);
balances[_holder] = balances[_holder].add(releaseAmount);
return false;
}
}
}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":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"claimToken","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":"","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":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"_value","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":true,"inputs":[{"name":"_holder","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"}],"name":"unfreezeAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_releaseStart","type":"uint256"},{"name":"_termOfRound","type":"uint256"},{"name":"_releaseRate","type":"uint256"}],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"},{"name":"_idx","type":"uint256"}],"name":"unlock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[],"name":"getNowTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"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":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_releaseStart","type":"uint256"},{"name":"_termOfRound","type":"uint256"},{"name":"_releaseRate","type":"uint256"}],"name":"distributeWithLockup","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"},{"name":"_idx","type":"uint256"}],"name":"showLockState","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"}],"name":"freezeAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"distribute","outputs":[{"name":"","type":"bool"}],"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":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"}],"name":"Unfreeze","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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]Contract Creation Code
60806040526001805460a060020a60ff02191690553480156200002157600080fd5b5060008054600160a060020a031990811633179091556001805490911690556040805180820190915260058082527f454e4543540000000000000000000000000000000000000000000000000000006020909201918252620000869160029162000144565b506040805180820190915260038082527f454e4300000000000000000000000000000000000000000000000000000000006020909201918252620000cb918162000144565b5064012a05f2006004556b1027e72f1f12813088000000600581905560008054600160a060020a0390811682526006602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3620001e9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018757805160ff1916838001178555620001b7565b82800160010185558215620001b7579182015b82811115620001b75782518255916020019190600101906200019a565b50620001c5929150620001c9565b5090565b620001e691905b80821115620001c55760008155600101620001d0565b90565b6120db80620001f96000396000f30060806040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018f578063095ea7b314610219578063125bfb661461025157806318160ddd1461027b57806323b872dd146102a2578063313ce567146102cc57806339509351146102f75780633f4ba83a1461031b57806340c10f191461033257806342966c68146103565780635c975abb1461036e57806370a0823114610383578063788649ea146103a457806379ba5097146103c55780637c759d0d146103da5780637eee288d146104075780638456cb591461042b5780638da5cb5b1461044057806395d89b41146104715780639b819d3814610486578063a457c2d71461049b578063a9059cbb146104bf578063c572652b146104e3578063c9e075c614610510578063cae9ca5114610569578063d0516650146105d2578063d4ee1d90146105f3578063dd62ed3e14610608578063f26c159f1461062f578063f2fde38b14610650578063fb93210814610671575b600080fd5b34801561019b57600080fd5b506101a4610695565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022557600080fd5b5061023d600160a060020a0360043516602435610720565b604080519115158252519081900360200190f35b34801561025d57600080fd5b5061023d600160a060020a03600435811690602435166044356107a1565b34801561028757600080fd5b5061029061086b565b60408051918252519081900360200190f35b3480156102ae57600080fd5b5061023d600160a060020a0360043581169060243516604435610872565b3480156102d857600080fd5b506102e1610a48565b6040805160ff9092168252519081900360200190f35b34801561030357600080fd5b5061023d600160a060020a0360043516602435610a4d565b34801561032757600080fd5b50610330610afd565b005b34801561033e57600080fd5b5061023d600160a060020a0360043516602435610b75565b34801561036257600080fd5b5061023d600435610c17565b34801561037a57600080fd5b5061023d610ce7565b34801561038f57600080fd5b50610290600160a060020a0360043516610cf7565b3480156103b057600080fd5b5061023d600160a060020a0360043516610db8565b3480156103d157600080fd5b5061023d610e45565b3480156103e657600080fd5b5061023d600160a060020a0360043516602435604435606435608435610edc565b34801561041357600080fd5b5061023d600160a060020a036004351660243561104f565b34801561043757600080fd5b506103306112ee565b34801561044c57600080fd5b5061045561136b565b60408051600160a060020a039092168252519081900360200190f35b34801561047d57600080fd5b506101a461137a565b34801561049257600080fd5b506102906113d5565b3480156104a757600080fd5b5061023d600160a060020a03600435166024356113d9565b3480156104cb57600080fd5b5061023d600160a060020a0360043516602435611424565b3480156104ef57600080fd5b5061023d600160a060020a0360043516602435604435606435608435611550565b34801561051c57600080fd5b50610534600160a060020a036004351660243561158d565b6040805196151587526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561057557600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023d948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061170e9650505050505050565b3480156105de57600080fd5b5061023d600160a060020a0360043516611839565b3480156105ff57600080fd5b5061045561184e565b34801561061457600080fd5b50610290600160a060020a036004358116906024351661185d565b34801561063b57600080fd5b5061023d600160a060020a0360043516611888565b34801561065c57600080fd5b50610330600160a060020a0360043516611917565b34801561067d57600080fd5b5061023d600160a060020a0360043516602435611972565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107185780601f106106ed57610100808354040283529160200191610718565b820191906000526020600020905b8154815290600101906020018083116106fb57829003601f168201915b505050505081565b60015460009060a060020a900460ff161561073a57600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60008054600160a060020a031633146107b957600080fd5b83600160a060020a031663a9059cbb84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050506040513d602081101561085f57600080fd5b50600195945050505050565b6005545b90565b60015460009060a060020a900460ff161561088c57600080fd5b600160a060020a038416600090815260086020526040902054849060ff16156108b457600080fd5b600160a060020a03851660009081526007602052604090205460ff16156108e0576108de85611a72565b505b600160a060020a03841615156108f557600080fd5b600160a060020a03851660009081526006602052604090205483111561091a57600080fd5b600160a060020a038516600090815260096020908152604080832033845290915290205483111561094a57600080fd5b600160a060020a038516600090815260066020526040902054610973908463ffffffff611b2316565b600160a060020a0380871660009081526006602052604080822093909355908616815220546109a8908463ffffffff611b3516565b600160a060020a0380861660009081526006602090815260408083209490945591881681526009825282812033825290915220546109ec908463ffffffff611b2316565b600160a060020a0380871660008181526009602090815260408083203384528252918290209490945580518781529051928816939192600080516020612090833981519152929181900390910190a3600191505b509392505050565b601281565b6000600160a060020a0383161515610a6457600080fd5b336000908152600960209081526040808320600160a060020a0387168452909152902054610a98908363ffffffff611b3516565b336000818152600960209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600054600160a060020a03163314610b1457600080fd5b60015460a060020a900460ff161515610b2c57600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60008054600160a060020a03163314610b8d57600080fd5b600554610ba0908363ffffffff611b3516565b600555600160a060020a038316600090815260066020526040902054610bcc908363ffffffff611b3516565b600160a060020a03841660008181526006602090815260408083209490945583518681529351929391926000805160206120908339815191529281900390910190a350600192915050565b600080548190600160a060020a03163314610c3157600080fd5b33600090815260066020526040902054831115610c4d57600080fd5b5033600081815260066020526040902054610c6e908463ffffffff611b2316565b600160a060020a038216600090815260066020526040902055600554610c9a908463ffffffff611b2316565b600555604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2600191505b50919050565b60015460a060020a900460ff1681565b600160a060020a0381166000908152600760205260408120548190819060ff1615610d94575060005b600160a060020a0384166000908152600a6020526040902054811015610d9457600160a060020a0384166000908152600a602052604090208054610d8a919083908110610d6957fe5b90600052602060002090600402016003015483611b3590919063ffffffff16565b9150600101610d20565b600160a060020a038416600090815260066020526040902054820192505050919050565b60008054600160a060020a03163314610dd057600080fd5b600160a060020a03821660009081526008602052604090205460ff161515610df757600080fd5b600160a060020a038216600081815260086020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6000331515610e5357600080fd5b600154600160a060020a03163314610e6a57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a0384161790915516905590565b60008054600160a060020a03163314610ef457600080fd5b600160a060020a038616600090815260066020526040902054851115610f1957600080fd5b821515610f2557600192505b600160a060020a038616600090815260066020526040902054610f4e908663ffffffff611b2316565b600160a060020a038716600090815260066020908152604080832093909355600a8152908290208251608081018452878152918201869052918101610faa85610f9e8a606463ffffffff611b4b16565b9063ffffffff611b6216565b815260209081018890528254600181810185556000948552828520845160049093020191825583830151828201556040808501516002840155606090940151600390920191909155600160a060020a038a168085526007835293839020805460ff19169091179055815188815291517f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d4279281900390910190a250600195945050505050565b6000805481908190600160a060020a0316331461106b57600080fd5b600160a060020a03851660009081526007602052604090205460ff16151561109257600080fd5b600160a060020a0385166000908152600a602052604090205484106110b657600080fd5b600160a060020a0385166000908152600a602052604090208054859081106110da57fe5b9060005260206000209060040201915081600301549050600a600086600160a060020a0316600160a060020a031681526020019081526020016000208481548110151561112357fe5b6000918252602080832060049092029091018281556001808201849055600282018490556003909101839055600160a060020a0388168352600a909152604090912080549091611179919063ffffffff611b2316565b8154811061118357fe5b9060005260206000209060040201600a600087600160a060020a0316600160a060020a03168152602001908152602001600020858154811015156111c357fe5b60009182526020808320845460049093020191825560018085015490830155600280850154908301556003938401549390910192909255600160a060020a0387168152600a9091526040902080546000190190611220908261202c565b50600160a060020a0385166000908152600a6020526040902054151561126157600160a060020a0385166000908152600760205260409020805460ff191690555b604080518281529051600160a060020a038716917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a0385166000908152600660205260409020546112c9908263ffffffff611b3516565b600160a060020a03861660009081526006602052604090205560019250505092915050565b600054600160a060020a0316331461130557600080fd5b60015460a060020a900460ff161561131c57600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107185780601f106106ed57610100808354040283529160200191610718565b4290565b6000600160a060020a03831615156113f057600080fd5b336000908152600960209081526040808320600160a060020a0387168452909152902054610a98908363ffffffff611b2316565b60015460009060a060020a900460ff161561143e57600080fd5b3360008181526008602052604090205460ff161561145b57600080fd5b3360009081526007602052604090205460ff161561147e5761147c33611a72565b505b600160a060020a038416151561149357600080fd5b336000908152600660205260409020548311156114af57600080fd5b336000908152600660205260409020546114cf908463ffffffff611b2316565b3360009081526006602052604080822092909255600160a060020a03861681522054611501908463ffffffff611b3516565b600160a060020a0385166000818152600660209081526040918290209390935580518681529051919233926000805160206120908339815191529281900390910190a3600191505b5092915050565b60008054600160a060020a0316331461156857600080fd5b6115728686611972565b506115808686868686610edc565b5060019695505050505050565b600160a060020a0382166000908152600760205260408120548190819081908190819060ff16156116cf57600160a060020a038816600090815260076020908152604080832054600a909252909120805460ff9092169190898281106115ef57fe5b906000526020600020906004020160030154600a60008c600160a060020a0316600160a060020a031681526020019081526020016000208a81548110151561163357fe5b60009182526020808320600490920290910154600160a060020a038e168352600a909152604090912080548c90811061166857fe5b906000526020600020906004020160010154600a60008e600160a060020a0316600160a060020a031681526020019081526020016000208c8154811015156116ac57fe5b906000526020600020906004020160020154955095509550955095509550611704565b50505050600160a060020a038416600090815260076020908152604080832054600a90925282205460ff909116935091508080805b9295509295509295565b60008061171a85611b8d565b151561172557600080fd5b50836117318185610720565b15610a40576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b838110156117c95781810151838201526020016117b1565b50505050905090810190601f1680156117f65780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561181857600080fd5b505af115801561182c573d6000803e3d6000fd5b5050505060019150610a40565b60086020526000908152604090205460ff1681565b600154600160a060020a031681565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60008054600160a060020a031633146118a057600080fd5b600160a060020a03821660009081526008602052604090205460ff16156118c657600080fd5b600160a060020a038216600081815260086020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b600054600160a060020a0316331461192e57600080fd5b600160a060020a038116151561194357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a0316331461198a57600080fd5b600160a060020a038316151561199f57600080fd5b60008054600160a060020a03168152600660205260409020548211156119c457600080fd5b60008054600160a060020a03168152600660205260409020546119ed908363ffffffff611b2316565b60008054600160a060020a0390811682526006602052604080832093909355851681522054611a22908363ffffffff611b3516565b600160a060020a038085166000818152600660209081526040808320959095559054845187815294519294931692600080516020612090833981519152929081900390910190a350600192915050565b6000805b600160a060020a0383166000908152600a6020526040902054811015611b1a57600160a060020a03831660009081526007602052604090205460ff161515611ac15760019150610ce1565b600160a060020a0383166000908152600a60205260409020805442919083908110611ae857fe5b600091825260209091206004909102015411611b1257611b088382611b95565b15611b1257600019015b600101611a76565b50600192915050565b600082821115611b2f57fe5b50900390565b600082820183811015611b4457fe5b9392505050565b6000808284811515611b5957fe5b04949350505050565b600080831515611b755760009150611549565b50828202828482811515611b8557fe5b0414611b4457fe5b6000903b1190565b600160a060020a038216600090815260076020526040812054819081908190819060ff161515611bc457600080fd5b600160a060020a0387166000908152600a60205260409020548610611be857600080fd5b600160a060020a0387166000908152600a60205260409020805487908110611c0c57fe5b9060005260206000209060040201935083600201549250611c3a846000015442611b2390919063ffffffff16565b9150611c53846001015483611b4b90919063ffffffff16565b9050611c7c611c6f856002015483611b6290919063ffffffff16565b849063ffffffff611b3516565b60038501549093508310611e7f576003840154600160a060020a0388166000908152600a6020526040902080549194509087908110611cb757fe5b6000918252602080832060049092029091018281556001808201849055600282018490556003909101839055600160a060020a038a168352600a909152604090912080549091611d0d919063ffffffff611b2316565b81548110611d1757fe5b9060005260206000209060040201600a600089600160a060020a0316600160a060020a0316815260200190815260200160002087815481101515611d5757fe5b60009182526020808320845460049093020191825560018085015490830155600280850154908301556003938401549390910192909255600160a060020a0389168152600a9091526040902080546000190190611db4908261202c565b50600160a060020a0387166000908152600a60205260409020541515611df557600160a060020a0387166000908152600760205260409020805460ff191690555b604080518481529051600160a060020a038916917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a038716600090815260066020526040902054611e5d908463ffffffff611b3516565b600160a060020a03881660009081526006602052604090205560019450612022565b611edf611e9e8560010154610f9e600185611b3590919063ffffffff16565b600160a060020a0389166000908152600a60205260409020805489908110611ec257fe5b60009182526020909120600490910201549063ffffffff611b3516565b600160a060020a0388166000908152600a60205260409020805488908110611f0357fe5b60009182526020808320600490920290910192909255600160a060020a0389168152600a909152604090208054611f6091859189908110611f4057fe5b906000526020600020906004020160030154611b2390919063ffffffff16565b600160a060020a0388166000908152600a60205260409020805488908110611f8457fe5b90600052602060002090600402016003018190555086600160a060020a03167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1846040518082815260200191505060405180910390a2600160a060020a038716600090815260066020526040902054612003908463ffffffff611b3516565b600160a060020a03881660009081526006602052604081209190915594505b5050505092915050565b81548183558181111561205857600402816004028360005260206000209182019101612058919061205d565b505050565b61086f91905b8082111561208b57600080825560018201819055600282018190556003820155600401612063565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d37890246547eb20e438310550c55d2d78f35ab45eec32a32f14d1f8d88249920029
Deployed Bytecode
0x60806040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018f578063095ea7b314610219578063125bfb661461025157806318160ddd1461027b57806323b872dd146102a2578063313ce567146102cc57806339509351146102f75780633f4ba83a1461031b57806340c10f191461033257806342966c68146103565780635c975abb1461036e57806370a0823114610383578063788649ea146103a457806379ba5097146103c55780637c759d0d146103da5780637eee288d146104075780638456cb591461042b5780638da5cb5b1461044057806395d89b41146104715780639b819d3814610486578063a457c2d71461049b578063a9059cbb146104bf578063c572652b146104e3578063c9e075c614610510578063cae9ca5114610569578063d0516650146105d2578063d4ee1d90146105f3578063dd62ed3e14610608578063f26c159f1461062f578063f2fde38b14610650578063fb93210814610671575b600080fd5b34801561019b57600080fd5b506101a4610695565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022557600080fd5b5061023d600160a060020a0360043516602435610720565b604080519115158252519081900360200190f35b34801561025d57600080fd5b5061023d600160a060020a03600435811690602435166044356107a1565b34801561028757600080fd5b5061029061086b565b60408051918252519081900360200190f35b3480156102ae57600080fd5b5061023d600160a060020a0360043581169060243516604435610872565b3480156102d857600080fd5b506102e1610a48565b6040805160ff9092168252519081900360200190f35b34801561030357600080fd5b5061023d600160a060020a0360043516602435610a4d565b34801561032757600080fd5b50610330610afd565b005b34801561033e57600080fd5b5061023d600160a060020a0360043516602435610b75565b34801561036257600080fd5b5061023d600435610c17565b34801561037a57600080fd5b5061023d610ce7565b34801561038f57600080fd5b50610290600160a060020a0360043516610cf7565b3480156103b057600080fd5b5061023d600160a060020a0360043516610db8565b3480156103d157600080fd5b5061023d610e45565b3480156103e657600080fd5b5061023d600160a060020a0360043516602435604435606435608435610edc565b34801561041357600080fd5b5061023d600160a060020a036004351660243561104f565b34801561043757600080fd5b506103306112ee565b34801561044c57600080fd5b5061045561136b565b60408051600160a060020a039092168252519081900360200190f35b34801561047d57600080fd5b506101a461137a565b34801561049257600080fd5b506102906113d5565b3480156104a757600080fd5b5061023d600160a060020a03600435166024356113d9565b3480156104cb57600080fd5b5061023d600160a060020a0360043516602435611424565b3480156104ef57600080fd5b5061023d600160a060020a0360043516602435604435606435608435611550565b34801561051c57600080fd5b50610534600160a060020a036004351660243561158d565b6040805196151587526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561057557600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023d948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061170e9650505050505050565b3480156105de57600080fd5b5061023d600160a060020a0360043516611839565b3480156105ff57600080fd5b5061045561184e565b34801561061457600080fd5b50610290600160a060020a036004358116906024351661185d565b34801561063b57600080fd5b5061023d600160a060020a0360043516611888565b34801561065c57600080fd5b50610330600160a060020a0360043516611917565b34801561067d57600080fd5b5061023d600160a060020a0360043516602435611972565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107185780601f106106ed57610100808354040283529160200191610718565b820191906000526020600020905b8154815290600101906020018083116106fb57829003601f168201915b505050505081565b60015460009060a060020a900460ff161561073a57600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60008054600160a060020a031633146107b957600080fd5b83600160a060020a031663a9059cbb84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050506040513d602081101561085f57600080fd5b50600195945050505050565b6005545b90565b60015460009060a060020a900460ff161561088c57600080fd5b600160a060020a038416600090815260086020526040902054849060ff16156108b457600080fd5b600160a060020a03851660009081526007602052604090205460ff16156108e0576108de85611a72565b505b600160a060020a03841615156108f557600080fd5b600160a060020a03851660009081526006602052604090205483111561091a57600080fd5b600160a060020a038516600090815260096020908152604080832033845290915290205483111561094a57600080fd5b600160a060020a038516600090815260066020526040902054610973908463ffffffff611b2316565b600160a060020a0380871660009081526006602052604080822093909355908616815220546109a8908463ffffffff611b3516565b600160a060020a0380861660009081526006602090815260408083209490945591881681526009825282812033825290915220546109ec908463ffffffff611b2316565b600160a060020a0380871660008181526009602090815260408083203384528252918290209490945580518781529051928816939192600080516020612090833981519152929181900390910190a3600191505b509392505050565b601281565b6000600160a060020a0383161515610a6457600080fd5b336000908152600960209081526040808320600160a060020a0387168452909152902054610a98908363ffffffff611b3516565b336000818152600960209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600054600160a060020a03163314610b1457600080fd5b60015460a060020a900460ff161515610b2c57600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60008054600160a060020a03163314610b8d57600080fd5b600554610ba0908363ffffffff611b3516565b600555600160a060020a038316600090815260066020526040902054610bcc908363ffffffff611b3516565b600160a060020a03841660008181526006602090815260408083209490945583518681529351929391926000805160206120908339815191529281900390910190a350600192915050565b600080548190600160a060020a03163314610c3157600080fd5b33600090815260066020526040902054831115610c4d57600080fd5b5033600081815260066020526040902054610c6e908463ffffffff611b2316565b600160a060020a038216600090815260066020526040902055600554610c9a908463ffffffff611b2316565b600555604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2600191505b50919050565b60015460a060020a900460ff1681565b600160a060020a0381166000908152600760205260408120548190819060ff1615610d94575060005b600160a060020a0384166000908152600a6020526040902054811015610d9457600160a060020a0384166000908152600a602052604090208054610d8a919083908110610d6957fe5b90600052602060002090600402016003015483611b3590919063ffffffff16565b9150600101610d20565b600160a060020a038416600090815260066020526040902054820192505050919050565b60008054600160a060020a03163314610dd057600080fd5b600160a060020a03821660009081526008602052604090205460ff161515610df757600080fd5b600160a060020a038216600081815260086020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6000331515610e5357600080fd5b600154600160a060020a03163314610e6a57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a0384161790915516905590565b60008054600160a060020a03163314610ef457600080fd5b600160a060020a038616600090815260066020526040902054851115610f1957600080fd5b821515610f2557600192505b600160a060020a038616600090815260066020526040902054610f4e908663ffffffff611b2316565b600160a060020a038716600090815260066020908152604080832093909355600a8152908290208251608081018452878152918201869052918101610faa85610f9e8a606463ffffffff611b4b16565b9063ffffffff611b6216565b815260209081018890528254600181810185556000948552828520845160049093020191825583830151828201556040808501516002840155606090940151600390920191909155600160a060020a038a168085526007835293839020805460ff19169091179055815188815291517f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d4279281900390910190a250600195945050505050565b6000805481908190600160a060020a0316331461106b57600080fd5b600160a060020a03851660009081526007602052604090205460ff16151561109257600080fd5b600160a060020a0385166000908152600a602052604090205484106110b657600080fd5b600160a060020a0385166000908152600a602052604090208054859081106110da57fe5b9060005260206000209060040201915081600301549050600a600086600160a060020a0316600160a060020a031681526020019081526020016000208481548110151561112357fe5b6000918252602080832060049092029091018281556001808201849055600282018490556003909101839055600160a060020a0388168352600a909152604090912080549091611179919063ffffffff611b2316565b8154811061118357fe5b9060005260206000209060040201600a600087600160a060020a0316600160a060020a03168152602001908152602001600020858154811015156111c357fe5b60009182526020808320845460049093020191825560018085015490830155600280850154908301556003938401549390910192909255600160a060020a0387168152600a9091526040902080546000190190611220908261202c565b50600160a060020a0385166000908152600a6020526040902054151561126157600160a060020a0385166000908152600760205260409020805460ff191690555b604080518281529051600160a060020a038716917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a0385166000908152600660205260409020546112c9908263ffffffff611b3516565b600160a060020a03861660009081526006602052604090205560019250505092915050565b600054600160a060020a0316331461130557600080fd5b60015460a060020a900460ff161561131c57600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107185780601f106106ed57610100808354040283529160200191610718565b4290565b6000600160a060020a03831615156113f057600080fd5b336000908152600960209081526040808320600160a060020a0387168452909152902054610a98908363ffffffff611b2316565b60015460009060a060020a900460ff161561143e57600080fd5b3360008181526008602052604090205460ff161561145b57600080fd5b3360009081526007602052604090205460ff161561147e5761147c33611a72565b505b600160a060020a038416151561149357600080fd5b336000908152600660205260409020548311156114af57600080fd5b336000908152600660205260409020546114cf908463ffffffff611b2316565b3360009081526006602052604080822092909255600160a060020a03861681522054611501908463ffffffff611b3516565b600160a060020a0385166000818152600660209081526040918290209390935580518681529051919233926000805160206120908339815191529281900390910190a3600191505b5092915050565b60008054600160a060020a0316331461156857600080fd5b6115728686611972565b506115808686868686610edc565b5060019695505050505050565b600160a060020a0382166000908152600760205260408120548190819081908190819060ff16156116cf57600160a060020a038816600090815260076020908152604080832054600a909252909120805460ff9092169190898281106115ef57fe5b906000526020600020906004020160030154600a60008c600160a060020a0316600160a060020a031681526020019081526020016000208a81548110151561163357fe5b60009182526020808320600490920290910154600160a060020a038e168352600a909152604090912080548c90811061166857fe5b906000526020600020906004020160010154600a60008e600160a060020a0316600160a060020a031681526020019081526020016000208c8154811015156116ac57fe5b906000526020600020906004020160020154955095509550955095509550611704565b50505050600160a060020a038416600090815260076020908152604080832054600a90925282205460ff909116935091508080805b9295509295509295565b60008061171a85611b8d565b151561172557600080fd5b50836117318185610720565b15610a40576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b838110156117c95781810151838201526020016117b1565b50505050905090810190601f1680156117f65780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561181857600080fd5b505af115801561182c573d6000803e3d6000fd5b5050505060019150610a40565b60086020526000908152604090205460ff1681565b600154600160a060020a031681565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b60008054600160a060020a031633146118a057600080fd5b600160a060020a03821660009081526008602052604090205460ff16156118c657600080fd5b600160a060020a038216600081815260086020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b600054600160a060020a0316331461192e57600080fd5b600160a060020a038116151561194357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a0316331461198a57600080fd5b600160a060020a038316151561199f57600080fd5b60008054600160a060020a03168152600660205260409020548211156119c457600080fd5b60008054600160a060020a03168152600660205260409020546119ed908363ffffffff611b2316565b60008054600160a060020a0390811682526006602052604080832093909355851681522054611a22908363ffffffff611b3516565b600160a060020a038085166000818152600660209081526040808320959095559054845187815294519294931692600080516020612090833981519152929081900390910190a350600192915050565b6000805b600160a060020a0383166000908152600a6020526040902054811015611b1a57600160a060020a03831660009081526007602052604090205460ff161515611ac15760019150610ce1565b600160a060020a0383166000908152600a60205260409020805442919083908110611ae857fe5b600091825260209091206004909102015411611b1257611b088382611b95565b15611b1257600019015b600101611a76565b50600192915050565b600082821115611b2f57fe5b50900390565b600082820183811015611b4457fe5b9392505050565b6000808284811515611b5957fe5b04949350505050565b600080831515611b755760009150611549565b50828202828482811515611b8557fe5b0414611b4457fe5b6000903b1190565b600160a060020a038216600090815260076020526040812054819081908190819060ff161515611bc457600080fd5b600160a060020a0387166000908152600a60205260409020548610611be857600080fd5b600160a060020a0387166000908152600a60205260409020805487908110611c0c57fe5b9060005260206000209060040201935083600201549250611c3a846000015442611b2390919063ffffffff16565b9150611c53846001015483611b4b90919063ffffffff16565b9050611c7c611c6f856002015483611b6290919063ffffffff16565b849063ffffffff611b3516565b60038501549093508310611e7f576003840154600160a060020a0388166000908152600a6020526040902080549194509087908110611cb757fe5b6000918252602080832060049092029091018281556001808201849055600282018490556003909101839055600160a060020a038a168352600a909152604090912080549091611d0d919063ffffffff611b2316565b81548110611d1757fe5b9060005260206000209060040201600a600089600160a060020a0316600160a060020a0316815260200190815260200160002087815481101515611d5757fe5b60009182526020808320845460049093020191825560018085015490830155600280850154908301556003938401549390910192909255600160a060020a0389168152600a9091526040902080546000190190611db4908261202c565b50600160a060020a0387166000908152600a60205260409020541515611df557600160a060020a0387166000908152600760205260409020805460ff191690555b604080518481529051600160a060020a038916917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a038716600090815260066020526040902054611e5d908463ffffffff611b3516565b600160a060020a03881660009081526006602052604090205560019450612022565b611edf611e9e8560010154610f9e600185611b3590919063ffffffff16565b600160a060020a0389166000908152600a60205260409020805489908110611ec257fe5b60009182526020909120600490910201549063ffffffff611b3516565b600160a060020a0388166000908152600a60205260409020805488908110611f0357fe5b60009182526020808320600490920290910192909255600160a060020a0389168152600a909152604090208054611f6091859189908110611f4057fe5b906000526020600020906004020160030154611b2390919063ffffffff16565b600160a060020a0388166000908152600a60205260409020805488908110611f8457fe5b90600052602060002090600402016003018190555086600160a060020a03167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1846040518082815260200191505060405180910390a2600160a060020a038716600090815260066020526040902054612003908463ffffffff611b3516565b600160a060020a03881660009081526006602052604081209190915594505b5050505092915050565b81548183558181111561205857600402816004028360005260206000209182019101612058919061205d565b505050565b61086f91905b8082111561208b57600080825560018201819055600282018190556003820155600401612063565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d37890246547eb20e438310550c55d2d78f35ab45eec32a32f14d1f8d88249920029
Swarm Source
bzzr://d37890246547eb20e438310550c55d2d78f35ab45eec32a32f14d1f8d8824992
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)