ETH Price: $3,230.02 (+3.75%)

Contract

0x5A48866C0FAa3947838Bd945e85d550D94530Ee7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ShareholderVomer

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-10-23
*/

pragma solidity ^0.5.16;

/**
Get profit every month with a contract Shareholder VOMER!
*
* - OBTAINING 20%, 15% or 10% PER 1 MONTH. (percentages are charged in equal parts every 1 sec)
* - lifetime payments
* - unprecedentedly reliable
* - bring luck
* - first minimum contribution from 2 eth, all next from 0.01 eth
* - Currency and Payment - ETH
* - Contribution allocation schemes:
* - 100% of payments - 5% percent for support and 25% percent for partner
*
* VOMER.net
*
* RECOMMENDED GAS LIMIT: 200,000
* RECOMMENDED GAS PRICE: https://ethgasstation.info/
* DO NOT TRANSFER DIRECTLY FROM AN EXCHANGE (only use your ETH wallet, from which you have a private key)
* You can check payments on the website etherscan.io, in the “Internal Txns” tab of your wallet.
*
* Partner 25%.
* Developers 5%

* Restart of the contract is also absent. If there is no money in the Fund, payments are stopped and resumed after the Fund is filled. Thus, the contract will work forever!
*
* How to use:
* 1. Send from your ETH wallet to the address of the smart contract
* 2. Confirm your transaction in the history of your application or etherscan.io, indicating the address of your wallet.
* Take profit by sending any amount of eth to contract (profit is calculated every second).
*
**/

/**
 * @title Initializable
 *
 * @dev Helper contract to support initializer functions. To use it, replace
 * the constructor with a function that has the `initializer` modifier.
 * WARNING: Unlike constructors, initializer functions must be manually
 * invoked. This applies both to deploying an Initializable contract, as well
 * as extending an Initializable contract via inheritance.
 * WARNING: When used with inheritance, manual care must be taken to not invoke
 * a parent initializer twice, or ensure that all initializers are idempotent,
 * because this is not dealt with automatically as with constructors.
 */
contract Initializable {

    /**
     * @dev Indicates that the contract has been initialized.
     */
    bool private initialized;

    /**
     * @dev Indicates that the contract is in the process of being initialized.
     */
    bool private initializing;

    /**
     * @dev Modifier to use in the initializer function of a contract.
     */
    modifier initializer() {
        require(initializing || isConstructor() || !initialized, "Contract instance has already been initialized");

        bool isTopLevelCall = !initializing;
        if (isTopLevelCall) {
            initializing = true;
            initialized = true;
        }

        _;

        if (isTopLevelCall) {
            initializing = false;
        }
    }

    /// @dev Returns true if and only if the function is running in the constructor
    function isConstructor() private view returns (bool) {
        // extcodesize checks the size of the code stored in an address, and
        // address returns the current address. Since the code is still not
        // deployed when running a constructor, any checks on its code size will
        // yield zero, making it an effective way to detect if a contract is
        // under construction or not.
        address self = address(this);
        uint256 cs;
        assembly { cs := extcodesize(self) }
        return cs == 0;
    }

    // Reserved storage space to allow for layout changes in the future.
    uint256[50] private ______gap;
}

contract ERC20Token
{
    mapping (address => uint256) public balanceOf;
    function transfer(address _to, uint256 _value) public;
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    uint256 constant WAD = 10 ** 18;

    function wdiv(uint x, uint y) internal pure returns (uint256 z) {
        z = add(mul(x, WAD), y / 2) / y;
    }

    function wmul(uint x, uint y) internal pure returns (uint256 z) {
        z = add(mul(x, y), WAD / 2) / WAD;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

contract Ownable {
    address payable public owner = msg.sender;
    address payable public newOwnerCandidate;

    modifier onlyOwner()
    {
        assert(msg.sender == owner);
        _;
    }

    function changeOwnerCandidate(address payable newOwner) public onlyOwner {
        newOwnerCandidate = newOwner;
    }

    function acceptOwner() public {
        require(msg.sender == newOwnerCandidate);
        owner = newOwnerCandidate;
    }
}

contract ShareholderVomer is Initializable
{
    using SafeMath for *;

    address payable public owner;
    address payable public newOwnerCandidate;

    address payable public support1;
    address payable public support2;

    struct InvestorData {
        uint128 fundsVMR;
        uint128 totalProfit;
        uint128 pendingReward;
        uint64 lastDatetime;
        uint8 percent;
    }
    
    uint256 public totalUsers;
    
    mapping (address => InvestorData) investors;

    uint256 public rateIn;
    uint256 public rateOut;
    
    mapping(address => address) public refList;

    modifier onlyOwner()
    {
        assert(msg.sender == owner);
        _;
    }

    function initialize() initializer public {
        address payable _owner = 0xBF165e10878628768939f0415d7df2A9d52f0aB0;
        owner = _owner;
        support1 = _owner;
        support2 = _owner;
        rateIn = 10**18;
        rateOut = 10**18;
    }

    function setSupport1(address payable _newAddress) public onlyOwner {
        require(_newAddress != address(0));
        support1 = _newAddress;
    }
    
    function setSupport2(address payable _newAddress) public onlyOwner {
        require(_newAddress != address(0));
        support2 = _newAddress;
    }
    
    function setRateIn_Wei(uint256 _newValue) public onlyOwner {
        require(_newValue > 0);
        rateIn = _newValue;
    }
    
    function setRateOut_Wei(uint256 _newValue) public onlyOwner {
        require(_newValue > 0);
        rateOut = _newValue;
    }

    function withdraw(uint256 amount)  public onlyOwner {
        owner.transfer(amount);
    }


    function changeOwnerCandidate(address payable newOwner) public onlyOwner {
        newOwnerCandidate = newOwner;
    }

    function acceptOwner() public {
        require(msg.sender == newOwnerCandidate);
        owner = newOwnerCandidate;
    }

    // function for transfer any token from contract
    function transferTokens (address token, address target, uint256 amount) onlyOwner public
    {
        ERC20Token(token).transfer(target, amount);
    }

    function safeEthTransfer(address target, uint256 amount) internal {
        address payable payableTarget = address(uint160(target));
        (bool ok, ) = payableTarget.call.value(amount)("");
        require(ok);
    }
    
    function bytesToAddress(bytes memory bys) private pure returns (address payable addr) {
        assembly {
          addr := mload(add(bys,20))
        } 
    }

    function getPartner() internal returns (address partner) {
        partner = refList[msg.sender];
        if (partner == address(0))
        {
            if (msg.data.length == 20) {
                partner = bytesToAddress(msg.data);
                
                require(partner != msg.sender, "You can't ref yourself");

                refList[msg.sender] = partner;
            } else {
                require(false, "Ref required");
            }
        }
    }
    
    function getInfo(address investor) view public returns (uint256 contractBalance, uint128 depositVMR, uint128 lastDatetime, uint128 totalProfit, uint128 percent, uint256 _totalUsers, uint256 pendingRewardVMR, uint256 pendingRewardETH)
    {
        contractBalance = address(this).balance;
        InvestorData memory data = investors[investor];
        depositVMR = data.fundsVMR;
        lastDatetime = data.lastDatetime;
        totalProfit = data.totalProfit;
        percent = data.percent;
        _totalUsers = totalUsers;
        
        pendingRewardVMR = depositVMR.mul(data.percent).div(100).mul(block.timestamp - data.lastDatetime).div(30 days);
            
        pendingRewardVMR = uint128(data.pendingReward.add(pendingRewardVMR));
        
        pendingRewardETH = uint128(pendingRewardVMR.wmul(rateOut));
    }
    
    function () payable external
    {
        require(msg.sender == tx.origin); // prevent bots to interact with contract

        if (msg.sender == owner) return;

        InvestorData storage data = investors[msg.sender];
        
        uint128 _lastDatetime = data.lastDatetime;
        uint128 _fundsVMR = data.fundsVMR;
        uint256 _rateIn = rateIn;
        
        if (msg.value > 0)
        {
            safeEthTransfer(getPartner(), msg.value.mul(20).div(100)); // 20% to ref
            support1.transfer(msg.value.mul(5).div(100));  // 5%
            support2.transfer(msg.value.mul(5).div(100));  // 5%
        }

        if (_fundsVMR != 0) {
            // N% per 30 days
            uint256 rewardVMR = _fundsVMR.mul(data.percent).div(100).mul(block.timestamp - _lastDatetime).div(30 days);
            
            uint128 _pendingReward = data.pendingReward;
            if (_fundsVMR < 1 ether) {
                data.pendingReward = uint128(_pendingReward.add(rewardVMR));
            } else {
                rewardVMR = rewardVMR.add(_pendingReward);
                data.totalProfit = uint128(data.totalProfit.add(uint128(rewardVMR)));
            
                uint256 rewardETH = rewardVMR.wmul(rateOut);
            
                if (_pendingReward > 0) data.pendingReward = 0;
                
                if (rewardETH > 0) safeEthTransfer(msg.sender, rewardETH);
            }
        }
        
        if (_lastDatetime == 0 && _fundsVMR == 0) { // new user !
            uint256 _totalUsers = totalUsers;
            
            if (_totalUsers <= 1000) {
                data.percent = 20;
                _fundsVMR = uint128((0.3 ether).wmul(_rateIn)); // bonus
            } else if (_totalUsers <= 10000) {
                data.percent = 15;
                _fundsVMR = uint128((0.2 ether).wmul(_rateIn)); // bonus
            } else {
                data.percent = 10; 
                _fundsVMR = uint128((0.1 ether).wmul(_rateIn)); // bonus
            }
            
            totalUsers = _totalUsers + 1;
        }

        data.lastDatetime = uint64(block.timestamp);
        data.fundsVMR = uint128(_fundsVMR.add(msg.value.mul(70).div(100).wmul(_rateIn)));

    }
}

Contract Security Audit

Contract ABI

[{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"changeOwnerCandidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"investor","type":"address"}],"name":"getInfo","outputs":[{"internalType":"uint256","name":"contractBalance","type":"uint256"},{"internalType":"uint128","name":"depositVMR","type":"uint128"},{"internalType":"uint128","name":"lastDatetime","type":"uint128"},{"internalType":"uint128","name":"totalProfit","type":"uint128"},{"internalType":"uint128","name":"percent","type":"uint128"},{"internalType":"uint256","name":"_totalUsers","type":"uint256"},{"internalType":"uint256","name":"pendingRewardVMR","type":"uint256"},{"internalType":"uint256","name":"pendingRewardETH","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwnerCandidate","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateIn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"refList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"setRateIn_Wei","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"setRateOut_Wei","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newAddress","type":"address"}],"name":"setSupport1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newAddress","type":"address"}],"name":"setSupport2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"support1","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"support2","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50610f59806100206000396000f3fe6080604052600436106101095760003560e01c80638da5cb5b11610095578063bff1f9e111610064578063bff1f9e114610717578063d091b5501461072c578063ebbc496514610741578063f670750814610756578063ffdd5cf11461076b57610109565b80638da5cb5b1461065957806399d3b03c1461066e578063a64b6e5f146106a1578063b63e6b17146106e457610109565b8063561a01b8116100dc578063561a01b8146105ab57806365294e1c146105de5780636dcbc6e414610605578063775604521461062f5780638129fc1c1461064457610109565b806308b7efcb146104f35780632e1a7d4d1461052457806330924c061461054e5780634ac96e9414610578575b33321461011557600080fd5b6033546001600160a01b031633141561012d576104f1565b33600090815260386020526040902060018101548154603954600160801b90920467ffffffffffffffff16916001600160801b0390911690341561023a5761019d6101766107f1565b610198606461018c34601463ffffffff61091d16565b9063ffffffff61094d16565b61096f565b6035546001600160a01b03166108fc6101c2606461018c34600563ffffffff61091d16565b6040518115909202916000818181858888f193505050501580156101ea573d6000803e3d6000fd5b506036546001600160a01b03166108fc610210606461018c34600563ffffffff61091d16565b6040518115909202916000818181858888f19350505050158015610238573d6000803e3d6000fd5b505b6001600160801b038216156103b25760006102a262278d0061018c866001600160801b03164203610296606461018c8b60010160189054906101000a900460ff1660ff168a6001600160801b031661091d90919063ffffffff16565b9063ffffffff61091d16565b60018601549091506001600160801b0390811690670de0b6b3a76400009085161015610308576102e16001600160801b0382168363ffffffff6109d516565b6001870180546001600160801b0319166001600160801b03929092169190911790556103af565b610321826001600160801b03831663ffffffff6109d516565b865490925061034a90600160801b90046001600160801b0390811690841663ffffffff6109d516565b86546001600160801b03918216600160801b029116178655603a5460009061037990849063ffffffff6109e716565b90506001600160801b0382161561039d576001870180546001600160801b03191690555b80156103ad576103ad338261096f565b505b50505b6001600160801b0383161580156103d057506001600160801b038216155b15610470576037546103e8811161040f5760018501805460ff60c01b1916600560c21b179055610408670429d069189e0000836109e7565b9250610469565b612710811161043f5760018501805460ff60c01b1916600f60c01b1790556104086702c68af0bb140000836109e7565b60018501805460ff60c01b1916600560c11b17905561046667016345785d8a0000836109e7565b92505b6001016037555b60018401805467ffffffffffffffff60801b1916600160801b4267ffffffffffffffff16021790556104d16104bb826104af606461018c34604661091d565b9063ffffffff6109e716565b6001600160801b0384169063ffffffff6109d516565b84546001600160801b0319166001600160801b0391909116179093555050505b005b3480156104ff57600080fd5b50610508610a1c565b604080516001600160a01b039092168252519081900360200190f35b34801561053057600080fd5b506104f16004803603602081101561054757600080fd5b5035610a2b565b34801561055a57600080fd5b506104f16004803603602081101561057157600080fd5b5035610a7d565b34801561058457600080fd5b506104f16004803603602081101561059b57600080fd5b50356001600160a01b0316610aa3565b3480156105b757600080fd5b506104f1600480360360208110156105ce57600080fd5b50356001600160a01b0316610aec565b3480156105ea57600080fd5b506105f3610b22565b60408051918252519081900360200190f35b34801561061157600080fd5b506104f16004803603602081101561062857600080fd5b5035610b28565b34801561063b57600080fd5b506105f3610b4e565b34801561065057600080fd5b506104f1610b54565b34801561066557600080fd5b50610508610c47565b34801561067a57600080fd5b506105086004803603602081101561069157600080fd5b50356001600160a01b0316610c56565b3480156106ad57600080fd5b506104f1600480360360608110156106c457600080fd5b506001600160a01b03813581169160208101359091169060400135610c71565b3480156106f057600080fd5b506104f16004803603602081101561070757600080fd5b50356001600160a01b0316610d02565b34801561072357600080fd5b506105f3610d4b565b34801561073857600080fd5b50610508610d51565b34801561074d57600080fd5b506104f1610d60565b34801561076257600080fd5b50610508610d9b565b34801561077757600080fd5b5061079e6004803603602081101561078e57600080fd5b50356001600160a01b0316610daa565b604080519889526001600160801b0397881660208a015295871688870152938616606088015291909416608086015260a085019390935260c084019290925260e083019190915251908190036101000190f35b336000908152603b60205260409020546001600160a01b03168061091a5760143614156108de576108586000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ebb92505050565b90506001600160a01b0381163314156108b1576040805162461bcd60e51b81526020600482015260166024820152752cb7ba9031b0b713ba103932b3103cb7bab939b2b63360511b604482015290519081900360640190fd5b336000908152603b6020526040902080546001600160a01b0319166001600160a01b03831617905561091a565b6040805162461bcd60e51b815260206004820152600c60248201526b149959881c995c5d5a5c995960a21b604482015290519081900360640190fd5b90565b60008261092c57506000610947565b8282028284828161093957fe5b041461094457600080fd5b90505b92915050565b600080821161095b57600080fd5b600082848161096657fe5b04949350505050565b60405182906000906001600160a01b0383169084908381818185875af1925050503d80600081146109bc576040519150601f19603f3d011682016040523d82523d6000602084013e6109c1565b606091505b50509050806109cf57600080fd5b50505050565b60008282018381101561094457600080fd5b6000670de0b6b3a7640000610a0d6109ff858561091d565b6706f05b59d3b200006109d5565b81610a1457fe5b049392505050565b6036546001600160a01b031681565b6033546001600160a01b03163314610a3f57fe5b6033546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a79573d6000803e3d6000fd5b5050565b6033546001600160a01b03163314610a9157fe5b60008111610a9e57600080fd5b603955565b6033546001600160a01b03163314610ab757fe5b6001600160a01b038116610aca57600080fd5b603580546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b03163314610b0057fe5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b60395481565b6033546001600160a01b03163314610b3c57fe5b60008111610b4957600080fd5b603a55565b603a5481565b600054610100900460ff1680610b6d5750610b6d610ec2565b80610b7b575060005460ff16155b610bb65760405162461bcd60e51b815260040180806020018281038252602e815260200180610ef7602e913960400191505060405180910390fd5b600054610100900460ff16158015610be1576000805460ff1961ff0019909116610100171660011790555b6033805473bf165e10878628768939f0415d7df2a9d52f0ab06001600160a01b0319918216811790925560358054821683179055603680549091169091179055670de0b6b3a76400006039819055603a558015610c44576000805461ff00191690555b50565b6033546001600160a01b031681565b603b602052600090815260409020546001600160a01b031681565b6033546001600160a01b03163314610c8557fe5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b50505050505050565b6033546001600160a01b03163314610d1657fe5b6001600160a01b038116610d2957600080fd5b603680546001600160a01b0319166001600160a01b0392909216919091179055565b60375481565b6034546001600160a01b031681565b6034546001600160a01b03163314610d7757600080fd5b603454603380546001600160a01b0319166001600160a01b03909216919091179055565b6035546001600160a01b031681565b476000808080808080610dbb610ec8565b506001600160a01b038916600090815260386020908152604091829020825160a08101845281546001600160801b03808216808452600160801b92839004821695840186905260019094015490811695830195909552840467ffffffffffffffff1660608201819052600160c01b90940460ff1660808201819052603754929b50939950919750919550909350610e6362278d0061018c428a90036102966064838e8c61091d565b6040820151909350610e84906001600160801b03168463ffffffff6109d516565b6001600160801b03169250610ea4603a54846109e790919063ffffffff16565b6001600160801b0316915050919395975091939597565b6014015190565b303b1590565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091529056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820614664937db99cba90b5907e84ee4fe5736bbc8d3c8b445370d95f432c2a3c0a64736f6c63430005110032

Deployed Bytecode

0x6080604052600436106101095760003560e01c80638da5cb5b11610095578063bff1f9e111610064578063bff1f9e114610717578063d091b5501461072c578063ebbc496514610741578063f670750814610756578063ffdd5cf11461076b57610109565b80638da5cb5b1461065957806399d3b03c1461066e578063a64b6e5f146106a1578063b63e6b17146106e457610109565b8063561a01b8116100dc578063561a01b8146105ab57806365294e1c146105de5780636dcbc6e414610605578063775604521461062f5780638129fc1c1461064457610109565b806308b7efcb146104f35780632e1a7d4d1461052457806330924c061461054e5780634ac96e9414610578575b33321461011557600080fd5b6033546001600160a01b031633141561012d576104f1565b33600090815260386020526040902060018101548154603954600160801b90920467ffffffffffffffff16916001600160801b0390911690341561023a5761019d6101766107f1565b610198606461018c34601463ffffffff61091d16565b9063ffffffff61094d16565b61096f565b6035546001600160a01b03166108fc6101c2606461018c34600563ffffffff61091d16565b6040518115909202916000818181858888f193505050501580156101ea573d6000803e3d6000fd5b506036546001600160a01b03166108fc610210606461018c34600563ffffffff61091d16565b6040518115909202916000818181858888f19350505050158015610238573d6000803e3d6000fd5b505b6001600160801b038216156103b25760006102a262278d0061018c866001600160801b03164203610296606461018c8b60010160189054906101000a900460ff1660ff168a6001600160801b031661091d90919063ffffffff16565b9063ffffffff61091d16565b60018601549091506001600160801b0390811690670de0b6b3a76400009085161015610308576102e16001600160801b0382168363ffffffff6109d516565b6001870180546001600160801b0319166001600160801b03929092169190911790556103af565b610321826001600160801b03831663ffffffff6109d516565b865490925061034a90600160801b90046001600160801b0390811690841663ffffffff6109d516565b86546001600160801b03918216600160801b029116178655603a5460009061037990849063ffffffff6109e716565b90506001600160801b0382161561039d576001870180546001600160801b03191690555b80156103ad576103ad338261096f565b505b50505b6001600160801b0383161580156103d057506001600160801b038216155b15610470576037546103e8811161040f5760018501805460ff60c01b1916600560c21b179055610408670429d069189e0000836109e7565b9250610469565b612710811161043f5760018501805460ff60c01b1916600f60c01b1790556104086702c68af0bb140000836109e7565b60018501805460ff60c01b1916600560c11b17905561046667016345785d8a0000836109e7565b92505b6001016037555b60018401805467ffffffffffffffff60801b1916600160801b4267ffffffffffffffff16021790556104d16104bb826104af606461018c34604661091d565b9063ffffffff6109e716565b6001600160801b0384169063ffffffff6109d516565b84546001600160801b0319166001600160801b0391909116179093555050505b005b3480156104ff57600080fd5b50610508610a1c565b604080516001600160a01b039092168252519081900360200190f35b34801561053057600080fd5b506104f16004803603602081101561054757600080fd5b5035610a2b565b34801561055a57600080fd5b506104f16004803603602081101561057157600080fd5b5035610a7d565b34801561058457600080fd5b506104f16004803603602081101561059b57600080fd5b50356001600160a01b0316610aa3565b3480156105b757600080fd5b506104f1600480360360208110156105ce57600080fd5b50356001600160a01b0316610aec565b3480156105ea57600080fd5b506105f3610b22565b60408051918252519081900360200190f35b34801561061157600080fd5b506104f16004803603602081101561062857600080fd5b5035610b28565b34801561063b57600080fd5b506105f3610b4e565b34801561065057600080fd5b506104f1610b54565b34801561066557600080fd5b50610508610c47565b34801561067a57600080fd5b506105086004803603602081101561069157600080fd5b50356001600160a01b0316610c56565b3480156106ad57600080fd5b506104f1600480360360608110156106c457600080fd5b506001600160a01b03813581169160208101359091169060400135610c71565b3480156106f057600080fd5b506104f16004803603602081101561070757600080fd5b50356001600160a01b0316610d02565b34801561072357600080fd5b506105f3610d4b565b34801561073857600080fd5b50610508610d51565b34801561074d57600080fd5b506104f1610d60565b34801561076257600080fd5b50610508610d9b565b34801561077757600080fd5b5061079e6004803603602081101561078e57600080fd5b50356001600160a01b0316610daa565b604080519889526001600160801b0397881660208a015295871688870152938616606088015291909416608086015260a085019390935260c084019290925260e083019190915251908190036101000190f35b336000908152603b60205260409020546001600160a01b03168061091a5760143614156108de576108586000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ebb92505050565b90506001600160a01b0381163314156108b1576040805162461bcd60e51b81526020600482015260166024820152752cb7ba9031b0b713ba103932b3103cb7bab939b2b63360511b604482015290519081900360640190fd5b336000908152603b6020526040902080546001600160a01b0319166001600160a01b03831617905561091a565b6040805162461bcd60e51b815260206004820152600c60248201526b149959881c995c5d5a5c995960a21b604482015290519081900360640190fd5b90565b60008261092c57506000610947565b8282028284828161093957fe5b041461094457600080fd5b90505b92915050565b600080821161095b57600080fd5b600082848161096657fe5b04949350505050565b60405182906000906001600160a01b0383169084908381818185875af1925050503d80600081146109bc576040519150601f19603f3d011682016040523d82523d6000602084013e6109c1565b606091505b50509050806109cf57600080fd5b50505050565b60008282018381101561094457600080fd5b6000670de0b6b3a7640000610a0d6109ff858561091d565b6706f05b59d3b200006109d5565b81610a1457fe5b049392505050565b6036546001600160a01b031681565b6033546001600160a01b03163314610a3f57fe5b6033546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a79573d6000803e3d6000fd5b5050565b6033546001600160a01b03163314610a9157fe5b60008111610a9e57600080fd5b603955565b6033546001600160a01b03163314610ab757fe5b6001600160a01b038116610aca57600080fd5b603580546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b03163314610b0057fe5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b60395481565b6033546001600160a01b03163314610b3c57fe5b60008111610b4957600080fd5b603a55565b603a5481565b600054610100900460ff1680610b6d5750610b6d610ec2565b80610b7b575060005460ff16155b610bb65760405162461bcd60e51b815260040180806020018281038252602e815260200180610ef7602e913960400191505060405180910390fd5b600054610100900460ff16158015610be1576000805460ff1961ff0019909116610100171660011790555b6033805473bf165e10878628768939f0415d7df2a9d52f0ab06001600160a01b0319918216811790925560358054821683179055603680549091169091179055670de0b6b3a76400006039819055603a558015610c44576000805461ff00191690555b50565b6033546001600160a01b031681565b603b602052600090815260409020546001600160a01b031681565b6033546001600160a01b03163314610c8557fe5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b50505050505050565b6033546001600160a01b03163314610d1657fe5b6001600160a01b038116610d2957600080fd5b603680546001600160a01b0319166001600160a01b0392909216919091179055565b60375481565b6034546001600160a01b031681565b6034546001600160a01b03163314610d7757600080fd5b603454603380546001600160a01b0319166001600160a01b03909216919091179055565b6035546001600160a01b031681565b476000808080808080610dbb610ec8565b506001600160a01b038916600090815260386020908152604091829020825160a08101845281546001600160801b03808216808452600160801b92839004821695840186905260019094015490811695830195909552840467ffffffffffffffff1660608201819052600160c01b90940460ff1660808201819052603754929b50939950919750919550909350610e6362278d0061018c428a90036102966064838e8c61091d565b6040820151909350610e84906001600160801b03168463ffffffff6109d516565b6001600160801b03169250610ea4603a54846109e790919063ffffffff16565b6001600160801b0316915050919395975091939597565b6014015190565b303b1590565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091529056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820614664937db99cba90b5907e84ee4fe5736bbc8d3c8b445370d95f432c2a3c0a64736f6c63430005110032

Deployed Bytecode Sourcemap

7347:6231:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11346:10;11360:9;11346:23;11338:32;;;;;;11443:5;;-1:-1:-1;;;;;11443:5:0;11429:10;:19;11425:32;;;11450:7;;11425:32;11507:10;11469:25;11497:21;;;:9;:21;;;;;11563:17;;;;11611:13;;11653:6;;-1:-1:-1;;;11563:17:0;;;;;;-1:-1:-1;;;;;11611:13:0;;;;11684:9;:13;11680:258;;11723:57;11739:12;:10;:12::i;:::-;11753:26;11775:3;11753:17;:9;11767:2;11753:17;:13;:17;:::i;:::-;:21;:26;:21;:26;:::i;:::-;11723:15;:57::i;:::-;11809:8;;-1:-1:-1;;;;;11809:8:0;:44;11827:25;11848:3;11827:16;:9;11841:1;11827:16;:13;:16;:::i;:25::-;11809:44;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;11875:8:0;;-1:-1:-1;;;;;11875:8:0;:44;11893:25;11914:3;11893:16;:9;11907:1;11893:16;:13;:16;:::i;:25::-;11875:44;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11875:44:0;11680:258;-1:-1:-1;;;;;11954:14:0;;;11950:807;;12016:17;12036:86;12114:7;12036:73;12095:13;-1:-1:-1;;;;;12077:31:0;:15;:31;12036:36;12068:3;12036:27;12050:4;:12;;;;;;;;;;;;12036:27;;:9;-1:-1:-1;;;;;12036:13:0;;;:27;;;;:::i;:36::-;:40;:73;:40;:73;:::i;:86::-;12176:18;;;;12016:106;;-1:-1:-1;;;;;;12176:18:0;;;;12225:7;12213:19;;;;12209:537;;;12282:29;-1:-1:-1;;;;;12282:18:0;;12301:9;12282:29;:18;:29;:::i;:::-;12253:18;;;:59;;-1:-1:-1;;;;;;12253:59:0;-1:-1:-1;;;;;12253:59:0;;;;;;;;;;12209:537;;;12365:29;:9;-1:-1:-1;;;;;12365:29:0;;;:13;:29;:::i;:::-;12440:16;;12353:41;;-1:-1:-1;12440:40:0;;-1:-1:-1;;;12440:16:0;;-1:-1:-1;;;;;12440:16:0;;;;:40;;;:20;:40;:::i;:::-;12413:68;;-1:-1:-1;;;;;12413:68:0;;;-1:-1:-1;;;12413:68:0;;;;;;12549:7;;12413:16;;12534:23;;:9;;:23;:14;:23;:::i;:::-;12514:43;-1:-1:-1;;;;;;12594:18:0;;;12590:46;;12614:18;;;:22;;-1:-1:-1;;;;;;12614:22:0;;;12590:46;12677:13;;12673:57;;12692:38;12708:10;12720:9;12692:15;:38::i;:::-;12209:537;;11950:807;;;-1:-1:-1;;;;;12781:18:0;;;:36;;;;-1:-1:-1;;;;;;12803:14:0;;;12781:36;12777:642;;;12870:10;;12928:4;12913:19;;12909:442;;12953:12;;;:17;;-1:-1:-1;;;;12953:17:0;-1:-1:-1;;;12953:17:0;;;13009:25;13010:9;13026:7;13009:16;:25::i;:::-;12989:46;;12909:442;;;13085:5;13070:11;:20;13066:285;;13111:12;;;:17;;-1:-1:-1;;;;13111:17:0;-1:-1:-1;;;13111:17:0;;;13167:25;13168:9;13184:7;13167:16;:25::i;13066:285::-;13243:12;;;:17;;-1:-1:-1;;;;13243:17:0;-1:-1:-1;;;13243:17:0;;;13300:25;13301:9;13317:7;13300:16;:25::i;:::-;13280:46;;13066:285;13406:1;13392:15;13379:10;:28;12777:642;13431:17;;;:43;;-1:-1:-1;;;;13431:43:0;-1:-1:-1;;;13458:15:0;13431:43;;;;;;13509:55;13523:40;13555:7;13523:26;13545:3;13523:17;:9;13537:2;13523:13;:17::i;:26::-;:31;:40;:31;:40;:::i;:::-;-1:-1:-1;;;;;13509:13:0;;;:55;:13;:55;:::i;:::-;13485:80;;-1:-1:-1;;;;;;13485:80:0;-1:-1:-1;;;;;13485:80:0;;;;;;;;-1:-1:-1;;;11293:2282:0;7347:6231;7549:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7549:31:0;;;:::i;:::-;;;;-1:-1:-1;;;;;7549:31:0;;;;;;;;;;;;;;8947:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8947:93:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8947:93:0;;:::i;8667:129::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8667:129:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8667:129:0;;:::i;8337:153::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8337:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8337:153:0;-1:-1:-1;;;;;8337:153:0;;:::i;9050:120::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9050:120:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9050:120:0;-1:-1:-1;;;;;9050:120:0;;:::i;7862:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7862:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;8808:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8808:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8808:131:0;;:::i;7890:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7890:22:0;;;:::i;8068:261::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8068:261:0;;;:::i;7427:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7427:28:0;;;:::i;7925:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7925:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7925:42:0;-1:-1:-1;;;;;7925:42:0;;:::i;9365:155::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9365:155:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9365:155:0;;;;;;;;;;;;;;;;;:::i;8502:153::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8502:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8502:153:0;-1:-1:-1;;;;;8502:153:0;;:::i;7772:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7772:25:0;;;:::i;7462:40::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7462:40:0;;;:::i;9178:125::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9178:125:0;;;:::i;7511:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7511:31:0;;;:::i;10435:846::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10435:846:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10435:846:0;-1:-1:-1;;;;;10435:846:0;;:::i;:::-;;;;;;;-1:-1:-1;;;;;10435:846:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9936:487;10022:10;9976:15;10014:19;;;:7;:19;;;;;;-1:-1:-1;;;;;10014:19:0;10048:21;10044:372;;10118:2;10099:8;:21;10095:310;;;10151:24;10166:8;;10151:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;10151:14:0;;-1:-1:-1;;;10151:24:0:i;:::-;10141:34;-1:-1:-1;;;;;;10220:21:0;;10231:10;10220:21;;10212:56;;;;;-1:-1:-1;;;10212:56:0;;;;;;;;;;;;-1:-1:-1;;;10212:56:0;;;;;;;;;;;;;;;10297:10;10289:19;;;;:7;:19;;;;;:29;;-1:-1:-1;;;;;;10289:29:0;-1:-1:-1;;;;;10289:29:0;;;;;10095:310;;;10359:30;;;-1:-1:-1;;;10359:30:0;;;;;;;;;;;;-1:-1:-1;;;10359:30:0;;;;;;;;;;;;;;;9936:487;:::o;5082:433::-;5140:7;5384:6;5380:47;;-1:-1:-1;5414:1:0;5407:8;;5380:47;5451:5;;;5455:1;5451;:5;:1;5475:5;;;;;:10;5467:19;;;;;;5506:1;-1:-1:-1;5082:433:0;;;;;:::o;5983:303::-;6041:7;6140:1;6136;:5;6128:14;;;;;;6153:9;6169:1;6165;:5;;;;;;;5983:303;-1:-1:-1;;;;5983:303:0:o;9528:224::-;9686:36;;9653:6;;9605:29;;-1:-1:-1;;;;;9686:18:0;;;9711:6;;9605:29;9686:36;9605:29;9686:36;9711:6;9686:18;:36;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;9672:50:0;;;9741:2;9733:11;;;;;;9528:224;;;;:::o;3970:150::-;4028:7;4060:5;;;4084:6;;;;4076:15;;;;;4715:116;4768:9;4576:8;4794:23;4798:9;4802:1;4805;4798:3;:9::i;:::-;4809:7;4794:3;:23::i;:::-;:29;;;;;;;4715:116;-1:-1:-1;;;4715:116:0:o;7549:31::-;;;-1:-1:-1;;;;;7549:31:0;;:::o;8947:93::-;8034:5;;-1:-1:-1;;;;;8034:5:0;8020:10;:19;8013:27;;;;9010:5;;:22;;-1:-1:-1;;;;;9010:5:0;;;;:22;;;;;9025:6;;9010:5;:22;:5;:22;9025:6;9010:5;:22;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9010:22:0;8947:93;:::o;8667:129::-;8034:5;;-1:-1:-1;;;;;8034:5:0;8020:10;:19;8013:27;;;;8757:1;8745:9;:13;8737:22;;;;;;8770:6;:18;8667:129::o;8337:153::-;8034:5;;-1:-1:-1;;;;;8034:5:0;8020:10;:19;8013:27;;;;-1:-1:-1;;;;;8423:25:0;;8415:34;;;;;;8460:8;:22;;-1:-1:-1;;;;;;8460:22:0;-1:-1:-1;;;;;8460:22:0;;;;;;;;;;8337:153::o;9050:120::-;8034:5;;-1:-1:-1;;;;;8034:5:0;8020:10;:19;8013:27;;;;9134:17;:28;;-1:-1:-1;;;;;;9134:28:0;-1:-1:-1;;;;;9134:28:0;;;;;;;;;;9050:120::o;7862:21::-;;;;:::o;8808:131::-;8034:5;;-1:-1:-1;;;;;8034:5:0;8020:10;:19;8013:27;;;;8899:1;8887:9;:13;8879:22;;;;;;8912:7;:19;8808:131::o;7890:22::-;;;;:::o;8068:261::-;2358:12;;;;;;;;:31;;;2374:15;:13;:15::i;:::-;2358:47;;;-1:-1:-1;2394:11:0;;;;2393:12;2358:47;2350:106;;;;-1:-1:-1;;;2350:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2469:19;2492:12;;;;;;2491:13;2515:99;;;;2550:12;:19;;-1:-1:-1;;;;2550:19:0;;;;;2584:18;2565:4;2584:18;;;2515:99;8198:5;:14;;8145:42;-1:-1:-1;;;;;;8198:14:0;;;;;;;;8223:8;:17;;;;;;;;8251:8;:17;;;;;;;;;;8288:6;8279;:15;;;8305:7;:16;2640:67;;;;2690:5;2675:20;;-1:-1:-1;;2675:20:0;;;2640:67;8068:261;:::o;7427:28::-;;;-1:-1:-1;;;;;7427:28:0;;:::o;7925:42::-;;;;;;;;;;;;-1:-1:-1;;;;;7925:42:0;;:::o;9365:155::-;8034:5;;-1:-1:-1;;;;;8034:5:0;8020:10;:19;8013:27;;;;9481:5;-1:-1:-1;;;;;9470:26:0;;9497:6;9505;9470:42;;;;;;;;;;;;;-1:-1:-1;;;;;9470:42:0;-1:-1:-1;;;;;9470:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9470:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9470:42:0;;;;9365:155;;;:::o;8502:153::-;8034:5;;-1:-1:-1;;;;;8034:5:0;8020:10;:19;8013:27;;;;-1:-1:-1;;;;;8588:25:0;;8580:34;;;;;;8625:8;:22;;-1:-1:-1;;;;;;8625:22:0;-1:-1:-1;;;;;8625:22:0;;;;;;;;;;8502:153::o;7772:25::-;;;;:::o;7462:40::-;;;-1:-1:-1;;;;;7462:40:0;;:::o;9178:125::-;9241:17;;-1:-1:-1;;;;;9241:17:0;9227:10;:31;9219:40;;;;;;9278:17;;9270:5;:25;;-1:-1:-1;;;;;;9270:25:0;-1:-1:-1;;;;;9278:17:0;;;9270:25;;;;;;9178:125::o;7511:31::-;;;-1:-1:-1;;;;;7511:31:0;;:::o;10435:846::-;10703:21;10491:23;;;;;;;10735:24;;:::i;:::-;-1:-1:-1;;;;;;10762:19:0;;;;;;:9;:19;;;;;;;;;10735:46;;;;;;;;;-1:-1:-1;;;;;10735:46:0;;;;;;-1:-1:-1;;;10735:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10735:46:0;;;;;;;;;;;10960:10;;10735:46;;-1:-1:-1;10735:46:0;;-1:-1:-1;10735:46:0;;-1:-1:-1;10735:46:0;;-1:-1:-1;10960:10:0;;-1:-1:-1;11010:91:0;11093:7;11010:78;11052:15;:35;;;11010:37;11043:3;11010:78;10735:46;;11010:14;:28::i;:91::-;11153:18;;;;10991:110;;-1:-1:-1;11153:40:0;;-1:-1:-1;;;;;11153:22:0;10991:110;11153:40;:22;:40;:::i;:::-;-1:-1:-1;;;;;11126:68:0;;;11242:30;11264:7;;11242:16;:21;;:30;;;;:::i;:::-;-1:-1:-1;;;;;11215:58:0;;;10435:846;;;;;;;;;;:::o;9764:164::-;9905:2;9897:11;9891:18;;9870:50::o;2807:546::-;3248:4;3302:17;3338:7;2807:546;:::o;7347:6231::-;;;;;;;;;-1:-1:-1;7347:6231:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://614664937db99cba90b5907e84ee4fe5736bbc8d3c8b445370d95f432c2a3c0a

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

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.