Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
800,000,000 ST
Holders
12,511 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH (+10.68%)
Onchain Market Cap
$159,968.00
Circulating Supply Market Cap
$138,259.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
4.466045582369734052 STValue
$0.00 ( ~0 Eth) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SimpleToken
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-11-12 */ pragma solidity ^0.4.17; // ---------------------------------------------------------------------------- // Simple Token Contract // // Copyright (c) 2017 OpenST Ltd. // https://simpletoken.org/ // // The MIT Licence. // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // SafeMath Library Implementation // // Copyright (c) 2017 OpenST Ltd. // https://simpletoken.org/ // // The MIT Licence. // // Based on the SafeMath library by the OpenZeppelin team. // Copyright (c) 2016 Smart Contract Solutions, Inc. // https://github.com/OpenZeppelin/zeppelin-solidity // The MIT License. // ---------------------------------------------------------------------------- library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // 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; } } // // Implements basic ownership with 2-step transfers. // contract Owned { address public owner; address public proposedOwner; event OwnershipTransferInitiated(address indexed _proposedOwner); event OwnershipTransferCompleted(address indexed _newOwner); function Owned() public { owner = msg.sender; } modifier onlyOwner() { require(isOwner(msg.sender)); _; } function isOwner(address _address) internal view returns (bool) { return (_address == owner); } function initiateOwnershipTransfer(address _proposedOwner) public onlyOwner returns (bool) { proposedOwner = _proposedOwner; OwnershipTransferInitiated(_proposedOwner); return true; } function completeOwnershipTransfer() public returns (bool) { require(msg.sender == proposedOwner); owner = proposedOwner; proposedOwner = address(0); OwnershipTransferCompleted(owner); return true; } } contract SimpleTokenConfig { string public constant TOKEN_SYMBOL = "ST"; string public constant TOKEN_NAME = "Simple Token"; uint8 public constant TOKEN_DECIMALS = 18; uint256 public constant DECIMALSFACTOR = 10**uint256(TOKEN_DECIMALS); uint256 public constant TOKENS_MAX = 800000000 * DECIMALSFACTOR; } contract ERC20Interface { event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); function name() public view returns (string); function symbol() public view returns (string); function decimals() public view returns (uint8); function totalSupply() public view returns (uint256); function balanceOf(address _owner) public view returns (uint256 balance); function allowance(address _owner, address _spender) public view returns (uint256 remaining); function transfer(address _to, uint256 _value) public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); } // // Standard ERC20 implementation, with ownership. // contract ERC20Token is ERC20Interface, Owned { using SafeMath for uint256; string private tokenName; string private tokenSymbol; uint8 private tokenDecimals; uint256 internal tokenTotalSupply; mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; function ERC20Token(string _symbol, string _name, uint8 _decimals, uint256 _totalSupply) public Owned() { tokenSymbol = _symbol; tokenName = _name; tokenDecimals = _decimals; tokenTotalSupply = _totalSupply; balances[owner] = _totalSupply; // According to the ERC20 standard, a token contract which creates new tokens should trigger // a Transfer event and transfers of 0 values must also fire the event. Transfer(0x0, owner, _totalSupply); } function name() public view returns (string) { return tokenName; } function symbol() public view returns (string) { return tokenSymbol; } function decimals() public view returns (uint8) { return tokenDecimals; } function totalSupply() public view returns (uint256) { return tokenTotalSupply; } function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } function transfer(address _to, uint256 _value) public returns (bool success) { // According to the EIP20 spec, "transfers of 0 values MUST be treated as normal // transfers and fire the Transfer event". // Also, should throw if not enough balance. This is taken care of by SafeMath. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { balances[_from] = balances[_from].sub(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(_from, _to, _value); return true; } function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } } // // Implements a more advanced ownership and permission model based on owner, // admin and ops per Simple Token key management specification. // contract OpsManaged is Owned { address public opsAddress; address public adminAddress; event AdminAddressChanged(address indexed _newAddress); event OpsAddressChanged(address indexed _newAddress); function OpsManaged() public Owned() { } modifier onlyAdmin() { require(isAdmin(msg.sender)); _; } modifier onlyAdminOrOps() { require(isAdmin(msg.sender) || isOps(msg.sender)); _; } modifier onlyOwnerOrAdmin() { require(isOwner(msg.sender) || isAdmin(msg.sender)); _; } modifier onlyOps() { require(isOps(msg.sender)); _; } function isAdmin(address _address) internal view returns (bool) { return (adminAddress != address(0) && _address == adminAddress); } function isOps(address _address) internal view returns (bool) { return (opsAddress != address(0) && _address == opsAddress); } function isOwnerOrOps(address _address) internal view returns (bool) { return (isOwner(_address) || isOps(_address)); } // Owner and Admin can change the admin address. Address can also be set to 0 to 'disable' it. function setAdminAddress(address _adminAddress) external onlyOwnerOrAdmin returns (bool) { require(_adminAddress != owner); require(_adminAddress != address(this)); require(!isOps(_adminAddress)); adminAddress = _adminAddress; AdminAddressChanged(_adminAddress); return true; } // Owner and Admin can change the operations address. Address can also be set to 0 to 'disable' it. function setOpsAddress(address _opsAddress) external onlyOwnerOrAdmin returns (bool) { require(_opsAddress != owner); require(_opsAddress != address(this)); require(!isAdmin(_opsAddress)); opsAddress = _opsAddress; OpsAddressChanged(_opsAddress); return true; } } // // SimpleToken is a standard ERC20 token with some additional functionality: // - It has a concept of finalize // - Before finalize, nobody can transfer tokens except: // - Owner and operations can transfer tokens // - Anybody can send back tokens to owner // - After finalize, no restrictions on token transfers // // // Permissions, according to the ST key management specification. // // Owner Admin Ops // transfer (before finalize) x x // transferForm (before finalize) x x // finalize x // contract SimpleToken is ERC20Token, OpsManaged, SimpleTokenConfig { bool public finalized; // Events event Burnt(address indexed _from, uint256 _amount); event Finalized(); function SimpleToken() public ERC20Token(TOKEN_SYMBOL, TOKEN_NAME, TOKEN_DECIMALS, TOKENS_MAX) OpsManaged() { finalized = false; } // Implementation of the standard transfer method that takes into account the finalize flag. function transfer(address _to, uint256 _value) public returns (bool success) { checkTransferAllowed(msg.sender, _to); return super.transfer(_to, _value); } // Implementation of the standard transferFrom method that takes into account the finalize flag. function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { checkTransferAllowed(msg.sender, _to); return super.transferFrom(_from, _to, _value); } function checkTransferAllowed(address _sender, address _to) private view { if (finalized) { // Everybody should be ok to transfer once the token is finalized. return; } // Owner and Ops are allowed to transfer tokens before the sale is finalized. // This allows the tokens to move from the TokenSale contract to a beneficiary. // We also allow someone to send tokens back to the owner. This is useful among other // cases, for the Trustee to transfer unlocked tokens back to the owner (reclaimTokens). require(isOwnerOrOps(_sender) || _to == owner); } // Implement a burn function to permit msg.sender to reduce its balance // which also reduces tokenTotalSupply function burn(uint256 _value) public returns (bool success) { require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value); tokenTotalSupply = tokenTotalSupply.sub(_value); Burnt(msg.sender, _value); return true; } // Finalize method marks the point where token transfers are finally allowed for everybody. function finalize() external onlyAdmin returns (bool success) { require(!finalized); finalized = true; Finalized(); return true; } }
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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_adminAddress","type":"address"}],"name":"setAdminAddress","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":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_DECIMALS","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_opsAddress","type":"address"}],"name":"setOpsAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALSFACTOR","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"opsAddress","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":"TOKENS_MAX","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"finalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedOwner","type":"address"}],"name":"initiateOwnershipTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proposedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":false,"inputs":[],"name":"completeOwnershipTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"adminAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Burnt","type":"event"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newAddress","type":"address"}],"name":"AdminAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newAddress","type":"address"}],"name":"OpsAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_proposedOwner","type":"address"}],"name":"OwnershipTransferInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnershipTransferCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b604080519081016040908152600282527f535400000000000000000000000000000000000000000000000000000000000060208301528051908101604052600c81527f53696d706c6520546f6b656e0000000000000000000000000000000000000000602082015260008054600160a060020a03191633600160a060020a031617905560126b0295be96e64066972000000060038480516100b492916020019061014f565b5060028380516100c892916020019061014f565b506004805460ff191660ff8416179055600581905560008054600160a060020a03908116825260066020526040808320849055825490911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a350506009805460a060020a60ff0219169055506101ea9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061019057805160ff19168380011785556101bd565b828001600101855582156101bd579182015b828111156101bd5782518255916020019190600101906101a2565b506101c99291506101cd565b5090565b6101e791905b808211156101c957600081556001016101d3565b90565b610e4c806101f96000396000f3006060604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020d578063188214001461023257806323b872dd146102455780632a9053181461026d5780632c1e816d14610280578063313ce5671461029f57806342966c68146102c85780634bb278f3146102de5780635b7f415c146102f1578063707789c51461030457806370a08231146103235780638bc04eb7146103425780638da5cb5b146103555780638ea643761461038457806395d89b4114610397578063a67e91a8146103aa578063a9059cbb146103bd578063b3f05b97146103df578063c0b6f561146103f2578063d153b60c14610411578063dd62ed3e14610424578063e71a781114610449578063fc6f94681461045c575b600080fd5b341561015857600080fd5b61016061046f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019c578082015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e257600080fd5b6101f9600160a060020a0360043516602435610517565b604051901515815260200160405180910390f35b341561021857600080fd5b610220610583565b60405190815260200160405180910390f35b341561023d57600080fd5b610160610589565b341561025057600080fd5b6101f9600160a060020a03600435811690602435166044356105c0565b341561027857600080fd5b6101606105df565b341561028b57600080fd5b6101f9600160a060020a0360043516610616565b34156102aa57600080fd5b6102b26106e9565b60405160ff909116815260200160405180910390f35b34156102d357600080fd5b6101f96004356106f2565b34156102e957600080fd5b6101f96107b4565b34156102fc57600080fd5b6102b2610837565b341561030f57600080fd5b6101f9600160a060020a036004351661083c565b341561032e57600080fd5b610220600160a060020a036004351661090f565b341561034d57600080fd5b61022061092a565b341561036057600080fd5b610368610936565b604051600160a060020a03909116815260200160405180910390f35b341561038f57600080fd5b610368610945565b34156103a257600080fd5b610160610954565b34156103b557600080fd5b6102206109c7565b34156103c857600080fd5b6101f9600160a060020a03600435166024356109d7565b34156103ea57600080fd5b6101f96109f4565b34156103fd57600080fd5b6101f9600160a060020a0360043516610a04565b341561041c57600080fd5b610368610a79565b341561042f57600080fd5b610220600160a060020a0360043581169060243516610a88565b341561045457600080fd5b6101f9610ab3565b341561046757600080fd5b610368610b3a565b610477610e0e565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905090565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055490565b60408051908101604052600c81527f53696d706c6520546f6b656e0000000000000000000000000000000000000000602082015281565b60006105cc3384610b49565b6105d7848484610b90565b949350505050565b60408051908101604052600281527f5354000000000000000000000000000000000000000000000000000000000000602082015281565b600061062133610ca3565b80610630575061063033610cb7565b151561063b57600080fd5b600054600160a060020a038381169116141561065657600080fd5b30600160a060020a031682600160a060020a03161415151561067757600080fd5b61068082610ce7565b1561068a57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f17bb0532ac84902a52bb6799529153f5ea501fc54fbcf3ea00dbd42bceb6b0f460405160405180910390a2506001919050565b60045460ff1690565b600160a060020a03331660009081526006602052604081205482111561071757600080fd5b600160a060020a033316600090815260066020526040902054610740908363ffffffff610d1416565b600160a060020a03331660009081526006602052604090205560055461076c908363ffffffff610d1416565b600555600160a060020a0333167f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b18360405190815260200160405180910390a2506001919050565b60006107bf33610cb7565b15156107ca57600080fd5b60095460a060020a900460ff16156107e157600080fd5b6009805474ff0000000000000000000000000000000000000000191660a060020a1790557f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a150600190565b601281565b600061084733610ca3565b80610856575061085633610cb7565b151561086157600080fd5b600054600160a060020a038381169116141561087c57600080fd5b30600160a060020a031682600160a060020a03161415151561089d57600080fd5b6108a682610cb7565b156108b057600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557fac46a4511b8366ae3b7cf3cf342e31556274975598dcae03c866f8f0f55d51c460405160405180910390a2506001919050565b600160a060020a031660009081526006602052604090205490565b670de0b6b3a764000081565b600054600160a060020a031681565b600854600160a060020a031681565b61095c610e0e565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b6b0295be96e64066972000000081565b60006109e33384610b49565b6109ed8383610d26565b9392505050565b60095460a060020a900460ff1681565b6000610a0f33610ca3565b1515610a1a57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f20f5afdf40bf7b43c89031a5d4369a30b159e512d164aa46124bcb706b4a1caf60405160405180910390a2506001919050565b600154600160a060020a031681565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b60015460009033600160a060020a03908116911614610ad157600080fd5b6001805460008054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff1992831617928390559216909255167f624adc4c72536289dd9d5439ccdeccd8923cb9af95fb626b21935447c77b840760405160405180910390a250600190565b600954600160a060020a031681565b60095460a060020a900460ff1615610b6057610b8c565b610b6982610de5565b80610b815750600054600160a060020a038281169116145b1515610b8c57600080fd5b5050565b600160a060020a038316600090815260066020526040812054610bb9908363ffffffff610d1416565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054610bfc908363ffffffff610d1416565b600160a060020a0380861660009081526007602090815260408083203385168452825280832094909455918616815260069091522054610c42908363ffffffff610dff16565b600160a060020a03808516600081815260066020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600054600160a060020a0390811691161490565b600954600090600160a060020a031615801590610ce15750600954600160a060020a038381169116145b92915050565b600854600090600160a060020a031615801590610ce1575050600854600160a060020a0390811691161490565b600082821115610d2057fe5b50900390565b600160a060020a033316600090815260066020526040812054610d4f908363ffffffff610d1416565b600160a060020a033381166000908152600660205260408082209390935590851681522054610d84908363ffffffff610dff16565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000610df082610ca3565b80610ce15750610ce182610ce7565b6000828201838110156109ed57fe5b602060405190810160405260008152905600a165627a7a723058202834b25310e165b028c7358691ec1bfc91fb5d3d4a55ea9b470bf23ac34d26d90029
Deployed Bytecode
0x6060604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020d578063188214001461023257806323b872dd146102455780632a9053181461026d5780632c1e816d14610280578063313ce5671461029f57806342966c68146102c85780634bb278f3146102de5780635b7f415c146102f1578063707789c51461030457806370a08231146103235780638bc04eb7146103425780638da5cb5b146103555780638ea643761461038457806395d89b4114610397578063a67e91a8146103aa578063a9059cbb146103bd578063b3f05b97146103df578063c0b6f561146103f2578063d153b60c14610411578063dd62ed3e14610424578063e71a781114610449578063fc6f94681461045c575b600080fd5b341561015857600080fd5b61016061046f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019c578082015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e257600080fd5b6101f9600160a060020a0360043516602435610517565b604051901515815260200160405180910390f35b341561021857600080fd5b610220610583565b60405190815260200160405180910390f35b341561023d57600080fd5b610160610589565b341561025057600080fd5b6101f9600160a060020a03600435811690602435166044356105c0565b341561027857600080fd5b6101606105df565b341561028b57600080fd5b6101f9600160a060020a0360043516610616565b34156102aa57600080fd5b6102b26106e9565b60405160ff909116815260200160405180910390f35b34156102d357600080fd5b6101f96004356106f2565b34156102e957600080fd5b6101f96107b4565b34156102fc57600080fd5b6102b2610837565b341561030f57600080fd5b6101f9600160a060020a036004351661083c565b341561032e57600080fd5b610220600160a060020a036004351661090f565b341561034d57600080fd5b61022061092a565b341561036057600080fd5b610368610936565b604051600160a060020a03909116815260200160405180910390f35b341561038f57600080fd5b610368610945565b34156103a257600080fd5b610160610954565b34156103b557600080fd5b6102206109c7565b34156103c857600080fd5b6101f9600160a060020a03600435166024356109d7565b34156103ea57600080fd5b6101f96109f4565b34156103fd57600080fd5b6101f9600160a060020a0360043516610a04565b341561041c57600080fd5b610368610a79565b341561042f57600080fd5b610220600160a060020a0360043581169060243516610a88565b341561045457600080fd5b6101f9610ab3565b341561046757600080fd5b610368610b3a565b610477610e0e565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905090565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055490565b60408051908101604052600c81527f53696d706c6520546f6b656e0000000000000000000000000000000000000000602082015281565b60006105cc3384610b49565b6105d7848484610b90565b949350505050565b60408051908101604052600281527f5354000000000000000000000000000000000000000000000000000000000000602082015281565b600061062133610ca3565b80610630575061063033610cb7565b151561063b57600080fd5b600054600160a060020a038381169116141561065657600080fd5b30600160a060020a031682600160a060020a03161415151561067757600080fd5b61068082610ce7565b1561068a57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f17bb0532ac84902a52bb6799529153f5ea501fc54fbcf3ea00dbd42bceb6b0f460405160405180910390a2506001919050565b60045460ff1690565b600160a060020a03331660009081526006602052604081205482111561071757600080fd5b600160a060020a033316600090815260066020526040902054610740908363ffffffff610d1416565b600160a060020a03331660009081526006602052604090205560055461076c908363ffffffff610d1416565b600555600160a060020a0333167f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b18360405190815260200160405180910390a2506001919050565b60006107bf33610cb7565b15156107ca57600080fd5b60095460a060020a900460ff16156107e157600080fd5b6009805474ff0000000000000000000000000000000000000000191660a060020a1790557f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a150600190565b601281565b600061084733610ca3565b80610856575061085633610cb7565b151561086157600080fd5b600054600160a060020a038381169116141561087c57600080fd5b30600160a060020a031682600160a060020a03161415151561089d57600080fd5b6108a682610cb7565b156108b057600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557fac46a4511b8366ae3b7cf3cf342e31556274975598dcae03c866f8f0f55d51c460405160405180910390a2506001919050565b600160a060020a031660009081526006602052604090205490565b670de0b6b3a764000081565b600054600160a060020a031681565b600854600160a060020a031681565b61095c610e0e565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b6b0295be96e64066972000000081565b60006109e33384610b49565b6109ed8383610d26565b9392505050565b60095460a060020a900460ff1681565b6000610a0f33610ca3565b1515610a1a57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f20f5afdf40bf7b43c89031a5d4369a30b159e512d164aa46124bcb706b4a1caf60405160405180910390a2506001919050565b600154600160a060020a031681565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b60015460009033600160a060020a03908116911614610ad157600080fd5b6001805460008054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff1992831617928390559216909255167f624adc4c72536289dd9d5439ccdeccd8923cb9af95fb626b21935447c77b840760405160405180910390a250600190565b600954600160a060020a031681565b60095460a060020a900460ff1615610b6057610b8c565b610b6982610de5565b80610b815750600054600160a060020a038281169116145b1515610b8c57600080fd5b5050565b600160a060020a038316600090815260066020526040812054610bb9908363ffffffff610d1416565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054610bfc908363ffffffff610d1416565b600160a060020a0380861660009081526007602090815260408083203385168452825280832094909455918616815260069091522054610c42908363ffffffff610dff16565b600160a060020a03808516600081815260066020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600054600160a060020a0390811691161490565b600954600090600160a060020a031615801590610ce15750600954600160a060020a038381169116145b92915050565b600854600090600160a060020a031615801590610ce1575050600854600160a060020a0390811691161490565b600082821115610d2057fe5b50900390565b600160a060020a033316600090815260066020526040812054610d4f908363ffffffff610d1416565b600160a060020a033381166000908152600660205260408082209390935590851681522054610d84908363ffffffff610dff16565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000610df082610ca3565b80610ce15750610ce182610ce7565b6000828201838110156109ed57fe5b602060405190810160405260008152905600a165627a7a723058202834b25310e165b028c7358691ec1bfc91fb5d3d4a55ea9b470bf23ac34d26d90029
Swarm Source
bzzr://2834b25310e165b028c7358691ec1bfc91fb5d3d4a55ea9b470bf23ac34d26d9
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.