Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
41,042,770 HKX
Holders
26
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x0080d4B7...8Da771743 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
XPAAssetToken
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-11 */ pragma solidity ^0.4.21; interface Token { function totalSupply() constant external returns (uint256 ts); function balanceOf(address _owner) constant external returns (uint256 balance); function transfer(address _to, uint256 _value) external returns (bool success); function transferFrom(address _from, address _to, uint256 _value) external returns (bool success); function approve(address _spender, uint256 _value) external returns (bool success); function allowance(address _owner, address _spender) constant external returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } interface Baliv { function getPrice(address fromToken_, address toToken_) external view returns(uint256); } contract TokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; } contract SafeMath { function safeAdd(uint x, uint y) internal pure returns(uint) { uint256 z = x + y; require((z >= x) && (z >= y)); return z; } function safeSub(uint x, uint y) internal pure returns(uint) { require(x >= y); uint256 z = x - y; return z; } function safeMul(uint x, uint y) internal pure returns(uint) { uint z = x * y; require((x == 0) || (z / x == y)); return z; } function safeDiv(uint x, uint y) internal pure returns(uint) { require(y > 0); return x / y; } function random(uint N, uint salt) internal view returns(uint) { bytes32 hash = keccak256(block.number, msg.sender, salt); return uint(hash) % N; } } contract Authorization { mapping(address => bool) internal authbook; address[] public operators; address public owner; bool public powerStatus = true; function Authorization() public payable { owner = msg.sender; assignOperator(msg.sender); } modifier onlyOwner { assert(msg.sender == owner); _; } modifier onlyOperator { assert(checkOperator(msg.sender)); _; } modifier onlyActive { assert(powerStatus); _; } function powerSwitch( bool onOff_ ) public onlyOperator { powerStatus = onOff_; } function transferOwnership(address newOwner_) onlyOwner public { owner = newOwner_; } function assignOperator(address user_) public onlyOwner { if(user_ != address(0) && !authbook[user_]) { authbook[user_] = true; operators.push(user_); } } function dismissOperator(address user_) public onlyOwner { delete authbook[user_]; for(uint i = 0; i < operators.length; i++) { if(operators[i] == user_) { operators[i] = operators[operators.length - 1]; operators.length -= 1; } } } function checkOperator(address user_) public view returns(bool) { return authbook[user_]; } } contract StandardToken is SafeMath { mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; uint256 public totalSupply; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event Issue(address indexed _to, uint256 indexed _value); event Burn(address indexed _from, uint256 indexed _value); /* constructure */ function StandardToken() public payable {} /* Send coins */ function transfer( address to_, uint256 amount_ ) public returns(bool success) { if(balances[msg.sender] >= amount_ && amount_ > 0) { balances[msg.sender] = safeSub(balances[msg.sender], amount_); balances[to_] = safeAdd(balances[to_], amount_); emit Transfer(msg.sender, to_, amount_); return true; } else { return false; } } /* A contract attempts to get the coins */ function transferFrom( address from_, address to_, uint256 amount_ ) public returns(bool success) { if(balances[from_] >= amount_ && allowed[from_][msg.sender] >= amount_ && amount_ > 0) { balances[to_] = safeAdd(balances[to_], amount_); balances[from_] = safeSub(balances[from_], amount_); allowed[from_][msg.sender] = safeSub(allowed[from_][msg.sender], amount_); emit Transfer(from_, to_, amount_); return true; } else { return false; } } function balanceOf( address _owner ) constant public returns (uint256 balance) { return balances[_owner]; } /* Allow another contract to spend some tokens in your behalf */ function approve( address _spender, uint256 _value ) public returns (bool success) { assert((_value == 0) || (allowed[msg.sender][_spender] == 0)); allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /* Approve and then communicate the approved contract in a single tx */ function approveAndCall( address _spender, uint256 _value, bytes _extraData ) public returns (bool success) { if (approve(_spender, _value)) { TokenRecipient(_spender).receiveApproval(msg.sender, _value, this, _extraData); return true; } } function allowance(address _owner, address _spender) constant public returns (uint256 remaining) { return allowed[_owner][_spender]; } } contract XPAAssetToken is StandardToken, Authorization { // metadata address[] public burners; string public name; string public symbol; uint256 public defaultExchangeRate; uint256 public constant decimals = 18; // constructor function XPAAssetToken( string symbol_, string name_, uint256 defaultExchangeRate_ ) public { totalSupply = 0; symbol = symbol_; name = name_; defaultExchangeRate = defaultExchangeRate_ > 0 ? defaultExchangeRate_ : 0.01 ether; } function transferOwnership( address newOwner_ ) onlyOwner public { owner = newOwner_; } function create( address user_, uint256 amount_ ) public onlyOperator returns(bool success) { if(amount_ > 0 && user_ != address(0)) { totalSupply = safeAdd(totalSupply, amount_); balances[user_] = safeAdd(balances[user_], amount_); emit Issue(owner, amount_); emit Transfer(owner, user_, amount_); return true; } } function burn( uint256 amount_ ) public returns(bool success) { require(allowToBurn(msg.sender)); if(amount_ > 0 && balances[msg.sender] >= amount_) { balances[msg.sender] = safeSub(balances[msg.sender], amount_); totalSupply = safeSub(totalSupply, amount_); emit Transfer(msg.sender, owner, amount_); emit Burn(owner, amount_); return true; } } function burnFrom( address user_, uint256 amount_ ) public returns(bool success) { require(allowToBurn(msg.sender)); if(balances[user_] >= amount_ && allowed[user_][msg.sender] >= amount_ && amount_ > 0) { balances[user_] = safeSub(balances[user_], amount_); totalSupply = safeSub(totalSupply, amount_); allowed[user_][msg.sender] = safeSub(allowed[user_][msg.sender], amount_); emit Transfer(user_, owner, amount_); emit Burn(owner, amount_); return true; } } function getDefaultExchangeRate( ) public view returns(uint256) { return defaultExchangeRate; } function getSymbol( ) public view returns(bytes32) { return keccak256(symbol); } function assignBurner( address account_ ) public onlyOperator { require(account_ != address(0)); for(uint256 i = 0; i < burners.length; i++) { if(burners[i] == account_) { return; } } burners.push(account_); } function dismissBunner( address account_ ) public onlyOperator { require(account_ != address(0)); for(uint256 i = 0; i < burners.length; i++) { if(burners[i] == account_) { burners[i] = burners[burners.length - 1]; burners.length -= 1; } } } function allowToBurn( address account_ ) public view returns(bool) { if(checkOperator(account_)) { return true; } for(uint256 i = 0; i < burners.length; i++) { if(burners[i] == account_) { return true; } } } } contract TokenFactory is Authorization { string public version = "0.5.0"; event eNominatingExchange(address); event eNominatingXPAAssets(address); event eNominatingETHAssets(address); event eCancelNominatingExchange(address); event eCancelNominatingXPAAssets(address); event eCancelNominatingETHAssets(address); event eChangeExchange(address, address); event eChangeXPAAssets(address, address); event eChangeETHAssets(address, address); event eAddFundAccount(address); event eRemoveFundAccount(address); address[] public assetTokens; address[] public fundAccounts; address public exchange = 0x008ea74569c1b9bbb13780114b6b5e93396910070a; address public exchangeOldVersion = 0x0013b4b9c415213bb2d0a5d692b6f2e787b927c211; address public XPAAssets = address(0); address public ETHAssets = address(0); address public candidateXPAAssets = address(0); address public candidateETHAssets = address(0); address public candidateExchange = address(0); uint256 public candidateTillXPAAssets = 0; uint256 public candidateTillETHAssets = 0; uint256 public candidateTillExchange = 0; address public XPA = 0x0090528aeb3a2b736b780fd1b6c478bb7e1d643170; address public ETH = address(0); /* constructor */ function TokenFactory( address XPAAddr, address balivAddr ) public { XPA = XPAAddr; exchange = balivAddr; } function createToken( string symbol_, string name_, uint256 defaultExchangeRate_ ) public returns(address) { require(msg.sender == XPAAssets); bool tokenRepeat = false; address newAsset; for(uint256 i = 0; i < assetTokens.length; i++) { if(XPAAssetToken(assetTokens[i]).getSymbol() == keccak256(symbol_)){ tokenRepeat = true; newAsset = assetTokens[i]; break; } } if(!tokenRepeat){ newAsset = new XPAAssetToken(symbol_, name_, defaultExchangeRate_); XPAAssetToken(newAsset).assignOperator(XPAAssets); XPAAssetToken(newAsset).assignOperator(ETHAssets); for(uint256 j = 0; j < fundAccounts.length; j++) { XPAAssetToken(newAsset).assignBurner(fundAccounts[j]); } assetTokens.push(newAsset); } return newAsset; } // set to candadite, after 7 days set to exchange, set again after 7 days function setExchange( address exchange_ ) public onlyOperator { require( exchange_ != address(0) ); if( exchange_ == exchange && candidateExchange != address(0) ) { emit eCancelNominatingExchange(candidateExchange); candidateExchange = address(0); candidateTillExchange = 0; } else if( exchange == address(0) ) { // initial value emit eChangeExchange(address(0), exchange_); exchange = exchange_; exchangeOldVersion = exchange_; } else if( exchange_ != candidateExchange && candidateTillExchange + 86400 * 7 < block.timestamp ) { // set to candadite emit eNominatingExchange(exchange_); candidateExchange = exchange_; candidateTillExchange = block.timestamp + 86400 * 7; } else if( exchange_ == candidateExchange && candidateTillExchange < block.timestamp ) { // set to exchange emit eChangeExchange(exchange, candidateExchange); exchangeOldVersion = exchange; exchange = candidateExchange; candidateExchange = address(0); } } function setXPAAssets( address XPAAssets_ ) public onlyOperator { require( XPAAssets_ != address(0) ); if( XPAAssets_ == XPAAssets && candidateXPAAssets != address(0) ) { emit eCancelNominatingXPAAssets(candidateXPAAssets); candidateXPAAssets = address(0); candidateTillXPAAssets = 0; } else if( XPAAssets == address(0) ) { // initial value emit eChangeXPAAssets(address(0), XPAAssets_); XPAAssets = XPAAssets_; } else if( XPAAssets_ != candidateXPAAssets && candidateTillXPAAssets + 86400 * 7 < block.timestamp ) { // set to candadite emit eNominatingXPAAssets(XPAAssets_); candidateXPAAssets = XPAAssets_; candidateTillXPAAssets = block.timestamp + 86400 * 7; } else if( XPAAssets_ == candidateXPAAssets && candidateTillXPAAssets < block.timestamp ) { // set to XPAAssets emit eChangeXPAAssets(XPAAssets, candidateXPAAssets); dismissTokenOperator(XPAAssets); assignTokenOperator(candidateXPAAssets); XPAAssets = candidateXPAAssets; candidateXPAAssets = address(0); } } function setETHAssets( address ETHAssets_ ) public onlyOperator { require( ETHAssets_ != address(0) ); if( ETHAssets_ == ETHAssets && candidateETHAssets != address(0) ) { emit eCancelNominatingETHAssets(candidateETHAssets); candidateETHAssets = address(0); candidateTillETHAssets = 0; } else if( ETHAssets == address(0) ) { // initial value ETHAssets = ETHAssets_; } else if( ETHAssets_ != candidateETHAssets && candidateTillETHAssets + 86400 * 7 < block.timestamp ) { // set to candadite emit eNominatingETHAssets(ETHAssets_); candidateETHAssets = ETHAssets_; candidateTillETHAssets = block.timestamp + 86400 * 7; } else if( ETHAssets_ == candidateETHAssets && candidateTillETHAssets < block.timestamp ) { // set to ETHAssets emit eChangeETHAssets(ETHAssets, candidateETHAssets); dismissTokenOperator(ETHAssets); assignTokenOperator(candidateETHAssets); ETHAssets = candidateETHAssets; candidateETHAssets = address(0); } } function addFundAccount( address account_ ) public onlyOperator { require(account_ != address(0)); for(uint256 i = 0; i < fundAccounts.length; i++) { if(fundAccounts[i] == account_) { return; } } for(uint256 j = 0; j < assetTokens.length; j++) { XPAAssetToken(assetTokens[i]).assignBurner(account_); } emit eAddFundAccount(account_); fundAccounts.push(account_); } function removeFundAccount( address account_ ) public onlyOperator { require(account_ != address(0)); uint256 i = 0; uint256 j = 0; for(i = 0; i < fundAccounts.length; i++) { if(fundAccounts[i] == account_) { for(j = 0; j < assetTokens.length; j++) { XPAAssetToken(assetTokens[i]).dismissBunner(account_); } fundAccounts[i] = fundAccounts[fundAccounts.length - 1]; fundAccounts.length -= 1; } } } function getPrice( address token_ ) public view returns(uint256) { uint256 currPrice = Baliv(exchange).getPrice(XPA, token_); if(currPrice == 0) { currPrice = XPAAssetToken(token_).getDefaultExchangeRate(); } return currPrice; } function getAssetLength( ) public view returns(uint256) { return assetTokens.length; } function getAssetToken( uint256 index_ ) public view returns(address) { return assetTokens[index_]; } function assignTokenOperator(address user_) internal { if(user_ != address(0)) { for(uint256 i = 0; i < assetTokens.length; i++) { XPAAssetToken(assetTokens[i]).assignOperator(user_); } } } function dismissTokenOperator(address user_) internal { if(user_ != address(0)) { for(uint256 i = 0; i < assetTokens.length; i++) { XPAAssetToken(assetTokens[i]).dismissOperator(user_); } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"user_","type":"address"},{"name":"amount_","type":"uint256"}],"name":"create","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getSymbol","outputs":[{"name":"","type":"bytes32"}],"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":"defaultExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from_","type":"address"},{"name":"to_","type":"address"},{"name":"amount_","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount_","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account_","type":"address"}],"name":"allowToBurn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"user_","type":"address"},{"name":"amount_","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"user_","type":"address"}],"name":"assignOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"user_","type":"address"}],"name":"dismissOperator","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":"","type":"uint256"}],"name":"burners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account_","type":"address"}],"name":"assignBurner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to_","type":"address"},{"name":"amount_","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"onOff_","type":"bool"}],"name":"powerSwitch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user_","type":"address"}],"name":"checkOperator","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"powerStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getDefaultExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"operators","outputs":[{"name":"","type":"address"}],"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":"account_","type":"address"}],"name":"dismissBunner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"symbol_","type":"string"},{"name":"name_","type":"string"},{"name":"defaultExchangeRate_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":true,"name":"_value","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"}]
Contract Creation Code
60606040526005805460a060020a60ff0219167401000000000000000000000000000000000000000017905534156200003757600080fd5b6040516200171f3803806200171f8339810160405280805182019190602001805182019190602001805160058054600160a060020a03191633600160a060020a038116919091179091559092506200009e9150640100000000620000f5810262000c811704565b60006002556008838051620000b8929160200190620001a9565b506007828051620000ce929160200190620001a9565b5060008111620000e657662386f26fc10000620000e8565b805b600955506200027a915050565b60055433600160a060020a039081169116146200010e57fe5b600160a060020a03811615801590620001405750600160a060020a03811660009081526003602052604090205460ff16155b15620001a657600160a060020a0381166000908152600360205260409020805460ff1916600190811790915560048054909181016200018083826200022e565b5060009182526020909120018054600160a060020a031916600160a060020a0383161790555b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ec57805160ff19168380011785556200021c565b828001600101855582156200021c579182015b828111156200021c578251825591602001919060010190620001ff565b506200022a9291506200025a565b5090565b8154818355818115116200025557600083815260209020620002559181019083016200025a565b505050565b6200027791905b808211156200022a576000815560010162000261565b90565b611495806200028a6000396000f3006060604052600436106101695763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461016e578063095ea7b3146101f85780630ecaea731461022e578063150704011461025057806318160ddd146102755780632362189a1461028857806323b872dd1461029b578063313ce567146102c357806342966c68146102d657806343e0c65a146102ec57806370a082311461030b57806379cc67901461032a57806384385c6f1461034c57806385ddf7261461036d5780638da5cb5b1461038c57806395bf1305146103bb57806395d89b41146103d157806397c08da6146103e4578063a9059cbb14610403578063cae9ca5114610425578063dd1219fd1461048a578063dd62ed3e146104a2578063de1ac2fd146104c7578063df9204b6146104e6578063e0da4abd146104f9578063e28d49061461050c578063f2fde38b14610522578063ffde8eae14610541575b600080fd5b341561017957600080fd5b610181610560565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101bd5780820151838201526020016101a5565b50505050905090810190601f1680156101ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020357600080fd5b61021a600160a060020a03600435166024356105fe565b604051901515815260200160405180910390f35b341561023957600080fd5b61021a600160a060020a03600435166024356106a2565b341561025b57600080fd5b61026361078f565b60405190815260200160405180910390f35b341561028057600080fd5b610263610801565b341561029357600080fd5b610263610807565b34156102a657600080fd5b61021a600160a060020a036004358116906024351660443561080d565b34156102ce57600080fd5b61026361095f565b34156102e157600080fd5b61021a600435610964565b34156102f757600080fd5b61021a600160a060020a0360043516610a69565b341561031657600080fd5b610263600160a060020a0360043516610adc565b341561033557600080fd5b61021a600160a060020a0360043516602435610af7565b341561035757600080fd5b61036b600160a060020a0360043516610c81565b005b341561037857600080fd5b61036b600160a060020a0360043516610d3d565b341561039757600080fd5b61039f610e47565b604051600160a060020a03909116815260200160405180910390f35b34156103c657600080fd5b61039f600435610e56565b34156103dc57600080fd5b610181610e7e565b34156103ef57600080fd5b61036b600160a060020a0360043516610ee9565b341561040e57600080fd5b61021a600160a060020a0360043516602435610faa565b341561043057600080fd5b61021a60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061109795505050505050565b341561049557600080fd5b61036b60043515156111c0565b34156104ad57600080fd5b610263600160a060020a0360043581169060243516611211565b34156104d257600080fd5b61021a600160a060020a036004351661123c565b34156104f157600080fd5b61021a61125a565b341561050457600080fd5b61026361127b565b341561051757600080fd5b61039f600435611281565b341561052d57600080fd5b61036b600160a060020a036004351661128f565b341561054c57600080fd5b61036b600160a060020a03600435166112d6565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105f65780601f106105cb576101008083540402835291602001916105f6565b820191906000526020600020905b8154815290600101906020018083116105d957829003601f168201915b505050505081565b60008115806106305750600160a060020a03338116600090815260016020908152604080832093871683529290522054155b151561063857fe5b600160a060020a03338116600081815260016020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60006106ad3361123c565b15156106b557fe5b6000821180156106cd5750600160a060020a03831615155b1561069c576106de600254836113cb565b600255600160a060020a03831660009081526020819052604090205461070490836113cb565b600160a060020a03808516600090815260208190526040908190209290925560055484929116907fc65a3f767206d2fdcede0b094a4840e01c0dd0be1888b5ba800346eaa0123c16905160405180910390a3600554600160a060020a03808516911660008051602061144a8339815191528460405190815260200160405180910390a350600161069c565b6000600860405180828054600181600116156101000203166002900480156107ee5780601f106107cc5761010080835404028352918201916107ee565b820191906000526020600020905b8154815290600101906020018083116107da575b5050915050604051809103902090505b90565b60025481565b60095481565b600160a060020a03831660009081526020819052604081205482901080159061085d5750600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010155b80156108695750600082115b1561095457600160a060020a03831660009081526020819052604090205461089190836113cb565b600160a060020a0380851660009081526020819052604080822093909355908616815220546108c090836113eb565b600160a060020a0380861660009081526020818152604080832094909455600181528382203390931682529190915220546108fb90836113eb565b600160a060020a038086166000818152600160209081526040808320338616845290915290819020939093559085169160008051602061144a8339815191529085905190815260200160405180910390a3506001610958565b5060005b9392505050565b601281565b600061096f33610a69565b151561097a57600080fd5b6000821180156109a35750600160a060020a033316600090815260208190526040902054829010155b15610a6457600160a060020a0333166000908152602081905260409020546109cb90836113eb565b600160a060020a0333166000908152602081905260409020556002546109f190836113eb565b600255600554600160a060020a0390811690331660008051602061144a8339815191528460405190815260200160405180910390a36005548290600160a060020a03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a35060015b919050565b600080610a758361123c565b15610a835760019150610ad6565b5060005b600654811015610ad65782600160a060020a0316600682815481101515610aaa57fe5b600091825260209091200154600160a060020a03161415610ace5760019150610ad6565b600101610a87565b50919050565b600160a060020a031660009081526020819052604090205490565b6000610b0233610a69565b1515610b0d57600080fd5b600160a060020a038316600090815260208190526040902054829010801590610b5d5750600160a060020a0380841660009081526001602090815260408083203390941683529290522054829010155b8015610b695750600082115b1561069c57600160a060020a038316600090815260208190526040902054610b9190836113eb565b600160a060020a038416600090815260208190526040902055600254610bb790836113eb565b600255600160a060020a0380841660009081526001602090815260408083203390941683529290522054610beb90836113eb565b600160a060020a038085166000818152600160209081526040808320338616845290915290819020939093556005549091169160008051602061144a8339815191529085905190815260200160405180910390a36005548290600160a060020a03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a350600161069c565b60055433600160a060020a03908116911614610c9957fe5b600160a060020a03811615801590610cca5750600160a060020a03811660009081526003602052604090205460ff16155b15610d3a57600160a060020a0381166000908152600360205260409020805460ff191660019081179091556004805490918101610d078382611402565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b60055460009033600160a060020a03908116911614610d5857fe5b50600160a060020a0381166000908152600360205260408120805460ff191690555b600454811015610e435781600160a060020a0316600482815481101515610d9d57fe5b600091825260209091200154600160a060020a03161415610e3b57600480546000198101908110610dca57fe5b60009182526020909120015460048054600160a060020a039092169183908110610df057fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055600480546000190190610e399082611402565b505b600101610d7a565b5050565b600554600160a060020a031681565b6006805482908110610e6457fe5b600091825260209091200154600160a060020a0316905081565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105f65780601f106105cb576101008083540402835291602001916105f6565b6000610ef43361123c565b1515610efc57fe5b600160a060020a0382161515610f1157600080fd5b5060005b600654811015610f605781600160a060020a0316600682815481101515610f3857fe5b600091825260209091200154600160a060020a03161415610f5857610e43565b600101610f15565b6006805460018101610f728382611402565b5060009182526020909120018054600160a060020a03841673ffffffffffffffffffffffffffffffffffffffff199091161790555050565b600160a060020a033316600090815260208190526040812054829010801590610fd35750600082115b1561108f57600160a060020a033316600090815260208190526040902054610ffb90836113eb565b600160a060020a03338116600090815260208190526040808220939093559085168152205461102a90836113cb565b60008085600160a060020a0316600160a060020a031681526020019081526020016000208190555082600160a060020a031633600160a060020a031660008051602061144a8339815191528460405190815260200160405180910390a350600161069c565b50600061069c565b60006110a384846105fe565b156109585783600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611159578082015183820152602001611141565b50505050905090810190601f1680156111865780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156111a757600080fd5b5af115156111b457600080fd5b50505060019050610958565b6111c93361123c565b15156111d157fe5b60058054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a031660009081526003602052604090205460ff1690565b60055474010000000000000000000000000000000000000000900460ff1681565b60095490565b6004805482908110610e6457fe5b60055433600160a060020a039081169116146112a757fe5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60006112e13361123c565b15156112e957fe5b600160a060020a03821615156112fe57600080fd5b5060005b600654811015610e435781600160a060020a031660068281548110151561132557fe5b600091825260209091200154600160a060020a031614156113c35760068054600019810190811061135257fe5b60009182526020909120015460068054600160a060020a03909216918390811061137857fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556006805460001901906113c19082611402565b505b600101611302565b60008282018381108015906113e05750828110155b151561095857600080fd5b600080828410156113fb57600080fd5b5050900390565b8154818355818115116114265760008381526020902061142691810190830161142b565b505050565b6107fe91905b808211156114455760008155600101611431565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058204577ac0ba9eb8d87fea651b988ff807b0bc94dd32592f4ce9f9e2bf22ea472a30029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000000003555358000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065850415553440000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6060604052600436106101695763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461016e578063095ea7b3146101f85780630ecaea731461022e578063150704011461025057806318160ddd146102755780632362189a1461028857806323b872dd1461029b578063313ce567146102c357806342966c68146102d657806343e0c65a146102ec57806370a082311461030b57806379cc67901461032a57806384385c6f1461034c57806385ddf7261461036d5780638da5cb5b1461038c57806395bf1305146103bb57806395d89b41146103d157806397c08da6146103e4578063a9059cbb14610403578063cae9ca5114610425578063dd1219fd1461048a578063dd62ed3e146104a2578063de1ac2fd146104c7578063df9204b6146104e6578063e0da4abd146104f9578063e28d49061461050c578063f2fde38b14610522578063ffde8eae14610541575b600080fd5b341561017957600080fd5b610181610560565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101bd5780820151838201526020016101a5565b50505050905090810190601f1680156101ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020357600080fd5b61021a600160a060020a03600435166024356105fe565b604051901515815260200160405180910390f35b341561023957600080fd5b61021a600160a060020a03600435166024356106a2565b341561025b57600080fd5b61026361078f565b60405190815260200160405180910390f35b341561028057600080fd5b610263610801565b341561029357600080fd5b610263610807565b34156102a657600080fd5b61021a600160a060020a036004358116906024351660443561080d565b34156102ce57600080fd5b61026361095f565b34156102e157600080fd5b61021a600435610964565b34156102f757600080fd5b61021a600160a060020a0360043516610a69565b341561031657600080fd5b610263600160a060020a0360043516610adc565b341561033557600080fd5b61021a600160a060020a0360043516602435610af7565b341561035757600080fd5b61036b600160a060020a0360043516610c81565b005b341561037857600080fd5b61036b600160a060020a0360043516610d3d565b341561039757600080fd5b61039f610e47565b604051600160a060020a03909116815260200160405180910390f35b34156103c657600080fd5b61039f600435610e56565b34156103dc57600080fd5b610181610e7e565b34156103ef57600080fd5b61036b600160a060020a0360043516610ee9565b341561040e57600080fd5b61021a600160a060020a0360043516602435610faa565b341561043057600080fd5b61021a60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061109795505050505050565b341561049557600080fd5b61036b60043515156111c0565b34156104ad57600080fd5b610263600160a060020a0360043581169060243516611211565b34156104d257600080fd5b61021a600160a060020a036004351661123c565b34156104f157600080fd5b61021a61125a565b341561050457600080fd5b61026361127b565b341561051757600080fd5b61039f600435611281565b341561052d57600080fd5b61036b600160a060020a036004351661128f565b341561054c57600080fd5b61036b600160a060020a03600435166112d6565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105f65780601f106105cb576101008083540402835291602001916105f6565b820191906000526020600020905b8154815290600101906020018083116105d957829003601f168201915b505050505081565b60008115806106305750600160a060020a03338116600090815260016020908152604080832093871683529290522054155b151561063857fe5b600160a060020a03338116600081815260016020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60006106ad3361123c565b15156106b557fe5b6000821180156106cd5750600160a060020a03831615155b1561069c576106de600254836113cb565b600255600160a060020a03831660009081526020819052604090205461070490836113cb565b600160a060020a03808516600090815260208190526040908190209290925560055484929116907fc65a3f767206d2fdcede0b094a4840e01c0dd0be1888b5ba800346eaa0123c16905160405180910390a3600554600160a060020a03808516911660008051602061144a8339815191528460405190815260200160405180910390a350600161069c565b6000600860405180828054600181600116156101000203166002900480156107ee5780601f106107cc5761010080835404028352918201916107ee565b820191906000526020600020905b8154815290600101906020018083116107da575b5050915050604051809103902090505b90565b60025481565b60095481565b600160a060020a03831660009081526020819052604081205482901080159061085d5750600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010155b80156108695750600082115b1561095457600160a060020a03831660009081526020819052604090205461089190836113cb565b600160a060020a0380851660009081526020819052604080822093909355908616815220546108c090836113eb565b600160a060020a0380861660009081526020818152604080832094909455600181528382203390931682529190915220546108fb90836113eb565b600160a060020a038086166000818152600160209081526040808320338616845290915290819020939093559085169160008051602061144a8339815191529085905190815260200160405180910390a3506001610958565b5060005b9392505050565b601281565b600061096f33610a69565b151561097a57600080fd5b6000821180156109a35750600160a060020a033316600090815260208190526040902054829010155b15610a6457600160a060020a0333166000908152602081905260409020546109cb90836113eb565b600160a060020a0333166000908152602081905260409020556002546109f190836113eb565b600255600554600160a060020a0390811690331660008051602061144a8339815191528460405190815260200160405180910390a36005548290600160a060020a03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a35060015b919050565b600080610a758361123c565b15610a835760019150610ad6565b5060005b600654811015610ad65782600160a060020a0316600682815481101515610aaa57fe5b600091825260209091200154600160a060020a03161415610ace5760019150610ad6565b600101610a87565b50919050565b600160a060020a031660009081526020819052604090205490565b6000610b0233610a69565b1515610b0d57600080fd5b600160a060020a038316600090815260208190526040902054829010801590610b5d5750600160a060020a0380841660009081526001602090815260408083203390941683529290522054829010155b8015610b695750600082115b1561069c57600160a060020a038316600090815260208190526040902054610b9190836113eb565b600160a060020a038416600090815260208190526040902055600254610bb790836113eb565b600255600160a060020a0380841660009081526001602090815260408083203390941683529290522054610beb90836113eb565b600160a060020a038085166000818152600160209081526040808320338616845290915290819020939093556005549091169160008051602061144a8339815191529085905190815260200160405180910390a36005548290600160a060020a03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a350600161069c565b60055433600160a060020a03908116911614610c9957fe5b600160a060020a03811615801590610cca5750600160a060020a03811660009081526003602052604090205460ff16155b15610d3a57600160a060020a0381166000908152600360205260409020805460ff191660019081179091556004805490918101610d078382611402565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b60055460009033600160a060020a03908116911614610d5857fe5b50600160a060020a0381166000908152600360205260408120805460ff191690555b600454811015610e435781600160a060020a0316600482815481101515610d9d57fe5b600091825260209091200154600160a060020a03161415610e3b57600480546000198101908110610dca57fe5b60009182526020909120015460048054600160a060020a039092169183908110610df057fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055600480546000190190610e399082611402565b505b600101610d7a565b5050565b600554600160a060020a031681565b6006805482908110610e6457fe5b600091825260209091200154600160a060020a0316905081565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105f65780601f106105cb576101008083540402835291602001916105f6565b6000610ef43361123c565b1515610efc57fe5b600160a060020a0382161515610f1157600080fd5b5060005b600654811015610f605781600160a060020a0316600682815481101515610f3857fe5b600091825260209091200154600160a060020a03161415610f5857610e43565b600101610f15565b6006805460018101610f728382611402565b5060009182526020909120018054600160a060020a03841673ffffffffffffffffffffffffffffffffffffffff199091161790555050565b600160a060020a033316600090815260208190526040812054829010801590610fd35750600082115b1561108f57600160a060020a033316600090815260208190526040902054610ffb90836113eb565b600160a060020a03338116600090815260208190526040808220939093559085168152205461102a90836113cb565b60008085600160a060020a0316600160a060020a031681526020019081526020016000208190555082600160a060020a031633600160a060020a031660008051602061144a8339815191528460405190815260200160405180910390a350600161069c565b50600061069c565b60006110a384846105fe565b156109585783600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611159578082015183820152602001611141565b50505050905090810190601f1680156111865780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156111a757600080fd5b5af115156111b457600080fd5b50505060019050610958565b6111c93361123c565b15156111d157fe5b60058054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a031660009081526003602052604090205460ff1690565b60055474010000000000000000000000000000000000000000900460ff1681565b60095490565b6004805482908110610e6457fe5b60055433600160a060020a039081169116146112a757fe5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60006112e13361123c565b15156112e957fe5b600160a060020a03821615156112fe57600080fd5b5060005b600654811015610e435781600160a060020a031660068281548110151561132557fe5b600091825260209091200154600160a060020a031614156113c35760068054600019810190811061135257fe5b60009182526020909120015460068054600160a060020a03909216918390811061137857fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556006805460001901906113c19082611402565b505b600101611302565b60008282018381108015906113e05750828110155b151561095857600080fd5b600080828410156113fb57600080fd5b5050900390565b8154818355818115116114265760008381526020902061142691810190830161142b565b505050565b6107fe91905b808211156114455760008155600101611431565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058204577ac0ba9eb8d87fea651b988ff807b0bc94dd32592f4ce9f9e2bf22ea472a30029
Swarm Source
bzzr://4577ac0ba9eb8d87fea651b988ff807b0bc94dd32592f4ce9f9e2bf22ea472a3
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.