Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 75 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Start2Bonus Peri... | 10032151 | 2121 days ago | IN | 0 ETH | 0.00022138 | ||||
| Transfer | 5713863 | 2829 days ago | IN | 0 ETH | 0.00176099 | ||||
| Transfer | 4799473 | 2986 days ago | IN | 0 ETH | 0.00176099 | ||||
| Transfer | 4637630 | 3014 days ago | IN | 0 ETH | 0.00167714 | ||||
| Drain ETH | 4526736 | 3032 days ago | IN | 0 ETH | 0.00054281 | ||||
| Pause Phase | 4526723 | 3032 days ago | IN | 0 ETH | 0.00075669 | ||||
| Transfer | 4519972 | 3033 days ago | IN | 29.6 ETH | 0.00284856 | ||||
| Drain ETH | 4519788 | 3033 days ago | IN | 0 ETH | 0.0003193 | ||||
| Transfer | 4518934 | 3033 days ago | IN | 0.8 ETH | 0.00284755 | ||||
| Transfer | 4514014 | 3034 days ago | IN | 0.135 ETH | 0.00284755 | ||||
| 0x66756e63 | 4512371 | 3035 days ago | IN | 0 ETH | 0.000588 | ||||
| Transfer From | 4512359 | 3035 days ago | IN | 0 ETH | 0.00053673 | ||||
| Approve | 4512349 | 3035 days ago | IN | 0 ETH | 0.00095069 | ||||
| Drain ETH | 4512342 | 3035 days ago | IN | 0 ETH | 0.00046683 | ||||
| Transfer From | 4512335 | 3035 days ago | IN | 0 ETH | 0.00053673 | ||||
| Transfer | 4511229 | 3035 days ago | IN | 8.8 ETH | 0.00284856 | ||||
| Transfer | 4508810 | 3035 days ago | IN | 0.8 ETH | 0.00284755 | ||||
| Transfer | 4507518 | 3035 days ago | IN | 8 ETH | 0.000105 | ||||
| Transfer | 4507514 | 3035 days ago | IN | 8 ETH | 0.000105 | ||||
| Drain ETH | 4495188 | 3037 days ago | IN | 0 ETH | 0.00063861 | ||||
| Transfer | 4493103 | 3038 days ago | IN | 0.8 ETH | 0.00284755 | ||||
| Transfer | 4492006 | 3038 days ago | IN | 16 ETH | 0.00155994 | ||||
| Transfer | 4491959 | 3038 days ago | IN | 16 ETH | 0.00284856 | ||||
| Transfer | 4489665 | 3038 days ago | IN | 9.7 ETH | 0.00284856 | ||||
| Transfer | 4475335 | 3040 days ago | IN | 2.6 ETH | 0.00155893 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
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
Contract ABI
API[{"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
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.