ERC-20
Overview
Max Total Supply
186,000,000 STM
Holders
1,016
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
42,250.000000000160875 STMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
StreamityContract
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-22 */ pragma solidity ^0.4.18; 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) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; } contract TokenERC20 is Ownable { using SafeMath for uint; // Public variables of the token string public name; string public symbol; uint256 public decimals = 18; uint256 DEC = 10 ** uint256(decimals); uint256 public totalSupply; uint256 public avaliableSupply; uint256 public buyPrice = 1000000000000000000 wei; // This creates an array with all balances mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) public allowance; // This generates a public event on the blockchain that will notify clients event Transfer(address indexed from, address indexed to, uint256 value); event Burn(address indexed from, uint256 value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); /** * Constrctor function * * Initializes contract with initial supply tokens to the creator of the contract */ function TokenERC20( uint256 initialSupply, string tokenName, string tokenSymbol ) public { totalSupply = initialSupply.mul(DEC); // Update total supply with the decimal amount balanceOf[this] = totalSupply; // Give the creator all initial tokens avaliableSupply = balanceOf[this]; // Show how much tokens on contract name = tokenName; // Set the name for display purposes symbol = tokenSymbol; // Set the symbol for display purposes } /** * Internal transfer, only can be called by this contract * * @param _from - address of the contract * @param _to - address of the investor * @param _value - tokens for the investor */ function _transfer(address _from, address _to, uint256 _value) internal { // Prevent transfer to 0x0 address. Use burn() instead require(_to != 0x0); // Check if the sender has enough require(balanceOf[_from] >= _value); // Check for overflows require(balanceOf[_to].add(_value) > balanceOf[_to]); // Save this for an assertion in the future uint previousBalances = balanceOf[_from].add(balanceOf[_to]); // Subtract from the sender balanceOf[_from] = balanceOf[_from].sub(_value); // Add the same to the recipient balanceOf[_to] = balanceOf[_to].add(_value); Transfer(_from, _to, _value); // Asserts are used to use static analysis to find bugs in your code. They should never fail assert(balanceOf[_from].add(balanceOf[_to]) == previousBalances); } /** * Transfer tokens * * Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ function transfer(address _to, uint256 _value) public { _transfer(msg.sender, _to, _value); } /** * Transfer tokens from other address * * Send `_value` tokens to `_to` in behalf of `_from` * * @param _from The address of the sender * @param _to The address of the recipient * @param _value the amount to send */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_value <= allowance[_from][msg.sender]); // Check allowance allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value); _transfer(_from, _to, _value); return true; } /** * Set allowance for other address * * Allows `_spender` to spend no more than `_value` tokens in your behalf * * @param _spender The address authorized to spend * @param _value the max amount they can spend */ function approve(address _spender, uint256 _value) public returns (bool success) { allowance[msg.sender][_spender] = _value; return true; } /** * Set allowance for other address and notify * * Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it * * @param _spender The address authorized to spend * @param _value the max amount they can spend * @param _extraData some extra information to send to the approved contract */ function approveAndCall(address _spender, uint256 _value, bytes _extraData) public onlyOwner returns (bool success) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, this, _extraData); return true; } } /** * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol */ function increaseApproval (address _spender, uint _addedValue) public returns (bool success) { allowance[msg.sender][_spender] = allowance[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowance[msg.sender][_spender]); return true; } function decreaseApproval (address _spender, uint _subtractedValue) public returns (bool success) { uint oldValue = allowance[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowance[msg.sender][_spender] = 0; } else { allowance[msg.sender][_spender] = oldValue.sub(_subtractedValue); } Approval(msg.sender, _spender, allowance[msg.sender][_spender]); return true; } /** * Destroy tokens * * Remove `_value` tokens from the system irreversibly * * @param _value the amount of money to burn */ function burn(uint256 _value) public onlyOwner returns (bool success) { require(balanceOf[msg.sender] >= _value); // Check if the sender has enough balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value); // Subtract from the sender totalSupply = totalSupply.sub(_value); // Updates totalSupply avaliableSupply = avaliableSupply.sub(_value); Burn(msg.sender, _value); return true; } /** * Destroy tokens from other account * * Remove `_value` tokens from the system irreversibly on behalf of `_from`. * * @param _from the address of the sender * @param _value the amount of money to burn */ function burnFrom(address _from, uint256 _value) public onlyOwner returns (bool success) { require(balanceOf[_from] >= _value); // Check if the targeted balance is enough require(_value <= allowance[_from][msg.sender]); // Check allowance balanceOf[_from] = balanceOf[_from].sub(_value); // Subtract from the targeted balance allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value); // Subtract from the sender's allowance totalSupply = totalSupply.sub(_value); // Update totalSupply avaliableSupply = avaliableSupply.sub(_value); Burn(_from, _value); return true; } } contract Pauseble is TokenERC20 { event EPause(); event EUnpause(); bool public paused = true; uint public startIcoDate = 0; modifier whenNotPaused() { require(!paused); _; } modifier whenPaused() { require(paused); _; } function pause() public onlyOwner { paused = true; EPause(); } function pauseInternal() internal { paused = true; EPause(); } function unpause() public onlyOwner { paused = false; EUnpause(); } function unpauseInternal() internal { paused = false; EUnpause(); } } contract ERC20Extending is TokenERC20 { using SafeMath for uint; /** * Function for transfer ethereum from contract to any address * * @param _to - address of the recipient * @param amount - ethereum */ function transferEthFromContract(address _to, uint256 amount) public onlyOwner { _to.transfer(amount); } /** * Function for transfer tokens from contract to any address * */ function transferTokensFromContract(address _to, uint256 _value) public onlyOwner { avaliableSupply = avaliableSupply.sub(_value); _transfer(this, _to, _value); } } contract StreamityCrowdsale is Pauseble { using SafeMath for uint; uint public stage = 0; uint256 public weisRaised; // how many weis was raised on crowdsale event CrowdSaleFinished(string info); struct Ico { uint256 tokens; // Tokens in crowdsale uint startDate; // Date when crowsale will be starting, after its starting that property will be the 0 uint endDate; // Date when crowdsale will be stop uint8 discount; // Discount uint8 discountFirstDayICO; // Discount. Only for first stage ico } Ico public ICO; /* * Function confirm autosell * */ function confirmSell(uint256 _amount) internal view returns(bool) { if (ICO.tokens < _amount) { return false; } return true; } /* * Make discount */ function countDiscount(uint256 amount) internal returns(uint256) { uint256 _amount = (amount.mul(DEC)).div(buyPrice); if (1 == stage) { _amount = _amount.add(withDiscount(_amount, ICO.discount)); } else if (2 == stage) { if (now <= ICO.startDate + 1 days) { if (0 == ICO.discountFirstDayICO) { ICO.discountFirstDayICO = 20; } _amount = _amount.add(withDiscount(_amount, ICO.discountFirstDayICO)); } else { _amount = _amount.add(withDiscount(_amount, ICO.discount)); } } else if (3 == stage) { _amount = _amount.add(withDiscount(_amount, ICO.discount)); } return _amount; } /** * Function for change discount if need * */ function changeDiscount(uint8 _discount) public onlyOwner returns (bool) { ICO = Ico (ICO.tokens, ICO.startDate, ICO.endDate, _discount, ICO.discountFirstDayICO); return true; } /** * Expanding of the functionality * * @param _numerator - Numerator - value (10000) * @param _denominator - Denominator - value (10000) * * example: price 1000 tokens by 1 ether = changeRate(1, 1000) */ function changeRate(uint256 _numerator, uint256 _denominator) public onlyOwner returns (bool success) { if (_numerator == 0) _numerator = 1; if (_denominator == 0) _denominator = 1; buyPrice = (_numerator.mul(DEC)).div(_denominator); return true; } /* * Function show in contract what is now * */ function crowdSaleStatus() internal constant returns (string) { if (1 == stage) { return "Pre-ICO"; } else if(2 == stage) { return "ICO first stage"; } else if (3 == stage) { return "ICO second stage"; } else if (4 >= stage) { return "feature stage"; } return "there is no stage at present"; } /* * Seles manager * */ function paymentManager(address sender, uint256 value) internal { uint256 discountValue = countDiscount(value); bool conf = confirmSell(discountValue); if (conf) { sell(sender, discountValue); weisRaised = weisRaised.add(value); if (now >= ICO.endDate) { pauseInternal(); CrowdSaleFinished(crowdSaleStatus()); // if time is up } } else { sell(sender, ICO.tokens); // sell tokens which has been accessible weisRaised = weisRaised.add(value); pauseInternal(); CrowdSaleFinished(crowdSaleStatus()); // if tokens sold } } /* * Function for selling tokens in crowd time. * */ function sell(address _investor, uint256 _amount) internal { ICO.tokens = ICO.tokens.sub(_amount); avaliableSupply = avaliableSupply.sub(_amount); _transfer(this, _investor, _amount); } /* * Function for start crowdsale (any) * * @param _tokens - How much tokens will have the crowdsale - amount humanlike value (10000) * @param _startDate - When crowdsale will be start - unix timestamp (1512231703 ) * @param _endDate - When crowdsale will be end - humanlike value (7) same as 7 days * @param _discount - Discount for the crowd - humanlive value (7) same as 7 % * @param _discount - Discount for the crowds first day - humanlive value (7) same as 7 % */ function startCrowd(uint256 _tokens, uint _startDate, uint _endDate, uint8 _discount, uint8 _discountFirstDayICO) public onlyOwner { require(_tokens * DEC <= avaliableSupply); // require to set correct tokens value for crowd ICO = Ico (_tokens * DEC, _startDate, _startDate + _endDate * 1 days , _discount, _discountFirstDayICO); stage = stage.add(1); unpauseInternal(); } /** * Function for web3js, should be call when somebody will buy tokens from website. This function only delegator. * * @param _investor - address of investor (who payed) * @param _amount - ethereum */ function transferWeb3js(address _investor, uint256 _amount) external onlyOwner { sell(_investor, _amount); } /** * Function for adding discount * */ function withDiscount(uint256 _amount, uint _percent) internal pure returns (uint256) { return (_amount.mul(_percent)).div(100); } } contract StreamityContract is ERC20Extending, StreamityCrowdsale { /* Streamity tokens Constructor */ function StreamityContract() public TokenERC20(186000000, "Streamity", "STM") {} //change before send !!! /** * Function payments handler * */ function () public payable { assert(msg.value >= 1 ether / 10); require(now >= ICO.startDate); if (paused == false) { paymentManager(msg.sender, msg.value); } else { revert(); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"avaliableSupply","outputs":[{"name":"","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":"_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":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":"ICO","outputs":[{"name":"tokens","type":"uint256"},{"name":"startDate","type":"uint256"},{"name":"endDate","type":"uint256"},{"name":"discount","type":"uint8"},{"name":"discountFirstDayICO","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferEthFromContract","outputs":[],"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":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"},{"name":"_startDate","type":"uint256"},{"name":"_endDate","type":"uint256"},{"name":"_discount","type":"uint8"},{"name":"_discountFirstDayICO","type":"uint8"}],"name":"startCrowd","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","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":false,"inputs":[{"name":"_numerator","type":"uint256"},{"name":"_denominator","type":"uint256"}],"name":"changeRate","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startIcoDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferTokensFromContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weisRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_discount","type":"uint8"}],"name":"changeDiscount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferWeb3js","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","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":"info","type":"string"}],"name":"CrowdSaleFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"EPause","type":"event"},{"anonymous":false,"inputs":[],"name":"EUnpause","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":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60606040526012600355670de0b6b3a76400006004819055600755600a805460ff191660011790556000600b819055600c5534156200003d57600080fd5b630b162280604080519081016040908152600982527f53747265616d697479000000000000000000000000000000000000000000000060208301528051908101604052600381527f53544d0000000000000000000000000000000000000000000000000000000000602082015260008054600160a060020a03191633600160a060020a0316179055600454620000e39084906401000000006200013b8102620017d31704565b6005819055600160a060020a033016600090815260086020526040902081905560065560018280516200011b92916020019062000169565b5060028180516200013192916020019062000169565b505050506200020e565b60008282028315806200015957508284828115156200015657fe5b04145b15156200016257fe5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ac57805160ff1916838001178555620001dc565b82800160010185558215620001dc579182015b82811115620001dc578251825591602001919060010190620001bf565b50620001ea929150620001ee565b5090565b6200020b91905b80821115620001ea5760008155600101620001f5565b90565b611863806200021e6000396000f30060606040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166304a8493881146101c257806306fdde03146101e7578063095ea7b31461027157806318160ddd146102a757806323b872dd146102ba578063273ba6bb146102e257806331198d191461032b578063313ce5671461034d5780633f4ba83a1461036057806342966c68146103735780635bda1af0146103895780635c975abb146103b157806366188463146103c457806370a08231146103e657806379cc6790146104055780638456cb59146104275780638620410b1461043a57806395d89b411461044d578063a883b0c414610460578063a9059cbb14610479578063c040e6b81461049b578063c99d9ef7146104ae578063cae9ca51146104c1578063d0973af814610526578063d73dd62314610548578063da5f838d1461056a578063dd62ed3e1461057d578063ec993f3d146105a2578063ee67575f146105bb578063f2fde38b146105dd575b67016345785d8a000034101561019157fe5b600f544210156101a057600080fd5b600a5460ff1615156101bb576101b633346105fc565b6101c0565b600080fd5b005b34156101cd57600080fd5b6101d56107c4565b60405190815260200160405180910390f35b34156101f257600080fd5b6101fa6107ca565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561023657808201518382015260200161021e565b50505050905090810190601f1680156102635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027c57600080fd5b610293600160a060020a0360043516602435610868565b604051901515815260200160405180910390f35b34156102b257600080fd5b6101d5610898565b34156102c557600080fd5b610293600160a060020a036004358116906024351660443561089e565b34156102ed57600080fd5b6102f5610946565b604051948552602085019390935260408085019290925260ff9081166060850152909116608083015260a0909101905180910390f35b341561033657600080fd5b6101c0600160a060020a0360043516602435610961565b341561035857600080fd5b6101d56109b1565b341561036b57600080fd5b6101c06109b7565b341561037e57600080fd5b610293600435610a0a565b341561039457600080fd5b6101c060043560243560443560ff60643581169060843516610b00565b34156103bc57600080fd5b610293610be5565b34156103cf57600080fd5b610293600160a060020a0360043516602435610bee565b34156103f157600080fd5b6101d5600160a060020a0360043516610ce8565b341561041057600080fd5b610293600160a060020a0360043516602435610cfa565b341561043257600080fd5b6101c0610e74565b341561044557600080fd5b6101d5610eca565b341561045857600080fd5b6101fa610ed0565b341561046b57600080fd5b610293600435602435610f3b565b341561048457600080fd5b6101c0600160a060020a0360043516602435610fa0565b34156104a657600080fd5b6101d5610fab565b34156104b957600080fd5b6101d5610fb1565b34156104cc57600080fd5b61029360048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610fb795505050505050565b341561053157600080fd5b6101c0600160a060020a0360043516602435611106565b341561055357600080fd5b610293600160a060020a0360043516602435611142565b341561057557600080fd5b6101d56111e6565b341561058857600080fd5b6101d5600160a060020a03600435811690602435166111ec565b34156105ad57600080fd5b61029360ff60043516611209565b34156105c657600080fd5b6101c0600160a060020a03600435166024356112c2565b34156105e857600080fd5b6101c0600160a060020a03600435166112e7565b60008061060883611382565b915061061382611474565b905080156106f1576106258483611493565b600d54610638908463ffffffff6114bc16565b600d5560105442106106ec5761064c610e8f565b7f85b8d86f52e6555fa7f5d8f5e1fe2dbca432512924156cc733ad10ba881c121c6106756114d2565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156106b1578082015183820152602001610699565b50505050905090810190601f1680156106de5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b6107be565b61070084600e60000154611493565b600d54610713908463ffffffff6114bc16565b600d5561071e610e8f565b7f85b8d86f52e6555fa7f5d8f5e1fe2dbca432512924156cc733ad10ba881c121c6107476114d2565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561078357808201518382015260200161076b565b50505050905090810190601f1680156107b05780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b50505050565b60065481565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108605780601f1061083557610100808354040283529160200191610860565b820191906000526020600020905b81548152906001019060200180831161084357829003601f168201915b505050505081565b600160a060020a033381166000908152600960209081526040808320938616835292905220819055600192915050565b60055481565b600160a060020a038084166000908152600960209081526040808320339094168352929052908120548211156108d357600080fd5b600160a060020a038085166000908152600960209081526040808320339094168352929052205461090a908363ffffffff61162b16565b600160a060020a038086166000908152600960209081526040808320339094168352929052205561093c84848461163d565b5060019392505050565b600e54600f5460105460115460ff8082169161010090041685565b60005433600160a060020a0390811691161461097c57600080fd5b600160a060020a03821681156108fc0282604051600060405180830381858888f1935050505015156109ad57600080fd5b5050565b60035481565b60005433600160a060020a039081169116146109d257600080fd5b600a805460ff191690557f9b1d6b460eaa8350c2f15712231e94c803e08e072db0737a0efb84745848694060405160405180910390a1565b6000805433600160a060020a03908116911614610a2657600080fd5b600160a060020a03331660009081526008602052604090205482901015610a4c57600080fd5b600160a060020a033316600090815260086020526040902054610a75908363ffffffff61162b16565b600160a060020a033316600090815260086020526040902055600554610aa1908363ffffffff61162b16565b600555600654610ab7908363ffffffff61162b16565b600655600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25060015b919050565b60005433600160a060020a03908116911614610b1b57600080fd5b60065460045486021115610b2e57600080fd5b60a06040519081016040908152600454870282526020820186905262015180850286019082015260ff808416606083015282166080820152600e815181556020820151816001015560408201518160020155606082015160038201805460ff191660ff9290921691909117905560808201516003909101805460ff929092166101000261ff001990921691909117905550600c54610bd390600163ffffffff6114bc16565b600c55610bde6109d2565b5050505050565b600a5460ff1681565b600160a060020a03338116600090815260096020908152604080832093861683529290529081205480831115610c4b57600160a060020a033381166000908152600960209081526040808320938816835292905290812055610c82565b610c5b818463ffffffff61162b16565b600160a060020a033381166000908152600960209081526040808320938916835292905220555b600160a060020a0333811660008181526009602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b60086020526000908152604090205481565b6000805433600160a060020a03908116911614610d1657600080fd5b600160a060020a03831660009081526008602052604090205482901015610d3c57600080fd5b600160a060020a0380841660009081526009602090815260408083203390941683529290522054821115610d6f57600080fd5b600160a060020a038316600090815260086020526040902054610d98908363ffffffff61162b16565b600160a060020a0380851660009081526008602090815260408083209490945560098152838220339093168252919091522054610ddb908363ffffffff61162b16565b600160a060020a0380851660009081526009602090815260408083203390941683529290522055600554610e15908363ffffffff61162b16565b600555600654610e2b908363ffffffff61162b16565b600655600160a060020a0383167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a250600192915050565b60005433600160a060020a03908116911614610e8f57600080fd5b600a805460ff191660011790557fd2ef4ae6592c2a8f5d1c602eaa8a0685727b41b23509703db861621a9614813a60405160405180910390a1565b60075481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108605780601f1061083557610100808354040283529160200191610860565b6000805433600160a060020a03908116911614610f5757600080fd5b821515610f6357600192505b811515610f6f57600191505b610f9482610f88600454866117d390919063ffffffff16565b9063ffffffff6117f716565b60075550600192915050565b6109ad33838361163d565b600c5481565b600b5481565b60008054819033600160a060020a03908116911614610fd557600080fd5b5083610fe18185610868565b156110fe5780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561109757808201518382015260200161107f565b50505050905090810190601f1680156110c45780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156110e557600080fd5b6102c65a03f115156110f657600080fd5b505050600191505b509392505050565b60005433600160a060020a0390811691161461112157600080fd5b600654611134908263ffffffff61162b16565b6006556109ad30838361163d565b600160a060020a03338116600090815260096020908152604080832093861683529290529081205461117a908363ffffffff6114bc16565b600160a060020a0333811660008181526009602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600d5481565b600960209081526000928352604080842090915290825290205481565b6000805433600160a060020a0390811691161461122557600080fd5b60a06040519081016040908152600e80548352600f5460208401526010549183019190915260ff80851660608401526011546101009004166080830152815181556020820151816001015560408201518160020155606082015160038201805460ff191660ff9290921691909117905560808201516003909101805460ff929092166101000261ff00199092169190911790555060019050919050565b60005433600160a060020a039081169116146112dd57600080fd5b6109ad8282611493565b60005433600160a060020a0390811691161461130257600080fd5b600160a060020a038116151561131757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000806113a0600754610f88600454866117d390919063ffffffff16565b9050600c54600114156113d6576011546113cf906113c290839060ff1661180e565b829063ffffffff6114bc16565b905061146e565b600c546002141561144b57600f546201518001421161143157601154610100900460ff161515611410576011805461ff0019166114001790555b60115461142a906113c2908390610100900460ff1661180e565b9050611446565b6011546113cf906113c290839060ff1661180e565b61146e565b600c546003141561146e5760115461146b906113c290839060ff1661180e565b90505b92915050565b600081600e60000154101561148b57506000610afb565b506001919050565b600e546114a6908263ffffffff61162b16565b600e55600654611134908263ffffffff61162b16565b6000828201838110156114cb57fe5b9392505050565b6114da611825565b600c54600114156115205760408051908101604052600781527f5072652d49434f0000000000000000000000000000000000000000000000000060208201529050611628565b600c54600214156115665760408051908101604052600f81527f49434f206669727374207374616765000000000000000000000000000000000060208201529050611628565b600c54600314156115ac5760408051908101604052601081527f49434f207365636f6e642073746167650000000000000000000000000000000060208201529050611628565b600c546004106115f15760408051908101604052600d81527f666561747572652073746167650000000000000000000000000000000000000060208201529050611628565b60408051908101604052601c81527f7468657265206973206e6f2073746167652061742070726573656e7400000000602082015290505b90565b60008282111561163757fe5b50900390565b6000600160a060020a038316151561165457600080fd5b600160a060020a0384166000908152600860205260409020548290101561167a57600080fd5b600160a060020a0383166000908152600860205260409020546116a3818463ffffffff6114bc16565b116116ad57600080fd5b600160a060020a038084166000908152600860205260408082205492871682529020546116df9163ffffffff6114bc16565b600160a060020a03851660009081526008602052604090205490915061170b908363ffffffff61162b16565b600160a060020a038086166000908152600860205260408082209390935590851681522054611740908363ffffffff6114bc16565b600160a060020a03808516600081815260086020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3600160a060020a0380841660009081526008602052604080822054928716825290205482916117cc919063ffffffff6114bc16565b146107be57fe5b60008282028315806117ef57508284828115156117ec57fe5b04145b15156114cb57fe5b600080828481151561180557fe5b04949350505050565b60006114cb6064610f88858563ffffffff6117d316565b602060405190810160405260008152905600a165627a7a72305820bff421aa5064bbcc2a0cf451204b3a78249d95360ab9c25ab0f3a4c4801cb95b0029
Deployed Bytecode
0x60606040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166304a8493881146101c257806306fdde03146101e7578063095ea7b31461027157806318160ddd146102a757806323b872dd146102ba578063273ba6bb146102e257806331198d191461032b578063313ce5671461034d5780633f4ba83a1461036057806342966c68146103735780635bda1af0146103895780635c975abb146103b157806366188463146103c457806370a08231146103e657806379cc6790146104055780638456cb59146104275780638620410b1461043a57806395d89b411461044d578063a883b0c414610460578063a9059cbb14610479578063c040e6b81461049b578063c99d9ef7146104ae578063cae9ca51146104c1578063d0973af814610526578063d73dd62314610548578063da5f838d1461056a578063dd62ed3e1461057d578063ec993f3d146105a2578063ee67575f146105bb578063f2fde38b146105dd575b67016345785d8a000034101561019157fe5b600f544210156101a057600080fd5b600a5460ff1615156101bb576101b633346105fc565b6101c0565b600080fd5b005b34156101cd57600080fd5b6101d56107c4565b60405190815260200160405180910390f35b34156101f257600080fd5b6101fa6107ca565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561023657808201518382015260200161021e565b50505050905090810190601f1680156102635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027c57600080fd5b610293600160a060020a0360043516602435610868565b604051901515815260200160405180910390f35b34156102b257600080fd5b6101d5610898565b34156102c557600080fd5b610293600160a060020a036004358116906024351660443561089e565b34156102ed57600080fd5b6102f5610946565b604051948552602085019390935260408085019290925260ff9081166060850152909116608083015260a0909101905180910390f35b341561033657600080fd5b6101c0600160a060020a0360043516602435610961565b341561035857600080fd5b6101d56109b1565b341561036b57600080fd5b6101c06109b7565b341561037e57600080fd5b610293600435610a0a565b341561039457600080fd5b6101c060043560243560443560ff60643581169060843516610b00565b34156103bc57600080fd5b610293610be5565b34156103cf57600080fd5b610293600160a060020a0360043516602435610bee565b34156103f157600080fd5b6101d5600160a060020a0360043516610ce8565b341561041057600080fd5b610293600160a060020a0360043516602435610cfa565b341561043257600080fd5b6101c0610e74565b341561044557600080fd5b6101d5610eca565b341561045857600080fd5b6101fa610ed0565b341561046b57600080fd5b610293600435602435610f3b565b341561048457600080fd5b6101c0600160a060020a0360043516602435610fa0565b34156104a657600080fd5b6101d5610fab565b34156104b957600080fd5b6101d5610fb1565b34156104cc57600080fd5b61029360048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610fb795505050505050565b341561053157600080fd5b6101c0600160a060020a0360043516602435611106565b341561055357600080fd5b610293600160a060020a0360043516602435611142565b341561057557600080fd5b6101d56111e6565b341561058857600080fd5b6101d5600160a060020a03600435811690602435166111ec565b34156105ad57600080fd5b61029360ff60043516611209565b34156105c657600080fd5b6101c0600160a060020a03600435166024356112c2565b34156105e857600080fd5b6101c0600160a060020a03600435166112e7565b60008061060883611382565b915061061382611474565b905080156106f1576106258483611493565b600d54610638908463ffffffff6114bc16565b600d5560105442106106ec5761064c610e8f565b7f85b8d86f52e6555fa7f5d8f5e1fe2dbca432512924156cc733ad10ba881c121c6106756114d2565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156106b1578082015183820152602001610699565b50505050905090810190601f1680156106de5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b6107be565b61070084600e60000154611493565b600d54610713908463ffffffff6114bc16565b600d5561071e610e8f565b7f85b8d86f52e6555fa7f5d8f5e1fe2dbca432512924156cc733ad10ba881c121c6107476114d2565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561078357808201518382015260200161076b565b50505050905090810190601f1680156107b05780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b50505050565b60065481565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108605780601f1061083557610100808354040283529160200191610860565b820191906000526020600020905b81548152906001019060200180831161084357829003601f168201915b505050505081565b600160a060020a033381166000908152600960209081526040808320938616835292905220819055600192915050565b60055481565b600160a060020a038084166000908152600960209081526040808320339094168352929052908120548211156108d357600080fd5b600160a060020a038085166000908152600960209081526040808320339094168352929052205461090a908363ffffffff61162b16565b600160a060020a038086166000908152600960209081526040808320339094168352929052205561093c84848461163d565b5060019392505050565b600e54600f5460105460115460ff8082169161010090041685565b60005433600160a060020a0390811691161461097c57600080fd5b600160a060020a03821681156108fc0282604051600060405180830381858888f1935050505015156109ad57600080fd5b5050565b60035481565b60005433600160a060020a039081169116146109d257600080fd5b600a805460ff191690557f9b1d6b460eaa8350c2f15712231e94c803e08e072db0737a0efb84745848694060405160405180910390a1565b6000805433600160a060020a03908116911614610a2657600080fd5b600160a060020a03331660009081526008602052604090205482901015610a4c57600080fd5b600160a060020a033316600090815260086020526040902054610a75908363ffffffff61162b16565b600160a060020a033316600090815260086020526040902055600554610aa1908363ffffffff61162b16565b600555600654610ab7908363ffffffff61162b16565b600655600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25060015b919050565b60005433600160a060020a03908116911614610b1b57600080fd5b60065460045486021115610b2e57600080fd5b60a06040519081016040908152600454870282526020820186905262015180850286019082015260ff808416606083015282166080820152600e815181556020820151816001015560408201518160020155606082015160038201805460ff191660ff9290921691909117905560808201516003909101805460ff929092166101000261ff001990921691909117905550600c54610bd390600163ffffffff6114bc16565b600c55610bde6109d2565b5050505050565b600a5460ff1681565b600160a060020a03338116600090815260096020908152604080832093861683529290529081205480831115610c4b57600160a060020a033381166000908152600960209081526040808320938816835292905290812055610c82565b610c5b818463ffffffff61162b16565b600160a060020a033381166000908152600960209081526040808320938916835292905220555b600160a060020a0333811660008181526009602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b60086020526000908152604090205481565b6000805433600160a060020a03908116911614610d1657600080fd5b600160a060020a03831660009081526008602052604090205482901015610d3c57600080fd5b600160a060020a0380841660009081526009602090815260408083203390941683529290522054821115610d6f57600080fd5b600160a060020a038316600090815260086020526040902054610d98908363ffffffff61162b16565b600160a060020a0380851660009081526008602090815260408083209490945560098152838220339093168252919091522054610ddb908363ffffffff61162b16565b600160a060020a0380851660009081526009602090815260408083203390941683529290522055600554610e15908363ffffffff61162b16565b600555600654610e2b908363ffffffff61162b16565b600655600160a060020a0383167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a250600192915050565b60005433600160a060020a03908116911614610e8f57600080fd5b600a805460ff191660011790557fd2ef4ae6592c2a8f5d1c602eaa8a0685727b41b23509703db861621a9614813a60405160405180910390a1565b60075481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108605780601f1061083557610100808354040283529160200191610860565b6000805433600160a060020a03908116911614610f5757600080fd5b821515610f6357600192505b811515610f6f57600191505b610f9482610f88600454866117d390919063ffffffff16565b9063ffffffff6117f716565b60075550600192915050565b6109ad33838361163d565b600c5481565b600b5481565b60008054819033600160a060020a03908116911614610fd557600080fd5b5083610fe18185610868565b156110fe5780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561109757808201518382015260200161107f565b50505050905090810190601f1680156110c45780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15156110e557600080fd5b6102c65a03f115156110f657600080fd5b505050600191505b509392505050565b60005433600160a060020a0390811691161461112157600080fd5b600654611134908263ffffffff61162b16565b6006556109ad30838361163d565b600160a060020a03338116600090815260096020908152604080832093861683529290529081205461117a908363ffffffff6114bc16565b600160a060020a0333811660008181526009602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600d5481565b600960209081526000928352604080842090915290825290205481565b6000805433600160a060020a0390811691161461122557600080fd5b60a06040519081016040908152600e80548352600f5460208401526010549183019190915260ff80851660608401526011546101009004166080830152815181556020820151816001015560408201518160020155606082015160038201805460ff191660ff9290921691909117905560808201516003909101805460ff929092166101000261ff00199092169190911790555060019050919050565b60005433600160a060020a039081169116146112dd57600080fd5b6109ad8282611493565b60005433600160a060020a0390811691161461130257600080fd5b600160a060020a038116151561131757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000806113a0600754610f88600454866117d390919063ffffffff16565b9050600c54600114156113d6576011546113cf906113c290839060ff1661180e565b829063ffffffff6114bc16565b905061146e565b600c546002141561144b57600f546201518001421161143157601154610100900460ff161515611410576011805461ff0019166114001790555b60115461142a906113c2908390610100900460ff1661180e565b9050611446565b6011546113cf906113c290839060ff1661180e565b61146e565b600c546003141561146e5760115461146b906113c290839060ff1661180e565b90505b92915050565b600081600e60000154101561148b57506000610afb565b506001919050565b600e546114a6908263ffffffff61162b16565b600e55600654611134908263ffffffff61162b16565b6000828201838110156114cb57fe5b9392505050565b6114da611825565b600c54600114156115205760408051908101604052600781527f5072652d49434f0000000000000000000000000000000000000000000000000060208201529050611628565b600c54600214156115665760408051908101604052600f81527f49434f206669727374207374616765000000000000000000000000000000000060208201529050611628565b600c54600314156115ac5760408051908101604052601081527f49434f207365636f6e642073746167650000000000000000000000000000000060208201529050611628565b600c546004106115f15760408051908101604052600d81527f666561747572652073746167650000000000000000000000000000000000000060208201529050611628565b60408051908101604052601c81527f7468657265206973206e6f2073746167652061742070726573656e7400000000602082015290505b90565b60008282111561163757fe5b50900390565b6000600160a060020a038316151561165457600080fd5b600160a060020a0384166000908152600860205260409020548290101561167a57600080fd5b600160a060020a0383166000908152600860205260409020546116a3818463ffffffff6114bc16565b116116ad57600080fd5b600160a060020a038084166000908152600860205260408082205492871682529020546116df9163ffffffff6114bc16565b600160a060020a03851660009081526008602052604090205490915061170b908363ffffffff61162b16565b600160a060020a038086166000908152600860205260408082209390935590851681522054611740908363ffffffff6114bc16565b600160a060020a03808516600081815260086020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3600160a060020a0380841660009081526008602052604080822054928716825290205482916117cc919063ffffffff6114bc16565b146107be57fe5b60008282028315806117ef57508284828115156117ec57fe5b04145b15156114cb57fe5b600080828481151561180557fe5b04949350505050565b60006114cb6064610f88858563ffffffff6117d316565b602060405190810160405260008152905600a165627a7a72305820bff421aa5064bbcc2a0cf451204b3a78249d95360ab9c25ab0f3a4c4801cb95b0029
Swarm Source
bzzr://bff421aa5064bbcc2a0cf451204b3a78249d95360ab9c25ab0f3a4c4801cb95b
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.