Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
300,000 SMS
Holders
40
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 3 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SMSCoin
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-10-27 */ pragma solidity ^0.4.8; contract ERC20 { // Standard interface function totalSupply() public constant returns(uint256 _totalSupply); function balanceOf(address who) public constant returns(uint256 balance); function transfer(address to, uint value) public returns(bool success); function transferFrom(address from, address to, uint value) public returns(bool success); function approve(address spender, uint value) public returns(bool success); function allowance(address owner, address spender) public constant returns(uint remaining); event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); } contract SMSCoin is ERC20 { string public constant name = "Speed Mining Service"; string public constant symbol = "SMS"; uint256 public constant decimals = 3; uint256 public constant UNIT = 10 ** decimals; uint public totalSupply = 0; // (initial with 0), targeted 2.9 Million SMS uint tokenSaleLot1 = 150000 * UNIT; uint reservedBonusLot1 = 45000 * UNIT; // 45,000 tokens are the maximum possible bonus from 30% of 150,000 tokens in the bonus phase uint tokenSaleLot2 = 50000 * UNIT; uint tokenSaleLot3 = 50000 * UNIT; struct BonusStruct { uint8 ratio1; uint8 ratio2; uint8 ratio3; uint8 ratio4; } BonusStruct bonusRatio; uint public saleCounter = 0; uint public limitedSale = 0; uint public sentBonus = 0; uint public soldToken = 0; mapping(address => uint) balances; mapping(address => mapping(address => uint)) allowed; address[] addresses; mapping(address => address) private userStructs; address owner; address mint = address(this); // Contract address as a minter address genesis = 0x0; //uint256 public tokenPrice = 0.001 ether; // Test uint256 public tokenPrice = 0.8 ether; event Log(uint e); event TOKEN(string e); bool icoOnPaused = false; uint256 startDate; uint256 endDate; uint currentPhase = 0; bool needToBurn = false; modifier onlyOwner() { if (msg.sender != owner) { revert(); } _; } function SMSCoin() public { owner = msg.sender; } /** * Divide with safety check */ function safeDiv(uint a, uint b) pure internal returns(uint) { //overflow check; b must not be 0 assert(b > 0); uint c = a / b; assert(a == b * c + a % b); return c; } /** * Multiplication with safety check */ function safeMul(uint a, uint b) pure internal returns(uint) { uint c = a * b; //check result should not be other wise until a=0 assert(a == 0 || c / a == b); return c; } /** * Add with safety check */ function safeAdd(uint a, uint b) pure internal returns (uint) { assert (a + b >= a); return a + b; } function setBonus(uint8 ratio1, uint8 ratio2, uint8 ratio3, uint8 ratio4) private { bonusRatio.ratio1 = ratio1; bonusRatio.ratio2 = ratio2; bonusRatio.ratio3 = ratio3; bonusRatio.ratio4 = ratio4; } function calcBonus(uint256 sendingSMSToken) view private returns(uint256) { uint256 sendingSMSBonus; // Calculating bonus if (sendingSMSToken < (10 * UNIT)) { // 0-9 sendingSMSBonus = (sendingSMSToken * bonusRatio.ratio1) / 100; } else if (sendingSMSToken < (50 * UNIT)) { // 10-49 sendingSMSBonus = (sendingSMSToken * bonusRatio.ratio2) / 100; } else if (sendingSMSToken < (100 * UNIT)) { // 50-99 sendingSMSBonus = (sendingSMSToken * bonusRatio.ratio3) / 100; } else { // 100+ sendingSMSBonus = (sendingSMSToken * bonusRatio.ratio4) / 100; } return sendingSMSBonus; } // Selling SMS token function () public payable { uint256 receivedETH = 0; uint256 sendingSMSToken = 0; uint256 sendingSMSBonus = 0; Log(msg.value); // Only for selling to investors if (!icoOnPaused && msg.sender != owner) { if (now <= endDate) { // All the phases Log(currentPhase); // Calculating SMS receivedETH = (msg.value * UNIT); sendingSMSToken = safeDiv(receivedETH, tokenPrice); Log(sendingSMSToken); // Calculating Bonus if (currentPhase == 1 || currentPhase == 2 || currentPhase == 3) { // Phase 1-3 with Bonus 1 sendingSMSBonus = calcBonus(sendingSMSToken); Log(sendingSMSBonus); } // Giving SMS + Bonus (if any) Log(sendingSMSToken); if (!transferTokens(msg.sender, sendingSMSToken, sendingSMSBonus)) revert(); } else { revert(); } } else { revert(); } } // ======== Bonus Period 1 ======== // --- Bonus --- // 0-9 SMS -> 5% // 10-49 SMS -> 10% // 50-99 SMS -> 20% // 100~ SMS -> 30% // --- Time --- (2 days 9 hours 59 minutes 59 seconds ) // From 27 Oct 2017, 14:00 PM JST (27 Oct 2017, 5:00 AM GMT) // To 29 Oct 2017, 23:59 PM JST (29 Oct 2017, 14:59 PM GMT) function start1BonusPeriod1() external onlyOwner { // Supply setting (only once) if (currentPhase == 0) { balances[owner] = tokenSaleLot1; // Start balance for SpeedMining Co., Ltd. balances[address(this)] = tokenSaleLot1; // Start balance for SMSCoin (for investors) totalSupply = balances[owner] + balances[address(this)]; saleCounter = 0; limitedSale = tokenSaleLot1; // Add owner address into the list as the first wallet who own token(s) addAddress(owner); // Send owner account the initial tokens (rather than only a contract address) Transfer(address(this), owner, balances[owner]); // Set burning is needed needToBurn = true; } // ICO stage init icoOnPaused = false; currentPhase = 1; startDate = block.timestamp; endDate = startDate + 2 days + 9 hours + 59 minutes + 59 seconds; // Bonus setting setBonus(5, 10, 20, 30); } // ======== Bonus Period 2 ======== // --- Bonus --- // 0-9 SMS -> 3% // 10-49 SMS -> 5% // 50-99 SMS -> 10% // 100~ SMS -> 15% // --- Time --- (11 days 9 hours 59 minutes 59 seconds) // From 30 Oct 2017, 14:00 PM JST (30 Oct 2017, 5:00 AM GMT) // To 10 Nov 2017, 23:59 PM JST (10 Nov 2017, 14:59 PM GMT) function start2BonusPeriod2() external onlyOwner { // ICO stage init icoOnPaused = false; currentPhase = 2; startDate = block.timestamp; endDate = startDate + 11 days + 9 hours + 59 minutes + 59 seconds; // Bonus setting setBonus(3, 5, 10, 15); } // ======== Bonus Period 3 ======== // --- Bonus --- // 0-9 SMS -> 1% // 10-49 SMS -> 3% // 50-99 SMS -> 5% // 100~ SMS -> 8% // --- Time --- (51 days) // From 11 Nov 2017, 00:00 AM JST (10 Nov 2017, 15:00 PM GMT) // To 31 Dec 2017, 23:59 PM JST (31 Dec 2017, 14:59 PM GMT) function start3BonusPeriod3() external onlyOwner { // ICO stage init icoOnPaused = false; currentPhase = 3; startDate = block.timestamp; endDate = startDate + 51 days; // Bonus setting setBonus(1, 3, 5, 8); } // ======== Normal Period 1 (2018) ======== // --- Time --- (31 days) // From 1 Jan 2018, 00:00 AM JST (31 Dec 2017, 15:00 PM GMT) // To 31 Jan 2018, 23:59 PM JST (31 Jan 2018, 14:59 PM GMT) function start4NormalPeriod() external onlyOwner { // ICO stage init icoOnPaused = false; currentPhase = 4; startDate = block.timestamp; endDate = startDate + 31 days; // Reset bonus setBonus(0, 0, 0, 0); } // ======== Normal Period 2 (2020) ======== // --- Bonus --- // 3X // --- Time --- (7 days) // From 2 Jan 2020, 00:00 AM JST (1 Jan 2020, 15:00 PM GMT) // To 8 Jan 2020, 23:59 PM JST (8 Oct 2020, 14:59 PM GMT) function start5Phase2020() external onlyOwner { // Supply setting (only after phase 4) if (currentPhase == 4) { // Burn SMS if it was not done yet if (needToBurn) burnSMSProcess(); balances[address(this)] = tokenSaleLot2; totalSupply = 3 * totalSupply; totalSupply += balances[address(this)]; saleCounter = 0; limitedSale = tokenSaleLot2; // Bonus x3Token(); // 3X distributions to token holders // Mint new tokens for 2020 Transfer(mint, address(this), balances[address(this)]); // Set burning is needed needToBurn = true; } // ICO stage init icoOnPaused = false; currentPhase = 5; startDate = block.timestamp; endDate = startDate + 7 days; } // ======== Normal Period 3 (2025) ======== // --- Bonus --- // 3X // --- Time --- (7 days) // From 2 Jan 2025, 00:00 AM JST (1 Jan 2025, 15:00 PM GMT) // To 8 Jan 2025, 23:59 PM JST (8 Oct 2025, 14:59 PM GMT) function start6Phase2025() external onlyOwner { // Supply setting (only after phase 5) if (currentPhase == 5) { // Burn SMS if it was not done yet if (needToBurn) burnSMSProcess(); balances[address(this)] = tokenSaleLot3; totalSupply = 3 * totalSupply; totalSupply += balances[address(this)]; saleCounter = 0; limitedSale = tokenSaleLot3; // Bonus x3Token(); // 3X distributions to token holders // Mint new tokens for 2025 Transfer(mint, address(this), balances[address(this)]); // Set burning is needed needToBurn = true; } // ICO stage init icoOnPaused = false; currentPhase = 6; startDate = block.timestamp; endDate = startDate + 7 days; } function x3Token() private { // Multiply token by 3 to all the current addresses for (uint i = 0; i < addresses.length; i++) { uint curr1XBalance = balances[addresses[i]]; // In total 3X, then also calculate value to balances balances[addresses[i]] = 3 * curr1XBalance; // Transfer 2X from Mint to add with the existing 1X Transfer(mint, addresses[i], 2 * curr1XBalance); // To keep tracking bonus distribution sentBonus += (2 * curr1XBalance); } } // Called by the owner, to emergency pause the current phase function pausePhase() external onlyOwner { icoOnPaused = true; } // Called by the owner, to resumes the paused phase function resumePhase() external onlyOwner { icoOnPaused = false; } // Standard interface function totalSupply() public constant returns(uint256 _totalSupply) { return totalSupply; } function balanceOf(address sender) public constant returns(uint256 balance) { return balances[sender]; } function soldToken() public constant returns(uint256 _soldToken) { return soldToken; } function sentBonus() public constant returns(uint256 _sentBonus) { return sentBonus; } function saleCounter() public constant returns(uint256 _saleCounter) { return saleCounter; } 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] + _amount > balances[_to]) { balances[_from] -= _amount; allowed[_from][msg.sender] -= _amount; balances[_to] += _amount; Transfer(_from, _to, _amount); return true; } else { return false; } } // Price should be entered in multiple of 10000's // E.g. for .0001 ether enter 1, for 5 ether price enter 50000 function setTokenPrice(uint ethRate) external onlyOwner { tokenPrice = (ethRate * 10 ** 18) / 10000; // (Convert to ether unit then make 4 decimals) } // Allow _spender to withdraw from your account, multiple times, up to the _value amount. // If this function is called again it overwrites the current allowance with _value. function approve(address _spender, uint256 _amount) public returns(bool success) { allowed[msg.sender][_spender] = _amount; Approval(msg.sender, _spender, _amount); return true; } function allowance(address _owner, address _spender) public constant returns(uint256 remaining) { return allowed[_owner][_spender]; } // Transfer the balance from caller's wallet address to investor's wallet address function transfer(address _to, uint256 _amount) public returns(bool success) { if (balances[msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[msg.sender] -= _amount; balances[_to] += _amount; Transfer(msg.sender, _to, _amount); // Add destination wallet address to the list addAddress(_to); return true; } else { return false; } } // Transfer the balance from SMS's contract address to an investor's wallet account function transferTokens(address _to, uint256 _amount, uint256 _bonus) private returns(bool success) { if (_amount > 0 && balances[address(this)] >= _amount && balances[address(this)] - _amount >= 0 && soldToken + _amount > soldToken && saleCounter + _amount <= limitedSale && balances[_to] + _amount > balances[_to]) { // Transfer token from contract to target balances[address(this)] -= _amount; soldToken += _amount; saleCounter += _amount; balances[_to] += _amount; Transfer(address(this), _to, _amount); // Transfer bonus token from owner to target if (currentPhase <= 3 && _bonus > 0 && balances[owner] - _bonus >= 0 && sentBonus + _bonus > sentBonus && sentBonus + _bonus <= reservedBonusLot1 && balances[_to] + _bonus > balances[_to]) { // Transfer with bonus balances[owner] -= _bonus; sentBonus += _bonus; balances[_to] += _bonus; Transfer(owner, _to, _bonus); } // Add investor wallet address to the list addAddress(_to); return true; } else { return false; } } // Add wallet address with existing check function addAddress(address _to) private { if (addresses.length > 0) { if (userStructs[_to] != _to) { userStructs[_to] = _to; addresses.push(_to); } } else { userStructs[_to] = _to; addresses.push(_to); } } // Drain all the available ETH from the contract back to owner's wallet function drainETH() external onlyOwner { owner.transfer(this.balance); } // Burn all the available SMS from the contract and from owner to make it equal to investors // This will burn only the available token up to the current phase // A burning function function burnSMSProcess() private { // Allow to burn left SMS only on phase 4, 5, 6 if (currentPhase >= 4) { // Burn all available tokens // From SMS contract if (balances[address(this)] > 0) { uint toBeBurnedFromContract = balances[address(this)]; Transfer(address(this), genesis, toBeBurnedFromContract); balances[address(this)] = 0; totalSupply -= toBeBurnedFromContract; // Burn from owner wallet only in phase 4 if (currentPhase == 4) { if (balances[owner] > soldToken) { uint toBeBurnedFromOwner = balances[owner] - soldToken; Transfer(owner, genesis, toBeBurnedFromOwner); balances[owner] = balances[owner] - toBeBurnedFromOwner; totalSupply -= toBeBurnedFromOwner; } } // Clear burning status needToBurn = false; } } } // Function used in Reward contract to know address of token holder function getAddress(uint i) public constant returns(address) { return addresses[i]; } // Function used in Reward contract to get to know the address array length function getAddressSize() public constant returns(uint) { return addresses.length; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"saleCounter","outputs":[{"name":"_saleCounter","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"start2BonusPeriod2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_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":"start4NormalPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sentBonus","outputs":[{"name":"_sentBonus","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldToken","outputs":[{"name":"_soldToken","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ethRate","type":"uint256"}],"name":"setTokenPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"sender","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"UNIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumePhase","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":true,"inputs":[{"name":"i","type":"uint256"}],"name":"getAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"limitedSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"start1BonusPeriod1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAddressSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pausePhase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start3BonusPeriod3","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":false,"inputs":[],"name":"drainETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start5Phase2020","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start6Phase2025","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"e","type":"uint256"}],"name":"Log","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"e","type":"string"}],"name":"TOKEN","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
606060405260008080556308f0d1806001556302aea5406002556302faf08060038190556004556006819055600781905560088190556009819055600f8054600160a060020a033016600160a060020a031991821617909155601080549091169055670b1a2bc2ec5000006011556012805460ff19908116909155601591909155601680549091169055341561009457600080fd5b600e8054600160a060020a03191633600160a060020a031617905561148e806100be6000396000f30060606040526004361061015e5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630387b0a281146102a657806306fdde03146102cb5780630835b8b214610355578063095ea7b31461036a57806318160ddd146103a057806323b872dd146103b3578063313ce567146103db5780635143284d146103ee57806351973391146104015780636769d1f9146104145780636a61e5fc1461042757806370a082311461043d5780637ff9b5961461045c57806395d89b411461046f5780639d8e217714610482578063a62d780114610495578063a9059cbb146104a8578063b93f9b0a146104ca578063be471027146104fc578063c2cdaf241461050f578063c40d19a514610522578063c8f4170614610535578063d4a3456414610548578063dd62ed3e1461055b578063e264172c14610580578063e4698ee714610593578063ff56b59a146105a6575b600080806000805160206114238339815191523460405190815260200160405180910390a160125460ff161580156101a55750600e5433600160a060020a03908116911614155b1561029c57601454421161029c5760008051602061142383398151915260155460405190815260200160405180910390a16003600a0a340292506101eb836011546105b9565b91506000805160206114238339815191528260405190815260200160405180910390a16015546001148061022157506015546002145b8061022e57506015546003145b156102605761023c826105f4565b90506000805160206114238339815191528160405190815260200160405180910390a15b6000805160206114238339815191528260405190815260200160405180910390a161028c338383610671565b151561029757600080fd5b6102a1565b600080fd5b505050005b34156102b157600080fd5b6102b9610876565b60405190815260200160405180910390f35b34156102d657600080fd5b6102de61087d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561031a578082015183820152602001610302565b50505050905090810190601f1680156103475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036057600080fd5b6103686108b4565b005b341561037557600080fd5b61038c600160a060020a03600435166024356108fe565b604051901515815260200160405180910390f35b34156103ab57600080fd5b6102b961096a565b34156103be57600080fd5b61038c600160a060020a0360043581169060243516604435610970565b34156103e657600080fd5b6102b9610a6e565b34156103f957600080fd5b610368610a73565b341561040c57600080fd5b6102b9610ab8565b341561041f57600080fd5b6102b9610abe565b341561043257600080fd5b610368600435610ac4565b341561044857600080fd5b6102b9600160a060020a0360043516610af4565b341561046757600080fd5b6102b9610b0f565b341561047a57600080fd5b6102de610b15565b341561048d57600080fd5b6102b9610b4c565b34156104a057600080fd5b610368610b52565b34156104b357600080fd5b61038c600160a060020a0360043516602435610b79565b34156104d557600080fd5b6104e0600435610c38565b604051600160a060020a03909116815260200160405180910390f35b341561050757600080fd5b6102b9610c64565b341561051a57600080fd5b610368610c6a565b341561052d57600080fd5b6102b9610d60565b341561054057600080fd5b610368610d66565b341561055357600080fd5b610368610d90565b341561056657600080fd5b6102b9600160a060020a0360043581169060243516610dda565b341561058b57600080fd5b610368610e05565b341561059e57600080fd5b610368610e59565b34156105b157600080fd5b610368610f43565b6000808083116105c557fe5b82848115156105d057fe5b04905082848115156105de57fe5b0681840201841415156105ed57fe5b9392505050565b6000806127108310156106155760055460649060ff1684025b04905061066b565b61c35083101561063457600554606490610100900460ff16840261060d565b620186a08310156106555760055460649062010000900460ff16840261060d565b6005546064906301000000900460ff1684020490505b92915050565b6000808311801561069b5750600160a060020a0330166000908152600a6020526040902054839010155b80156106c15750600160a060020a0330166000908152600a602052604081205484900310155b80156106d05750600954838101115b80156106e25750600754836006540111155b80156107075750600160a060020a0384166000908152600a6020526040902054838101115b1561086c57600160a060020a033081166000818152600a6020526040808220805488900390556009805488019055600680548801905592871680825290839020805487019055916000805160206114438339815191529086905190815260200160405180910390a36003601554111580156107825750600082115b80156107aa5750600e54600160a060020a03166000908152600a602052604081205483900310155b80156107b95750600854828101115b80156107cb5750600254826008540111155b80156107f05750600160a060020a0384166000908152600a6020526040902054828101115b1561085b57600e8054600160a060020a039081166000908152600a602052604080822080548790039055600880548701905587831680835291819020805487019055925490929116906000805160206114438339815191529085905190815260200160405180910390a35b61086484611027565b5060016105ed565b5060009392505050565b6006545b90565b60408051908101604052601481527f5370656564204d696e696e672053657276696365000000000000000000000000602082015281565b600e5433600160a060020a039081169116146108cf57600080fd5b6012805460ff191690556002601555426013819055620f0d1f016014556108fc60036005600a600f611153565b565b600160a060020a033381166000818152600b6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005490565b600160a060020a0383166000908152600a60205260408120548290108015906109c05750600160a060020a038085166000908152600b602090815260408083203390941683529290522054829010155b80156109cc5750600082115b80156109f15750600160a060020a0383166000908152600a6020526040902054828101115b1561086c57600160a060020a038085166000818152600a6020818152604080842080548990039055600b8252808420338716855282528084208054899003905594881680845291905290839020805486019055916000805160206114438339815191529085905190815260200160405180910390a35060016105ed565b600381565b600e5433600160a060020a03908116911614610a8e57600080fd5b6012805460ff1916905560046015554260138190556228de80016014556108fc6000808080611153565b60085490565b60095490565b600e5433600160a060020a03908116911614610adf57600080fd5b612710670de0b6b3a764000082020460115550565b600160a060020a03166000908152600a602052604090205490565b60115481565b60408051908101604052600381527f534d530000000000000000000000000000000000000000000000000000000000602082015281565b6103e881565b600e5433600160a060020a03908116911614610b6d57600080fd5b6012805460ff19169055565b600160a060020a0333166000908152600a6020526040812054829010801590610ba25750600082115b8015610bc75750600160a060020a0383166000908152600a6020526040902054828101115b15610c3057600160a060020a033381166000818152600a60205260408082208054879003905592861680825290839020805486019055916000805160206114438339815191529085905190815260200160405180910390a3610c2883611027565b50600161066b565b50600061066b565b6000600c82815481101515610c4957fe5b600091825260209091200154600160a060020a031692915050565b60075481565b600e5433600160a060020a03908116911614610c8557600080fd5b6015541515610d3057600154600e8054600160a060020a039081166000908152600a6020526040808220859055308316825280822085905592549091168082529181205483018155600655600791909155610cdf90611027565b600e54600160a060020a039081166000818152600a602052604090819020549192301691600080516020611443833981519152915190815260200160405180910390a36016805460ff191660011790555b6012805460ff19169055600160155542601381905562032f9f0160149081556108fc90600590600a90601e611153565b600c5490565b600e5433600160a060020a03908116911614610d8157600080fd5b6012805460ff19166001179055565b600e5433600160a060020a03908116911614610dab57600080fd5b6012805460ff191690556003601581905542601381905562433c80016014556108fc9060019060056008611153565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b600e5433600160a060020a03908116911614610e2057600080fd5b600e54600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156108fc57600080fd5b600e5433600160a060020a03908116911614610e7457600080fd5b60155460041415610f245760165460ff1615610e9257610e926111a2565b60038054600160a060020a0330166000908152600a60205260408120828155815490930280825592549092018255600691909155600755610ed16112ef565b600f54600160a060020a033081166000818152600a6020526040908190205491939092169160008051602061144383398151915291905190815260200160405180910390a36016805460ff191660011790555b6012805460ff19169055600560155542601381905562093a8001601455565b600e5433600160a060020a03908116911614610f5e57600080fd5b601554600514156110085760165460ff1615610f7c57610f7c6111a2565b600454600160a060020a0330166000908152600a6020526040812082815581546003028083559054018155600655600755610fb56112ef565b600f54600160a060020a033081166000818152600a6020526040908190205491939092169160008051602061144383398151915291905190815260200160405180910390a36016805460ff191660011790555b6012805460ff19169055600660155542601381905562093a8001601455565b600c5460009011156110d557600160a060020a038082166000818152600d6020526040902054909116146110d057600160a060020a0381166000818152600d60205260409020805473ffffffffffffffffffffffffffffffffffffffff19169091179055600c80546001810161109d83826113db565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b611150565b600160a060020a0381166000818152600d60205260409020805473ffffffffffffffffffffffffffffffffffffffff19169091179055600c80546001810161111d83826113db565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6005805460ff191660ff9586161761ff001916610100948616949094029390931762ff0000191662010000928516929092029190911763ff000000191663010000009190931602919091179055565b60008060046015541015156112eb57600160a060020a0330166000908152600a602052604081205411156112eb57600160a060020a033081166000818152600a60205260409081902054601054909550909216916000805160206114438339815191529085905190815260200160405180910390a3600160a060020a0330166000908152600a6020526040812081905580548390039055601554600414156112e057600954600e54600160a060020a03166000908152600a602052604090205411156112e05750600954600e54600160a060020a039081166000818152600a6020526040908190205460105494900393909216916000805160206114438339815191529084905190815260200160405180910390a3600e54600160a060020a03166000908152600a6020526040812080548390039055805482900390555b6016805460ff191690555b5050565b6000805b600c548210156112eb57600a6000600c8481548110151561131057fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812054600c80549193506003840292600a929091908690811061135157fe5b6000918252602080832090910154600160a060020a03168352820192909252604001902055600c80548390811061138457fe5b600091825260209091200154600f54600160a060020a0391821691166000805160206114438339815191526002840260405190815260200160405180910390a36008805460028302019055600191909101906112f3565b8154818355818115116113ff576000838152602090206113ff918101908301611404565b505050565b61087a91905b8082111561141e576000815560010161140a565b50905600909c57d5c6ac08245cf2a6de3900e2b868513fa59099b92b27d8db823d92df9cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820a210c00c7b21d17568d0733ed0d0ee312507e9c3491f84783c749be0c780435e0029
Deployed Bytecode
0x60606040526004361061015e5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630387b0a281146102a657806306fdde03146102cb5780630835b8b214610355578063095ea7b31461036a57806318160ddd146103a057806323b872dd146103b3578063313ce567146103db5780635143284d146103ee57806351973391146104015780636769d1f9146104145780636a61e5fc1461042757806370a082311461043d5780637ff9b5961461045c57806395d89b411461046f5780639d8e217714610482578063a62d780114610495578063a9059cbb146104a8578063b93f9b0a146104ca578063be471027146104fc578063c2cdaf241461050f578063c40d19a514610522578063c8f4170614610535578063d4a3456414610548578063dd62ed3e1461055b578063e264172c14610580578063e4698ee714610593578063ff56b59a146105a6575b600080806000805160206114238339815191523460405190815260200160405180910390a160125460ff161580156101a55750600e5433600160a060020a03908116911614155b1561029c57601454421161029c5760008051602061142383398151915260155460405190815260200160405180910390a16003600a0a340292506101eb836011546105b9565b91506000805160206114238339815191528260405190815260200160405180910390a16015546001148061022157506015546002145b8061022e57506015546003145b156102605761023c826105f4565b90506000805160206114238339815191528160405190815260200160405180910390a15b6000805160206114238339815191528260405190815260200160405180910390a161028c338383610671565b151561029757600080fd5b6102a1565b600080fd5b505050005b34156102b157600080fd5b6102b9610876565b60405190815260200160405180910390f35b34156102d657600080fd5b6102de61087d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561031a578082015183820152602001610302565b50505050905090810190601f1680156103475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036057600080fd5b6103686108b4565b005b341561037557600080fd5b61038c600160a060020a03600435166024356108fe565b604051901515815260200160405180910390f35b34156103ab57600080fd5b6102b961096a565b34156103be57600080fd5b61038c600160a060020a0360043581169060243516604435610970565b34156103e657600080fd5b6102b9610a6e565b34156103f957600080fd5b610368610a73565b341561040c57600080fd5b6102b9610ab8565b341561041f57600080fd5b6102b9610abe565b341561043257600080fd5b610368600435610ac4565b341561044857600080fd5b6102b9600160a060020a0360043516610af4565b341561046757600080fd5b6102b9610b0f565b341561047a57600080fd5b6102de610b15565b341561048d57600080fd5b6102b9610b4c565b34156104a057600080fd5b610368610b52565b34156104b357600080fd5b61038c600160a060020a0360043516602435610b79565b34156104d557600080fd5b6104e0600435610c38565b604051600160a060020a03909116815260200160405180910390f35b341561050757600080fd5b6102b9610c64565b341561051a57600080fd5b610368610c6a565b341561052d57600080fd5b6102b9610d60565b341561054057600080fd5b610368610d66565b341561055357600080fd5b610368610d90565b341561056657600080fd5b6102b9600160a060020a0360043581169060243516610dda565b341561058b57600080fd5b610368610e05565b341561059e57600080fd5b610368610e59565b34156105b157600080fd5b610368610f43565b6000808083116105c557fe5b82848115156105d057fe5b04905082848115156105de57fe5b0681840201841415156105ed57fe5b9392505050565b6000806127108310156106155760055460649060ff1684025b04905061066b565b61c35083101561063457600554606490610100900460ff16840261060d565b620186a08310156106555760055460649062010000900460ff16840261060d565b6005546064906301000000900460ff1684020490505b92915050565b6000808311801561069b5750600160a060020a0330166000908152600a6020526040902054839010155b80156106c15750600160a060020a0330166000908152600a602052604081205484900310155b80156106d05750600954838101115b80156106e25750600754836006540111155b80156107075750600160a060020a0384166000908152600a6020526040902054838101115b1561086c57600160a060020a033081166000818152600a6020526040808220805488900390556009805488019055600680548801905592871680825290839020805487019055916000805160206114438339815191529086905190815260200160405180910390a36003601554111580156107825750600082115b80156107aa5750600e54600160a060020a03166000908152600a602052604081205483900310155b80156107b95750600854828101115b80156107cb5750600254826008540111155b80156107f05750600160a060020a0384166000908152600a6020526040902054828101115b1561085b57600e8054600160a060020a039081166000908152600a602052604080822080548790039055600880548701905587831680835291819020805487019055925490929116906000805160206114438339815191529085905190815260200160405180910390a35b61086484611027565b5060016105ed565b5060009392505050565b6006545b90565b60408051908101604052601481527f5370656564204d696e696e672053657276696365000000000000000000000000602082015281565b600e5433600160a060020a039081169116146108cf57600080fd5b6012805460ff191690556002601555426013819055620f0d1f016014556108fc60036005600a600f611153565b565b600160a060020a033381166000818152600b6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005490565b600160a060020a0383166000908152600a60205260408120548290108015906109c05750600160a060020a038085166000908152600b602090815260408083203390941683529290522054829010155b80156109cc5750600082115b80156109f15750600160a060020a0383166000908152600a6020526040902054828101115b1561086c57600160a060020a038085166000818152600a6020818152604080842080548990039055600b8252808420338716855282528084208054899003905594881680845291905290839020805486019055916000805160206114438339815191529085905190815260200160405180910390a35060016105ed565b600381565b600e5433600160a060020a03908116911614610a8e57600080fd5b6012805460ff1916905560046015554260138190556228de80016014556108fc6000808080611153565b60085490565b60095490565b600e5433600160a060020a03908116911614610adf57600080fd5b612710670de0b6b3a764000082020460115550565b600160a060020a03166000908152600a602052604090205490565b60115481565b60408051908101604052600381527f534d530000000000000000000000000000000000000000000000000000000000602082015281565b6103e881565b600e5433600160a060020a03908116911614610b6d57600080fd5b6012805460ff19169055565b600160a060020a0333166000908152600a6020526040812054829010801590610ba25750600082115b8015610bc75750600160a060020a0383166000908152600a6020526040902054828101115b15610c3057600160a060020a033381166000818152600a60205260408082208054879003905592861680825290839020805486019055916000805160206114438339815191529085905190815260200160405180910390a3610c2883611027565b50600161066b565b50600061066b565b6000600c82815481101515610c4957fe5b600091825260209091200154600160a060020a031692915050565b60075481565b600e5433600160a060020a03908116911614610c8557600080fd5b6015541515610d3057600154600e8054600160a060020a039081166000908152600a6020526040808220859055308316825280822085905592549091168082529181205483018155600655600791909155610cdf90611027565b600e54600160a060020a039081166000818152600a602052604090819020549192301691600080516020611443833981519152915190815260200160405180910390a36016805460ff191660011790555b6012805460ff19169055600160155542601381905562032f9f0160149081556108fc90600590600a90601e611153565b600c5490565b600e5433600160a060020a03908116911614610d8157600080fd5b6012805460ff19166001179055565b600e5433600160a060020a03908116911614610dab57600080fd5b6012805460ff191690556003601581905542601381905562433c80016014556108fc9060019060056008611153565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b600e5433600160a060020a03908116911614610e2057600080fd5b600e54600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156108fc57600080fd5b600e5433600160a060020a03908116911614610e7457600080fd5b60155460041415610f245760165460ff1615610e9257610e926111a2565b60038054600160a060020a0330166000908152600a60205260408120828155815490930280825592549092018255600691909155600755610ed16112ef565b600f54600160a060020a033081166000818152600a6020526040908190205491939092169160008051602061144383398151915291905190815260200160405180910390a36016805460ff191660011790555b6012805460ff19169055600560155542601381905562093a8001601455565b600e5433600160a060020a03908116911614610f5e57600080fd5b601554600514156110085760165460ff1615610f7c57610f7c6111a2565b600454600160a060020a0330166000908152600a6020526040812082815581546003028083559054018155600655600755610fb56112ef565b600f54600160a060020a033081166000818152600a6020526040908190205491939092169160008051602061144383398151915291905190815260200160405180910390a36016805460ff191660011790555b6012805460ff19169055600660155542601381905562093a8001601455565b600c5460009011156110d557600160a060020a038082166000818152600d6020526040902054909116146110d057600160a060020a0381166000818152600d60205260409020805473ffffffffffffffffffffffffffffffffffffffff19169091179055600c80546001810161109d83826113db565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b611150565b600160a060020a0381166000818152600d60205260409020805473ffffffffffffffffffffffffffffffffffffffff19169091179055600c80546001810161111d83826113db565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6005805460ff191660ff9586161761ff001916610100948616949094029390931762ff0000191662010000928516929092029190911763ff000000191663010000009190931602919091179055565b60008060046015541015156112eb57600160a060020a0330166000908152600a602052604081205411156112eb57600160a060020a033081166000818152600a60205260409081902054601054909550909216916000805160206114438339815191529085905190815260200160405180910390a3600160a060020a0330166000908152600a6020526040812081905580548390039055601554600414156112e057600954600e54600160a060020a03166000908152600a602052604090205411156112e05750600954600e54600160a060020a039081166000818152600a6020526040908190205460105494900393909216916000805160206114438339815191529084905190815260200160405180910390a3600e54600160a060020a03166000908152600a6020526040812080548390039055805482900390555b6016805460ff191690555b5050565b6000805b600c548210156112eb57600a6000600c8481548110151561131057fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812054600c80549193506003840292600a929091908690811061135157fe5b6000918252602080832090910154600160a060020a03168352820192909252604001902055600c80548390811061138457fe5b600091825260209091200154600f54600160a060020a0391821691166000805160206114438339815191526002840260405190815260200160405180910390a36008805460028302019055600191909101906112f3565b8154818355818115116113ff576000838152602090206113ff918101908301611404565b505050565b61087a91905b8082111561141e576000815560010161140a565b50905600909c57d5c6ac08245cf2a6de3900e2b868513fa59099b92b27d8db823d92df9cddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820a210c00c7b21d17568d0733ed0d0ee312507e9c3491f84783c749be0c780435e0029
Swarm Source
bzzr://a210c00c7b21d17568d0733ed0d0ee312507e9c3491f84783c749be0c780435e
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.