ETH Price: $2,643.71 (+1.66%)
Gas: 1 Gwei

Token

Lottoshi (LTS)
 

Overview

Max Total Supply

11,433.125087 LTS

Holders

5

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Filtered by Token Holder
obekt.eth
Balance
1 LTS

Value
$0.00
0x561a81a1d18b65b4207509d0d7ec12039129ace0
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Lottoshi

Compiler Version
v0.5.4+commit.9549d8ff

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 5 of 6: Lottoshi.sol
pragma solidity ^0.5.2;

import "./DSTokenBase.sol";
import "./Ownable.sol";

interface ILottery {
    function getAvailablePrize() external view returns (uint256);
}

contract Lottoshi is DSTokenBase(0), Ownable {
    uint256 constant internal magnitude = 2 ** 64;
    uint256 constant internal HOUSE_PERCENTAGE = 75; // 7.5%
    uint256 constant internal REFERRAL_PERCENTAGE = 50; // 5%
    uint256 constant internal FOMO_PERCENTAGE = 120; // 12%
    uint256 constant internal PRIZE_LIMIT_TO_INVEST = 50000 ether;
    uint256 constant internal MAX_SUPPLY = 500000 * (10 ** 6);
    string constant public name = "Lottoshi";
    string constant public symbol = "LTS";
    uint256 constant public decimals = 6;

    uint256 public profitPerShare;
    uint256 public totalStakes;
    address payable public lottery;
    bool public decentralized;

    mapping (address => uint256) public stakesOf;
    mapping (address => uint256) public payout;
    mapping (address => uint256) public dividends;

    event Invest(address indexed user, uint256 ethAmount, uint256 tokenAmount, address referee);
    event Stake(address indexed user, uint256 amount);
    event Unstake(address indexed user, uint256 amount);
    event Withdraw(address indexed user, uint256 amount);

    constructor (address payable _lottery) public {
        lottery = _lottery;
    }

    function () external {
    }

    function decentralize() external {
        require(lottery == msg.sender, "invalid sender");
        decentralized = true;
    }

    function contribute(address referral) external payable {
        uint256 referralAmount;
        if (referral != address(0)) {
            referralAmount = msg.value * REFERRAL_PERCENTAGE / 300;
            dividends[referral] += referralAmount;
        }
        uint256 houseAmount;
        if (!decentralized) {
            houseAmount = msg.value * HOUSE_PERCENTAGE / 300;
            dividends[owner()] += houseAmount;
        }
        profitPerShare += (msg.value - houseAmount - referralAmount) * magnitude / totalStakes;
    }

    function invest(address referral) public payable {
        uint256 prize = getPrize();
        require(prize < PRIZE_LIMIT_TO_INVEST, "prize is enough");
        uint256 fomoAmount;
        if (totalStakes > 0) {
            fomoAmount = msg.value * FOMO_PERCENTAGE / 1000;
            profitPerShare += fomoAmount * magnitude / totalStakes;
        }
        lottery.transfer(msg.value - fomoAmount);
        uint256 token1 = ethToTokens(prize);
        uint256 token2 = ethToTokens(prize + msg.value);
        uint256 tokenAmount = (token2 - token1) / 1000000000000;
        uint256 referralAmount;
        if (referral != address(0) && referral != msg.sender) {
            referralAmount = tokenAmount / 20;
            stakesOf[referral] += referralAmount;
            payout[referral] += referralAmount * profitPerShare;
            emit Invest(referral, 0, referralAmount, msg.sender);
            emit Transfer(address(0), referral, referralAmount);
            emit Transfer(referral, address(this), referralAmount);
            emit Stake(referral, referralAmount);
        }
        uint256 totalAmount = referralAmount + tokenAmount;
        require(_supply + totalAmount <= MAX_SUPPLY, "exceed max supply");
        stakesOf[msg.sender] += tokenAmount;
        payout[msg.sender] += tokenAmount * profitPerShare;
        _supply += totalAmount;
        totalStakes += totalAmount;
        _balances[address(this)] += totalAmount;
        emit Invest(msg.sender, msg.value, tokenAmount, address(0));
        emit Transfer(address(0), msg.sender, tokenAmount);
        emit Transfer(msg.sender, address(this), tokenAmount);
        emit Stake(msg.sender, tokenAmount);
    }

    function stake(uint256 amount) external {
        internalTransfer(msg.sender, address(this), amount);
        stakesOf[msg.sender] += amount;
        payout[msg.sender] += amount * profitPerShare;
        totalStakes += amount;
        emit Stake(msg.sender, amount);
    }

    function unstake(uint256 amount) external {
        require(stakesOf[msg.sender] >= amount, "stakesOf not enough");
        withdrawDividends(msg.sender);
        payout[msg.sender] -= amount * profitPerShare;
        stakesOf[msg.sender] -= amount;
        totalStakes -= amount;
        emit Unstake(msg.sender, amount);
        internalTransfer(address(this), msg.sender, amount);
    }

    function withdrawDividends() public {
        withdrawDividends(msg.sender);
    }

    function withdrawDividends(address payable user) internal {
        uint256 dividend = dividendOf(user);
        if (dividend > 0) {
            uint256 dividend2 = dividends[user];
            payout[user] += (dividend - dividend2) * magnitude;
            if (dividend2 > 0) {
                dividends[user] = 0;
            }
            user.transfer(dividend);
            emit Withdraw(user, dividend);
        }
    }

    function dividendOf(address user) public view returns (uint256) {
        return (profitPerShare * stakesOf[user] - payout[user]) / magnitude + dividends[user];
    }

    function ethToTokens(uint256 eth) internal pure returns (uint256) {
        return (sqrt(10000800016000000000000000000000000000000000000 + 4000000000000000000000000 * eth) - 100004000000000000000000) >> 1;
    }

    function sqrt(uint256 x) internal pure returns (uint256 y) {
        uint256 z = (x + 1) >> 1;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) >> 1;
        }
    }

    function getPrize() internal view returns (uint256) {
        return ILottery(lottery).getAvailablePrize();
    }

    function internalTransfer(address src, address dst, uint wad) internal {
        require(_balances[src] >= wad, "ds-token-insufficient-balance");
        _balances[src] = sub(_balances[src], wad);
        _balances[dst] = add(_balances[dst], wad);

        emit Transfer(src, dst, wad);
    }
}

File 1 of 6: Adminable.sol
pragma solidity ^0.5.2;

import "./Ownable.sol";

contract Adminable is Ownable {
    mapping (address => bool) public admins;

    modifier onlyAdmin() {
        require(isAdmin(msg.sender), "not admin");
        _;
    }

    function setAdmin(address user, bool value) external onlyOwner {
        admins[user] = value;
    }

    function isAdmin(address user) internal view returns (bool) {
      return admins[user] || isOwner();
    }
}

File 2 of 6: DSMath.sol
pragma solidity ^0.5.2;


contract DSMath {
    /*
    standard uint256 functions
     */

    function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
        assert((z = x + y) >= x);
    }

    function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {
        assert((z = x - y) <= x);
    }

    function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {
        assert((z = x * y) >= x);
    }

    function div(uint256 x, uint256 y) internal pure returns (uint256 z) {
        z = x / y;
    }

    function min(uint256 x, uint256 y) internal pure returns (uint256 z) {
        return x <= y ? x : y;
    }

    function max(uint256 x, uint256 y) internal pure returns (uint256 z) {
        return x >= y ? x : y;
    }

    /*
    uint128 functions (h is for half)
     */

    function hadd(uint128 x, uint128 y) internal pure returns (uint128 z) {
        assert((z = x + y) >= x);
    }

    function hsub(uint128 x, uint128 y) internal pure returns (uint128 z) {
        assert((z = x - y) <= x);
    }

    function hmul(uint128 x, uint128 y) internal pure returns (uint128 z) {
        assert((z = x * y) >= x);
    }

    function hdiv(uint128 x, uint128 y) internal pure returns (uint128 z) {
        z = x / y;
    }

    function hmin(uint128 x, uint128 y) internal pure returns (uint128 z) {
        return x <= y ? x : y;
    }

    function hmax(uint128 x, uint128 y) internal pure returns (uint128 z) {
        return x >= y ? x : y;
    }

    /*
    int256 functions
     */

    function imin(int256 x, int256 y) internal pure returns (int256 z) {
        return x <= y ? x : y;
    }

    function imax(int256 x, int256 y) internal pure returns (int256 z) {
        return x >= y ? x : y;
    }

    /*
    WAD math
     */

    uint128 constant WAD = 10 ** 18;

    function wadd(uint128 x, uint128 y) internal pure returns (uint128) {
        return hadd(x, y);
    }

    function wsub(uint128 x, uint128 y) internal pure returns (uint128) {
        return hsub(x, y);
    }

    function wmul(uint128 x, uint128 y) internal pure returns (uint128 z) {
        z = cast((uint256(x) * y + WAD / 2) / WAD);
    }

    function wdiv(uint128 x, uint128 y) internal pure returns (uint128 z) {
        z = cast((uint256(x) * WAD + y / 2) / y);
    }

    function wmin(uint128 x, uint128 y) internal pure returns (uint128) {
        return hmin(x, y);
    }

    function wmax(uint128 x, uint128 y) internal pure returns (uint128) {
        return hmax(x, y);
    }

    /*
    RAY math
     */

    uint128 constant RAY = 10 ** 27;

    function radd(uint128 x, uint128 y) internal pure returns (uint128) {
        return hadd(x, y);
    }

    function rsub(uint128 x, uint128 y) internal pure returns (uint128) {
        return hsub(x, y);
    }

    function rmul(uint128 x, uint128 y) internal pure returns (uint128 z) {
        z = cast((uint256(x) * y + RAY / 2) / RAY);
    }

    function rdiv(uint128 x, uint128 y) internal pure returns (uint128 z) {
        z = cast((uint256(x) * RAY + y / 2) / y);
    }

    function rpow(uint128 x, uint64 n) internal pure returns (uint128 z) {
        // This famous algorithm is called "exponentiation by squaring"
        // and calculates x^n with x as fixed-point and n as regular unsigned.
        //
        // It's O(log n), instead of O(n) for naive repeated multiplication.
        //
        // These facts are why it works:
        //
        //  If n is even, then x^n = (x^2)^(n/2).
        //  If n is odd,  then x^n = x * x^(n-1),
        //   and applying the equation for even x gives
        //    x^n = x * (x^2)^((n-1) / 2).
        //
        //  Also, EVM division is flooring and
        //    floor[(n-1) / 2] = floor[n / 2].

        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }

    function rmin(uint128 x, uint128 y) internal pure returns (uint128) {
        return hmin(x, y);
    }

    function rmax(uint128 x, uint128 y) internal pure returns (uint128) {
        return hmax(x, y);
    }

    function cast(uint256 x) internal pure returns (uint128 z) {
        assert((z = uint128(x)) == x);
    }

}

File 3 of 6: DSTokenBase.sol
pragma solidity ^0.5.2;

import "./DSMath.sol";
import "./ERC20.sol";

contract DSTokenBase is ERC20, DSMath {
    uint256                                            _supply;
    mapping (address => uint256)                       _balances;
    mapping (address => mapping (address => uint256))  _approvals;

    constructor(uint supply) public {
        _supply = supply;
    }

    function totalSupply() public view returns (uint) {
        return _supply;
    }
    function balanceOf(address src) public view returns (uint) {
        return _balances[src];
    }
    function allowance(address src, address guy) public view returns (uint) {
        return _approvals[src][guy];
    }

    function transfer(address dst, uint wad) public returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }

    function transferFrom(address src, address dst, uint wad)
        public
        returns (bool)
    {
        if (src != msg.sender) {
            require(_approvals[src][msg.sender] >= wad, "ds-token-insufficient-approval");
            _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
        }

        require(_balances[src] >= wad, "ds-token-insufficient-balance");
        _balances[src] = sub(_balances[src], wad);
        _balances[dst] = add(_balances[dst], wad);

        emit Transfer(src, dst, wad);

        return true;
    }

    function approve(address guy, uint wad) public returns (bool) {
        _approvals[msg.sender][guy] = wad;

        emit Approval(msg.sender, guy, wad);

        return true;
    }
}

File 4 of 6: ERC20.sol
pragma solidity ^0.5.2;

import "./DSMath.sol";

contract ERC20Events {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
}

contract ERC20 is ERC20Events {
    function totalSupply() public view returns (uint);
    function balanceOf(address guy) public view returns (uint);
    function allowance(address src, address guy) public view returns (uint);

    function approve(address guy, uint wad) public returns (bool);
    function transfer(address dst, uint wad) public returns (bool);
    function transferFrom(address src, address dst, uint wad) public returns (bool);
}

File 6 of 6: Ownable.sol
pragma solidity ^0.5.2;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

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

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Returns true if the caller is the current owner.
     */
    function isOwner() public view returns (bool) {
        return _msgSender() == _owner;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"referral","type":"address"}],"name":"invest","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payout","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"stakesOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decentralized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"dividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"referral","type":"address"}],"name":"contribute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"decentralize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"profitPerShare","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"dividendOf","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":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lottery","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalStakes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"guy","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_lottery","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"ethAmount","type":"uint256"},{"indexed":false,"name":"tokenAmount","type":"uint256"},{"indexed":false,"name":"referee","type":"address"}],"name":"Invest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Unstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

608060405234801561001057600080fd5b506040516020806117318339810180604052602081101561003057600080fd5b505160008080556100486401000000006100bb810204565b60038054600160a060020a031916600160a060020a038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054600160a060020a031916600160a060020a03929092169190911790556100bf565b3390565b611663806100ce6000396000f3fe6080604052600436106101b9576000357c010000000000000000000000000000000000000000000000000000000090048063715018a61161010957806395d89b41116100a7578063ba13a57211610081578063ba13a572146105bc578063bf9befb1146105d1578063dd62ed3e146105e6578063f2fde38b14610621576101b9565b806395d89b4114610544578063a694fc3a14610559578063a9059cbb14610583576101b9565b80638650e92a116100e35780638650e92a146104b65780638da5cb5b146104cb5780638f32d59b146104fc57806391b89fba14610511576101b9565b8063715018a61461046657806373e888fd1461047b57806383357052146104a1576101b9565b80632e17de781161017657806333b69c4c1161015057806333b69c4c146103b85780635b410881146103eb57806368306e431461040057806370a0823114610433576101b9565b80632e17de78146103645780632e92abdd1461038e578063313ce567146103a3576101b9565b806303f9c793146101c857806306fdde03146101f0578063095ea7b31461027a5780630b7e9c44146102c757806318160ddd1461030c57806323b872dd14610321575b3480156101c557600080fd5b50005b6101ee600480360360208110156101de57600080fd5b5035600160a060020a0316610654565b005b3480156101fc57600080fd5b50610205610a1d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023f578181015183820152602001610227565b50505050905090810190601f16801561026c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028657600080fd5b506102b36004803603604081101561029d57600080fd5b50600160a060020a038135169060200135610a54565b604080519115158252519081900360200190f35b3480156102d357600080fd5b506102fa600480360360208110156102ea57600080fd5b5035600160a060020a0316610abb565b60408051918252519081900360200190f35b34801561031857600080fd5b506102fa610acd565b34801561032d57600080fd5b506102b36004803603606081101561034457600080fd5b50600160a060020a03813581169160208101359091169060400135610ad3565b34801561037057600080fd5b506101ee6004803603602081101561038757600080fd5b5035610cc4565b34801561039a57600080fd5b506101ee610dae565b3480156103af57600080fd5b506102fa610db9565b3480156103c457600080fd5b506102fa600480360360208110156103db57600080fd5b5035600160a060020a0316610dbe565b3480156103f757600080fd5b506102b3610dd0565b34801561040c57600080fd5b506102fa6004803603602081101561042357600080fd5b5035600160a060020a0316610df1565b34801561043f57600080fd5b506102fa6004803603602081101561045657600080fd5b5035600160a060020a0316610e03565b34801561047257600080fd5b506101ee610e1e565b6101ee6004803603602081101561049157600080fd5b5035600160a060020a0316610ed3565b3480156104ad57600080fd5b506101ee610f9a565b3480156104c257600080fd5b506102fa611033565b3480156104d757600080fd5b506104e0611039565b60408051600160a060020a039092168252519081900360200190f35b34801561050857600080fd5b506102b3611048565b34801561051d57600080fd5b506102fa6004803603602081101561053457600080fd5b5035600160a060020a031661106e565b34801561055057600080fd5b506102056110b1565b34801561056557600080fd5b506101ee6004803603602081101561057c57600080fd5b50356110e8565b34801561058f57600080fd5b506102b3600480360360408110156105a657600080fd5b50600160a060020a03813516906020013561115d565b3480156105c857600080fd5b506104e0611171565b3480156105dd57600080fd5b506102fa611180565b3480156105f257600080fd5b506102fa6004803603604081101561060957600080fd5b50600160a060020a0381358116916020013516611186565b34801561062d57600080fd5b506101ee6004803603602081101561064457600080fd5b5035600160a060020a03166111b1565b600061065e611218565b9050690a968163f0a57b40000081106106c1576040805160e560020a62461bcd02815260206004820152600f60248201527f7072697a6520697320656e6f7567680000000000000000000000000000000000604482015290519081900360640190fd5b60008060055411156106fd576103e8346078020490506005546801000000000000000082028115156106ef57fe5b600480549290910490910190555b600654604051600160a060020a03909116903483900380156108fc02916000818181858888f19350505050158015610739573d6000803e3d6000fd5b506000610745836112a7565b905060006107543485016112a7565b905064e8d4a51000828203046000600160a060020a038716158015906107835750600160a060020a0387163314155b156108a357601482600160a060020a03891660008181526007602090815260408083208054969095049586019094556004546008825284832080549187029190910190558351918252810184905233818401529151929350917f0a9608ebe3ce4aa0c633e40e88c837a5c35701fd72d36b3afc96057d08828d199181900360600190a2604080518281529051600160a060020a038916916000916000805160206116188339815191529181900360200190a36040805182815290513091600160a060020a038a16916000805160206116188339815191529181900360200190a3604080518281529051600160a060020a038916917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25b6000548183019064746a5288009082011115610909576040805160e560020a62461bcd02815260206004820152601160248201527f657863656564206d617820737570706c79000000000000000000000000000000604482015290519081900360640190fd5b33600081815260076020908152604080832080548801905560045460088352818420805491890291909101905582548501835560058054860190553083526001825280832080548601905580513481529182018790528181019290925290517f0a9608ebe3ce4aa0c633e40e88c837a5c35701fd72d36b3afc96057d08828d199181900360600190a260408051848152905133916000916000805160206116188339815191529181900360200190a3604080518481529051309133916000805160206116188339815191529181900360200190a360408051848152905133917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25050505050505050565b60408051808201909152600881527f4c6f74746f736869000000000000000000000000000000000000000000000000602082015281565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60086020526000908152604090205481565b60005490565b6000600160a060020a0384163314610bb357600160a060020a0384166000908152600260209081526040808320338452909152902054821115610b60576040805160e560020a62461bcd02815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054610b8e90836112f1565b600160a060020a03851660009081526002602090815260408083203384529091529020555b600160a060020a038416600090815260016020526040902054821115610c23576040805160e560020a62461bcd02815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b600160a060020a038416600090815260016020526040902054610c4690836112f1565b600160a060020a038086166000908152600160205260408082209390935590851681522054610c7590836112fe565b600160a060020a03808516600081815260016020908152604091829020949094558051868152905191939288169260008051602061161883398151915292918290030190a35060019392505050565b33600090815260076020526040902054811115610d2b576040805160e560020a62461bcd02815260206004820152601360248201527f7374616b65734f66206e6f7420656e6f75676800000000000000000000000000604482015290519081900360640190fd5b610d343361130b565b60045433600081815260086020908152604080832080549587029095039094556007815290839020805485900390556005805485900390558251848152925191927f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd929081900390910190a2610dab3033836113f5565b50565b610db73361130b565b565b600681565b60076020526000908152604090205481565b60065474010000000000000000000000000000000000000000900460ff1681565b60096020526000908152604090205481565b600160a060020a031660009081526001602052604090205490565b610e26611048565b1515610e7c576040805160e560020a62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600354604051600091600160a060020a0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36003805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000600160a060020a03821615610f0e5750600160a060020a0381166000908152600960205260409020805461012c60323402049081019091555b60065460009074010000000000000000000000000000000000000000900460ff161515610f6c575061012c604b3402048060096000610f4b611039565b600160a060020a031681526020810191909152604001600020805490910190555b60055468010000000000000000838334030302811515610f8857fe5b60048054929091049091019055505050565b600654600160a060020a03163314610ffc576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c69642073656e646572000000000000000000000000000000000000604482015290519081900360640190fd5b6006805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b60045481565b600354600160a060020a031690565b600354600090600160a060020a031661105f611501565b600160a060020a031614905090565b600160a060020a03166000908152600960209081526040808320546008835281842054600790935292205460045468010000000000000000910291909103040190565b60408051808201909152600381527f4c54530000000000000000000000000000000000000000000000000000000000602082015281565b6110f33330836113f5565b336000818152600760209081526040808320805486019055600454600883529281902080549386029093019092556005805485019055815184815291517febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9281900390910190a250565b600061116a338484610ad3565b9392505050565b600654600160a060020a031681565b60055481565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6111b9611048565b151561120f576040805160e560020a62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610dab81611505565b600654604080517f99cdfd4d0000000000000000000000000000000000000000000000000000000081529051600092600160a060020a0316916399cdfd4d916004808301926020929190829003018186803b15801561127657600080fd5b505afa15801561128a573d6000803e3d6000fd5b505050506040513d60208110156112a057600080fd5b5051905090565b6000600169152d3a4abc19941000006112e2846a034f086f3b33b684000000027301c0738dce6846558db66d45c0c2810000000000016115b8565b60029290920a91030492915050565b80820382811115610ab557fe5b80820182811015610ab557fe5b60006113168261106e565b905060008111156113f157600160a060020a03821660009081526009602090815260408083205460089092528220805482850368010000000000000000020190559081111561137957600160a060020a0383166000908152600960205260408120555b604051600160a060020a0384169083156108fc029084906000818181858888f193505050501580156113af573d6000803e3d6000fd5b50604080518381529051600160a060020a038516917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a2505b5050565b600160a060020a038316600090815260016020526040902054811115611465576040805160e560020a62461bcd02815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b600160a060020a03831660009081526001602052604090205461148890826112f1565b600160a060020a0380851660009081526001602052604080822093909355908416815220546114b790826112fe565b600160a060020a03808416600081815260016020908152604091829020949094558051858152905191939287169260008051602061161883398151915292918290030190a3505050565b3390565b600160a060020a038116151561154f5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806115f26026913960400191505060405180910390fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b80600260018201045b818110156115eb5780915060018182858115156115da57fe5b60029390930a9204010490506115c1565b5091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820721435fc98f049daca2e89e7115e2cbe4c84286cf2f53c9ba9190d131963b23c00290000000000000000000000003582f0e90a11d1e021b48e70421770a063cc9e57

Deployed Bytecode

0x6080604052600436106101b9576000357c010000000000000000000000000000000000000000000000000000000090048063715018a61161010957806395d89b41116100a7578063ba13a57211610081578063ba13a572146105bc578063bf9befb1146105d1578063dd62ed3e146105e6578063f2fde38b14610621576101b9565b806395d89b4114610544578063a694fc3a14610559578063a9059cbb14610583576101b9565b80638650e92a116100e35780638650e92a146104b65780638da5cb5b146104cb5780638f32d59b146104fc57806391b89fba14610511576101b9565b8063715018a61461046657806373e888fd1461047b57806383357052146104a1576101b9565b80632e17de781161017657806333b69c4c1161015057806333b69c4c146103b85780635b410881146103eb57806368306e431461040057806370a0823114610433576101b9565b80632e17de78146103645780632e92abdd1461038e578063313ce567146103a3576101b9565b806303f9c793146101c857806306fdde03146101f0578063095ea7b31461027a5780630b7e9c44146102c757806318160ddd1461030c57806323b872dd14610321575b3480156101c557600080fd5b50005b6101ee600480360360208110156101de57600080fd5b5035600160a060020a0316610654565b005b3480156101fc57600080fd5b50610205610a1d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023f578181015183820152602001610227565b50505050905090810190601f16801561026c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028657600080fd5b506102b36004803603604081101561029d57600080fd5b50600160a060020a038135169060200135610a54565b604080519115158252519081900360200190f35b3480156102d357600080fd5b506102fa600480360360208110156102ea57600080fd5b5035600160a060020a0316610abb565b60408051918252519081900360200190f35b34801561031857600080fd5b506102fa610acd565b34801561032d57600080fd5b506102b36004803603606081101561034457600080fd5b50600160a060020a03813581169160208101359091169060400135610ad3565b34801561037057600080fd5b506101ee6004803603602081101561038757600080fd5b5035610cc4565b34801561039a57600080fd5b506101ee610dae565b3480156103af57600080fd5b506102fa610db9565b3480156103c457600080fd5b506102fa600480360360208110156103db57600080fd5b5035600160a060020a0316610dbe565b3480156103f757600080fd5b506102b3610dd0565b34801561040c57600080fd5b506102fa6004803603602081101561042357600080fd5b5035600160a060020a0316610df1565b34801561043f57600080fd5b506102fa6004803603602081101561045657600080fd5b5035600160a060020a0316610e03565b34801561047257600080fd5b506101ee610e1e565b6101ee6004803603602081101561049157600080fd5b5035600160a060020a0316610ed3565b3480156104ad57600080fd5b506101ee610f9a565b3480156104c257600080fd5b506102fa611033565b3480156104d757600080fd5b506104e0611039565b60408051600160a060020a039092168252519081900360200190f35b34801561050857600080fd5b506102b3611048565b34801561051d57600080fd5b506102fa6004803603602081101561053457600080fd5b5035600160a060020a031661106e565b34801561055057600080fd5b506102056110b1565b34801561056557600080fd5b506101ee6004803603602081101561057c57600080fd5b50356110e8565b34801561058f57600080fd5b506102b3600480360360408110156105a657600080fd5b50600160a060020a03813516906020013561115d565b3480156105c857600080fd5b506104e0611171565b3480156105dd57600080fd5b506102fa611180565b3480156105f257600080fd5b506102fa6004803603604081101561060957600080fd5b50600160a060020a0381358116916020013516611186565b34801561062d57600080fd5b506101ee6004803603602081101561064457600080fd5b5035600160a060020a03166111b1565b600061065e611218565b9050690a968163f0a57b40000081106106c1576040805160e560020a62461bcd02815260206004820152600f60248201527f7072697a6520697320656e6f7567680000000000000000000000000000000000604482015290519081900360640190fd5b60008060055411156106fd576103e8346078020490506005546801000000000000000082028115156106ef57fe5b600480549290910490910190555b600654604051600160a060020a03909116903483900380156108fc02916000818181858888f19350505050158015610739573d6000803e3d6000fd5b506000610745836112a7565b905060006107543485016112a7565b905064e8d4a51000828203046000600160a060020a038716158015906107835750600160a060020a0387163314155b156108a357601482600160a060020a03891660008181526007602090815260408083208054969095049586019094556004546008825284832080549187029190910190558351918252810184905233818401529151929350917f0a9608ebe3ce4aa0c633e40e88c837a5c35701fd72d36b3afc96057d08828d199181900360600190a2604080518281529051600160a060020a038916916000916000805160206116188339815191529181900360200190a36040805182815290513091600160a060020a038a16916000805160206116188339815191529181900360200190a3604080518281529051600160a060020a038916917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25b6000548183019064746a5288009082011115610909576040805160e560020a62461bcd02815260206004820152601160248201527f657863656564206d617820737570706c79000000000000000000000000000000604482015290519081900360640190fd5b33600081815260076020908152604080832080548801905560045460088352818420805491890291909101905582548501835560058054860190553083526001825280832080548601905580513481529182018790528181019290925290517f0a9608ebe3ce4aa0c633e40e88c837a5c35701fd72d36b3afc96057d08828d199181900360600190a260408051848152905133916000916000805160206116188339815191529181900360200190a3604080518481529051309133916000805160206116188339815191529181900360200190a360408051848152905133917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25050505050505050565b60408051808201909152600881527f4c6f74746f736869000000000000000000000000000000000000000000000000602082015281565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60086020526000908152604090205481565b60005490565b6000600160a060020a0384163314610bb357600160a060020a0384166000908152600260209081526040808320338452909152902054821115610b60576040805160e560020a62461bcd02815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054610b8e90836112f1565b600160a060020a03851660009081526002602090815260408083203384529091529020555b600160a060020a038416600090815260016020526040902054821115610c23576040805160e560020a62461bcd02815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b600160a060020a038416600090815260016020526040902054610c4690836112f1565b600160a060020a038086166000908152600160205260408082209390935590851681522054610c7590836112fe565b600160a060020a03808516600081815260016020908152604091829020949094558051868152905191939288169260008051602061161883398151915292918290030190a35060019392505050565b33600090815260076020526040902054811115610d2b576040805160e560020a62461bcd02815260206004820152601360248201527f7374616b65734f66206e6f7420656e6f75676800000000000000000000000000604482015290519081900360640190fd5b610d343361130b565b60045433600081815260086020908152604080832080549587029095039094556007815290839020805485900390556005805485900390558251848152925191927f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd929081900390910190a2610dab3033836113f5565b50565b610db73361130b565b565b600681565b60076020526000908152604090205481565b60065474010000000000000000000000000000000000000000900460ff1681565b60096020526000908152604090205481565b600160a060020a031660009081526001602052604090205490565b610e26611048565b1515610e7c576040805160e560020a62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600354604051600091600160a060020a0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36003805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000600160a060020a03821615610f0e5750600160a060020a0381166000908152600960205260409020805461012c60323402049081019091555b60065460009074010000000000000000000000000000000000000000900460ff161515610f6c575061012c604b3402048060096000610f4b611039565b600160a060020a031681526020810191909152604001600020805490910190555b60055468010000000000000000838334030302811515610f8857fe5b60048054929091049091019055505050565b600654600160a060020a03163314610ffc576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c69642073656e646572000000000000000000000000000000000000604482015290519081900360640190fd5b6006805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b60045481565b600354600160a060020a031690565b600354600090600160a060020a031661105f611501565b600160a060020a031614905090565b600160a060020a03166000908152600960209081526040808320546008835281842054600790935292205460045468010000000000000000910291909103040190565b60408051808201909152600381527f4c54530000000000000000000000000000000000000000000000000000000000602082015281565b6110f33330836113f5565b336000818152600760209081526040808320805486019055600454600883529281902080549386029093019092556005805485019055815184815291517febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9281900390910190a250565b600061116a338484610ad3565b9392505050565b600654600160a060020a031681565b60055481565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6111b9611048565b151561120f576040805160e560020a62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610dab81611505565b600654604080517f99cdfd4d0000000000000000000000000000000000000000000000000000000081529051600092600160a060020a0316916399cdfd4d916004808301926020929190829003018186803b15801561127657600080fd5b505afa15801561128a573d6000803e3d6000fd5b505050506040513d60208110156112a057600080fd5b5051905090565b6000600169152d3a4abc19941000006112e2846a034f086f3b33b684000000027301c0738dce6846558db66d45c0c2810000000000016115b8565b60029290920a91030492915050565b80820382811115610ab557fe5b80820182811015610ab557fe5b60006113168261106e565b905060008111156113f157600160a060020a03821660009081526009602090815260408083205460089092528220805482850368010000000000000000020190559081111561137957600160a060020a0383166000908152600960205260408120555b604051600160a060020a0384169083156108fc029084906000818181858888f193505050501580156113af573d6000803e3d6000fd5b50604080518381529051600160a060020a038516917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a2505b5050565b600160a060020a038316600090815260016020526040902054811115611465576040805160e560020a62461bcd02815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b600160a060020a03831660009081526001602052604090205461148890826112f1565b600160a060020a0380851660009081526001602052604080822093909355908416815220546114b790826112fe565b600160a060020a03808416600081815260016020908152604091829020949094558051858152905191939287169260008051602061161883398151915292918290030190a3505050565b3390565b600160a060020a038116151561154f5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806115f26026913960400191505060405180910390fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b80600260018201045b818110156115eb5780915060018182858115156115da57fe5b60029390930a9204010490506115c1565b5091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820721435fc98f049daca2e89e7115e2cbe4c84286cf2f53c9ba9190d131963b23c0029

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

0000000000000000000000003582f0e90a11d1e021b48e70421770a063cc9e57

-----Decoded View---------------
Arg [0] : _lottery (address): 0x3582F0e90a11D1e021B48E70421770A063CC9e57

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003582f0e90a11d1e021b48e70421770a063cc9e57


Deployed Bytecode Sourcemap

168:5791:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;168:5791:4;;2064:1685;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2064:1685:4;-1:-1:-1;;;;;2064:1685:4;;:::i;:::-;;583:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;583:40:4;;;:::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;583:40:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1386:180:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1386:180:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1386:180:2;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;900:42:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;900:42:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;900:42:4;-1:-1:-1;;;;;900:42:4;;:::i;:::-;;;;;;;;;;;;;;;;384:81:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;384:81:2;;;:::i;821:559::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;821:559:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;821:559:2;;;;;;;;;;;;;;;;;:::i;4035:389:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4035:389:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4035:389:4;;:::i;4430:82::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4430:82:4;;;:::i;672:36::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;672:36:4;;;:::i;850:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;850:44:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;850:44:4;-1:-1:-1;;;;;850:44:4;;:::i;818:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;818:25:4;;;:::i;948:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;948:45:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;948:45:4;-1:-1:-1;;;;;948:45:4;;:::i;470:97:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;470:97:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;470:97:2;-1:-1:-1;;;;;470:97:2;;:::i;2746:137:5:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2746:137:5;;;:::i;1523:535:4:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1523:535:4;-1:-1:-1;;;;;1523:535:4;;:::i;1389:128::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1389:128:4;;;:::i;715:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:29:4;;;:::i;1961:77:5:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1961:77:5;;;:::i;:::-;;;;-1:-1:-1;;;;;1961:77:5;;;;;;;;;;;;;;2312:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2312:92:5;;;:::i;4949:166:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4949:166:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4949:166:4;-1:-1:-1;;;;;4949:166:4;;:::i;629:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;629:37:4;;;:::i;3755:274::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3755:274:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3755:274:4;;:::i;694:121:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;694:121:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;694:121:2;;;;;;;;:::i;782:30:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;782:30:4;;;:::i;750:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;750:26:4;;;:::i;572:116:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;572:116:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;572:116:2;;;;;;;;;;:::i;3032:107:5:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3032:107:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3032:107:5;-1:-1:-1;;;;;3032:107:5;;:::i;2064:1685:4:-;2123:13;2139:10;:8;:10::i;:::-;2123:26;-1:-1:-1;503:11:4;2167:29;;2159:57;;;;;-1:-1:-1;;;;;2159:57:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;2226:18;2272:1;2258:11;;:15;2254:161;;;2332:4;2302:9;437:3;2302:27;:34;2289:47;;2393:11;;257:7;2368:10;:22;:36;;;;;;;2350:14;:54;;2368:36;;;;2350:54;;;;;2254:161;2424:7;;:40;;-1:-1:-1;;;;;2424:7:4;;;;2441:9;:22;;;2424:40;;;;;:7;:40;:7;:40;2441:22;2424:7;:40;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2424:40:4;2474:14;2491:18;2503:5;2491:11;:18::i;:::-;2474:35;;2519:14;2536:30;2556:9;2548:5;:17;2536:11;:30::i;:::-;2519:47;-1:-1:-1;2618:13:4;2599:15;;;2598:33;2576:19;-1:-1:-1;;;;;2677:22:4;;;;;;:48;;-1:-1:-1;;;;;;2703:22:4;;2715:10;2703:22;;2677:48;2673:476;;;2772:2;2758:11;-1:-1:-1;;;;;2788:18:4;;;;;;:8;:18;;;;;;;;:36;;2758:16;;;;2788:36;;;;;;2875:14;;2838:6;:16;;;;;:51;;2858:31;;;2838:51;;;;;;2908:47;;;;;;;;;;2944:10;2908:47;;;;;;2758:16;;-1:-1:-1;2788:18:4;2908:47;;;;;;;;;2974:46;;;;;;;;-1:-1:-1;;;;;2974:46:4;;;2991:1;;-1:-1:-1;;;;;;;;;;;2974:46:4;;;;;;;;3039:49;;;;;;;;3066:4;;-1:-1:-1;;;;;3039:49:4;;;-1:-1:-1;;;;;;;;;;;3039:49:4;;;;;;;;3107:31;;;;;;;;-1:-1:-1;;;;;3107:31:4;;;;;;;;;;;;;2673:476;3158:19;3226:7;3180:28;;;;559:18;3226:21;;;:35;;3218:65;;;;;-1:-1:-1;;;;;3218:65:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;3302:10;3293:20;;;;:8;:20;;;;;;;;:35;;;;;;3374:14;;3338:6;:18;;;;;:50;;3360:28;;;3338:50;;;;;;3398:22;;;;;;3430:11;:26;;;;;;3484:4;3466:24;;-1:-1:-1;3466:24:4;;;;;:39;;;;;;3520:54;;3539:9;3520:54;;;;;;;;;;;;;;;;;;;;;;;;;;3589:45;;;;;;;;3610:10;;3606:1;;-1:-1:-1;;;;;;;;;;;3589:45:4;;;;;;;;3649:48;;;;;;;;3678:4;;3658:10;;-1:-1:-1;;;;;;;;;;;3649:48:4;;;;;;;;3712:30;;;;;;;;3718:10;;3712:30;;;;;;;;;;2064:1685;;;;;;;;:::o;583:40::-;;;;;;;;;;;;;;;;;;;:::o;1386:180:2:-;1469:10;1442:4;1458:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;1458:27:2;;;;;;;;;;;:33;;;1507:30;;;;;;;1442:4;;1458:27;;1469:10;;1507:30;;;;;;;;-1:-1:-1;1555:4:2;1386:180;;;;;:::o;900:42:4:-;;;;;;;;;;;;;:::o;384:81:2:-;428:4;451:7;384:81;:::o;821:559::-;911:4;-1:-1:-1;;;;;935:17:2;;942:10;935:17;931:206;;-1:-1:-1;;;;;976:15:2;;;;;;:10;:15;;;;;;;;992:10;976:27;;;;;;;;:34;-1:-1:-1;976:34:2;968:77;;;;;-1:-1:-1;;;;;968:77:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1093:15:2;;;;;;:10;:15;;;;;;;;1109:10;1093:27;;;;;;;;1089:37;;1122:3;1089;:37::i;:::-;-1:-1:-1;;;;;1059:15:2;;;;;;:10;:15;;;;;;;;1075:10;1059:27;;;;;;;:67;931:206;-1:-1:-1;;;;;1155:14:2;;;;;;:9;:14;;;;;;:21;-1:-1:-1;1155:21:2;1147:63;;;;;-1:-1:-1;;;;;1147:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1241:14:2;;;;;;:9;:14;;;;;;1237:24;;1257:3;1237;:24::i;:::-;-1:-1:-1;;;;;1220:14:2;;;;;;;:9;:14;;;;;;:41;;;;1292:14;;;;;;;1288:24;;1308:3;1288;:24::i;:::-;-1:-1:-1;;;;;1271:14:2;;;;;;;:9;:14;;;;;;;;;:41;;;;1328:23;;;;;;;1271:14;;1328:23;;;;-1:-1:-1;;;;;;;;;;;1328:23:2;;;;;;;;-1:-1:-1;1369:4:2;821:559;;;;;:::o;4035:389:4:-;4104:10;4095:20;;;;:8;:20;;;;;;:30;-1:-1:-1;4095:30:4;4087:62;;;;;-1:-1:-1;;;;;4087:62:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;4159:29;4177:10;4159:17;:29::i;:::-;4229:14;;4205:10;4198:18;;;;:6;:18;;;;;;;;:45;;4220:23;;;4198:45;;;;;;4253:8;:20;;;;;;:30;;;;;;;4293:11;:21;;;;;;;4329:27;;;;;;;4205:10;;4329:27;;;;;;;;;;;4366:51;4391:4;4398:10;4410:6;4366:16;:51::i;:::-;4035:389;:::o;4430:82::-;4476:29;4494:10;4476:17;:29::i;:::-;4430:82::o;672:36::-;707:1;672:36;:::o;850:44::-;;;;;;;;;;;;;:::o;818:25::-;;;;;;;;;:::o;948:45::-;;;;;;;;;;;;;:::o;470:97:2:-;-1:-1:-1;;;;;546:14:2;523:4;546:14;;;:9;:14;;;;;;;470:97::o;2746:137:5:-;2165:9;:7;:9::i;:::-;2157:54;;;;;;;-1:-1:-1;;;;;2157:54:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2828:6;;2807:40;;2844:1;;-1:-1:-1;;;;;2828:6:5;;2807:40;;2844:1;;2807:40;2857:6;:19;;-1:-1:-1;;2857:19:5;;;2746:137::o;1523:535:4:-;1588:22;-1:-1:-1;;;;;1624:22:4;;;1620:158;;-1:-1:-1;;;;;;1730:19:4;;;;;;:9;:19;;;;;:37;;1713:3;379:2;1679:9;:31;:37;1730;;;;;;1620:158;1821:13;;1787:19;;1821:13;;;;;1820:14;1816:140;;;-1:-1:-1;1895:3:4;315:2;1864:9;:28;:34;;1912:9;:18;1922:7;:5;:7::i;:::-;-1:-1:-1;;;;;1912:18:4;;;;;;;;;;;;-1:-1:-1;1912:18:4;:33;;;;;;;1816:140;2040:11;;257:7;2010:14;1996:11;1984:9;:23;:40;1983:54;:68;;;;;;;1965:14;:86;;1983:68;;;;1965:86;;;;;-1:-1:-1;;;1523:535:4:o;1389:128::-;1440:7;;-1:-1:-1;;;;;1440:7:4;1451:10;1440:21;1432:48;;;;;-1:-1:-1;;;;;1432:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:13;:20;;-1:-1:-1;;1490:20:4;;;;;1389:128::o;715:29::-;;;;:::o;1961:77:5:-;2025:6;;-1:-1:-1;;;;;2025:6:5;1961:77;:::o;2312:92::-;2391:6;;2352:4;;-1:-1:-1;;;;;2391:6:5;2375:12;:10;:12::i;:::-;-1:-1:-1;;;;;2375:22:5;;2368:29;;2312:92;:::o;4949:166:4:-;-1:-1:-1;;;;;5093:15:4;5004:7;5093:15;;;:9;:15;;;;;;;;;5065:6;:12;;;;;;5048:8;:14;;;;;;5031;;257:7;5031:31;;:46;;;;5030:60;:78;;4949:166::o;629:37::-;;;;;;;;;;;;;;;;;;;:::o;3755:274::-;3805:51;3822:10;3842:4;3849:6;3805:16;:51::i;:::-;3875:10;3866:20;;;;:8;:20;;;;;;;;:30;;;;;;3937:14;;3906:6;:18;;;;;;:45;;3928:23;;;3906:45;;;;;;3961:11;:21;;;;;;3997:25;;;;;;;;;;;;;;;;;3755:274;:::o;694:121:2:-;751:4;774:34;787:10;799:3;804;774:12;:34::i;:::-;767:41;694:121;-1:-1:-1;;;694:121:2:o;782:30:4:-;;;-1:-1:-1;;;;;782:30:4;;:::o;750:26::-;;;;:::o;572:116:2:-;-1:-1:-1;;;;;661:15:2;;;638:4;661:15;;;:10;:15;;;;;;;;:20;;;;;;;;;;;;;572:116::o;3032:107:5:-;2165:9;:7;:9::i;:::-;2157:54;;;;;;;-1:-1:-1;;;;;2157:54:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3104:28;3123:8;3104:18;:28::i;5546:113:4:-;5624:7;;5615:37;;;;;;;;5589:7;;-1:-1:-1;;;;;5624:7:4;;5615:35;;:37;;;;;;;;;;;;;;5624:7;5615:37;;;5:2:-1;;;;30:1;27;20:12;5:2;5615:37:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5615:37:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5615:37:4;;-1:-1:-1;5546:113:4;:::o;5121:211::-;5178:7;5324:1;5295:24;5205:87;5288:3;5260:25;:31;5210:47;:81;5205:4;:87::i;:::-;49:1:-1;45:20;;;;5205:114:4;;25:41:-1;;5121:211:4;-1:-1:-1;;5121:211:4:o;211:110:1:-;302:5;;;297:16;;;;290:24;;;95:110;186:5;;;181:16;;;;174:24;;;4518:425:4;4586:16;4605;4616:4;4605:10;:16::i;:::-;4586:35;;4646:1;4635:8;:12;4631:306;;;-1:-1:-1;;;;;4683:15:4;;4663:17;4683:15;;;:9;:15;;;;;;;;;4712:6;:12;;;;;:50;;4729:20;;;257:7;4728:34;4712:50;;;4683:15;4780:13;;4776:71;;;-1:-1:-1;;;;;4813:15:4;;4831:1;4813:15;;;:9;:15;;;;;:19;4776:71;4860:23;;-1:-1:-1;;;;;4860:13:4;;;:23;;;;;4874:8;;4860:23;;;;4874:8;4860:13;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;4902:24:4;;;;;;;;-1:-1:-1;;;;;4902:24:4;;;;;;;;;;;;;4631:306;;4518:425;;:::o;5665:292::-;-1:-1:-1;;;;;5754:14:4;;;;;;:9;:14;;;;;;:21;-1:-1:-1;5754:21:4;5746:63;;;;;-1:-1:-1;;;;;5746:63:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5840:14:4;;;;;;:9;:14;;;;;;5836:24;;5856:3;5836;:24::i;:::-;-1:-1:-1;;;;;5819:14:4;;;;;;;:9;:14;;;;;;:41;;;;5891:14;;;;;;;5887:24;;5907:3;5887;:24::i;:::-;-1:-1:-1;;;;;5870:14:4;;;;;;;:9;:14;;;;;;;;;:41;;;;5927:23;;;;;;;5870:14;;5927:23;;;;-1:-1:-1;;;;;;;;;;;5927:23:4;;;;;;;;5665:292;;;:::o;788:96:5:-;867:10;788:96;:::o;3240:225::-;-1:-1:-1;;;;;3313:22:5;;;;3305:73;;;;-1:-1:-1;;;;;3305:73:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:6;;3393:38;;-1:-1:-1;;;;;3393:38:5;;;;3414:6;;3393:38;;3414:6;;3393:38;3441:6;:17;;-1:-1:-1;;3441:17:5;-1:-1:-1;;;;;3441:17:5;;;;;;;;;;3240:225::o;5338:202:4:-;5420:1;49::-1;5430::4;5420:5;;25:41:-1;5456:78:4;5467:1;5463;:5;5456:78;;;5488:1;5484:5;;5522:1;5516;5512;5508;:5;;;;;;;49:1:-1;45:20;;;;5508:5:4;;:9;25:41:-1;;-1:-1;5456:78:4;;;5338:202;;;;:::o

Swarm Source

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