ETH Price: $3,491.27 (+2.49%)
Gas: 2 Gwei

Contract

0x05B3039DF5d2c3553140924B539A2D1B9A82448a
 

Overview

ETH Balance

1.038660463723384556 ETH

Eth Value

$3,626.24 (@ $3,491.27/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Dividen...90822822019-12-10 9:03:131683 days ago1575968593IN
0x05B3039D...B9A82448a
0 ETH0.000202995
Withdraw Dividen...90822772019-12-10 9:02:001683 days ago1575968520IN
0x05B3039D...B9A82448a
0 ETH0.000202995
Withdraw Dividen...90822652019-12-10 8:58:031683 days ago1575968283IN
0x05B3039D...B9A82448a
0 ETH0.000153445
Withdraw Dividen...90822512019-12-10 8:54:121683 days ago1575968052IN
0x05B3039D...B9A82448a
0 ETH0.000202995
Withdraw Dividen...90822492019-12-10 8:53:521683 days ago1575968032IN
0x05B3039D...B9A82448a
0 ETH0.000202995
Withdraw Dividen...90822472019-12-10 8:53:211683 days ago1575968001IN
0x05B3039D...B9A82448a
0 ETH0.000153445
Withdraw Dividen...90822312019-12-10 8:48:361683 days ago1575967716IN
0x05B3039D...B9A82448a
0 ETH0.000124075
Withdraw Dividen...90822312019-12-10 8:48:361683 days ago1575967716IN
0x05B3039D...B9A82448a
0 ETH0.000124075
Withdraw Dividen...90822312019-12-10 8:48:361683 days ago1575967716IN
0x05B3039D...B9A82448a
0 ETH0.000124075
Withdraw Dividen...90822312019-12-10 8:48:361683 days ago1575967716IN
0x05B3039D...B9A82448a
0 ETH0.000202995
Withdraw Dividen...90821832019-12-10 8:37:011683 days ago1575967021IN
0x05B3039D...B9A82448a
0 ETH0.000202995
Withdraw Dividen...90820312019-12-10 8:02:361683 days ago1575964956IN
0x05B3039D...B9A82448a
0 ETH0.000243596
Withdraw Dividen...90600262019-12-06 10:26:171687 days ago1575627977IN
0x05B3039D...B9A82448a
0 ETH0.000226966.1
Withdraw Dividen...89956402019-11-25 1:09:111699 days ago1574644151IN
0x05B3039D...B9A82448a
0 ETH0.000052081.4
Withdraw Dividen...89956112019-11-25 1:02:231699 days ago1574643743IN
0x05B3039D...B9A82448a
0 ETH0.000096732.6
Unstake89849352019-11-23 6:42:061700 days ago1574491326IN
0x05B3039D...B9A82448a
0 ETH0.0004120710
Unstake89849262019-11-23 6:40:281700 days ago1574491228IN
0x05B3039D...B9A82448a
0 ETH0.000082412
Withdraw Dividen...89849262019-11-23 6:40:281700 days ago1574491228IN
0x05B3039D...B9A82448a
0 ETH0.0003720710
Invest89844192019-11-23 4:32:261700 days ago1574483546IN
0x05B3039D...B9A82448a
0.5651063 ETH0.000106421
Invest89843572019-11-23 4:15:361700 days ago1574482536IN
0x05B3039D...B9A82448a
0.5651063 ETH0.00018731.75999984
Invest89839052019-11-23 2:26:461701 days ago1574476006IN
0x05B3039D...B9A82448a
0.02260322 ETH0.000159731.5
Invest89813172019-11-22 16:11:511701 days ago1574439111IN
0x05B3039D...B9A82448a
0.56505992 ETH0.0019156318
Invest89812692019-11-22 16:01:171701 days ago1574438477IN
0x05B3039D...B9A82448a
0.56501592 ETH0.0021284820
Invest89810612019-11-22 15:06:541701 days ago1574435214IN
0x05B3039D...B9A82448a
4.51867659 ETH0.0049946430
Invest89810342019-11-22 15:00:481701 days ago1574434848IN
0x05B3039D...B9A82448a
2.82269784 ETH0.0041082830.1
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.003 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.147 ETH
175185052023-06-20 4:22:23395 days ago1687234943
0x05B3039D...B9A82448a
0.147 ETH
173653012023-05-29 14:41:35417 days ago1685371295
0x05B3039D...B9A82448a
0.003 ETH
173652972023-05-29 14:40:47417 days ago1685371247
0x05B3039D...B9A82448a
0.168 ETH
173652892023-05-29 14:39:11417 days ago1685371151
0x05B3039D...B9A82448a
0.168 ETH
173652792023-05-29 14:37:11417 days ago1685371031
0x05B3039D...B9A82448a
0.168 ETH
173504992023-05-27 12:50:47419 days ago1685191847
0x05B3039D...B9A82448a
0.024 ETH
173504952023-05-27 12:49:59419 days ago1685191799
0x05B3039D...B9A82448a
0.024 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Lottoshi

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 5: 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 2 of 5: 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 5: 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 5: 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 5 of 5: 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"}]

608060405234801561001057600080fd5b506040516020806116548339810180604052602081101561003057600080fd5b505160008080556100466100b9602090811b901c565b600380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b0319166001600160a01b03929092169190911790556100bd565b3390565b611588806100cc6000396000f3fe60806040526004361061019c5760003560e01c8063715018a6116100ec57806395d89b411161008a578063ba13a57211610064578063ba13a5721461059f578063bf9befb1146105b4578063dd62ed3e146105c9578063f2fde38b146106045761019c565b806395d89b4114610527578063a694fc3a1461053c578063a9059cbb146105665761019c565b80638650e92a116100c65780638650e92a146104995780638da5cb5b146104ae5780638f32d59b146104df57806391b89fba146104f45761019c565b8063715018a61461044957806373e888fd1461045e57806383357052146104845761019c565b80632e17de781161015957806333b69c4c1161013357806333b69c4c1461039b5780635b410881146103ce57806368306e43146103e357806370a08231146104165761019c565b80632e17de78146103475780632e92abdd14610371578063313ce567146103865761019c565b806303f9c793146101ab57806306fdde03146101d3578063095ea7b31461025d5780630b7e9c44146102aa57806318160ddd146102ef57806323b872dd14610304575b3480156101a857600080fd5b50005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b0316610637565b005b3480156101df57600080fd5b506101e86109f5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022257818101518382015260200161020a565b50505050905090810190601f16801561024f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026957600080fd5b506102966004803603604081101561028057600080fd5b506001600160a01b038135169060200135610a1c565b604080519115158252519081900360200190f35b3480156102b657600080fd5b506102dd600480360360208110156102cd57600080fd5b50356001600160a01b0316610a83565b60408051918252519081900360200190f35b3480156102fb57600080fd5b506102dd610a95565b34801561031057600080fd5b506102966004803603606081101561032757600080fd5b506001600160a01b03813581169160208101359091169060400135610a9b565b34801561035357600080fd5b506101d16004803603602081101561036a57600080fd5b5035610c8c565b34801561037d57600080fd5b506101d1610d76565b34801561039257600080fd5b506102dd610d81565b3480156103a757600080fd5b506102dd600480360360208110156103be57600080fd5b50356001600160a01b0316610d86565b3480156103da57600080fd5b50610296610d98565b3480156103ef57600080fd5b506102dd6004803603602081101561040657600080fd5b50356001600160a01b0316610da8565b34801561042257600080fd5b506102dd6004803603602081101561043957600080fd5b50356001600160a01b0316610dba565b34801561045557600080fd5b506101d1610dd5565b6101d16004803603602081101561047457600080fd5b50356001600160a01b0316610e7b565b34801561049057600080fd5b506101d1610f28565b3480156104a557600080fd5b506102dd610fb0565b3480156104ba57600080fd5b506104c3610fb6565b604080516001600160a01b039092168252519081900360200190f35b3480156104eb57600080fd5b50610296610fc5565b34801561050057600080fd5b506102dd6004803603602081101561051757600080fd5b50356001600160a01b0316610feb565b34801561053357600080fd5b506101e8611029565b34801561054857600080fd5b506101d16004803603602081101561055f57600080fd5b503561104b565b34801561057257600080fd5b506102966004803603604081101561058957600080fd5b506001600160a01b0381351690602001356110c0565b3480156105ab57600080fd5b506104c36110d4565b3480156105c057600080fd5b506102dd6110e3565b3480156105d557600080fd5b506102dd600480360360408110156105ec57600080fd5b506001600160a01b03813581169160200135166110e9565b34801561061057600080fd5b506101d16004803603602081101561062757600080fd5b50356001600160a01b0316611114565b6000610641611179565b9050690a968163f0a57b40000081106106a45760408051600160e51b62461bcd02815260206004820152600f60248201527f7072697a6520697320656e6f7567680000000000000000000000000000000000604482015290519081900360640190fd5b600554600090156106d8576103e834607802049050600554600160401b8202816106ca57fe5b600480549290910490910190555b6006546040516001600160a01b03909116903483900380156108fc02916000818181858888f19350505050158015610714573d6000803e3d6000fd5b506000610720836111f2565b9050600061072f3485016111f2565b905064e8d4a510008282030460006001600160a01b0387161580159061075e57506001600160a01b0387163314155b1561087e576014826001600160a01b03891660008181526007602090815260408083208054969095049586019094556004546008825284832080549187029190910190558351918252810184905233818401529151929350917f0a9608ebe3ce4aa0c633e40e88c837a5c35701fd72d36b3afc96057d08828d199181900360600190a26040805182815290516001600160a01b0389169160009160008051602061153d8339815191529181900360200190a360408051828152905130916001600160a01b038a169160008051602061153d8339815191529181900360200190a36040805182815290516001600160a01b038916917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25b6000548183019064746a52880090820111156108e45760408051600160e51b62461bcd02815260206004820152601160248201527f657863656564206d617820737570706c79000000000000000000000000000000604482015290519081900360640190fd5b33600081815260076020908152604080832080548801905560045460088352818420805491890291909101905582548501835560058054860190553083526001825280832085905580513481529182018790528181019290925290517f0a9608ebe3ce4aa0c633e40e88c837a5c35701fd72d36b3afc96057d08828d199181900360600190a2604080518481529051339160009160008051602061153d8339815191529181900360200190a36040805184815290513091339160008051602061153d8339815191529181900360200190a360408051848152905133917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25050505050505050565b604051806040016040528060088152602001600160c01b674c6f74746f7368690281525081565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60086020526000908152604090205481565b60005490565b60006001600160a01b0384163314610b7b576001600160a01b0384166000908152600260209081526040808320338452909152902054821115610b285760408051600160e51b62461bcd02815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260209081526040808320338452909152902054610b569083611236565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6001600160a01b038416600090815260016020526040902054821115610beb5760408051600160e51b62461bcd02815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054610c0e9083611236565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610c3d9083611243565b6001600160a01b03808516600081815260016020908152604091829020949094558051868152905191939288169260008051602061153d83398151915292918290030190a35060019392505050565b33600090815260076020526040902054811115610cf35760408051600160e51b62461bcd02815260206004820152601360248201527f7374616b65734f66206e6f7420656e6f75676800000000000000000000000000604482015290519081900360640190fd5b610cfc33611250565b60045433600081815260086020908152604080832080549587029095039094556007815290839020805485900390556005805485900390558251848152925191927f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd929081900390910190a2610d73303383611331565b50565b610d7f33611250565b565b600681565b60076020526000908152604090205481565b600654600160a01b900460ff1681565b60096020526000908152604090205481565b6001600160a01b031660009081526001602052604090205490565b610ddd610fc5565b610e315760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60006001600160a01b03821615610eb657506001600160a01b0381166000908152600960205260409020805461012c60323402049081019091555b600654600090600160a01b900460ff16610f01575061012c604b3402048060096000610ee0610fb6565b6001600160a01b031681526020810191909152604001600020805490910190555b600554600160401b83833403030281610f1657fe5b60048054929091049091019055505050565b6006546001600160a01b03163314610f8a5760408051600160e51b62461bcd02815260206004820152600e60248201527f696e76616c69642073656e646572000000000000000000000000000000000000604482015290519081900360640190fd5b6006805474ff00000000000000000000000000000000000000001916600160a01b179055565b60045481565b6003546001600160a01b031690565b6003546000906001600160a01b0316610fdc61143d565b6001600160a01b031614905090565b6001600160a01b031660009081526009602090815260408083205460088352818420546007909352922054600454600160401b910291909103040190565b604051806040016040528060038152602001600160e81b624c54530281525081565b611056333083611331565b336000818152600760209081526040808320805486019055600454600883529281902080549386029093019092556005805485019055815184815291517febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9281900390910190a250565b60006110cd338484610a9b565b9392505050565b6006546001600160a01b031681565b60055481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61111c610fc5565b6111705760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610d7381611441565b60065460408051600160e01b6399cdfd4d02815290516000926001600160a01b0316916399cdfd4d916004808301926020929190829003018186803b1580156111c157600080fd5b505afa1580156111d5573d6000803e3d6000fd5b505050506040513d60208110156111eb57600080fd5b5051905090565b6000600169152d3a4abc199410000061122d846a034f086f3b33b684000000027301c0738dce6846558db66d45c0c2810000000000016114e5565b03901c92915050565b80820382811115610a7d57fe5b80820182811015610a7d57fe5b600061125b82610feb565b9050801561132d576001600160a01b03821660009081526009602090815260408083205460089092529091208054828403600160401b0201905580156112b5576001600160a01b0383166000908152600960205260408120555b6040516001600160a01b0384169083156108fc029084906000818181858888f193505050501580156112eb573d6000803e3d6000fd5b506040805183815290516001600160a01b038516917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a2505b5050565b6001600160a01b0383166000908152600160205260409020548111156113a15760408051600160e51b62461bcd02815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b0383166000908152600160205260409020546113c49082611236565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546113f39082611243565b6001600160a01b03808416600081815260016020908152604091829020949094558051858152905191939287169260008051602061153d83398151915292918290030190a3505050565b3390565b6001600160a01b03811661148957604051600160e51b62461bcd0281526004018080602001828103825260268152602001806115176026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b806001818101901c5b818110156115105780915060018182858161150557fe5b0401901c90506114ee565b5091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b5964367fff56cfa583be621803ee92312b4962ac7a1725953f96c60703b3ea500290000000000000000000000008c53cdbe9456743e24937096ca79545cff3c113d

Deployed Bytecode

0x60806040526004361061019c5760003560e01c8063715018a6116100ec57806395d89b411161008a578063ba13a57211610064578063ba13a5721461059f578063bf9befb1146105b4578063dd62ed3e146105c9578063f2fde38b146106045761019c565b806395d89b4114610527578063a694fc3a1461053c578063a9059cbb146105665761019c565b80638650e92a116100c65780638650e92a146104995780638da5cb5b146104ae5780638f32d59b146104df57806391b89fba146104f45761019c565b8063715018a61461044957806373e888fd1461045e57806383357052146104845761019c565b80632e17de781161015957806333b69c4c1161013357806333b69c4c1461039b5780635b410881146103ce57806368306e43146103e357806370a08231146104165761019c565b80632e17de78146103475780632e92abdd14610371578063313ce567146103865761019c565b806303f9c793146101ab57806306fdde03146101d3578063095ea7b31461025d5780630b7e9c44146102aa57806318160ddd146102ef57806323b872dd14610304575b3480156101a857600080fd5b50005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b0316610637565b005b3480156101df57600080fd5b506101e86109f5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022257818101518382015260200161020a565b50505050905090810190601f16801561024f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026957600080fd5b506102966004803603604081101561028057600080fd5b506001600160a01b038135169060200135610a1c565b604080519115158252519081900360200190f35b3480156102b657600080fd5b506102dd600480360360208110156102cd57600080fd5b50356001600160a01b0316610a83565b60408051918252519081900360200190f35b3480156102fb57600080fd5b506102dd610a95565b34801561031057600080fd5b506102966004803603606081101561032757600080fd5b506001600160a01b03813581169160208101359091169060400135610a9b565b34801561035357600080fd5b506101d16004803603602081101561036a57600080fd5b5035610c8c565b34801561037d57600080fd5b506101d1610d76565b34801561039257600080fd5b506102dd610d81565b3480156103a757600080fd5b506102dd600480360360208110156103be57600080fd5b50356001600160a01b0316610d86565b3480156103da57600080fd5b50610296610d98565b3480156103ef57600080fd5b506102dd6004803603602081101561040657600080fd5b50356001600160a01b0316610da8565b34801561042257600080fd5b506102dd6004803603602081101561043957600080fd5b50356001600160a01b0316610dba565b34801561045557600080fd5b506101d1610dd5565b6101d16004803603602081101561047457600080fd5b50356001600160a01b0316610e7b565b34801561049057600080fd5b506101d1610f28565b3480156104a557600080fd5b506102dd610fb0565b3480156104ba57600080fd5b506104c3610fb6565b604080516001600160a01b039092168252519081900360200190f35b3480156104eb57600080fd5b50610296610fc5565b34801561050057600080fd5b506102dd6004803603602081101561051757600080fd5b50356001600160a01b0316610feb565b34801561053357600080fd5b506101e8611029565b34801561054857600080fd5b506101d16004803603602081101561055f57600080fd5b503561104b565b34801561057257600080fd5b506102966004803603604081101561058957600080fd5b506001600160a01b0381351690602001356110c0565b3480156105ab57600080fd5b506104c36110d4565b3480156105c057600080fd5b506102dd6110e3565b3480156105d557600080fd5b506102dd600480360360408110156105ec57600080fd5b506001600160a01b03813581169160200135166110e9565b34801561061057600080fd5b506101d16004803603602081101561062757600080fd5b50356001600160a01b0316611114565b6000610641611179565b9050690a968163f0a57b40000081106106a45760408051600160e51b62461bcd02815260206004820152600f60248201527f7072697a6520697320656e6f7567680000000000000000000000000000000000604482015290519081900360640190fd5b600554600090156106d8576103e834607802049050600554600160401b8202816106ca57fe5b600480549290910490910190555b6006546040516001600160a01b03909116903483900380156108fc02916000818181858888f19350505050158015610714573d6000803e3d6000fd5b506000610720836111f2565b9050600061072f3485016111f2565b905064e8d4a510008282030460006001600160a01b0387161580159061075e57506001600160a01b0387163314155b1561087e576014826001600160a01b03891660008181526007602090815260408083208054969095049586019094556004546008825284832080549187029190910190558351918252810184905233818401529151929350917f0a9608ebe3ce4aa0c633e40e88c837a5c35701fd72d36b3afc96057d08828d199181900360600190a26040805182815290516001600160a01b0389169160009160008051602061153d8339815191529181900360200190a360408051828152905130916001600160a01b038a169160008051602061153d8339815191529181900360200190a36040805182815290516001600160a01b038916917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25b6000548183019064746a52880090820111156108e45760408051600160e51b62461bcd02815260206004820152601160248201527f657863656564206d617820737570706c79000000000000000000000000000000604482015290519081900360640190fd5b33600081815260076020908152604080832080548801905560045460088352818420805491890291909101905582548501835560058054860190553083526001825280832085905580513481529182018790528181019290925290517f0a9608ebe3ce4aa0c633e40e88c837a5c35701fd72d36b3afc96057d08828d199181900360600190a2604080518481529051339160009160008051602061153d8339815191529181900360200190a36040805184815290513091339160008051602061153d8339815191529181900360200190a360408051848152905133917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25050505050505050565b604051806040016040528060088152602001600160c01b674c6f74746f7368690281525081565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60086020526000908152604090205481565b60005490565b60006001600160a01b0384163314610b7b576001600160a01b0384166000908152600260209081526040808320338452909152902054821115610b285760408051600160e51b62461bcd02815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260209081526040808320338452909152902054610b569083611236565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6001600160a01b038416600090815260016020526040902054821115610beb5760408051600160e51b62461bcd02815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054610c0e9083611236565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610c3d9083611243565b6001600160a01b03808516600081815260016020908152604091829020949094558051868152905191939288169260008051602061153d83398151915292918290030190a35060019392505050565b33600090815260076020526040902054811115610cf35760408051600160e51b62461bcd02815260206004820152601360248201527f7374616b65734f66206e6f7420656e6f75676800000000000000000000000000604482015290519081900360640190fd5b610cfc33611250565b60045433600081815260086020908152604080832080549587029095039094556007815290839020805485900390556005805485900390558251848152925191927f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd929081900390910190a2610d73303383611331565b50565b610d7f33611250565b565b600681565b60076020526000908152604090205481565b600654600160a01b900460ff1681565b60096020526000908152604090205481565b6001600160a01b031660009081526001602052604090205490565b610ddd610fc5565b610e315760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60006001600160a01b03821615610eb657506001600160a01b0381166000908152600960205260409020805461012c60323402049081019091555b600654600090600160a01b900460ff16610f01575061012c604b3402048060096000610ee0610fb6565b6001600160a01b031681526020810191909152604001600020805490910190555b600554600160401b83833403030281610f1657fe5b60048054929091049091019055505050565b6006546001600160a01b03163314610f8a5760408051600160e51b62461bcd02815260206004820152600e60248201527f696e76616c69642073656e646572000000000000000000000000000000000000604482015290519081900360640190fd5b6006805474ff00000000000000000000000000000000000000001916600160a01b179055565b60045481565b6003546001600160a01b031690565b6003546000906001600160a01b0316610fdc61143d565b6001600160a01b031614905090565b6001600160a01b031660009081526009602090815260408083205460088352818420546007909352922054600454600160401b910291909103040190565b604051806040016040528060038152602001600160e81b624c54530281525081565b611056333083611331565b336000818152600760209081526040808320805486019055600454600883529281902080549386029093019092556005805485019055815184815291517febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9281900390910190a250565b60006110cd338484610a9b565b9392505050565b6006546001600160a01b031681565b60055481565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61111c610fc5565b6111705760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610d7381611441565b60065460408051600160e01b6399cdfd4d02815290516000926001600160a01b0316916399cdfd4d916004808301926020929190829003018186803b1580156111c157600080fd5b505afa1580156111d5573d6000803e3d6000fd5b505050506040513d60208110156111eb57600080fd5b5051905090565b6000600169152d3a4abc199410000061122d846a034f086f3b33b684000000027301c0738dce6846558db66d45c0c2810000000000016114e5565b03901c92915050565b80820382811115610a7d57fe5b80820182811015610a7d57fe5b600061125b82610feb565b9050801561132d576001600160a01b03821660009081526009602090815260408083205460089092529091208054828403600160401b0201905580156112b5576001600160a01b0383166000908152600960205260408120555b6040516001600160a01b0384169083156108fc029084906000818181858888f193505050501580156112eb573d6000803e3d6000fd5b506040805183815290516001600160a01b038516917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a2505b5050565b6001600160a01b0383166000908152600160205260409020548111156113a15760408051600160e51b62461bcd02815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b0383166000908152600160205260409020546113c49082611236565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546113f39082611243565b6001600160a01b03808416600081815260016020908152604091829020949094558051858152905191939287169260008051602061153d83398151915292918290030190a3505050565b3390565b6001600160a01b03811661148957604051600160e51b62461bcd0281526004018080602001828103825260268152602001806115176026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b806001818101901c5b818110156115105780915060018182858161150557fe5b0401901c90506114ee565b5091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b5964367fff56cfa583be621803ee92312b4962ac7a1725953f96c60703b3ea50029

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

0000000000000000000000008c53cdbe9456743e24937096ca79545cff3c113d

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008c53cdbe9456743e24937096ca79545cff3c113d


Deployed Bytecode Sourcemap

168:5790:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;168:5790:3;;2064:1684;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2064:1684:3;-1:-1:-1;;;;;2064:1684:3;;:::i;:::-;;583:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;583:40:3;;;:::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:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1386:180:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1386:180:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1386:180:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;900:42:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;900:42:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;900:42:3;-1:-1:-1;;;;;900:42:3;;:::i;:::-;;;;;;;;;;;;;;;;384:81:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;384:81:1;;;:::i;821:559::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;821:559:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;821:559:1;;;;;;;;;;;;;;;;;:::i;4034:389:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4034:389:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4034:389:3;;:::i;4429:82::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4429:82:3;;;:::i;672:36::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;672:36:3;;;:::i;850:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;850:44:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;850:44:3;-1:-1:-1;;;;;850:44:3;;:::i;818:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;818:25:3;;;:::i;948:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;948:45:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;948:45:3;-1:-1:-1;;;;;948:45:3;;:::i;470:97:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;470:97:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;470:97:1;-1:-1:-1;;;;;470:97:1;;:::i;2746:137:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2746:137:4;;;:::i;1523:535:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1523:535:3;-1:-1:-1;;;;;1523:535:3;;:::i;1389:128::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1389:128:3;;;:::i;715:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:29:3;;;:::i;1961:77:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1961:77:4;;;:::i;:::-;;;;-1:-1:-1;;;;;1961:77:4;;;;;;;;;;;;;;2312:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2312:92:4;;;:::i;4948:166:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4948:166:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4948:166:3;-1:-1:-1;;;;;4948:166:3;;:::i;629:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;629:37:3;;;:::i;3754:274::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3754:274:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3754:274:3;;:::i;694:121:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;694:121:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;694:121:1;;;;;;;;:::i;782:30:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;782:30:3;;;:::i;750:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;750:26:3;;;:::i;572:116:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;572:116:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;572:116:1;;;;;;;;;;:::i;3032:107:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3032:107:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3032:107:4;-1:-1:-1;;;;;3032:107:4;;:::i;2064:1684:3:-;2123:13;2139:10;:8;:10::i;:::-;2123:26;;503:11;2167:5;:29;2159:57;;;;;-1:-1:-1;;;;;2159:57:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2258:11;;2226:18;;2258:15;2254:161;;2332:4;2302:9;437:3;2302:27;:34;2289:47;;2393:11;;-1:-1:-1;;;2368:10:3;:22;:36;;;;;2350:14;:54;;2368:36;;;;2350:54;;;;;2254:161;2424:7;;:40;;-1:-1:-1;;;;;2424:7:3;;;;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:3;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:3;2599:15;;;2598:33;2576:19;-1:-1:-1;;;;;2677:22:3;;;;;;:48;;-1:-1:-1;;;;;;2703:22:3;;2715:10;2703:22;;2677:48;2673:476;;;2772:2;2758:11;-1:-1:-1;;;;;2788:18:3;;;;;;: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:3;2908:47;;;;;;;;;2974:46;;;;;;;;-1:-1:-1;;;;;2974:46:3;;;2991:1;;-1:-1:-1;;;;;;;;;;;2974:46:3;;;;;;;;3039:49;;;;;;;;3066:4;;-1:-1:-1;;;;;3039:49:3;;;-1:-1:-1;;;;;;;;;;;3039:49:3;;;;;;;;3107:31;;;;;;;;-1:-1:-1;;;;;3107:31:3;;;;;;;;;;;;;2673:476;3158:19;3226:7;3180:28;;;;559:18;3226:21;;;:35;;3218:65;;;;;-1:-1:-1;;;;;3218:65:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:3;;;;;:38;;;3519:54;;3538:9;3519:54;;;;;;;;;;;;;;;;;;;;;;;;;;3588:45;;;;;;;;3609:10;;3605:1;;-1:-1:-1;;;;;;;;;;;3588:45:3;;;;;;;;3648:48;;;;;;;;3677:4;;3657:10;;-1:-1:-1;;;;;;;;;;;3648:48:3;;;;;;;;3711:30;;;;;;;;3717:10;;3711:30;;;;;;;;;;2064:1684;;;;;;;;:::o;583:40::-;;;;;;;;;;;;;;-1:-1:-1;;;;;583:40:3;;;;:::o;1386:180:1:-;1469:10;1442:4;1458:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;1458:27:1;;;;;;;;;;;:33;;;1507:30;;;;;;;1442:4;;1458:27;;1469:10;;1507:30;;;;;;;;-1:-1:-1;1555:4:1;1386:180;;;;;:::o;900:42:3:-;;;;;;;;;;;;;:::o;384:81:1:-;428:4;451:7;384:81;:::o;821:559::-;911:4;-1:-1:-1;;;;;935:17:1;;942:10;935:17;931:206;;-1:-1:-1;;;;;976:15:1;;;;;;:10;:15;;;;;;;;992:10;976:27;;;;;;;;:34;-1:-1:-1;976:34:1;968:77;;;;;-1:-1:-1;;;;;968:77:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1093:15:1;;;;;;:10;:15;;;;;;;;1109:10;1093:27;;;;;;;;1089:37;;1122:3;1089;:37::i;:::-;-1:-1:-1;;;;;1059:15:1;;;;;;:10;:15;;;;;;;;1075:10;1059:27;;;;;;;:67;931:206;-1:-1:-1;;;;;1155:14:1;;;;;;:9;:14;;;;;;:21;-1:-1:-1;1155:21:1;1147:63;;;;;-1:-1:-1;;;;;1147:63:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1241:14:1;;;;;;:9;:14;;;;;;1237:24;;1257:3;1237;:24::i;:::-;-1:-1:-1;;;;;1220:14:1;;;;;;;:9;:14;;;;;;:41;;;;1292:14;;;;;;;1288:24;;1308:3;1288;:24::i;:::-;-1:-1:-1;;;;;1271:14:1;;;;;;;:9;:14;;;;;;;;;:41;;;;1328:23;;;;;;;1271:14;;1328:23;;;;-1:-1:-1;;;;;;;;;;;1328:23:1;;;;;;;;-1:-1:-1;1369:4:1;821:559;;;;;:::o;4034:389:3:-;4103:10;4094:20;;;;:8;:20;;;;;;:30;-1:-1:-1;4094:30:3;4086:62;;;;;-1:-1:-1;;;;;4086:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:29;4176:10;4158:17;:29::i;:::-;4228:14;;4204:10;4197:18;;;;:6;:18;;;;;;;;:45;;4219:23;;;4197:45;;;;;;4252:8;:20;;;;;;:30;;;;;;;4292:11;:21;;;;;;;4328:27;;;;;;;4204:10;;4328:27;;;;;;;;;;;4365:51;4390:4;4397:10;4409:6;4365:16;:51::i;:::-;4034:389;:::o;4429:82::-;4475:29;4493:10;4475:17;:29::i;:::-;4429:82::o;672:36::-;707:1;672:36;:::o;850:44::-;;;;;;;;;;;;;:::o;818:25::-;;;-1:-1:-1;;;818:25:3;;;;;:::o;948:45::-;;;;;;;;;;;;;:::o;470:97:1:-;-1:-1:-1;;;;;546:14:1;523:4;546:14;;;:9;:14;;;;;;;470:97::o;2746:137:4:-;2165:9;:7;:9::i;:::-;2157:54;;;;;-1:-1:-1;;;;;2157:54:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2828:6;;2807:40;;2844:1;;-1:-1:-1;;;;;2828:6:4;;2807:40;;2844:1;;2807:40;2857:6;:19;;-1:-1:-1;;;;;;2857:19:4;;;2746:137::o;1523:535:3:-;1588:22;-1:-1:-1;;;;;1624:22:3;;;1620:158;;-1:-1:-1;;;;;;1730:19:3;;;;;;:9;:19;;;;;:37;;1713:3;379:2;1679:9;:31;:37;1730;;;;;;1620:158;1821:13;;1787:19;;-1:-1:-1;;;1821:13:3;;;;1816:140;;-1:-1:-1;1895:3:3;315:2;1864:9;:28;:34;;1912:9;:18;1922:7;:5;:7::i;:::-;-1:-1:-1;;;;;1912:18:3;;;;;;;;;;;;-1:-1:-1;1912:18:3;:33;;;;;;;1816:140;2040:11;;-1:-1:-1;;;2010:14:3;1996:11;1984:9;:23;:40;1983:54;:68;;;;;1965:14;:86;;1983:68;;;;1965:86;;;;;-1:-1:-1;;;1523:535:3:o;1389:128::-;1440:7;;-1:-1:-1;;;;;1440:7:3;1451:10;1440:21;1432:48;;;;;-1:-1:-1;;;;;1432:48:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:13;:20;;-1:-1:-1;;1490:20:3;-1:-1:-1;;;1490:20:3;;;1389:128::o;715:29::-;;;;:::o;1961:77:4:-;2025:6;;-1:-1:-1;;;;;2025:6:4;1961:77;:::o;2312:92::-;2391:6;;2352:4;;-1:-1:-1;;;;;2391:6:4;2375:12;:10;:12::i;:::-;-1:-1:-1;;;;;2375:22:4;;2368:29;;2312:92;:::o;4948:166:3:-;-1:-1:-1;;;;;5092:15:3;5003:7;5092:15;;;:9;:15;;;;;;;;;5064:6;:12;;;;;;5047:8;:14;;;;;;5030;;-1:-1:-1;;;5030:31:3;;:46;;;;5029:60;:78;;4948:166::o;629:37::-;;;;;;;;;;;;;;-1:-1:-1;;;;;629:37:3;;;;:::o;3754:274::-;3804:51;3821:10;3841:4;3848:6;3804:16;:51::i;:::-;3874:10;3865:20;;;;:8;:20;;;;;;;;:30;;;;;;3936:14;;3905:6;:18;;;;;;:45;;3927:23;;;3905:45;;;;;;3960:11;:21;;;;;;3996:25;;;;;;;;;;;;;;;;;3754:274;:::o;694:121:1:-;751:4;774:34;787:10;799:3;804;774:12;:34::i;:::-;767:41;694:121;-1:-1:-1;;;694:121:1:o;782:30:3:-;;;-1:-1:-1;;;;;782:30:3;;:::o;750:26::-;;;;:::o;572:116:1:-;-1:-1:-1;;;;;661:15:1;;;638:4;661:15;;;:10;:15;;;;;;;;:20;;;;;;;;;;;;;572:116::o;3032:107:4:-;2165:9;:7;:9::i;:::-;2157:54;;;;;-1:-1:-1;;;;;2157:54:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3104:28;3123:8;3104:18;:28::i;5545:113:3:-;5623:7;;5614:37;;;-1:-1:-1;;;;;5614:37:3;;;;5588:7;;-1:-1:-1;;;;;5623:7:3;;5614:35;;:37;;;;;;;;;;;;;;5623:7;5614:37;;;5:2:-1;;;;30:1;27;20:12;5:2;5614:37:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5614:37:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5614:37:3;;-1:-1:-1;5545:113:3;:::o;5120:211::-;5177:7;5323:1;5294:24;5204:87;5287:3;5259:25;:31;5209:47;:81;5204:4;:87::i;:::-;:114;5203:121;;;5120:211;-1:-1:-1;;5120:211:3:o;211:110:0:-;302:5;;;297:16;;;;290:24;;;95:110;186:5;;;181:16;;;;174:24;;;4517:425:3;4585:16;4604;4615:4;4604:10;:16::i;:::-;4585:35;-1:-1:-1;4634:12:3;;4630:306;;-1:-1:-1;;;;;4682:15:3;;4662:17;4682:15;;;:9;:15;;;;;;;;;4711:6;:12;;;;;;:50;;4728:20;;;-1:-1:-1;;;4727:34:3;4711:50;;;4779:13;;4775:71;;-1:-1:-1;;;;;4812:15:3;;4830:1;4812:15;;;:9;:15;;;;;:19;4775:71;4859:23;;-1:-1:-1;;;;;4859:13:3;;;:23;;;;;4873:8;;4859:23;;;;4873:8;4859:13;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;4901:24:3;;;;;;;;-1:-1:-1;;;;;4901:24:3;;;;;;;;;;;;;4630:306;;4517:425;;:::o;5664:292::-;-1:-1:-1;;;;;5753:14:3;;;;;;:9;:14;;;;;;:21;-1:-1:-1;5753:21:3;5745:63;;;;;-1:-1:-1;;;;;5745:63:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5839:14:3;;;;;;:9;:14;;;;;;5835:24;;5855:3;5835;:24::i;:::-;-1:-1:-1;;;;;5818:14:3;;;;;;;:9;:14;;;;;;:41;;;;5890:14;;;;;;;5886:24;;5906:3;5886;:24::i;:::-;-1:-1:-1;;;;;5869:14:3;;;;;;;:9;:14;;;;;;;;;:41;;;;5926:23;;;;;;;5869:14;;5926:23;;;;-1:-1:-1;;;;;;;;;;;5926:23:3;;;;;;;;5664:292;;;:::o;788:96:4:-;867:10;788:96;:::o;3240:225::-;-1:-1:-1;;;;;3313:22:4;;3305:73;;;;-1:-1:-1;;;;;3305:73:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:6;;3393:38;;-1:-1:-1;;;;;3393:38:4;;;;3414:6;;3393:38;;3414:6;;3393:38;3441:6;:17;;-1:-1:-1;;;;;;3441:17:4;-1:-1:-1;;;;;3441:17:4;;;;;;;;;;3240:225::o;5337:202:3:-;5419:1;5429;5419:5;;;5418:12;;5455:78;5466:1;5462;:5;5455:78;;;5487:1;5483:5;;5521:1;5515;5511;5507;:5;;;;;;:9;5506:16;;5502:20;;5455:78;;;5337:202;;;;:::o

Swarm Source

bzzr://b5964367fff56cfa583be621803ee92312b4962ac7a1725953f96c60703b3ea5

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.